Нужна помощь команда /ban - Форум Cheat-Master.ru
  • Страница 1 из 1
  • 1
Модератор форума: [CM]OlegEhtler, Getbackthere, Phoenixxx_Czar  
Форум » Pawno программирование SAMP » Команды | Commands » Нужна помощь команда /ban
Нужна помощь команда /ban
Rau123 Дата: Суббота, 30.11.2019, 14:58 | Сообщение # 1
СТАРИК
Сообщений: 133
Статус: Offline
Банит на непонятное кол-во дней и не пишет первую букву причины.


Код

CMD:ban(playerid, params[])
{
    if(player_data[playerid][ADMIN] < 3) return 1;
    if(sscanf(params, "uds[36]", params[0], params[1], params[2])) return SendClientMessage(playerid,CGRAY,"Используйте: /ban [id игрока] [К-во дней] [причина]");
    if(!IsPlayerConnected(params[0]) || IsKicked(params[0])) return SendClientMessage(playerid,CGRAY,"Неверный ID");
    if(!player_data[params[0]][MYSQLID])
    {
  NewKick(params[0]);
  return SendClientMessage(playerid,CGRAY,"Этот игрок не зарегистрирован, поэтому был кикнут");
    }
    if(params[1] < 1 || params[1] > 30 && player_data[playerid][ADMIN] < 5) return SendClientMessage(playerid,CGRAY,"Неверное к-во дней");
    if(params[1] < 0 || params[1] > 30 && player_data[playerid][ADMIN] >= 5) return SendClientMessage(playerid,CGRAY,"Неверное к-во дней");
    new mes[128];
    new nick[24];
    ServerBan(playerid,params[0],params[1],params[2]);
    GetPlayerName(params[0],nick,24);
    format(mes,sizeof(mes),"Администратор %s забанил игрока %s на %d дней. Причина:%s",player_data[playerid][NICKNAME],nick,params[2],params[3]);
    SCMTOALL(COLOR_LIGHTRED,mes);
    SendRconCommand("ban");
    NewKick(params[0]);
    return 1;
}


100 дней на CM [+] 10 репутации на CM [+] Новичок [+]
150 дней на CM [+] 25 репутации на CM [+] Любитель [+]
200 дней на CM [+] 50 репутации на CM [+] Боец [+]
309 дней на CM [+] 100 репутации на CM [+] Боец(х2) [+]
430 дней на CM [+] 250 репутации на CM [+] Бывалый [✖]
600 дней на CM [+] 300 репутации на CM [+] Знаток [✖]
700 дней на CM [+] 400 репутации на CM [+] Советник [✖]
800 дней на CM [+] 500 репутации на CM [+] Авторитет [✖]
900 дней на CM [+] 600 репутации на CM [✖] Легенда [✖]
1000 дней на CM [+] 1000+ репутации на CM [✖] Cheat-master [✖]
and-kozhin Дата: Понедельник, 09.03.2020, 19:42 | Сообщение # 2
Cheat-Master
Сообщений: 967
Статус: Offline
Напиши Голубю, думаю подскажет.





Tekcamynka Дата: Вторник, 19.05.2020, 22:14 | Сообщение # 3
Новичок
Сообщений: 2
Статус: Offline
Это зачем?

Код
if(!player_data[params[0]][MYSQLID])
    {
  NewKick(params[0]);
  return SendClientMessage(playerid,CGRAY,"Этот игрок не зарегистрирован, поэтому был кикнут");
    }

Выводит у тебя бред, по той причине, потому что не совпадают тэги:
Код
format(mes,sizeof(mes),"Администратор %s забанил игрока %s на %d дней. Причина:%s",player_data[playerid][NICKNAME],nick,params[2],params[3]);

Это формат бана, смотрим на params[2] и params[3]
А теперь смотри на этот формат бана:
Код
  if(sscanf(params, "uds[36]", params[0], params[1], params[2])) return SendClientMessage(playerid,CGRAY,"Используйте: /ban [id игрока] [К-во дней] [причина]");


Разницу нашел?
У тебя параметры заданы на команду следующим образом:
params 0 = ID Player
params 1 = Кол-во дней
params 2 = причина.
А у тебя при выдаче бана, работают следующие форматы:
Код
"player_data[playerid][NICKNAME],nick,params[2],params[3]"

То есть, 3-его формата вообще не существует у тебя, кол-во дней пишет определенное число и причина тоже.

Верным вариантом будет следующее:
Код
  
format(YCMDstr, 256, "Администратор %s заблокировал %s на %d дней. Причина: %s",Name(playerid),Name(params[0]),params[1],params[2]);

Параметры видишь как лежат? Как по полочкам, все на своих местах.


Low CHP
Форум » Pawno программирование SAMP » Команды | Commands » Нужна помощь команда /ban
  • Страница 1 из 1
  • 1
Поиск:
Место баннерной рекламы свободно vk
Статистика Форума
Лучшие пользователи
АК_47 [36243]

GеNius [7209]

[CM]Russel [5555]

romka619 [5010]

[CM]AGRESSOR [4638]

Snake_Firm [4454]

Сэс [4416]

Artem_Buero [4224]

[CM]Durman [3209]

[CM]Рафаэль [3059]

iMaddy [2855]

sky_Woker [2854]

-Masson- [2773]

Новые пользователи
Olgasabasyk [10:04]

Fixplay123321123321 [09:53]

Mydino [09:52]

qqsha [09:49]

lilcrok [09:36]

79658415982 [09:29]

Grekmiha062 [09:20]

goodFox15 [09:11]

tarnopilsk [09:04]

s4af1kwf [09:04]

Mcpe4enyka [08:55]

nb97nagr90 [08:55]

arthuryusbov10 [08:48]