SA-MP Forums Archive
Arrest Command - 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: Arrest Command (/showthread.php?tid=653125)



Arrest Command - RedRex - 26.04.2018

Hello everybody! I've creating a command for /arrest and it's worked! But I've trying to million times to added a timer for ARREST and it's not worked so I've remove everything of timer and I want your help to do it!

What I mean? If the cop arrest someone I don't want let the criminal teleport to Jail fast! I want let him wait 5secdons then let him teleport to jail! how?

Код:
CMD:ar(playerid, params[])
{
    if(!PoliceTeam(GetPlayerSkin(playerid))) return SendClientMessage(playerid, 0xE74C3CFF, "{FF0000}Error: {FFFFFF}Only Law Enforcement may use this command.");
	new pName[MAX_PLAYER_NAME],tName[MAX_PLAYER_NAME],targetid,string[128];
    new Float:targetidpos[3];
    if(GetPlayerInterior(targetid) > 0) return SendClientMessage(playerid, red, "ERROR: You can't arrest players inside an interior.");
    if(sscanf(params, "ui", targetid)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /ar <playerid> / <PlayerName>");
    if(GetPVarInt(playerid,"ArTime")>GetTickCount())return SendClientMessage(playerid,0xFF0000FF,"Please wait 5 seconds before arresting a suspect again.");
    if(PlayerInfo[targetid][pJailed] == 1) return SendClientMessage(playerid, red, "This player is already in jail,you can't arrest him.");
    if(IsPlayerInAnyVehicle(targetid)) return SendClientMessage(playerid,red,"You can't arrest players if they're in a vehicle.");
    if(GetPlayerWantedLevel(targetid) == 3) return SendClientMessage(playerid, red, "ERROR: You can't arrest players with wanted level lower than 4.Use /tk to issue a ticket,or press 2.");
    if(GetPlayerWantedLevel(targetid) == 0) return SendClientMessage(playerid, red, "This player is not wanted,you can't arrest him");
	if(playerid == targetid) return SendClientMessage(playerid,red, "You can't arrest yourself,you stupid or what?");
	GetPlayerPos(playerid, targetidpos[0], targetidpos[1], targetidpos[2]);
    if (!IsPlayerInRangeOfPoint(playerid, 5.0, targetidpos[0], targetidpos[1], targetidpos[2])) return SendClientMessage(playerid, -1, "Nobody close enough to arrest.");
    GetPlayerName(playerid, pName, sizeof(pName));
    GetPlayerName(targetid, tName, sizeof(tName));
    if(IsPlayerConnected(targetid)) return SendClientMessage(playerid, -1, "{ff0000}Error: {FFFFFF}This user is not connected.");
        {
            if(GetPlayerWantedLevel(targetid) >= 4)
			{
			
			    SetPlayerAttachedObject(targetid, 9, 19418, 6, -0.011000, 0.028000, -0.022000, -15.600012, -33.699977, -81.700035, 0.891999, 1.000000, 1.168000);
                SetPlayerSpecialAction(targetid, SPECIAL_ACTION_CUFFED);
                ApplyAnimation(playerid, "ped", "ARRESTgun", 4.1, 0, 1, 1, 1, 1);
                new ArrestReward = random(15000) + 2500;
                if(ArrestReward > GetPlayerCash(playerid))
                format(string, sizeof(string), "{0080FF}[BEING ARRESTED]: {FFFFFF}Law Enforcement Officer %s(%d) has put {ADFF2F}Handcuffs {FFFFFF}on you.", pName, playerid);
                format(string, sizeof(string), "You have placed {0080FF}%s(%d) {FFFFFF}in Handcuffs for an Arrest. Use {0080FF}/search (id) {FFFFFF}to search Him for illegal Drugs.", tName, targetid);
                SendClientMessage(targetid, -1, "{0080FF}[BEING ARRESTED]: {FFFFFF}Use {0080FF}/breakcuffs (/bc) {FFFFFF}to attempt to evade the Arrest.");
                GameTextForPlayer(targetid, "~y~You begin arrested\n~P~/BC ~G~FOR BREAK THE CUFFS!", 5000, 5);
                format(string, sizeof(string), "{ffffff}You have Arrested {FFD700}%s(%d){FFFFFF}. You have received {33FF33}$%d {FFFFFF}for this Arrest.", tName, targetid, ArrestReward);
                SendClientMessage(playerid, red, string);
                format(string, sizeof(string), "{0080FF}[ARRESTED]: {FFD700}%s(%d) {FFFFFF}has been {33CCFF}Arrested {FFFFFF}by {308AFF}Officer %s(%d){FFFFFF}!", tName, targetid, pName, playerid);
                SendClientMessageToAll(yellow, string);
                format(string, sizeof(string), "~w~You have ~G~Arrested ~Y~%s(%d)~n~n~You have received ~n~n~~y~$%d ~w~for this Arrest.", tName, targetid, ArrestReward);
                GameTextForPlayer(playerid, string, 7000, 5);
                GivePlayerMoney(playerid, ArrestReward);
                SetPlayerScore(playerid, GetPlayerScore(playerid)+1);
                SetPlayerScore(targetid, GetPlayerScore(targetid)-1);
                new Random = random(sizeof(RandomJailSpawns));
                SetPlayerPos(targetid, RandomJailSpawns[Random][0], RandomJailSpawns[Random][1], RandomJailSpawns[Random][2]);
                SetPlayerFacingAngle(targetid, RandomJailSpawns[Random][2]);
                SetPlayerInterior(targetid, 3);
                pJailTimerID[targetid] = SetTimerEx("pJailTimer", 1000, true, "i", targetid);
                pJailCount[targetid] = 80 + random(100);
                ResetPlayerWeapons(targetid);
                SetPlayerColor(targetid, COLOR_WHITE);
                SetPlayerWantedLevel(targetid,0);
                SetPVarInt(playerid,"ArTime",GetTickCount()+5000);
            }
		}
  		return 1;
}



Re: Arrest Command - Mugala - 27.04.2018

wait, I remember that post, someone asked for the exactly same code... it was u?

anyway.
Remove this code.
PHP код:
                new Random random(sizeof(RandomJailSpawns));
                
SetPlayerPos(targetidRandomJailSpawns[Random][0], RandomJailSpawns[Random][1], RandomJailSpawns[Random][2]);
                
SetPlayerFacingAngle(targetidRandomJailSpawns[Random][2]);
                
SetPlayerInterior(targetid3);
                
pJailTimerID[targetid] = SetTimerEx("pJailTimer"1000true"i"targetid);
                
pJailCount[targetid] = 80 random(100);
                
ResetPlayerWeapons(targetid);
                
SetPlayerColor(targetidCOLOR_WHITE);
                
SetPlayerWantedLevel(targetid,0);
                
SetPVarInt(playerid,"ArTime",GetTickCount()+5000); 
change with it.
PHP код:
SetTimerEx("JailPlayer",5000,0,"i",playerid);// making 5 sec timer for jail 
create new forward func, from the deleted code.
PHP код:
forward JailPlayer(targetid);
public 
JailPlayer(targetid)
{
    new 
Random random(sizeof(RandomJailSpawns));
    
SetPlayerPos(targetidRandomJailSpawns[Random][0], RandomJailSpawns[Random][1], 
    
RandomJailSpawns[Random][2]);
    
SetPlayerFacingAngle(targetidRandomJailSpawns[Random][2]);
    
SetPlayerInterior(targetid3);
    
pJailTimerID[targetid] = SetTimerEx("pJailTimer"1000true"i"targetid);
    
pJailCount[targetid] = 80 random(100);
    
ResetPlayerWeapons(targetid);
    
SetPlayerColor(targetidCOLOR_WHITE);
    
SetPlayerWantedLevel(targetid,0);
    
SetPVarInt(playerid,"ArTime",GetTickCount()+5000);
    return 
1;