dcmd_arrest(playerid,params[])
{
new string[128];
new ID;
if(sscanf(params, "u", ID))
{
SendClientMessage(playerid,COLOR_ERROR,"AeroBot: /arrest (Player Name/ID)");
return 1;
}
if(IsSpawned[playerid] != 1)
{
SendClientMessage(playerid,COLOR_ERROR,"You must be alive and spawned in order to be able to use this command.");
return 1;
}
if(IsKidnapped[playerid] == 1)
{
SendClientMessage(playerid,COLOR_ERROR,"You are kidnapped. You cannot use this command.");
return 1;
}
if(IsFrozen[playerid] == 1)
{
SendClientMessage(playerid,COLOR_ERROR,"You have been frozen by a Server Administrator. You cannot use this command.");
return 1;
}
if(gTeam[playerid] != TEAM_COP && gTeam[playerid] != TEAM_ARMY && gTeam[playerid] != TEAM_CIA)
{
SendClientMessage(playerid,COLOR_ERROR,"Only law enforcement can arrest wanted suspects.");
return 1;
}
if(!IsPlayerConnected(ID))
{
format(string,sizeof(string),"The player ID (%d) is not connected to the server. You cannot arrest them.",ID);
SendClientMessage(playerid,COLOR_ERROR,string);
return 1;
}
if(GetDistanceBetweenPlayers(playerid,ID) > 4)
{
format(string,sizeof(string),"%s(%d) is too far away. You cannot reach him to arrest him.",PlayerName(ID),ID);
SendClientMessage(playerid,COLOR_ERROR,string);
return 1;
}
if(IsCuffed[ID] == 0)
{
format(string,sizeof(string),"%s(%d) is not cuffed. You have to place the suspect in cuffs before attempted to arrest them.",PlayerName(ID),ID);
SendClientMessage(playerid,COLOR_ERROR,string);
return 1;
}
if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER || GetPlayerState(playerid) == PLAYER_STATE_PASSENGER)
{
SendClientMessage(playerid,COLOR_ERROR,"You cannot arrest a suspect while in a vehicle. Exit the vehicle first.");
return 1;
}
if(GetPlayerState(ID) == PLAYER_STATE_DRIVER || GetPlayerState(ID) == PLAYER_STATE_PASSENGER)
{
SendClientMessage(playerid,COLOR_ERROR,"You cannot arrest a suspect they are in a vehicle. Get them to exit the vehicle first.");
return 1;
}
if(InAdminMode[ID] == 1)
{
SendClientMessage(playerid,COLOR_ERROR,"You cannot use this command on this player because they are in Administrator mode.");
return 1;
}
if(playerid == ID)
{
SendClientMessage(playerid,COLOR_ERROR,"You cannot arrest yourself, why would you do that anyway?");
return 1;
}
if(IsSpawned[ID] != 1)
{
format(string,sizeof(string),"%s(%d) is not spawned. You arrest dead people ..",PlayerName(ID),ID);
SendClientMessage(playerid,COLOR_ERROR,string);
return 1;
}
if(IsFrozen[ID] == 1)
{
format(string,sizeof(string),"%s(%d) is frozen by a Server Administrator. You cannot arrest them.",PlayerName(ID),ID);
SendClientMessage(playerid,COLOR_ERROR,string);
return 1;
}
if(GetPlayerWantedLevel(ID) < 4)
{
format(string,sizeof(string),"%s(%d)'s wanted level is too low. You cannot jail them. Use /ticket (Player ID).",PlayerName(ID),ID);
SendClientMessage(playerid,COLOR_ERROR,string);
return 1;
}
if(GetDistanceBetweenPlayers(playerid,ID) <= 4)
{
SendClientMessage(ID,COLOR_DEADCONNECT,"[[_Arrested_]]");
format(string,sizeof(string),"You have been sent to San Fierro Prison by Law Enforcement Officer %s(%d)",PlayerName(playerid),playerid);
SendClientMessage(ID,COLOR_LIGHTBLUE,string);
//Give the Police Officer Reward
IncreasePlayerScore(playerid,2);
//Others
ResetPlayerWeapons(ID);
//Send the suspect to jail
if(GetPlayerWantedLevel(ID) >= 4 && GetPlayerWantedLevel(ID) <= 10)
{
format(string,sizeof(string),"[POLICE ACTION] Law Enforcement Officer %s(%d) has sent the low wanted suspect %s(%d) to San Fierro Prison.",PlayerName(playerid),playerid,PlayerName(ID),ID);
SendClientMessageToAll(COLOR_ORANGE,string);
format(string,sizeof(string),"7[POLICE ACTION] Law Enforcement Officer %s(%d) has sent the low wanted suspect %s(%d) to San Fierro Prison.",PlayerName(playerid),playerid,PlayerName(ID),ID);
IRC_GroupSay(gGroupID,IRC_CHANNEL,string);
//Give the police officer reward
format(string,sizeof(string),"You have recieved $5000 for sending the low wanted suspect %s(%d) to prison.",PlayerName(ID),ID);
SendClientMessage(playerid,COLOR_LIGHTBLUE,string);
GivePlayerMoney(playerid,5000);
new rnd = random(sizeof(JailSpawnPoints));
JailTime[ID] =60;
IsCuffed[ID] =0;
CuffTime[ID] =0;
TotalJailTime[ID] =60;
SetPlayerInterior(ID,10);
SetPlayerPos(ID,JailSpawnPoints[rnd][0],JailSpawnPoints[rnd][1],JailSpawnPoints[rnd][2]);
SetPlayerFacingAngle(ID,JailSpawnPoints[rnd][3]);
TogglePlayerControllable(ID,1);
StopLoopingAnim(ID);
SetPlayerWantedLevel(ID,0);
SetPlayerToTeamColour(ID);
return 1;
}
if(GetPlayerWantedLevel(ID) >= 11 && GetPlayerWantedLevel(ID) <= 19)
{
format(string,sizeof(string),"[POLICE ACTION] Law Enforcement Officer %s(%d) has sent the wanted suspect %s(%d) to San Fierro Prison.",PlayerName(playerid),playerid,PlayerName(ID),ID);
SendClientMessageToAll(COLOR_ORANGE,string);
format(string,sizeof(string),"7[POLICE ACTION] Law Enforcement Officer %s(%d) has sent the wanted suspect %s(%d) to San Fierro Prison.",PlayerName(playerid),playerid,PlayerName(ID),ID);
IRC_GroupSay(gGroupID,IRC_CHANNEL,string);
//Give the police officer reward
format(string,sizeof(string),"You have recieved $8000 for sending the wanted suspect %s(%d) to prison.",PlayerName(ID),ID);
SendClientMessage(playerid,COLOR_LIGHTBLUE,string);
GivePlayerMoney(playerid,8000);
new rnd = random(sizeof(JailSpawnPoints));
JailTime[ID] =100;
IsCuffed[ID] =0;
CuffTime[ID] =0;
TotalJailTime[ID] =100;
SetPlayerInterior(ID,10);
SetPlayerPos(ID,JailSpawnPoints[rnd][0],JailSpawnPoints[rnd][1],JailSpawnPoints[rnd][2]);
SetPlayerFacingAngle(ID,JailSpawnPoints[rnd][3]);
TogglePlayerControllable(ID,1);
StopLoopingAnim(ID);
SetPlayerWantedLevel(ID,0);
SetPlayerToTeamColour(ID);
return 1;
}
if(GetPlayerWantedLevel(ID) >= 20 && GetPlayerWantedLevel(ID) <= 29)
{
format(string,sizeof(string),"[POLICE ACTION] Law Enforcement Officer %s(%d) has sent the wanted suspect %s(%d) to San Fierro Prison.",PlayerName(playerid),playerid,PlayerName(ID),ID);
SendClientMessageToAll(COLOR_ORANGE,string);
format(string,sizeof(string),"7[POLICE ACTION] Law Enforcement Officer %s(%d) has sent the wanted suspect %s(%d) to San Fierro Prison.",PlayerName(playerid),playerid,PlayerName(ID),ID);
IRC_GroupSay(gGroupID,IRC_CHANNEL,string);
//Give the police officer reward
format(string,sizeof(string),"You have recieved $10000 for sending the wanted suspect %s(%d) to prison.",PlayerName(ID),ID);
SendClientMessage(playerid,COLOR_LIGHTBLUE,string);
GivePlayerMoney(playerid,10000);
new rnd = random(sizeof(JailSpawnPoints));
JailTime[ID] =120;
IsCuffed[ID] =0;
CuffTime[ID] =0;
TotalJailTime[ID] =120;
SetPlayerInterior(ID,10);
SetPlayerPos(ID,JailSpawnPoints[rnd][0],JailSpawnPoints[rnd][1],JailSpawnPoints[rnd][2]);
SetPlayerFacingAngle(ID,JailSpawnPoints[rnd][3]);
TogglePlayerControllable(ID,1);
StopLoopingAnim(ID);
SetPlayerWantedLevel(ID,0);
SetPlayerToTeamColour(ID);
return 1;
}
if(GetPlayerWantedLevel(ID) >= 30 && GetPlayerWantedLevel(ID) <= 39)
{
format(string,sizeof(string),"[POLICE ACTION] Law Enforcement Officer %s(%d) has sent the most wanted suspect %s(%d) to San Fierro Prison.",PlayerName(playerid),playerid,PlayerName(ID),ID);
SendClientMessageToAll(COLOR_ORANGE,string);
format(string,sizeof(string),"7[POLICE ACTION] Law Enforcement Officer %s(%d) has sent the most wanted suspect %s(%d) to San Fierro Prison.",PlayerName(playerid),playerid,PlayerName(ID),ID);
IRC_GroupSay(gGroupID,IRC_CHANNEL,string);
//Give the police officer reward
format(string,sizeof(string),"You have recieved $15000 for sending the most wanted suspect %s(%d) to prison.",PlayerName(ID),ID);
SendClientMessage(playerid,COLOR_LIGHTBLUE,string);
GivePlayerMoney(playerid,15000);
new rnd = random(sizeof(JailSpawnPoints));
JailTime[ID] =140;
IsCuffed[ID] =0;
CuffTime[ID] =0;
TotalJailTime[ID] =140;
SetPlayerInterior(ID,10);
SetPlayerPos(ID,JailSpawnPoints[rnd][0],JailSpawnPoints[rnd][1],JailSpawnPoints[rnd][2]);
SetPlayerFacingAngle(ID,JailSpawnPoints[rnd][3]);
TogglePlayerControllable(ID,1);
StopLoopingAnim(ID);
SetPlayerWantedLevel(ID,0);
SetPlayerToTeamColour(ID);
return 1;
}
if(GetPlayerWantedLevel(ID) >= 40)
{
format(string,sizeof(string),"[POLICE ACTION] Law Enforcement Officer %s(%d) has sent the maniac %s(%d) to San Fierro Prison.",PlayerName(playerid),playerid,PlayerName(ID),ID);
SendClientMessageToAll(COLOR_ORANGE,string);
format(string,sizeof(string),"7[POLICE ACTION] Law Enforcement Officer %s(%d) has sent the maniac %s(%d) to San Fierro Prison.",PlayerName(playerid),playerid,PlayerName(ID),ID);
IRC_GroupSay(gGroupID,IRC_CHANNEL,string);
//Give the police officer reward
format(string,sizeof(string),"You have recieved $20000 for sending the maniac %s(%d) to prison.",PlayerName(ID),ID);
SendClientMessage(playerid,COLOR_LIGHTBLUE,string);
GivePlayerMoney(playerid,20000);
new rnd = random(sizeof(JailSpawnPoints));
JailTime[ID] =160;
IsCuffed[ID] =0;
CuffTime[ID] =0;
TotalJailTime[ID] =160;
SetPlayerInterior(ID,10);
SetPlayerPos(ID,JailSpawnPoints[rnd][0],JailSpawnPoints[rnd][1],JailSpawnPoints[rnd][2]);
SetPlayerFacingAngle(ID,JailSpawnPoints[rnd][3]);
TogglePlayerControllable(ID,1);
StopLoopingAnim(ID);
SetPlayerWantedLevel(ID,0);
SetPlayerToTeamColour(ID);
SetPlayerVirtualWorld(playerid,0);
return 1;
}
return 1;
}
return 1;
}
Add what? i only want the command to be converted 'arrest player who is near police/army/cia/fbi'
|
new nearestwanted[4];
for(new i;i<MAX_PLAYERS;i++) if(GetDistanceBetweenPlayers(i, playerid) <= 4 && GetPlayerWantedLevel(i) > 0) format(nearestwanted, sizeof(nearestwanted), "%i", i);
//'nearestwanted' is now a integrer holding the ID of the nearest wanted player in a region of 4 coords.
Arrest(nearestwanted); //or something