_GnoM_
Умник
Всем привет.
Нужна рабочая система бана по дням. Пожалуйста, помогите с этой проблемой) Вожусь уже почти месяц(
У меня вот щас как
в enum pInfo
в public OnPlayerConnect(playerid)
в public OnPlayerRegister(playerid, password[])
в public OnPlayerSave(playerid)
в public OnPlayerLogin(playerid,password[])
в самый конец public OnPlayerLogin(playerid,password[])
Поставил вот это
и в /ban закинул
Забанил себя на 91день, на следующий день зашел, и я разбанен.*
НО это не работает. Уже вожусь месяц с этой проблемой.
Нужна рабочая система бана по дням. Пожалуйста, помогите с этой проблемой) Вожусь уже почти месяц(
У меня вот щас как
в enum pInfo
PHP:
pBanned,
pBanTime,
pBanData,
в public OnPlayerConnect(playerid)
PHP:
PlayerInfo[playerid][pBanned] = 0;
PlayerInfo[playerid][pBanTime] = 0;
PlayerInfo[playerid][pBanData] = 0;
в public OnPlayerRegister(playerid, password[])
PHP:
dini_IntSet(string, "Banned", PlayerInfo[playerid][pBanned]); //,PlayerInfo[playerid][pBanned]);fwrite(hFile, var);
dini_IntSet(string, "BanTime", PlayerInfo[playerid][pBanTime]);//;fwrite(hFile, var);
dini_IntSet(string, "BanData", PlayerInfo[playerid][pBanData]);//;fwrite(hFile, var);
в public OnPlayerSave(playerid)
PHP:
dini_IntSet(string, "Banned", PlayerInfo[playerid][pBanned]); //,PlayerInfo[playerid][pBanned]);fwrite(hFile, var);
dini_IntSet(string, "BanTime", PlayerInfo[playerid][pBanTime]); //,PlayerInfo[playerid][pBanned]);fwrite(hFile, var);
dini_IntSet(string, "BanData", PlayerInfo[playerid][pBanData]); //,PlayerInfo[playerid][pBanned]);fwrite(hFile, var);
в public OnPlayerLogin(playerid,password[])
PHP:
PlayerInfo[playerid][pBanned] = dini_Int(string2,"Banned");
PlayerInfo[playerid][pBanTime] = dini_Int(string2,"BanTime");
PlayerInfo[playerid][pBanData] = dini_Int(string2,"BanData");
в самый конец public OnPlayerLogin(playerid,password[])
Поставил вот это
PHP:
new curdate11 = getdate();
new string111[MAX_STRING];
if(PlayerInfo[playerid][pBanTime] > 0 && PlayerInfo[playerid][pBanData] < curdate11 && PlayerInfo[playerid][pBanned] == 1)
{
new oldsrok = 365-PlayerInfo[playerid][pBanData];
new newdata = oldsrok+curdate11;
if(newdata >= PlayerInfo[playerid][pBanTime])
{
SendClientMessage(playerid, COLOR_YELLOW, "Вы отсидели свой срок бана, больше не нарушайте!");
PlayerInfo[playerid][pBanned] = 0;
PlayerInfo[playerid][pBanTime] = 0;
PlayerInfo[playerid][pBanData] = 0;
}
}
if(PlayerInfo[playerid][pBanTime] > 0 && PlayerInfo[playerid][pBanTime] != curdate11 && PlayerInfo[playerid][pBanned] == 1)
{
new ostalos=PlayerInfo[playerid][pBanTime]-curdate11;
SendClientMessage(playerid, COLOR_XD,"Осталось до разбана %d дней.", ostalos");
Kick(playerid);
return 1;
}
if(PlayerInfo[playerid][pBanTime] > 0 && PlayerInfo[playerid][pBanTime] == curdate11 && PlayerInfo[playerid][pBanned] == 1)
{
SendClientMessage(playerid, COLOR_YELLOW, "Вы отсидели свой срок бана, больше не нарушайте!");
PlayerInfo[playerid][pBanned] = 0;
PlayerInfo[playerid][pBanTime] = 0;
PlayerInfo[playerid][pBanData] = 0;
}
PHP:
PlayerInfo[giveplayerid][pBanned] = 1;
PlayerInfo[giveplayerid][pBanTime] = curdate+chislo;
PlayerInfo[giveplayerid][pBanData] = curdate;
НО это не работает. Уже вожусь месяц с этой проблемой.
