endriu10
Дебютант
При рестарте сервера слетают аккаунты игроков, которые онлайн, но не всех.. Не понимаю, в чем проблема, помогите, пожалуйста. Вот мой рестарт и сохранение аккаунтов..
PHP:
#define Tkick(%1) SetTimerEx("kick", 20, false, "i", %1)
CMD:restart(playerid, params[])
{
if(Player[playerid][padmin] < 9) return 1;
if(login_check[playerid] != true) return 1;
SetTimer("Restart",60000,0);
foreach(new i :Player)
{
SaveAccounts();
static const fmt_string1[] = "%s кикнут с сервера (рестарт)";
new str1[sizeof(fmt_string1)+MAX_PLAYER_NAME+1];
format(str1, sizeof(str1), fmt_string1,Player[i][pname]);
SCMTA(0x20BA09FF,str1);
Tkick(i);
}
return true;
}
fpublic Restart()
{
SendRconCommand("gmx");
return 1;
}
fpublic SaveAccounts()
{
for(new j = 0; j <= MAX_PLAYERS; j++)
{
if(!IsPlayerConnected(j) || login_check[j] != true) continue;
SavePlayer(j);
}
return true;
}
fpublic SavePlayer(playerid)
{
new string[500];
new scr[128];
mysql_format(connect_mysql, string, sizeof(string),"UPDATE `accounts` SET");
format(scr, sizeof(scr), "`Level` = %d,", Player[playerid][plevel]);
strcat(string, scr);
format(scr, sizeof(scr), "`Email` = '%s',", Player[playerid][pemail]);
strcat(string, scr);
format(scr, sizeof(scr), "`Referal` = '%s',", Player[playerid][preferal]);
format(scr, sizeof(scr), "`Password` = '%s'", Player[playerid][ppassword]);
strcat(string, scr);
format(scr, sizeof(scr), "WHERE `Name` = '%s' LIMIT 1", Player[playerid][pname]);
strcat(string, scr, sizeof(string));
mysql_function_query(connect_mysql, string, true, "", "");
return 1;
}
Последнее редактирование модератором:
