MMB ARREST BUTTON
#4

I'm making quite a few mistakes today, here you go:

pawn Код:
#define PRESSED(%0) (((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))
CMD:ar(playerid, params[])
{
    if(GetTeam{playerid} == CLASS_CIV || GetTeam{playerid} == CLASS_MEDIC) return SendClientMessage(playerid, RED, "Only law enforcement can arrest players.");
    else if(HasBeenTied{playerid} == true) return SendClientMessage(playerid, RED, "You cant arrest players while your tied up.");
    else if(IsPlayerConnected(strval(params)) && strlen(params) != 0) Arrest(playerid, strval(params));
    else if(strlen(params) == 0 || !IsPlayerConnected(strval(params)) Arrest(playerid);
    new astring[100];
    format(astring, sizeof(astring),"%s [%d] typed: /ar", GetName(playerid), playerid);
    SendAdminMessage(GREY, astring);
    return 1;
}
stock Arrest(playerid, i = -1)
{
    new Float:x, Float:y, Float:z, Float:hp;
    if(i != -1)
    {
        GetPlayerPos(i, x, y, z);
        GetPlayerHealth(i, hp);
        if(hp > 0.0 && IsPlayerInRangeOfPoint(playerid, 5.0, x, y, z) && GetPlayerInterior(playerid) == GetPlayerInterior(i) && GetPlayerVirtualWorld(playerid) == GetPlayerVirtualWorld(i) && GetPlayerWantedLevel(i) >= 4 && !IsPlayerInAnyVehicle(i) && !IsOnduty{i} && !IsAtEvent{i} && HasBeenArrested{i} == false) return SendClientMessage(playerid, RED, "Player cannot be arrested");
    }
    else if(i == -1)
    {
        foreach(Player, id)
        {
            GetPlayerPos(i, x, y, z);
            GetPlayerHealth(i, hp);
            if(hp > 0.0 && IsPlayerInRangeOfPoint(playerid, 5.0, x, y, z) && GetPlayerInterior(playerid) == GetPlayerInterior(id) && GetPlayerVirtualWorld(playerid) == GetPlayerVirtualWorld(id) && GetPlayerWantedLevel(id) >= 4 && !IsPlayerInAnyVehicle(id) && !IsOnduty{id} && !IsAtEvent{id} && HasBeenArrested{id} == false) continue;
            i = id;
            break;
        }
        if(i == -1) return SendClientMessage(playerid, RED, "No wanted players in range.");
    }
    PlayerInfo[i][pArrests] ++;
    TogglePlayerControllable(i, false);
    GameTextForPlayer(i, "~r~Arrested!", 3000, 5);
    GameTextForPlayer(playerid,"~w~Suspect ~g~Arrested.",5000,5);
    SetPlayerScore(playerid, GetPlayerScore(playerid) + 1);
    new pay = random(10000) + 5000;
    GivePlayerCash(playerid, pay);
    PlayerInfo[playerid][pTakedowns] ++;
    ApplyAnimation(playerid, "ped", "ARRESTgun", 4.1, 0, 1, 1, 1, 1);
    SetPlayerScore(i, GetPlayerScore(i) - 1);
    SetPlayerSpecialAction(i, SPECIAL_ACTION_HANDSUP);
    SetTimerEx("SendPlayerToJail", 3000, false, "d", i);
    HasBeenArrested{i} = true;
    if(GetTeam{playerid} == CLASS_COPS)
    {
        format(fstr, sizeof(fstr), "Officer %s [%d] has just arrested you.", GetName(playerid), playerid);
        SendClientMessage(i, RED, fstr);
        format(fstr2, sizeof(fstr2), "Suspect %s [%d] has been arrested by Officer %s [%d]", GetName(i), i, GetName(playerid), playerid);
        SendClientMessageToAll(LIGHTGREEN, fstr2);
    }
    else if(GetTeam{playerid} == CLASS_CIA)
    {

        SendClientMessage(i, RED, "You have been arrested by a Undercover CIA Agent.");
        format(fstr, sizeof(fstr), "Suspect %s [%d] has been arrested by a Undercover CIA Agent.", GetName(i), i);
        SendClientMessageToAll(LIGHTGREEN, fstr);
    }
    else if(GetTeam{playerid} == CLASS_FBI)
    {
        SendClientMessage(i, RED, "You have been arrested by a Undercover FBI Agent.");
        format(fstr, sizeof(fstr), "Suspect %s [%d] has been arrested by a Undercover FBI Agent.", GetName(i), i);
        SendClientMessageToAll(LIGHTGREEN, fstr);
    }
    else if(GetTeam{playerid} == CLASS_ARMY)
    {
        SendClientMessage(i, RED, "You have been arrested by a Las Vegas Army Soldier.");
        format(fstr, sizeof(fstr), "Suspect %s [%d] has been arrested by a Las Vegas Army Soldier.", GetName(i), i);
        SendClientMessageToAll(LIGHTGREEN, fstr);
    }
    return 1;
}

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
    if(GetTeam{playerid} != CLASS_CIV && GetTeam{playerid} != CLASS_MEDIC && PRESSED(KEY_SUBMISSION)) Arrest(playerid);
    return 1;
}
Reply


Messages In This Thread
MMB ARREST BUTTON - by Beljulji - 23.12.2012, 23:37
Re: MMB ARREST BUTTON - by [HiC]TheKiller - 24.12.2012, 00:21
Re: MMB ARREST BUTTON - by Beljulji - 24.12.2012, 00:39
Re: MMB ARREST BUTTON - by [HiC]TheKiller - 24.12.2012, 00:52
Re: MMB ARREST BUTTON - by Beljulji - 24.12.2012, 00:57
Re: MMB ARREST BUTTON - by Beljulji - 24.12.2012, 01:15
Re: MMB ARREST BUTTON - by [HiC]TheKiller - 24.12.2012, 01:30
Re: MMB ARREST BUTTON - by Beljulji - 24.12.2012, 01:32
Re: MMB ARREST BUTTON - by Beljulji - 24.12.2012, 01:35
Re: MMB ARREST BUTTON - by Beljulji - 24.12.2012, 01:38

Forum Jump:


Users browsing this thread: 4 Guest(s)