23.07.2010, 01:39
Untested...
pawn Код:
CMD:arrest(playerid, cmdtext[])
{
new string[128],giveplayerid,tmp[256],idx;
if(IsSpawned[playerid] == 0)
{
SendClientMessage(playerid, red, "You are dead. You cannot use this command");
return 1;
}
if(gTeam[playerid] != TEAM_COPS)
{
SendClientMessage(playerid,red,"You are not a Law Enforcement officer ");
return 1;
}
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
giveplayerid = GetClosestPlayer(playerid);
new temp[32];
GetPlayerName(giveplayerid, temp, 32);
format(string,sizeof(string),"The closest player to you is (%d)%s",giveplayerid,temp);
SendClientMessage(playerid, red, string);
format(string,sizeof(string),"To attempt the arrest of this player use: /ar %d",giveplayerid);
SendClientMessage(playerid, red, string);
return 1;
}
if(!IsNumeric(tmp))
{
SendClientMessage(playerid, red, "USAGE: /ar (id) ID Must be a number");
return 1;
}
giveplayerid = strval(tmp);
if(!IsPlayerConnected(giveplayerid))
{
format(string, sizeof(string), "ID (%d) Is Not On The Server", giveplayerid);
SendClientMessage(playerid, red, string);
return 1;
}
new oname[24];
new pname[24];
GetPlayerName(playerid,oname, 24);
GetPlayerName(giveplayerid, pname, 24);
if(GetPlayerWantedLevel(giveplayerid) <= 3)
{
format(string, sizeof(string), "%s(%d) Does Not Have A Warrant Please Use /TK [playerid]",pname,giveplayerid);
SendClientMessage(playerid,red,string);
return 1;
}
if(GetDistanceBetweenPlayers(playerid,giveplayerid) > 10)
{
format(string, sizeof(string), "%s(%d) Is too far away. You Cannot Arrest Him/Her",pname,giveplayerid);
SendClientMessage(playerid,red,string);
return 1;
}
if(IsSpawned[giveplayerid] == 0)
{
format(string, sizeof(string), "%s(%d) Is Not Alive. He/She Is Dead.",pname,giveplayerid);
SendClientMessage(playerid,red,string);
return 1;
}
SetPlayerVirtualWorld(giveplayerid,0);
if(giveplayerid == playerid)
{
SendClientMessage(playerid,red,"You Can't Arrest Yourself Fucking Idiot");
return 1;
}
new spawn = random(sizeof(PrisonSpawn)), string2[250], Float:health, copname[MAX_PLAYER_NAME], arrested[MAX_PLAYER_NAME];
GetPlayerName(playerid, copname, sizeof(copname));
GetPlayerName(strval(tmp), arrested, sizeof(arrested));
GetPlayerHealth(strval(tmp), health);
SendClientMessage(strval(tmp), BLUE, "|____ Los Santos Police Dept. ____|");
format(string, sizeof(string), "Offier %s Has Arrested You.", copname);
SendClientMessage(strval(tmp), TEAL, string);
ResetPlayerWeapons(strval(tmp));
SetPlayerPos(strval(tmp), PrisonSpawn[spawn][0], PrisonSpawn[spawn][1], PrisonSpawn[spawn][2]);
SetPlayerFacingAngle(strval(tmp), PrisonSpawn[spawn][3]);
SetCameraBehindPlayer(strval(tmp));
if(GetPlayerWantedLevel(strval(tmp)) >= 4 && GetPlayerWantedLevel(strval(tmp)) <= 5)
{
PrisonTime[strval(tmp)] = 80;
GivePlayerMoney2(strval(tmp),-200);
GivePlayerMoney2(playerid,3000);
SetPlayerScore(playerid,GetPlayerScore(playerid)+1);
}
else if(GetPlayerWantedLevel(strval(tmp)) >= 6 && GetPlayerWantedLevel(strval(tmp)) <= 8)
{
PrisonTime[strval(tmp)] = 120;
GivePlayerMoney2(strval(tmp),-200);
GivePlayerMoney2(playerid,3500);
SetPlayerScore(playerid,GetPlayerScore(playerid)+1);
}
else if(GetPlayerWantedLevel(strval(tmp)) >= 9 && GetPlayerWantedLevel(playerid) <= 11)
{
PrisonTime[strval(tmp)] = 180;
GivePlayerMoney2(strval(tmp),-200);
GivePlayerMoney2(playerid,4000);
SetPlayerScore(playerid,GetPlayerScore(playerid)+2);
}
else if(GetPlayerWantedLevel(strval(tmp)) >= 12 && GetPlayerWantedLevel(strval(tmp)) <= 14)
{
PrisonTime[strval(tmp)] = 240;
GivePlayerMoney2(strval(tmp),-200);
GivePlayerMoney2(playerid,4500);
SetPlayerScore(playerid,GetPlayerScore(playerid)+2);
}
else if(GetPlayerWantedLevel(strval(tmp)) >= 15)
{
PrisonTime[strval(tmp)] = 300;
GivePlayerMoney2(strval(tmp),-200);
GivePlayerMoney2(playerid,5000);
SetPlayerScore(playerid,GetPlayerScore(playerid)+3);
}
SetPlayerWantedLevel(strval(tmp), 0);
SetPlayerInterior(strval(tmp),3);
SetPlayerHealth(strval(tmp),99999);
TogglePlayerControllable(strval(tmp), true);
SetPlayerJailed(strval(tmp), true);
format(string2, sizeof(string2), "Officer %s[%d] Has Arrested %s[%d].", copname, playerid, arrested, strval(tmp));
SendClientMessageToAll(TEAL,string2);
if(health <= 90)
{
SendClientMessage(strval(tmp), GREY, "|____ Los Santos Police Dept. ____|");
SendClientMessage(strval(tmp), WHITE, "LSPD has given you some food.");
SetPlayerHealth(strval(tmp), health+10);
OnePlayAnim(strval(tmp), "FOOD", "EAT_Burger", 4.0, 0, 0, 0, 0, 0);
}
return 1;
}