public OnPlayerCommandText( playerid, cmdtext[ ] ) {if( !strcmp( \"/gmx\", cmdtext, true ) ) { SetTimer( \"DoGmx\", 10000, false ); SendClientMessageToAll( 0xFF9100AA, \">> 10 másodperc múlva a szerver újraindul! <<\" ); return 1;}return 0;}public DoGmx( );public DoGmx( ) { SendRconCommand( \"gmx\" ); }
new szamok; COMMAND:restart(playerid){ if(!IsPlayerAdmin(playerid)) { SendClientMessage(playerid, -1, \"Nem vagy admin \"); return 1; } szamok = 10; SetTimer(\"Visszaszamlalas\", 1*1000, true); GameTextForAll(\"~r~A szerver hamarosan ujraindul!\",1000,2); return 1;}forward Visszaszamlalas();public Visszaszamlalas(){ szamok --; if(szamok > 0) { new szoveg[15]; format(szoveg, 15, \"~r~%d\", szamok); GameTextForAll(szoveg,1000,2); } else { SendRconCommand(\"gmx\"); //A timert nem szükséges változóra kötni majd killtimerezni ugyanis a restart megteszi ezt nekünk } return 1;}
Ebben az esetben szerintem teljesen mindegy, hogy hány timer, mert restart után már úgy sem \"emlékszik\" a szerver arra, hogy hány timer volt elõtte.
10 darab timer? Egy is simán megoldja: new szamok; COMMAND:restart(playerid){ if(!IsPlayerAdmin(playerid)) { SendClientMessage(playerid, -1, \"Nem vagy admin \"); return 1; } szamok = 10; SetTimer(\"Visszaszamlalas\", 1*1000, true); GameTextForAll(\"~r~A szerver hamarosan ujraindul!\",1000,2); return 1;}forward Visszaszamlalas();public Visszaszamlalas(){ szamok --; if(szamok > 0) { new szoveg[15]; format(szoveg, 15, \"~r~%d\", szamok); GameTextForAll(szoveg,1000,2); } else { SendRconCommand(\"gmx\"); //A timert nem szükséges változóra kötni majd killtimerezni ugyanis a restart megteszi ezt nekünk } return 1;}