GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => A témát indította: doboka98 - 2012. szeptember 23. - 10:20:51

Cím: Szerver újraindítás
Írta: doboka98 - 2012. szeptember 23. - 10:20:51
Készítõ: doboka98
Készítési idõ: 5-10 perc
Lényege: A szkript lényege, hogy 2 óránként megkérdez egy admint, hogy újrainduljon -e a szerver. Ez dialogban megy végbe!
Most próbálgatom a for ciklust, szóval a megjegyzéseket bármilyen formában elfogadom. :D
v0.2: - Csak a legkisebb idjû adminnak adja ki.
 
forward restart();
forward restart1();
public OnFilterScriptInit()
{
SetTimer(\"restart\",2*60*60*1000, true);
}
public restart()
{
for(new i = 0;i < GetMaxPlayers();i++)
{
if(IsPlayerAdmin(i))
{
   ShowPlayerDialog(i, 100,DIALOG_STYLE_MSGBOX, \"Restart\",\"Újrainduljon a szerver 5 perc múlva?\", \"Igen\", \"Nem\");
                        break;
}
}
}
public restart1()
{
SendClientMessageToAll(COLOR_WARNING, \"A szerver újraindul...\");
SendRconCommand(\"gmx\");
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    if(dialogid == 100)
    {
        if(response)
        {
    SetTimer(\"restart1\", 5*60*1000, false);
    SendClientMessageToAll(COLOR_WARNING, \"A SZERVER 5 PERC MÚLVA ÚJRAINDUL!!\");
            SendClientMessageToAll(COLOR_WARNING, \"A SZERVER 5 PERC MÚLVA ÚJRAINDUL!!\");
            SendClientMessageToAll(COLOR_WARNING, \"A SZERVER 5 PERC MÚLVA ÚJRAINDUL!!\");
            SendClientMessageToAll(COLOR_WARNING, \"A SZERVER 5 PERC MÚLVA ÚJRAINDUL!!\");
            SendClientMessageToAll(COLOR_WARNING, \"A SZERVER 5 PERC MÚLVA ÚJRAINDUL!!\");
}
        else
        {
            SendClientMessage(playerid, COLOR_WARNING, \"A szerver nem fog újraindulni!\");
        }
        return 1;
    }
    return 0;
}
Cím: Szerver újraindítás
Írta: [(The_Pro_Kari)] - 2012. szeptember 23. - 15:17:03
Na ez tök jó 5let :) csak ha nins fent admin ciki xD anyi olyat tehetnél hozzá h mondjuk hajnali 2-kor resize :)
Cím: Szerver újraindítás
Írta: JackBronson - 2012. szeptember 23. - 15:21:38
A SetTimer.os vackot  meg mindig nemtudom ki szamolni :D
De jo lett grt.
Cím: Szerver újraindítás
Írta: roleeka - 2012. szeptember 23. - 17:43:01
És ha az egyik igenre nyom, másik nem?
Buggos, úgy kéne hogy ha valaki igenre nyom, akkor számoljon egyet, ha nemre, akkor a másik változó 1-et.. vagy egy tömbbel számolsz..
Cím: Szerver újraindítás
Írta: Pedró - 2012. szeptember 23. - 18:21:41
a for ciklusba rakjatok egy
 
break;

 -t ahol megjeleniti a dialogot.. és akkor csak a legkisebb id-jû rconnak fogja kiadni D:
Cím: Szerver újraindítás
Írta: doboka98 - 2012. október 05. - 18:40:38
Beleírtam, köszi.
Cím: Szerver újraindítás
Írta: pacekjani - 2012. október 05. - 18:49:45
a GMX-tõl bugos lesz a szerver
Cím: Szerver újraindítás
Írta: DrAkE - 2012. október 05. - 19:36:37

if(IsPlayerAdmin(i)) break;
                {
                        ShowPlayerDialog(i, 100,DIALOG_STYLE_MSGBOX, \"Restart\",\"Újrainduljon a szerver 5 perc múlva?\", \"Igen\", \"Nem\");
                }

 
Ez így egy kicsit érdekes kód nem? Illetve ez nem a legkisebb IDJû adminnak fogja kiírni, hanem megállítja hogy ha az adott játékos (i elemû) admin. ShowPlayerDialog alá kellene a break, ha már így akarod megoldani.
Cím: Szerver újraindítás
Írta: Hun_Norberto - 2012. október 07. - 17:17:13
Jó ötlet, csak a gmx nem újrainditja a gamemode-ot, hanem a következõre vált, csak leggyakrabban egyet használunk, és ezért inditja újra.
De mivel kifejezetten újrainditásra nincs mód, ezért jó ez. :D