All pastes #901429 Raw Edit

GM kik

public text v1 · immutable
·published 2008-02-12 17:21 UTC
rendered paste body
//Credits goes to:
//Cam some of the classes are his
//CodeMaster added the selection screen sounds and the kool Team chat
//Nitroglycerine for tree id :P
//DM Messages by yellowblood
//Necrioss for the wicked car/stats save system and the login/register system and settings file
//[CBK]$$$PiMp Made this
//===============================Include Files==================================
#include <a_samp>
#include <dini>
#include <dudb>
#include <time>
#include <file>
#include <dutils>
#include <sinterior>
#include <float>
//===============================Class Defines==================================
#define TEAM_WORKER 0
#define TEAM_PIMP 1
#define TEAM_GOLFER 2
#define TEAM_TRIAD 3
#define TEAM_ARMY 4
#define TEAM_VALET 5
#define TEAM_MEDIC 6
#define TEAM_FBI 7
#define TEAM_CHICKEN 8
#define TEAM_RICH 9
#define TEAM_PILOT 10
#define TEAM_DANANG 11
//------------------------blocco-personaggio------------------------------------
new class[MAX_PLAYERS],inrequest[MAX_PLAYERS],bad[1]={0};
//========================0.2 Forward Declarations==============================
//forward PlayerName(playerid);
forward Gangs();
forward Keys();
forward Float:GetOptimumRampDistance(playerid);
forward Float:GetXYInFrontOfPlayer(playerid, &Float:x, &Float:y, Float:distance);
forward AddStaticVehicle2(modelid, Float:spawn_x, Float:spawn_y, Float:spawn_z, Float:z_angle, color1, color2);
forward keys2();
forward IsPlayerNameOnline(compname[]);
forward profitup();
forward SetupPlayerForClassSelection(playerid);
forward SetCheckpoint(playerid, i);
forward PlaySoundForPlayer(playerid, soundid);
forward weapreturn(playerid);
forward dteamchatcmd(playerid,params[]);
forward checkpointUpdate();
forward getCheckpointType(playerID);
forward isPlayerInArea(playerID, Float:data[4]);
forward ctimer();
forward resetcount();
forward announcer();
forward scoreupdate();
forward eject();
forward CheckSpeedo(playerid);
forward SystemMsg(playerid,msg[]);
forward resetcar();
forward PhoneCut();
forward Settings();
forward SaveData();
forward SoundForAll(sound);
forward resetmessage();
forward newracestart();
forward kartraceann();
forward kartraceready();
forward startkart();
forward vehiclecheck();
forward raceend();
forward racercheck();
forward hoverraceann();
forward hoverraceready();
forward starthover();
forward quadraceann();
forward quadraceready();
forward startquad();
forward GameModeExitFunc();
forward GetPlayers();
forward SetPlayerRandomSpawn(playerid);
forward SetupPlayerForClassSelection(playerid);
//==============================Settings Files==================================
#define FILE_SETTINGS "settings.ini"
//=============================Max Points/Gangs=================================
#pragma dynamic 40000
#define CallCost 1
#define MAX_CARS 251
#define MAX_POINTS 63
#define BIZ_AMOUNT 60
#define MAX_SCORE 99 //max score for when the round's over
//===============================Checkpoint defines===================================
#define CP_BANK 		20
#define CP_BANK_2 		21
#define CP_BANK_3 		22
#define BIZ1 			23
#define BIZ2			24

//================================Vehicle Defines===============================
new VehicleName[212][0] = {
   "Landstalker",
   "Bravura",
   "Buffalo",
   "Linerunner",
   "Pereniel",
   "Sentinel",
   "Dumper",
   "Firetruck",
   "Trashmaster",
   "Stretch",
   "Manana",
   "Infernus",
   "Voodoo",
   "Pony",
   "Mule",
   "Cheetah",
   "Ambulance",
   "Leviathan",
   "Moonbeam",
   "Esperanto",
   "Taxi",
   "Washington",
   "Bobcat",
   "Mr Whoopee",
   "BF Injection",
   "Hunter",
   "Premier",
   "Enforcer",
   "Securicar",
   "Banshee",
   "Predator",
   "Bus",
   "Rhino",
   "Barracks",
   "Hotknife",
   "Trailer", //artict1
   "Previon",
   "Coach",
   "Cabbie",
   "Stallion",
   "Rumpo",
   "RC Bandit",
   "Romero",
   "Packer",
   "Monster Truck",
   "Admiral",
   "Squalo",
   "Seasparrow",
   "Pizzaboy",
   "Tram",
   "Trailer", //artict2
   "Turismo",
   "Speeder",
   "Reefer",
   "Tropic",
   "Flatbed",
   "Yankee",
   "Caddy",
   "Solair",
   "Berkley's RC Van",
   "Skimmer",
   "PCJ-600",
   "Faggio",
   "Freeway",
   "RC Baron",
   "RC Raider",
   "Glendale",
   "Oceanic",
   "Sanchez",
   "Sparrow",
   "Patriot",
   "Quad",
   "Coastguard",
   "Dinghy",
   "Hermes",
   "Sabre",
   "Rustler",
   "ZR-350",
   "Walton",
   "Regina",
   "Comet",
   "BMX",
   "Burrito",
   "Camper",
   "Marquis",
   "Baggage",
   "Dozer",
   "Maverick",
   "News Chopper",
   "Rancher",
   "FBI Rancher",
   "Virgo",
   "Greenwood",
   "Jetmax",
   "Hotring",
   "Sandking",
   "Blista Compact",
   "Police Maverick",
   "Boxville",
   "Benson",
   "Mesa",
   "RC Goblin",
   "Hotring Racer", //hotrina
   "Hotring Racer", //hotrinb
   "Bloodring Banger",
   "Rancher",
   "Super GT",
   "Elegant",
   "Journey",
   "Bike",
   "Mountain Bike",
   "Beagle",
   "Cropdust",
   "Stunt",
   "Tanker", //petro
   "RoadTrain",
   "Nebula",
   "Majestic",
   "Buccaneer",
   "Shamal",
   "Hydra",
   "FCR-900",
   "NRG-500",
   "HPV1000",
   "Cement Truck",
   "Tow Truck",
   "Fortune",
   "Cadrona",
   "FBI Truck",
   "Willard",
   "Forklift",
   "Tractor",
   "Combine",
   "Feltzer",
   "Remington",
   "Slamvan",
   "Blade",
   "Freight",
   "Streak",
   "Vortex",
   "Vincent",
   "Bullet",
   "Clover",
   "Sadler",
   "Firetruck", //firela
   "Hustler",
   "Intruder",
   "Primo",
   "Cargobob",
   "Tampa",
   "Sunrise",
   "Merit",
   "Utility",
   "Nevada",
   "Yosemite",
   "Windsor",
   "Monster Truck", //monstera
   "Monster Truck", //monsterb
   "Uranus",
   "Jester",
   "Sultan",
   "Stratum",
   "Elegy",
   "Raindance",
   "RC Tiger",
   "Flash",
   "Tahoma",
   "Savanna",
   "Bandito",
   "Freight", //freiflat
   "Trailer", //streakc
   "Kart",
   "Mower",
   "Duneride",
   "Sweeper",
   "Broadway",
   "Tornado",
   "AT-400",
   "DFT-30",
   "Huntley",
   "Stafford",
   "BF-400",
   "Newsvan",
   "Tug",
   "Trailer", //petrotr
   "Emperor",
   "Wayfarer",
   "Euros",
   "Hotdog",
   "Club",
   "Trailer", //freibox
   "Trailer", //artict3
   "Andromada",
   "Dodo",
   "RC Cam",
   "Launch",
   "Police Car (LSPD)",
   "Police Car (SFPD)",
   "Police Car (LVPD)",
   "Police Ranger",
   "Picador",
   "S.W.A.T. Van",
   "Alpha",
   "Phoenix",
   "Glendale",
   "Sadler",
   "Luggage Trailer", //bagboxa
   "Luggage Trailer", //bagboxb
   "Stair Trailer", //tugstair
   "Boxville",
   "Farm Plow", //farmtr1
   "Utility Trailer" //utiltr1
};

new	heavycar[24][0] = {
	{406},
	{444},
	{556},
	{557},
	{573},
	{601},
	{407},
	{427},
	{433},
	{434},
	{499},
	{498},
	{482},
	{431},
	{524},
	{578},
	{455},
	{403},
	{414},
	{443},
	{515},
	{428},
	{408},
	{456}
};
new	boat[11][0] = {
	{472},
	{473},
	{493},
	{595},
	{484},
	{430},
	{453},
	{452},
	{446},
	{454},
	{539}
};
new	mbike[11][0] = {
	{581},
	{521},
	{462},
	{463},
	{468},
	{471},
	{586},
	{522},
	{523},
	{461},
	{448}
};
new	pbike[3][0] = {
	{481},
	{509},
	{510}
};
new	splane[6][0] = {
	{593},
	{512},
	{513},
	{460},
	{464},
	{465}
};
new	mplane[2][0] = {
	{519},
	{511}
};
new	lplane[2][0] = {
	{553},
	{592}
};
new milair[4][0] = {
	{520},
	{476},
	{447},
	{425}
};
new sheli[4][0] = {
	{487},
	{488},
	{469},
	{497}
};
new lheli[3][0] = {
	{417},
	{548},
	{563}
};
//===========================Character Selection Music==========================
#define SOUND_OFF                    			1184
//=================================Team Colors==================================
#define COLOR_GREEN 0x33AA33AA //SF color
#define COLOR_RED 0xAA3333AA //pimp color
#define COLOR_PINK 0xFF66FFAA //triad color
#define COLOR_BLUE 0x0000BBAA //mechanic color
#define COLOR_LIGHTBLUE 0x33CCFFAA //pilot color
#define COLOR_ORANGE 0xFF9900AA //Swat color
#define COLOR_YELLOW 0xFFFF00AA
#define COLOR_PURPLE 0x330066AA
#define COLOR_GREY 0xCCCCCAA
#define COLOR_SKIN 0xFFCC99AA
#define COLOR_DARKGREY 0x333333AA
#define COLOR_DARKRED 0x990000AA
#define RED 0xFF0000AA
#define COLOR_INDIGO 0x4B00B0AA
#define COLOR_BRIGHTRED 0xDC143CAA
#define COLOR_AQUA 0x7CFC00AA
#define COLOR_SYSTEM 0xEFEFF7AA
//===============================Modified DCMD==================================
#define cmd(%1) if((strcmp(cmdtext,%1,true,strlen(%1))==0)&&(((cmdtext[strlen(%1)]==0)&&(d%1(playerid,"")))||((cmdtext[strlen(%1)]==32)&&(d%1(playerid,cmdtext[strlen(%1)+1]))))) return 1
//================================Admin Stuff===================================
enum pInfo
{
    pAdmin,
    pJailedby,
}
//==================================Defines=====================================
new teamchatcmd[]  = "/t";
new gVehicleClass[MAX_VEHICLES];
new gVC;

new playercount[MAX_PLAYERS];
new biznote[MAX_PLAYERS];
new carnote[MAX_PLAYERS];
new Calling[MAX_PLAYERS];
new Answered[MAX_PLAYERS];
new Callerid[MAX_PLAYERS];
new allowprofit[MAX_PLAYERS];
new profit[MAX_PLAYERS];
new totalprofit[MAX_PLAYERS];
new cttmp[256];
new tmpname[256];
new ownername[256];
new propmess[256];
new propcost[MAX_PLAYERS];
new propowned[MAX_PLAYERS];
new buyable[MAX_PLAYERS];
new playerbiz[MAX_PLAYERS];
new Count[MAX_PLAYERS];
new cseconds,cstring[40];
new PlayerInfo[MAX_PLAYERS][pInfo];
new moneyed[MAX_PLAYERS];
new ignition[MAX_PLAYERS];
new secure[MAX_PLAYERS];
new admined[MAX_PLAYERS];
new bought[MAX_PLAYERS];
new carowned[MAX_PLAYERS];
new currentvehicle[MAX_PLAYERS];
new carcost[256];
new server[256];
new passenger[MAX_PLAYERS];
new cartemp[MAX_PLAYERS];
new gTeam[MAX_PLAYERS];
new Spawned[MAX_PLAYERS];
new tmpcar[MAX_PLAYERS];
new welcome[MAX_PLAYERS];
new frozen[MAX_PLAYERS];
new speedo[MAX_PLAYERS];
new messaged[MAX_PLAYERS];
new used[MAX_PLAYERS];
new CashScoreOld;
new tmpcar2[MAX_PLAYERS];
new aMessage[MAX_PLAYERS];
new setd[MAX_PLAYERS];
new propactive[MAX_PLAYERS];
new amount[MAX_PLAYERS];
new biznum[MAX_PLAYERS];
new telemoney[MAX_PLAYERS];
new carbuyable[MAX_PLAYERS];
new bizbuyable[MAX_PLAYERS];
new tempid[MAX_PLAYERS];
new carname[256];
new lockmess[256];
new securemess[256];
new carmess[256];
new password[256];
new oldvehcount;

new Float:g, Float:h, Float:l;
new Float:t, Float:u, Float:o;
//================================Checkpoints===================================
new Float:checkCoords[MAX_POINTS][4] = {
{-36.5483,-57.9948, -17.2655,-49.2967},     	//BANK
{-37.2183,-91.8006, -14.1099,-74.6845},      	//BANK_2
{-34.6621,-31.4095, -2.6782,-25.6232},     		//BANK_3
{2059.7805,1020.1033,2289.0493,1193.4093},
{2055.5642,1533.3348,2200.9768,1753.8568},
{2114.8748,1775.9012,2277.7209,1891.3472},
{2146.1289,1893.4567,2342.6091,1950.9486},
{2137.8066,2038.1023,2223.3726,2143.6411},
{2225.2517,2088.4695,2359.3306,2143.9646},
{1842.4160,1264.5808,2059.4907,1454.3223},
{1968.2183,929.2423,2054.0447,1096.8796},
{2056.7427,1444.7155,2190.7131,1537.8398},
{2537.2771,2232.3604,2664.7832,2461.8420},
{2027.6141,2288.6062,2177.2280,2443.9287},
{2322.5151,1603.0068,2550.0662,1714.9113},
{1976.6951,1846.7843,2138.2932,2028.0287},
{2517.0713,2125.2759,2540.1426,2140.9841},
{2517.1316,2279.6184,2540.0034,2314.0369},
{2309.3223,2231.9849,2239.1592,2263.0171},
{2307.8157,2404.8630,2365.8564,2427.3931},
{2113.8269,1420.0763,2169.8450,1448.3851},
{2133.8765,1424.9305,2158.0867,1449.6304},
{2081.6860,2033.0593,2136.8855,2121.2231},
{2405.2615,2044.4905,2429.2261,2070.7527},
{2512.7620,2292.9004,2538.0837,2316.1021},
{2405.6833,2001.2031,2427.2678,2024.1396},
{2210.8799,1418.5393,2221.6172,1434.6121}, //num24
{1004.0436,1378.4221,1238.1447,1789.2527},
{1303.5311,2043.1515,1575.4657,2310.8394},
{1982.6249,1481.2999,2055.5203,1587.4567},
{2138.1567,908.3344,2207.1643,980.6557},
{2518.3003,2046.3043,2621.8103,2114.5112},
{2501.6440,1985.4578,2550.4285,2055.2839},
{2484.2690,2229.0103,2534.2617,2246.9116},
{2166.9695,1354.7913,2251.1807,1443.4131},
{1921.2307,2014.2312,1995.0787,2118.3655},
{2076.9065,2203.9939,2086.9548,2222.7378},
{2516.0190,2140.3875,2549.2168,2156.4136},
{2579.2708,1827.0596,2638.5925,1869.3435},
{2102.8501,2225.0020,2128.5029,2233.7532},
{2341.3113,2023.0891,2418.6460,2059.8914},
{2601.2441,1656.5068,2637.8970,1678.0903},
{2336.8066,2054.1135,2403.8230,2083.4001},
{2421.8442,1971.7770,2507.7588,2059.8337},
{1101.3241,2043.9854,1189.1630,2148.9053},
{2427.3594,2044.5748,2449.6052,2070.0330},
{2467.3035,2037.6560,2527.0105,2068.9089},
{2347.1316,2086.8259,2436.4583,2143.5769},
{2102.3923,2232.8354,2132.9700,2279.6086},
{2086.9155,2206.2480,2095.4680,2223.6389},
{2404.2832,1967.7424,2439.7622,2000.2843},
{2172.5940,1458.2136,2201.1655,1537.2443},
{2094.0740,2204.3918,2104.2151,2223.1936},
{2206.0823,1947.1849,2137.1362,2023.3031},
{2449.7007,2043.6879,2469.7415,2074.7456},
{2503.3691,1940.5511,2610.8059,2002.4291},
{2514.7412,2153.7595,2546.4314,2176.9170},
{2515.2012,2324.6948,2542.5288,2350.3384},
{2089.9951,2107.3723,2129.4351,2138.4326},
{2035.4915,2104.2634,2089.2329,2126.5642},
{2337.3936,1961.5359,2392.2026,2023.3726},
{2197.4590,1418.8319,2212.3408,1436.3138},
{2219.5940,1416.0967,2250.4465,1436.7446}
};

new Float:checkpoints[MAX_POINTS][4] = {
{-22.2549,-55.6575,1003.5469,2.5},
{-23.0664,-90.0882,1003.5469,2.5},
{-33.9593,-29.0792,1003.5573,2.5},
{2181.2170,1117.3793,12.2120,2.5},
{2185.4421,1691.4431,10.6553,2.5},
{2219.9041,1839.5925,10.3847,2.5},
{2162.7468,1903.8865,10.3884,2.5},
{2167.2166,2117.6150,10.3809,2.5},
{2317.3208,2117.7710,10.3882,2.5},
{1934.8152,1344.3130,9.5411,2.5},
{2028.6173,997.6895,10.3901,2.5},
{2139.1824,1483.6544,10.3850,2.5},
{2634.2117,2342.9260,10.2322,2.5},
{2127.1482,2374.2432,10.3928,2.5},
{2433.9910,1694.5219,10.3891,2.5},
{2027.4666,1919.8239,11.8970,2.5},
{2535.0242,2137.1760,10.3844,2.5},
{2533.9272,2290.7966,10.3965,2.5},
{2292.8953,2250.4241,10.3915,2.5},
{2327.7629,2418.4009,10.3137,2.5},
{2125.8101,1439.5314,10.3825,2.5},
{2144.4243,1438.7078,10.3857,2.5},
{2088.1013,2080.2449,10.5105,2.5},
{2413.2683,2063.5012,10.3790,2.5},
{2516.7546,2302.4880,10.3827,2.5},
{2412.0635,2016.4637,10.3789,2.5},
{2215.1062,1431.6699,10.6265,2.5},
{1098.4010,1611.0776,12.1107,2.5},
{1479.4565,2252.0762,10.5973,2.5},
{2004.3060,1544.7435,13.1615,2.5},
{2155.3611,937.0895,10.3759,2.5},
{2536.4421,2078.7681,10.3914,2.5},
{2518.4578,2033.5502,10.6029,2.5},
{2500.1050,2240.7932,10.3955,2.5},
{2200.1270,1388.8220,10.3802,2.5},
{1945.0096,2069.8103,10.3847,2.5},
{2081.3513,2221.6086,10.3705,2.5},
{2537.7957,2151.2844,10.3940,2.5},
{2634.9871,1845.2051,10.5572,2.5},
{2107.3560,2229.2830,10.7454,2.5},
{2395.3364,2044.5300,10.3796,2.5},
{2635.2498,1673.8412,10.5941,2.5},
{2364.5168,2076.1494,10.3798,2.5},
{2464.9089,2034.4392,10.5851,2.5},
{1162.8470,2070.3850,10.3921,2.5},
{2436.7664,2061.3137,10.3951,2.5},
{2490.2861,2062.2139,10.3753,2.5},
{2366.6399,2123.9949,10.4007,2.5},
{2106.3506,2250.8586,10.5889,2.5},
{2090.6064,2220.4714,10.3877,2.5},
{2411.2610,1992.9418,10.3783,2.5},
{2195.4019,1469.8882,10.3641,2.5},
{2095.6563,2221.7317,10.3953,2.5},
{2192.3142,1986.8772,11.6534,2.5},
{2456.7498,2060.2307,10.3932,2.5},
{2542.1289,1969.6676,10.3852,2.5},
{2536.7393,2162.0422,10.3918,2.5},
{2519.7532,2335.0073,10.3927,2.5},
{2099.8533,2120.0144,10.3961,2.5},
{2070.7163,2120.6021,10.3895,2.5},
{2366.6096,1981.6423,10.3858,2.5},
{2206.2791,1431.5449,10.6267,2.5},
{2228.6863,1431.7811,10.6125,2.5}
};
//=================================Save Player Pos==============================
enum SavePlayerPosEnum
{
    Float:LastX,
    Float:LastY,
    Float:LastZ
}
new SavePlayerPos[MAX_PLAYERS][SavePlayerPosEnum];
//=================================Checkpoint Type==============================

//================================More Defines==================================
new Float:ta, Float:tb, Float:tc;
new logged[MAX_PLAYERS];
new bank[999];
new PlayerInterior[MAX_PLAYERS];
new carused[MAX_PLAYERS];
new playerCheckpoint[MAX_PLAYERS];
new reset[MAX_PLAYERS];
new ejected[MAX_PLAYERS];
//================================Global Defines================================
new Float:Pos[MAX_PLAYERS][4];
//new tk[MAX_PLAYERS];
//================================Main Info=====================================
				main()
				{
				print(" ");
				print("\n--------------------------------------");
				print(" Gamemode cazzutissima By Djcenzo!!!");
				print("--------------------------------------\n");}
//=================================Telephone====================================
public PhoneCut()
{
	for (new i = 0; i < MAX_PLAYERS; i++)
	{
		if (IsPlayerConnected(i))
		{
			if (Calling[i] > -1 && Answered[i] == 1 && Callerid[i] == 1)
			{
				if (GetPlayerMoney(i) >= CallCost)
				{
					GivePlayerMoney(i, -CallCost);
				}
				if (GetPlayerMoney(i) < CallCost)
				{
					SendClientMessage(i, COLOR_BRIGHTRED, "Credito: NN hai abbastanza credito x effettuare la chiamata");
					SendClientMessage(Calling[i], COLOR_BRIGHTRED, "Credito: il credito del tuo ricevente nn ha credito");
					Calling[Calling[i]] = -1;
					Answered[Calling[i]] = 0;
					Calling[i] = -1;
					Answered[i] = 0;
					Callerid[i] = 0;
				}
			}
		}
	}
	return 1;
}

public OnPlayerText(playerid, text[])
{
	if (Calling[playerid] > -1 && Answered[playerid] == 1)
	{
    	new string[256];
		new sendername[MAX_PLAYER_NAME];
		GetPlayerName(playerid, sendername, sizeof(sendername));
		format(string, sizeof(string), "%s: %s", sendername, text);
		SendClientMessage(Calling[playerid], COLOR_YELLOW, string);
		format(string, sizeof(string), "%s: %s", sendername, text);
		SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
		format(string, sizeof(string), "%s: %s", sendername, text);
		print(string);
		format(string, sizeof(string), "%s: %s", sendername, text);
		print(string);
		return 0;
	}
	return 1;
}
//================================GameMode Exit=================================
public OnGameModeExit()
{
	dini_IntSet(FILE_SETTINGS,"vehicleresetcount",gVC);
	return 1;
}
//===============================Gamemode Start=================================
public OnGameModeInit()
{
	print("\n \nGameModeInit(SFTDM Reloaded 2.0)");
	SetGameModeText("SFTDM Reloaded 2.0");
    ShowNameTags(1);
	ShowPlayerMarkers(1);
	SetWorldTime(12);
	SetTimer("CheckSpeedo", 700, 1);
	SetTimer("SaveData",1000,1);
    SetTimer("Settings",1000,1);
    SetTimer("checkpointUpdate",100, 1);
    SetTimer("scoreupdate",1000,1);
    SetTimer("ctimer",1000,1);
    SetTimer("profitup",300000,1);
    SetTimer("PhoneCut",1000,1);
	oldvehcount = dini_Int(FILE_SETTINGS,"vehicleresetcount");
//==============================ALL GAME TEAMS==================================
	//Classes Note: Some of the Classes are Cams so give Credit to him too
    AddPlayerClass(105,2508.0906,-1672.3979,13.3785,88.5103,29,9999,25,600,24,9999);//GROVE
	AddPlayerClass(106,2508.0906,-1672.3979,13.3785,88.5103,29,9999,25,600,24,9999);//GROVE
    AddPlayerClass(107,2508.0906,-1672.3979,13.3785,88.5103,29,9999,25,600,24,9999);//GROVE
    AddPlayerClass(102,2070.2710,-1570.2823,13.4166,183.6345,32,9999,22,600,33,9999);//BALLAS
	AddPlayerClass(103,2070.2710,-1570.2823,13.4166,183.6345,32,9999,22,600,33,1000);//BALLAS
	AddPlayerClass(104,2070.2710,-1570.2823,13.4166,183.6345,32,9999,22,600,33,1000);//BALLAS
	AddPlayerClass(111,2303.5532,-1646.3413,14.5748,5843,31,9999,23,600,27,9999);//MAFIA
	AddPlayerClass(112,2303.5532,-1646.3413,14.5748,200.5843,31,9999,23,600,27,9999);//MAFIA
	AddPlayerClass(113,2303.5532,-1646.3413,14.5748,200.5843,31,9999,23,600,27,9999);//MAFIA
	AddPlayerClass(125,2303.5532,-1646.3413,14.5748,200.5843,31,9999,23,600,27,9999);//MAFIA
	AddPlayerClass(126,2303.5532,-1646.3413,14.5748,200.5843,31,9999,23,600,27,9999);//MAFIA
	AddPlayerClass(127,2303.5532,-1646.3413,14.5748,200.5843,31,9999,23,600,27,9999);//MAFIA
//--------------------------oGGETTI NEL GIOCO
    CreateObject(17649, 431.200256, 2504.980225, 26.588377, 0.0000, 0.0000, 270.0000);
    CreateObject(17648, 561.375183, 2504.671631, 51.153313, 0.0000, 0.0000, 0.0000);
    CreateObject(17646, 657.366821, 2505.814697, 73.422668, 0.0000, 0.0000, 0.0000);
    CreateObject(13641, -71.113152, 2517.696045, 17.211430, 0.0000, 0.0000, 180.0000);
    CreateObject(13641, -70.806374, 2484.993164, 17.203619, 0.0000, 0.0000, 180.0000);
    CreateObject(1225, -74.664360, 2497.045410, 15.890130, 0.0000, 0.0000, 0.0000);
    CreateObject(1225, -74.708237, 2498.431885, 15.890130, 0.0000, 0.0000, 0.0000);
    CreateObject(1225, -74.717842, 2499.712158, 15.890130, 0.0000, 0.0000, 0.0000);
    CreateObject(1468, 1394.626465, -1493.467407, 8.940784, 0.0000, 0.0000, 22.5000);
    CreateObject(1468, 1392.769897, -1497.134399, 8.932633, 0.0000, 0.0000, 101.2500);
    CreateObject(1468, 1392.619263, -1502.405029, 9.103429, 0.0000, 0.0000, 78.7500);
    CreateObject(1468, 1370.104248, -1695.957886, 10.075154, 0.0000, 0.0000, 337.5000);
    CreateObject(1435, 1369.512207, -1696.458740, 8.683296, 0.0000, 0.0000, 337.5000);
    CreateObject(1225, 1442.223267, -1724.964355, 6.265130, 0.0000, 0.0000, 341.9518);
    CreateObject(1225, 1452.616455, -1724.066895, 6.265130, 0.0000, 0.0000, 0.0000);
    CreateObject(1225, 1461.087646, -1729.621582, 6.265130, 0.0000, 0.0000, 0.0000);
    CreateObject(1225, 1478.504395, -1729.959473, 6.177245, 0.0000, 0.0000, 0.0000);
    CreateObject(1225, 1486.373291, -1731.798828, 6.109791, 0.0000, 0.0000, 0.0000);
    CreateObject(1225, 1494.291016, -1734.113525, 6.025346, 0.0000, 0.0000, 0.0000);
    CreateObject(1225, 1501.156006, -1735.759399, 5.900290, 0.0000, 0.0000, 0.0000);
    CreateObject(1225, 1512.981079, -1742.356934, 5.595929, 0.0000, 0.0000, 0.0000);
    CreateObject(1225, 1522.654663, -1741.363281, 5.297596, 0.0000, 0.0000, 0.0000);
    CreateObject(1225, 1531.790039, -1747.530151, 4.961175, 0.0000, 0.0000, 0.0000);
    CreateObject(1225, 1543.599243, -1746.538086, 4.664447, 0.0000, 0.0000, 0.0000);
    CreateObject(1225, 1552.951294, -1752.656738, 4.398565, 0.0000, 0.0000, 0.0000);
    CreateObject(972, 1632.507935, -1761.807983, 2.956565, 0.0000, 5.1566, 77.0311);
    CreateObject(1459, 1681.206055, -1772.539795, 3.582509, 0.0000, 0.0000, 78.7500);
    CreateObject(1459, 1691.756226, -1778.857544, 3.587663, 0.0000, 0.0000, 78.7500);
    CreateObject(1425, 1707.344849, -1778.046753, 3.440725, 0.0000, 0.0000, 258.7500);
    CreateObject(1425, 1709.528198, -1781.494751, 3.441258, 0.0000, 0.0000, 258.7500);
    CreateObject(1225, 1710.040405, -1779.013428, 3.394641, 0.0000, 0.0000, 0.0000);
    CreateObject(1225, 1711.365845, -1781.620117, 3.394965, 0.0000, 0.0000, 0.0000);
    CreateObject(1225, 1710.429199, -1780.251099, 3.394736, 0.0000, 0.0000, 0.0000);
    CreateObject(1225, 1710.279297, -1780.153198, 4.556879, 0.0000, 0.0000, 0.0000);
    CreateObject(1425, 1779.118286, -1805.589111, 3.436872, 0.0000, 359.1406, 263.0472);
    CreateObject(1427, 1778.956787, -1802.454590, 3.531519, 0.0000, 0.0000, 78.7500);
    CreateObject(1225, 1780.208008, -1803.666992, 3.390130, 0.0000, 0.0000, 0.0000);
    CreateObject(1225, 1779.917114, -1804.450562, 3.390130, 0.0000, 0.0000, 0.0000);
    CreateObject(1225, 1780.112183, -1803.612671, 4.578326, 0.0000, 0.0000, 0.0000);
    CreateObject(1225, 1778.444214, -1803.772705, 3.390130, 0.0000, 0.0000, 0.0000);
    CreateObject(1225, 1779.898438, -1804.431763, 4.592835, 0.0000, 0.0000, 0.0000);
    CreateObject(1225, 1925.444580, -1837.112671, 3.390130, 0.0000, 0.0000, 0.0000);
    CreateObject(1225, 1925.631348, -1836.170898, 3.390130, 0.0000, 0.0000, 0.0000);
    CreateObject(1225, 1925.210083, -1837.990967, 3.390130, 0.0000, 0.0000, 0.0000);
    CreateObject(1225, 1925.869141, -1835.095703, 3.390130, 0.0000, 0.0000, 0.0000);
    CreateObject(1634, 1935.481689, -1830.334106, 7.375443, 0.0000, 359.1406, 263.0472);
    CreateObject(8673, 1969.153076, -1855.915405, 4.785847, 0.0000, 0.0000, 356.5623);
    CreateObject(1245, 2049.428223, -1856.285156, 4.478594, 0.0000, 0.0000, 180.0000);
    CreateObject(1225, 2124.179443, -1847.204468, 3.396777, 0.0000, 0.0000, 0.0000);
    CreateObject(1225, 2109.890381, -1856.170166, 3.390130, 0.0000, 0.0000, 0.0000);
    CreateObject(1225, 2111.192139, -1847.503540, 3.390130, 0.0000, 0.0000, 0.0000);
    CreateObject(1634, 2378.443115, -1842.963135, 1.985800, 0.0000, 0.0000, 270.0000);
    CreateObject(1225, 2393.512695, -1874.987305, 8.679193, 0.0000, 0.0000, 0.0000);
    CreateObject(1225, 2401.154541, -1874.904785, 8.679193, 0.0000, 0.0000, 348.7500);
    CreateObject(979, 2093.700684, -1836.549927, 12.939700, 0.0000, 0.0000, 56.2500);
    CreateObject(1634, 2162.965332, -1854.621826, 4.281693, 0.0000, 0.0000, 269.9999);
    CreateObject(1425, 2295.916992, -1855.581543, -0.681987, 0.0000, 0.0000, 258.7500);
    CreateObject(1245, 2377.239746, -1875.759888, 9.761010, 0.0000, 0.0000, 180.0000);
    CreateObject(18290, 2581.210693, -1872.727661, 5.170115, 0.0000, 18.0482, 55.5452);
    CreateObject(16669, 2583.090332, -1897.540894, 4.181419, 0.0000, 0.0000, 90.0000);
    CreateObject(1245, 2566.381104, -1768.051025, 2.128197, 0.0000, 0.0000, 270.0000);
    CreateObject(1225, 2674.223389, -1433.664429, 15.662984, 0.0000, 0.0000, 0.0000);
    CreateObject(1225, 2674.255615, -1436.002441, 15.655755, 0.0000, 0.0000, 0.0000);
    CreateObject(1225, 2673.345947, -1435.779541, 15.662984, 0.0000, 0.0000, 0.0000);
    CreateObject(1634, 2599.230957, -1695.640747, 1.948110, 0.0000, 0.0000, 180.0000);
    CreateObject(1634, 2583.925293, -1903.135498, 4.159252, 0.0000, 0.0000, 171.3283);
	
//========================ALL GAME VEHICLES AND PICKUPS=========================
//----------------------------------Vehicles------------------------------------
	AddStaticVehicle(411,2518.8787,-1684.2831,13.1937,52.0758,64,1); // remintong grove
    AddStaticVehicle(560,2506.4358,-1693.9718,13.2608,1.4113,1,39); // sultan trukkata grove
    AddStaticVehicle(522,2433.7410,-1671.0415,13.1613,349.5496,3,8); // nrg 500 grove
    AddStaticVehicle(522,2432.8293,-1671.1030,13.1555,349.1795,6,25); // nrg 500 grove 2
    AddStaticVehicle(522,2431.9426,-1671.0377,13.1644,348.6516,7,79); // nrg 500 grove 3
    AddStaticVehicle(522,2431.0623,-1670.9467,13.1609,348.1337,8,82); // nrg 500 grove 4
    AddStaticVehicle(522,2430.1785,-1670.8535,13.1582,347.9308,36,105); // nrg 500 grove 5
    AddStaticVehicle(411,2442.7993,-1646.1359,13.2035,178.5755,123,1); // savanna1 grove
    AddStaticVehicle(411,2455.2522,-1665.7228,13.2006,87.5659,116,1); // savanna2 grove
    AddStaticVehicle(411,2490.9226,-1682.4877,13.0638,90.6356,112,1); // grenwood grove 1
    AddStaticVehicle(411,2473.7646,-1691.3702,13.2408,2.7877,106,1); // greenwood grove2
    AddStaticVehicle(411,2427.3853,-1639.4136,13.1905,186.6326,80,1); // remintong grove
    AddStaticVehicle(411,2383.5498,-1645.9495,13.2549,178.7280,75,1); // savanna4 grove
    AddStaticVehicle(522,2297.2246,-1630.5723,14.2744,180.3242,39,106); // nrg500 mafia1
    AddStaticVehicle(522,2298.1274,-1630.7581,14.2397,180.3025,51,118); // nrg500 mafia2
    AddStaticVehicle(522,2299.0303,-1630.9463,14.2242,180.2813,3,3); // nrg500 mafia3
    AddStaticVehicle(522,2299.9333,-1631.1345,14.2108,180.2503,3,8); // nrg500 mafia4
    AddStaticVehicle(522,2300.8367,-1631.3234,14.1940,180.1998,6,25); // nrg500 mafia5
    AddStaticVehicle(411,2294.0591,-1684.2192,13.5474,359.2083,12,1); // infernus nafia
    AddStaticVehicle(411,2290.6267,-1684.0750,13.5687,359.7349,64,1); // infernus mafia1
    AddStaticVehicle(411,2287.9636,-1684.1881,13.5904,0.8292,123,1); // infernus mafia2
    AddStaticVehicle(411,2284.8530,-1684.1437,13.6493,1.8612,116,1); // infernus mafia3



	
	
	
    //----------------------218/250 Cars in Use
    //49/50 Car Types in Use

	for(new i=1;i<=gVC;i++)
	{
	    carcost[i] = 50000;
    	for(new s=0; s<24; s++)
		{
     		if(gVehicleClass[i] == heavycar[s][0])
			{
       			carcost[i] = 100000;
   	        }
		}
		for(new a=0; a<11; a++)
		{
     		if(gVehicleClass[i] == boat[a][0])
	 		{
       			carcost[i] = 50000;
   	        }
		}
		for(new b=0; b<11; b++){
     		if(gVehicleClass[i] == mbike[b][0])
			 {
       			carcost[i] = 40000;
   	        }
		}
		for(new d=0; d<3; d++)
		{
     		if(gVehicleClass[i] == pbike[d][0])
			{
       			carcost[i] = 3000;
   	        }
		}
		for(new e=0; e<6; e++)
		{
     		if(gVehicleClass[i] == splane[e][0])
			 {
       			carcost[i] = 500000;
   	        }
		}
		for(new f=0; f<2; f++)
		{
     		if(gVehicleClass[i] == mplane[f][0])
			{
       			carcost[i] = 1500000;
   	        }
		}
		for(new v=0; v<2; v++)
		{
     		if(gVehicleClass[i] == lplane[v][0])
			 {
       			carcost[i] = 2000000;
   	        }
		}
		for(new n=0; n<4; n++)
		{
     		if(gVehicleClass[i] == milair[n][0])
			{
       			carcost[i] = 4000000;
   	        }
		}
		for(new j=0; j<4; j++)
		{
     		if(gVehicleClass[i] == sheli[j][0])
			{
       			carcost[i] = 750000;
   	        }
		}
		for(new k=0; k<3; k++)
		{
     		if(gVehicleClass[i] == lheli[k][0])
			{
       			carcost[i] = 1250000;
   	        }
		}
		format(tmpname,sizeof(tmpname),"%d",i);
		format(carname,sizeof(carname),"%s", VehicleName[gVehicleClass[i]-400][0]);
		if (!dini_Exists(tmpname))
		{
    	    	dini_Create(tmpname);
				dini_Set(tmpname, "owner", "server");
				dini_Set(tmpname, "carname", carname);
				dini_IntSet(tmpname, "carcost", carcost[i]);
				dini_IntSet(tmpname, "carlock", 0);
				dini_IntSet(tmpname, "bought", 0);
				dini_IntSet(tmpname, "secure", 0);
				dini_IntSet(tmpname, "asecure", 0);
				dini_IntSet(tmpname, "used", 0);
				dini_IntSet(tmpname, "buybar", 0);
				GetVehiclePos(i,t,u,o);
        		dini_IntSet(tmpname, "sx", floatround(t));
        		dini_IntSet(tmpname, "sy", floatround(u));
        		dini_IntSet(tmpname, "sz", floatround(o));
    	}
    	if(gVC != oldvehcount)
		{
            format(tmpname,sizeof(tmpname),"%d",i);
			format(carname,sizeof(carname),"%s", VehicleName[gVehicleClass[i]-400][0]);
  			dini_Create(tmpname);
			dini_Set(tmpname, "owner", "server");
			dini_Set(tmpname, "carname", carname);
			dini_IntSet(tmpname, "carcost", carcost[i]);
			dini_IntSet(tmpname, "carlock", 0);
			dini_IntSet(tmpname, "bought", 0);
			dini_IntSet(tmpname, "secure", 0);
			dini_IntSet(tmpname, "asecure", 0);
			dini_IntSet(tmpname, "used", 0);
			dini_IntSet(tmpname, "buybar", 0);
			GetVehiclePos(i,t,u,o);
 			dini_IntSet(tmpname, "sx", floatround(t));
 			dini_IntSet(tmpname, "sy", floatround(u));
 			dini_IntSet(tmpname, "sz", floatround(o));
		}
	}
    for(new p=0; p <= gVC; p++)
	{
        new filename[256];
        format(filename, sizeof(filename), "%d", p);
        if (dini_Exists(filename))
		{
			dini_IntSet(filename, "used", 0);
		}
    }
	for(new tempb=1;tempb<=BIZ_AMOUNT;tempb++)
	{
    	if(tempb >= 1 && tempb <=9)
		{
 			propcost[tempb] = 14000000;
 			profit[tempb] = 7500;
		}
		if(tempb >= 10 && tempb <=13)
		{
 			propcost[tempb] = 11000000;
 			profit[tempb] = 4750;
		}
		if(tempb >= 14 && tempb <=19)
		{
 			propcost[tempb] = 11000;
 			profit[tempb] = 55;
		}
		if(tempb >= 20 && tempb <=24)
		{
 			propcost[tempb] = 1200000;
 			profit[tempb] = 600;
		}
		if(tempb >= 25)
		{
 			propcost[tempb] = 20000000;
 			profit[tempb] = 10000;
		}
		if(tempb >= 26)
		{
 			propcost[tempb] = 18000000;
 			profit[tempb] = 8500;
		}
		if(tempb >= 27)
		{
 			propcost[tempb] = 15000000;
 			profit[tempb] = 8000;
		}
		if(tempb >= 28 && tempb <=29)
		{
 			propcost[tempb] = 2500000;
 			profit[tempb] = 800;
		}
		if(tempb >= 30 && tempb <=31)
		{
 			propcost[tempb] = 850000;
 			profit[tempb] = 290;
		}
		if(tempb >= 32 && tempb <=33)
		{
 			propcost[tempb] = 900000;
 			profit[tempb] = 330;
		}
		if(tempb >= 34 && tempb <=36)
		{
 			propcost[tempb] = 500000;
 			profit[tempb] = 230;
		}
		if(tempb >= 37 && tempb <=39)
		{
 			propcost[tempb] = 600000;
 			profit[tempb] = 250;
		}
		if(tempb >= 40 && tempb <=42)
		{
 			propcost[tempb] = 700000;
 			profit[tempb] = 290;
		}
		if(tempb == 43)
		{
 			propcost[tempb] = 1200000;
 			profit[tempb] = 690;
		}
		if(tempb == 44)
		{
 			propcost[tempb] = 1100000;
 			profit[tempb] = 590;
		}
		if(tempb == 45)
		{
 			propcost[tempb] = 650000;
 			profit[tempb] = 200;
		}
		if(tempb == 46)
		{
 			propcost[tempb] = 800000;
 			profit[tempb] = 225;
		}
		if(tempb == 47)
		{
 			propcost[tempb] = 1000000;
 			profit[tempb] = 490;
		}
		if(tempb >= 48 && tempb <=49)
		{
 			propcost[tempb] = 25000;
 			profit[tempb] = 99;
		}
		if(tempb >= 50 && tempb <=53)
		{
 			propcost[tempb] = 80000;
 			profit[tempb] = 175;
		}
		if(tempb >= 54 && tempb <=60)
		{
 			propcost[tempb] = 50000;
 			profit[tempb] = 99;
		}
		format(tmpname,sizeof(tmpname),"BIZ%d",tempb);
		if (!dini_Exists(tmpname))
		{
    	    	dini_Create(tmpname);
				dini_Set(tmpname, "owner", "server");
				dini_IntSet(tmpname, "propcost", propcost[tempb]);
				dini_IntSet(tmpname, "profit", profit[tempb]);
				dini_IntSet(tmpname, "totalprofit", 0);
				dini_IntSet(tmpname, "bought", 0);
				dini_IntSet(tmpname, "idnumber", tempb);
				dini_IntSet(tmpname, "buybar", 0);

    	}
//-----------------------------------Pickups------------------------------------

	}
	return 1;
}
//============================Is Player Name Online=============================
public IsPlayerNameOnline(compname[])
{
	new playername[MAX_PLAYER_NAME];
    for(new i=0;i<=MAX_PLAYERS;i++)
	{
        if(IsPlayerConnected(i))
		{
            GetPlayerName(i, playername, sizeof(playername));
            if(strcmp(playername,compname,false) == 0)
			{
                return i;
			}
		}
	}
	return 100;
}
//=================================Biz Profit===================================
public profitup()
{
	for(new tempa=1;tempa<=BIZ_AMOUNT;tempa++)
	{
		format(tmpname,sizeof(tmpname),"BIZ%d",tempa);
	 	propowned[tempa] = dini_Int(tmpname, "bought");
		if (propowned[tempa] == 1)
		{
		    new tmp[256];
			totalprofit[tempa] = dini_Int(tmpname, "totalprofit");
			profit[tempa] = dini_Int(tmpname, "profit");
			tmp[tempa] = profit[tempa]+totalprofit[tempa];
			dini_IntSet(tmpname, "totalprofit", tmp[tempa]);
    	}
	}
	for(new i=0;i<=MAX_PLAYERS;i++)
	{
	    if(IsPlayerConnected(i))
		{
	    	new ownera[MAX_PLAYERS],playername[256];
		   	GetPlayerName(i, playername, sizeof(playername));
		    ownera[i] = dini_Int(udb_encode(playername),"bizowned");
	    	if(ownera[i] > 0)
			{
				SendClientMessage(i,COLOR_LIGHTBLUE,"The profit for your property has been updated. Return to your owned property");
    			SendClientMessage(i,COLOR_LIGHTBLUE,"checkpoint and type /getprofit to claim your business's takings.");
			}
		}
	}
	return 1;
}
//===========================Define AddStaticVehicle2===========================
public AddStaticVehicle2(modelid, Float:spawn_x, Float:spawn_y, Float:spawn_z, Float:z_angle, color1, color2)
{
	if(gVC<=MAX_CARS)
	{
		gVC++;
		gVehicleClass[gVC] = modelid;
		AddStaticVehicle(modelid, spawn_x, spawn_y, spawn_z, z_angle, color1, color2);
	}
}
//------------------------------------------------------------------------------
//==========================Selection Screen Stuff==============================
public OnPlayerRequestClass(playerid, classid);
class[playerid]=classid;if(bad[class[playerid]]==1)GameTextForPlayer(playerid,"~r~(~w~LOCKED~r~)",5000,3);
//--------------------------Selection Screen Colors-----------------------------
{
 if(classid == 0)
	{
		GameTextForPlayer(playerid, "~g~FAMIGLIE DI GROVE STREET", 2000, 5);
		SetPlayerColor(playerid,COLOR_GREEN);
		gTeam[playerid] = TEAM_WORKER;
 if(bad[class[playerid]]==1&&!IsPlayerAdmin(playerid))
        {SendClientMessage(playerid,COLOR_RED,"- Non puoi selezionare questa class poiché è lockata.");
        return 0;}
 if(inrequest[playerid]==1)
 {     if(bad[class[playerid]]==1)bad[class[playerid]]=0;else bad[class[playerid]]=1;return 0;}
	}
	else if(classid == 1)
	{
		GameTextForPlayer(playerid, "~g~FAMIGLIE DI GROVE STREET", 2000, 5);
		SetPlayerColor(playerid,COLOR_GREEN);
		gTeam[playerid] = TEAM_WORKER;
	}
	else if(classid == 2)

	{
		GameTextForPlayer(playerid, "~g~FAMIGLIE DI GROVE STREET", 2000, 5);
		SetPlayerColor(playerid,COLOR_GREEN);
		gTeam[playerid] = TEAM_WORKER;
		
    }
    else if(classid == 3)
    {
		GameTextForPlayer(playerid, "~r~BALLAS", 2000, 5);
		SetPlayerColor(playerid,COLOR_PINK);
		gTeam[playerid] = TEAM_TRIAD;
	}
 	else if(classid == 4)
    {
		GameTextForPlayer(playerid, "~r~BALLAS", 2000, 5);
		SetPlayerColor(playerid,COLOR_PINK);
		gTeam[playerid] = TEAM_ARMY;
	}
	else if(classid == 5)
	{
		GameTextForPlayer(playerid, "~r~BALLAS", 2000, 5);
		SetPlayerColor(playerid,COLOR_PINK);
		gTeam[playerid] = TEAM_VALET;
	}
 	else if(classid == 6)
	{
		GameTextForPlayer(playerid, "~w~MAFIOSO", 2000, 5);
		SetPlayerColor(playerid,COLOR_GREY);
		gTeam[playerid] = TEAM_MEDIC;
	}
	else if(classid == 7)
	{
		GameTextForPlayer(playerid, "~w~MAFIOSO", 2000, 5);
		SetPlayerColor(playerid,COLOR_GREY);
		gTeam[playerid] = TEAM_FBI;
	}
	else if(classid == 8)
	{
		GameTextForPlayer(playerid, "~w~BOSS MAFIA", 2000, 5);
		SetPlayerColor(playerid,COLOR_GREY);
		gTeam[playerid] = TEAM_CHICKEN;
	}
	else if(classid == 9)
	{
		GameTextForPlayer(playerid, "~w~MAFIOSO", 2000, 5);
	 	SetPlayerColor(playerid,COLOR_SKIN);
	 	gTeam[playerid] = TEAM_RICH;
	}
	else if(classid == 10)
	{
		GameTextForPlayer(playerid, "~w~MAFIOSO", 2000, 5);
		SetPlayerColor(playerid,COLOR_DARKGREY);
		gTeam[playerid] = TEAM_PILOT;
	}
  	else if(classid == 11)
	{
		GameTextForPlayer(playerid, "~w~MAFIOSO", 2000, 5);
		SetPlayerColor(playerid,COLOR_DARKRED);
		gTeam[playerid] = TEAM_DANANG;
	}
//---------------------Player Selection Screen Locations------------------------
	//-------------------------------GROVE
	if(classid == 0)
	{
	SetPlayerInterior(playerid,0);
    SetPlayerFacingAngle(playerid, 90.0);
    SetPlayerPos(playerid, 1979.3451,1329.2415,10.0156);
	SetPlayerCameraPos(playerid, 1973.2175,1329.5684,10.0156);
	SetPlayerCameraLookAt(playerid, 1973.2175,1329.5684,10.0156);
	return 1;
	}
	//-------------------------------Pimp
	else if(classid ==1)
	{
	SetPlayerInterior(playerid,0);
    SetPlayerFacingAngle(playerid, 90.0);
    SetPlayerPos(playerid, 1979.3451,1329.2415,10.0156);
	SetPlayerCameraPos(playerid, 1973.2175,1329.5684,10.0156);
	SetPlayerCameraLookAt(playerid, 1973.2175,1329.5684,10.0156);
	return 1;
	}
	//-------------------------------Golfer
	else if(classid == 2)
	{
	SetPlayerInterior(playerid,0);
    SetPlayerFacingAngle(playerid, 90.0);
    SetPlayerPos(playerid, 1979.3451,1329.2415,10.0156);
	SetPlayerCameraPos(playerid, 1973.2175,1329.5684,10.0156);
	SetPlayerCameraLookAt(playerid, 1973.2175,1329.5684,10.0156);
	return 1;
	}
	//-------------------------------Triad
	else if(classid == 3)
	{
	SetPlayerInterior(playerid,0);
    SetPlayerFacingAngle(playerid, 90.0);
    SetPlayerPos(playerid, 1979.3451,1329.2415,10.0156);
	SetPlayerCameraPos(playerid, 1973.2175,1329.5684,10.0156);
	SetPlayerCameraLookAt(playerid, 1973.2175,1329.5684,10.0156);
	return 1;
	}
	//-------------------------------Army
	else if(classid == 4)
	{
	SetPlayerInterior(playerid,0);
    SetPlayerFacingAngle(playerid, 90.0);
    SetPlayerPos(playerid, 1979.3451,1329.2415,10.0156);
	SetPlayerCameraPos(playerid, 1973.2175,1329.5684,10.0156);
	SetPlayerCameraLookAt(playerid, 1973.2175,1329.5684,10.0156);
	return 1;
	}
	//-------------------------------Valet
	else if(classid == 5)
	{
    SetPlayerInterior(playerid,0);
    SetPlayerFacingAngle(playerid, 90.0);
    SetPlayerPos(playerid, 1979.3451,1329.2415,10.0156);
	SetPlayerCameraPos(playerid, 1973.2175,1329.5684,10.0156);
	SetPlayerCameraLookAt(playerid, 1973.2175,1329.5684,10.0156);
	return 1;
	}
	//-------------------------------Medic
	else if(classid == 6)
	{
	SetPlayerInterior(playerid,0);
    SetPlayerFacingAngle(playerid, 90.0);
    SetPlayerPos(playerid, 1979.3451,1329.2415,10.0156);
	SetPlayerCameraPos(playerid, 1973.2175,1329.5684,10.0156);
	SetPlayerCameraLookAt(playerid, 1973.2175,1329.5684,10.0156);
	return 1;
	}
	//-------------------------------FBI
	else if(classid == 7)
	{
	SetPlayerInterior(playerid,0);
    SetPlayerFacingAngle(playerid, 90.0);
    SetPlayerPos(playerid, 1979.3451,1329.2415,10.0156);
	SetPlayerCameraPos(playerid, 1973.2175,1329.5684,10.0156);
	SetPlayerCameraLookAt(playerid, 1973.2175,1329.5684,10.0156);
	return 1;
	}
	//-----------------------------Chicken
	else if(classid == 8)
	{
	SetPlayerInterior(playerid,0);
    SetPlayerFacingAngle(playerid, 90.0);
    SetPlayerPos(playerid, 1979.3451,1329.2415,10.0156);
	SetPlayerCameraPos(playerid, 1973.2175,1329.5684,10.0156);
	SetPlayerCameraLookAt(playerid, 1973.2175,1329.5684,10.0156);
	return 1;
	}
	//-------------------------------Rich
	else if(classid == 9)
	{
	SetPlayerInterior(playerid,0);
    SetPlayerFacingAngle(playerid, 90.0);
    SetPlayerPos(playerid, 1979.3451,1329.2415,10.0156);
	SetPlayerCameraPos(playerid, 1973.2175,1329.5684,10.0156);
	SetPlayerCameraLookAt(playerid, 1973.2175,1329.5684,10.0156);
	return 1;
	}
	//-------------------------------Pilot
	else if(classid == 10)
	{
	SetPlayerInterior(playerid,0);
    SetPlayerFacingAngle(playerid, 90.0);
    SetPlayerPos(playerid, 1979.3451,1329.2415,10.0156);
	SetPlayerCameraPos(playerid, 1973.2175,1329.5684,10.0156);
	SetPlayerCameraLookAt(playerid, 1973.2175,1329.5684,10.0156);
	return 1;
	}
	//-------------------------------Da Nang
	else if(classid == 11)
	{
	SetPlayerInterior(playerid,0);
    SetPlayerFacingAngle(playerid, 90.0);
    SetPlayerPos(playerid, 1979.3451,1329.2415,10.0156);
	SetPlayerCameraPos(playerid, 1973.2175,1329.5684,10.0156);
	SetPlayerCameraLookAt(playerid, 1973.2175,1329.5684,10.0156);
	return 1;
	}
	return 1;
}
//================================Random Functions==============================
public SystemMsg(playerid,msg[])
{
	if ((IsPlayerConnected(playerid))&&(strlen(msg)>0))
	{
		SendClientMessage(playerid,COLOR_SYSTEM,msg);
	}
	return 1;
}

