К enum pInfo добавляем:
PHP код:
В public OnPlayerRegister(playerid, password[]) добавляем:
PHP код:
Код
ini_setInteger(File, "BanTime",PlayerInfo[playerid][pBanTime]);
ini_setInteger(File, "BanData",PlayerInfo[playerid][pBanData]);
В public public OnPlayerLogin(playerid, password[]) добавляем:
PHP код:
Код
ini_getInteger(File, "BanTime",PlayerInfo[playerid][pBanTime]);
ini_getInteger(File, "BanData",PlayerInfo[playerid][pBanData]);
В public OnPlayerUpdateRL(playerid) добавляем:
PHP код:
Код
ini_setInteger(File, "BanTime",PlayerInfo[playerid][pBanTime]);
ini_setInteger(File, "BanData",PlayerInfo[playerid][pBanData]);
Tеперь в команды /ban и /warn добавляем ниже где
PHP код:
Код
PlayerInfo[giveplayerid][pLocked] = 1;
пишем:
PHP код:
Код
PlayerInfo[giveplayerid][pBanTime] = curdate+days;
PlayerInfo[giveplayerid][pBanData] = curdate;
А выше где new в /ban и /warn пишем:
PHP код:
Код
new curdate = getdate();
new days = 7;
Поясняю: Где
PHP код:
видно что есть число 7 да? Это значит что автоматически игрока разбанит через 7 дней [Неделя].
Ищем это:
PHP код:
Код
if(PlayerInfo[playerid][pLocked] == 1)
{
SendClientMessage(playerid, COLOR_LIGHTRED, "К сожалению, этот аккаунт заблокирован!");
SendClientMessage(playerid, COLOR_WHITE, "Введите /q, чтобы выйти!");
Kick(playerid);
}
И заменяем на это:
PHP код:
Код
new curdate = getdate();
if(PlayerInfo[playerid][pBanTime] > 0 && PlayerInfo[playerid][pBanTime] != curdate && PlayerInfo[playerid][pLocked] == 1)
{
new ostalos=PlayerInfo[playerid][pBanTime]-curdate;
format(string, sizeof(string), "{d95841}Этот аккаунт заблокирован\nРазбан через %d дней\n\nВведите ''/q'' чтобы выйти",ostalos);
ShowPlayerDialog(playerid,78,0,"{c22000}Внимание",string,"Закрыть","");
Kick(playerid);
return 1;
}
if(PlayerInfo[playerid][pBanTime] > 0 && PlayerInfo[playerid][pBanTime] == curdate && PlayerInfo[playerid][pLocked] == 1)
{
PlayerInfo[playerid][pLocked] = 0;
PlayerInfo[playerid][pBanTime] = 0;
PlayerInfo[playerid][pBanData] = 0;
}
Ищем команду /unban и заменяем на мою:
PHP код:
Код
if(strcmp(cmd, "/unban", true) == 0)
{
if(PlayerInfo[playerid][pAdmin] >= 4)
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_WHITE, "Введите: /unban [name]");
format(string, sizeof(string), "%s.ini", tmp);
if(fexist(string))
{
format(string, sizeof(string), "%s.ini", tmp);
new File = ini_openFile(string);
ini_setInteger(File, "Ban",0);
ini_setInteger(File, "BanTime",0);
ini_setInteger(File, "BanData",0);
ini_closeFile(File);
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "Администратор %s разбанил %s",sendername,tmp);
ABroadCast(COLOR_LIGHTRED, string, 1);
}
else