Доступ к архиву

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

/offwarn /offban

Статус
В этой теме нельзя размещать новые ответы.

DonJefferi

Умник
Помогите нужны команды /offwarn [Ник] [Причина] и /offban [Ник] [Дни] [Причина]. Для DC_CMD SSCANF MSQL
PHP:
CMD:ban(playerid, params[])
{
    if(PlayerLogged[playerid] == 0) return true;
    if(PlayerInfo[playerid][pAdmin] < 11 || AdminLogged[playerid] == false) return true;
    new ip[32], data[32], unbandate;
    new string[128];
    if(sscanf(params, "ids[32]", params[0], params[1], params[2])) return SendClientMessage(playerid, COLOR_WHITE, "Введите: /ban [id игрока] [кол-во дней] [причина]");
    if(!IsPlayerConnected(params[0]) || params[0] == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_GREY, ""TPLAYEROFFLINE"");
    if(PlayerLogged[params[0]] == 0) return SendClientMessage(playerid, COLOR_GREY, ""TPLAYERNLOGGED"");
    if(params[1] > 31 || params[1] < 1) return SendClientMessage(playerid, COLOR_GREY, "Кол-во дней от 1 до 31!");
    GetPlayerIp(params[0], ip, 32);
    format(string, 100, "Администратор %s забанил %s на %d дней. Причина: %s", PlayerInfo[playerid][pSendername], sendername(params[0]),params[1], params[2]);
    SendClientMessageToAll(COLOR_LIGHTRED,string);
    getdate(years, months, days);
    unbandate = gettime() + params[1]*86400;
    format(data, 32, "%02d.%02d.%04d", days, months, years);
    format(query, sizeof(query), "INSERT INTO bans (name, whobanned, ip, bandate, time, unbandate, reason) VALUES ('%s', '%s','%s', '%s', %d, %d, '%s')", sendername(params[0]), PlayerInfo[playerid][pSendername], ip, data, params[1], unbandate, params[2]);
    mysql_query(query);
    SendClientMessage(params[0], COLOR_WHITE, "Ваш акаунт заблокирован");
    SendClientMessage(params[0], COLOR_RED, "Для выхода /q");
    Kick(params[0]);
    ResetWeapon(params[0]);
    return true;
}
PHP:
CMD:warn(playerid, params[])
{
    if(PlayerLogged[playerid] == 0) return true;
    if(PlayerInfo[playerid][pAdmin] < 4 || AdminLogged[playerid] == false) return true;
    new ip[32], data[32], unbandate, string[128];
    if(sscanf(params, "is[128]", params[0], params[1])) return SendClientMessage(playerid, COLOR_WHITE, "Введите: /warn [id игрока] [причина]");
    if(!IsPlayerConnected(params[0]) || params[0] == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_GREY, ""TPLAYEROFFLINE"");
    if(PlayerLogged[params[0]] == 0) return SendClientMessage(playerid, COLOR_GREY, ""TPLAYERNLOGGED"");
    PlayerInfo[params[0]][pWarn]++;
    if(PlayerInfo[params[0]][pWarn] < 3) format(string, sizeof(string), "Администратор %s выдал Warn %s. Причина: %s", PlayerInfo[playerid][pSendername], sendername(params[0]), params[1]);
    else
    {
        PlayerInfo[params[0]][pWarn] = 0;
        GetPlayerIp(params[0], ip, 32);
        format(string, sizeof(string), "Администратор %s забанил %s [Предуприждений: 3/3]. Причина: %s", PlayerInfo[playerid][pSendername], sendername(params[0]), params[1]);
        getdate(years, months, days);
        unbandate = gettime() + 7*86400;
        format(data, 32, "%02d.%02d.%04d", days, months, years);
        format(query, sizeof(query), "INSERT INTO bans (name, whobanned, ip, bandate, time, unbandate, reason) VALUES ('%s', '%s','%s', '%s', 7, %d, '%s')", sendername(params[0]), PlayerInfo[playerid][pSendername], ip, data, unbandate, params[1]);
        mysql_query(query);
    }
    SendClientMessageToAll(COLOR_LIGHTRED, string);
    if(PlayerInfo[params[0]][pLeader] > 0)
    {
        SetFractionStr(PlayerInfo[params[0]][pLeader], "leader", "None");
        strmid(FracInfo[PlayerInfo[params[0]][pLeader]][fLeader],"None",0,strlen("None"),MAX_PLAYER_NAME);
        if(PlayerInfo[params[0]][pLeader] == 0) return SendClientMessage(playerid, COLOR_GREY, "Игрок не находиться в организации!");
        LeaveFractionPlayer(params[0]);
        ResetWeapon(params[0]);
    }
    PlayerInfo[params[0]][pMember] = 0;
    PlayerInfo[params[0]][pLeader] = 0;
    PlayerInfo[params[0]][pRank] = 0;
    Kick(params[0]);
    format(string, sizeof(string), "%s получил предупреждение от администратора %s. Причина: %s", sendername(params[0]), PlayerInfo[playerid][pSendername],params[1]);
    Log("WarnLog",string);
    return true;
}
 
Последнее редактирование модератором:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу