Код:
CMD:invite(playerid, params[])
{
if((gTeam[playerid] == 8) || (IsPlayerAdmin(playerid)))
{
if((CopDuty[playerid] == 1) || (IsPlayerAdmin(playerid)))
{
if(!strlen(params)) return SendClientMessage(playerid, RED, "Usage: /invite [Player Id]");
new player1, playername[MAX_PLAYER_NAME], copname[MAX_PLAYER_NAME], string[128];
player1 = strval(params);
if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
{
if(gTeam[player1] == 0)
{
GetPlayerName(player1, playername, sizeof(playername));
GetPlayerName(playerid, copname, sizeof(copname));
gTeam[player1] = 1;
format(string,sizeof(string),"Police Commissioner %s has invited %s to the Police Team", copname, playername);
return SendClientMessageToAll(COP_COLOR,string);
}
else return SendClientMessage(playerid, RED, "ERROR: This player is already in the Police Team");
}
else return SendClientMessage(playerid, RED, "ERROR: Player not found");
}
else return SendClientMessage(playerid, RED, "ERROR: You have to be on cop duty!");
}
else return SendClientMessage(playerid, RED, "ERROR: You need to be a Police Commissioner to use this command");
}
CMD:acop(playerid, params[])
{
if(IsPlayerAdmin(playerid))
{
return cmd_invite(playerid, params);
}
return 1;
}
CMD:uninvite(playerid,params[])
{
if((gTeam[playerid] == 8) || (IsPlayerAdmin(playerid)))
{
if((CopDuty[playerid] == 1) || (IsPlayerAdmin(playerid)))
{
if(!strlen(params)) return SendClientMessage(playerid, RED, "Usage: /uninvite [Player Id]");
new player1, playername[MAX_PLAYER_NAME], copname[MAX_PLAYER_NAME], string[128];
player1 = strval(params);
if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
{
if((gTeam[player1] <= 8) && (gTeam[player1] > 0))
{
GetPlayerName(player1, playername, sizeof(playername));
GetPlayerName(playerid, copname, sizeof(copname));
gTeam[player1] = 0;
format(string,sizeof(string),"Police Commissioner %s has uninvited %s from the Police Team", copname, playername);
return SendClientMessageToAll(COP_COLOR,string);
}
else return SendClientMessage(playerid, RED, "ERROR: You can't uninvite a player who is not in the Police Team");
}
else return SendClientMessage(playerid, RED, "ERROR: Player not found");
}
else return SendClientMessage(playerid, RED, "ERROR: You have to be on cop duty!");
}
else return SendClientMessage(playerid, RED, "ERROR: You need to be a Police Commissioner to use this command");
}
CMD:setrank(playerid,params[])
{
if((gTeam[playerid] == 8) || (IsPlayerAdmin(playerid)))
{
if((CopDuty[playerid] == 1) || (IsPlayerAdmin(playerid)))
{
new tmp [256];
new tmp2[256];
new Index;
tmp = strtok(params,Index);
tmp2 = strtok(params,Index);
if(!strlen(params))
{
return SendClientMessage(playerid,RED,"Usage: /setrank [Player Id][Rank 1-8]");
}
new player1, rank, playername[MAX_PLAYER_NAME], copname[MAX_PLAYER_NAME], string[128];
player1 = strval(tmp);
if(!strlen(tmp2)) return SendClientMessage(playerid,RED,"Usage: /setrank [Player Id][Rank 1-8]");
rank = strval(tmp2);
if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
{
if((gTeam[player1] <= 8) && (gTeam[player1] > 0))
{
if(rank > 8 || rank < 1)
return SendClientMessage(playerid,RED,"ERROR: Invalid rank [1-8]");
if(rank == gTeam[player1]) return SendClientMessage(playerid,RED,"ERROR: Player is already this rank");
GetPlayerName(player1, playername, sizeof(playername));
GetPlayerName(playerid, copname, sizeof(copname));
gTeam[player1] = rank;
new Rank[64];
if(gTeam[player1] == 1) { Rank = "Police Officer"; }
else if(gTeam[player1] == 2) { Rank = "Investigator"; }
else if(gTeam[player1] == 3) { Rank = "Sergeant"; }
else if(gTeam[player1] == 4) { Rank = "Lieutenant"; }
else if(gTeam[player1] == 5) { Rank = "Major"; }
else if(gTeam[player1] == 6) { Rank = "Captain"; }
else if(gTeam[player1] == 7) { Rank = "Commander"; }
else if(gTeam[player1] == 8) { Rank = "Commissioner"; }
if(rank > 0 && rank < 9)
format(string,sizeof(string),"Police Radio: Commissioner %s has set %s's rank to %i [%s]",copname, playername, rank, Rank);
TeamChat(string);
return PlayerPlaySound(player1,1057,0.0,0.0,0.0);
}
else return SendClientMessage(playerid, RED, "ERROR: This player is not in the Police Team!");
}
else return SendClientMessage(playerid, RED, "ERROR: Player not found!");
}
else return SendClientMessage(playerid, RED, "ERROR: You have to be on cop duty!");
}
else return SendClientMessage(playerid, RED, "ERROR: You need to be a Police Commissioner to use this command");
}
CMD:arrest(playerid,params[])
{
if((gTeam[playerid] <= 8) && (gTeam[playerid] > 0))
{
if(CopDuty[playerid] == 1)
{
if(!strlen(params)) return SendClientMessage(playerid, RED, "Usage: /arrest [Player Id]");
new player1, playername[MAX_PLAYER_NAME], copname[MAX_PLAYER_NAME], string[128];
player1 = strval(params);
if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
{
if(GetPlayerWantedLevel(player1) >= 2)
{
if(!IsPlayerInAnyVehicle(player1))
{
if(GetDistanceBetweenPlayers(playerid, player1) < 10)
{
GetPlayerName(player1, playername, sizeof(playername));
GetPlayerName(playerid, copname, sizeof(copname));
new jtime;
new reward;
reward = GetPlayerWantedLevel(player1);
jtime = GetPlayerWantedLevel(player1);
Info[player1][JailTime] = jtime*1000*60;
Info[player1][Jailed] = 1;
SetTimerEx("Jail1",1000,0,"d",player1);
SetTimerEx("JailPlayer",5000,0,"d",player1);
GivePlayerMoney(playerid, reward*1000);
SetPlayerWantedLevel(player1, 0);
SetPlayerScore(playerid, GetPlayerScore(playerid) +reward*5);
JailTimer[player1] = SetTimerEx("UnjailPlayer",Info[player1][JailTime],0,"d",player1);
format(string,sizeof(string),"Officer %s has arrested %s for %i minutes", copname, playername, jtime);
SendClientMessageToAll(COP_COLOR,string);
Info[playerid][Arrests]++;
new string2[256];
format(string2,sizeof(string2), "Congratulations, Officer %s, you received $%i and %i score for arresting a %i-star wanted criminal!", copname, reward*1000, reward*5, reward);
return SendClientMessage(playerid, RED, string2);
}
else return SendClientMessage(playerid, RED, "ERROR: You need to be close to the player to arrest him.");
}
else return SendClientMessage(playerid, RED, "ERROR: Player is in a vehicle!");
}
else return SendClientMessage(playerid, RED, "ERROR: This player doesn't have 2+ stars, you can't arrest him.");
}
else return SendClientMessage(playerid, RED, "ERROR: Player not found");
}
else return SendClientMessage(playerid, RED, "ERROR: You have to be on cop duty!");
}
else return SendClientMessage(playerid, RED, "ERROR: You have to be a Cop to use this command");
}
CMD:release(playerid,params[])
{
if((gTeam[playerid] <= 8) && (gTeam[playerid] > 0))
{
if((gTeam[playerid] > 3) && (gTeam[playerid] <=8))
{
if(CopDuty[playerid] == 1)
{
if(!strlen(params)) return SendClientMessage(playerid, RED, "Usage: /release [Player Id]");
new player1, playername[MAX_PLAYER_NAME], copname[MAX_PLAYER_NAME], string[128];
player1 = strval(params);
if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
{
if(Info[player1][Jailed] == 1)
{
KillTimer(JailTimer[player1]);
GetPlayerName(player1, playername, sizeof(playername));
GetPlayerName(playerid, copname, sizeof(copname));
Info[player1][Jailed] = 1;
SetTimerEx("UnjailPlayer",1,0,"d",player1);
format(string,sizeof(string),"Officer %s has released %s from jail", copname, playername);
SendClientMessageToAll(COP_COLOR,string);
new string2[256];
format(string2,sizeof(string2), "Officer %s has released you from jail!", copname);
return SendClientMessage(player1, RED, string2);
}
else return SendClientMessage(playerid, RED, "ERROR: This player is not jailed!");
}
else return SendClientMessage(playerid, RED, "ERROR: Player not found!");
}
else return SendClientMessage(playerid, RED, "ERROR: You have to be on cop duty!");
}
else return SendClientMessage(playerid, RED, "ERROR: Only Ranks 4 and higher can use the /release command!");
}
else return SendClientMessage(playerid, RED, "ERROR: You have to be a Cop to use this command!");
}
CMD:ticket(playerid,params[])
{
if((gTeam[playerid] <= 8) && (gTeam[playerid] > 0))
{
if(CopDuty[playerid] == 1)
{
if(!strlen(params)) return SendClientMessage(playerid, RED, "Usage: /ticket [Player Id]");
new player1, playername[MAX_PLAYER_NAME], copname[MAX_PLAYER_NAME], string[128];
player1 = strval(params);
if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
{
if(GetPlayerWantedLevel(player1) == 1)
{
if(GetPlayerMoney(player1) >= 1000)
{
if(!IsPlayerInAnyVehicle(player1))
{
if (GetDistanceBetweenPlayers(playerid, player1) < 10)
{
KillTimer(CountTimer[player1]);
GetPlayerName(player1, playername, sizeof(playername));
GetPlayerName(playerid, copname, sizeof(copname));
format(string,sizeof(string),"Officer %s has given you a ticket.",copname);
ShowPlayerDialog(player1, DIALOG_TICKET, DIALOG_STYLE_MSGBOX, string, "You can choose to pay or NOT to pay the ticket: \n•If you choose to pay (Costs 1000$), your wanted level \nwill decrease to zero. \n•If you choose NOT to pay, your wanted level \nwill increase to 2 stars. \n \n{F00000}Note: {FFFFFF}You have only 10 seconds to choose between these \noptions, otherwise your will sutomatically get an additional star!", "Pay", "Don't pay");
format(string, sizeof(string), "Officer %s has given %s a ticket", copname, playername);
Info[playerid][Tickets]++;
Info[player1][TicketingCop] = playerid;
Count = 10;
CountTimer[player1] = SetTimerEx("CountDown",1000,1,"i",player1);
GameTextForPlayer(player1, "~r~10", 1000, 4);
return SendClientMessageToAll(COP_COLOR, string);
}
else return SendClientMessage(playerid, RED, "ERROR: You need to be close to the player to give him a ticket.");
}
else return SendClientMessage(playerid, RED, "ERROR: Player is in a vehicle!");
}
else return SendClientMessage(playerid, RED, "ERROR: This player does not have $1000!");
}
else return SendClientMessage(playerid, RED, "ERROR: This player does not have 1 star wanted level!");
}
else return SendClientMessage(playerid, RED, "ERROR: Player not found");
}
else return SendClientMessage(playerid, RED, "ERROR: You have to be on cop duty!");
}
else return SendClientMessage(playerid, RED, "ERROR: You have to be a Cop to use this command");
}
CMD:r(playerid,params[])
{
if((gTeam[playerid] <= 8) && (gTeam[playerid] > 0))
{
if(CopDuty[playerid] == 1)
{
new copname[MAX_PLAYER_NAME],formatted[156];
if(!strlen(params)) return SendClientMessage(playerid,RED,"Usage: /r [text]");
GetPlayerName(playerid,copname,sizeof(copname));
new CopRank[64];
if(gTeam[playerid] == 1) { CopRank = "Police Officer"; }
else if(gTeam[playerid] == 2) { CopRank = "Investigator"; }
else if(gTeam[playerid] == 3) { CopRank = "Sergeant"; }
else if(gTeam[playerid] == 4) { CopRank = "Lieutenant"; }
else if(gTeam[playerid] == 5) { CopRank = "Major"; }
else if(gTeam[playerid] == 6) { CopRank = "Captain"; }
else if(gTeam[playerid] == 7) { CopRank = "Commander"; }
else if(gTeam[playerid] == 8) { CopRank = "Commissioner"; }
format(formatted,sizeof(formatted),"Police Radio: %s %s: %s, over.",CopRank,copname,params);
return TeamChat(formatted);
}
else return SendClientMessage(playerid, RED, "ERROR: You have to be on cop duty!");
}
else return SendClientMessage(playerid, RED, "ERROR: You have to be a Cop to use this command!");
}
CMD:copduty(playerid,params[])
{
#pragma unused params
if((gTeam[playerid] <= 8) && (gTeam[playerid] > 0))
{
new cop[MAX_PLAYER_NAME];
new string[256];
if(IsPlayerInRangeOfPoint(playerid, 7.0, 1459.2537,-1760.4387,3285.2859))
{
if(CopDuty[playerid] == 0)
{
CopDuty[playerid] = 1;
new copskin;
if(gTeam[playerid] == 1) { copskin = 280; }
else if (gTeam[playerid] == 2) { copskin = 165; }
else if (gTeam[playerid] == 3) { copskin = 163; }
else if (gTeam[playerid] == 4) { copskin = 164; }
else if (gTeam[playerid] == 5) { copskin = 282; }
else if (gTeam[playerid] == 6) { copskin = 285; }
else if (gTeam[playerid] == 7) { copskin = 286; }
else if (gTeam[playerid] == 8) { copskin = 287; }
SetPlayerSkin(playerid, copskin);
GivePlayerWeapon(playerid, 17, 25);
GivePlayerWeapon(playerid, 3, 1);
GivePlayerWeapon(playerid, 28, 1000);
GivePlayerWeapon(playerid, 31, 1000);
GivePlayerWeapon(playerid, 34, 100);
GivePlayerWeapon(playerid, 41, 1000);
GivePlayerWeapon(playerid, 26, 200);
GivePlayerWeapon(playerid, 23, 100);
GetPlayerName(playerid, cop, sizeof(cop));
format(string, sizeof(string), "Police Radio: Officer %s is now on duty!", cop);
return TeamChat(string);
}
if(CopDuty[playerid] == 1)
{
CopDuty[playerid] = 0;
ResetPlayerWeapons(playerid);
GetPlayerName(playerid, cop, sizeof(cop));
format(string, sizeof(string), "Police Radio: Officer %s is now off duty!", cop);
return TeamChat(string);
}
else return 1;
}
else return SendClientMessage(playerid, RED, "ERROR: You are not at the lockers in the LSPD HQ.");
}
else return SendClientMessage(playerid, RED, "ERROR: You have to be a Cop to use this command");
}
CMD:wlist(playerid,params[])
{
#pragma unused params
if((gTeam[playerid] <= 8) && (gTeam[playerid] > 0))
{
if(CopDuty[playerid] == 1)
{
new count = 0;
new string[128];
SendClientMessage(playerid, 0x00FF00FF, " ");
SendClientMessage(playerid, 0x00FF00FF, "___________{F00000} |- Online Criminals -| {00FF00}___________");
SendClientMessage(playerid, 0x00FF00FF, " ");
for(new i = 0; i < MAX_PLAYERS; i++)
{
if (IsPlayerConnected(i))
{
if (GetPlayerWantedLevel(i) >= 1)
{
new name[MAX_PLAYER_NAME];
GetPlayerName(i,name,sizeof(name));
format(string, 128, "%s [%d] | Wanted Level: %i",name,playerid,GetPlayerWantedLevel(i));
SendClientMessage(playerid, COP_COLOR, string);
count++;
}
}
}
if (count == 0)
SendClientMessage(playerid,RED,"There are currently no criminals online");
return SendClientMessage(playerid, 0x00FF00FF, " _______________________________________");
}
else return SendClientMessage(playerid, RED, "ERROR: You have to be on cop duty!");
}
else return SendClientMessage(playerid, RED, "ERROR: You have to be a Cop to use this command!");
}
CMD:su(playerid, params[])
{
if((gTeam[playerid] <= 8) && (gTeam[playerid] > 0))
{
if((gTeam[playerid] > 2) && ((gTeam[playerid] <= 8) && (gTeam[playerid] > 0)))
{
if(CopDuty[playerid] == 1)
{
new player1;
new gWantedLevel;
new string[128];
new copname[MAX_PLAYER_NAME];
new playername[MAX_PLAYER_NAME];
new tmp [128];
new tmp2 [128];
new Index;
tmp = strtok(params,Index);
tmp2 = strtok(params,Index);
if(!strlen(params)) return SendClientMessage(playerid, RED, "USAGE: /su [Player Id][Reason]");
if(!strlen(tmp2)) return SendClientMessage(playerid, RED, "ERROR: Reason unspecified!");
GetPlayerName(playerid, copname, sizeof(copname));
GetPlayerName(player1, playername, sizeof(playername));
player1 = strval(tmp);
format(string, sizeof(string), "Officer %s has suspected %s. [Reason: %s]", copname, playername, params[2]);
SendClientMessageToAll(COP_COLOR, string);
Info[playerid][Suspected_Players]++;
gWantedLevel = GetPlayerWantedLevel(player1);
return SetPlayerWantedLevel(player1, gWantedLevel + 1);
}
else return SendClientMessage(playerid, RED, "ERROR: You have to be on cop duty!");
}
else return SendClientMessage(playerid, RED, "ERROR: Only Ranks 3 and higher can use the /su command!");
}
else return SendClientMessage(playerid, RED, "ERROR: You have to be a Cop to use this command!");
}
CMD:cops(playerid,params[])
{
#pragma unused params
new count = 0;
new string[128];
SendClientMessage(playerid, 0x00FF00FF, " ");
SendClientMessage(playerid, 0x00FF00FF, "___________{375FFF} |- Online Cops -| {00FF00}___________");
SendClientMessage(playerid, 0x00FF00FF, " ");
for(new i = 0; i < MAX_PLAYERS; i++)
{
if (IsPlayerConnected(i))
{
if((gTeam[i] <= 8) && (gTeam[i] > 0))
{
new name[MAX_PLAYER_NAME];
new CopRank[64];
if(gTeam[i] == 1) { CopRank = "Police Officer"; }
else if(gTeam[i] == 2) { CopRank = "Investigator"; }
else if(gTeam[i] == 3) { CopRank = "Sergeant"; }
else if(gTeam[i] == 4) { CopRank = "Lieutenant"; }
else if(gTeam[i] == 5) { CopRank = "Major"; }
else if(gTeam[i] == 6) { CopRank = "Captain"; }
else if(gTeam[i] == 7) { CopRank = "Commander"; }
else if(gTeam[i] == 8) { CopRank = "Commissioner"; }
GetPlayerName(i,name,sizeof(name));
format(string, 128, "%s %s (%d)",CopRank,name,i);
SendClientMessage(playerid, COP_COLOR, string);
count++;
}
}
}
if (count == 0)
SendClientMessage(playerid,RED,"There are currently no cops online");
return SendClientMessage(playerid, 0x00FF00FF, " _______________________________________");
}
CMD:backup(playerid,params[])
{
#pragma unused params
if((gTeam[playerid] <= 8) && (gTeam[playerid] > 0))
{
if(CopDuty[playerid] == 1)
{
SetPlayerColor(playerid, 0xF00000FF);
new name[MAX_PLAYER_NAME];
new string[256];
GetPlayerName(playerid, name, sizeof(name));
format(string,sizeof(string),"Police Radio: Officer %s [%d] is requesting for backup! (To help Officer %s type /cgoto %d)",name, playerid, name, playerid);
TeamChat(string);
return TeamChat("Police Radio: Marker has been set to red");
}
else return SendClientMessage(playerid, RED, "ERROR: You have to be on cop duty!");
}
else return SendClientMessage(playerid, RED, "ERROR: You have to be a cop to use this command!");
}
CMD:cstats(playerid,params[])
{
new string[128];
new player1;
new name[MAX_PLAYER_NAME];
if(!strlen(params)) player1 = playerid;
else player1 = strval(params);
if(IsPlayerConnected(player1))
{
if((gTeam[player1] <= 8) && (gTeam[player1] > 0))
{
GetPlayerName(player1, name, sizeof(name));
format(string, sizeof(string), "|- %s's Police Statistics -|",name);
SendClientMessage(playerid, 0x00FF00FF, string);
format(string, sizeof(string), "Arrested players: %d | Tickets given: %d | Suspected players: %d", Info[player1][Arrests], Info[player1][Tickets], Info[player1][Suspected_Players]);
return SendClientMessage(playerid, 0x00FF00FF, string);
}
else if(!strlen(params)) return SendClientMessage(playerid, RED, "ERROR: You are not a Cop!");
else return SendClientMessage(playerid, RED, "ERROR: This player is not a Cop!");
}
else return SendClientMessage(playerid, RED, "ERROR: Player not found!");
}
CMD:cophelp(playerid,params[])
{
#pragma unused params
new string[1500] = "{FFFFFF}LSPD HQ - The place where you turn Cop Duty on or off \n{FFFFFF} - {F00000}/copduty{FFFFFF} - Turn Cop Duty on or off \n{F00000}/wlist{FFFFFF} - See the full list of wanted players online \n{F00000}/arrest [ID]{FFFFFF} - Arrest a player if he has more than 2 stars wanted level \n{F00000}/ticket [ID]{FFFFFF} - Give a ticket to a player is he has 1 star wanted level";
strcat(string," \n{F00000}/su [ID][Reason]{FFFFFF} - Give an additional star wanted level to a player [Reason required](Only for Rank 3 or higher) \n{F00000}/eject [ID]{FFFFFF} - Eject a wanted player from his vehicle \n{F00000}/r [Text]{FFFFFF} - Police Chat \n {F00000}/backup{FFFFFF} - Request backup to other Cops \n{00FF00}/cstats [Cop ID]{FFFFFF} - See the archievements of a specific Cop");
strcat(string," \n{00FF00}/cops{FFFFFF} - See the full list of Cops online \n{00FF00}/cophelp{FFFFFF} - Opens this dialog \n - /invite [ID]{FFFFFF} - Invite a player into the Police Team (Only for Rank 8 [Police Commissioner]) \n{F00000}/uninvite [ID]{FFFFFF} - Uninvites a Cop from the Police Team (Only for Rank 8 [Police Commissioner]) \n{F00000}/setrank [ID][Rank]{FFFFFF} - Set a Cop's Rank (Only for Rank 8 [Police Commissioner])");
ShowPlayerDialog(playerid,5,0, "{0080C0}Available Cop Commands",string,"Close","");
return 1;
}
public OnPlayerSpawn(playerid)
{
if(Info[playerid][Jailed] == 1)
{
SetTimerEx("JailPlayer",1000,0,"d",playerid);
new name[MAX_PLAYER_NAME];
new string[256];
GetPlayerName(playerid, name, sizeof(name));
format(string, sizeof(string), "%s has automatically been jailed (Trying to escape punishment)", name);
SendClientMessageToAll(0xFF8000FF, string);
}
if((gTeam[playerid] <= 8) && (gTeam[playerid] > 0))
{
if(CopDuty[playerid] == 1)
{
new copskin;
if(gTeam[playerid] == 1) { copskin = 280; }
else if (gTeam[playerid] == 2) { copskin = 165; }
else if (gTeam[playerid] == 3) { copskin = 163; }
else if (gTeam[playerid] == 4) { copskin = 164; }
else if (gTeam[playerid] == 5) { copskin = 282; }
else if (gTeam[playerid] == 6) { copskin = 285; }
else if (gTeam[playerid] == 7) { copskin = 286; }
else if (gTeam[playerid] == 8) { copskin = 287; }
SetPlayerSkin(playerid, copskin);
GivePlayerWeapon(playerid, 17, 25);
GivePlayerWeapon(playerid, 3, 1);
GivePlayerWeapon(playerid, 28, 1000);
GivePlayerWeapon(playerid, 31, 1000);
GivePlayerWeapon(playerid, 34, 100);
GivePlayerWeapon(playerid, 41, 1000);
GivePlayerWeapon(playerid, 26, 200);
GivePlayerWeapon(playerid, 23, 100);
}
}
return 1;
}
public Jail1(player1)
{
TogglePlayerControllable(player1,false);
new Float:x, Float:y, Float:z;
GetPlayerPos(player1,x,y,z);
SetPlayerCameraPos(player1,x+10,y,z+10);
SetPlayerCameraLookAt(player1,x,y,z);
SetTimerEx("Jail2",1000,0,"d",player1);
}
public Jail2(player1)
{
new Float:x, Float:y, Float:z;
GetPlayerPos(player1,x,y,z);
SetPlayerCameraPos(player1,x+7,y,z+5);
SetPlayerCameraLookAt(player1,x,y,z);
if(GetPlayerState(player1) == PLAYER_STATE_ONFOOT) SetPlayerSpecialAction(player1,SPECIAL_ACTION_HANDSUP);
GameTextForPlayer(player1,"~r~Busted By Police",3000,3);
SetTimerEx("Jail3",1000,0,"d",player1);
}
public Jail3(player1)
{
new Float:x, Float:y, Float:z;
GetPlayerPos(player1,x,y,z);
SetPlayerCameraPos(player1,x+3,y,z);
SetPlayerCameraLookAt(player1,x,y,z);
}
public JailPlayer(player1)
{
TogglePlayerControllable(player1,true);
SetPlayerPos(player1,197.6661,173.8179,1003.0234);
SetPlayerInterior(player1,3);
SetCameraBehindPlayer(player1);
Info[player1][Jailed] = 1;
}
public UnjailPlayer(player1)
{
KillTimer(JailTimer[player1]);
Info[player1][JailTime] = 0;
Info[player1][Jailed] = 0;
SetPlayerInterior(player1,0);
SpawnPlayer(player1);
PlayerPlaySound(player1,1057,0.0,0.0,0.0);
GameTextForPlayer(player1,"~g~Released ~n~From Jail",3000,3);
}
public TeamChat(string[])
{
foreach(Player,i)
{
if((gTeam[i] <= 8) && (gTeam[i] > 0))
{
SendClientMessage(i,COP_COLOR,string);
}
}
return 1;
}
stock GetDistanceBetweenPlayers(playerid, playerid2)
{
new Float:x1, Float:y1, Float:z1, Float:x2, Float:y2, Float:z2;
new Float:tmpdis;
GetPlayerPos(playerid, x1, y1, z1);
GetPlayerPos(playerid2, x2, y2, z2);
tmpdis = floatsqroot(floatpower(floatabs(floatsub(x2, x1)), 2) + floatpower(floatabs(floatsub(y2, y1)), 2) + floatpower(floatabs(floatsub(z2, z1)), 2));
return floatround(tmpdis);
}
public Tazed(playerid)
{
pTazed[playerid] = 0;
TogglePlayerControllable(playerid, true);
ClearAnimations(playerid);
return 1;
}
public CountDown(playerid)
{
Count--;
if(Count == 0)
{
ShowPlayerDialog(playerid,-1,0, " ", " ", " ", " ");
GameTextForPlayer(playerid, "~g~You took too long to pay the ticket...",3000,3);
SetPlayerWantedLevel(playerid, 2);
new name[MAX_PLAYER_NAME];
new string[256];
GetPlayerName(playerid, name, sizeof(name));
format(string, sizeof(string), "%s took too long to pay the ticket", name);
SendClientMessageToAll(COP_COLOR, string);
return KillTimer(CountTimer[playerid]);
}
if(Count < 0) return KillTimer(CountTimer[playerid]);
new string[128];
format(string,sizeof(string),"~r~%i",Count);
GameTextForPlayer(playerid,string,1000,4);
return 1;
}
//ZCMD Command processing(Fast Commands)
CMD:locker(playerid, params[])
{
if(IsPlayerInRangeOfPoint(playerid, 3.0, 1459.2537,-1760.4387,3285.2859))
{
ShowPlayerDialog(playerid, DIALOG_EQUIPMENT, DIALOG_STYLE_LIST, "LSPD Locker", "Pistols \nHeavy weapons \nMelee weapons \nEquipment Suits(Skins) \nDonuts \nGo on duty", "Select", "Exit");
}
return 1;
}
//END OF ZCMD
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == DIALOG_EQUIPMENT)
{
if(response)
{
if(listitem == 0)
{
ShowPlayerDialog(playerid, DIALOG_PISTOLS, DIALOG_STYLE_LIST, "Equipment - Pistols", "Colt. 45 \nColt. 45 w/Silencer \nDesert Eagle \nBack", "Select", "Exit");
}
if(listitem == 1)
{
ShowPlayerDialog(playerid, DIALOG_HEAVYWEPS, DIALOG_STYLE_LIST, "Equipment - Heavy weapons", "M4 Carbine \nShotgun \nRifle \nSniper \nMP5 \nBack", "Select", "Exit");
}
if(listitem == 2)
{
ShowPlayerDialog(playerid, DIALOG_MELEE, DIALOG_STYLE_LIST, "Equipment - Melee", "Nitestick \nPepper-Spray \nTear Gas \nBack", "Select", "Exit");
}
if(listitem == 3)
{
ShowPlayerDialog(playerid, DIALOG_CLOTHING, DIALOG_STYLE_LIST, "Equipment - Clothing", "Cadet \nPolice Uniform \nSWAT Uniform \nBack", "Select", "Exit");
}
if(listitem == 4)
{
SetPlayerHealth(playerid, 100);
SendClientMessage(playerid, COLOR_WHITE, "[DONUTS]:{AD9797} You have eaten some donuts, and your feeling quite bloated.");
ShowPlayerDialog(playerid, DIALOG_EQUIPMENT, DIALOG_STYLE_LIST, "LSPD Locker", "Pistols \nHeavy weapons \nMelee weapons \nDonuts \nGo on duty", "Select", "Exit");
}
if(listitem == 5)
{
SetPlayerColor(playerid, COLOR_BLUE);
new string[256], pName[MAX_PLAYER_NAME];
GetPlayerName(playerid,pName,MAX_PLAYER_NAME);
format(string,sizeof string,"Police Officer: {FFFFFF}%s is now on duty.",pName);
SendClientMessageToAll(COLOR_BLUE,string);
GetPlayerName(playerid, pName,MAX_PLAYER_NAME);
}
}
return 1;
}
if(dialogid == DIALOG_PISTOLS)
{
if(response)
{
if(listitem == 0)
{
GivePlayerWeapon(playerid, 22, 250);
ShowPlayerDialog(playerid, DIALOG_PISTOLS, DIALOG_STYLE_LIST, "Equipment - Pistols", "Colt. 45 \nColt. 45 w/Silencer \nDesert Eagle \nBack", "Select", "Exit");
}
if(listitem == 1)
{
GivePlayerWeapon(playerid, 23, 250);
ShowPlayerDialog(playerid, DIALOG_PISTOLS, DIALOG_STYLE_LIST, "Equipment - Pistols", "Colt. 45 \nColt. 45 w/Silencer \nDesert Eagle \nBack", "Select", "Exit");
}
if(listitem == 2)
{
GivePlayerWeapon(playerid, 24, 250);
ShowPlayerDialog(playerid, DIALOG_PISTOLS, DIALOG_STYLE_LIST, "Equipment - Pistols", "Colt. 45 \nColt. 45 w/Silencer \nDesert Eagle \nBack", "Select", "Exit");
}
if(listitem == 3)
{
ShowPlayerDialog(playerid, DIALOG_EQUIPMENT, DIALOG_STYLE_LIST, "LSPD Locker", "Pistols \nHeavy weapons \nMelee weapons \nEquipment Suits(Skins) \nDonuts \nGo on duty", "Select", "Exit");
}
}
return 1;
}
if(dialogid == DIALOG_HEAVYWEPS)
{
if(response)
{
if(listitem == 0)
{
GivePlayerWeapon(playerid, 31, 400);
ShowPlayerDialog(playerid, DIALOG_HEAVYWEPS, DIALOG_STYLE_LIST, "Equipment - Heavy weapons", "M4 Carbine \nShotgun \nRifle \nSniper \nMP5 \nBack", "Select", "Exit");
}
if(listitem == 1)
{
GivePlayerWeapon(playerid, 25, 200);
ShowPlayerDialog(playerid, DIALOG_HEAVYWEPS, DIALOG_STYLE_LIST, "Equipment - Heavy weapons", "M4 Carbine \nShotgun \nRifle \nSniper \nMP5 \nBack", "Select", "Exit");
}
if(listitem == 2)
{
GivePlayerWeapon(playerid, 33, 100);
ShowPlayerDialog(playerid, DIALOG_HEAVYWEPS, DIALOG_STYLE_LIST, "Equipment - Heavy weapons", "M4 Carbine \nShotgun \nRifle \nSniper \nMP5 \nBack", "Select", "Exit");
}
if(listitem == 3)
{
GivePlayerWeapon(playerid, 34, 50);
ShowPlayerDialog(playerid, DIALOG_HEAVYWEPS, DIALOG_STYLE_LIST, "Equipment - Heavy weapons", "M4 Carbine \nShotgun \nRifle \nSniper \nMP5 \nBack", "Select", "Exit");
}
if(listitem == 4)
{
GivePlayerWeapon(playerid, 29, 500);
ShowPlayerDialog(playerid, DIALOG_HEAVYWEPS, DIALOG_STYLE_LIST, "Equipment - Heavy weapons", "M4 Carbine \nShotgun \nRifle \nSniper \nMP5 \nBack", "Select", "Exit");
}
if(listitem == 5)
{
ShowPlayerDialog(playerid, DIALOG_EQUIPMENT, DIALOG_STYLE_LIST, "LSPD Locker", "Pistols \nHeavy weapons \nMelee weapons \nEquipment Suits(Skins) \nDonuts \nGo on duty", "Select", "Exit");
}
}
return 1;
}
if(dialogid == DIALOG_MELEE)
{
if(response)
{
if(listitem == 0)
{
GivePlayerWeapon(playerid, 3, 1);
ShowPlayerDialog(playerid, DIALOG_MELEE, DIALOG_STYLE_LIST, "Equipment - Melee", "Nitestick \nPepper-Spray \nTear Gas \nBack", "Select", "Exit");
}
if(listitem == 1)
{
GivePlayerWeapon(playerid, 41, 9999);
ShowPlayerDialog(playerid, DIALOG_MELEE, DIALOG_STYLE_LIST, "Equipment - Melee", "Nitestick \nPepper-Spray \nTear Gas \nBack", "Select", "Exit");
}
if(listitem == 2)
{
GivePlayerWeapon(playerid, 17, 5);
ShowPlayerDialog(playerid, DIALOG_MELEE, DIALOG_STYLE_LIST, "Equipment - Melee", "Nitestick \nPepper-Spray \nTear Gas \nBack", "Select", "Exit");
}
if(listitem == 3)
{
ShowPlayerDialog(playerid, DIALOG_EQUIPMENT, DIALOG_STYLE_LIST, "LSPD Locker", "Pistols \nHeavy weapons \nMelee weapons \nEquipment Suits(Skins) \nDonuts \nGo on duty", "Select", "Exit");
}
}
return 1;
}
if(dialogid == DIALOG_CLOTHING)
{
if(response)
{
if(listitem == 0)
{
SetPlayerSkin(playerid, 71);
ShowPlayerDialog(playerid, DIALOG_CLOTHING, DIALOG_STYLE_LIST, "Equipment - Clothing", "Cadet \nPolice Uniform \nSWAT Uniform \nBack", "Select", "Exit");
}
if(listitem == 1)
{
SetPlayerSkin(playerid, 280);
ShowPlayerDialog(playerid, DIALOG_CLOTHING, DIALOG_STYLE_LIST, "Equipment - Clothing", "Cadet \nPolice Uniform \nSWAT Uniform \nBack", "Select", "Exit");
}
if(listitem == 2)
{
SetPlayerSkin(playerid, 287);
ShowPlayerDialog(playerid, DIALOG_CLOTHING, DIALOG_STYLE_LIST, "Equipment - Clothing", "Cadet \nPolice Uniform \nSWAT Uniform \nBack", "Select", "Exit");
}
if(listitem == 3)
{
ShowPlayerDialog(playerid, DIALOG_EQUIPMENT, DIALOG_STYLE_LIST, "LSPD Locker", "Pistols \nHeavy weapons \nMelee weapons \nEquipment Suits(Skins) \nDonuts \nGo on duty", "Select", "Exit");
}
}
return 1;
}
if(dialogid == DIALOG_TICKET)
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
new string[256];
if(response)
{
KillTimer(CountTimer[playerid]);
SetPlayerWantedLevel(playerid, 0);
GivePlayerMoney(playerid, -1000);
format(string, sizeof(string), "%s has paid the ticket.", name);
SendClientMessageToAll(COP_COLOR, string);
SetPlayerScore(Info[playerid][TicketingCop], GetPlayerScore(Info[playerid][TicketingCop]) + 5);
GivePlayerMoney(Info[playerid][TicketingCop], 1000);
new copname[MAX_PLAYER_NAME];
GetPlayerName(Info[playerid][TicketingCop], copname, sizeof(copname));
format(string, sizeof(string), "Congratulations, Officer %s, you received $1000 and 5 score for a paid ticket!", copname);
SendClientMessage(Info[playerid][TicketingCop], RED, string);
return KillTimer(CountTimer[playerid]);
}
if(!response)
{
KillTimer(CountTimer[playerid]);
SetPlayerWantedLevel(playerid, 2);
format(string, sizeof(string), "%s did NOT pay the ticket.", name);
SendClientMessageToAll(COP_COLOR, string);
return KillTimer(CountTimer[playerid]);
}
return 1;
}
return 0;
}