- Регистрация
- 9 Окт 2019
- Сообщения
- 18
- Лучшие ответы
- 0
- Репутация
- 4
Доброго времени суток. На сервере существует команда /ban /offban /warn /offwarn, которая банит и варнит игрока, но проблема в том, что она не работает, при перезаходе на сервер игрок может опять бегать, в базе данных логи пишут, на сервере варны показывает, возможно при загрузке что-то с функцией не то.
Кто может помочь исправить напишите ниже как можно связаться с вами...
Вот мой код:
Кто может помочь исправить напишите ниже как можно связаться с вами...
Вот мой код:
PHP:
forward OnPlayerLoaded(Result:r, playerid);
public OnPlayerLoaded(Result:r, playerid) {
new rows = sql_num_rows(r);
if(rows) {
new id = sql_get_field_assoc_int(r, "id");
new status = sql_get_field_assoc_int(r, "status");
new query[256],numaccount[50], reasona[120];
if(status == 2)
{
format(query, 128, "SELECT `time`,`giveid`,`reason` FROM `ban` WHERE `takeid` = '%d'",id);
new Result:bantest = sql_query(snow, query, QUERY_CACHED);
sql_get_field(bantest, 1, numaccount);
sql_get_field(bantest, 2, reasona);
new idakk = sql_get_field_int(bantest, 1);
if(sql_num_rows(bantest))
{
new result[64];
sql_fetch_row(bantest,"|",result);
new time, reason[256];
sscanf(result,"p<|>is[128]",time,reason);
if(time <= -1) {
format(query, 128, "DELETE FROM `ban` WHERE `takeid` = '%d'",id);
sql_query(snow, query);
}
else {
new nickname[50];
format(query, sizeof(query), "SELECT `nickname` FROM `aplayerakk` WHERE `id` = '%s'", numaccount);
new Result:r1 = sql_query(snow, query, QUERY_CACHED);
sql_get_field(r1, 0, nickname);
if(idakk == -1) { format(query,sizeof(query),"Вы забанены по причине: '%s' администратором Неизвестен. Осталось дней: %d",reasona, time); }
else { format(query,sizeof(query),"Вы забанены по причине: '%s' администратором %s. Осталось дней: %d",reasona, nickname, time); }
SendClientMessage(playerid,COLOR_LIGHTRED,query);
sql_free_result(r1);
NewKick(playerid);
return 1;
}
}
}
PHP:
if(pData[playerid][pMysqlID] && pTemp[playerid][pStatuscon] != 2)
{
UpdatePlayerData(playerid,"status",0);
SendLogs("%s îòêëþ÷èëñÿ îò ñåðâåðà. (IP: %s)",pData[playerid][pNickname],pData[playerid][pLastIP]);
}
PHP:
stock ServerBan(playerid,actplayerid,time,reason[])
{
pTemp[actplayerid][pStatuscon] = 2;
new query[350];
format(query,sizeof(query),"UPDATE `aplayerakk` SET `status` = '2' WHERE `id` = '%d'",pData[actplayerid][pMysqlID]);
sql_query(snow, query);
if(playerid < 0) format(query,sizeof(query),"INSERT INTO `ban` VALUES ('','-1','%d','%d','%s')",pData[actplayerid][pMysqlID],time,reason);
else format(query,sizeof(query),"INSERT INTO `ban` VALUES ('','%d','%d','%d','%s')",pData[playerid][pMysqlID],pData[actplayerid][pMysqlID],time,reason);
sql_query(snow, query);
NewKick(actplayerid);
return 1;
}