shape1
shape2
shape3
shape4
shape7
shape8

/fakeban - фейк бан (желательо для копий radmir-a)


Давид Ордян

Модератор
Команда портала
Модератор
09.10.2021
180
10
11
0
/fakeban - фейк бан (желательо для копий radmir-a)

Код:
CMD:fakeban(playerid, params[])
{
    if(GetPlayerAdminEx(playerid) < 8) return 1;
    if(GetPlayerVzlom(playerid) == 1) return SendClientMessage(playerid, 0x999999FF, "Ваш аккаунт подозревается во взломе, доступ к многим действиям заблокирован.");
    if(!strlen(params)) return SendClientMessage(playerid, 0xCECECEFF, "Используйте: /fakeban [id игрока] [срок в дняй] [фейк причина (необязательно)]");

    extract params -> new to_player, ban_time, string:reason[30];
    if(!IsPlayerConnected(to_player) || !IsPlayerLogged(to_player))
        return SendClientMessage(playerid, 0xCECECEFF, "Такого игрока нет");

    new max_days = GetPlayerAdminEx(playerid) > 4 ? 365 : 30;

    new fmt_msg[128];

    if(!(1 <= ban_time <= max_days))
    {
        format(fmt_msg, sizeof fmt_msg, "Срок бана может быть от 1 до %d дней", max_days);

        return SendClientMessage(playerid, 0xCECECEFF, fmt_msg);
    }

    TextDrawHideForPlayer(to_player, adm_menu_TD[0]);
    TextDrawHideForPlayer(to_player, adm_menu_TD[1]);
    TextDrawHideForPlayer(to_player, adm_menu_TD[2]);

    TextDrawHideForPlayer(to_player, time_TD);

    if(GetPlayerAdminEx(to_player) > GetPlayerAdminEx(playerid))
    if(to_player == playerid) return SendClientMessage(playerid, 0xCECECEFF, "Нельзя забанить самого себя");

    format(fmt_msg, sizeof fmt_msg, "Администратор %s забанил игрока %s на %d дней", GetPlayerNameEx(playerid), GetPlayerNameEx(to_player), ban_time);

    if(strlen(reason) > 0)
        format(fmt_msg, sizeof fmt_msg, "%s. Причина: %s", fmt_msg, reason);

    SendClientMessageToAll(0xFF5533FF, fmt_msg);

    if(!strlen(reason)) reason = "None";

    format(fmt_msg, sizeof fmt_msg, "Забанил %s[acc:%d] на %d дней. Причина %s", GetPlayerNameEx(to_player), GetPlayerAccountID(to_player), reason);
    SetPlayerData(playerid, P_ANTIBAN, 1);
    SetTimerEx("AntiBan", 20000, false, "i", playerid);
    SendLog(playerid, LOG_TYPE_SUPERADMIN_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"}forum\n\
        ",
           day,
        GetMonthName(month),
        year,
        GetPlayerNameEx(to_player),
        GetPlayerNameEx(playerid),
        reason
    );
    Dialog(to_player, INVALID_DIALOG_ID, DIALOG_STYLE_MSGBOX, "{FF6600}Бан", message, "Закрыть", "");

    Kick(to_player);

    return 1;
}