rendered paste body#include <a_samp>
#include <float>
#include <dini>
#include <dutils>
#define RemoveText;
#define SLOTS 32
#define TEAM_COPS 1
#define TEAM_MEDICS 2
#define TEAM_CIVI 3
#define TEAM_COPS_COLOR 0x0000FFAA
#define TEAM_MEDICS_COLOR 0x00BFFFAA
#define COLOR_WHITE 0xFFFFFFAA
#define COLOR_RED 0xFF0000AA
#define COLOR_CITATION 0xFFFF00AA
#define COLOR_CITATION2 0xFFD700AA
#define COLOR_FELONY 0xFFA500AA
#define COLOR_FELONY2 0xFF7D00AA
#define COLOR_MOSTWANTED 0xFF6400AA
#define COLOR_MOSTWANTED2 0xFF3C00AA
//checks
#define AZTECA_AMMO_CHECK 1
#define BALLA_AMMO_CHECK 2
#define GROVE_AMMO_CHECK 3
#define VAGO_AMMO_CHECK 4
#define COP_REFILL 5
#define COP_ELEVATOR_IN 6
#define COP_ELEVATOR_OUT 7
#define DONUT_SHOP 8
#define DONUT_SHOP_OUT 9
#define COP_IN 10
#define COP_OUT 11
//crimes
#define CRIME_MURDER 1
#define CRIME_COPMURDER 2
#define CRIME_GTA 3
#define CRIME_POLICEGTA 4
#define CRIME_UNPAIDTICKET 5
#define CRIME_RAPE 6
#define CRIME_RAPEATTEMPT 7
forward NotPaid(playerid);
forward Button(playerid);
forward Jail(player);
forward JailTime(player);
forward CarTheft(Float:distance, passenger, playerid);
forward GetClosestPlayerInTeam(playerid, team);
forward GetClosestFelon(playerid);
forward GetClosestTicket(playerid);
forward GetClosestPlayer(playerid);
forward Times();
forward HUD();
forward RemoveText();
forward GetPlayerDistanceToPointEx(playerid,Float:x1,Float:y1,Float:z1);
forward GetDistanceBetweenPlayers(playerid, playerid2);
forward SetPlayerTeamFromClass(playerid,classid);
forward SetPlayerToTeamColor(playerid);
forward CreateCheckpoints(playerid);
forward PosFixer();
forward SendCrimeMessage(playerid, crime, wanted,copsees,oldwants);
forward LogKick(playerid);
//new cmd[256];
new rapepercent[SLOTS];
new rapes[SLOTS];
new rapeskill[SLOTS];
new Float:veh[SLOTS];
new Float:veh2[SLOTS];
new mainFile[256]="main.ini";
new vid[SLOTS]=-1;
new vehicle[SLOTS];
new iscopcar[SLOTS];
new dString[SLOTS][256];
new allcars;
new Mycar[SLOTS]=-1;
new carprice[SLOTS]=0;
new InDealer[SLOTS]=0;
//new logkick[SLOTS];
new file[256][SLOTS];
new gTicket[SLOTS]=0;
new ticket[SLOTS];
new ticketPrice[SLOTS]=0;
new Jminutes[SLOTS];
new Jseconds[SLOTS];
new jailt[SLOTS][256];
new runmessage[SLOTS];
new incheck[SLOTS]=0;
new button[SLOTS];
new keys[SLOTS];
new updown[SLOTS];
new leftright[SLOTS];
new checkmaker[SLOTS];
new gInJail[SLOTS]=0;
new JailTimer[SLOTS];
new jailtime[SLOTS];
new bailmoney[SLOTS];
new tries[SLOTS]=0;
new carString[SLOTS][256];
new cartime[SLOTS]=0;
new copsee;
new oldwant;
new Text:Speed[SLOTS];
new Text:Model[SLOTS];
new Steal[SLOTS];
new Float:dis=10000000.0;
new Float:dis2[SLOTS]=1000000.0;
new speedString[SLOTS][256];
new Float:speed[SLOTS];
new speed2[SLOTS];
new Float:x;
new Float:y;
new Float:z;
new Float:x2;
new Float:y2;
new Float:z2;
new Float:sx[SLOTS];
new Float:sy[SLOTS];
new Float:sz[SLOTS];
new Float:sx2[SLOTS];
new Float:sy2[SLOTS];
new Float:sz2[SLOTS];
new gTeam[SLOTS];
new gCheckID[100];
new gOffences[SLOTS];
new gWantedLvl[SLOTS];
new playeridhold;
new times[100];
new hours=0;
new minutes=0;
new days=0;
new carstolen[SLOTS][700];
main()
{
print("\n----------------------------------");
print(" IonSight's RPG ");
print("----------------------------------\n");
}
public OnGameModeInit()
{
for(new i=0;i<SLOTS;i++)
{
format(speedString[i],256," ");
Speed[i]=TextDrawCreate(54,320,speedString[i]);
}
for(new i=0;i<SLOTS;i++)
{
format(carString[i],256," ");
Model[i] = TextDrawCreate(188.000000,329.000000,carString[i]);
}
if(!dini_Exists(mainFile))
{
dini_Create(mainFile);
}
SetTimer("PosFixer", 500, 1);
SetTimer("HUD",1000,1);
SetGameModeText("Ionsight's RPG");
EnableZoneNames(1);
SetDeathDropAmount(0);
EnableTirePopping(1);
AllowInteriorWeapons(1);
SetTimer("Time", 1000, 1);
SetWorldTime(0);
EnableStuntBonusForAll(0);
CreateObject(969,250.55,87.8988,1004.5,0,180,90); //
CreateObject(1800,216.448,106.422,998,0,0,0);
CreateObject(1800,220.37,106.422,998,0,0,0);
CreateObject(1800,224.362,106.422,998,0,0,0);
CreateObject(1800,228.503,106.422,998,0,0,0);
//AztecaAmmo = CreateMenu("Azteca's Ammodump",1,125,150,300);
//if(IsValidMenu(AztecaAmmo))
//{
// SetMenuColumnHeader(AztecaAmmo, 0, "Choose your weapons:");
// AddMenuItem(AztecaAmmo,0,"Brass Knuckles $25");
// AddMenuItem(AztecaAmmo,0,"Armor $100");
// AddMenuItem(AztecaAmmo,0,"Pistol & 100 ammo $250");
// AddMenuItem(AztecaAmmo,0,"Shotgun & 25 ammo $750");
// AddMenuItem(AztecaAmmo,0,"MP5 & 100 ammo $1500");
// AddMenuItem(AztecaAmmo,0,"AK47 & 100 ammo $3000");
//}
AddPlayerClass(280,1568.6047,-1692.4189,5.8906,183.4414,24,100,3,0,17,5); //LS Cop
AddPlayerClass(281,1568.6047,-1692.4189,5.8906,183.4414,24,100,3,0,17,5); //LS Cop
AddPlayerClass(285,1568.6047,-1692.4189,5.8906,183.4414,24,100,3,0,17,5); //SWAT
AddPlayerClass(284,1568.6047,-1692.4189,5.8906,183.4414,24,100,3,0,17,5); //LS Cop Biker
AddPlayerClass(265,1568.6047,-1692.4189,5.8906,183.4414,24,100,3,0,17,5); //LS Cop
AddPlayerClass(266,1568.6047,-1692.4189,5.8906,183.4414,24,100,3,0,17,5); //LS Cop
AddPlayerClass(267,1568.6047,-1692.4189,5.8906,183.4414,24,100,3,0,17,5); //Cop
AddPlayerClass(274,1177.6721,-1323.8323,14.0822,266.2569,0,0,0,0,0,0); //medic
AddPlayerClass(275,1177.6721,-1323.8323,14.0822,266.2569,0,0,0,0,0,0); //medic
AddPlayerClass(276,1177.6721,-1323.8323,14.0822,266.2569,0,0,0,0,0,0); //medic
AddPlayerClass(108,2407.8804,-1236.9927,23.8125,271.2595,22,100,5,0,0,0); //vago
AddPlayerClass(109,2407.8804,-1236.9927,23.8125,271.2595,22,100,5,0,0,0); //vago
AddPlayerClass(110,2407.8804,-1236.9927,23.8125,271.2595,22,100,5,0,0,0); //vago
AddPlayerClass(13,2262.1421,-1433.4905,24.0059,86.1692,22,100,5,0,0,0); //girl balla
AddPlayerClass(102,2262.1421,-1433.4905,24.0059,86.1692,22,100,5,0,0,0); //balla
AddPlayerClass(103,2262.1421,-1433.4905,24.0059,86.1692,22,100,5,0,0,0); //balla
AddPlayerClass(104,2262.1421,-1433.4905,24.0059,86.1692,22,100,5,0,0,0); //balla
AddPlayerClass(105,2528.7686,-1667.9193,15.1691,87.9800,22,100,5,0,0,0); //fat grove
AddPlayerClass(106,2528.7686,-1667.9193,15.1691,87.9800,22,100,5,0,0,0); //reggae grove
AddPlayerClass(107,2528.7686,-1667.9193,15.1691,87.9800,22,100,5,0,0,0); //back hat grove
AddPlayerClass(114,2648.1958,-2021.8619,13.5469,87.7845,22,100,5,0,0,0); //azteca
AddPlayerClass(115,2648.1958,-2021.8619,13.5469,87.7845,22,100,5,0,0,0); //azteca
AddPlayerClass(116,2648.1958,-2021.8619,13.5469,87.7845,22,100,5,0,0,0); //azteca
//-------------------------------------------CARS----------------------------------------------------------------
//----DEFINED COPS----
#define COPCARS 1
AddStaticVehicle(402,-1588.1534,749.6463,-5.4107,180.5510,0,98); // copbuff/////0
AddStaticVehicle(402,-1600.2672,749.6106,-5.4105,178.6340,0,98); // copbuff/////1
//----OTTO'S AUTOS----
//>copcars-----<=copcars+Ottos
#define OTTO_MIN 3
#define OTTO_MAX 10
AddStaticVehicle(402,-1659.8291,1213.6202,7.0818,260.5321,90,90); // carbuyotto2
AddStaticVehicle(426,-1664.9991,1223.0820,13.4200,226.0958,10,10); // carbuyotto3
AddStaticVehicle(526,-1672.2520,1206.5330,13.4385,252.9960,9,39); // carbuyotto4
AddStaticVehicle(439,-1650.6082,1208.9882,13.5675,39.8292,54,38); // carbuyotto5
AddStaticVehicle(411,-1658.0291,1218.9202,20.8797,0.8528,106,1); // carbuyotto6
AddStaticVehicle(451,-1652.7635,1213.4899,20.8811,1.1137,125,125); // carbuyotto7
AddStaticVehicle(506,-1646.7861,1208.1476,20.8718,1.0742,6,6); // carbuyotto8
AddStaticVehicle(541,-1680.1019,1209.5219,20.7932,222.2017,60,1); // carbuyotto9
//----CARS-----------
AddStaticVehicle(597,-1594.0238,673.1096,6.9553,178.4954,0,1); // car
AddStaticVehicle(597,-1606.0551,673.6105,6.9552,179.6933,0,1); // car
AddStaticVehicle(523,-1573.6586,710.1554,-5.6715,88.0379,0,0); // car
AddStaticVehicle(523,-1574.1665,714.0151,-5.6717,90.7529,0,0); // car
AddStaticVehicle(597,-1573.9790,726.6632,-5.4717,91.3102,0,1); // car
AddStaticVehicle(597,-1608.1024,692.6517,-5.4730,178.9964,0,1); // car
AddStaticVehicle(597,-1624.7626,692.9742,-5.4747,0.3503,0,1); // car
AddStaticVehicle(427,-1638.6404,661.7963,-5.1101,270.0811,0,1); // car
allcars=18;//allcars should be equal to last car line to 1 before first car line!!!!
dini_IntSet(mainFile,"vids",allcars);
return 1;
}
public OnPlayerConnect(playerid)
{
new pname[256];
GetPlayerName(playerid,pname,256);
format(file[playerid],256,"/xadmin/Users/%s.ini",pname);
if(dini_Exists(file[playerid]))
{
new reg=dini_Int(file[playerid],"Registered");
new log=dini_Int(file[playerid],"LoggedIn");
if(reg==1&&log==1)
{
new playermoney=dini_Int(file[playerid],"Cash");
new model=dini_Int(file[playerid],"Car");
new Float:cx,Float:cy,Float:cz,Float:ca;
new c=dini_Int(file[playerid],"HasCar");
rapeskill[playerid]=dini_Int(file[playerid],"RapeSkill");
rapes[playerid]=dini_Int(file[playerid],"Rapes");
rapepercent[playerid]=dini_Int(file[playerid],"RapeChance");
if(c==1)
{
cx=dini_Float(file[playerid],"CarX");
cy=dini_Float(file[playerid],"CarY");
cz=dini_Float(file[playerid],"CarZ");
ca=dini_Float(file[playerid],"CarA");
CreateVehicle(model,0,0,10000,0,-1,-1,600);
Mycar[playerid]=dini_Int(mainFile,"vids")+1;
allcars=dini_Int(mainFile,"vids")+1;
dini_IntSet(mainFile,"vids",allcars);
SetVehiclePos(Mycar[playerid],Float:cx,Float:cy,Float:cz);
SetVehicleZAngle(Mycar[playerid],Float:ca);
}
GivePlayerMoney(playerid,playermoney);
}
checkmaker[playerid]=SetTimerEx("CreateCheckpoints", 500, 1,"d",playerid);
}
return 1;
}
public LogKick(playerid)
{
new reg=dini_Int(file[playerid],"Registered");
new log=dini_Int(file[playerid],"LoggedIn");
if(reg!=1||log!=1)
{
SendClientMessage(playerid,COLOR_RED,"You did not register/login within 30 sec.");
Kick(playerid);
}
}
public Times()
{
if(minutes==59)
{
minutes=0;
new isweather=random(10);
if(isweather==7)
{
new weather=random(6);
switch(weather)
{
case 0: SetWeather(15);
case 1: SetWeather(7);
case 2: SetWeather(16);
case 3: SetWeather(9);
case 4: SetWeather(17);
case 5: SetWeather(43);
}
}
if(hours<23)
{
hours++;
SetWorldTime(hours);
return 1;
}
if(hours==23)
{
hours=0;
SetWorldTime(hours);
if(days<6)
{
days++;
return 1;
}
if(days==6)
{
days=0;
return 1;
}
return 1;
}
return 1;
}
if(minutes<59)
{
minutes++;
}
return 1;
}
public HUD()
{
new vd;
new Float:dif;
new Float:h;
for(new i=0;i<SLOTS;i++)
{
if(IsPlayerConnected(i)==1&&IsPlayerInAnyVehicle(i)==1)
{
cartime[i]++;
if(cartime[i]==1)
{
GetPlayerPos(i, Float:sx[i], Float:sy[i],Float:sz[i]);
}
cartime[i]=2;
GetPlayerPos(i, Float:sx2[i], Float:sy2[i],Float:sz2[i]);
//vehilce health to player
vd=GetPlayerVehicleID(i);
GetVehicleHealth(vd,veh2[i]);
veh2[i]=floatround(veh2[i]);
dif=veh[i]-veh2[i];
veh[i]=veh2[i];
GetPlayerHealth(i,h);
SetPlayerHealth(i,h-(0.05*dif));
if(h<=0)
{
new str[256],pname[256];
GetPlayerName(i,pname,256);
format(str,256,"Player %s has died in a car accident.",pname);
SendClientMessageToAll(COLOR_RED,str);
}
dis2[i]=GetPlayerDistanceToPointEx(i,Float:sx[i],Float:sy[i],Float:sz[i]);
sx[i]=sx2[i];
sy[i]=sy2[i];
sz[i]=sz2[i];
dis2[i]=dis2[i]*3.5;
speed[i]=((dis2[i]*60)*60)/5280;
speed2[i]=floatround(speed[i]);
switch(speed2[i])
{
case 0..9:format(speedString[i],256,"MPH: %d",speed2[i]);
case 10..99:format(speedString[i],256,"MPH: %d",speed2[i]);
case 100..999:format(speedString[i],256,"MPH:%d",speed2[i]);
}
TextDrawHideForPlayer(i,Speed[i]);
TextDrawLetterSize(Speed[i],0.5,1.8);
TextDrawFont(Speed[i],3);
TextDrawSetOutline(Speed[i],1);
TextDrawSetString(Speed[i],speedString[i]);
TextDrawShowForPlayer(i,Speed[i]);
}
else
{
format(speedString[i],256," ");
cartime[i]=0;
TextDrawSetString(Speed[i],speedString[i]);
}
}
}
public SetPlayerTeamFromClass(playerid, classid)
{
if (classid >= 0 && classid <= 6)
{
gTeam[playerid] = TEAM_COPS;
}
if (classid >= 7 && classid <= 9)
{
gTeam[playerid] = TEAM_MEDICS;
}
if (classid >9)
{
gTeam[playerid] = TEAM_CIVI;
}
}
public SetPlayerToTeamColor(playerid)
{
if (gTeam[playerid] == TEAM_COPS)
{
SetPlayerColor(playerid, TEAM_COPS_COLOR);
}
if (gTeam[playerid] == TEAM_MEDICS)
{
SetPlayerColor(playerid, TEAM_MEDICS_COLOR);
}
if (gTeam[playerid] == TEAM_CIVI)
{
SetPlayerColor(playerid, COLOR_WHITE);
}
}
public OnGameModeExit()
{
return 1;
}
public OnPlayerRequestClass(playerid, classid)
{
SetPlayerTeamFromClass(playerid, classid);
SetPlayerInterior(playerid,4);
SetPlayerPos(playerid,305.52,303.48,1003.31);
SetPlayerFacingAngle(playerid, 0);
SetPlayerCameraPos(playerid, 305.52,307,1005);
SetPlayerCameraLookAt(playerid,305.52,303.48,1003.31);
return 1;
}
public OnPlayerRequestSpawn(playerid)
{
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
TextDrawDestroy(Speed[playerid]);
new playermoney=GetPlayerMoney(playerid);
dini_IntSet(file[playerid],"Cash",playermoney);
dini_IntSet(file[playerid],"Rapes",rapes[playerid]);
dini_IntSet(file[playerid],"RapeSkill",rapeskill[playerid]);
dini_IntSet(file[playerid],"RapeChance",rapepercent[playerid]);
DestroyVehicle(Mycar[playerid]);
return 1;
}
public OnPlayerSpawn(playerid)
{
times[gTeam[playerid]]++;
SetPlayerToTeamColor(playerid);
if (gTeam[playerid] == TEAM_COPS)
{
SetPlayerInterior(playerid, 0);
SetPlayerPos(playerid, -1590.6881,716.0540,-5.2422);
SetPlayerFacingAngle(playerid, 270.0);
}
if (gTeam[playerid] == TEAM_CIVI)
{
new spawn=random(5);
SetPlayerInterior(playerid, 0);
switch(spawn)
{
case 0:{
SetPlayerFacingAngle(playerid, 140);
SetPlayerPos(playerid,-2237.7229,2353.4600,4.9804);//
}
case 1:{
SetPlayerFacingAngle(playerid, 90);
SetPlayerPos(playerid,-688.2928,946.6500,13.0313);//
}
case 2:{
SetPlayerFacingAngle(playerid, 145);
SetPlayerPos(playerid,-2193.9585,-2256.4207,30.6849);//
}
case 3:{
SetPlayerFacingAngle(playerid, 300);
SetPlayerPos(playerid,-1950.3918,2394.3601,49.5000);//
}
case 4:{
SetPlayerFacingAngle(playerid, 125);
SetPlayerPos(playerid,-2391.2085,-589.4955,132.7234);//
}
}
}
if (gTeam[playerid] == TEAM_MEDICS)
{
SetPlayerInterior(playerid, 0);
SetPlayerPos(playerid, -2654.5867,636.8077,14.4531);
SetPlayerFacingAngle(playerid, 180.0);
}
SetCameraBehindPlayer(playerid);
return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
new crime;
new mark=0;
ticketPrice[playerid]=0;
KillTimer(ticket[playerid]);
gTicket[playerid]=0;
gInJail[playerid]=0;
KillTimer(JailTimer[playerid]);
jailtime[playerid]=0;
bailmoney[playerid]=0;
SendDeathMessage(killerid, playerid, reason);
gWantedLvl[playerid]=0;
SetPlayerWantedLevel(playerid, 0);
for(new v=0;v<=200;v++)
{
carstolen[playerid][v]=0;
}
for(new i=0;i<SLOTS;i++)
{
if(gTeam[i]==TEAM_COPS&&IsPlayerConnected(i)==1)
{
mark++;
}
}
if(mark>=1)
{
playeridhold=GetClosestPlayerInTeam(killerid, TEAM_COPS);
dis=GetDistanceBetweenPlayers(killerid, playeridhold);
}
if(dis<=50&&gWantedLvl[killerid]<4&&gTeam[killerid]!=1&&gTeam[playerid]!=1)
{
crime = CRIME_MURDER;
gOffences[killerid]++;
oldwant=gWantedLvl[playerid];
copsee=1;
gWantedLvl[killerid]=4;
SendCrimeMessage(killerid, crime, gWantedLvl[killerid],copsee,oldwant);
dis=10000000.0;
return 1;
}
if(dis<=50&&gWantedLvl[killerid]>=4&&gTeam[killerid]!=1&&gTeam[playerid]!=1)
{
crime = CRIME_MURDER;
gOffences[killerid]++;
oldwant=gWantedLvl[playerid];
copsee=1;
gWantedLvl[killerid]++;
SendCrimeMessage(killerid, crime, gWantedLvl[killerid],copsee,oldwant);
dis=10000000.0;
return 1;
}
if(dis>50&&gTeam[killerid]!=1&&gTeam[playerid]!=1)
{
crime = CRIME_MURDER;
copsee=0;
SendCrimeMessage(killerid, crime, gWantedLvl[killerid],copsee,oldwant);
dis=10000000.0;
}
if(dis<=50&&gWantedLvl[killerid]<6&&gTeam[killerid]!=1&&gTeam[playerid]==1)
{
crime = CRIME_COPMURDER;
gOffences[killerid]++;
oldwant=gWantedLvl[playerid];
gWantedLvl[killerid]=6;
copsee=1;
SendCrimeMessage(killerid, crime, gWantedLvl[killerid],copsee,oldwant);
dis=10000000.0;
return 1;
}
if(dis>50&&gTeam[killerid]!=1&&gTeam[playerid]==1)
{
crime = CRIME_COPMURDER;
copsee=0;
SendCrimeMessage(killerid, crime, gWantedLvl[killerid],copsee,oldwant);
dis=10000000.0;
}
return 1;
}
public OnVehicleSpawn(vehicleid)
{
for(new i=0;i<SLOTS;i++)
{
if(vehicleid==Mycar[i]&&IsPlayerConnected(i)==1)
{
new Float:cx=dini_Float(file[i],"CarX");
new Float:cy=dini_Float(file[i],"CarY");
new Float:cz=dini_Float(file[i],"CarZ");
new Float:ca=dini_Float(file[i],"CarA");
SetVehiclePos(Mycar[i],Float:cx,Float:cy,Float:cz);
SetVehicleZAngle(Mycar[i],Float:ca);
return 1;
}
}
return 1;
}
public SendCrimeMessage(playerid, crime, wanted, copsees, oldwants)
{
new crimeString[256];
new string[256];
new color;
if(gWantedLvl[playerid]>6)
{
gWantedLvl[playerid]=6;
oldwants=6;
copsees=1;
}
switch(crime)
{
case CRIME_MURDER: crimeString = "Homicide";
case CRIME_COPMURDER: crimeString = "Homicide of a Police Officer";
case CRIME_GTA: crimeString = "Vehicle Theft";
case CRIME_POLICEGTA: crimeString = "Police Vehicle Theft";
case CRIME_UNPAIDTICKET: crimeString = "Unpaid Ticket";
case CRIME_RAPE: crimeString = "Rape";
case CRIME_RAPEATTEMPT: crimeString = "Attempted Rape";
}
switch(wanted)
{
case 0: color=COLOR_WHITE, SetPlayerToTeamColor(playerid);
case 1: color=COLOR_CITATION, SetPlayerColor(playerid, COLOR_CITATION);
case 2: color=COLOR_CITATION2, SetPlayerColor(playerid, COLOR_CITATION);
case 3: color=COLOR_FELONY, SetPlayerColor(playerid, COLOR_FELONY);
case 4: color=COLOR_FELONY2, SetPlayerColor(playerid, COLOR_FELONY);
case 5: color=COLOR_MOSTWANTED, SetPlayerColor(playerid, COLOR_MOSTWANTED);
case 6: color=COLOR_MOSTWANTED2, SetPlayerColor(playerid, COLOR_MOSTWANTED2);
}
if(copsees==1&&oldwants!=gWantedLvl[playerid]&&oldwants<6)
{
switch(wanted)
{
case 0: format(string, sizeof(string), "You have committed a crime (%s). Wanted Level %d - Innocent", crimeString, wanted);
case 1..2: format(string, sizeof(string), "You have committed a crime (%s). Wanted Level %d - Ticketable", crimeString, wanted);
case 3..4: format(string, sizeof(string), "You have committed a crime (%s). Wanted Level %d - Warrant Issued", crimeString, wanted);
case 5..6: format(string, sizeof(string), "You have committed a crime (%s). Wanted Level %d - Most Wanted", crimeString, wanted);
}
SetPlayerWantedLevel(playerid, wanted);
SendClientMessage(playerid, color, string);
return 1;
}
if(copsees==0||oldwants==gWantedLvl[playerid]||oldwants>=6)
{
switch(wanted)
{
case 0: format(string, sizeof(string), "You have committed a crime (%s).", crimeString);
case 1..2: format(string, sizeof(string), "You have committed a crime (%s).", crimeString);
case 3..4: format(string, sizeof(string), "You have committed a crime (%s).", crimeString);
case 5..6: format(string, sizeof(string), "You have committed a crime (%s).", crimeString);
}
SetPlayerWantedLevel(playerid, wanted);
SendClientMessage(playerid, color, string);
return 1;
}
return 1;
}
public OnVehicleDeath(vehicleid, killerid)
{
return 1;
}
public OnPlayerText(playerid, text[])
{
return 1;
}
public OnPlayerPrivmsg(playerid, recieverid, text[])
{
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
new cmd[256];
new tmp[256];
new giveplayerid;
new idx;
cmd = strtok(cmdtext, idx);
//arrest
//-----------------------------------------------------------------------------------------
if (strcmp(cmdtext, "/ar", true)==0)
{
new mark=0;
new copreward=0;
if(gTeam[playerid]!=TEAM_COPS)
{
SendClientMessage(playerid,COLOR_RED,"You must be a police officer to arrest someone!");
return 1;
}
for(new i=0;i<SLOTS;i++)
{
if(gWantedLvl[i]>=3&&IsPlayerConnected(i)==1)
{
mark++;
}
}
if(mark==0)
{
SendClientMessage(playerid,COLOR_RED,"There are no felons in the area!");
return 1;
}
new suspectid=GetClosestFelon(playerid);
new dist=GetDistanceBetweenPlayers(playerid,suspectid);
if(dist>20)
{
SendClientMessage(playerid,COLOR_RED,"There are no felons in the area!");
return 1;
}
if(IsPlayerInAnyVehicle(suspectid)==1)
{
SendClientMessage(playerid,COLOR_RED,"You cannot arrest a suspect in a car!");
return 1;
}
switch(gWantedLvl[suspectid])
{
case 3: jailtime[suspectid]=90, bailmoney[suspectid]=2500,copreward=500;
case 4: jailtime[suspectid]=180, bailmoney[suspectid]=5000,copreward=700;
case 5: jailtime[suspectid]=270, bailmoney[suspectid]=7500,copreward=1000;
case 6: jailtime[suspectid]=360, bailmoney[suspectid]=10000,copreward=1200;
}
for(new i=0;i<gOffences[suspectid];i++)
{
jailtime[suspectid]+=10;
bailmoney[suspectid]+=100;
copreward+=50;
}
SetPlayerInterior(suspectid,10);
SetPlayerFacingAngle(suspectid,0.0);
new post=random(4);
switch(post)
{
case 0:SetPlayerPos(suspectid,226.6655,108,999.0156); // cell
case 1:SetPlayerPos(suspectid,214.8406,108,999.0156); // cell
case 2:SetPlayerPos(suspectid,218.7556,108,999.0156); // cell
case 3:SetPlayerPos(suspectid,222.8464,108,999.0156); // cell
}
ResetPlayerWeapons(suspectid);
gInJail[suspectid]=1;
new jail[256];
new pname[256];
new oname[256];
GetPlayerName(suspectid, pname,256);
GetPlayerName(playerid, oname,256);
format(jail,sizeof(jail),"Welcome to the slammer %s! Use /jailinfo to see how much longer you'll be here. Dont drop the soap!!!",pname);
SendClientMessage(suspectid,COLOR_WHITE,jail);
Jminutes[suspectid]=jailtime[suspectid]/60;
Jseconds[suspectid]=jailtime[suspectid]%60;
if(Jseconds[suspectid]<10)
{
format(jail,sizeof(jail),"Jailtime: %d:0%d Bail: $%d",Jminutes[suspectid],Jseconds[suspectid],bailmoney[suspectid]);
}
if(Jseconds[suspectid]>=10)
{
format(jail,sizeof(jail),"Jailtime: %d:%d Bail: $%d", Jminutes[suspectid],Jseconds[suspectid],bailmoney[suspectid]);
}
SendClientMessage(suspectid,COLOR_WHITE,jail);
format(jail,sizeof(jail),"Great work Officer %s! You arrested suspect %s and will receive a $%d bonus!", oname,pname,copreward);
SendClientMessage(playerid,TEAM_COPS_COLOR,jail);
GivePlayerMoney(playerid,copreward);
Jail(suspectid);
return 1;
}
if (strcmp(cmdtext, "/jailinfo", true)==0)
{
if(gInJail[playerid]==0)
{
SendClientMessage(playerid,COLOR_RED,"You are not in jail!");
return 1;
}
new jail[256];
Jminutes[playerid]=jailtime[playerid]/60;
Jseconds[playerid]=jailtime[playerid]%60;
if(Jseconds[playerid]<10)
{
format(jail,sizeof(jail),"Jailtime: %d:0%d Bail: $%d",Jminutes[playerid],Jseconds[playerid],bailmoney[playerid]);
}
if(Jseconds[playerid]>=10)
{
format(jail,sizeof(jail),"Jailtime: %d:%d Bail: $%d", Jminutes[playerid],Jseconds[playerid],bailmoney[playerid]);
}
SendClientMessage(playerid,COLOR_WHITE,jail);
return 1;
}
if (strcmp(cmdtext, "/bail",true)==0)
{
if(gInJail[playerid]==0)
{
SendClientMessage(playerid,COLOR_RED,"You are not in jail!");
return 1;
}
if(jailtime[playerid]>0)
{
SendClientMessage(playerid,COLOR_RED,"You have not served your minimun sentence yet!");
return 1;
}
new cash=GetPlayerMoney(playerid);
if(cash<bailmoney[playerid])
{
SendClientMessage(playerid,COLOR_RED,"You don't have enough money to bail yourself out of jail!");
return 1;
}
GivePlayerMoney(playerid, -bailmoney[playerid]);
SetPlayerFacingAngle(playerid,0);
SetPlayerPos(playerid,217.7535,115.1867,999.0156);
GameTextForPlayer(playerid,"FREEDOM!",3000,4);
bailmoney[playerid]=0;
gInJail[playerid]=0;
return 1;
}
if (strcmp(cmdtext, "/tk", true)==0)
{
new mark=0;
if(gTeam[playerid]!=TEAM_COPS)
{
SendClientMessage(playerid,COLOR_RED,"You must be a police officer to ticket someone!");
return 1;
}
for(new i=0;i<SLOTS;i++)
{
if(gWantedLvl[i]<3&&gWantedLvl[i]>0&&IsPlayerConnected(i)==1)
{
mark++;
}
}
if(mark==0)
{
SendClientMessage(playerid,COLOR_RED,"There are no ticketable suspects in the area!");
return 1;
}
new suspectid=GetClosestTicket(playerid);
new dist=GetDistanceBetweenPlayers(playerid,suspectid);
if(dist>20)
{
SendClientMessage(playerid,COLOR_RED,"There are no ticketable suspects in the area!");
return 1;
}
if(gTicket[suspectid]>0)
{
SendClientMessage(playerid,COLOR_RED,"The suspect already has a ticket to pay!");
return 1;
}
switch(gWantedLvl[suspectid])
{
case 1: ticketPrice[suspectid]=500;
case 2: ticketPrice[suspectid]=1000;
}
new cname[256];
new sname[256];
GetPlayerName(playerid,cname,256);
GetPlayerName(suspectid,sname,256);
new ticketstring[256];
format(ticketstring,256,"You have issued %s a ticket for $%d.",sname,ticketPrice[suspectid]);
SendClientMessage(playerid, TEAM_COPS_COLOR,ticketstring);
format(ticketstring,256,"Officer %s has issued you a ticket for $%d. Type /pt to pay your ticket.",cname,ticketPrice[suspectid]);
SendClientMessage(suspectid, COLOR_RED,ticketstring);
gTicket[suspectid]=1;
GameTextForPlayer(suspectid,"Ticket Issued",3000,4);
ticket[suspectid]=SetTimerEx("NotPaid",30000,0,"d",suspectid);
return 1;
}
if (strcmp(cmdtext, "/pt", true)==0)
{
if(ticketPrice[playerid]<=0)
{
SendClientMessage(playerid,COLOR_RED,"You don't have any tickets to pay!");
return 1;
}
new copid=GetClosestPlayerInTeam(playerid,TEAM_COPS);
new dist=GetDistanceBetweenPlayers(playerid,copid);
if(dist>20)
{
SendClientMessage(playerid,COLOR_RED,"There are no officers nearby to accept your ticket!");
return 1;
}
new cash=GetPlayerMoney(playerid);
if(cash<ticketPrice[playerid])
{
SendClientMessage(playerid,COLOR_RED,"You don't have enough money to pay your ticket!");
return 1;
}
GivePlayerMoney(playerid,-ticketPrice[playerid]);
GivePlayerMoney(copid,ticketPrice[playerid]);
GameTextForPlayer(playerid,"Ticket Paid",3000,4);
gTicket[playerid]=0;
gWantedLvl[playerid]=0;
SetPlayerWantedLevel(playerid,0);
SetPlayerToTeamColor(playerid);
new tkstring[256];
new pname[256];
GetPlayerName(playerid,pname,256);
format(tkstring,256,"You have collected a $%d ticket from %s.",ticketPrice[playerid],pname);
SendClientMessage(copid, TEAM_COPS_COLOR,tkstring);
ticketPrice[playerid]=0;
KillTimer(ticket[playerid]);
return 1;
}
if (strcmp(cmdtext, "/buycar", true)==0)
{
new c=dini_Int(file[playerid],"HasCar");
if(c==1)
{
SendClientMessage(playerid,COLOR_RED,"You already own a car!");
RemovePlayerFromVehicle(playerid);
TogglePlayerControllable(playerid,true);
return 1;
}
if(InDealer[playerid]==0)
{
SendClientMessage(playerid,COLOR_RED,"You must be in a dealer car to buy it!");
return 1;
}
if(gWantedLvl[playerid]>0)
{
SendClientMessage(playerid,COLOR_RED,"We don't sell cars to wanted criminals!");
RemovePlayerFromVehicle(playerid);
TogglePlayerControllable(playerid,true);
return 1;
}
new playermoney=GetPlayerMoney(playerid);
if(carprice[playerid]>playermoney)
{
SendClientMessage(playerid,COLOR_RED,"You don't have enough money to buy this car!");
RemovePlayerFromVehicle(playerid);
TogglePlayerControllable(playerid,true);
return 1;
}
new v=GetPlayerVehicleID(playerid);
new model=GetVehicleModel(v);
GivePlayerMoney(playerid,-carprice[playerid]);
GameTextForPlayer(playerid,"Car Purchased",3000,4);
SendClientMessage(playerid,COLOR_WHITE,dString[playerid]);
CreateVehicle(model,-1645,1218,7,45,-1,-1,600);
Mycar[playerid]=dini_Int(mainFile,"vids")+1;
allcars=dini_Int(mainFile,"vids")+1;
dini_IntSet(mainFile,"vids",allcars);
dini_IntSet(file[playerid],"Car",model);
dini_FloatSet(file[playerid],"CarX",-1645.0);
dini_FloatSet(file[playerid],"CarY",1218.0);
dini_FloatSet(file[playerid],"CarZ",7.0);
dini_FloatSet(file[playerid],"CarA",45.0);
RemovePlayerFromVehicle(playerid);
TogglePlayerControllable(playerid,true);
dini_IntSet(file[playerid],"HasCar",1);
return 1;
}
if (strcmp(cmdtext, "/park", true)==0)
{
if(IsPlayerInAnyVehicle(playerid)==0)
{
SendClientMessage(playerid,COLOR_RED,"You must be in your car to park it!");
return 1;
}
new v=GetPlayerVehicleID(playerid);
if(v!=Mycar[playerid])
{
SendClientMessage(playerid,COLOR_RED,"You must be in your car to park it!");
return 1;
}
new Float:cx,Float:cy,Float:cz,Float:ca;
GetPlayerPos(playerid,Float:cx,Float:cy,Float:cz);
GetVehicleZAngle(Mycar[playerid],Float:ca);
dini_FloatSet(file[playerid],"CarX",Float:cx);
dini_FloatSet(file[playerid],"CarY",Float:cy);
dini_FloatSet(file[playerid],"CarZ",Float:cz);
dini_FloatSet(file[playerid],"CarA",Float:ca);
GameTextForPlayer(playerid,"Car Parked",3000,4);
return 1;
}
if (strcmp(cmdtext, "/lock", true)==0)
{
if(IsPlayerInAnyVehicle(playerid)==0)
{
SendClientMessage(playerid,COLOR_RED,"You must be in your car to park it!");
return 1;
}
new v=GetPlayerVehicleID(playerid);
if(v!=Mycar[playerid])
{
SendClientMessage(playerid,COLOR_RED,"You must be in your car to park it!");
return 1;
}
for(new i=0;i<SLOTS;i++)
{
SetVehicleParamsForPlayer(Mycar[playerid],i,0,1);
}
SetVehicleParamsForPlayer(Mycar[playerid],playerid,0,0);
GameTextForPlayer(playerid,"Car Locked",3000,4);
return 1;
}
if (strcmp(cmdtext, "/unlock", true)==0)
{
if(IsPlayerInAnyVehicle(playerid)==0)
{
SendClientMessage(playerid,COLOR_RED,"You must be in your car to park it!");
return 1;
}
new v=GetPlayerVehicleID(playerid);
if(v!=Mycar[playerid])
{
SendClientMessage(playerid,COLOR_RED,"You must be in your car to park it!");
return 1;
}
for(new i=0;i<SLOTS;i++)
{
SetVehicleParamsForPlayer(Mycar[playerid],i,0,0);
}
GameTextForPlayer(playerid,"Car Locked",3000,4);
return 1;
}
if (strcmp(cmdtext, "/exit", true)==0)
{
if(IsPlayerInAnyVehicle(playerid)==1)
{
RemovePlayerFromVehicle(playerid);
TogglePlayerControllable(playerid,true);
return 1;
}
return 1;
}
if (strcmp(cmd, "/parole", true) == 0)
{
tmp = strtok(cmdtext, idx);
if(gTeam[playerid]!=TEAM_COPS)
{
SendClientMessage(playerid,COLOR_RED,"You must be a police officer to parole someone!");
return 1;
}
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_RED, "USAGE: /parole [playerid]");
return 1;
}
giveplayerid = strval(tmp);
if(IsPlayerConnected(giveplayerid)==0)
{
SendClientMessage(playerid,COLOR_RED,"That player is not connected!");
return 1;
}
new d=GetDistanceBetweenPlayers(playerid,giveplayerid);
if(d>10)
{
SendClientMessage(playerid,COLOR_RED,"That player is too far away!");
return 1;
}
if(gInJail[giveplayerid]==0)
{
SendClientMessage(playerid,COLOR_RED,"You cannot parole a player that is not in jail!");
return 1;
}
if(jailtime[giveplayerid]>0)
{
SendClientMessage(playerid,COLOR_RED,"That player has not served his minimum sentance yet!");
return 1;
}
SetPlayerFacingAngle(giveplayerid,0);
SetPlayerPos(giveplayerid,217.7535,115.1867,999.0156);
GameTextForPlayer(giveplayerid,"FREEDOM!",3000,4);
new pname[256];
GetPlayerName(playerid,pname,256);
new jail[256];
format(jail,256,"You were released by Officer %s",pname);
SendClientMessage(giveplayerid,COLOR_WHITE,jail);
bailmoney[giveplayerid]=0;
gInJail[giveplayerid]=0;
return 1;
}
if (strcmp(cmdtext, "/rape", true)==0)
{
new mark=0;
new crime;
if(gTeam[playerid]==TEAM_COPS)
{
SendClientMessage(playerid,COLOR_RED,"Police officers can't rape!");
return 1;
}
for(new i=0;i<SLOTS;i++)
{
if(IsPlayerConnected(i)==1&&i!=playerid)
{
mark++;
}
}
if(mark==0)
{
SendClientMessage(playerid,COLOR_RED,"There is no one to rape nearby!");
return 1;
}
new suspectid=GetClosestPlayer(playerid);
new dist=GetDistanceBetweenPlayers(playerid,suspectid);
if(dist>20)
{
SendClientMessage(playerid,COLOR_RED,"There is no one to rape nearby!");
return 1;
}
if(IsPlayerInAnyVehicle(suspectid)==1)
{
SendClientMessage(playerid,COLOR_RED,"You cannot rape a person in a car!");
return 1;
}
new rape=random(100);
new chance=rapepercent[playerid];
if(rape>=0&&rape<=chance)
{
rapes[playerid]++;
new sname[256];
new pname[256];
GetPlayerName(playerid,pname,256);
GetPlayerName(suspectid,sname,256);
format(sname,256,"You raped %s",sname);
format(pname,256,"You were raped by %s",pname);
GameTextForPlayer(playerid,sname,3000,4);
GameTextForPlayer(suspectid,pname,3000,4);
PlayerPlaySound(playerid,1190,0,0,0);
PlayerPlaySound(suspectid,1190,0,0,0);
ApplyAnimation(playerid,"SWEET","sweet_ass_slap",4.0,1,0,0,0,-1);
ApplyAnimation(suspectid,"SWEET","ho_ass_slapped",4.0,1,0,0,0,-1);
if(rapes[playerid]==50||rapes[playerid]==150||rapes[playerid]==300||rapes[playerid]==550||rapes[playerid]==875||rapes[playerid]==1250||rapes[playerid]==1750||rapes[playerid]==2250||rapes[playerid]==2800||rapes[playerid]==3500)
{
rapeskill[playerid]++;
rapepercent[playerid]+=5;
GameTextForPlayer(playerid,"Rape Level Up",3000,4);
new r[256];
format(r,256,"Congratulations! Rape Skill Level %d reached! It is now easier to rape people successfully!",rapeskill[playerid]);
SendClientMessage(playerid,COLOR_WHITE,r);
}
mark=0;
new copid;
for(new i=0;i<SLOTS;i++)
{
if(gTeam[i]==TEAM_COPS&&IsPlayerConnected(i)==1)
{
mark++;
}
}
if(mark>=1)
{
copid=GetClosestPlayerInTeam(playerid, TEAM_COPS);
dis=GetDistanceBetweenPlayers(playerid, copid);
}
if(dis<=50&&gWantedLvl[playerid]<3)
{
crime = CRIME_RAPE;
gOffences[playerid]++;
oldwant=gWantedLvl[playerid];
copsee=1;
gWantedLvl[playerid]=3;
SendCrimeMessage(playerid, crime, gWantedLvl[playerid],copsee,oldwant);
dis=10000000.0;
return 1;
}
if(dis<=50&&gWantedLvl[playerid]>=3)
{
crime = CRIME_RAPE;
gOffences[playerid]++;
oldwant=gWantedLvl[playerid];
copsee=1;
gWantedLvl[playerid]++;
SendCrimeMessage(playerid, crime, gWantedLvl[playerid],copsee,oldwant);
dis=10000000.0;
return 1;
}
if(dis>50)
{
crime = CRIME_RAPE;
copsee=0;
SendCrimeMessage(playerid, crime, gWantedLvl[playerid],copsee,oldwant);
dis=10000000.0;
return 1;
}
}
if(rape>chance&&rape<=100)
{
new copid;
for(new i=0;i<SLOTS;i++)
{
if(gTeam[i]==TEAM_COPS&&IsPlayerConnected(i)==1)
{
mark++;
}
}
if(mark>=1)
{
copid=GetClosestPlayerInTeam(playerid, TEAM_COPS);
dis=GetDistanceBetweenPlayers(playerid, copid);
}
if(dis<=50&&gWantedLvl[playerid]<2)
{
crime = CRIME_RAPEATTEMPT;
gOffences[playerid]++;
oldwant=gWantedLvl[playerid];
copsee=1;
gWantedLvl[playerid]=2;
SendCrimeMessage(playerid, crime, gWantedLvl[playerid],copsee,oldwant);
dis=10000000.0;
return 1;
}
if(dis<=50&&gWantedLvl[playerid]>=2)
{
crime = CRIME_RAPEATTEMPT;
gOffences[playerid]++;
oldwant=gWantedLvl[playerid];
copsee=1;
gWantedLvl[playerid]++;
SendCrimeMessage(playerid, crime, gWantedLvl[playerid],copsee,oldwant);
dis=10000000.0;
return 1;
}
if(dis>50)
{
crime = CRIME_RAPEATTEMPT;
copsee=0;
SendCrimeMessage(playerid, crime, gWantedLvl[playerid],copsee,oldwant);
dis=10000000.0;
return 1;
}
}
}
return 0;
}
public NotPaid(playerid)
{
new crime=CRIME_UNPAIDTICKET;
oldwant=gWantedLvl[playerid];
gOffences[playerid]++;
gWantedLvl[playerid]++;
copsee=1;
SendCrimeMessage(playerid, crime, gWantedLvl[playerid],copsee,oldwant);
gTicket[playerid]=0;
return 1;
}
public Jail(player)
{
SetPlayerWantedLevel(player, 0);
gWantedLvl[player]=0;
gOffences[player]=0;
for(new v=0;v<=200;v++)
{
carstolen[player][v]=0;
}
SetPlayerToTeamColor(player);
JailTimer[player]=SetTimerEx("JailTime",1000,1,"d",player);
}
public JailTime(player)
{
if(jailtime[player]>0)
{
jailtime[player]-=1;
}
if(jailtime[player]<=0&&bailmoney[player]<=0)
{
KillTimer(JailTimer[player]);
}
Jminutes[player]=jailtime[player]/60;
Jseconds[player]=jailtime[player]%60;
if (Jseconds[player]<10)
{
format(jailt[player],256,"%d:0%d",Jminutes[player],Jseconds[player]);
}
if(Jseconds[player]>=10)
{
format(jailt[player],256,"%d:%d", Jminutes[player],Jseconds[player]);
}
if(jailtime[player]>0)
{
GameTextForPlayer(player,jailt[player],1000,6);
}
}
public OnPlayerInfoChange(playerid)
{
return 1;
}
public GetPlayerDistanceToPointEx(playerid, Float:x1,Float:y1,Float:z1) //By Sacky (Edited by Smugller)
{
GetPlayerPos(playerid,x2,y2,z2);
dis = floatsqroot((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)+(z1-z2)*(z1-z2));
return floatround(dis);
}
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
new mark;
for(new i=0;i<SLOTS;i++)
{
if(gTeam[i]==TEAM_COPS&&IsPlayerConnected(i)==1)
{
mark++;
}
}
if(mark==0)
{
dis=10000000.0;
}
if(mark>=1)
{
playeridhold=GetClosestPlayerInTeam(playerid, TEAM_COPS);
dis=GetDistanceBetweenPlayers(playerid, playeridhold);
}
Steal[playerid]=SetTimerEx("CarTheft",1000,1,"fdd",dis, ispassenger, playerid);
new Float:h;
veh[playerid]=GetVehicleHealth(vehicleid,h);
veh[playerid]=floatround(veh[playerid]);
tries[playerid]=0;
return 1;
}
public CarTheft(Float:distance, passenger, playerid)
{
tries[playerid]++;
if(tries[playerid]>=11)
{
KillTimer(Steal[playerid]);
return 1;
}
if(tries[playerid]<10&&IsPlayerInAnyVehicle(playerid)==1&&passenger==0)
{
vid[playerid]=GetPlayerVehicleID(playerid);
vehicle[playerid]=GetVehicleModel(vid[playerid]);
switch(vehicle[playerid])
{
case 400: carString[playerid]="Landstalker";
case 401: carString[playerid]="Bravura";
case 402: carString[playerid]="Buffalo",carprice[playerid]=30000;
case 403: carString[playerid]="Linerunner";
case 404: carString[playerid]="Perenniel";
case 405: carString[playerid]="Sentinel";
case 406: carString[playerid]="Dumper";
case 407: carString[playerid]="Firetruck";
case 408: carString[playerid]="Trashmaster";
case 409: carString[playerid]="Stretch";
case 410: carString[playerid]="Manana";
case 411: carString[playerid]="Infernus",carprice[playerid]=120000;
case 412: carString[playerid]="Voodoo";
case 413: carString[playerid]="Pony";
case 414: carString[playerid]="Mule";
case 415: carString[playerid]="Cheetah";
case 416: carString[playerid]="Ambulance";
case 417: carString[playerid]="Leviathan";
case 418: carString[playerid]="Moonbeam";
case 419: carString[playerid]="Esperanto";
case 420: carString[playerid]="Taxi";
case 421: carString[playerid]="Washington";
case 422: carString[playerid]="Bobcat";
case 423: carString[playerid]="Mr Whoopee";
case 424: carString[playerid]="BF Injection";
case 425: carString[playerid]="Hunter";
case 426: carString[playerid]="Premier",carprice[playerid]=40000;
case 427: carString[playerid]="Enforcer",iscopcar[playerid]=1;
case 428: carString[playerid]="Securicar";
case 429: carString[playerid]="Banshee";
case 430: carString[playerid]="Predator",iscopcar[playerid]=1;
case 431: carString[playerid]="Bus";
case 432: carString[playerid]="Rhino";
case 433: carString[playerid]="Barracks";
case 434: carString[playerid]="Hotknife";
//case 435: carString="";
case 436: carString[playerid]="Previon";
case 437: carString[playerid]="Coach";
case 438: carString[playerid]="Cabbie";
case 439: carString[playerid]="Stallion",carprice[playerid]=30000;
case 440: carString[playerid]="Rumpo";
case 441: carString[playerid]="RC Bandit";
case 442: carString[playerid]="Romero";
case 443: carString[playerid]="Packer";
case 444: carString[playerid]="Monster";
case 445: carString[playerid]="Admiral";
case 446: carString[playerid]="Squallo";
case 447: carString[playerid]="Seasparrow";
case 448: carString[playerid]="Pizzaboy";
case 449: carString[playerid]="Tram";
//case 450: carString="";
case 451: carString[playerid]="Turismo",carprice[playerid]=250000;
case 452: carString[playerid]="Speeder";
case 453: carString[playerid]="Reefer";
case 454: carString[playerid]="Tropic";
case 455: carString[playerid]="Flatbed";
case 456: carString[playerid]="Yankee";
case 457: carString[playerid]="Caddy";
case 458: carString[playerid]="Solair";
//case 459: carString="";
case 460: carString[playerid]="Skimmer";
case 461: carString[playerid]="PCJ-600";
case 462: carString[playerid]="Faggio";
case 463: carString[playerid]="Freeway";
case 464: carString[playerid]="RC Baron";
case 465: carString[playerid]="RC Raider";
case 466: carString[playerid]="Glendale";
case 467: carString[playerid]="Oceanic";
case 468: carString[playerid]="Sanchez";
case 469: carString[playerid]="Sparrow";
case 470: carString[playerid]="Patriot";
case 471: carString[playerid]="Quad";
case 472: carString[playerid]="Coastguard";
case 473: carString[playerid]="Dinghy";
case 474: carString[playerid]="Hermes";
case 475: carString[playerid]="Sabre";
case 476: carString[playerid]="Rustler";
case 477: carString[playerid]="ZR-350";
case 478: carString[playerid]="Walton";
case 479: carString[playerid]="Regina";
case 480: carString[playerid]="Comet";
case 481: carString[playerid]="BMX";
case 482: carString[playerid]="Burrito";
case 483: carString[playerid]="Camper";
case 484: carString[playerid]="Marquis";
case 485: carString[playerid]="Baggage";
case 486: carString[playerid]="Dozer";
case 487: carString[playerid]="Maverick";
case 488: carString[playerid]="Police Maverick",iscopcar[playerid]=1;
case 489: carString[playerid]="Rancher";
case 490: carString[playerid]="FBI Rancher";
case 491: carString[playerid]="Virgo";
case 492: carString[playerid]="Greenwood";
case 493: carString[playerid]="Jetmax";
case 494: carString[playerid]="Hotring Racer";
case 495: carString[playerid]="Sandking";
case 496: carString[playerid]="Blista Compact";
case 497: carString[playerid]="Police Maverick",iscopcar[playerid]=1;
case 498: carString[playerid]="Boxville";
case 499: carString[playerid]="Benson";
case 500: carString[playerid]="Mesa";
case 501: carString[playerid]="RC Goblin";
case 502: carString[playerid]="Hotring Racer";
case 503: carString[playerid]="Hotring Racer";
case 504: carString[playerid]="Bloodring Banger";
case 505: carString[playerid]="Rancher";
case 506: carString[playerid]="Super GT",carprice[playerid]=80000;
case 507: carString[playerid]="Elegant";
case 508: carString[playerid]="Journey";
case 509: carString[playerid]="Bike";
case 510: carString[playerid]="Mountain Bike";
case 511: carString[playerid]="Beagle";
case 512: carString[playerid]="Cropduster";
case 513: carString[playerid]="Stuntplane";
case 514: carString[playerid]="Tanker";
case 515: carString[playerid]="Roadtrain";
case 516: carString[playerid]="Nebula";
case 517: carString[playerid]="Majestic";
case 518: carString[playerid]="Buccaneer";
case 519: carString[playerid]="Shamal";
case 520: carString[playerid]="Hydra";
case 521: carString[playerid]="FCR-900";
case 522: carString[playerid]="NRG-500";
case 523: carString[playerid]="HPV-1000",iscopcar[playerid]=1;
case 524: carString[playerid]="Cement Truck";
case 525: carString[playerid]="Towtruck";
case 526: carString[playerid]="Fortune",carprice[playerid]=20000;
case 527: carString[playerid]="Cadrona";
case 528: carString[playerid]="FBI Truck";
case 529: carString[playerid]="Willard";
case 530: carString[playerid]="Forklift";
case 531: carString[playerid]="Tractor";
case 532: carString[playerid]="Combine Harvester";
case 533: carString[playerid]="Feltzer";
case 534: carString[playerid]="Remington";
case 535: carString[playerid]="Slamvan";
case 536: carString[playerid]="Blade";
//case 537: carString="";
//case 538: carString="";
case 539: carString[playerid]="Vortex";
case 540: carString[playerid]="Vincent";
case 541: carString[playerid]="Bullet",carprice[playerid]=180000;
case 542: carString[playerid]="Clover";
case 543: carString[playerid]="Sadler";
case 544: carString[playerid]="Firetruck";
case 545: carString[playerid]="Hustler";
case 546: carString[playerid]="Intruder";
case 547: carString[playerid]="Primo";
case 548: carString[playerid]="Cargobob";
case 549: carString[playerid]="Tampa";
case 550: carString[playerid]="Sunrise";
case 551: carString[playerid]="Merit";
case 552: carString[playerid]="Utility Van";
case 553: carString[playerid]="Nevada";
case 554: carString[playerid]="Yosemite";
case 555: carString[playerid]="Windsor";
case 556: carString[playerid]="Monster";
case 557: carString[playerid]="Monster";
case 558: carString[playerid]="Uranus";
case 559: carString[playerid]="Jester";
case 560: carString[playerid]="Sultan";
case 561: carString[playerid]="Stratum";
case 562: carString[playerid]="Elegy";
case 563: carString[playerid]="Raindance";
case 564: carString[playerid]="RC Tiger";
case 565: carString[playerid]="Flash";
case 566: carString[playerid]="Tahoma";
case 567: carString[playerid]="Savanna";
case 568: carString[playerid]="Bandito";
//case 569: carString="";
//case 570: carString="";
case 571: carString[playerid]="Kart";
case 572: carString[playerid]="Mower";
case 573: carString[playerid]="Dune";
case 574: carString[playerid]="Sweeper";
case 575: carString[playerid]="Broadway";
case 576: carString[playerid]="Tornado";
case 577: carString[playerid]="AT-400";
case 578: carString[playerid]="DFT-30";
case 579: carString[playerid]="Huntley";
case 580: carString[playerid]="Stafford";
case 581: carString[playerid]="BF-400";
case 582: carString[playerid]="Newsvan";
case 583: carString[playerid]="Tug";
//case 584: carString="";
case 585: carString[playerid]="Emperor";
case 586: carString[playerid]="Wayfarer";
case 587: carString[playerid]="Euros";
case 588: carString[playerid]="Hotdog";
case 589: carString[playerid]="Club";
//case 590: carString="";
//case 591: carString="";
//case 592: carString="";
case 593: carString[playerid]="Dodo";
//case 594: carString="";
case 595: carString[playerid]="Launch";
case 596: carString[playerid]="Police Car",iscopcar[playerid]=1;
case 597: carString[playerid]="Police Car",iscopcar[playerid]=1;
case 598: carString[playerid]="Police Car",iscopcar[playerid]=1;
case 599: carString[playerid]="Ranger",iscopcar[playerid]=1;
case 600: carString[playerid]="Picador";
case 601: carString[playerid]="S.W.A.T.";
case 602: carString[playerid]="Alpha";
case 603: carString[playerid]="Phoenix";
//case 604: carString="";
//case 605: carString="";
//case 606: carString="";
//case 607: carString="";
//case 608: carString="";
//case 609: carString="";
//case 610: carString="";
//case 611: carString="";
}
if(IsPlayerInAnyVehicle(playerid)==1)
{
if(vid[playerid]<=COPCARS)
{
iscopcar[playerid]=1;
}
new cstr[256];
if(iscopcar[playerid]==0)
{
format(cstr,256,"~g~%s",carString[playerid]);
GameTextForPlayer(playerid,cstr,500,1);
}
if(iscopcar[playerid]==1)
{
format(cstr,256,"~b~%s",carString[playerid]);
GameTextForPlayer(playerid,cstr,500,1);
}
if(vid[playerid]==Mycar[playerid])
{
new pname[256];
GetPlayerName(playerid,pname,256);
format(cstr,256,"~r~%s's %s",pname,carString[playerid]);
GameTextForPlayer(playerid,cstr,500,1);
}
if(vid[playerid]>=OTTO_MIN&&vid[playerid]<=OTTO_MAX)
{
TogglePlayerControllable(playerid, false);
GameTextForPlayer(playerid,"/buycar to buy this car or /exit to leave",10000,4);
new ps[256];
format(ps,256,"Model:%s Price:%d",carString[playerid],carprice[playerid]);
SendClientMessage(playerid, COLOR_WHITE,ps);
dString[playerid]="Thank you for buying at Otto's Autos! Your car is out front!";
InDealer[playerid]=1;
KillTimer(Steal[playerid]);
tries[playerid]=0;
KillTimer(Steal[playerid]);
return 1;
}
if(vid[playerid]==Mycar[playerid])
{
GameTextForPlayer(playerid,"Welcome to your car!",3000,4);
KillTimer(Steal[playerid]);
return 1;
}
new crime;
if(passenger==0&&gTeam[playerid]!=1)
{
if(iscopcar[playerid]==0)
{
if(distance<=30&&gTeam[playerid]!=1&&carstolen[playerid][vid[playerid]]==0)
{
carstolen[playerid][vid[playerid]]++;
crime = CRIME_GTA;
gOffences[playerid]++;
oldwant=gWantedLvl[playerid];
copsee=1;
gWantedLvl[playerid]++;
SendCrimeMessage(playerid, crime, gWantedLvl[playerid],copsee,oldwant);
distance=10000000.0;
KillTimer(Steal[playerid]);
return 1;
}
if(distance>30&&gTeam[playerid]!=1&&carstolen[playerid][vid[playerid]]==0)
{
carstolen[playerid][vid[playerid]]++;
crime = CRIME_GTA;
copsee=0;
SendCrimeMessage(playerid, crime, gWantedLvl[playerid],copsee,oldwant);
distance=10000000.0;
KillTimer(Steal[playerid]);
return 1;
}
}
if(iscopcar[playerid]==1)
{
if(distance<=30&&gWantedLvl[playerid]<4&&gTeam[playerid]!=1&&carstolen[playerid][vid[playerid]]==0)
{
carstolen[playerid][vid[playerid]]++;
crime = CRIME_POLICEGTA;
gOffences[playerid]++;
oldwant=gWantedLvl[playerid];
copsee=1;
gWantedLvl[playerid]=4;
SendCrimeMessage(playerid, crime, gWantedLvl[playerid],copsee,oldwant);
distance=10000000.0;
KillTimer(Steal[playerid]);
return 1;
}
if(distance<=30&&gWantedLvl[playerid]>=4&&gTeam[playerid]!=1&&carstolen[playerid][vid[playerid]]==0)
{
carstolen[playerid][vid[playerid]]++;
crime = CRIME_POLICEGTA;
oldwant=gWantedLvl[playerid];
gOffences[playerid]++;
copsee=1;
gWantedLvl[playerid]++;
SendCrimeMessage(playerid, crime, gWantedLvl[playerid],copsee,oldwant);
distance=10000000.0;
KillTimer(Steal[playerid]);
return 1;
}
if(distance>30&&gTeam[playerid]!=1&&carstolen[playerid][vid[playerid]]==0)
{
carstolen[playerid][vid[playerid]]++;
crime = CRIME_POLICEGTA;
copsee=0;
SendCrimeMessage(playerid, crime, gWantedLvl[playerid],copsee,oldwant);
distance=10000000.0;
KillTimer(Steal[playerid]);
return 1;
}
}
}
}
}
return 1;
}
public GetDistanceBetweenPlayers(playerid, playerid2) //By Slick (Edited by Smugller thx for Y_Less )
{
GetPlayerPos(playerid,x,y,z);
GetPlayerPos(playerid2,x2,y2,z2);
dis = floatsqroot((x2-x)*(x2-x)+(y2-y)*(y2-y)+(z2-z)*(z2-z));
return floatround(dis);
}
public OnPlayerExitVehicle(playerid, vehicleid)
{
iscopcar[playerid]=0;
return 1;
}
public OnPlayerStateChange(playerid, newstate, oldstate)
{
return 1;
}
public GetClosestPlayerInTeam(playerid, team)
{
new Float:player=1000000.00;
new Float:dist=1000000.00;
new player2=30000;
for(new i=0;i<SLOTS;i++)
{
if(i!=playerid&&IsPlayerConnected(i)==1&&gTeam[i]==team)
{
dist=GetDistanceBetweenPlayers(playerid, i);
if(dist<player)
{
player=dist;
player2=i;
dist=1000000.00;
}
}
}
return player2;
}
public GetClosestFelon(playerid)
{
new Float:player=1000000.00;
new Float:dist=1000000.00;
new player2=30000;
for(new i=0;i<SLOTS;i++)
{
if(i!=playerid&&IsPlayerConnected(i)==1&&gWantedLvl[i]>=3)
{
dist=GetDistanceBetweenPlayers(playerid, i);
if(dist<player)
{
player=dist;
player2=i;
dist=1000000.00;
}
}
}
return player2;
}
public GetClosestPlayer(playerid)
{
new Float:player=1000000.00;
new Float:dist=1000000.00;
new player2=30000;
for(new i=0;i<SLOTS;i++)
{
if(i!=playerid&&IsPlayerConnected(i)==1)
{
dist=GetDistanceBetweenPlayers(playerid, i);
if(dist<player)
{
player=dist;
player2=i;
dist=1000000.00;
}
}
}
return player2;
}
public GetClosestTicket(playerid)
{
new Float:player=1000000.00;
new Float:dist=1000000.00;
new player2=30000;
for(new i=0;i<SLOTS;i++)
{
if(i!=playerid&&IsPlayerConnected(i)==1&&gWantedLvl[i]<3&&gWantedLvl[i]>0)
{
dist=GetDistanceBetweenPlayers(playerid, i);
if(dist<player)
{
player=dist;
player2=i;
dist=1000000.00;
}
}
}
return player2;
}
public CreateCheckpoints(playerid)
{
GetPlayerPos(playerid, Float:x,Float:y,Float:z);
//copelevatortop
dis=GetPlayerDistanceToPointEx(playerid, 215.5696,126.3461,1003.2188);
if(dis<=10)
{
SetPlayerCheckpoint(playerid, 215.5696,126.3461,1003.2188, 1.0);
gCheckID[playerid]=COP_ELEVATOR_IN;
return 1;
}
if(dis>10)
{
DisablePlayerCheckpoint(playerid);
}
//donut shop
dis=GetPlayerDistanceToPointEx(playerid, -2767.8704,788.8644,52.7813);
if(dis<=30)
{
SetPlayerCheckpoint(playerid, -2767.8704,788.8644,52.7813, 1.0);
gCheckID[playerid]=DONUT_SHOP;
return 1;
}
if(dis>30)
{
DisablePlayerCheckpoint(playerid);
}
//donut shop exit
dis=GetPlayerDistanceToPointEx(playerid, 377.0367,-193.2875,1000.6328);
if(dis<=10)
{
SetPlayerCheckpoint(playerid, 377.0367,-193.2875,1000.6328, 1.0);
gCheckID[playerid]=DONUT_SHOP_OUT;
return 1;
}
if(dis>10)
{
DisablePlayerCheckpoint(playerid);
}
//copelevatorgarage
dis=GetPlayerDistanceToPointEx(playerid, -1593.6881,716.0540,-5.2422);
if(dis<=10)
{
SetPlayerCheckpoint(playerid, -1593.6881,716.0540,-5.2422, 1.0);
gCheckID[playerid]=COP_ELEVATOR_OUT;
return 1;
}
if(dis>25)
{
DisablePlayerCheckpoint(playerid);
}
//copexit
dis=GetPlayerDistanceToPointEx(playerid, 246.2149,108.5979,1003.2188);
if(dis<=25)
{
SetPlayerCheckpoint(playerid, 246.2149,108.5979,1003.2188, 3.0);
gCheckID[playerid]=COP_OUT;
return 1;
}
if(dis>25)
{
DisablePlayerCheckpoint(playerid);
}
//copentrence
dis=GetPlayerDistanceToPointEx(playerid, -1605.7090,711.4438,13.8672);
if(dis<=25)
{
SetPlayerCheckpoint(playerid,-1605.7090,711.4438,13.8672, 3.0);
gCheckID[playerid]=COP_IN;
return 1;
}
if(dis>25)
{
DisablePlayerCheckpoint(playerid);
}
return 1;
}
public Button(playerid)
{
GetPlayerKeys(playerid,keys[playerid],updown[playerid],leftright[playerid]);
if(keys[playerid] & 16&&incheck[playerid]==1)
{
if(gCheckID[playerid]==COP_ELEVATOR_IN)
{
if(gTeam[playerid]==TEAM_COPS)
{
SetPlayerInterior(playerid, 0);
SetPlayerPos(playerid, -1590.6881,716.0540,-5.2422);
SetPlayerFacingAngle(playerid, 270.0);
SetCameraBehindPlayer(playerid);
}
if(gTeam[playerid]!=TEAM_COPS && runmessage[playerid]<1)
{
runmessage[playerid]++;
SendClientMessage(playerid, COLOR_RED, "You are not authorized to go down there!");
}
return 1;
}
if(gCheckID[playerid]==COP_ELEVATOR_OUT)
{
if(gTeam[playerid]==TEAM_COPS)
{
SetPlayerInterior(playerid, 10);
SetPlayerPos(playerid, 215.5696,123.3461,1003.2188);
SetPlayerFacingAngle(playerid, 180.0);
SetCameraBehindPlayer(playerid);
}
if(gTeam[playerid]!=TEAM_COPS && runmessage[playerid]<1)
{
runmessage[playerid]++;
SendClientMessage(playerid, COLOR_RED, "You shoudn't be here in the first place!!!");
}
return 1;
}
if(gCheckID[playerid]==DONUT_SHOP)
{
SetPlayerInterior(playerid, 17);
SetPlayerPos(playerid,378.3705,-191.2455,1000.6328);
SetPlayerFacingAngle(playerid, 0.0);
SetCameraBehindPlayer(playerid);
return 1;
}
if(gCheckID[playerid]==DONUT_SHOP_OUT)
{
SetPlayerInterior(playerid, 0);
SetPlayerPos(playerid, -2766.2195,788.9329,52.7813);
SetPlayerFacingAngle(playerid, 285.0);
SetCameraBehindPlayer(playerid);
return 1;
}
if(gCheckID[playerid]==COP_IN)
{
SetPlayerInterior(playerid, 10);
SetPlayerPos(playerid, 246.2149,111.5979,1003.2188);
SetPlayerFacingAngle(playerid, 0.0);
SetCameraBehindPlayer(playerid);
return 1;
}
if(gCheckID[playerid]==COP_OUT)
{
SetPlayerInterior(playerid, 0);
SetPlayerPos(playerid, -1606.0885,713.8413,13.2374);
SetPlayerFacingAngle(playerid, 0.0);
SetCameraBehindPlayer(playerid);
return 1;
}
}
return 1;
}
public OnPlayerEnterCheckpoint(playerid)
{
KillTimer(checkmaker[playerid]);
incheck[playerid]=1;
button[playerid]=SetTimerEx("Button",10,1,"d",playerid);
return 1;
}
public OnPlayerLeaveCheckpoint(playerid)
{
incheck[playerid]=0;
checkmaker[playerid]=SetTimerEx("CreateCheckpoints", 500, 1,"d",playerid);
KillTimer(button[playerid]);
runmessage[playerid]=0;
return 1;
}
public OnPlayerEnterRaceCheckpoint(playerid)
{
return 1;
}
public OnPlayerLeaveRaceCheckpoint(playerid)
{
return 1;
}
public OnRconCommand(cmd[])
{
return 1;
}
public OnObjectMoved(objectid)
{
return 1;
}
public OnPlayerObjectMoved(playerid, objectid)
{
return 1;
}
public OnPlayerPickUpPickup(playerid, pickupid)
{
return 1;
}
public OnPlayerSelectedMenuRow(playerid, row)
{
return 1;
}
public OnPlayerExitedMenu(playerid)
{
TogglePlayerControllable(playerid,true);
return 1;
}
/*
strtok(const string[], &index)
{
new length = strlen(string);
while ((index < length) && (string[index] <= ' '))
{
index++;
}
new offset = index;
new result[20];
while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
{
result[index - offset] = string[index];
index++;
}
result[index - offset] = EOS;
return result;
}*/