/kick - кик с диалогом как на Radmir
C++:
CMD:kick(playerid, params[])
{
if(GetPlayerAdminEx(playerid) < 5) return 1;
else if(admin_logged[playerid] == false) return SendClientMessage(playerid, 0x999999FF, "Вы не авторизированы, для этого используйте /alogin");
if(GetPlayerAntiBan(playerid) == 3) return SendClientMessage(playerid, 0xCECECEFF, "Не так часто!");
if(GetPlayerVzlom(playerid) == 1) return SendClientMessage(playerid, 0x999999FF, "Ваш аккаунт подозревается во взломе, доступ к многим действиям заблокирован.");
if(!strlen(params)) return SendClientMessage(playerid, COLOR_GOLD, "Используйте:{"#cW"} /kick [ID игрока] [причина (необязательно)]");
extract params -> new to_player;
if(!IsPlayerConnected(to_player)) return SendClientMessage(playerid, 0xFF6600FF, "Такого игрока нет");
else if(GetPlayerAdminEx(to_player) > GetPlayerAdminEx(playerid)) return SendClientMessage(playerid, 0xFF6600FF, "Нельзя кикнуть администратора выше по рангу");
new reason[31];
sscanf(params, "{d}s[30]", reason);
new fmt_msg[128];
format(fmt_msg, sizeof fmt_msg, "Администратор %s кикнул игрока %s", GetPlayerNameEx(playerid), GetPlayerNameEx(to_player));
if(strlen(reason) > 0)
format(fmt_msg, sizeof fmt_msg, "%s. Причина: %s", fmt_msg, reason);
SendClientMessageToAll(0xFF5533FF, fmt_msg);
format(fmt_msg, sizeof fmt_msg, "Кикнул %s[acc:%d]", GetPlayerNameEx(to_player), GetPlayerAccountID(to_player));
SendLog(playerid, LOG_TYPE_ADMIN_ACTION, fmt_msg);
new message[324];
new year, month, day;
getdate(year, month, day);
format
(
message,
sizeof(message),
"{"#cW"}Дата: %d %s %d г.\n\
{"#cW"}Ваш ник: %s\n\
{"#cW"}Ник администратора: %s\n\
{"#cW"}Причина: %s\n\n\
{"#cW"}Если Вы не согласны с наказанием, сделайте скриншот (F8)\n\
И оставьте жалобу на форуме {"#cGold"}ссылка на форум\n\
",
day,
GetMonthName(month),
year,
GetPlayerNameEx(to_player),
GetPlayerNameEx(playerid),
reason
);
Dialog(to_player, INVALID_DIALOG_ID, DIALOG_STYLE_MSGBOX, "{FF6600}Отключение от сервера", message, "Закрыть", "");
//new query[400];
//mysql_format(mysql, query, sizeof query, "UPDATE accounts SET a_kick = a_kick+1 WHERE name = '%s'", GetPlayerNameEx(playerid));
//mysql_query(mysql, query, false);
//mysql_format(mysql, query, sizeof query, "INSERT INTO alogs (acc_id,type,name_adm,time,reason) VALUES (%d,'%e','%e',%d,'%e')", GetPlayerAccountID(to_player), "Кик", GetPlayerNameEx(playerid), gettime(), reason);
//mysql_query(mysql, query, false);
// Kick(to_player);
Kick:(to_player);
return 1;
}