20.05.2015, 16:18
This Is The Command
Quote:
|
COMMAND:arrest(playerid, params[]) { new vehicleid = GetPlayerVehicleID(playerid); if (PlayerInfo[playerid][pSpawn] == 1){ if (PlayerInfo[playerid][pTeam] == TEAM_LAW || PlayerInfo[playerid][pVigilante] == 1){ new idx,giveplayerid,string[256],tmp[256]; tmp = strtok(params, idx); if(!strlen(tmp)) { //Between This Brace Is What Happens When A Player Doesn't Types A Playerid new WantedSuspects; for(new i = 0; i < GetMaxPlayers(); i++) { if(IsPlayerConnected(i) && i != playerid && !IsPlayerNPC(i) && PlayerInfo[i][pSpawn] == 1 && PlayerInfo[i][pWantedLevel] > 5 && GetDistanceBetweenPlayers(playerid,i) < 10) { WantedSuspects ++; if (WantedSuspects > 0)giveplayerid = i; break; } } if (WantedSuspects == 0) return SendClientMessage(playerid, COLOR_ERROR, "No Suspects In Range."); }else{ //Between This Brace Is What Happens When A Player Types A Playerid if(!isNumeric(tmp)) { giveplayerid = ReturnUser(playerid, tmp); if(giveplayerid == INVALID_PLAYER_ID) { return 1; } } else { giveplayerid = strval(tmp); if(!IsPlayerConnected(giveplayerid)) { format(string, sizeof(string), "%d Is Not A Valid ID.", giveplayerid); SendClientMessage(playerid, COLOR_ERROR, string); return 1; } } //Between This Brace Is What Happens When A Player Types A Playerid } if(giveplayerid == playerid) { SendClientMessage(playerid, COLOR_ERROR, "You Cannot Arrest Yourself."); return 1; } if(GetDistanceBetweenPlayers(playerid,giveplayerid ) > 10) { format(string, sizeof(string), "%s Is Not Close Enough To Arrest.",PlayerInfo[giveplayerid][pName]); SendClientMessage(playerid,COLOR_ERROR, string); return 1; } if(GetPlayerVirtualWorld(playerid) != GetPlayerVirtualWorld(giveplayerid)) { SendClientMessage(playerid, COLOR_ERROR, "No Suspects In Range."); return 1; } /*if(IsPlayerNPC(giveplayerid)) { SendClientMessage(playerid,COLOR_ERROR, "You Cannot Arrest A Bot."); return 1; }*/ if (PlayerInfo[giveplayerid][pTeam] == TEAM_LAW || PlayerInfo[giveplayerid][pVigilante] == 1) { format(string, sizeof(string), "%s (%d) Is A Law Enforcement Agent And Cannot Be Arrested.",PlayerInfo[giveplayerid][pName],giveplayerid); SendClientMessage(playerid,COLOR_ERROR, string); return 1; } if (PlayerInfo[giveplayerid][pWantedLevel] < 6) { format(string, sizeof(string), "%s (%d) Does Not Have A Warrant Issued.",PlayerInfo[giveplayerid][pName],giveplayerid); SendClientMessage(playerid,COLOR_ERROR, string); return 1; } /*if (PlayerStats[giveplayerid][pWantedLevel] > 0 && PlayerStats[giveplayerid][pWantedLevel] < 6) { //format(string, sizeof(string), "%s Does Not Have A Warrant Issued.",PlayerStats[giveplayerid][pName]); //SendClientMessage(playerid,COLOR_ERROR, string); OnPlayerCommandText(playerid, "/ticket"); return 1; }*/ if (GetPlayerState(playerid) == PLAYER_STATE_ONFOOT && GetPlayerState(giveplayerid) != PLAYER_STATE_ONFOOT) { SendClientMessage(playerid, COLOR_ERROR, "No Suspects In Range."); return 1; } if (GetPlayerState(giveplayerid) == PLAYER_STATE_DRIVER || GetPlayerState(giveplayerid) == PLAYER_STATE_PASSENGER) { new vehicleid = GetPlayerVehicleID(giveplayerid); if (!IsPlayerInVehicle(playerid,vehicleid) && IsPlayerInVehicle(giveplayerid,vehicleid)) { SendClientMessage(playerid, COLOR_ERROR, "No Suspects In Range."); return 1; } } if(PlayerInfo[giveplayerid][pAJailed] == 1) { format(string, sizeof(string), "%s (%i) Is Already In Jail.",PlayerInfo[giveplayerid][pName],giveplayerid); SendClientMessage(playerid, COLOR_ERROR, string); return 1; } if(PlayerInfo[giveplayerid][pJailed] == 1) { format(string, sizeof(string), "%s (%i) Is Already In Jail.",PlayerInfo[giveplayerid][pName],giveplayerid); SendClientMessage(playerid, COLOR_ERROR, string); return 1; } if(!IsPlayerInAnyVehicle(playerid)) { ApplyAnimation(playerid, "ped", "ARRESTgun", 3.0,0,1,1,1,0,1); } if(!IsPlayerInAnyVehicle(giveplayerid)) { ApplyAnimation(giveplayerid, "PED", "handsup", 3.0,0,1,1,1,0,1); } format(string, sizeof(string), "Suspect %s (%i) Has Been Arrested By Officer %s (%i)",PlayerInfo[giveplayerid][pName],giveplayerid,PlayerInfo[playerid][pName],playerid); SendClientMessageToAll(COLOR_SERVER_HELP_MSG, string); format(string, sizeof(string), "You Have Arrested Suspect %s (%d) And Recieved A Cop Takedown Bonus Of $1000.",PlayerInfo[giveplayerid][pName],giveplayerid); SendClientMessage(playerid, COLOR_SERVER_HELP_MSG, string); format(string, sizeof(string), "~w~ARRESTED ~r~SUSPECT ~w~%s",PlayerInfo[giveplayerid][pName]); GameTextForPlayer(playerid,string, 5000, 3); GivePlayerMoney(playerid, 5000); PlayerInfo[playerid][pEarnings] += 5000; SetPlayerScore(playerid,GetPlayerScore(playerid) + 1); SetPlayerScore(giveplayerid,GetPlayerScore(givepla yerid) - 1); PlayerInfo[giveplayerid][pJailHour] = PlayerInfo[giveplayerid][pWantedLevel]; PlayerInfo[giveplayerid][pJailMinute] = 4*PlayerInfo[giveplayerid][pWantedLevel]; PlayerInfo[giveplayerid][pBail] = PlayerInfo[giveplayerid][pWantedLevel]*1000; format(string, sizeof(string), "~w~BUSTED BY ~b~OFFICER %s",PlayerInfo[playerid][pName]); GameTextForPlayer(giveplayerid,string, 5000, 3); format(string, sizeof(string), "You Have Been Arrested By Officer %s (%d). Minimum Sentence: %d Hours, %d Minutes Bail: $%d",PlayerInfo[playerid][pName],playerid, PlayerInfo[giveplayerid][pJailHour],PlayerInfo[giveplayerid][pJailMinute],PlayerInfo[giveplayerid][pBail]); SendClientMessage(giveplayerid, COLOR_SERVER_HELP_MSG, string); if (PlayerInfo[giveplayerid][pHoldup] > 0 && PlayerInfo[giveplayerid][pMission] == MISSION_TYPE_STORE_ROBBERY) { if (PlayerInfo[giveplayerid][pHoldupAmount] > 0) { format(string, sizeof(string), "You Have Been Arrested. Holdup Failed. $%d Seized.", PlayerInfo[giveplayerid][pHoldupAmount]); SendClientMessage(giveplayerid, COLOR_SERVER_HELP_MSG, string); SendClientMessage(playerid, COLOR_SERVER_HELP_MSG, "You Have Stopped A Robbery And Received A $10000 Bonus."); GivePlayerMoney(playerid, 10000); PlayerInfo[playerid][pEarnings] += 10000; } PlayerInfo[giveplayerid][pHoldup] = 0; PlayerInfo[giveplayerid][pHoldupAmount] = 0; PlayerInfo[giveplayerid][pMission] = 0; } SetTimerEx("ArrestTimer", 5000, 0, "d", playerid); SetTimerEx("ArrestTimer", 5000, 0, "d", giveplayerid); format(string, sizeof(string), "~w~Jail Time: ~g~00:00~n~~w~Bail: ~r~$%d",PlayerInfo[giveplayerid][pBail]); TextDrawSetString(StatsDisplay[giveplayerid], string); //TextDrawShowForPlayer(giveplayerid, StatsDisplay[giveplayerid]); ResetPlayerWeapons(giveplayerid); PlayerInfo[giveplayerid][pWantedLevel] = 0; SetPlayerColor(giveplayerid, COLOR_WANTED_LEVEL_0); SetPlayerWantedLevel(giveplayerid, 0); PlayerInfo[playerid][pArrests] ++; PlayerInfo[giveplayerid][pArrested] ++; IncreasePlayerRank(playerid); }else{ SendClientMessage(playerid, COLOR_ERROR, "You Must Be A Law Enforcement Agent To Arrest Suspects."); } }else{ SendClientMessage(playerid, COLOR_ERROR, "You Cannot Use This Command When You're Dead."); } return 1; } |

