command(gmrestart, playerid, params[])
{
if(IsPlayerConnected(playerid))
{
if(Player[playerid][pAdmin] >= 5)
{
OnGMX();
}
}
return 1;
}
public OnGMX()
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
OnPlayerSave(i);
DisablePlayerCheckpoint(i);
SetPlayerInterior(i, 0);
SetPlayerVirtualWorld(i, 0);
SetPlayerCameraPos(i, 1460.0, -1324.0, 287.2);
SetPlayerCameraLookAt(i, 1374.5, -1291.1, 239.0);
}
}
GameTextForAll("~w~Server Restarting...", 20000, 5);
SetTimer("OnServerRestart", 10000, 0);
return 1;
}
public OnServerRestart()
{
SendRconCommand("gmx");
return 1;
}
stock OnGMX()
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
OnPlayerSave(i);
DisablePlayerCheckpoint(i);
SetPlayerInterior(i, 0);
SetPlayerVirtualWorld(i, 0);
SetPlayerCameraPos(i, 1460.0, -1324.0, 287.2);
SetPlayerCameraLookAt(i, 1374.5, -1291.1, 239.0);
}
}
GameTextForAll("~w~Server Restarting...", 20000, 5);
SetTimer("OnServerRestart", 10000, 0);
return 1;
}
replace OnGMX(); with SetTimer("OnGMX", 1000, false); && ensure ur admin lvl iz 5
edit: or u can try below and call it like this OnGMX(); pawn Код:
|
CMD:gmrestart(playerid, params[])
{
if(Player[playerid][pAdmin] < 5) return SendClientMessage(playerid, -1,"You're not authorized to use this command");
GameTextForAll("~w~Server Restarting...", 20000, 5);
SetTimer("OnServerRestart", 10000, 0);
return 1;
}
public OnServerRestart()
{
SendRconCommand("gmx");
return 1;
}
replace OnGMX(); with SetTimer("OnGMX", 1000, false); && ensure ur admin lvl iz 5
|
As stock doesn't get called when using timer... only public are called if you want to use a timer
try this one pawn Код:
|
command(gmrestart, playerid, params[])
{
if(IsPlayerConnected(playerid))
{
if(Player[playerid][pAdmin] >= 5)
{
SetTimer("OnGMX", 1000,false);
}
}
return 1;
}
i never said to call a stock under a timer....... lolz i said u OnGMX(); cant u read....... can u show me OnPlayerSave(playerid) plz..... i think i can solve the skin problem.....
pawn Код:
|
public OnPlayerSave(playerid)
{
new query[264], level, skin, interior, world, cash, Float:lastpos[4], Float:hp, Float:ap;
level = GetPlayerScore(playerid);
skin = GetPlayerSkin(playerid);
interior = GetPlayerInterior(playerid);
world = GetPlayerVirtualWorld(playerid);
cash = GetPlayerMoney(playerid);
GetPlayerPos(playerid, lastpos[0], lastpos[1], lastpos[2]);
GetPlayerFacingAngle(playerid, lastpos[3]);
GetPlayerHealth(playerid, hp);
GetPlayerArmour(playerid, ap);
format(query, sizeof(query), "UPDATE accounts SET username='%s', gender='%d', origin='%s', level='%d', adminlevel='%d', skin='%d', interior='%d', world='%d' WHERE username='%s'",
Player[playerid][pName], Player[playerid][pGender], Player[playerid][pOrigin], level, Player[playerid][pAdmin], skin, interior, world, Player[playerid][pName]);
mysql_query(query);
format(query, sizeof(query), "UPDATE accounts SET cash='%d', posx='%f', posy='%f', posz='%f', posr='%f', respect='%d', needrespect='%d', playinghours='%d' WHERE username='%s'",
cash, lastpos[0], lastpos[1], lastpos[2], lastpos[3], Player[playerid][pRespect], Player[playerid][pNeedRespect], Player[playerid][pHours], Player[playerid][pName]);
mysql_query(query);
format(query, sizeof(query), "UPDATE accounts SET nextlevel='%d', firstspawn='%d', health='%f', armor='%f' WHERE username='%s'",
Player[playerid][pNextLevel], Player[playerid][pFirstSpawn], hp, ap, Player[playerid][pName]);
mysql_query(query);
return 1;
}
//@ the top
LoggedIn[MAX_PLAYERS];
//under onplayer connect
LoggedIn[playerid] = 0;
//under on player spawn
LoggedIn[playerid] = 1;
public OnPlayerSave(playerid)
{
if(LoggedIn[playerid] == 1)
{
new query[264], level, skin, interior, world, cash, Float:lastpos[4], Float:hp, Float:ap;
level = GetPlayerScore(playerid);
skin = GetPlayerSkin(playerid);
interior = GetPlayerInterior(playerid);
world = GetPlayerVirtualWorld(playerid);
cash = GetPlayerMoney(playerid);
GetPlayerPos(playerid, lastpos[0], lastpos[1], lastpos[2]);
GetPlayerFacingAngle(playerid, lastpos[3]);
GetPlayerHealth(playerid, hp);
GetPlayerArmour(playerid, ap);
format(query, sizeof(query), "UPDATE accounts SET username='%s', gender='%d', origin='%s', level='%d', adminlevel='%d', skin='%d', interior='%d', world='%d' WHERE username='%s'",
Player[playerid][pName], Player[playerid][pGender], Player[playerid][pOrigin], level, Player[playerid][pAdmin], skin, interior, world, Player[playerid][pName]);
mysql_query(query);
format(query, sizeof(query), "UPDATE accounts SET cash='%d', posx='%f', posy='%f', posz='%f', posr='%f', respect='%d', needrespect='%d', playinghours='%d' WHERE username='%s'",
cash, lastpos[0], lastpos[1], lastpos[2], lastpos[3], Player[playerid][pRespect], Player[playerid][pNeedRespect], Player[playerid][pHours], Player[playerid][pName]);
mysql_query(query);
format(query, sizeof(query), "UPDATE accounts SET nextlevel='%d', firstspawn='%d', health='%f', armor='%f' WHERE username='%s'",
Player[playerid][pNextLevel], Player[playerid][pFirstSpawn], hp, ap, Player[playerid][pName]);
mysql_query(query);
}
return 1;
}
public OnGMX()
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
OnPlayerSave(i);
DisablePlayerCheckpoint(i);
SetPlayerInterior(i, 0);
SetPlayerVirtualWorld(i, 0);
SetPlayerCameraPos(i, 1460.0, -1324.0, 287.2);
SetPlayerCameraLookAt(i, 1374.5, -1291.1, 239.0);
LoggedIn[i] = 0;
}
}
GameTextForAll("~w~Server Restarting...", 20000, 5);
SetTimer("OnServerRestart", 10000, 0);
return 1;
}