Добро пожаловать!

Зарегистрировавшись у нас, вы сможете обсуждать, делиться и отправлять личные сообщения другим участникам нашего сообщества.

Зарегистрироваться!
Пользователь
Регистрация
16 Июн 2023
Сообщения
28
Прописываю команду все норм в чат пишется что забанил но игрок не в бане и дальше бегает.




CMD:ban(playerid, params[])
{
if(PlayerInfo[playerid][pAdmin] < 3)return SendClientMessage(playerid, COLOR_OLDRED, "[Îøèáêà] {CCCCCC}Ó Âàñ íåò äîñòóïà ê ýòîé êîìàíäå.");
if(ADuty[playerid]!=228) return SendClientMessage(playerid,COLOR_GREY,NO_DUTY_TEXT);
if(PlayerInfo[playerid][pPodtver]== 0)
{
SendClientMessage(playerid, COLOR_GREY, "Âàì íå ïîäòâåðäèëè ïðàâà àäìèíèñòðàòîðà");
new strings[164];
format(strings,sizeof(strings),"%s[%d] ïîäîçðåâàåòñÿ âî âçëîìå, ïðîâåðüòå åãî è àâòîðèçèðóéòå /acceptadmin [7 lvl]",PN(playerid),playerid);
SendAdminsMessage(COLOR_OLDRED,strings);
return true;
}
if(GetPVarInt(playerid,"ban")>gettime())
{
SendClientMessage(playerid,COLOR_RED,"Ìîæíî ðàç â 10 ñåêóíä!");
SetPVarInt(playerid,"bann",gettime()+3);
return false;
}
new id, string[150], days, reason[200], Admin;
if(sscanf(params,"uds[150]", id, days, reason)) return SendClientMessage(playerid, COLOR_RED, "Èñïîëüçóé: /ban [id] [days 1-30] [Ïðè÷èíà]");
if(GetString(PN(id),"Will_Hungerson") )return false;
if(!IsPlayerLogged[id])return false;
if(PlayerInfo[id][pLeader]==6)return SendClientMessage(playerid, COLOR_RED, "×åðåç /apanel!");
if(PlayerInfo[playerid][pAdmin]<PlayerInfo[id][pAdmin]) PlayerInfo[playerid][pAdmin]=0;
if(strlen(reason)>30) return SendClientMessage(playerid,COLOR_RED,"Íå áîëüøå 30 ñèìâîëîâ!");
if(IsAIP(reason))return 1;
if(IsADomen(reason) && PlayerInfo[playerid][pAdmin]<6)
{
format(string,sizeof(string),"[WARNING] %s[%d] ïîäîçðåâàåòñÿ â ïîïûòêå ñëèâà! Ïðè÷èíà: %s",PN(playerid),playerid, reason);
SendAdminsMessage(COLOR_RED,string);
SendClientMessage(playerid,COLOR_RED,"Â òàêèõ ñîîáùåíèÿõ çàïðåùàåòñÿ èñïîëüçîâàòü àíãëèéñêèå ñèìâîëû");
SendClientMessage(playerid,COLOR_WHITE,"Íå ïîâòîðÿéòå ýòî äåéñòâèå âî èçáåæàíèå íàêàçàíèÿ.");
return false;
}
if(days>30 || 1>days) return SendClientMessage(playerid, COLOR_RED, "Èñïîëüçóé: /ban [id] [days 1-30] [Ïðè÷èíà]");
format(string,sizeof(string)," %s %s[%d] çàáàíèë èãðîêà %s[%d] íà %d äíåé. Ïðè÷èíà: %s",Admin,Name(playerid),playerid,PN(id),id, days, reason);
AsendClientMessageToAll(COLOR_ARZCOPY,string);
ShowPlayerDialogEx(id,0,0,"","Âû ïîëó÷èëè áàí àêêàóíòà, åñëè âû íå ñîãëàñíû ñ ðåøåíèåì Àäìèíèñòðàòîðà, òî íàïèøèòå æàëîáó íà ôîðóì, ïðèëîæèâ äàííûé ñêðèíøîò.\n{2D8E35}"FORUMSERV"","Çàêðûòü","");
PlayerInfo[id][pWarns]=0;
J_Kick(id);
BanName(PN(id), PN(playerid), days, reason);
SetPVarInt(playerid,"ban",gettime()+10);
return true;
}
 
Решение
В твоем коде есть несколько проблем, которые могут мешать корректной работе бана. Попробуй этот исправленный код:
CMD:ban(playerid, params[])
{
if(PlayerInfo[playerid][pAdmin] < 3) return SendClientMessage(playerid, COLOR_OLDRED, "[Ошибка] {CCCCCC}У Вас нет доступа к этой команде.");
if(ADuty[playerid] != 228) return SendClientMessage(playerid, COLOR_GREY, NO_DUTY_TEXT);

if(PlayerInfo[playerid][pPodtver] == 0)
{
SendClientMessage(playerid, COLOR_GREY, "Вам не подтвердили права администратора");
new strings[164];
format(strings, sizeof(strings), "%s[%d] подозревается во взломе, проверьте его и авторизуйте /acceptadmin [7 lvl]", PN(playerid), playerid);
SendAdminsMessage(COLOR_OLDRED, strings);
return true...
Заблокированный
Регистрация
24 Апр 2024
Сообщения
134
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки. Мы не несем ответственности за действия пользователя вне форума.
Привет! А у игрока есть админка? И какой у вас мод, от какого разработчика?
 
Пользователь
Регистрация
8 Фев 2025
Сообщения
37
В твоем коде есть несколько проблем, которые могут мешать корректной работе бана. Попробуй этот исправленный код:
CMD:ban(playerid, params[])
{
if(PlayerInfo[playerid][pAdmin] < 3) return SendClientMessage(playerid, COLOR_OLDRED, "[Ошибка] {CCCCCC}У Вас нет доступа к этой команде.");
if(ADuty[playerid] != 228) return SendClientMessage(playerid, COLOR_GREY, NO_DUTY_TEXT);

if(PlayerInfo[playerid][pPodtver] == 0)
{
SendClientMessage(playerid, COLOR_GREY, "Вам не подтвердили права администратора");
new strings[164];
format(strings, sizeof(strings), "%s[%d] подозревается во взломе, проверьте его и авторизуйте /acceptadmin [7 lvl]", PN(playerid), playerid);
SendAdminsMessage(COLOR_OLDRED, strings);
return true;
}

if(GetPVarInt(playerid, "ban") > gettime())
{
SendClientMessage(playerid, COLOR_RED, "Можно раз в 10 секунд!");
SetPVarInt(playerid, "bann", gettime()+3);
return false;
}

new id, string[150], days, reason[200], Admin[24];
if(sscanf(params, "uds[150]", id, days, reason)) return SendClientMessage(playerid, COLOR_RED, "Используй: /ban [id] [days 1-30] [Причина]");

if(GetString(PN(id), "Will_Hungerson")) return false;
if(!IsPlayerLogged[id]) return false;
if(PlayerInfo[id][pLeader] == 6) return SendClientMessage(playerid, COLOR_RED, "Через /apanel!");
if(PlayerInfo[playerid][pAdmin] < PlayerInfo[id][pAdmin]) PlayerInfo[playerid][pAdmin] = 0;
if(strlen(reason) > 30) return SendClientMessage(playerid, COLOR_RED, "Не больше 30 символов!");
if(IsAIP(reason)) return 1;

if(IsADomen(reason) && PlayerInfo[playerid][pAdmin] < 6)
{
format(string, sizeof(string), "[WARNING] %s[%d] подозревается в попытке слива! Причина: %s", PN(playerid), playerid, reason);
SendAdminsMessage(COLOR_RED, string);
SendClientMessage(playerid, COLOR_RED, "В таких сообщениях запрещается использовать английские символы");
SendClientMessage(playerid, COLOR_WHITE, "Не повторяйте это действие во избежание наказания.");
return false;
}

if(days > 30 || days < 1) return SendClientMessage(playerid, COLOR_RED, "Используй: /ban [id] [days 1-30] [Причина]");

GetPlayerName(playerid, Admin, sizeof(Admin));
format(string, sizeof(string), "%s %s[%d] забанил игрока %s[%d] на %d дней. Причина: %s", Admin, Name(playerid), playerid, PN(id), id, days, reason);
AsendClientMessageToAll(COLOR_ARZCOPY, string);

ShowPlayerDialogEx(id, 0, 0, "", "Вы получили бан аккаунта, если вы не согласны с решением Администратора, то напишите жалобу на форум, приложив данный скриншот.\n{2D8E35}"FORUMSERV"", "Закрыть", "");

PlayerInfo[id][pWarns] = 0;
BanName(PN(id), PN(playerid), days, reason);
SetPVarInt(playerid, "ban", gettime()+10);

// Добавьте кик игрока после бана
SetTimerEx("DelayedKick", 1000, false, "i", id);

return true;
}

// Функция для отложенного кика (добавьте в конец скрипта)
forward DelayedKick(playerid);
public DelayedKick(playerid)
{
if(IsPlayerConnected(playerid))
{
Kick(playerid);
}
return 1;
}
 
Пользователь
Регистрация
16 Июн 2023
Сообщения
28
Заблокированный
Регистрация
24 Апр 2024
Сообщения
134
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки. Мы не несем ответственности за действия пользователя вне форума.
Спасибо, за помощь
Поставьте данному пользователю +1 решение, и поставьте префикс темы "Решено".
 
Сверху