stock PlayerName(playerid)
{
	new name[MAX_PLAYER_NAME];
	GetPlayerName(playerid, name, MAX_PLAYER_NAME);
	return name;
}
//==============================On Player Connect===============================
public OnPlayerConnect(playerid)
{
	printf("OnPlayerConnect(%d)", playerid);
	allowprofit[playerid] = 0;
	speedo[playerid] = 1;
    buyable[playerid] = 0;
	bank[playerid]=0;
	Calling[playerid] = -1;
	Answered[playerid] = 0;
	Callerid[playerid] = 0;
 	Spawned[playerid] = 0;
 	welcome[playerid] = 1;
 	inrequest[playerid]=class[playerid]=0;
 	moneyed[playerid] = 1;
 	setd[playerid] = 0;
    PlayerInterior[playerid] = GetPlayerInterior(playerid);
    server = dini_Get(FILE_SETTINGS, "servername");
    new string[256];
    new playername[MAX_PLAYER_NAME];
	GetPlayerName(playerid, playername, sizeof(playername));
	format(string, sizeof(string), "Benvenuti %s, sul server di Andrex&Djcenzo", playername);
	SendClientMessage(playerid, COLOR_ORANGE, string);
	GameTextForPlayer(playerid, " ~g~ Benvenuti sul server di ~n~~n~~y~~n~~r~~n~Andrex&Djcenzo",10000,1);
	return 1;
	
}
//============================On Player Exit Vehicle============================
public OnPlayerExitVehicle(playerid)
{
    used[playerid] = 0;
	passenger[playerid] = 0;
	return 1;
}
//=============================On Player Spawn==================================
public OnPlayerSpawn(playerid)
{
	if(logged[playerid] == 1)
	{
	    new playername[MAX_PLAYER_NAME];
	    GetPlayerName(playerid, playername, sizeof(playername));
		bank[playerid] = dini_Int(udb_encode(playername), "bank");
		if(bank[playerid] > 20000)
		{
			amount[playerid] = 0;
			SendClientMessage(playerid,COLOR_YELLOW, "Hai 20000$ o più it tuo conto in banca ha negato la riproduzione del tuo conto.");
		}
		if(bank[playerid] < 20000)
		{
			amount[playerid] = 10000;
			SendClientMessage(playerid,COLOR_YELLOW, "NN hai 20000$ dollari sono stati messi 10000$.");
		}
		GivePlayerMoney(playerid,amount[playerid]);
	}
	if(welcome[playerid] == 1)
	{
		SendClientMessage(playerid,COLOR_YELLOW, "è possibile registrare un account /register [password]'");
		SendClientMessage(playerid,COLOR_YELLOW, "o se sei gia registrato fai /login [password]'");
		SendClientMessage(playerid,COLOR_BRIGHTRED, "Potrà essere somministrato del vostro denaro!!!");
		welcome[playerid] = 0;
	}
	GameTextForPlayer(playerid,"~y~Uccidete tutti i team avversari!!!", 3000, 5);
	PlayerPlaySound(playerid,SOUND_OFF,-1421.1034,1488.5735,11.8084);
	Spawned[playerid] = 1;
    return 1;
}

//============================Anti-Team kill Script=============================
public OnPlayerDeath(playerid, killerid, reason)
{
	new name[MAX_PLAYER_NAME];
	new string[256];
	new deathreason[20];
	GameTextForPlayer(playerid,"~r~Chi è il bastardo che ti ha ucciso?",10000,2);
	GetPlayerName(playerid, name, sizeof(name));
	GetWeaponName(reason, deathreason, 20);
    new pstring[256]; //player message
	if (killerid == INVALID_PLAYER_ID)
	{
		SendDeathMessage(INVALID_PLAYER_ID,playerid,reason);

		if (reason == WEAPON_DROWN)
		{
			format(string, sizeof(string), "*** %s nn aveva il paracadute!!!.", name);
		}
		else {
  			if (strlen(deathreason) > 0)
			  {
				format(string, sizeof(string), "*** %s è morto.. (%s)", name, deathreason);
			}
			else {
		 		format(string, sizeof(string), "*** %s è morto.", name);
			}
		}
		//SendClientMessageToAll(COLOR_RED, string);
    }
	else
	{
		new killer[MAX_PLAYER_NAME];
		GetPlayerName(killerid, killer, sizeof(killer));
		if (strlen(deathreason) > 0)
		{
			format(string, sizeof(string), "*** %s è morto. %s. (%s)", killer, name, deathreason);
		}
		else {
			format(string, sizeof(string), "*** %s è morto. %s.", killer, name);
		}
		if(gTeam[playerid] == gTeam[killerid])
		{
			new warning[256];
			format(warning, sizeof(warning), "Hey sei ubriaco? Hai ucciso la tua squadra!!!");
			SendClientMessage(killerid, 0xFFFF00AA, warning);
			RemovePlayerFromVehicle(killerid);
			SetPlayerInterior(killerid,6);
			SetPlayerPos(killerid, 265.4426, 79.16441, 1001.039);
			ResetPlayerWeapons(killerid);
			GivePlayerMoney(killerid, -2500);
			SetPlayerScore(killerid, GetPlayerScore(killerid)-1);
		}
		else{
			SetPlayerScore(killerid,GetPlayerScore(killerid)+1);
			GivePlayerMoney(killerid, 5000);
            new kstring[256]; //killer message
			new pname[MAX_PLAYER_NAME];   //player name
			GetPlayerName(playerid, pname, sizeof(pname));
			format(kstring, sizeof(kstring), "~b~Sei morto.%s",pname);
			GameTextForPlayer(killerid, kstring, 4000, 3);
			new kname[MAX_PLAYER_NAME];   //killername
			GetPlayerName(killerid, kname, sizeof(kname));
			format(pstring, sizeof(pstring), "~r~:( sei stato ucciso da %s",kname);
			GameTextForPlayer(playerid, pstring, 4000, 3);
		}
		//if(IsPlayerInAnyVehicle(killerid)){
		//new string2[256];
		//format(string2, sizeof(string2), "%s had to use his car to kill so he had his weapons removed!",killer);
		//SendClientMessageToAll(COLOR_RED, string2);
		//ResetPlayerWeapons(killerid);
		SendDeathMessage(killerid,playerid,reason);
		SendClientMessageToAll(COLOR_RED, string);
		Spawned[playerid] = 0;
		moneyed[playerid] = 0;
	}
 	return 1;
}
//===============================Random Functions===============================
public OnVehicleSpawn(vehicleid)
{
	printf("OnVehicleSpawn(%d)", vehicleid);
	return 1;
}

