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\" ); }
Esetleg beleírhatod, hogy csak admin tudja használni, meg ilyesmi.
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;
}
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;
}
Ez a jó megoldás.
Én ezt használnám a kérdezõ helyében.
Gentle: Adtam rá 1 pluszt :)
Kérdezõ: Szerintem ezt használd! Ez a legjobb megoldás.
[ Bocs az offért :D ]
Dexter