SA-MP Forums Archive
Evade Admin Commands - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (https://sampforum.blast.hk/forumdisplay.php?fid=12)
+--- Thread: Evade Admin Commands (/showthread.php?tid=296041)



Evade Admin Commands - misho1 - 09.11.2011

Hi,
I want To Make Some Of Those Commands Be Evade
For Example:Some One Muted And IF He Relog He Stay Muted

Mute
pawn Код:
dcmd_mute(playerid,params[])
{
    if(AccInfo[playerid][LoggedIn] == 1)
    {
        if(AccInfo[playerid][Level] >= 2)
        {
            new tmp[256];
            new tmp2[256];
            new Index;
            tmp = strtok(params,Index);
            tmp2 = strtok(params,Index);
            if(!strlen(params)) return
            SendClientMessage(playerid, LIGHTBLUE2, "Usage: /mute [PlayerID] [Reason]") &&
            SendClientMessage(playerid, orange, "Function: Will mute the specified player");
            new playername[MAX_PLAYER_NAME];
            new adminname [MAX_PLAYER_NAME];
            new player1, string[128];
            player1 = strval(tmp);
            if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && (AccInfo[player1][Level] != ServerInfo[MaxAdminLevel]) )
             {
                if(AccInfo[player1][Muted] == 0)
                {
                    GetPlayerName(player1, playername, sizeof(playername));
                    GetPlayerName(playerid, adminname, sizeof(adminname));
                    SendCommandToAdmins(playerid,"Mute");
                    PlayerPlaySound(player1,1057,0.0,0.0,0.0);
                    AccInfo[player1][Muted] = 1;
                    AccInfo[player1][MuteWarnings] = 0;
                    if(strlen(tmp2))
                    {
                    format(string,sizeof(string),"|- You have been Muted by Administrator %s | Reason: %s -|",adminname,params[2]);
                    SendClientMessage(player1,blue,string);
                    format(string,sizeof(string),"|-  You have Muted %s | Reason: %s -|", playername,params[2]);
                    return SendClientMessage(playerid,BlueMsg,string);
                    }
                    else
                    {
                    format(string,sizeof(string),"|- You have been muted by Administrator %s | No Specified Reason! -|",adminname);
                    SendClientMessage(player1,blue,string);
                    format(string,sizeof(string),"|- You have Muted %s -|", playername);
                    return SendClientMessage(playerid,BlueMsg,string);
                    }
                }
                else return SendClientMessage(playerid, red, "ERROR: Player is already muted");
            }
            else return SendClientMessage(playerid, red, "ERROR: Player is not connected or is the highest level admin");
        }
        else return ErrorMessages(playerid, 1);
    }
    else return SendClientMessage(playerid,red,"ERROR: You must be logged in to use this commands");
}
Freeze
pawn Код:
dcmd_freeze(playerid,params[])
{
    if(AccInfo[playerid][LoggedIn] == 1)
    {
        if(AccInfo[playerid][Level] >= 3)
        {
            new tmp[256],tmp2[256],tmp3[256],Index;
            tmp  = strtok(params,Index);
            tmp2 = strtok(params,Index);
            tmp3 = strtok(params,Index);
           
            if(!strlen(params)) return
            SendClientMessage(playerid, LIGHTBLUE2, "Usage: /freeze [PlayerID]") &&
            SendClientMessage(playerid, orange, "Function: Will Freeze the specified player");
            new player1;
            new string[128];
            new playername[MAX_PLAYER_NAME];
            new adminname[MAX_PLAYER_NAME];
           
            player1 = ReturnUser(tmp, playerid);
            if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
             {
                if(AccInfo[player1][Frozen] == 0)
                {
                    GetPlayerName(player1, playername, sizeof(playername));
                    GetPlayerName(playerid, adminname, sizeof(adminname));
                    new ftime = strval(tmp2);
                    if(ftime == 0) ftime = 9999;

                    SendCommandToAdmins(playerid,"Freeze");
                    TogglePlayerControllable(player1,false); AccInfo[player1][Frozen] = 1;
                    PlayerPlaySound(player1,1057,0.0,0.0,0.0);
                    AccInfo[player1][FreezeTime] = ftime*1000*60;
                    FreezeTimer[player1] = SetTimerEx("UnFreezeMe",AccInfo[player1][FreezeTime],0,"d",player1);
                   
                    if(ftime == 9999)
                    {
                    if(!strlen(params[strlen(tmp2)+1]))
                    format(string,sizeof(string),"|- Administrator %s has Frozen %s -|",adminname,playername);
                    else format(string,sizeof(string),"|- Administrator %s has Frozen %s | Reason: %s -|",adminname,playername,params[strlen(tmp)+1]);
                    }
                    else
                    {
                    if(!strlen(tmp3)) format(string,sizeof(string),"|- Administrator %s has Frozen %s for %d Minutes",adminname,playername,ftime);
                    else format(string,sizeof(string),"|- Administrator %s has Frozen %s for %d Minutes | Reason: %s",adminname,playername,ftime,params[strlen(tmp2)+strlen(tmp)+1]);
                    }
                    return SendClientMessageToAll(blue,string);
                }
                else return SendClientMessage(playerid, red, "ERROR: Player is already Frozen");
            }
            else return SendClientMessage(playerid, red, "ERROR: Player is not connected or is the highest level admin");
        }
        else return ErrorMessages(playerid, 1);
    }
    else return SendClientMessage(playerid,red,"ERROR: You must be logged in to use this commands");
}
Jail
pawn Код:
dcmd_jail(playerid,params[])
{
    if(AccInfo[playerid][LoggedIn] == 1)
    {
        if(AccInfo[playerid][Level] >= 3)
        {
            new Index;
            new tmp[256];  tmp  = strtok(params,Index);
            new tmp2[256]; tmp2 = strtok(params,Index);
            new tmp3[256]; tmp3 = strtok(params,Index);

            if(!strlen(params)) return
            SendClientMessage(playerid, LIGHTBLUE2, "Usage: /jail [PlayerID] [Minutes] [Reason]") &&
            SendClientMessage(playerid, orange, "Function: Will Jailed the specified player");
            new player1, playername[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME], string[128];
            player1 = strval(tmp);

            if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && (AccInfo[player1][Level] != ServerInfo[MaxAdminLevel]))
             {
                if(AccInfo[player1][Jailed] == 0)
                {
                    GetPlayerName(player1, playername, sizeof(playername));
                    GetPlayerName(playerid, adminname, sizeof(adminname));
                    new jtime = strval(tmp2);
                    if(jtime == 0) jtime = 9999;

                    SendCommandToAdmins(playerid,"Jail");
                    AccInfo[player1][JailTime] = jtime*1000*60;
                    SetTimerEx("JailPlayer",5000,0,"d",player1);
                    SetTimerEx("Jail1",1000,0,"d",player1);
                    AccInfo[player1][Jailed] = 1;

                    if(jtime == 9999)
                    {
                    if(!strlen(params[strlen(tmp2)+1])) format(string,sizeof(string),"|- Administrator %s has Jailed %s -|",adminname,playername);
                    else format(string,sizeof(string),"|- Administrator %s has Jailed %s | Reason: %s -|",adminname,playername,params[strlen(tmp)+1]);
                    }
                    else
                    {
                    if(!strlen(tmp3)) format(string,sizeof(string),"|- Administrator %s has Jailed %s for %d Minutes -|",adminname,playername, jtime);
                    else format(string,sizeof(string),"|- Administrator %s has Jailed %s for %d Minutes | Reason: %s -|",adminname,playername,jtime,params[strlen(tmp2)+strlen(tmp)+1]);
                    }
                    return SendClientMessageToAll(blue,string);
                }
                else return SendClientMessage(playerid, red, "ERROR: Player is already in jail");
            }
            else return SendClientMessage(playerid, red, "ERROR: Player is not connected or is the highest level admin");
        }
        else return ErrorMessages(playerid, 1);
    }
    else return SendClientMessage(playerid,red,"ERROR: You must be logged in to use this commands");
}



Re: Evade Admin Commands - Kingunit - 09.11.2011

You need to save it in the userfile and at OnPlayerSpawn like this:
pawn Код:
if(Playerinfo[playerid][Frozen] == 1)
{
    SetPlayer ..
}



Re : Evade Admin Commands - decondelite - 09.11.2011

1) You should switch to ZCMD or YCMD for your commands system.
2) You need to save the jail time, the "muted" property in the userfile
3) If it's a DM server, you can also just /kick again or temp ban those who evade mutes or jail.


Re: Evade Admin Commands - misho1 - 09.11.2011

Can Any 1 Do That For Me Pliz
http://pastebin.com/u7YcNB7N


Re: Evade Admin Commands - misho1 - 14.11.2011

Any One Do That Pliz


Re: Evade Admin Commands - misho1 - 14.11.2011

Plizzz Any One Do That For Me
My English Is Bad And I am Not Good Scripter
http://solidfiles.com/d/2S32/


Re: Evade Admin Commands - misho1 - 15.11.2011

Pliiiiz Any One Answeeer


Re: Evade Admin Commands - Ash. - 15.11.2011

Yes, quad posting get's you quite far.

I'm guessing you have a register/login system on your server. Just add the relevant saving code into there. (Ensuring to save variables that make them muted etc)


Re: Evade Admin Commands - misho1 - 02.12.2011

Hey I Found That
pawn Код:
//==============================================================================
// Player Frozen (Prevent scape)
//==============================================================================
    AccInfo[playerid][Spawned] = 1;

    if(AccInfo[playerid][Frozen] == 1) {
        TogglePlayerControllable(playerid,false);
        return SendClientMessage(playerid,red,"|- You cant escape your punishment. You Are Still Frozen -|");
    }
//==============================================================================
// Player Jail (Prevent scape)
//==============================================================================
    if(AccInfo[playerid][Jailed] == 1) {
        SetTimerEx("JailPlayer",3000,0,"d",playerid);
        return SendClientMessage(playerid,red,"|- You cant escape your punishment. You Are Still In Jail -|");
    }
And This
pawn Код:
public CagePrevent(playerid)
{
SetPlayerPos(playerid,LPosX[playerid],LPosY[playerid],LPosZ[playerid]);
TogglePlayerControllable(playerid, 0);
SendClientMessage(playerid,red,"|- You cant escape your punishment. You Are Still in Cage -|");
SetTimerEx("CagePlayer", 500, 0, "i", playerid);
SetTimerEx("UnCagePlayer", AccInfo[playerid][pCageTime]*1000, 0, "i", playerid);
return 1;
}
How To Enable It?