• 0
maksimov maksim

[закрыто] Как сделать чтобы при выдаче мута админу ничего не происходило

Question

CMD:mute(playerid, params[])
{
    if(PlayerInfo[playerid][pAlcoInvenxua] < 2) return true;
    if(GetPVarInt(playerid,"MuteTime") > gettime())return SendClientMessage(playerid,COLOR_GREY,"Çàòêíóòü èãðîêà ìîæíî ðàç â 10 ñåêóíä");
    if(AntiBan[playerid] >= 60) return SendClientMessage(playerid,COLOR_GREY,"[Àíòè-ïåðåáàí] Âàøè àäì äåéñòâèÿ çàáëîêèðîâàíû íà 3 ìèíóòû."), AntiBan[playerid] = 180;
    if(sscanf(params, "dds[128]",params[0],params[1],params[2])) return SendClientMessage(playerid, COLOR_WHITE, "Ââåäèòå: /mute [id] [ìèíóòû] [ïðè÷èíà]");
    if(!IsPlayerConnected(params[0]) || params[0] == playerid) return true;
    if(params[1] > 300 || params[1] < 0) return SendClientMessage(playerid,COLOR_WHITE,"Îøèáêà: Íåëüçÿ ìåíüøå 0 è áîëüøå 300");
    AntiBan[playerid] += 30;
    if((FD(params[0]) && !FD(playerid)) || IsKeyWords(playerid, params[2])) return true;
    if(params[1] == 0)
    {
        if(!PlayerInfo[params[0]][pMuted]) return SendClientMessage(playerid, COLOR_WHITE, "Ó èãðîêà íåò áàíà ÷àòà.");
        PlayerInfo[params[0]][pMuted] = 0;
        PlayerInfo[params[0]][pMuteTime] = 0;
        format(stringer1, sizeof(stringer1), "%s %s ñíÿë áàí ÷àòà ó %s.",PlayerInfo[playerid][pAlcoInvenxua] ? ("Àäìèíèñòðàòîð") : ("Àãåíò ïîääåðæêè"),PlayerInfo[playerid][pNames],PlayerInfo[params[0]][pNames]);
        SendAdminMessageToAll(COLOR_LIGHTRED,stringer1,params[0]);
        return true;
    }
    PlayerInfo[params[0]][pMuteTime] = params[1]*60;
    PlayerInfo[params[0]][pMuted] = 1;
    AdminInfo[playerid][admMuted]++;
    strmid(AdminInfo[playerid][admMutedReason], params[2], 0, strlen(params[2]), 32);
    format(mysql_query_, 200, "UPDATE `admin` SET muted = %i, muted_reason = '%s' WHERE id = %i LIMIT 1", AdminInfo[playerid][admMuted], AdminInfo[playerid][admMutedReason], AdminInfo[playerid][admID]);
    mysql_function_query(connects, mysql_query_, false, "", "");
    format(stringer1, sizeof(stringer1), "%s %s äàë áàí ÷àòà èãðîêó %s. Ïðè÷èíà: %s",PlayerInfo[playerid][pAlcoInvenxua] ? ("Àäìèíèñòðàòîð") : ("Àãåíò ïîääåðæêè"),PlayerInfo[playerid][pNames],PlayerInfo[params[0]][pNames],params[2]);
    SendAdminMessageToAll(COLOR_LIGHTRED ,stringer1,params[0]);
    format(stringer1, sizeof(stringer1), "Âàì äàëè áàí ÷àòà íà %i ìèíóò", params[1]);
    SendClientMessage(params[0], COLOR_WHITE, stringer1);
    SetPVarInt(playerid,"MuteTime",gettime()+10);
    return true;
}

Как сделать чтобы при выдаче мута админу ничего не происходило?

 

Помогите пожалуйста!

Share this post


Link to post

1 answer to this question

  • 0
Спойлер

CMD:mute(playerid, params[])
{
    if(PlayerInfo[playerid][pAlcoInvenxua] < 2
        return true;
    
    if(GetPVarInt(playerid,"MuteTime") > gettime())
        return SendClientMessage(playerid,COLOR_GREY,"Çàòêíóòü èãðîêà ìîæíî ðàç â 10 ñåêóíä");
    if(AntiBan[playerid] >= 60
        return SendClientMessage(playerid,COLOR_GREY,"[Àíòè-ïåðåáàí] Âàøè àäì äåéñòâèÿ çàáëîêèðîâàíû íà 3 ìèíóòû."), AntiBan[playerid] = 180;
    
    if(sscanf(params, "dds[128]",params[0],params[1],params[2])) 
        return SendClientMessage(playerid, COLOR_WHITE, "Ââåäèòå: /mute [id] [ìèíóòû] [ïðè÷èíà]");
    
    if(!IsPlayerConnected(params[0]) || params[0] == playerid) 
        return true;
    if(params[1] > 300 || params[1] < 0
        return SendClientMessage(playerid,COLOR_WHITE,"Îøèáêà: Íåëüçÿ ìåíüøå 0 è áîëüøå 300");
    if(PlayerInfo[params[0][pAlcoInvenxua]]) //та самая проверка, которая тебе нужна.
        return SendClientMessage(playerid,COLOR_WHITE, "Вы не можете выдать мут администратору!");

    AntiBan[playerid] += 30;
    if((FD(params[0]) && !FD(playerid)) || IsKeyWords(playerid, params[2])) 
        return true;
    
    if(params[1] == 0) {
        if(!PlayerInfo[params[0]][pMuted]) return SendClientMessage(playerid, COLOR_WHITE, "Ó èãðîêà íåò áàíà ÷àòà.");
        PlayerInfo[params[0]][pMuted] = 0;
        PlayerInfo[params[0]][pMuteTime] = 0;
        format(stringer1, sizeof(stringer1), "%s %s ñíÿë áàí ÷àòà ó %s.",PlayerInfo[playerid][pAlcoInvenxua] ? ("Àäìèíèñòðàòîð") : ("Àãåíò ïîääåðæêè"),PlayerInfo[playerid][pNames],PlayerInfo[params[0]][pNames]);
        SendAdminMessageToAll(COLOR_LIGHTRED,stringer1,params[0]);
        return true;
    }
    PlayerInfo[params[0]][pMuteTime] = params[1]*60;
    PlayerInfo[params[0]][pMuted] = 1;
    AdminInfo[playerid][admMuted]++;
    strmid(AdminInfo[playerid][admMutedReason], params[2], 0, strlen(params[2]), 32);
    format(mysql_query_, 200"UPDATE `admin` SET muted = %i, muted_reason = '%s' WHERE id = %i LIMIT 1", AdminInfo[playerid][admMuted], AdminInfo[playerid][admMutedReason], AdminInfo[playerid][admID]);
    mysql_function_query(connects, mysql_query_, false"""");
    format(stringer1, sizeof(stringer1), "%s %s äàë áàí ÷àòà èãðîêó %s. Ïðè÷èíà: %s",PlayerInfo[playerid][pAlcoInvenxua] ? ("Àäìèíèñòðàòîð") : ("Àãåíò ïîääåðæêè"),PlayerInfo[playerid][pNames],PlayerInfo[params[0]][pNames],params[2]);
    SendAdminMessageToAll(COLOR_LIGHTRED ,stringer1,params[0]);
    format(stringer1, sizeof(stringer1), "Âàì äàëè áàí ÷àòà íà %i ìèíóò", params[1]);
    SendClientMessage(params[0], COLOR_WHITE, stringer1);
    SetPVarInt(playerid,"MuteTime",gettime()+10);
    return true;
}

 

 

Edited by ʟᴀsᴛ ᴇᴍᴘᴇʀᴏʀ.

Share this post


Link to post
Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • MetaLife Online
      By MetaLife Online
      Привествую! писал код. проверил работу, в БД отправилось информация криво 
      потом добавил к P_NICK[MAX_PLAYER_NAME] для того чтобы все было окей. Но после этого данные вообще не отпровляються и не показываеться %s. пару раз удалял и не помогло не чего 
      enum PLAYER_INFO {     P_ID,     P_NICK[MAX_PLAYER_NAME],     P_PASS,     P_GENDER,     P_SKIN,     P_LVL, };