All pastes #739295 Raw Edit

Untitled

public text v1 · immutable
·published 2007-10-17 00:55 UTC
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;
}*/