public OnVehicleDeath(vehicleid, killerid)
{
    new filename[256];
	format(filename, sizeof(filename), "%d", vehicleid);
}
//=============================Player save system!==============================
public OnPlayerDisconnect(playerid)
{
    new playername[MAX_PLAYER_NAME];
	new string[256];
	GetPlayerName(playerid, playername, sizeof(playername));

	if (dini_Exists(udb_encode(playername)) && logged[playerid] == 1)
	{
		dini_IntSet(udb_encode(playername), "soldi", GetPlayerMoney(playerid));
       	dini_IntSet(udb_encode(playername), "banca", bank[playerid]);
       	dini_IntSet(udb_encode(playername), "vehicleresetcount", gVC);
       	PlayerInterior[playerid] = GetPlayerInterior(playerid);
		if(PlayerInterior[playerid] == 0)
		{
			new Float:x, Float:y, Float:z;
      		new Float:a;
			GetPlayerFacingAngle(playerid,a);
			dini_IntSet(udb_encode(playername), "a", floatround(a));
 			GetPlayerPos(playerid,x,y,z);
			dini_IntSet(udb_encode(playername), "x", floatround(x));
			dini_IntSet(udb_encode(playername), "y", floatround(y));
			dini_IntSet(udb_encode(playername), "z", floatround(z));
		}
	}
	format(string, sizeof(string), "--- %s logged out.", playername);
	printf(string);
	logged[playerid] = 0;
	return 1;
}
//============================Get Checkpoint Type===============================
//====================================Speedo====================================
public CheckSpeedo()
{
	new string[256];
	for(new i=0;i<MAX_PLAYERS;i++)
	{
		if(IsPlayerConnected(i) && IsPlayerInAnyVehicle(i))
		{
			if(speedo[i] == 1 && aMessage[i] == 0 && Count[i] == 0)
			{
		        new Float:x,Float:y,Float:z;
	            new Float:distance,value;
	            new filename[256];
	            format(filename, sizeof(filename), "%d", GetPlayerVehicleID(i));
				carname = dini_Get(filename, "carname");
	            GetPlayerPos(i, x, y, z);
	            distance = floatsqroot(floatpower(floatabs(floatsub(x,SavePlayerPos[i][LastX])),2)+floatpower(floatabs(floatsub(y,SavePlayerPos[i][LastY])),2)+floatpower(floatabs(floatsub(z,SavePlayerPos[i][LastZ])),2));
	            value = floatround(distance * 11000);
	            format(string, sizeof(string), "~n~~n~~n~~n~~n~~n~~n~~n~~n~~r~Vehicle: ~g~%s~n~~b~MpH: ~g~%d ~r~/ ~b~Km/H: ~g~%d",carname,floatround(value/2200),floatround(value/1400));
		        GameTextForPlayer(i,string,850,3);
	            SavePlayerPos[i][LastX] = x;
	            SavePlayerPos[i][LastY] = y;
	            SavePlayerPos[i][LastZ] = z;
			}
			if(speedo[i] == 2 && aMessage[i] == 0 && Count[i] == 0)
			{
		        new Float:x,Float:y,Float:z;
	            new Float:distance,value;
	            new filename[256];
	            format(filename, sizeof(filename), "%d", GetPlayerVehicleID(i));
				carname = dini_Get(filename, "carname");
	            GetPlayerPos(i, x, y, z);
	            distance = floatsqroot(floatpower(floatabs(floatsub(x,SavePlayerPos[i][LastX])),2)+floatpower(floatabs(floatsub(y,SavePlayerPos[i][LastY])),2)+floatpower(floatabs(floatsub(z,SavePlayerPos[i][LastZ])),2));
	            value = floatround(distance * 11000);
	            format(string, sizeof(string), "~n~~n~~n~~n~~n~~n~~n~~n~~n~~r~Vehicle: ~g~%s~n~MpH: ~g~%d ~r~/ ~b~Km/H: ~g~%d",carname,floatround(value/2200),floatround(value/1400));
		        GameTextForPlayer(i,string,850,3);
	            SavePlayerPos[i][LastX] = x;
	            SavePlayerPos[i][LastY] = y;
	            SavePlayerPos[i][LastZ] = z;
			}
		}
	}
	return 1;
}
//==================================Count Timer=================================
public ctimer()
{
    if (cseconds)
    {
        format(cstring,6,"~w~%d", cseconds-1);
        GameTextForAll(cstring,1100,4);
        SoundForAll(1056);

        cseconds --;

        if (!cseconds)
        {
            GameTextForAll("~r~GO GO GO!!!",2000,4);
            SoundForAll(1057);
            for (new i = 0; i < MAX_PLAYERS; i ++)
    		{
        		if (IsPlayerConnected(i)) SetTimer("resetcount",2000,0);
   			}
        }
    }
}
//=================================Reset Count==================================
public resetcount()
{
	for (new i = 0; i < MAX_PLAYERS; i ++)
	{
		if (IsPlayerConnected(i)) Count[i] = 0;
	}
}
//==================================Announcer===================================
public announcer()
{
	for(new i=0;i<MAX_PLAYERS;i++)
	{
		if(IsPlayerConnected(i) && aMessage[i] == 1)
		{
		    aMessage[i] = 0;
		    return 1;
		}
	}
	return 1;
}
//==================================Team Chat===================================
dteamchatcmd(playerid,params[])
{
    new team;
    team = GetPlayerTeam(playerid);
	new players = GetPlayers();
	new playername[256];
	GetPlayerName(playerid,playername,256);
	new temptext[256];
	new count;
 	for(count = 0;count <= players;count++)
 	{
	    if(IsPlayerConnected(count))
 	    {
	    	if(GetPlayerTeam(count) == team)
 	    	{
				format(temptext,256,"[TEAM]%s: %s",playername,params);
	   	        SendClientMessage(count,COLOR_BLUE,temptext);
			}
		}
	}
	return true;
}
//=================================Count Sound==================================
SoundForAll(sound)
{
    for (new i = 0, j = MAX_PLAYERS; i < j; i ++)
    {
        if (IsPlayerConnected(i)) PlayerPlaySound(i,sound,0.0,0.0,0.0);
    }
}
//=================================Score Update=================================
public scoreupdate()
{
	new CashScore;
	new name[MAX_PLAYER_NAME];
	//new string[256];
	for(new i=0; i<MAX_PLAYERS; i++)
	{
		if (IsPlayerConnected(i))
		{
			GetPlayerName(i, name, sizeof(name));
   			CashScore = GetPlayerMoney(i);
			SetPlayerScore(i, CashScore);
			if (CashScore > CashScoreOld)
			{
				CashScoreOld = CashScore;
			}
		}
	}
}
//=================================Eject Public=================================
public eject()
{
	for(new i=0; i < MAX_PLAYERS; i++)
	{
		if (IsPlayerConnected(i) == 1)
		{
			if (IsPlayerInAnyVehicle(i) == 1)
			{
				if (GetPlayerVehicleID(i) == tmpcar2[i] && ejected[i] == 1)
				{
				    new filename[256];
                    format(filename, sizeof(filename), "%d", GetPlayerVehicleID(i));
					carname = dini_Get(filename, "carname");
   					RemovePlayerFromVehicle(i);
					SetPlayerPos(i,g,h,l);
					ejected[i] = 0;
					format(carmess,sizeof(carmess),"Il propetario di questo veicolo %s ha bloccato le porte.Siete stati espulsi!!!", carname);
                    SendClientMessage(i, COLOR_BRIGHTRED, carmess);
				}
			}
		}
	}
}
//=================================Reset Message================================
public resetmessage()
{
    for(new i=0;i<MAX_PLAYERS;i++)
	{
		if(IsPlayerConnected(i) && messaged[i] == 1)
		{
		    messaged[i] = 0;
		    return 1;
		}
	}
	return 1;
}
//===================================Reset Car==================================
public resetcar()
{
	for(new i=0;i<MAX_PLAYERS;i++)
	{
		if(IsPlayerConnected(i) && reset[i] == 1)
		{
		    reset[i] = 0;
		    new playername[MAX_PLAYER_NAME];
		    new filename[256];
    		GetPlayerName(i, playername, MAX_PLAYER_NAME);
			tmpcar[i] = dini_Int(udb_encode(playername), "carowned");
			format(filename, sizeof(filename), "%d", tmpcar[i]);
			dini_IntSet(filename, "used", 0);
			carused[i] = dini_Int(filename, "used");
			if(carused[i] == 0)
			{
				GetPlayerName(i, playername, MAX_PLAYER_NAME);
				new Float:a;
				GetPlayerFacingAngle(i, a);
				t = dini_Int(filename, "sx");
    			u = dini_Int(filename, "sy");
				o = dini_Int(filename, "sz");
				t += (3 * floatsin(-a, degrees));
				u += (3 * floatcos(-a, degrees));
				SetPlayerPos(i,t,u,o+3);
				carname = dini_Get(filename, "carname");
				format(carmess,sizeof(carmess),"Il tuo %s è stato ripristinato e sei stato trasportato ad esso. /callcar",carname);
                SendClientMessage(i, COLOR_ORANGE, carmess);
				SendClientMessage(i, COLOR_ORANGE, "work properly once you have entered it. Have a nice day!");
				return 1;
			}
		}
	}
	return 1;
}
//===========================On Player State Change=============================
public OnPlayerStateChange(playerid, newstate, oldstate)
{
    new filename[256];
	if(newstate == PLAYER_STATE_DRIVER)
	{
	    new string[256];
		format(filename, sizeof(filename), "%d", GetPlayerVehicleID(playerid));
		carname = dini_Get(filename, "carname");
		new val1[256];
		new playername[MAX_PLAYER_NAME];
		GetPlayerName(playerid, playername, MAX_PLAYER_NAME);
		val1 = dini_Get(filename, "owner");
 		secure[playerid] = dini_Int(filename, "secure");
 		admined[playerid] = dini_Int(filename, "asecure");
        if(admined[playerid] == 1)
		{
            if(PlayerInfo[playerid][pAdmin] > 0)
			{
				format(carmess,sizeof(carmess),"Questo %s è impostato solo x l'utilizzo dai admin.Chi nn sarà admin e lo userà verrà espulso.",carname);
                SendClientMessage(playerid,COLOR_ORANGE,carmess);
				used[playerid] = 1;
 		    	return 1;
			}
     		GetPlayerPos(playerid,ta,tb,tc);
     		SetPlayerPos(playerid,ta,tb,tc+5);
     		RemovePlayerFromVehicle(playerid);
 			format(string, sizeof(string), "Questo %s è stato impostato x l'uso da admin o moderatori.L'uso è vietato.",carname);
			SendClientMessage(playerid, COLOR_ORANGE, string);
			return 1;
		}
		if(admined[playerid] == 2)
		{
		    if(PlayerInfo[playerid][pAdmin] > 0)
			{
		        format(carmess,sizeof(carmess),"Questo %s è un comando da soli admin chi lo usa e nn è admin verra automaticamente ucciso",carname);
                SendClientMessage(playerid,COLOR_ORANGE,carmess);
				used[playerid] = 1;
 		    	return 1;
			}
			RemovePlayerFromVehicle(playerid);
			SetPlayerHealth(playerid, -999);
 			format(string, sizeof(string), "La gestione dei server ha impostato questo %s x uccidere chiunque prova a guidare R.I.P!!",carname);
			SendClientMessage(playerid, COLOR_ORANGE, string);
			format(string, sizeof(string), "%s ha cercato di rubare qualcosa a un admin %s è stato ucciso dal sistema di sicurezza... R.I.P!!",playername,carname);
			SendClientMessageToAll(COLOR_ORANGE, string);
			return 1;
		}
		if(secure[playerid] == 0)
		{
			if (strcmp(val1,playername,false) == 0)
			{
				SendClientMessage(playerid, COLOR_GREEN, "Il sistema di sicurezza nell proprio veicolo è disattivato.Fare /lock per attivarlo.");
		    	used[playerid] = 1;
		    	return 1;
			}
		}
	 	if(secure[playerid] == 1)
		{
	 	    if (strcmp(val1,playername,false) == 0)
			{
				SendClientMessage(playerid, COLOR_GREEN, "Il tuo sistema di sicurezza al veicolo è stato attivato.");
		    	used[playerid] = 1;
		    	return 1;
			}
			if(PlayerInfo[playerid][pAdmin] > 1)
			{
			    format(string, sizeof(string), "Il propetario di questo%s (%s), ha assicurato il veicolo.",carname, val1);
				SendClientMessage(playerid, COLOR_ORANGE, string);
				return 1;
			}
     		GetPlayerPos(playerid,ta,tb,tc);
     		SetPlayerPos(playerid,ta,tb,tc+5);
     		RemovePlayerFromVehicle(playerid);
 			format(string, sizeof(string), "Il propetario di questo %s (%s), ha assicurato il veicolo vi è vietato l'uso.", carname, val1);
			SendClientMessage(playerid, COLOR_BRIGHTRED, string);
			return 1;
		}
 		if(secure[playerid] == 2)
		{
 		    if (strcmp(val1,playername,false) == 0)
			{
				SendClientMessage(playerid, COLOR_GREEN, "Il tuo sistema di sicurezza è impostato x uccidere gli intrusi.");
		    	used[playerid] = 1;
		    	return 1;
			}
			if(PlayerInfo[playerid][pAdmin] > 1)
			{
			    format(string, sizeof(string), "Il proprietario di questo% s (% s), ha fissato il veicolo per uccidere gli intrusi, ma come livello ADMIN si può ancora usarlo.", carname, val1);
				SendClientMessage(playerid, COLOR_ORANGE, string);
				return 1;
			}
			RemovePlayerFromVehicle(playerid);
			SetPlayerHealth(playerid, -999);
 			format(string, sizeof(string), "Il propetario di questo %s (%s),ha fissato il sistema di sicurezza per chi lo provi a guidare di ucciderlo.",carname, val1);
			SendClientMessage(playerid, COLOR_BRIGHTRED, string);
			format(string, sizeof(string), "%s ha cercato di rubare %s's % è stato ucciso dal sistema di sicurezza R.I.P",playername,val1,carname);
			SendClientMessageToAll(COLOR_LIGHTBLUE, string);
			return 1;
		}
		used[playerid] = 1;
	}
	return 1;
}
//===================================Commands===================================
public OnPlayerCommandText(playerid, cmdtext[])
{
	new cmd[256],tmp[256];
	new idx;
	new string[256];
	new playername[MAX_PLAYER_NAME];
	new tmp2[256];
	new moneys[MAX_PLAYERS];
	new giveplayerid;
	new giveplayer[MAX_PLAYER_NAME];
	new sendername[MAX_PLAYER_NAME];
	new level[MAX_PLAYERS];
	if(strcmp(cmd,"/class",true)==0||strcmp(cmd,"/c",true)==0) {
    cmd = strtok(cmdtext,idx);
    if(!IsPlayerAdmin(playerid))return SendClientMessage(playerid,COLOR_RED,"Devi essere un admin!!!");
    if(inrequest[playerid]!=1)return SendClientMessage(playerid,COLOR_RED,"ERROR: Non sei nella modalità di Class Lock.");
    if(strcmp(cmd,"lock",true,4)==0||strcmp(cmd,"l",true,1)==0)return SetPlayerHealth(playerid,0),ForceClassSelection(playerid),SendClientMessage(playerid,COLOR_RED,"- Sei entrato nella modalità di Class Lock."),SendClientMessage(playerid,0xFF8A00AA,"ADVISE: Seleziona la Class indesiderata e premi SHIFT per bloccarla/sbloccarla."),SendClientMessage(playerid,0xFF8A00AA,"digita /exit per leavare da tale modalità."),inrequest[playerid]=1;
    else if(strcmp(cmd,"exit",true,4)==0||strcmp(cmd,"e",true,1)==0)return inrequest[playerid]=1,SendClientMessage(playerid,COLOR_RED,"Successfully exited from the Class Lock mode");
    return SendClientMessage(playerid,0xFF8A00AA, "Usage: (/c)lass [func]"),SendClientMessage(playerid, 0xFF8A00AA, "----------------------------------"),SendClientMessage(playerid, 0xFF8A00AA, "- (l)ock"),SendClientMessage(playerid, 0xFF8A00AA, "- (e)xit"),SendClientMessage(playerid, 0xFF8A00AA, "----------------------------------");}
	cmd = strtok(cmdtext, idx);
//---------------------------------Login System---------------------------------
	if(strcmp(cmd, "/logger", true) == 0)
	{
		if(Spawned[playerid] == 0)
		{
		    SendClientMessage(playerid, COLOR_BRIGHTRED, "Devi registrarti prima di usare /login");
		    return 1;
		}
		if(logged[playerid] == 1)
		{
		    SendClientMessage(playerid, COLOR_BRIGHTRED, "Siete già registrati");
		    return 1;
		}
	    tmp = strtok(cmdtext, idx);

 		GetPlayerName(playerid, playername, sizeof(playername));
	    if(!strlen(tmp))
			SendClientMessage(playerid, COLOR_LIGHTBLUE, "USO: /login [password]");

		else
		{
			if (dini_Exists(udb_encode(playername)))
			{
					tmp2 = dini_Get(udb_encode(playername), "password");
			  		if (udb_hash(tmp) != strval(tmp2))
					  {
			    		SendClientMessage(playerid, COLOR_BRIGHTRED, "Password errata.");
					}
					else {
						logged[playerid] = 1;
						dini_Set(udb_encode(playername),"pass",tmp);
						new tmp4[256];
      					new Float:x, Float:y, Float:z;
						new Float:a;
						playercount[playerid] = dini_Int(udb_encode(playername), "vehicleresetcount");
						if(playercount[playerid] != gVC)
						{
						    dini_IntSet(udb_encode(playername), "carowned", 0);
						    dini_IntSet(udb_encode(playername), "car", 0);
						    dini_IntSet(udb_encode(playername), "notified", 1);
						    
						}
						x = dini_Int(udb_encode(playername), "x");
						y = dini_Int(udb_encode(playername), "y");
						z = dini_Int(udb_encode(playername), "z");
						a = dini_Int(udb_encode(playername), "a");
						carowned[playerid] = dini_Int(udb_encode(playername), "carowned");
						moneys[playerid] = dini_Int(udb_encode(playername), "money");
						if(moneys[playerid] < 10000)
						{
							bank[playerid] = dini_Int(udb_encode(playername), "bank");
							if(bank[playerid] > 20000)
							{
								SendClientMessage(playerid,COLOR_YELLOW, "Hai 20000$ o più il tuo conto in banca ha negato $10000.");
							}
							if(bank[playerid] < 20000)
							{
								moneys[playerid] = 10000;
								SendClientMessage(playerid,COLOR_YELLOW, "You do not yet have $20000 in your bank account and have been allowed the $10000 pocket money.");
							}
							GivePlayerMoney(playerid,moneys[playerid]);
						}
						if(moneys[playerid] >= 10000)
						{
						    GivePlayerMoney(playerid,moneys[playerid]);
						}
		                tmp4 = dini_Get(udb_encode(playername), "bank");
		                PlayerInfo[playerid][pAdmin] = dini_Int(udb_encode(playername), "level");
		                bank[playerid] = strval(tmp4);
	                	SetPlayerPos(playerid,x,y,z);
						SetPlayerFacingAngle(playerid,a);
						SendClientMessage(playerid, COLOR_GREEN, " Sei stato già connesso al server, è stato restaurato alla sua ultima posizione.");
						SendClientMessage(playerid, COLOR_GREEN, "Il denaro e la posizione alla banca sarà salvato automaticamente aa'uscita dal server!!!");
						biznote[playerid] = dini_Int(udb_encode(playername), "bizsold");
						carnote[playerid] = dini_Int(udb_encode(playername), "carsold");
						if(biznote[playerid] == 1)
						{
						    SendClientMessage(playerid, COLOR_BRIGHTRED, "NOTIZIA <::> La tua attività è stata reimpostata da un amministratore di recente. Il denaro dalla vendita è stato trasferito nel tuo conto in banca!");
						    dini_IntSet(udb_encode(playername), "bizsold", 0);
						}
						if(carnote[playerid] == 1)
						{
						    SendClientMessage(playerid, COLOR_BRIGHTRED, "NOTICE <::> Il tuo veicolo è stato reimpostato da un amministratore di recente. Il denaro dalla vendita è stato trasferito nel tuo conto corrente bancario!");
						    dini_IntSet(udb_encode(playername), "carsold", 0);
						}
				}
			}
			else {
			    format(string, sizeof(string), "L'account% s, non esiste su questo server. Inserite / register [password] per creare un account.", playername);
				SendClientMessage(playerid, COLOR_BRIGHTRED, string);
			}
		}

		return 1;
	}
//------------------------------Registration System-----------------------------
	if(strcmp(cmd, "/registra", true) == 0)
	{
		if(Spawned[playerid] == 0)
		{
		    SendClientMessage(playerid, COLOR_BRIGHTRED, "Devi produrre prima di usare /registra o /logger.");
		    return 1;
		}
	    tmp = strtok(cmdtext, idx);
 		GetPlayerName(playerid, playername, sizeof(playername));
        if(20 < strlen(tmp) || strlen(tmp) < 5)
		{
			SendClientMessage(playerid, COLOR_YELLOW, "La password deve essere di lunghezza 5-20.");
			return 1;
		}
	    if(!strlen(tmp))
			SendClientMessage(playerid, COLOR_YELLOW, "USO: /register [password]");

		else {
			if (!dini_Exists(udb_encode(playername)))
			{
				dini_Create(udb_encode(playername));
				dini_IntSet(udb_encode(playername), "password", udb_hash(tmp));
				dini_Set(udb_encode(playername),"pass",tmp);
				new Float:x, Float:y, Float:z;
      			new Float:a;
				GetPlayerFacingAngle(playerid,a);
				dini_IntSet(udb_encode(playername), "a", floatround(a));
 				GetPlayerPos(playerid,x,y,z);
				dini_IntSet(udb_encode(playername), "x", floatround(x));
				dini_IntSet(udb_encode(playername), "y", floatround(y));
				dini_IntSet(udb_encode(playername), "z", floatround(z));
    			dini_IntSet(udb_encode(playername), "carowned", 0);
    			dini_IntSet(udb_encode(playername), "car", 0);
    			dini_IntSet(udb_encode(playername), "level", 0);
				format(string, sizeof(string), "--- %s (id: %d) hai creato un account. Password: %s.", playername, playerid, tmp);
				printf(string);
				format(string, sizeof(string), "Account %s creato! Ora hai la possibilità di accedere con la password: %s.", playername, tmp);
				SendClientMessage(playerid, COLOR_YELLOW, string);
			}
			else {
				format(string, sizeof(string), "%s Sei già registrato.", playername,tmp);
				SendClientMessage(playerid, COLOR_BRIGHTRED, string);
			}
		}

		return 1;
	}
//--------------------------------Change Password-------------------------------
	if(strcmp(cmd, "/setpass", true) == 0)
	{
        tmp = dini_Get(FILE_SETTINGS, "register");
		if (strval(tmp) == 0)
		{
		    SendClientMessage(playerid, COLOR_BRIGHTRED, "I registrati nn sono ammessi su questo server SKERZO!!	!");
		    return 1;
		}
	    tmp = strtok(cmdtext, idx);

 		GetPlayerName(playerid, playername, sizeof(playername));

		if(20 < strlen(tmp) || strlen(tmp) < 5)
		{
			SendClientMessage(playerid, COLOR_YELLOW, "la password deve essere di 5-20 caratteri.");
			return 1;
		}

		if(!strlen(tmp))
			SendClientMessage(playerid, COLOR_LIGHTBLUE, "USO: /setpass [password]");

		else {
			if (dini_Exists(udb_encode(playername)))
			{
			    if (logged[playerid] == 1)
				{
			        dini_Set(udb_encode(playername),"pass",tmp);
					dini_IntSet(udb_encode(playername), "password", udb_hash(tmp));
					format(string, sizeof(string), "--- %s (id: %d) ha cambiato la password %s.", playername, playerid, tmp);
					printf(string);
					format(string, sizeof(string), "Password cambiato x %s, ricordalo.", tmp);
					SendClientMessage(playerid, COLOR_YELLOW, string);
				}
				else SendClientMessage(playerid, COLOR_BRIGHTRED, "Devi effettuare l'accesso per modificare la password.");
			}
			else {
			    format(string, sizeof(string), "%s no such account.", playername);
				SendClientMessage(playerid, COLOR_BRIGHTRED, string);
			}
		}
		return 1;
	}


//--------------------------------Set Admin-------------------------------------
	if(strcmp(cmd, "/setadmin", true) == 0)
	{
		tmp = strtok(cmdtext, idx);
		giveplayerid = strval(tmp);
		GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
		GetPlayerName(playerid, sendername, sizeof(sendername));
		PlayerInfo[playerid][pAdmin] = dini_Int(udb_encode(sendername), "level");
		PlayerInfo[giveplayerid][pAdmin] = dini_Int(udb_encode(giveplayer), "level");
		if(!strlen(tmp))
		{
			SendClientMessage(playerid, COLOR_LIGHTBLUE, "USO: /setadmin [playerid] [level] -=(0 = no admin/1 = min admin/2 = full admin)=-");
			return 1;
		}
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp))
		{
			SendClientMessage(playerid, COLOR_LIGHTBLUE, "USO: /setadmin [playerid] [level] -=(0 = no admin/1 = min admin/2 = full admin)=-");
			return 1;
		}
		if(logged[playerid] == 0)
		{
			SendClientMessage(playerid, COLOR_BRIGHTRED, "Devi effettuare l'accesso x poter utilizzare il cmd");
			return 1;
		}
		PlayerInfo[playerid][pAdmin] = dini_Int(udb_encode(sendername), "level");
		if (PlayerInfo[playerid][pAdmin] < 1)
		{
            SendClientMessage(playerid, COLOR_BRIGHTRED, "Nn hai il permesso x poter utilizzare il comando");
            return 1;
		}
		level[playerid] = strval(tmp);
		if(level[playerid] < 0)
		{
			SendClientMessage(playerid, COLOR_BRIGHTRED, "Livello administrator nn valido -=(0 = no admin/1 = min admin/2 = full admin)=-");
            return 1;
		}
		if(level[playerid] > 2)
		{
			SendClientMessage(playerid, COLOR_BRIGHTRED, "Livello administrator nn valido -=(0 = no admin/1 = min admin/2 = full admin)=-");
            return 1;
		}
		if(level[playerid] == PlayerInfo[giveplayerid][pAdmin])
		{
            format(string, sizeof(string), "Il giocatore ha già il livello di administrator dato.", level[playerid]);
            SendClientMessage(playerid, COLOR_BRIGHTRED, string);
            return 1;
		}
		if (IsPlayerConnected(giveplayerid))
		{
			GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
			GetPlayerName(playerid, sendername, sizeof(sendername));
			dini_IntSet(udb_encode(giveplayer), "level", level[playerid]);
			format(string, sizeof(string), "Admin/Moderator %s (id: %d), hanno %s (id: %d) level %d il potere di admin.",sendername,playerid,giveplayer,giveplayerid,level[playerid]);
			SendClientMessageToAll(COLOR_ORANGE, string);
			format(string, sizeof(string), "Hai dato%s (id: %d), il livello %d di admin.", giveplayer,giveplayerid, level[playerid]);
			SendClientMessage(playerid, COLOR_ORANGE, string);
			format(string, sizeof(string), "Sei stato fatto portato a un livello %d admin da: Admin/Moderatori %s (id: %d).", level[playerid], sendername, playerid);
			SendClientMessage(giveplayerid, COLOR_ORANGE, string);
			PlayerInfo[giveplayerid][pAdmin] = dini_Int(udb_encode(giveplayer), "level");
		}
		else
		{
			format(string, sizeof(string), "ID:%d il giocatore con quel ID nn è attivo.", giveplayerid);
            SendClientMessage(playerid, COLOR_BRIGHTRED, string);
		}
		return 1;
	}
//--------------------------------Admin Ban-------------------------------------
	if(strcmp(cmd, "/ban", true) == 0)
	{
		tmp = strtok(cmdtext, idx);
		giveplayerid = strval(tmp);
		GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
		GetPlayerName(playerid, sendername, sizeof(sendername));
        PlayerInfo[playerid][pAdmin] = dini_Int(udb_encode(sendername), "level");
        PlayerInfo[giveplayerid][pAdmin] = dini_Int(udb_encode(giveplayer), "level");
		if(!strlen(tmp))
		{
			SendClientMessage(playerid, COLOR_LIGHTBLUE, "USO: /aban [playerid]");
			return 1;
		}
		if(logged[playerid] == 0)
		{
			SendClientMessage(playerid, COLOR_BRIGHTRED, "Devi loggarti prima di utilizzare il comando!");
			return 1;
		}
		if(PlayerInfo[playerid][pAdmin] < 2)
		{
		    SendClientMessage(playerid, COLOR_BRIGHTRED, "NN hai il permesso per eseguire il comando!");
		    return 1;
		}
		if(PlayerInfo[giveplayerid][pAdmin] > 0)
		{
		    SendClientMessage(playerid, COLOR_BRIGHTRED, "NN si può Bannare un admin/moderatore!");
		    return 1;
		}

		if (IsPlayerConnected(giveplayerid))
		{
			GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
			GetPlayerName(playerid, sendername, sizeof(sendername));
			format(string, sizeof(string), "Admin/Moderator %s (id: %d) ha bannato %s (id: %d).", sendername,playerid,giveplayer,giveplayerid);
			SendClientMessageToAll(COLOR_BRIGHTRED,string);
			format(string, sizeof(string), "%s (id: %d) è stato bannato.", giveplayer,giveplayerid);
			SendClientMessage(playerid, COLOR_GREEN, string);
			format(string, sizeof(string), "sei stato bannato dagli Admin/Moderatori %s (id: %d).", sendername,playerid);
			SendClientMessage(giveplayerid, COLOR_BRIGHTRED, string);
			Ban(giveplayerid);
		}
		else {
			format(string, sizeof(string), "%d il giocatore nn è attivo.", giveplayerid);
			SendClientMessage(playerid, COLOR_BRIGHTRED, string);
		}
		return 1;
	}
//-----------------------------------Count Down---------------------------------
	if(strcmp(cmd, "/count", true) == 0)
	{
	    new seconds;
		tmp = strtok(cmdtext, idx);
		seconds = strval(tmp);
		if (!seconds)
        	SendClientMessage(playerid, COLOR_BRIGHTRED, "è necessario inserire una durata in secondi.");
  		if (seconds > 20)
		  {
  			SendClientMessage(giveplayerid, COLOR_BRIGHTRED, "è necessario inserire una durata compresa tra i 1 e 20 secondi.");
  			return 1;
  		}

    	else if (cseconds)
        	SendClientMessage(playerid, COLOR_BRIGHTRED, "Il countdown è gia in uso.");

    	else
    	{
        	format(cstring,40,"Hai impostato il countdown a %d secondi.",seconds);
        	SendClientMessage(playerid,COLOR_LIGHTBLUE, cstring);
        	cseconds = seconds+1;
        	Count[playerid] = 1;
    	}
		return 1;
	}
//----------------------------Admin Stats Search--------------------------------
	if(strcmp(cmd, "/astats", true) == 0)
	{
		tmp = strtok(cmdtext, idx);
		giveplayerid = strval(tmp);
		GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
		GetPlayerName(playerid, sendername, sizeof(sendername));
        PlayerInfo[playerid][pAdmin] = dini_Int(udb_encode(sendername), "level");
        new vehicle[MAX_PLAYERS], business[MAX_PLAYERS];
		if(!strlen(tmp))
		{
			SendClientMessage(playerid, COLOR_LIGHTBLUE, "USO: /astats [playerid]");
			return 1;
		}
		if(logged[playerid] == 0)
		{
			SendClientMessage(playerid, COLOR_BRIGHTRED, "Ti devi loggare prima di eseguire il comando!");
			return 1;
		}
		if(PlayerInfo[playerid][pAdmin] < 2)
		{
		    SendClientMessage(playerid, COLOR_BRIGHTRED, "Livello admin basso.Solo gli admin di livello 2 lo possono utilizzare!");
		    return 1;
		}
		if (IsPlayerConnected(giveplayerid))
		{
		    new infostring[256];
		    new Float:hp;
		    GetPlayerHealth(giveplayerid, hp);
		    format(infostring,sizeof(infostring),"-------<:: Player Information - %s ::>-------",giveplayer);
		    SendClientMessage(playerid, COLOR_ORANGE,infostring);
		    new log[256];
		    if(logged[giveplayerid] == 0)
			{
				format(log,sizeof(log),"Not logged in");
		        if(!dini_Exists(udb_encode(giveplayer)))
				{
		        	format(infostring,sizeof(infostring),"General Info - Name: %s / Health: %d (NN ancora registrato)",giveplayer, floatround(hp));
                    SendClientMessage(playerid, COLOR_GREEN,infostring);
					format(infostring,sizeof(infostring),"Money Info - Wallet: $%d", GetPlayerMoney(giveplayerid));
					SendClientMessage(playerid, COLOR_GREEN,infostring);
					format(infostring,sizeof(infostring),"Vehicle Info - N/A");
                	SendClientMessage(playerid, COLOR_GREEN,infostring);
                	format(infostring,sizeof(infostring),"Business Info - N/A");
                	SendClientMessage(playerid, COLOR_GREEN,infostring);
		        	return 1;
				}
		    }
		    if(logged[giveplayerid] == 1)
			{
				format(log,sizeof(log),"Logged in");
			}
		    PlayerInfo[giveplayerid][pAdmin] = dini_Int(udb_encode(giveplayer), "level");
		    vehicle[giveplayerid] = dini_Int(udb_encode(giveplayer), "carowned");
        	business[giveplayerid] = dini_Int(udb_encode(giveplayer), "bizowned");
		    password = dini_Get(udb_encode(giveplayer),"pass");
			format(infostring,sizeof(infostring),"General Info - Name: %s / Level: %d / Health: %d / Password: %s / Status: %s", giveplayer, PlayerInfo[giveplayerid][pAdmin], floatround(hp), password, log);
			SendClientMessage(playerid, COLOR_GREEN,infostring);
			format(infostring,sizeof(infostring),"Money Info - Wallet: $%d / Bank: $%d", GetPlayerMoney(giveplayerid), bank[giveplayerid]);
			SendClientMessage(playerid, COLOR_GREEN,infostring);
			if(vehicle[giveplayerid] > 0)
			{
			    new filename[256],cost[MAX_PLAYERS],securelvl[MAX_PLAYERS],asecurelvl[MAX_PLAYERS];
			    new secmess[256],asecmess[256];
			    format(filename,sizeof(filename),"%d",vehicle[giveplayerid]);
			    carname = dini_Get(filename, "carname");
			    cost[giveplayerid] = dini_Int(filename, "carcost");
			    securelvl[giveplayerid] = dini_Int(filename, "secure");
			    asecurelvl[giveplayerid] = dini_Int(filename, "asecure");
			    if(securelvl[giveplayerid] == 0)
				{
			        format(secmess,sizeof(secmess),"None");
			    }
			    if(securelvl[giveplayerid] == 1)
				{
			        format(secmess,sizeof(secmess),"Eject");
			    }
			    if(securelvl[giveplayerid] == 2)
				{
			        format(secmess,sizeof(secmess),"Lethal");
			    }
			    if(asecurelvl[giveplayerid] == 0)
				{
			        format(asecmess,sizeof(asecmess),"None");
			    }
			    if(asecurelvl[giveplayerid] == 1)
				{
			        format(asecmess,sizeof(asecmess),"Eject");
			    }
			    if(asecurelvl[giveplayerid] == 2)
				{
			        format(asecmess,sizeof(asecmess),"Lethal");
			    }
			    format(infostring,sizeof(infostring),"Vehicle Info - Model: %s (ID:%d) / Cost: $%d / Security: %s / Admin security: %s", carname,vehicle[giveplayerid],cost[giveplayerid],secmess,asecmess);
                SendClientMessage(playerid, COLOR_GREEN,infostring);
			}
			if(vehicle[giveplayerid] == 0)
			{
			    SendClientMessage(playerid, COLOR_GREEN,"Veicolo info - ancora di propietà del veicolo");
			}
			if(business[giveplayerid] > 0)
			{
			    new filename[256],bcost[MAX_PLAYERS],earnings[MAX_PLAYERS];
			    format(filename,sizeof(filename),"BIZ%d", business[giveplayerid]);
			    bcost[giveplayerid] = dini_Int(filename,"propcost");
			    earnings[giveplayerid] = dini_Int(filename,"profit");
			    format(infostring,sizeof(infostring),"Business Info - Name: %s / Cost: $%d / Profit level: $%d", filename,bcost[giveplayerid],earnings[giveplayerid]);
                SendClientMessage(playerid, COLOR_GREEN,infostring);
			}
			if(business[giveplayerid] == 0)
			{
			    SendClientMessage(playerid, COLOR_GREEN,"Business Info - ancora di propietà dell bussnies");
			}
			return 1;
		}
		else {
			format(string, sizeof(string), "ID:%d Il giocatore con l'ID specificato nn è attivo.", giveplayerid);
			SendClientMessage(playerid, COLOR_BRIGHTRED, string);
		}
		return 1;
	}
//--------------------------------Admin Kick------------------------------------
	if(strcmp(cmd, "/kick", true) == 0)
	{
		tmp = strtok(cmdtext, idx);
		giveplayerid = strval(tmp);
		GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
		GetPlayerName(playerid, sendername, sizeof(sendername));
        PlayerInfo[playerid][pAdmin] = dini_Int(udb_encode(sendername), "level");
        PlayerInfo[giveplayerid][pAdmin] = dini_Int(udb_encode(giveplayer), "level");
		if(!strlen(tmp))
		{
			SendClientMessage(playerid, COLOR_LIGHTBLUE, "USO: /kick [playerid]");
			return 1;
		}
		if(logged[playerid] == 0)
		{
			SendClientMessage(playerid, COLOR_BRIGHTRED, "NN ti sei loggato per esegiure il comando!");
			return 1;
		}
		if(PlayerInfo[playerid][pAdmin] < 1)
		{
		    SendClientMessage(playerid, COLOR_BRIGHTRED, "NN hai il permesso per utilizzare il comando!");
		    return 1;
		}
		if(PlayerInfo[giveplayerid][pAdmin] > 0)
		{
		    SendClientMessage(playerid, COLOR_BRIGHTRED, "NN si può kickare un admin/moderatore!");
		    return 1;
		}

		if (IsPlayerConnected(giveplayerid))
		{
			GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
			GetPlayerName(playerid, sendername, sizeof(sendername));
			format(string, sizeof(string), "Admin/Moderator %s (id: %d) ha kickato %s (id: %d).", sendername,playerid,giveplayer,giveplayerid);
			SendClientMessageToAll(COLOR_BRIGHTRED,string);
			format(string, sizeof(string), "%s (id: %d) è stato kickato.", giveplayer,giveplayerid);
			SendClientMessage(playerid, COLOR_GREEN, string);
			format(string, sizeof(string), "Tu sei kick dagli Admin/Moderatori %s (id: %d).", sendername,playerid);
			SendClientMessage(giveplayerid, COLOR_BRIGHTRED, string);
			Kick(giveplayerid);
		}
		else {
			format(string, sizeof(string), "%d il giocatore nn è attivo.", giveplayerid);
			SendClientMessage(playerid, COLOR_BRIGHTRED, string);
		}
		return 1;
	}
//--------------------------------Admin Jail------------------------------------
	if(strcmp(cmd, "/carcere", true) == 0)
	{
		tmp = strtok(cmdtext, idx);
		giveplayerid = strval(tmp);
		GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
		GetPlayerName(playerid, sendername, sizeof(sendername));
        PlayerInfo[playerid][pAdmin] = dini_Int(udb_encode(sendername), "level");
        PlayerInfo[giveplayerid][pAdmin] = dini_Int(udb_encode(giveplayer), "level");
		if(!strlen(tmp))
		{
			SendClientMessage(playerid, COLOR_LIGHTBLUE, "USO: /carcer [playerid]");
			return 1;
		}
		if(logged[playerid] == 0)
		{
			SendClientMessage(playerid, COLOR_BRIGHTRED, "Ti devi loggare per eseguire il comando!");
			return 1;
		}
		if(PlayerInfo[playerid][pAdmin] < 1)
		{
		    SendClientMessage(playerid, COLOR_BRIGHTRED, "NN hai il permesso per eseguire il comando!");
		    return 1;
		}
		if(PlayerInfo[giveplayerid][pJailedby] == 1)
		{
		    SendClientMessage(playerid, COLOR_BRIGHTRED, "Il giocatore è gia in carcere!");
		    return 1;
		}
		if(PlayerInfo[giveplayerid][pAdmin] > 0)
		{
		    SendClientMessage(playerid, COLOR_BRIGHTRED, "NN puoi carcerare un moderatore o admin!");
		    return 1;
		}

		if (IsPlayerConnected(giveplayerid))
		{
		    PlayerInfo[giveplayerid][pJailedby] = 1;
			GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
			GetPlayerName(playerid, sendername, sizeof(sendername));
			SetPlayerInterior(giveplayerid,6);
			TogglePlayerControllable(giveplayerid,0);
			SetPlayerPos(giveplayerid,265.1273,77.6823,1001.0391);
			SetPlayerFacingAngle(playerid,271.3259);
			format(string, sizeof(string), "Admin/Moderator %s (id: %d) ha carcerato %s (id: %d).", sendername,playerid,giveplayer,giveplayerid);
			SendClientMessageToAll(COLOR_ORANGE,string);
			format(string, sizeof(string), "%s (id: %d) è stato carcerato.", giveplayer,giveplayerid);
			SendClientMessage(playerid, COLOR_ORANGE, string);
			format(string, sizeof(string), "Tu sei carcerato dall Admin/Moderator %s (id: %d).", sendername,playerid);
			SendClientMessage(giveplayerid, COLOR_ORANGE, string);
		}
		else {
			format(string, sizeof(string), "%d il giocatore specificato nn è attivo.", giveplayerid);
			SendClientMessage(playerid, COLOR_BRIGHTRED, string);
		}
		return 1;
	}
//-------------------------------Admin UnJail-----------------------------------
	if(strcmp(cmd, "/carcerefine", true) == 0)
	{
		tmp = strtok(cmdtext, idx);
		giveplayerid = strval(tmp);
		GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
		GetPlayerName(playerid, sendername, sizeof(sendername));
        PlayerInfo[playerid][pAdmin] = dini_Int(udb_encode(sendername), "level");
        PlayerInfo[giveplayerid][pAdmin] = dini_Int(udb_encode(giveplayer), "level");
		if(!strlen(tmp))
		{
			SendClientMessage(playerid, COLOR_LIGHTBLUE, "USAGE: /carcerefine [playerid]");
			return 1;
		}
		if(PlayerInfo[playerid][pAdmin] < 1)
		{
		    SendClientMessage(playerid, COLOR_BRIGHTRED, "NN hai il permesso per poter eseguire il comando!");
		    return 1;
		}
		if(PlayerInfo[giveplayerid][pJailedby] == 0)
		{
		    SendClientMessage(playerid, COLOR_BRIGHTRED, "Il giocatore specifikato nn è in carcere!");
		    return 1;
		}
		if (IsPlayerConnected(giveplayerid))
		{
  			if(IsPlayerConnected(giveplayerid))
			  {
  		    	PlayerInfo[giveplayerid][pJailedby] = 0;
  				GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
				GetPlayerName(playerid, sendername, sizeof(sendername));
				SetPlayerInterior(giveplayerid,0);
				TogglePlayerControllable(giveplayerid,1);
				SetPlayerPos(giveplayerid,2283.2024,2424.1245,10.8203);
				format(string, sizeof(string), "Admin/Moderator %s (id: %d) ha rilasciato%s (id: %d) il carcerato.", sendername,playerid,giveplayer,giveplayerid);
				SendClientMessageToAll(COLOR_ORANGE, string);
				format(string, sizeof(string), "%s (id: %d) è stato rilasciato dal carcere.", giveplayer,giveplayerid);
				SendClientMessage(playerid, COLOR_ORANGE, string);
				format(string, sizeof(string), "Sei stato rilasciato grazie all Admin/Moderator.Ringrazialo!!! %s (id: %d).", sendername,playerid);
				SendClientMessage(giveplayerid, COLOR_ORANGE, string);
			}
			else {
				format(string, sizeof(string), "%d Il giocatore nn è attivo.", giveplayerid);
				SendClientMessage(playerid, COLOR_BRIGHTRED, string);
			}
	   	}
		return 1;
	}
//-------------------------------Admin Freeze-----------------------------------
	if(strcmp(cmd, "/freeze", true) == 0)
	{
		tmp = strtok(cmdtext, idx);
		giveplayerid = strval(tmp);
		GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
		GetPlayerName(playerid, sendername, sizeof(sendername));
        PlayerInfo[playerid][pAdmin] = dini_Int(udb_encode(sendername), "level");
        PlayerInfo[giveplayerid][pAdmin] = dini_Int(udb_encode(giveplayer), "level");
		if(logged[playerid] == 0)
		{
			SendClientMessage(playerid, COLOR_BRIGHTRED, "Ti devi loggare per poter utilizzare il comando!");
			return 1;
		}
		if(PlayerInfo[playerid][pAdmin] < 1)
		{
		    SendClientMessage(playerid, COLOR_BRIGHTRED, "NN hai il permesso per utilizzare il comando!");
		    return 1;
		}
		if(PlayerInfo[giveplayerid][pAdmin] > 0)
		{
		    SendClientMessage(playerid, COLOR_BRIGHTRED, "NN puoi co0ngelare un compagno o un admin/moderator!");
		    return 1;
		}
		if(!strlen(tmp))
		{
			SendClientMessage(playerid, COLOR_LIGHTBLUE, "USO: /freeze [playerid]");
			return 1;
		}

		if (IsPlayerConnected(giveplayerid))
		{
			GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
			GetPlayerName(playerid, sendername, sizeof(sendername));
			TogglePlayerControllable(giveplayerid, 0);
			frozen[playerid] = 1;
			format(string, sizeof(string), "Admin/Moderator %s (id: %d) Freeze %s (id: %d).", sendername,playerid,giveplayer,giveplayerid);
			SendClientMessageToAll(COLOR_ORANGE, string);
			format(string, sizeof(string), "%s (id: %d) sei stato congelato.", giveplayer,giveplayerid);
			SendClientMessage(playerid, COLOR_ORANGE, string);
			format(string, sizeof(string), "congelato dai Admin/Moderator %s (id: %d).", sendername,playerid);
			SendClientMessage(giveplayerid, COLOR_ORANGE, string);
		}
		else {
			format(string, sizeof(string), "%d il giocatore nn è attivo.", giveplayerid);
			SendClientMessage(playerid, COLOR_BRIGHTRED, string);
		}

		return 1;
	}
//------------------------------Admin UnFreeze----------------------------------
	if(strcmp(cmd, "/unfreeze", true) == 0)
	{
		tmp = strtok(cmdtext, idx);
		giveplayerid = strval(tmp);
		GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
		GetPlayerName(playerid, sendername, sizeof(sendername));
        PlayerInfo[playerid][pAdmin] = dini_Int(udb_encode(sendername), "level");
        PlayerInfo[giveplayerid][pAdmin] = dini_Int(udb_encode(giveplayer), "level");
		if(logged[playerid] == 0)
		{
			SendClientMessage(playerid, COLOR_BRIGHTRED, "Ti devi loggare per utilizzare il comando!");
			return 1;
		}
		if(PlayerInfo[playerid][pAdmin] < 1) {
		    SendClientMessage(playerid, COLOR_BRIGHTRED, "NN hai il permesso per poter utilizzare il comando!");
		    return 1;
		}
		if(PlayerInfo[giveplayerid][pAdmin] > 0) {
		    SendClientMessage(playerid, COLOR_BRIGHTRED, "NN puoi congelare un admin o moderator!");
		    return 1;
		}
		if(frozen[playerid] == 0) {
		    SendClientMessage(playerid, COLOR_BRIGHTRED, "Il giocatore nn è stato congelato!");
		    return 1;
		}
		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_LIGHTBLUE, "USO: /unfreeze [playerid]");
			return 1;
		}

		if (IsPlayerConnected(giveplayerid)) {
			GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
			GetPlayerName(playerid, sendername, sizeof(sendername));
			TogglePlayerControllable(giveplayerid, 1);
			frozen[playerid] = 0;
			format(string, sizeof(string), "Admin/Moderator %s (id: %d) ha scongelato %s (id: %d).", sendername,playerid,giveplayer,giveplayerid);
			SendClientMessageToAll(COLOR_ORANGE, string);
			format(string, sizeof(string), "%s (id: %d) è stato scongelato.", giveplayer,giveplayerid);
			SendClientMessage(playerid, COLOR_ORANGE, string);
			format(string, sizeof(string), "Sei scongelato dall Admin/Moderator %s (id: %d).", sendername,playerid);
			SendClientMessage(giveplayerid, COLOR_ORANGE, string);
		}
		else {
			format(string, sizeof(string), "%d il giocatore nn è attivo.", giveplayerid);
			SendClientMessage(playerid, COLOR_BRIGHTRED, string);
		}

		return 1;
	}
//----------------------------Admin Give Money----------------------------------
	if(strcmp(cmd, "/givemoney", true) == 0) {
		tmp = strtok(cmdtext, idx);
		giveplayerid = strval(tmp);
		GetPlayerName(playerid, sendername, sizeof(sendername));
        PlayerInfo[playerid][pAdmin] = dini_Int(udb_encode(sendername), "level");
		if(logged[playerid] == 0) {
			SendClientMessage(playerid, COLOR_BRIGHTRED, "Devi loggarti per poter eseguire il comadno!");
			return 1;
		}
		if(PlayerInfo[playerid][pAdmin] < 1) {
		    SendClientMessage(playerid, COLOR_BRIGHTRED, "NN hai il permesso per utilizzare il comando!");
		    return 1;
		}
		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_LIGHTBLUE, "USO: /givemoney [playerid] [amount]");
			return 1;
		}
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_LIGHTBLUE, "USO: /givemoney [playerid] [amount]");
			return 1;
		}
 		moneys[playerid] = strval(tmp);
		if (IsPlayerConnected(giveplayerid)) {
			GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
			GetPlayerName(playerid, sendername, sizeof(sendername));
			GetPlayerMoney(playerid);
			GivePlayerMoney(giveplayerid, moneys[playerid]);
			format(string, sizeof(string), "Tu hai $%d to %s (id: %d).",moneys[playerid],giveplayer,giveplayerid);
			SendClientMessage(playerid, COLOR_ORANGE, string);
			format(string, sizeof(string), "Ti hanno dato $%d gli Admin/Moderator %s (id: %d).", moneys[playerid], sendername, playerid);
			SendClientMessage(giveplayerid, COLOR_ORANGE, string);
		}
		else {
			format(string, sizeof(string), "%d Il giocatore nn è attivo.", giveplayerid);
			SendClientMessage(playerid, COLOR_BRIGHTRED, string);
		}

		return 1;
	}
//--------------------------/jester------------------------------------------
    if (strcmp("/jester", cmdtext, true, 10) == 0)
    {
        new Float:X,Float:Y,Float:Z,Float:Angle, carid;
        GetPlayerPos(playerid,X,Y,Z);
        GetPlayerFacingAngle(playerid,Angle);
        carid = GetPlayerVehicleID(playerid);
        carid = CreateVehicle(559,X,Y,Z,Angle,-1,-1,600);
        AddVehicleComponent(carid,1065);
        AddVehicleComponent(carid,1067);
        AddVehicleComponent(carid,1162);
        AddVehicleComponent(carid,1010);
        AddVehicleComponent(carid,1073);
        ChangeVehiclePaintjob(carid,1);
        PutPlayerInVehicle(playerid,carid,0);
        TogglePlayerControllable(playerid,true);
        return SendClientMessage(playerid,0xFF66FFAA, "Ti è stata data una jester trukkata smetrati!");
        }
//------------------------------sultan------------------------------------------
    if (strcmp("/sultan", cmdtext, true, 10) == 0)
    {
        new Float:X,Float:Y,Float:Z,Float:Angle, carid;
        GetPlayerPos(playerid,X,Y,Z);
        GetPlayerFacingAngle(playerid,Angle);
        carid = GetPlayerVehicleID(playerid);
        carid = CreateVehicle(560,X,Y,Z,Angle,-1,-1,600);
        AddVehicleComponent(carid,1029);
        AddVehicleComponent(carid,1033);
        AddVehicleComponent(carid,1139);
        AddVehicleComponent(carid,1010);
        AddVehicleComponent(carid,1073);
        ChangeVehiclePaintjob(carid,1);
        PutPlayerInVehicle(playerid,carid,0);
        TogglePlayerControllable(playerid,true);
        return SendClientMessage(playerid,0xFF66FFAA, "Ti è stata data una sultan trukkata smetrati");
        }
//-----------------------------Flash-------------------------------------------
    if (strcmp("/flash", cmdtext, true, 10) == 0)
    {
        new Float:X,Float:Y,Float:Z,Float:Angle, carid;
        GetPlayerPos(playerid,X,Y,Z);
        GetPlayerFacingAngle(playerid,Angle);
        carid = GetPlayerVehicleID(playerid);
        carid = CreateVehicle(565,X,Y,Z,Angle,-1,-1,600);
        AddVehicleComponent(carid,1046);
        AddVehicleComponent(carid,1049);
        AddVehicleComponent(carid,1053);
        AddVehicleComponent(carid,1010);
        AddVehicleComponent(carid,1073);
        ChangeVehiclePaintjob(carid,1);
        PutPlayerInVehicle(playerid,carid,0);
        TogglePlayerControllable(playerid,true);
        return SendClientMessage(playerid,0xFF66FFAA, "Bravo hai una flash cerca di nn distrugerla!!!");
        }
 //-----------------------------Uranus------------------------------------------
    if (strcmp("/uranus", cmdtext, true, 10) == 0)
    {
        new Float:X,Float:Y,Float:Z,Float:Angle, carid;
        GetPlayerPos(playerid,X,Y,Z);
        GetPlayerFacingAngle(playerid,Angle);
        carid = GetPlayerVehicleID(playerid);
        carid = CreateVehicle(558,X,Y,Z,Angle,-1,-1,600);
        AddVehicleComponent(carid,1088);
        AddVehicleComponent(carid,1092);
        AddVehicleComponent(carid,1139);
        AddVehicleComponent(carid,1010);
        AddVehicleComponent(carid,1073);
        ChangeVehiclePaintjob(carid,1);
        PutPlayerInVehicle(playerid,carid,0);
        TogglePlayerControllable(playerid,true);
        return SendClientMessage(playerid,0xFF66FFAA, "Hai una urans bravo!!");
        }
