timmyghost
Дебютант
Всем привет, решил сделать причину бана в диалоге, типо прописываешь /ban id days и выскакивает диалог с выбором причины. Например: cheat, продан/передан/взломан и так далее... Вот код команды ban
С меня плюсик)
PHP:
CMD:ban(playerid, params[])
{
if(PlayerInfo[playerid][bAdmin] < 6) return 1;
if(gAdminReason[playerid][ADMIN_BAN]) return SendClientMessage(playerid, -1, ""#net"Основатель запретил Вам пользоваться этой командой!");
if(sscanf(params, "dds[256]", params[0], params[1], params[2])) return SendClientMessage(playerid, COLOR_WHITE, ""#information"Используйте /ban [id] [дни] [причина]");
if(!strcmp(PlayerInfo[params[0]][pNames], FD1, true) || !strcmp(PlayerInfo[params[0]][pNames], FD2, true) || !strcmp(PlayerInfo[params[0]][pNames], FD3, true)) return SendClientMessage(playerid, COLOR_WHITE, "Основателей запрещено банить");
if(PlayerInfo[params[0]][bAdmin] > PlayerInfo[playerid][bAdmin]) return SendClientMessage(playerid, COLOR_GRAD2, "Администратора нельзя забанить");
if(!IsPlayerConnected(params[0])) return SendClientMessage(playerid, COLOR_WHITE, "Игрок оффлайн");
if(params[1] < 1 || params[1] > 30) return SendClientMessage(playerid, -1, ""#net"День бана должен быть не меньше 1 и не больше 30.");
if(!Reklama(playerid, params[2])) return 1;
new ip[16];
GetPlayerIp(params[0],ip,sizeof(ip));
string="";
format(string, MAX_STR, "%s %s забанил %s на %d дней. Причина: %s",PlayerAdmin[PlayerInfo[playerid][bAdmin]-1],PlayerInfo[playerid][pNames],PlayerInfo[params[0]][pNames], params[1],params[2]);
ABroadCast(COLOR_LIGHTRED, string,1);
new query_mysql[264], data[16];
SetPVarInt(playerid, "UnBanDate", gettime() + params[1]*86400), format(data,sizeof(data), "%s",date("%dd.%mm.%yyyy",gettime()));
mysql_format(connects,query_mysql,sizeof(query_mysql), "INSERT INTO `BanList` (`Nick`,`Admin`, `IP`, `Date` ,`Reason`,`Days`,`UnbanDate`,`Status`) VALUES ('%s','%s','%s','%s','%s','%d','%d','1')", PlayerInfo[params[0]][pNames], PlayerInfo[playerid][pNames], ip, data, params[2], params[1], GetPVarInt(playerid, "UnBanDate"));
mysql_empty(connects, query_mysql);
format(string,512,"\t\t\t"WHITE"Ваш аккаунт заблокирован.\n"WHITE"Заблокирован: "SERVER"%s\n"WHITE"Заблокировал: "SERVER"%s\n"WHITE"Разбан через: "SERVER"%d дней"WHITE"\nПричина: "SERVER"%s\n"WHITE"Если вы считаете что бан выдан ложно.\nПодайте на администратора жалобу на форум: "SERVER""NAME_SAIT" (сделав скриншот F8)",PlayerInfo[params[0]][pNames],PlayerInfo[playerid][pNames],params[1],params[2]);
SPD(params[0],0000,DIALOG_STYLE_MSGBOX,""SERVER"Блокировка аккаунта",string,"Да","");
format(string,126, " Nik [%s] R-IP [%s] L-IP [%s] IP [%s]",PlayerInfo[params[0]][pNames],PlayerInfo[params[0]][pIpReg],PlayerInfo[params[0]][pIpReg],PlayerInfo[params[0]][pIP]);
ABroadCast(COLOR_LIGHTRED,string,1);
KickEx(params[0]);
gAdmin[playerid][ADMIN_BAN] += 1;
return 1;
}
Последнее редактирование:
