© HovinE
Умник
Здравствуйте ув. помощники портала P-I.
Сегодня добавил команду /dellaccount, но решил ее немного украсить.
Спрашиваю почему, потому что когда аккаунт удаляется то он не создается в другой папке. Не понял? Щас все разъясню.
Игрок оскорбил Администрацию, очень грубо, затем отключается от сервера (мол если я вышел, значит бана не будет).
Администратор запомнив его ник, набирает команду /dellaccount, затем его аккаунт сохраняется в другую папку (не действующую) и удаляется из папки (действующей).
Код команды:
Код функции:
Аккаунт удаляется, Админам пишет, но файл не создается в другой папке. Прошу помочь в экстренной ситуации!
Сегодня добавил команду /dellaccount, но решил ее немного украсить.
Спрашиваю почему, потому что когда аккаунт удаляется то он не создается в другой папке. Не понял? Щас все разъясню.
Игрок оскорбил Администрацию, очень грубо, затем отключается от сервера (мол если я вышел, значит бана не будет).
Администратор запомнив его ник, набирает команду /dellaccount, затем его аккаунт сохраняется в другую папку (не действующую) и удаляется из папки (действующей).
Код команды:
PHP:
if(PlayerInfo[playerid][pAdmin] != 1339) return true;
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid,COLOR_GREY, "Введи: /dellacc [имя аккаунта]");
format(string, sizeof(string), "accounts/%s.ini", tmp);
if(fexist(string))
{
giveplayerid = ReturnUser(tmp);
if(giveplayerid == playerid) return true;
SavePlayerForDell(giveplayerid); // Функция которая сохраняет аккаунт, затем перемещает его в другую папку
if(IsPlayerConnected(giveplayerid)) GKick(giveplayerid);
format(string, sizeof(string), "Админ %s удалил %s.", PlayerInfo[playerid][pName], tmp);
SendAdminMessage(COLOR_RED, string);
format(string, sizeof(string), "accounts/%s.ini", tmp);
fremove(string);
}
else
{
format(string, sizeof(string), "Аккаунт %s не найден!",tmp);
SendClientMessage(playerid, COLOR_WHITE, string);
}
return true;
PHP:
stock SavePlayerForDell(playerid)
{
new string[32];
format(string, 32, "dellaccounts/%s.ini", playerid);
new File: hFile = fopen(string, io_write);
if(hFile)
{
new var[32], Float:H;
GetPlayerHealth(playerid, H);
format(var, 32, "Key=%s\n", PlayerInfo[playerid][pKey]);fwrite(hFile, var);
format(var, 32, "AdminLevel=%d\n", PlayerInfo[playerid][pAdmin]);fwrite(hFile, var);
format(var, 32, "Level=%d\n", PlayerInfo[playerid][pLevel]);fwrite(hFile, var);
format(var, 32, "Respect=%d\n",PlayerInfo[playerid][pExp]);fwrite(hFile, var);
format(var, 32, "Money=%d\n", PlayerInfo[playerid][pCash]);fwrite(hFile, var);
fclose(hFile);
}
return true;
}