//------------------------------Elegy-------------------------------------------
    if (strcmp("/elegy", cmdtext, true, 10) == 0)
     {
        new Float:X,Float:Y,Float:Z,Float:Angle, carid;
        GetPlayerPos(playerid,X,Y,Z);
        GetPlayerFacingAngle(playerid,Angle);
        carid = GetPlayerVehicleID(playerid);
        carid = CreateVehicle(562,X,Y,Z,Angle,-1,-1,600);
        AddVehicleComponent(carid,1034);
        AddVehicleComponent(carid,1038);
        AddVehicleComponent(carid,1147);
        AddVehicleComponent(carid,1010);
        AddVehicleComponent(carid,1073);
        ChangeVehiclePaintjob(carid,1);
        PutPlayerInVehicle(playerid,carid,0);
        TogglePlayerControllable(playerid,true);
        return SendClientMessage(playerid,0xFF66FFAA, "Una elegy ti è stata spawnata divertiti");
        }
//------------------------------Stratum-----------------------------------------
    if (strcmp("/stratum", cmdtext, true, 10) == 0)
    {
        new Float:X,Float:Y,Float:Z,Float:Angle, carid;
        GetPlayerPos(playerid,X,Y,Z);
        GetPlayerFacingAngle(playerid,Angle);
        carid = GetPlayerVehicleID(playerid);
        carid = CreateVehicle(561,X,Y,Z,Angle,-1,-1,600);
        AddVehicleComponent(carid,1055);
        AddVehicleComponent(carid,1058);
        AddVehicleComponent(carid,1064);
        AddVehicleComponent(carid,1010);
        AddVehicleComponent(carid,1073);
        ChangeVehiclePaintjob(carid,1);
        PutPlayerInVehicle(playerid,carid,0);
        TogglePlayerControllable(playerid,true);
        return SendClientMessage(playerid,0xFF66FFAA, "Una Stratum tuned e' stata spawnata! Neanche fossimo a Fast and Furious...");
        }
//------------------------------Admin Disarm------------------------------------
	if(strcmp(cmd, "/disarm", true) == 0)
	{
		tmp = strtok(cmdtext, idx);
		giveplayerid = strval(tmp);
		GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
		GetPlayerName(playerid, sendername, sizeof(sendername));
        PlayerInfo[playerid][pAdmin] = dini_Int(udb_encode(sendername), "level");
        PlayerInfo[giveplayerid][pAdmin] = dini_Int(udb_encode(giveplayer), "level");
		if(logged[playerid] == 0) {
			SendClientMessage(playerid, COLOR_BRIGHTRED, "Devi loggarti per poter utilizzare il comando!");
			return 1;
		}
		if(PlayerInfo[playerid][pAdmin] < 1) {
		    SendClientMessage(playerid, COLOR_BRIGHTRED, "NN hai il permesso per potere eseguire il comando!");
		    return 1;
		}
		if(PlayerInfo[giveplayerid][pAdmin] > 0) {
		    SendClientMessage(playerid, COLOR_BRIGHTRED, "NN puoi disarmare un admin o moderatore!");
		    return 1;
		}
		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_LIGHTBLUE, "USO: /disarm [playerid]");
			return 1;
		}

		if (IsPlayerConnected(giveplayerid)) {
			GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
			GetPlayerName(playerid, sendername, sizeof(sendername));
			ResetPlayerWeapons(giveplayerid);
			format(string, sizeof(string), "Admin/Moderator %s (id: %d) ha disarmato %s (id: %d).", sendername,playerid,giveplayer,giveplayerid);
			SendClientMessageToAll(COLOR_ORANGE, string);
			format(string, sizeof(string), "Tu hai disarmato %s (id: %d).", giveplayer,giveplayerid);
			SendClientMessage(playerid, COLOR_ORANGE, string);
			format(string, sizeof(string), "Admin/Moderator %s (id: %d) ti ha disarmato.", sendername,playerid);
			SendClientMessage(giveplayerid, COLOR_ORANGE, string);
		}
		else {
			format(string, sizeof(string), "%d il player nn è attivo.", giveplayerid);
			SendClientMessage(playerid, COLOR_BRIGHTRED, string);
		}

		return 1;
	}
//------------------------------Admin Announce----------------------------------
	if(strcmp(cmd, "/announce", true) == 0)
        {

        tmp = strtok(cmdtext, idx, strlen(cmdtext));
		GetPlayerName(playerid, sendername, sizeof(sendername));
        PlayerInfo[playerid][pAdmin] = dini_Int(udb_encode(sendername), "level");
        PlayerInfo[giveplayerid][pAdmin] = dini_Int(udb_encode(giveplayer), "level");
		if(logged[playerid] == 0) {
			SendClientMessage(playerid, COLOR_BRIGHTRED, "You must be logged in to use this command!");
			return 1;
		}
		PlayerInfo[playerid][pAdmin] = dini_Int(udb_encode(sendername), "level");
		if(PlayerInfo[playerid][pAdmin] == 0) {
		    SendClientMessage(playerid, COLOR_BRIGHTRED, "You do not have permission to use that command!");
		    return 1;
		}
 		if (!strlen(tmp))
  		{
  			SendClientMessage(playerid, COLOR_LIGHTBLUE, "Usage: /aannounce [message]");
    		return 1;
      	}
      	if (2 < strlen(tmp) && strlen(tmp) < 31)
   		{
  			format(string, sizeof(string), "~w~%s", tmp);
			GameTextForAll(string, 5000, 3);
			for(new i=0;i<MAX_PLAYERS;i++) {
				if(IsPlayerConnected(i)) {
		    		aMessage[i] = 1;
		    		SetTimer("announcer",5000,0);
				}
			}
		}
 		else
  		{
			if (strlen(tmp) < 2)
			{
 				format(string, sizeof(string), "- %s - is too short!", tmp);
   				SendClientMessage(playerid, COLOR_BRIGHTRED, string);
			}
			if (strlen(tmp) == 2)
			{
            	format(string, sizeof(string), "- %s - is too short!", tmp);
           		SendClientMessage(playerid, COLOR_BRIGHTRED, string);
			}
			if (strlen(tmp) > 31)
			{
           		format(string, sizeof(string), "- %s - is too long!", tmp);
           		SendClientMessage(playerid, COLOR_BRIGHTRED, string);
			}
			if (strlen(tmp) == 31)
			{
				format(string, sizeof(string), "- %s - is too long!", tmp);
  				SendClientMessage(playerid, COLOR_BRIGHTRED, string);
			}
		}
        return 1;
	}
//------------------------------Admin Murder------------------------------------
	if(strcmp(cmd, "/akill", true) == 0) {
		tmp = strtok(cmdtext, idx);
		giveplayerid = strval(tmp);
		GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
		GetPlayerName(playerid, sendername, sizeof(sendername));
        PlayerInfo[playerid][pAdmin] = dini_Int(udb_encode(sendername), "level");
        PlayerInfo[giveplayerid][pAdmin] = dini_Int(udb_encode(giveplayer), "level");
		if(logged[playerid] == 0) {
			SendClientMessage(playerid, COLOR_BRIGHTRED, "You must be logged in to use this command!");
			return 1;
		}
		if(PlayerInfo[playerid][pAdmin] < 1) {
		    SendClientMessage(playerid, COLOR_BRIGHTRED, "You do not have permission to use that command!");
		    return 1;
		}
		if(PlayerInfo[giveplayerid][pAdmin] > 0) {
		    SendClientMessage(playerid, COLOR_BRIGHTRED, "You cannot murder a fellow admin or moderator!");
		    return 1;
		}
		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_LIGHTBLUE, "USAGE: /akill [playerid]");
			return 1;
		}

		if (IsPlayerConnected(giveplayerid)) {
			GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
			GetPlayerName(playerid, sendername, sizeof(sendername));
			SetPlayerHealth(giveplayerid, -999);
			format(string, sizeof(string), "Admin/Moderator %s (id: %d) murdered %s (id: %d).", sendername,playerid,giveplayer,giveplayerid);
			SendClientMessageToAll(COLOR_ORANGE, string);
			format(string, sizeof(string), "You have murdered %s (id: %d).", giveplayer,giveplayerid);
			SendClientMessage(playerid, COLOR_ORANGE, string);
			format(string, sizeof(string), "Admin/Moderator %s (id: %d) murdered you.", sendername,playerid);
			SendClientMessage(giveplayerid, COLOR_ORANGE, string);
			return 1;
		}
		else {
			format(string, sizeof(string), "%d is not an active player.", giveplayerid);
			SendClientMessage(playerid, COLOR_BRIGHTRED, string);
			return 1;
		}
	}
//---------------------------------Buy Car--------------------------------------
	if(strcmp(cmd, "/buycar", true) == 0) {
	    new filename[256];
	    GetPlayerName(playerid, playername, MAX_PLAYER_NAME);
    	cartemp[playerid] = dini_Int(udb_encode(playername), "carowned");
    	format(filename, sizeof(filename), "%d", GetPlayerVehicleID(playerid));
		tmp = dini_Get(filename, "owner");
		carname = dini_Get(filename, "carname");
		if(logged[playerid] == 0) {
			SendClientMessage(playerid, COLOR_BRIGHTRED, "Devi essere registrato ed aver effettuato il login per l'acquisto di un veicolo!");
			return 1;
		}
		carbuyable[playerid] = dini_Int(filename, "buybar");
  		if(carbuyable[playerid] == 1) {
    		SendClientMessage(playerid, COLOR_BRIGHTRED, "Questo veicolo è stato impostato come non-vendibile dagli amministratori del server!");
      		return 1;
    	}
		if(passenger[playerid] == 1) {
			SendClientMessage(playerid, COLOR_BRIGHTRED, "Per guidare devi comprarlo(se vuoi) compralo!!!");
			return 1;
		}
		if(IsPlayerInAnyVehicle(playerid) == 0) {
			SendClientMessage(playerid, COLOR_BRIGHTRED, "Devi essere su un veicolo per comprarlo!");
			return 1;
		}
		if (strcmp(tmp,playername,false) == 0) {
				format(string, sizeof(string), "Sei gia propetario di questo %s, %s", carname, playername);
				SendClientMessage(playerid, COLOR_BRIGHTRED, string);
				return 1;
			}
		format(filename, sizeof(filename), "%d", GetPlayerVehicleID(playerid));
		bought[playerid] = dini_Int(filename, "bought");
		if(cartemp[playerid] == 0 && bought[playerid] == 1) {
			format(string, sizeof(string), "Questo %s è di propietà di %s, nn è in vendita!", carname, tmp);
			SendClientMessage(playerid, COLOR_BRIGHTRED, string);
			return 1;
		}
		if(cartemp[playerid] > 0) {
  			SendClientMessage(playerid, COLOR_BRIGHTRED, "Vendi il tuo veicolo primam dagli altri!");
     		return 1;
		}
		if(logged[playerid] == 1) {
			new cash[MAX_PLAYERS];
			cash[playerid] = GetPlayerMoney(playerid);
			if(cash[playerid] >= carcost[playerid]) {
			    new stringa[256];
	   	 		format(stringa, sizeof(stringa), "-%d", carcost[playerid]);
				GetPlayerName(playerid, playername, MAX_PLAYER_NAME);
				format(filename, sizeof(filename), "%d", GetPlayerVehicleID(playerid));
				dini_Set(filename, "owner", playername);
				dini_Set(udb_encode(playername), "carowned", filename);
				dini_IntSet(filename, "bought", 1);
				dini_Set(udb_encode(playername), "car", "1");
				GivePlayerMoney(playerid, -carcost[playerid]);
				ignition[playerid] = 1;
				new string5[256];
				tmp[playerid] = GetPlayerVehicleID(playerid);
				format(string5, sizeof(string5), "Hai appena acquistato questo %s per $%d.", carname, carcost[playerid],carname,"%");
				SendClientMessage(playerid, COLOR_GREEN, string5);
				return 1;
			}
			if(cash[playerid] < carcost[playerid]) {
			    new string6[256];
				format(string6, sizeof(string6), "NN hai soldi $%d nn puoi permettetelo %s!", carcost[playerid], carname);
				SendClientMessage(playerid, COLOR_BRIGHTRED, string6);
				return 1;
			}
		}
		return 1;
	}
//-----------------------------------Sell Car-----------------------------------
	if(strcmp(cmd, "/sellcar", true) == 0) {
		new var1[256];
		new filename[256];
		format(filename, sizeof(filename), "%d", GetPlayerVehicleID(playerid));
		GetPlayerName(playerid, playername, MAX_PLAYER_NAME);
   	    var1 = dini_Get(filename, "owner");
   	    carname = dini_Get(filename, "carname");
   	    tmp[playerid] = GetPlayerVehicleID(playerid);
   	    if(logged[playerid] == 0) {
			SendClientMessage(playerid, COLOR_BRIGHTRED, "Devi essere registrato e loggato per poter vendere il veicolo!");
			return 1;
		}
		carbuyable[playerid] = dini_Int(filename, "buybar");
  		if(carbuyable[playerid] == 1) {
    		SendClientMessage(playerid, COLOR_BRIGHTRED, "Questo vveicolo è stato reso nn vendibile dagli administrator del server!");
      		return 1;
    	}
		if(passenger[playerid] == 1) {
			SendClientMessage(playerid, COLOR_BRIGHTRED, "Devi essere dentro il tuo veicolo x poterlo vendere!");
			return 1;
		}
		if(IsPlayerInAnyVehicle(playerid) == 0) {
			SendClientMessage(playerid, COLOR_BRIGHTRED, "Devi essere in un veicolo x venderlo!");
			return 1;
		}
   	    if (strcmp(var1,playername,false) == 0) {
   	        GetPlayerName(playerid, playername, MAX_PLAYER_NAME);
   	    	format(filename, sizeof(filename), "%d", GetPlayerVehicleID(playerid));
			dini_Set(filename, "owner", "server");
			dini_IntSet(udb_encode(playername), "carowned", 0);
			dini_IntSet(filename, "bought", 0);
			dini_IntSet(filename, "secure", 0);
			dini_IntSet(udb_encode(playername), "car", 0);
			GivePlayerMoney(playerid, carcost[playerid]);
			RemovePlayerFromVehicle(playerid);
			SetVehicleToRespawn(tmp[playerid]);
			format(string, sizeof(string), "hai appena venduto il tuo %s per $%d, goditi la passeggiata!!", carname, carcost[playerid]);
			SendClientMessage(playerid, COLOR_BRIGHTRED, string);
			return 1;
  		}
  		else {
			SendClientMessage(playerid, COLOR_BRIGHTRED, "Cosa stai cercando di tirarlo qui, non è il proprietario del veicolo!!!");
			return 1;
		}
	}
//-------------------------------Admin Sell Car---------------------------------
	if(strcmp(cmd, "/asellcar", true) == 0) {
		new var1[256];
		new filename[256];
		format(filename, sizeof(filename), "%d", GetPlayerVehicleID(playerid));
		GetPlayerName(playerid, playername, MAX_PLAYER_NAME);
   	    var1 = dini_Get(filename, "owner");
   	    if(logged[playerid] == 0) {
			SendClientMessage(playerid, COLOR_BRIGHTRED, "Devi registrarti per poter eseguire il comando!");
			return 1;
		}
		if(passenger[playerid] == 1) {
			SendClientMessage(playerid, COLOR_BRIGHTRED, "Dovete essere in sede i driver di questo veicolo di utilizzare questo comando!");
			return 1;
		}
		if(IsPlayerInAnyVehicle(playerid) == 0) {
			SendClientMessage(playerid, COLOR_BRIGHTRED, "Devi essere in un veicolo alla fine di utilizzare questo comando!");
			return 1;
		}
		if (strcmp(var1,server,false) == 0) {
		    SendClientMessage(playerid, COLOR_BRIGHTRED, "Questo veicolo non ha ancora un proprietario e non può essere venduto!");
			return 1;
		}
   	    if (PlayerInfo[playerid][pAdmin] == 2) {
   	        GetPlayerName(playerid, playername, MAX_PLAYER_NAME);
   	    	format(filename, sizeof(filename), "%d", GetPlayerVehicleID(playerid));
			dini_Set(filename, "owner", "server");
			dini_IntSet(filename, "bought", 0);
			dini_IntSet(filename, "secure", 0);
			if(dini_Exists(udb_encode(var1))) {
			    tempid[playerid] = IsPlayerNameOnline(var1);
			    if(tempid[playerid] >= 0 || tempid[playerid] < 100) {
			        bank[tempid[playerid]] = bank[tempid[playerid]]+carcost[playerid];
					dini_IntSet(udb_encode(var1), "car", 0);
					dini_IntSet(udb_encode(var1), "carowned", 0);
					format(string, sizeof(string), "è stato venduto %s's %s. Il prezzo di vendita è ($%d) è stato inviato a %s's conto bancario", var1, carname, carcost[playerid], var1);
					SendClientMessage(playerid, COLOR_ORANGE, string);
					format(string, sizeof(string), "L'admin (%s) ha appena venduto il tuo %s! per il prezzo di ($%d) il conto è stato inviato al tuo conto corrente!", carname, playername, carcost[playerid]);
                    SendClientMessage(playerid, COLOR_ORANGE, string);
					return 1;
				}
				else {
					bank[tempid[playerid]] = dini_Int(udb_encode(var1), "bank");
				    bank[tempid[playerid]] = bank[tempid[playerid]]+carcost[playerid];
				    dini_IntSet(udb_encode(var1), "car", 0);
					dini_IntSet(udb_encode(var1), "carowned", 0);
					dini_IntSet(udb_encode(var1), "carsold", 1);
					dini_IntSet(udb_encode(var1), "bank", bank[tempid[playerid]]);
					format(string, sizeof(string), "Questo è stato venduto %s's %s. il prezzo di vendita ($%d) è stato inviato %s's al conto corrente bancario", var1, carname, carcost[playerid], var1);
					SendClientMessage(playerid, COLOR_ORANGE, string);
					return 1;
				}
			}
			if(!dini_Exists(udb_encode(var1))) {
				format(string, sizeof(string), "bho %s's %s. Il lettore di file non è stata trovata e non può essere modificato.", var1, carname);
				SendClientMessage(playerid, COLOR_GREEN, string);
				return 1;
			}
		}
		SendClientMessage(playerid, COLOR_BRIGHTRED, "NN sei l'administrator del server x questo comando!");
		return 1;

	}
//-----------------------------Admin Make Car Buyable---------------------------
	if(strcmp(cmd, "/buy", true) == 0) {
		new var1[256];
		new filename[256];
		format(filename, sizeof(filename), "%d", GetPlayerVehicleID(playerid));
		GetPlayerName(playerid, playername, MAX_PLAYER_NAME);
   	    var1 = dini_Get(filename, "owner");
   	    carname = dini_Get(filename, "carname");
   	    tmp[playerid] = GetPlayerVehicleID(playerid);
   	    carbuyable[playerid] = dini_Int(filename, "buybar");
   	    if(logged[playerid] == 0) {
			SendClientMessage(playerid, COLOR_BRIGHTRED, "Ti devi registrare per questo comando!");
			return 1;
		}
		if(passenger[playerid] == 1) {
			SendClientMessage(playerid, COLOR_BRIGHTRED, "Dovete essere in sede per l'utilizzo di questo comando");
			return 1;
		}
		if(IsPlayerInAnyVehicle(playerid) == 0) {
			SendClientMessage(playerid, COLOR_BRIGHTRED, "Devi essere in un veicolo alla fine di utilizzare questo comando");
			return 1;
		}
   	    if (PlayerInfo[playerid][pAdmin] == 2) {
   	        if(carbuyable[playerid] == 1) {
   	        	format(string,sizeof(string),"Avete impostato questo %s per venderlo!", carname);
   	        	SendClientMessage(playerid,COLOR_ORANGE,string);
				dini_IntSet(filename, "buybar", 0);
				return 1;
			}
			SendClientMessage(playerid, COLOR_BRIGHTRED, "Questo veicolo è già impostato per venderlo!");
			return 1;
		}
		SendClientMessage(playerid, COLOR_BRIGHTRED, "Non sei un amministratore del server e non può usare questo comando!");
		return 1;
	}
//---------------------------Admin Make Car UnBuyable---------------------------
	if(strcmp(cmd, "/unbuy", true) == 0) {
		new var1[256];
		new filename[256];
		format(filename, sizeof(filename), "%d", GetPlayerVehicleID(playerid));
		GetPlayerName(playerid, playername, MAX_PLAYER_NAME);
   	    var1 = dini_Get(filename, "owner");
   	    carname = dini_Get(filename, "carname");
   	    carbuyable[playerid] = dini_Int(filename, "buybar");
   	    if(logged[playerid] == 0) {
			SendClientMessage(playerid, COLOR_BRIGHTRED, "Devi registrarti per poter utilizzare il comando!");
			return 1;
		}
		if(passenger[playerid] == 1) {
			SendClientMessage(playerid, COLOR_BRIGHTRED, "Devi essere in sede per poter utilizzare il comando");
			return 1;
		}
		if(IsPlayerInAnyVehicle(playerid) == 0) {
			SendClientMessage(playerid, COLOR_BRIGHTRED, "Devi essere su un veicolo per poter utilizzare il comand");
			return 1;
		}
		if(carbuyable[playerid] == 1) {
		    SendClientMessage(playerid, COLOR_BRIGHTRED, "Questo veicolo è già stato un-buyable!");
			return 1;
		}
   	    if (PlayerInfo[playerid][pAdmin] == 2) {
   	        if (strcmp(server,var1,false) == 0) {
 				format(string,sizeof(string),"Hai impostato questo %d hai nn vendibili!",carname);
 				SendClientMessage(playerid,COLOR_ORANGE,string);
   				dini_IntSet(filename, "buybar", 1);
				return 1;
			}
   	        GetPlayerName(playerid, playername, MAX_PLAYER_NAME);
   	    	format(filename, sizeof(filename), "%d", GetPlayerVehicleID(playerid));
   	    	var1 = dini_Get(filename, "owner");
			dini_Set(filename, "owner", "server");
			dini_IntSet(filename, "bought", 0);
			dini_IntSet(filename, "secure", 0);
			dini_IntSet(filename, "buybar", 1);
			if(dini_Exists(udb_encode(var1))) {
			    tempid[playerid] = IsPlayerNameOnline(var1);
			    if(tempid[playerid] >= 0 || tempid[playerid] < 100) {
			        bank[tempid[playerid]] = bank[tempid[playerid]]+carcost[playerid];
					dini_IntSet(udb_encode(var1), "car", 0);
					dini_IntSet(udb_encode(var1), "carowned", 0);
					format(string, sizeof(string), "Devi solo venduto% s% s's e impostarla a non buyable. Il prezzo di vendita ($% d), è stato inviato a% s online di conto corrente bancario", var1, carname, carcost[playerid], var1);
					SendClientMessage(playerid, COLOR_ORANGE, string);
					format(string, sizeof(string), "Admin (% s) ha appena venduto il tuo% s e impostarla a non buyable! Il prezzo di vendita ($% d), è stato inviato al tuo conto in banca online!", playername, carname, carcost[playerid]);
                    SendClientMessage(tempid[playerid], COLOR_ORANGE, string);
					return 1;
				}
				else {
					bank[tempid[playerid]] = dini_Int(udb_encode(var1), "bank");
				    bank[tempid[playerid]] = bank[tempid[playerid]]+carcost[playerid];
				    dini_IntSet(udb_encode(var1), "car", 0);
					dini_IntSet(udb_encode(var1), "carowned", 0);
					dini_IntSet(udb_encode(var1), "carsold", 1);
					dini_IntSet(udb_encode(var1), "bank", bank[tempid[playerid]]);
					format(string, sizeof(string), "Devi solo venduto% s% s's e impostarla a non buyable. Il prezzo di vendita ($% d), è stato inviato a% s online di conto corrente bancario", var1, carname, carcost[playerid], var1);
					SendClientMessage(playerid, COLOR_ORANGE, string);
					return 1;
				}
			}
			if(!dini_Exists(udb_encode(var1))) {
				format(string, sizeof(string), "Devi solo venduto% s% s's e impostarla a non buyable. Il lettore di file non è stata trovata e non può essere modificato.", var1, carname);
				SendClientMessage(playerid, COLOR_GREEN, string);
				return 1;
			}
		}
		SendClientMessage(playerid, COLOR_BRIGHTRED, "NN sei l'admin del server e nn puoi fare il comando!");
		return 1;
	}
