Доступ к архиву

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Бан по дням

Статус
В этой теме нельзя размещать новые ответы.

_GnoM_

Умник
Всем привет.

Нужна рабочая система бана по дням. Пожалуйста, помогите с этой проблемой) Вожусь уже почти месяц(

У меня вот щас как

в 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;
        }
и в /ban закинул
PHP:
PlayerInfo[giveplayerid][pBanned] = 1;
PlayerInfo[giveplayerid][pBanTime] = curdate+chislo;
PlayerInfo[giveplayerid][pBanData] = curdate;
Забанил себя на 91день, на следующий день зашел, и я разбанен.*


НО это не работает. Уже вожусь месяц с этой проблемой.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу