BiGGY
Ученик
Код рабочий, в чат высвечивается, что забанен, в файл заносится время бана, дата, но все равно когда заходить ничего не появляется, хоть бан и есть.
OnPlayerConnect:
Ban:
OnPlayerConnect:
PHP:
public OnPlayerConnect(playerid)
{
new string[90];
new curdate = getdate();
if(PI[playerid][pBanTime] > 0 && PI[playerid][pBanTime] != curdate && PI[playerid][pBanned] == 1)
{
new razban = PI[playerid][pBanTime] - curdate;
format(string, sizeof(string), "Ваш аккаунт заблокирован!\nДата разбана: %d\nВведите /q(uit), чтобы выйти из игры", razban);
Kick(playerid);
}
else if(PI[playerid][pBanTime] > 0 && PI[playerid][pBanTime] == curdate && PI[playerid][pBanned] == 1)
{
PI[playerid][pBanned] = 0;
PI[playerid][pBanTime] = 0;
PI[playerid][pBanDate] = 0;
}
....
PHP:
if (!strcmp(cmd, "/ban", true))
{
if(PI[playerid][pLogged] == false) return 1;
if(PI[playerid][pAdmin] < 3) return 1;
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SCM(playerid, COLOR_WHITE, "Подсказка: /ban [id/часть ника] [дни] [причина]");
giveplayerid = ReturnUser(tmp);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SCM(playerid, COLOR_WHITE, "Подсказка: /ban [id/часть ника] [дни] [причина]");
new days = strval(tmp);
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new result[64];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result)) return SCM(playerid, COLOR_WHITE, "Подсказка: /ban [id/часть ника] [дни] [причина]");
format(tmp, sizeof(tmp), "[SNK] Администратор %s забанил игрока %s. Причина: %s", PI[playerid][pName], PI[giveplayerid][pName], result);
SendClientMessageToAll(COLOR_LIGHTRED, tmp);
new curdate = getdate();
new year, month, day;
getdate(year, month, day);
PI[giveplayerid][pBanned] = 1;
PI[giveplayerid][pBanTime] = curdate + days;
PI[giveplayerid][pBanDate] = curdate;
Kick(giveplayerid);
return 1;
}