//-----------------------------------Lock Car-----------------------------------
	if (strcmp(cmdtext, "/lock", true)==0)
	{
		if(IsPlayerInAnyVehicle(playerid))
		{
		    new filename[256];
			format(filename, sizeof(filename), "%d", GetPlayerVehicleID(playerid));
			carname = dini_Get(filename, "carname");
			new State=GetPlayerState(playerid);
			if(State!=PLAYER_STATE_DRIVER)
			{
				SendClientMessage(playerid,COLOR_YELLOW,"Hai bisogno di essere nel posto driver");
				return 1;
			}
			new i;
			for(i=0;i<MAX_PLAYERS;i++)
			{
				if(i != playerid)
				{
					SetVehicleParamsForPlayer(GetPlayerVehicleID(playerid),i, 0, 1);
				}
			}
			format(lockmess,sizeof(lockmess),"Il tuo% s è ora bloccato.",carname);
			SendClientMessage(playerid,COLOR_GREEN, lockmess);
			new Float:pX, Float:pY, Float:pZ;
			GetPlayerPos(playerid,pX,pY,pZ);
			PlayerPlaySound(playerid,1056,pX,pY,pZ);
		}
		else
		{
			SendClientMessage(playerid, COLOR_YELLOW, "NN sei in un veicolo.");
		}
		return 1;
	}
//----------------------------------Unlock Car----------------------------------
	if (strcmp(cmdtext, "/unlock", true)==0)
	{
		if(IsPlayerInAnyVehicle(playerid))
		{
		    new filename[256];
			format(filename, sizeof(filename), "%d", GetPlayerVehicleID(playerid));
			carname = dini_Get(filename, "carname");
			new State=GetPlayerState(playerid);
			if(State!=PLAYER_STATE_DRIVER)
			{
				SendClientMessage(playerid,COLOR_YELLOW, "Hai bisogno di essere nel posto driver..");
				return 1;
			}
			new i;
			for(i=0;i<MAX_PLAYERS;i++)
			{
				SetVehicleParamsForPlayer(GetPlayerVehicleID(playerid),i, 0, 0);
			}
			format(lockmess,sizeof(lockmess),"Il tuo %s è ora sbloccato.",carname);
			SendClientMessage(playerid,COLOR_GREEN, lockmess);
			new Float:pX, Float:pY, Float:pZ;
			GetPlayerPos(playerid,pX,pY,pZ);
			PlayerPlaySound(playerid,1057,pX,pY,pZ);
		}
		else
		{
			SendClientMessage(playerid, COLOR_YELLOW, "NN sei in un veicolo.");
		}
		return 1;
	}
//---------------------------Secure Car [Non Leathal]---------------------------
	if (strcmp(cmdtext, "/securekick", true)==0) {
		new filename[256];
		format(filename, sizeof(filename), "%d", GetPlayerVehicleID(playerid));
		new val1[256];
		GetPlayerName(playerid, playername, MAX_PLAYER_NAME);
		val1 = dini_Get(filename, "owner");
		tmpcar[playerid] = dini_Int(udb_encode(playername), "carowned");
	    if(logged[playerid] == 0) {
			SendClientMessage(playerid, COLOR_BRIGHTRED, "Ti devi registrare per eseguire il comando!");
			return 1;
		}
  		if(carbuyable[playerid] == 1) {
    		SendClientMessage(playerid, COLOR_BRIGHTRED, "This vehicle is un-buyable and these commands will not work!");
			return 1;
    	}
		if(tmpcar[playerid] == 0) {
            SendClientMessage(playerid, COLOR_BRIGHTRED, "You must first own a vehicle before you can use this command!");
			return 1;
		}
		if(IsPlayerInAnyVehicle(playerid)) {
            if (strcmp(val1,playername,false) == 0) {
				dini_IntSet(filename, "secure", 1);
				carname = dini_Get(filename, "carname");
				format(securemess,sizeof(securemess),"You have set your %s as secure, no other player will be able to use it even when you are offline.", carname);
				SendClientMessage(playerid, COLOR_GREEN, securemess);
				return 1;
			}
			else {
				SendClientMessage(playerid, COLOR_BRIGHTRED, "You do not own this vehicle and cannot secure it!");
				return 1;
			}
		}
		else {
			SendClientMessage(playerid, COLOR_LIGHTBLUE, "You must be in a vehicle to use this command");
			return 1;
		}
	}
//------------------------Admin Secure Car [Non Leathal]------------------------
	if (strcmp(cmdtext, "/asecurekick", true)==0) {
		new filename[256];
		format(filename, sizeof(filename), "%d", GetPlayerVehicleID(playerid));
		tmpcar[playerid] = dini_Int(udb_encode(playername), "carowned");
	    if(logged[playerid] == 0) {
			SendClientMessage(playerid, COLOR_BRIGHTRED, "You must be registered and logged in to use this command!");
			return 1;
		}
		if (PlayerInfo[playerid][pAdmin] > 0) {
			if(IsPlayerInAnyVehicle(playerid)) {
				dini_IntSet(filename, "asecure", 1);
				carname = dini_Get(filename, "carname");
				format(securemess,sizeof(securemess),"You have set this %s as admin only, no other player will be able to use it unless they too are an admin.", carname);
				SendClientMessage(playerid, COLOR_GREEN, securemess);
				return 1;
			}
			else {
				SendClientMessage(playerid, COLOR_LIGHTBLUE, "You must be in a vehicle to use this command");
				return 1;
			}
		}
		else {
		    SendClientMessage(playerid, COLOR_BRIGHTRED, "You do not have permission to use this command!");
			return 1;
		}
	}
//--------------------------Admin Secure car [Leathal]--------------------------
	if (strcmp(cmdtext, "/asecurekill", true)==0) {
		new filename[256];
		format(filename, sizeof(filename), "%d", GetPlayerVehicleID(playerid));
		tmpcar[playerid] = dini_Int(udb_encode(playername), "carowned");
	    if(logged[playerid] == 0) {
			SendClientMessage(playerid, COLOR_BRIGHTRED, "You must be registered and logged in to use this command!");
			return 1;
		}
		if(IsPlayerInAnyVehicle(playerid)) {
            if (PlayerInfo[playerid][pAdmin] > 0) {
				dini_IntSet(filename, "asecure", 2);
				carname = dini_Get(filename, "carname");
				format(securemess,sizeof(securemess),"You have set this %s as admin only with lethal protection, no other player will be able to use it unless they too are an admin.", carname);
				SendClientMessage(playerid, COLOR_GREEN, securemess);
				return 1;
			}
			else {
				SendClientMessage(playerid, COLOR_BRIGHTRED, "You do not have permission to use this command!");
				return 1;
			}
		}
		else {
			SendClientMessage(playerid, COLOR_LIGHTBLUE, "You must be in a vehicle to use this command");
			return 1;
		}
	}
//---------------------------------Admin Unsecure-------------------------------
	if (strcmp(cmdtext, "/aunsecure", true)==0) {
		new filename[256];
		format(filename, sizeof(filename), "%d", GetPlayerVehicleID(playerid));
		tmpcar[playerid] = dini_Int(udb_encode(playername), "carowned");
	    if(logged[playerid] == 0) {
			SendClientMessage(playerid, COLOR_BRIGHTRED, "You must be registered and logged in to use this command!");
			return 1;
		}
		if(tmpcar[playerid] == 0) {
            SendClientMessage(playerid, COLOR_BRIGHTRED, "You must first own a vehicle before you can use this command!");
			return 1;
		}
		if(IsPlayerInAnyVehicle(playerid)) {
            if (PlayerInfo[playerid][pAdmin] > 0) {
				dini_IntSet(filename, "asecure", 0);
				carname = dini_Get(filename, "carname");
				format(securemess,sizeof(securemess),"You have set this %s as accessable to everyone.", carname);
				SendClientMessage(playerid, COLOR_GREEN, securemess);
				return 1;
			}
			else {
				SendClientMessage(playerid, COLOR_BRIGHTRED, "You do not have permission to use this command!");
				return 1;
			}
		}
		else {
			SendClientMessage(playerid, COLOR_LIGHTBLUE, "You must be in a vehicle to use this command");
			return 1;
		}
	}
//------------------------------------UnSecure----------------------------------
    if (strcmp(cmdtext, "/unsecure", true)==0) {
        new filename[256];
		format(filename, sizeof(filename), "%d", GetPlayerVehicleID(playerid));
		new val1[256];
		GetPlayerName(playerid, playername, MAX_PLAYER_NAME);
		val1 = dini_Get(filename, "owner");
		tmpcar[playerid] = dini_Int(udb_encode(playername), "carowned");
	    if(logged[playerid] == 0) {
			SendClientMessage(playerid, COLOR_BRIGHTRED, "Ti devi registrare per poter eseguire il comando!");
			return 1;
		}
  		if(carbuyable[playerid] == 1) {
    		SendClientMessage(playerid, COLOR_BRIGHTRED, "Questo veicoloè un-buyable!");
			return 1;
    	}
		if(tmpcar[playerid] == 0) {
            SendClientMessage(playerid, COLOR_BRIGHTRED, "È necessario essere il proprietario di un veicolo, prima di usare questo comando!");
			return 1;
		}
		if(IsPlayerInAnyVehicle(playerid)) {
            if (strcmp(val1,playername,false) == 0) {
				dini_IntSet(filename, "secure", 0);
				carname = dini_Get(filename, "carname");
				format(securemess,sizeof(securemess),"Hai impostato il tuo% s come accessibili a tutti.", carname);
				SendClientMessage(playerid, COLOR_GREEN, securemess);
				return 1;
			}
			else {
			    SendClientMessage(playerid, COLOR_BRIGHTRED, "Questo veicolo nn è propio!");
				return 1;
			}
		}
		else {
			SendClientMessage(playerid, COLOR_LIGHTBLUE, "Devi essere in un veicolo per utilizzare questo comando");
			return 1;
		}
	}
//-----------------------------Secure Car [Leathal]-----------------------------

//------------------------------Teleport to Bank--------------------------------
	if(strcmp(cmdtext, "/bank", true) == 0)
	{
		{
			SetPlayerInterior(playerid,6);
			{
				SetPlayerPos(playerid,-27.7789,-54.9291,1003.5469);
			}
			GameTextForPlayer(playerid,"La Banca!",2500,3);
		}
		return 1;
	}
//------------------------------Teleport to Pimp--------------------------------
	if(strcmp(cmdtext, "/ballas", true) == 0)
	{
	    if (gTeam[playerid] == TEAM_PIMP)
		{
			SetPlayerInterior(playerid,0);
			{
				SetPlayerPos(playerid,-2070.2710,1570.2823,13.4166);
			}
			GameTextForPlayer(playerid,"Uccidete a tutti!",2500,3);
		}
		return 1;
	}
//-----------------------------Teleport to Worker-------------------------------
	if(strcmp(cmdtext, "/grove", true) == 0)
	{
	    if (gTeam[playerid] == TEAM_WORKER)
		{
			SetPlayerInterior(playerid,0);
			{
				SetPlayerPos(playerid,-2062.5583,237.4662,36.2890);
			}
			GameTextForPlayer(playerid,"uccidete a tutti!",2500,3);
		}
		return 1;
	}
 //-------------------------Stunt------------------------------
 
	if(strcmp(cmdtext, "/stunt", true) == 0) {
 	SetPlayerPos(playerid,410.7010,2533.4500,19);
	SendClientMessage(playerid,0x34C940FF,"Benvenuti nella mappa stunt by Dj.Cenzo");
	return 1;
    }
 //-----------------------Stunt2---------------------------------------------
    
	if(strcmp(cmdtext, "/stunt2", true) == 0) {
 	SetPlayerPos(playerid,1422.2764,-1329.0375,13);
	SendClientMessage(playerid,0x34C940FF,"Benvenuti nella mappa stunt2 state attenti!!!!");
	return 1;
    }
//-----------------------------Teleport to Triad--------------------------------
	if(strcmp(cmdtext, "/triad", true) == 0)
	{
	    if (gTeam[playerid] == TEAM_TRIAD)
		{
			SetPlayerInterior(playerid,0);
			{
				SetPlayerPos(playerid,-2188.8037,609.8431,36.2624);
			}
			GameTextForPlayer(playerid,"Triad Spawn!",2500,3);
		}
		return 1;
	}
//------------------------------Teleport to Army--------------------------------
	if(strcmp(cmdtext, "/army", true) == 0)
	{
	    if (gTeam[playerid] == TEAM_ARMY)
		{
			SetPlayerInterior(playerid,0);
			{
				SetPlayerPos(playerid,-1377.4271,466.0897,8.9393);
			}
			GameTextForPlayer(playerid,"Army Spawn!",2500,3);
		}
		return 1;
	}
//-----------------------------Teleport to Valet--------------------------------
	if(strcmp(cmdtext, "/valet", true) == 0)
	{
	    if (gTeam[playerid] == TEAM_VALET)
		{
			SetPlayerInterior(playerid,0);
			{
				SetPlayerPos(playerid,-1754.9976,958.5851,25.8386);
			}
			GameTextForPlayer(playerid,"Valet Spawn!",2500,3);
		}
		return 1;
	}
//------------------------------Teleport to Medic-------------------------------
	if(strcmp(cmdtext, "/medic", true) == 0)
	{
	    if (gTeam[playerid] == TEAM_MEDIC)
		{
			SetPlayerInterior(playerid,0);
			{
				SetPlayerPos(playerid,-2665.4282,635.6348,16.0054);
			}
			GameTextForPlayer(playerid,"Medic Spawn!",2500,3);
		}
		return 1;
	}
//------------------------------Teleport to FBI---------------------------------
	if(strcmp(cmdtext, "/fbi", true) == 0)
	{
	    if (gTeam[playerid] == TEAM_FBI)
		{
			SetPlayerInterior(playerid,0);
			{
				SetPlayerPos(playerid,-1635.0077,665.8105,8.4054);
			}
			GameTextForPlayer(playerid,"FBI Spawn!",2500,3);
		}
		return 1;
	}
//----------------------------Teleport to Chicken-------------------------------
	if(strcmp(cmdtext, "/chicken", true) == 0)
	{
	    if (gTeam[playerid] == TEAM_CHICKEN)
		{
			SetPlayerInterior(playerid,0);
			{
				SetPlayerPos(playerid,-1830.9324,638.9214,31.3054);
			}
			GameTextForPlayer(playerid,"Chicken Spawn!",2500,3);
		}
		return 1;
	}
//------------------------------Teleport to Rich--------------------------------
	if(strcmp(cmdtext, "/rich", true) == 0)
	{
	    if (gTeam[playerid] == TEAM_RICH)
		{
			SetPlayerInterior(playerid,0);
			{
				SetPlayerPos(playerid,-2664.8037,938.6110,80.7618);
			}
			GameTextForPlayer(playerid,"Rich Spawn!",2500,3);
		}
		return 1;
	}
//------------------------------Teleport to Pilot-------------------------------
	if(strcmp(cmdtext, "/pilot", true) == 0)
	{
	    if (gTeam[playerid] == TEAM_PILOT)
		{
			SetPlayerInterior(playerid,0);
			{
				SetPlayerPos(playerid,-1358.6774,-243.8737,15.6769);
			}
			GameTextForPlayer(playerid,"Pilot Spawn!",2500,3);
		}
		return 1;
	}
//------------------------------Teleport to Da Nang-------------------------------
	if(strcmp(cmdtext, "/danang", true) == 0)
	{
	    if (gTeam[playerid] == TEAM_DANANG)
		{
			SetPlayerInterior(playerid,0);
			{
				SetPlayerPos(playerid,-1430.1825,1492.3381,8.0482);
			}
			GameTextForPlayer(playerid,"Da Nang Spawn!",2500,3);
		}
		return 1;
	}
//------------------------------------Credits-----------------------------------
//-------------------------------------Help-------------------------------------
	if(strcmp(cmd, "/help", true) == 0)
	{
		SendClientMessage(playerid, COLOR_LIGHTBLUE, "Questa GM è stata creata da Djcenzo");
		SendClientMessage(playerid, COLOR_YELLOW, "Per info sul CELLPHONE fate /cellhelp.");
		SendClientMessage(playerid, COLOR_YELLOW, "Per i comandi sui VEICOLI fate /vehiclehelp.");
		SendClientMessage(playerid, COLOR_YELLOW, "Per sapere i luoghi di TELEP fate /telep.");
		
		return 1;
	}

//-----------------------------------Phone Help---------------------------------
	if(strcmp(cmd, "/cellhelp", true) == 0) {
		SendClientMessage(playerid, COLOR_LIGHTBLUE, "---------- Cellphone Systema di aiuto ----------");
		SendClientMessage(playerid, COLOR_YELLOW, "Ogni persona ha il proprio cellulare.Le chiamate costano $1/secondo.");
		SendClientMessage(playerid, COLOR_YELLOW, "Per effettuare una chiamata fare /call [player id].");
		SendClientMessage(playerid, COLOR_YELLOW, "Per rispondere fate /risp.");
		SendClientMessage(playerid, COLOR_YELLOW, "Per terminare una chiamata fate /hangup.");
		return 1;
	}
//-----------------------------------Bank Help----------------------------------
	if(strcmp(cmd, "/armi", true) == 0) {
		SendClientMessage(playerid, COLOR_YELLOW, "Per teletrasportarvi in banca fate /telebank");
		SendClientMessage(playerid, COLOR_YELLOW, "Importo  /deposit [amount]");
		SendClientMessage(playerid, COLOR_YELLOW, "Preleva - /withdraw [amount]");
		SendClientMessage(playerid, COLOR_ORANGE, "Il tuo conto in banca se te ne vai resterà quello!!!!.");
		return 1;
	}
//---------------------------------Vehicle Help---------------------------------
    if(strcmp(cmd, "/veicolihelp", true) == 0) {
		SendClientMessage(playerid, COLOR_YELLOW, "Devi essere in un auto per utilizzare questi comandi (eccetto /callcar ovviamente");
		SendClientMessage(playerid, COLOR_YELLOW, "Compra/Vendi veicolo - /buycar o /sellcar");
		SendClientMessage(playerid, COLOR_YELLOW, "Blocca/Sblocca veicolo - /lock o /unlock ");
	}
//--------------------------------Commands list---------------------------------
//--------------------------------Teleport Help---------------------------------
	if (strcmp(cmdtext, "/telehelp", true)==0)
 {

		SendClientMessage(playerid,COLOR_SYSTEM,"Per fare acrobazie fate /stunt !!!");
		SendClientMessage(playerid,COLOR_SYSTEM,"");
		return 1;
 }

//-----------------------------------Load pos-----------------------------------
	else if (strcmp(cmdtext, "/lp", true)==0)
	{
		SetPlayerPos(playerid,Pos[playerid][0],Pos[playerid][1],Pos[playerid][2]); // set his saved position x,y and z.
		SetPlayerFacingAngle(playerid,Pos[playerid][3]); // set his saved facing angle.
		SetCameraBehindPlayer(playerid); // set the camera..behind the player (looks better).
		SendClientMessage(playerid,RED,"You teleported!"); // send him a red message.
	   	return 1;
	}

//----------------------------------Team Chat-----------------------------------
	cmd(teamchatcmd);
//---------------------------------Admin Chat-----------------------------------
	if(strcmp(cmd, "/achat", true) == 0)
	{
		GetPlayerName(playerid, playername, sizeof(playername));
		PlayerInfo[playerid][pAdmin] = dini_Int(udb_encode(playername), "level");
		if(logged[playerid] == 0)
		{
			SendClientMessage(playerid, COLOR_BRIGHTRED, "Ti devi registrare per poter utilizzare il comando!");
			return 1;
		}
		if(PlayerInfo[playerid][pAdmin] < 1)
		{
			SendClientMessage(playerid, COLOR_BRIGHTRED, "NN hai il permesso!");
			return 1;
		}
		tmp = strtok(cmdtext, idx, strlen(cmdtext));
		if (!strlen(tmp))
		{
			SendClientMessage(playerid, COLOR_LIGHTBLUE, "USO: /achat [message]");
			return 1;
		}
		for (new i = 0; i <MAX_PLAYERS; i++)
		{
			if(IsPlayerConnected(i))
			{
				GetPlayerName(i, playername, sizeof(playername));
				PlayerInfo[i][pAdmin] = dini_Int(udb_encode(playername), "level");
				if (PlayerInfo[i][pAdmin] > 0)
				{
					GetPlayerName(i, playername, 24);
					format(string, sizeof(string), "Admin Chat (%s): %s", playername, tmp);
					SendClientMessage(i, COLOR_ORANGE, string);
				}
			}
		}
		return 1;
 }
//-----------------------------------GoTo Biz-----------------------------------
	if(strcmp(cmd, "/gotobiz", true) == 0) {
	    GetPlayerName(playerid, playername, MAX_PLAYER_NAME);
	    biznum[playerid] = dini_Int(udb_encode(playername), "bizowned");
	    format(cttmp,sizeof(cttmp),"BIZ%d",biznum[playerid]);
		if(logged[playerid] == 0) {
			SendClientMessage(playerid, COLOR_BRIGHTRED, "Ti devi registrare per poter eseguire il comando!");
			return 1;
		}
		bizbuyable[playerid] = dini_Int(cttmp,"buybar");
		if(bizbuyable[playerid] == 1) {
			SendClientMessage(playerid, COLOR_BRIGHTRED, "Tale attività è stata impostata come un-buyable da server di gestione e di business comandi non funzionano!");
	   		return 1;
		}
		if(biznum[playerid] == 0) {
  			SendClientMessage(playerid, COLOR_BRIGHTRED, "Non è ancora il proprietario di un business, è necessario acquistare uno prima di poter teleporto it's a checkpoint!");
     		return 1;
		}
		if(PlayerInterior[playerid] > 0) {
		    SendClientMessage(playerid, COLOR_BRIGHTRED, "Dovete spostare al di fuori di teleporto per la tua azienda!");
     		return 1;
		}
		if(biznum[playerid] > 0) {
		    new Float:tx,Float:ty,Float:tz;
		    format(string,sizeof(string),"BIZ%d",biznum[playerid]);
		    telemoney[playerid] = dini_Int(string,"profit");
		    if(GetPlayerMoney(playerid) >= telemoney[playerid]) {
		    	biznum[playerid] = dini_Int(udb_encode(playername), "teleid");
		    	tx = checkpoints[biznum[playerid]][0];
		    	ty = checkpoints[biznum[playerid]][1];
		    	tz = checkpoints[biznum[playerid]][2];
		    	SetPlayerPos(playerid,tx,ty,tz);
		    	GivePlayerMoney(playerid,-telemoney[playerid]);
		    	format(string,sizeof(string),"Sei stato teleported per la tua azienda! Le sono stati addebitati 5 minuti vale la pena di profitto ($%d), !",telemoney[playerid]);
				SendClientMessage(playerid, COLOR_GREEN, string);
				return 1;
			}
			else {
			    format(string,sizeof(string),"Non hai abbastanza soldi per poter usare questo comando!!! (cost = $%d)",telemoney[playerid]);
				SendClientMessage(playerid, COLOR_BRIGHTRED, string);
				return 1;
			}
		}

	}
//-----------------------------------Buy Biz------------------------------------

//-------------------------------------Sell Biz---------------------------------
	if(strcmp(cmd, "/sellbiz", true) == 0) {
	    GetPlayerName(playerid, playername, MAX_PLAYER_NAME);
	    format(cttmp,sizeof(cttmp),"BIZ%d",biznum[playerid]);
	    playerbiz[playerid] = dini_Int(udb_encode(playername), "bizowned");
		ownername = dini_Get(cttmp,"owner");
		if(logged[playerid] == 0) {
			SendClientMessage(playerid, COLOR_BRIGHTRED, "You must be registered and logged in to sell a business!");
			return 1;
		}
		if(propactive[playerid] == 0) {
		    SendClientMessage(playerid, COLOR_BRIGHTRED, "You must be in a property checkpoint in order to sell a business!");
			return 1;
		}
		bizbuyable[playerid] = dini_Int(cttmp,"buybar");
		if(bizbuyable[playerid] == 1) {
			SendClientMessage(playerid, COLOR_BRIGHTRED, "This business has been set as un-buyable by server administration and business commands will not work!");
	   		return 1;
		}
		if(IsPlayerInAnyVehicle(playerid) == 1) {
			SendClientMessage(playerid, COLOR_BRIGHTRED, "You must be on foot to sell a business!");
			return 1;
		}
		if (strcmp(server,ownername,false) == 0) {
		    SendClientMessage(playerid, COLOR_BRIGHTRED, "Nobody has bought this business yet and you are prohibited from selling it!");
			return 1;
		}
		if(playerbiz[playerid] == 0) {
		    SendClientMessage(playerid, COLOR_BRIGHTRED, "You do not yet own any business, nice try loser!");
		    return 1;
		}
		if (strcmp(playername,ownername,false) == 0) {
			new cash[MAX_PLAYERS];
			cash[playerid] = GetPlayerMoney(playerid);
			GetPlayerName(playerid, playername, MAX_PLAYER_NAME);
			dini_IntSet(udb_encode(playername), "teleid", 0);
			dini_Set(cttmp,"owner", "server");
			dini_IntSet(udb_encode(playername), "bizowned", 0);
			dini_IntSet(cttmp, "bought", 0);
			dini_IntSet(cttmp, "totalprofit", 0);
			GivePlayerMoney(playerid, propcost[playerid]);
			format(propmess, sizeof(propmess), "You just sold your business for $%d.", propcost[playerid]);
			SendClientMessage(playerid, COLOR_GREEN, propmess);
			return 1;
		}
		format(propmess, sizeof(propmess), "You do not own this business, %s owns it and only they can sell it!", ownername);
		SendClientMessage(playerid, COLOR_BRIGHTRED, propmess);
		return 1;
	}
//---------------------------------Admin Sell Biz-------------------------------
	if(strcmp(cmd, "/asellbiz", true) == 0)
	{
	    GetPlayerName(playerid, playername, MAX_PLAYER_NAME);
	    format(cttmp,sizeof(cttmp),"BIZ%d",biznum[playerid]);
		ownername = dini_Get(cttmp,"owner");
		if(logged[playerid] == 0) {
			SendClientMessage(playerid, COLOR_BRIGHTRED, "You must be registered and logged in to use this command!");
			return 1;
		}
		if(propactive[playerid] == 0) {
		    SendClientMessage(playerid, COLOR_BRIGHTRED, "You must be in a property checkpoint in order to use this command!");
			return 1;
		}
		if(IsPlayerInAnyVehicle(playerid) == 1) {
			SendClientMessage(playerid, COLOR_BRIGHTRED, "You must be on foot to use this command!");
			return 1;
		}
		if (strcmp(server,ownername,false) == 0) {
		    SendClientMessage(playerid, COLOR_BRIGHTRED, "Nobody has bought this business yet!");
			return 1;
		}
		if (PlayerInfo[playerid][pAdmin] == 2) {
			dini_Set(cttmp,"owner", "server");
			dini_IntSet(cttmp, "bought", 0);
			dini_IntSet(cttmp, "totalprofit", 0);
			if(dini_Exists(udb_encode(ownername))) {
			    tempid[playerid] = IsPlayerNameOnline(ownername);
			    if(tempid[playerid] >= 0 || tempid[playerid] < 100) {
			        bank[tempid[playerid]] = bank[tempid[playerid]]+propcost[playerid];
					dini_IntSet(udb_encode(ownername), "bizowned", 0);
					dini_IntSet(udb_encode(ownername), "teleid", 0);
					format(propmess, sizeof(propmess), "You just sold %s's business. The money ($%d) was sent to %s's online bank account.", ownername, propcost[playerid], ownername);
					SendClientMessage(playerid, COLOR_ORANGE, propmess);
					format(propmess, sizeof(propmess), "Admin (%s) has just sold your business! The sale money ($%d) was sent to your onlne bank account!", playername, propcost[playerid]);
                    SendClientMessage(tempid[playerid], COLOR_ORANGE, propmess);
					return 1;
				}
				else {
                    bank[tempid[playerid]] = dini_Int(udb_encode(ownername), "bank");
				    bank[tempid[playerid]] = bank[tempid[playerid]]+propcost[playerid];
				    dini_IntSet(udb_encode(ownername), "bizowned", 0);
					dini_IntSet(udb_encode(ownername), "teleid", 0);
					dini_IntSet(udb_encode(ownername), "bank", bank[tempid[playerid]]);
					format(propmess, sizeof(propmess), "You just sold %s's business. The money ($%d) was sent to %s's online bank account.", ownername, propcost[playerid], ownername);
					SendClientMessage(playerid, COLOR_ORANGE, propmess);
					return 1;
				}
			}
			if(!dini_Exists(udb_encode(ownername))) {
				format(propmess, sizeof(propmess), "You just sold %s's business. The player file is missing and could not be changed.", ownername);
				SendClientMessage(playerid, COLOR_ORANGE, propmess);
				return 1;
			}
		}
		SendClientMessage(playerid, COLOR_BRIGHTRED, "You are not a server administrator and cannot use this command!");
		return 1;
	}
//----------------------------------Biz Buyable---------------------------------
	if(strcmp(cmd, "/bbuy", true) == 0) {
	    GetPlayerName(playerid, playername, MAX_PLAYER_NAME);
	    format(cttmp,sizeof(cttmp),"BIZ%d",biznum[playerid]);
	    bizbuyable[playerid] = dini_Int(cttmp, "buybar");
		if(logged[playerid] == 0) {
			SendClientMessage(playerid, COLOR_BRIGHTRED, "You must be registered and logged in to use this command!");
			return 1;
		}
		if(propactive[playerid] == 0) {
		    SendClientMessage(playerid, COLOR_BRIGHTRED, "You must be in a business checkpoint in order to use this command!");
			return 1;
		}
		if(IsPlayerInAnyVehicle(playerid) == 1) {
			SendClientMessage(playerid, COLOR_BRIGHTRED, "You must be on foot to use this command!");
			return 1;
		}
		if (PlayerInfo[playerid][pAdmin] == 2) {
		    if (bizbuyable[playerid] == 1) {
		    	SendClientMessage(playerid, COLOR_ORANGE, "You have set this business to buyable!");
		    	dini_IntSet(cttmp, "buybar", 0);
				return 1;
			}
			SendClientMessage(playerid, COLOR_BRIGHTRED, "This business is already buyable!");
			return 1;
		}
		SendClientMessage(playerid, COLOR_BRIGHTRED, "You are not a server administrator and cannot use this command!");
		return 1;
	}
//----------------------------------Biz UnBuyable-------------------------------
	if(strcmp(cmd, "/bunbuy", true) == 0) {
	    GetPlayerName(playerid, playername, MAX_PLAYER_NAME);
	    format(cttmp,sizeof(cttmp),"BIZ%d",biznum[playerid]);
		ownername = dini_Get(cttmp,"owner");
		bizbuyable[playerid] = dini_Int(cttmp, "buybar");
		if(logged[playerid] == 0) {
			SendClientMessage(playerid, COLOR_BRIGHTRED, "You must be registered and logged in to use this command!");
			return 1;
		}
		if(propactive[playerid] == 0) {
		    SendClientMessage(playerid, COLOR_BRIGHTRED, "You must be in a business checkpoint in order to use this command!");
			return 1;
		}
		if(IsPlayerInAnyVehicle(playerid) == 1) {
			SendClientMessage(playerid, COLOR_BRIGHTRED, "You must be on foot to use this command!");
			return 1;
		}
		if(bizbuyable[playerid] == 1) {
		    SendClientMessage(playerid, COLOR_BRIGHTRED, "This business is already set as un-buyable!");
			return 1;
		}
		if (PlayerInfo[playerid][pAdmin] == 2) {
		    if (strcmp(server,ownername,false) == 0) {
		    	SendClientMessage(playerid, COLOR_ORANGE, "You have set this business to non-buyable!");
		    	dini_IntSet(cttmp, "buybar", 1);
				return 1;
			}
			dini_Set(cttmp,"owner", "server");
			dini_IntSet(cttmp, "bought", 0);
			dini_IntSet(cttmp, "totalprofit", 0);
			dini_IntSet(cttmp, "buybar", 1);
			if(dini_Exists(udb_encode(ownername))) {
			    tempid[playerid] = IsPlayerNameOnline(ownername);
			    if(tempid[playerid] >= 0 || tempid[playerid] < 100) {
			        bank[tempid[playerid]] = bank[tempid[playerid]]+propcost[playerid];
					dini_IntSet(udb_encode(ownername), "bizowned", 0);
					dini_IntSet(udb_encode(ownername), "teleid", 0);
					format(propmess, sizeof(propmess), "You just sold %s's business and set it to unbuyable. The money ($%d) was sent to %s's online bank account.", ownername, propcost[playerid], ownername);
					SendClientMessage(playerid, COLOR_ORANGE, propmess);
					format(propmess, sizeof(propmess), "Admin (%s) has just sold your business and set it to unbuyable! The sale money ($%d) was sent to your onlne bank account!", playername, propcost[playerid]);
                    SendClientMessage(tempid[playerid], COLOR_ORANGE, propmess);
					return 1;
				}
				else {
                    bank[tempid[playerid]] = dini_Int(udb_encode(ownername), "bank");
				    bank[tempid[playerid]] = bank[tempid[playerid]]+propcost[playerid];
				    dini_IntSet(udb_encode(ownername), "bizowned", 0);
					dini_IntSet(udb_encode(ownername), "teleid", 0);
					dini_IntSet(udb_encode(ownername), "bank", bank[tempid[playerid]]);
					format(propmess, sizeof(propmess), "You just sold %s's business and set it to unbuyable. The money ($%d) was sent to %s's online bank account.", ownername, propcost[playerid], ownername);
					SendClientMessage(playerid, COLOR_ORANGE, propmess);
					return 1;
				}
			}
			if(!dini_Exists(udb_encode(ownername))) {
				format(propmess, sizeof(propmess), "You just sold %s's business and set it to unbuyable. The player file is missing and could not be changed.", ownername);
				SendClientMessage(playerid, COLOR_ORANGE, propmess);
				return 1;
			}
		}
		SendClientMessage(playerid, COLOR_BRIGHTRED, "You are not a server administrator and cannot use this command!");
		return 1;
	}
//---------------------------------Get Biz Profit-------------------------------
//---------------------------------Call on Phone--------------------------------
	if(strcmp(cmd, "/call", true) == 0)
	{
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp))
		{
			SendClientMessage(playerid, COLOR_LIGHTBLUE, "USO: /call [playerid]");
			return 1;
		}
		giveplayerid = strval(tmp);
		if (logged[playerid] != 1)
		{
		    SendClientMessage(playerid, COLOR_BRIGHTRED, "You must be logged in to make a phone call!");
			return 1;
		}
		if (GetPlayerMoney(playerid) < CallCost)
		{
			SendClientMessage(playerid, COLOR_BRIGHTRED, "You do not have enough money to make a phone call!");
			return 1;
		}
		if (giveplayerid == playerid)
		{
		    SendClientMessage(playerid, COLOR_BRIGHTRED, "You cannot call yourself!");
		    return 1;
		}
		if (!(IsPlayerConnected(giveplayerid)))
		{
		    SendClientMessage(playerid, COLOR_BRIGHTRED, "Inactive player id!");
		    return 1;
		}
		if (Calling[playerid] > -1)
		{
			GetPlayerName(Calling[playerid], giveplayer, sizeof(giveplayer));
			format(string, sizeof(string), "You are already on the phone to %s!", giveplayer);
			SendClientMessage(playerid, COLOR_BRIGHTRED, string);
			return 1;
		}
		if (Calling[giveplayerid] > -1)
		{
			GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
			format(string, sizeof(string), "%s is already on the phone, try again later", giveplayer);
			SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
			return 1;
		}
		else
		GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
		GetPlayerName(playerid, sendername, sizeof(sendername));
		format(string, sizeof(string), "%s chiamata, fare /risp per rispondere o /hangup per ignorarla", sendername);
		SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
		format(string, sizeof(string), "Ti hanno telefonato %s", giveplayer);
		SendClientMessage(playerid, COLOR_GREEN, string);
   		Calling[playerid] = giveplayerid;
   		Calling[giveplayerid] = playerid;
		Callerid[playerid] = 1;
	    return 1;
	}
//---------------------------------Answer Phone---------------------------------
	if(strcmp(cmd, "/risp", true) == 0)
		{
		if (logged[playerid] != 1)
		{
		    SendClientMessage(playerid, COLOR_BRIGHTRED, "Devi effettuare l'accesso per rispondere a una chiamata!");
			return 1;
		}
		if (Calling[playerid] == -1)
		{
		    SendClientMessage(playerid, COLOR_BRIGHTRED, "Nessuno vi chiama!");
		    return 1;
		}
		if (Answered[playerid] == 1)
		{
		    SendClientMessage(playerid, COLOR_LIGHTBLUE, "Sei già al telefono!");
		    return 1;
		}
		else
		GetPlayerName(Calling[playerid], giveplayer, sizeof(giveplayer));
		GetPlayerName(playerid, sendername, sizeof(sendername));
		format(string, sizeof(string), "%s ha risposto alla sua chiamata", sendername);
		SendClientMessage(Calling[playerid], COLOR_GREEN, string);
		format(string, sizeof(string), "Avete risposto% s la chiamata, parlate a distanza", giveplayer);
		SendClientMessage(playerid, COLOR_GREEN, string);
		Answered[playerid] = 1;
   		Answered[Calling[playerid]] = 1;
		Callerid[Calling[playerid]] = 1;
	    return 1;
	}
//---------------------------------HangUp Phone---------------------------------
	if(strcmp(cmd, "/hangup", true) == 0)
		{
		if (logged[playerid] != 1)
		{
		    SendClientMessage(playerid, COLOR_BRIGHTRED, "Devi effettuare l'accesso per poter riagganciare una telefonata!");
			return 1;
		}
		if (Calling[playerid] == -1)
		{
		    SendClientMessage(playerid, COLOR_BRIGHTRED, "nn sei al telefono!");
		    return 1;
		}
		else
		{
			GetPlayerName(Calling[playerid], giveplayer, sizeof(giveplayer));
			GetPlayerName(playerid, sendername, sizeof(sendername));
			format(string, sizeof(string), "%s ha appeso il telefono su di voi", sendername);
			SendClientMessage(Calling[playerid], COLOR_LIGHTBLUE, string);
			format(string, sizeof(string), "Hai abbandonato la telefonata %s", giveplayer);
			SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
			new bCalling = Calling[playerid];
   			Calling[playerid] = -1;
   			Answered[playerid] = 0;
			Callerid[playerid] = 0;
   			Calling[bCalling] = -1;
   			Answered[bCalling] = 0;
			Callerid[bCalling] = 0;
		}
		return 1;
	}
	return 0;
}
//=========================On Player Leave Checkpoint=============================
//==================================Settings====================================
public Settings()
{
	if (!dini_Exists(FILE_SETTINGS)) {
		dini_Create(FILE_SETTINGS);
		dini_Set(FILE_SETTINGS, "servername", "server");
		dini_IntSet(FILE_SETTINGS, "moneyscan", 1);
		dini_IntSet(FILE_SETTINGS, "maxmoney", 9000000);
		dini_IntSet(FILE_SETTINGS, "register", 1);
		dini_IntSet(FILE_SETTINGS, "maxusers", 2000);
		dini_IntSet(FILE_SETTINGS, "bank", 1);
		dini_IntSet(FILE_SETTINGS, "manualsaving", 1);
	}
}
//================================Save System===================================
public SaveData()
{
    new playername[MAX_PLAYER_NAME];

    for (new i=0;i<MAX_PLAYERS;i++) {
	    GetPlayerName(i, playername, MAX_PLAYER_NAME);
	    if (dini_Exists(udb_encode(playername)) && logged[i] == 1) {
			dini_IntSet(udb_encode(playername), "money", GetPlayerMoney(i));
       		dini_IntSet(udb_encode(playername), "bank", bank[i]);
       		PlayerInterior[i] = GetPlayerInterior(i);
       		if(PlayerInterior[i] == 0) {
				new Float:x, Float:y, Float:z;
				GetPlayerPos(i,x,y,z);
      			new Float:a;
 				GetPlayerFacingAngle(i,a);
 				dini_IntSet(udb_encode(playername), "a", floatround(a));
				dini_IntSet(udb_encode(playername), "x", floatround(x));
				dini_IntSet(udb_encode(playername), "y", floatround(y));
				dini_IntSet(udb_encode(playername), "z", floatround(z));
			}
		}
	}

    return 1;
}
//=============================On Enter Checkpoint==============================
//===============================On Enter Vehicle===============================
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
	speedo[playerid] = 1;
    for(new d=0; d<3; d++) {
		if(gVehicleClass[playerid] == pbike[d][0]) {
			speedo[playerid] = 2;
		}
	}
	new filename[256];
	format(filename, sizeof(filename), "%d", vehicleid);
	carname = dini_Get(filename, "carname");
	new val1[256];
	new playername[MAX_PLAYER_NAME];
	dini_IntSet(filename, "used", 1);
	GetPlayerName(playerid, playername, MAX_PLAYER_NAME);
	val1 = dini_Get(filename, "owner");
 	secure[playerid] = dini_Int(filename, "secure");
	new tmp[256];
	tmp[playerid] = ispassenger;
	passenger[playerid] = ispassenger;
	currentvehicle[playerid] = GetPlayerVehicleID(playerid);
	if(tmp[playerid] == 0)
	{
		format(filename, sizeof(filename), "%d", vehicleid);
		GetPlayerName(playerid, playername, MAX_PLAYER_NAME);
		new tmp1[256];
		tmp1 = dini_Get(filename, "owner");
        carbuyable[playerid] = dini_Int(filename, "buybar");
   	    if (strcmp(tmp1,playername,false) == 0)
		{
			new string[256];
			carcost[playerid] = dini_Int(filename, "carcost");
			format(string, sizeof(string), "Welcome to your %s %s, please drive carefully!", carname, tmp1);
			SendClientMessage(playerid, COLOR_GREEN, string);
			ignition[playerid] = 1;
			return 1;
		}
		if (strcmp(tmp1,server,false) == 0 && logged[playerid] == 1) {
			if(carbuyable[playerid] == 1)
			{
               	new string[256];
				format(string,sizeof(string),"This %s has been set as non-buyable by server administration!",carname);
				SendClientMessage(playerid, COLOR_BRIGHTRED, string);
				return 1;
			}
			new string[256];
			carcost[playerid] = dini_Int(filename, "carcost");
			format(string, sizeof(string), "This %s is for sale and costs $%d, type /buycar to buy this vehicle.",carname, carcost[playerid]);
 			SendClientMessage(playerid, COLOR_YELLOW, string);
			return 1;
		}
		if (strcmp(tmp1,server,false) == 0 && logged[playerid] == 0)
		{
		    if(carbuyable[playerid] == 1)
			{
				new string[256];
				format(string,sizeof(string),"This %s has been set as non-buyable by server administration!",carname);
				SendClientMessage(playerid, COLOR_BRIGHTRED, string);
				return 1;
			}
			new string[256];
			carcost[playerid] = dini_Int(filename, "carcost");
			format(string, sizeof(string), "This %s is for sale and costs $%d, but you cannot purchase it untill you /login.", carname, carcost[playerid]);
			SendClientMessage(playerid, COLOR_BRIGHTRED, string);
			return 1;
		}
		else
		{
			new string[256];
			carcost[playerid] = dini_Int(filename, "carcost");
			format(string, sizeof(string), "This %s belongs to %s, and cannot be purchased.", carname, tmp1);
			SendClientMessage(playerid, COLOR_BRIGHTRED, string);
			return 1;
		}
    }
	return 1;
}
//==============================Checkpoint Update===============================
public checkpointUpdate()
{
	for(new i=0; i<MAX_PLAYERS; i++)
	{
	    if(IsPlayerConnected(i)) {
	        for(new j=0; j < MAX_POINTS; j++) {
	            if(isPlayerInArea(i, checkCoords[j])) {
						if(playerCheckpoint[i]!= j) {
	                    DisablePlayerCheckpoint(i);
						SetPlayerCheckpoint(i, checkpoints[j][0],checkpoints[j][1],checkpoints[j][2],checkpoints[j][3]);
						playerCheckpoint[i] = j;
					}
	            } else {
	            	if(playerCheckpoint[i]==j) {
	            	    DisablePlayerCheckpoint(i);
	            	    playerCheckpoint[i] = 999;
         	    	}
	            }
	        }
		}
	}
}
//==============================Is Player in Area===============================
public isPlayerInArea(playerID, Float:data[4])
{
	new Float:X, Float:Y, Float:Z;

	GetPlayerPos(playerID, X, Y, Z);
	if(X >= data[0] && X <= data[2] && Y >= data[1] && Y <= data[3]) {
		return 1;
	}
	return 0;
}
//=============================Gamemode Exit Stuff==============================
public GameModeExitFunc()
{
	GameModeExit();
	return 1;
}
//=================================Team Chat====================================
public GetPlayers() //By rapidZ
{
	new i;
	new player;
	player = 0;
	for (i=0;i<MAX_PLAYERS;i++)
	{
		if(IsPlayerConnected(i))
		{
			player++;
		}
	}
	return player;
}