All pastes #1295143 Raw Edit

New Sa-Mp Gamemode

public cpp v1 · immutable
#1295143 ·published 2008-12-28 15:00 UTC
rendered paste body
/*******************************************************************************
						Includes
*******************************************************************************/
#include <a_samp>
#include <dutils>
#include <lethaldudb2>
#include <core>
#include <float>
/*******************************************************************************
						Color Defines
*******************************************************************************/
#define COLOR_BLUE 0x0000FFAA
#define COLOR_GREY 0xAFAFAFAA
#define COLOR_GREEN 0x33AA33AA
#define COLOR_RED 0xAA3333AA
#define COLOR_YELLOW 0xFFFF00AA
#define COLOR_WHITE 0xFFFFFFAA
#define COLOR_PURPLE 0x9900FFAA
#define COLOR_BROWN 0x993300AA
#define COLOR_ORANGE 0xFF9933AA
#define COLOR_CYAN 0x99FFFFAA
#define COLOR_TAN 0xFFFFCCAA
#define COLOR_PINK 0xFF66FFAA
#define COLOR_KHAKI 0x999900AA
#define COLOR_LIME 0x99FF00AA
#define COLOR_BLACK 0x000000AA
#define COLOR_TURQ 0x00A3C0AA
#define COLOR_GRAD1 0xB4B5B7AA
#define green 0x33FF33AA
#define red 0xFF0000AA
#define yellow 0xFFFF00AA
#define grey 0xC0C0C0AA
#define blue 0x2641FEAA
#define orange 0xFF9900AA
#define black 0x2C2727AA
#define COLOR_GREEN1 0x33AA33AA
/*******************************************************************************
						Admin Script
*******************************************************************************/
// DCMD
#define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
// Caps
#define UpperToLower(%1) for ( new ToLowerChar; ToLowerChar < strlen( %1 ); ToLowerChar ++ ) if ( %1[ ToLowerChar ]> 64 && %1[ ToLowerChar ] < 91 ) %1[ ToLowerChar ] += 32
// Spec
#define ADMIN_SPEC_TYPE_NONE 0
#define ADMIN_SPEC_TYPE_PLAYER 1
#define ADMIN_SPEC_TYPE_VEHICLE 2
// Enums
enum PlayerData {
	Registered,
	LoggedIn,
	Level,
	Muted,
	Caps,
	Jailed,
	JailTime,
	Frozen,
	FreezeTime,
	Kills,
	Deaths,
 	MuteWarnings,
	Warnings,
	Spawned,
	TimesSpawned,
	God,
	DoorsLocked,
	Invis,
	AllowPing,
	Spam
};

enum ServerData {
	MaxPing,
	ReadPMs,
	ReadCmds,
	MaxAdminLevel,
	AdminOnlySkins,
	AdminSkin,
	NameKick,
	AntiBot,
	AntiSpam,
 	AntiSwear,
 	NoCaps,
	Locked
};

new PlayerInfo[MAX_PLAYERS][PlayerData];
new ServerInfo[ServerData];
new Float:Pos[MAX_PLAYERS][4];
// Spec
new gSpectateID[MAX_PLAYERS];
new gSpectateType[MAX_PLAYERS];
//Textdraws
new Text:SpecText;
//Timers
new InvisTimer;
new PingTimer;
new GodTimer;
//Duel
new cdt=-1;	new CountTimer;
new InDuel[MAX_PLAYERS];
// Menus
new Menu:LMainMenu, Menu:AdminEnable, Menu:AdminDisable;
new Menu:LVehicles, Menu:twodoor, Menu:fourdoor, Menu:fastcar, Menu:Othercars,
	Menu:bikes, Menu:boats, Menu:planes, Menu:helicopters ;
new Menu:XWeapons, Menu:XWeaponsBig, Menu:XWeaponsSmall, Menu:XWeaponsMore;
new Menu:LWeather,Menu:LTime;
new Menu:LTuneMenu, Menu:PaintMenu, Menu:LCars, Menu:LCars2;
new Menu:LTele, Menu:LasVenturasMenu, Menu:LosSantosMenu, Menu:SanFierroMenu,
	Menu:DesertMenu, Menu:FlintMenu, Menu:MountChiliadMenu,	Menu:InteriorsMenu;
// Time
new shifthour;
new ghour = 0;
new gminute = 0;
new gsecond = 0;
new timeshift = 0;
// rcon
new max_playerid = 0;
// Forbidden Names & Words
new BadNames[100][100];
new BadNameCount = 0;
new ForbiddenWords[100][100];
new ForbiddenWordCount = 0;
/*******************************************************************************
*******************************************************************************/
/*******************************************************************************
						Stones
*******************************************************************************/
enum GRAVESTONES_INFO{
	GraveStoneID,
	GraveStonePickID,
	GraveStoneName[MAX_PLAYER_NAME+19],
}

new P_GRAVESTONES[MAX_PLAYERS][GRAVESTONES_INFO];
/*******************************************************************************
*******************************************************************************/
/*******************************************************************************
							PoD
*******************************************************************************/
new Votes; // Vote Count
new Voted[MAX_PLAYERS]; // Has Player Voted?
new vTimer, vPlayer, players, rVotes;
new pPerc, pTime, pState, settimer; // Settings
new gString[255]; // o_O ....Global String of course....
new KickTimer[MAX_PLAYERS];
new reason[128];
/*******************************************************************************
*******************************************************************************/
/*******************************************************************************
						Forwards
*******************************************************************************/
forward PlayerName(playerid);
forward constTimer();
forward vKick();
/*******************************************************************************
*******************************************************************************/
main()
{
	print("\n----------------------------------");
	print("                    Test           ");
	print("----------------------------------\n");
/*******************************************************************************
						Stones
*******************************************************************************/
	new i=0;
	while (i < GetMaxPlayers())
	{
    	P_GRAVESTONES[i][GraveStoneID]=-1;
    	P_GRAVESTONES[i][GraveStonePickID]=-1;
    	i++;
	}
/*******************************************************************************
*******************************************************************************/
    return 1;
}

public OnGameModeInit()
{
/*******************************************************************************
							Admin Script
*******************************************************************************/
	print("\n__________________________________________\n");
	print("_______     LAdmin FS by LethaL     ______\n");

	max_playerid = GetMaxPlayers() - 1;
	gettime(ghour, gminute, gsecond);
	FixHour(ghour);
	ghour = shifthour;

	if(!fexist("ladmin/"))
	{
	    print("\n\n > WARNING: Folder Missing From Scriptfiles\n");
	  	SetTimerEx("PrintWarning",2500,0,"s","ladmin");
		return 1;
	}
	if(!fexist("ladmin/logs/"))
	{
	    print("\n\n > WARNING: Folder Missing From Scriptfiles\n");
	  	SetTimerEx("PrintWarning",2500,0,"s","ladmin/logs");
		return 1;
	}
	if(!fexist("ladmin/config/"))
	{
	    print("\n\n > WARNING: Folder Missing From Scriptfiles\n");
	  	SetTimerEx("PrintWarning",2500,0,"s","ladmin/config");
		return 1;
	}
	if(!fexist("ladmin/users/"))
	{
	    print("\n\n > WARNING: Folder Missing From Scriptfiles\n");
	  	SetTimerEx("PrintWarning",2500,0,"s","ladmin/users");
		return 1;
	}
	UpdateConfig();

//===================== [ The Menus ]===========================//
	LMainMenu = CreateMenu("Main Menu", 2,  55.0, 200.0, 100.0, 80.0);
	SetMenuColumnHeader(LMainMenu, 0, "Choose an option below");
	AddMenuItem(LMainMenu, 0, "Enable");
	AddMenuItem(LMainMenu, 0, "Disable");
    AddMenuItem(LMainMenu, 0, "Server Weather");
    AddMenuItem(LMainMenu, 0, "Server Time");
 	AddMenuItem(LMainMenu, 0, "All Vehicles");
	AddMenuItem(LMainMenu, 0, "Admin Cars");
	AddMenuItem(LMainMenu, 0, "Tuning Menu");
	AddMenuItem(LMainMenu, 0, "Choose Weapon");
	AddMenuItem(LMainMenu, 0, "Teleports");
	AddMenuItem(LMainMenu, 0, "Exit Menu");//

	AdminEnable = CreateMenu("~b~Configuration ~g~ Menu",2, 55.0, 200.0, 150.0, 80.0);
	SetMenuColumnHeader(AdminEnable, 0, "Enable");
	AddMenuItem(AdminEnable, 0, "Anti Swear");
	AddMenuItem(AdminEnable, 0, "Bad Name Kick");
	AddMenuItem(AdminEnable, 0, "Anti Spam");
	AddMenuItem(AdminEnable, 0, "Ping Kick");
	AddMenuItem(AdminEnable, 0, "Read Cmds");
	AddMenuItem(AdminEnable, 0, "Read PMs");
	AddMenuItem(AdminEnable, 0, "Capital Letters");
	AddMenuItem(AdminEnable, 0, "Return");

	AdminDisable = CreateMenu("~b~Configuration ~g~ Menu",2, 55.0, 200.0, 150.0, 80.0);
	SetMenuColumnHeader(AdminDisable, 0, "Disable");
	AddMenuItem(AdminDisable, 0, "Anti Swear");
	AddMenuItem(AdminDisable, 0, "Bad Name Kick");
	AddMenuItem(AdminDisable, 0, "Anti Spam");
	AddMenuItem(AdminDisable, 0, "Ping Kick");
	AddMenuItem(AdminDisable, 0, "Read Cmds");
	AddMenuItem(AdminDisable, 0, "Read PMs");
	AddMenuItem(AdminDisable, 0, "Capital Letters");
	AddMenuItem(AdminDisable, 0, "Return");

	LWeather = CreateMenu("~b~Weather ~g~ Menu",2, 55.0, 200.0, 100.0, 80.0);
	SetMenuColumnHeader(LWeather, 0, "Set Weather");
	AddMenuItem(LWeather, 0, "Clear Blue Sky");
	AddMenuItem(LWeather, 0, "Sand Storm");
	AddMenuItem(LWeather, 0, "Thunderstorm");
	AddMenuItem(LWeather, 0, "Foggy");
	AddMenuItem(LWeather, 0, "Cloudy");
	AddMenuItem(LWeather, 0, "High Tide");
	AddMenuItem(LWeather, 0, "Purple Sky");
	AddMenuItem(LWeather, 0, "Black/White Sky");
	AddMenuItem(LWeather, 0, "Dark, Green Sky");
	AddMenuItem(LWeather, 0, "Heatwave");
	AddMenuItem(LWeather,0,"Return");

	LTime = CreateMenu("~b~Time ~g~ Menu", 2,  55.0, 200.0, 100.0, 80.0);
	SetMenuColumnHeader(LTime, 0, "Set Time");
	AddMenuItem(LTime, 0, "Morning");
	AddMenuItem(LTime, 0, "Mid day");
	AddMenuItem(LTime, 0, "Afternoon");
	AddMenuItem(LTime, 0, "Evening");
	AddMenuItem(LTime, 0, "Midnight");
    AddMenuItem(LTime, 0, "Return");

	LCars = CreateMenu("~b~LethaL ~g~Cars", 2,  55.0, 150.0, 100.0, 80.0);
	SetMenuColumnHeader(LCars, 0, "Choose a car");
	AddMenuItem(LCars, 0, "Turismo");
	AddMenuItem(LCars, 0, "Bandito");
	AddMenuItem(LCars, 0, "Vortex");
	AddMenuItem(LCars, 0, "NRG");
	AddMenuItem(LCars, 0, "S.W.A.T");
    AddMenuItem(LCars, 0, "Hunter");
    AddMenuItem(LCars, 0, "Jetmax (boat)");
    AddMenuItem(LCars, 0, "Rhino");
    AddMenuItem(LCars, 0, "Monster Truck");
    AddMenuItem(LCars, 0, "Sea Sparrow");
    AddMenuItem(LCars, 0, "More");
	AddMenuItem(LCars, 0, "Return");

	LCars2 = CreateMenu("~b~LethaL ~g~Cars", 2,  55.0, 150.0, 100.0, 80.0);
	SetMenuColumnHeader(LCars2, 0, "Choose a car");
	AddMenuItem(LCars2, 0, "Dumper");
    AddMenuItem(LCars2, 0, "RC Tank");
    AddMenuItem(LCars2, 0, "RC Bandit");
    AddMenuItem(LCars2, 0, "RC Baron");
    AddMenuItem(LCars2, 0, "RC Goblin");
    AddMenuItem(LCars2, 0, "RC Raider");
    AddMenuItem(LCars2, 0, "RC Cam");
    AddMenuItem(LCars2, 0, "Tram");
	AddMenuItem(LCars2, 0, "Return");

	LTuneMenu = CreateMenu("~b~Tuning ~g~ Menu",2, 55.0, 200.0, 100.0, 80.0);
	SetMenuColumnHeader(LTuneMenu, 0, "Add to car");
	AddMenuItem(LTuneMenu,0,"NOS");
	AddMenuItem(LTuneMenu,0,"Hydraulics");
	AddMenuItem(LTuneMenu,0,"Wire Wheels");
	AddMenuItem(LTuneMenu,0,"Twist Wheels");
	AddMenuItem(LTuneMenu,0,"Access Wheels");
	AddMenuItem(LTuneMenu,0,"Mega Wheels");
	AddMenuItem(LTuneMenu,0,"Import Wheels");
	AddMenuItem(LTuneMenu,0,"Atomic Wheels");
	AddMenuItem(LTuneMenu,0,"Offroad Wheels");
	AddMenuItem(LTuneMenu,0,"Classic Wheels");
	AddMenuItem(LTuneMenu,0,"Paint Jobs");
	AddMenuItem(LTuneMenu,0,"Return");

	PaintMenu = CreateMenu("~b~Paint Job ~g~ Menu",2, 55.0, 200.0, 100.0, 80.0);
	SetMenuColumnHeader(PaintMenu, 0, "Choose paint");
	AddMenuItem(PaintMenu,0,"Paint Job 1");
	AddMenuItem(PaintMenu,0,"Paint Job 2");
	AddMenuItem(PaintMenu,0,"Paint Job 3");
	AddMenuItem(PaintMenu,0,"Paint Job 4");
	AddMenuItem(PaintMenu,0,"Paint Job 5");
	AddMenuItem(PaintMenu,0,"Return");

	// vehicles
	LVehicles = CreateMenu("~b~Vehicles ~g~ Menu",2, 55.0, 200.0, 100.0, 80.0);
	SetMenuColumnHeader(LVehicles, 0, "Choose a car");
	AddMenuItem(LVehicles,0,"2-door Cars");
	AddMenuItem(LVehicles,0,"4-door Cars");
	AddMenuItem(LVehicles,0,"Fast Cars");
	AddMenuItem(LVehicles,0,"Other Vehicles");
	AddMenuItem(LVehicles,0,"Bikes");
	AddMenuItem(LVehicles,0,"Boats");
	AddMenuItem(LVehicles,0,"Planes");
	AddMenuItem(LVehicles,0,"Helicopters");
	AddMenuItem(LVehicles,0,"Return");

 	twodoor = CreateMenu("~b~2-door Cars",2, 55.0, 200.0, 100.0, 80.0);
	SetMenuColumnHeader(twodoor, 0, "Choose a car");
	AddMenuItem(twodoor,0,"Feltzer");//533
	AddMenuItem(twodoor,0,"Stallion");//139
	AddMenuItem(twodoor,0,"Windsor");//555
	AddMenuItem(twodoor,0,"Bobcat");//422
	AddMenuItem(twodoor,0,"Yosemite");//554
	AddMenuItem(twodoor,0,"Broadway");//575
	AddMenuItem(twodoor,0,"Blade");//536
	AddMenuItem(twodoor,0,"Slamvan");//535
	AddMenuItem(twodoor,0,"Tornado");//576
	AddMenuItem(twodoor,0,"Bravura");//401
	AddMenuItem(twodoor,0,"Fortune");//526
	AddMenuItem(twodoor,0,"Return");

 	fourdoor = CreateMenu("~b~4-door Cars",2, 55.0, 200.0, 100.0, 80.0);
	SetMenuColumnHeader(fourdoor, 0, "Choose a car");
	AddMenuItem(fourdoor,0,"Perenniel");//404
	AddMenuItem(fourdoor,0,"Tahoma");//566
	AddMenuItem(fourdoor,0,"Voodoo");//414
	AddMenuItem(fourdoor,0,"Admiral");//445
	AddMenuItem(fourdoor,0,"Elegant");//507
	AddMenuItem(fourdoor,0,"Glendale");//466
	AddMenuItem(fourdoor,0,"Intruder");//546
	AddMenuItem(fourdoor,0,"Merit");//551
	AddMenuItem(fourdoor,0,"Oceanic");//467
	AddMenuItem(fourdoor,0,"Premier");//426
	AddMenuItem(fourdoor,0,"Sentinel");//405
	AddMenuItem(fourdoor,0,"Return");

 	fastcar = CreateMenu("~b~Fast Cars",2, 55.0, 200.0, 100.0, 80.0);
	SetMenuColumnHeader(fastcar, 0, "Choose a car");
	AddMenuItem(fastcar,0,"Comet");//480
	AddMenuItem(fastcar,0,"Buffalo");//402
	AddMenuItem(fastcar,0,"Cheetah");//415
	AddMenuItem(fastcar,0,"Euros");//587
	AddMenuItem(fastcar,0,"Hotring Racer");//494
	AddMenuItem(fastcar,0,"Infernus");//411
	AddMenuItem(fastcar,0,"Phoenix");//603
	AddMenuItem(fastcar,0,"Super GT");//506
	AddMenuItem(fastcar,0,"Turismo");//451
	AddMenuItem(fastcar,0,"ZR-350");//477
	AddMenuItem(fastcar,0,"Bullet");//541
	AddMenuItem(fastcar,0,"Return");

 	Othercars = CreateMenu("~b~Other Vehicles",2, 55.0, 200.0, 100.0, 80.0);
	SetMenuColumnHeader(Othercars, 0, "Choose a car?");
	AddMenuItem(Othercars,0,"Monster Truck");//556
	AddMenuItem(Othercars,0,"Trashmaster");//408
	AddMenuItem(Othercars,0,"Bus");//431
	AddMenuItem(Othercars,0,"Coach");//437
	AddMenuItem(Othercars,0,"Enforcer");//427
	AddMenuItem(Othercars,0,"Rhino (Tank)");//432
	AddMenuItem(Othercars,0,"S.W.A.T. Tank");//601
	AddMenuItem(Othercars,0,"Cement Truck");//524
	AddMenuItem(Othercars,0,"Flatbed");//455
	AddMenuItem(Othercars,0,"BF Injection");//424
	AddMenuItem(Othercars,0,"Dune");//573
	AddMenuItem(Othercars,0,"Return");

 	bikes = CreateMenu("~b~Bikes",2, 55.0, 200.0, 100.0, 80.0);
	SetMenuColumnHeader(bikes, 0, "Choose a bike");
	AddMenuItem(bikes,0,"BF-400");
	AddMenuItem(bikes,0,"BMX");
	AddMenuItem(bikes,0,"Faggio");
	AddMenuItem(bikes,0,"FCR-900");
	AddMenuItem(bikes,0,"Freeway");
	AddMenuItem(bikes,0,"NRG-500");
	AddMenuItem(bikes,0,"PCJ-600");
	AddMenuItem(bikes,0,"Pizzaboy");
	AddMenuItem(bikes,0,"Quad");
	AddMenuItem(bikes,0,"Sanchez");
	AddMenuItem(bikes,0,"Wayfarer");
	AddMenuItem(bikes,0,"Return");

 	boats = CreateMenu("~b~Boats",2, 55.0, 200.0, 100.0, 80.0);
	SetMenuColumnHeader(boats, 0, "Choose a boat");
	AddMenuItem(boats,0,"Coastguard");//472
	AddMenuItem(boats,0,"Dingy");//473
	AddMenuItem(boats,0,"Jetmax");//493
	AddMenuItem(boats,0,"Launch");//595
	AddMenuItem(boats,0,"Marquis");//484
	AddMenuItem(boats,0,"Predator");//430
	AddMenuItem(boats,0,"Reefer");//453
	AddMenuItem(boats,0,"Speeder");//452
	AddMenuItem(boats,0,"Squallo");//446
	AddMenuItem(boats,0,"Tropic");//454
	AddMenuItem(boats,0,"Return");

 	planes = CreateMenu("~b~Planes",2, 55.0, 200.0, 100.0, 80.0);
	SetMenuColumnHeader(planes, 0, "Choose a plane");
	AddMenuItem(planes,0,"Andromada");//592
	AddMenuItem(planes,0,"AT400");//577
	AddMenuItem(planes,0,"Beagle");//511
	AddMenuItem(planes,0,"Cropduster");//512
	AddMenuItem(planes,0,"Dodo");//593
	AddMenuItem(planes,0,"Hydra");//520
	AddMenuItem(planes,0,"Nevada");//553
	AddMenuItem(planes,0,"Rustler");//476
	AddMenuItem(planes,0,"Shamal");//519
	AddMenuItem(planes,0,"Skimmer");//460
	AddMenuItem(planes,0,"Stuntplane");//513
	AddMenuItem(planes,0,"Return");

	helicopters = CreateMenu("~b~Helicopters",2, 55.0, 200.0, 100.0, 80.0);
	SetMenuColumnHeader(helicopters, 0, "Choose a helicopter");
	AddMenuItem(helicopters,0,"Cargobob");//
	AddMenuItem(helicopters,0,"Hunter");//
	AddMenuItem(helicopters,0,"Leviathan");//
	AddMenuItem(helicopters,0,"Maverick");//
	AddMenuItem(helicopters,0,"News Chopper");//
	AddMenuItem(helicopters,0,"Police Maverick");//
	AddMenuItem(helicopters,0,"Raindance");//
	AddMenuItem(helicopters,0,"Seasparrow");//
	AddMenuItem(helicopters,0,"Sparrow");//
	AddMenuItem(helicopters,0,"Return");

 	XWeapons = CreateMenu("~b~Weapons ~g~Main Menu",2, 55.0, 200.0, 100.0, 80.0);
	SetMenuColumnHeader(XWeapons, 0, "Choose a weapon");
	AddMenuItem(XWeapons,0,"Desert Eagle");//0
	AddMenuItem(XWeapons,0,"M4");
	AddMenuItem(XWeapons,0,"Sawnoff Shotgun");
	AddMenuItem(XWeapons,0,"Combat Shotgun");
	AddMenuItem(XWeapons,0,"UZI");
	AddMenuItem(XWeapons,0,"Rocket Launcher");
	AddMenuItem(XWeapons,0,"Minigun");//6
	AddMenuItem(XWeapons,0,"Sniper Rifle");
	AddMenuItem(XWeapons,0,"Big Weapons");
	AddMenuItem(XWeapons,0,"Small Weapons");//9
	AddMenuItem(XWeapons,0,"More");
	AddMenuItem(XWeapons,0,"Return");//11

 	XWeaponsBig = CreateMenu("~b~Weapons ~g~Big Weapons",2, 55.0, 200.0, 100.0, 80.0);
	SetMenuColumnHeader(XWeaponsBig, 0, "Choose a weapon");
	AddMenuItem(XWeaponsBig,0,"Shotgun");
	AddMenuItem(XWeaponsBig,0,"AK-47");
	AddMenuItem(XWeaponsBig,0,"Country Rifle");
	AddMenuItem(XWeaponsBig,0,"HS Rocket Launcher");
	AddMenuItem(XWeaponsBig,0,"Flamethrower");
	AddMenuItem(XWeaponsBig,0,"SMG");
	AddMenuItem(XWeaponsBig,0,"TEC9");
	AddMenuItem(XWeaponsBig,0,"Return");

 	XWeaponsSmall = CreateMenu("~b~Weapons ~g~Small Weapons",2, 55.0, 200.0, 100.0, 80.0);
	SetMenuColumnHeader(XWeaponsBig, 0, "Choose a weapon");
	AddMenuItem(XWeaponsSmall,0,"9mm");
	AddMenuItem(XWeaponsSmall,0,"Silenced 9mm");
	AddMenuItem(XWeaponsSmall,0,"Molotov Cocktail");
	AddMenuItem(XWeaponsSmall,0,"Fire Extinguisher");
	AddMenuItem(XWeaponsSmall,0,"Spraycan");
	AddMenuItem(XWeaponsSmall,0,"Frag Grenades");
	AddMenuItem(XWeaponsSmall,0,"Katana");
	AddMenuItem(XWeaponsSmall,0,"Chainsaw");
	AddMenuItem(XWeaponsSmall,0,"Return");

 	XWeaponsMore = CreateMenu("~b~Weapons ~g~More Weapons",2, 55.0, 200.0, 100.0, 80.0);
	SetMenuColumnHeader(XWeaponsBig, 0, "Choose a weapon");
	AddMenuItem(XWeaponsMore,0,"Jetpack");
	AddMenuItem(XWeaponsMore,0,"Knife");
	AddMenuItem(XWeaponsMore,0,"Flowers");
	AddMenuItem(XWeaponsMore,0,"Camera");
	AddMenuItem(XWeaponsMore,0,"Pool Cue");
	AddMenuItem(XWeaponsMore,0,"Baseball Bat");
	AddMenuItem(XWeaponsMore,0,"Golf Club");
	AddMenuItem(XWeaponsMore,0,"MAX AMMO");
	AddMenuItem(XWeaponsMore,0,"Return");

// teleports
	LTele = CreateMenu("Teleports", 2,  55.0, 200.0, 100.0, 80.0);
	SetMenuColumnHeader(LTele, 0, "Teleport to where?");
	AddMenuItem(LTele, 0, "Las Venturas");//0
	AddMenuItem(LTele, 0, "Los Santos");//1
	AddMenuItem(LTele, 0, "San Fierro");//2
	AddMenuItem(LTele, 0, "The Desert");//3
	AddMenuItem(LTele, 0, "Flint Country");//4
	AddMenuItem(LTele, 0, "Mount Chiliad");//5
	AddMenuItem(LTele, 0, "Interiors");//6
	AddMenuItem(LTele, 0, "Return");//8

	LasVenturasMenu = CreateMenu("Las Venturas", 2,  55.0, 200.0, 100.0, 80.0);
	SetMenuColumnHeader(LasVenturasMenu, 0, "Teleport to where?");
	AddMenuItem(LasVenturasMenu, 0, "The Strip");//0
	AddMenuItem(LasVenturasMenu, 0, "Come-A-Lot");//1
	AddMenuItem(LasVenturasMenu, 0, "LV Airport");//2
	AddMenuItem(LasVenturasMenu, 0, "KACC Military Fuels");//3
	AddMenuItem(LasVenturasMenu, 0, "Yellow Bell Golf Club");//4
	AddMenuItem(LasVenturasMenu, 0, "Baseball Pitch");//5
	AddMenuItem(LasVenturasMenu, 0, "Return");//6

	LosSantosMenu = CreateMenu("Los Santos", 2,  55.0, 200.0, 100.0, 80.0);
	SetMenuColumnHeader(LosSantosMenu, 0, "Teleport to where?");
	AddMenuItem(LosSantosMenu, 0, "Ganton");//0
	AddMenuItem(LosSantosMenu, 0, "LS Airport");//1
	AddMenuItem(LosSantosMenu, 0, "Ocean Docks");//2
	AddMenuItem(LosSantosMenu, 0, "Pershing Square");//3
	AddMenuItem(LosSantosMenu, 0, "Verdant Bluffs");//4
	AddMenuItem(LosSantosMenu, 0, "Santa Maria Beach");//5
	AddMenuItem(LosSantosMenu, 0, "Mulholland");//6
	AddMenuItem(LosSantosMenu, 0, "Richman");//7
	AddMenuItem(LosSantosMenu, 0, "Return");//8

	SanFierroMenu = CreateMenu("San Fierro", 2,  55.0, 200.0, 100.0, 80.0);
	SetMenuColumnHeader(SanFierroMenu, 0, "Teleport to where?");
	AddMenuItem(SanFierroMenu, 0, "SF Station");//0
	AddMenuItem(SanFierroMenu, 0, "SF Airport");//1
	AddMenuItem(SanFierroMenu, 0, "Ocean Flats");//2
	AddMenuItem(SanFierroMenu, 0, "Avispa Country Club");//3
	AddMenuItem(SanFierroMenu, 0, "Easter Basin (docks)");//4
	AddMenuItem(SanFierroMenu, 0, "Esplanade North");//5
	AddMenuItem(SanFierroMenu, 0, "Battery Point");//6
	AddMenuItem(SanFierroMenu, 0, "Return");//7

	DesertMenu = CreateMenu("The Desert", 2,  55.0, 200.0, 100.0, 80.0);
	SetMenuColumnHeader(DesertMenu, 0, "Teleport to where?");
	AddMenuItem(DesertMenu, 0, "Aircraft Graveyard");//0
	AddMenuItem(DesertMenu, 0, "Area 51");//1
	AddMenuItem(DesertMenu, 0, "The Big Ear");//2
	AddMenuItem(DesertMenu, 0, "The Sherman Dam");//3
	AddMenuItem(DesertMenu, 0, "Las Barrancas");//4
	AddMenuItem(DesertMenu, 0, "El Quebrados");//5
	AddMenuItem(DesertMenu, 0, "Octane Springs");//6
	AddMenuItem(DesertMenu, 0, "Return");//7

	FlintMenu = CreateMenu("Flint Country", 2,  55.0, 200.0, 100.0, 80.0);
	SetMenuColumnHeader(FlintMenu, 0, "Teleport to where?");
	AddMenuItem(FlintMenu, 0, "The Lake");//0
	AddMenuItem(FlintMenu, 0, "Leafy Hollow");//1
	AddMenuItem(FlintMenu, 0, "The Farm");//2
	AddMenuItem(FlintMenu, 0, "Shady Cabin");//3
	AddMenuItem(FlintMenu, 0, "Flint Range");//4
	AddMenuItem(FlintMenu, 0, "Becon Hill");//5
	AddMenuItem(FlintMenu, 0, "Fallen Tree");//6
	AddMenuItem(FlintMenu, 0, "Return");//7

	MountChiliadMenu = CreateMenu("Mount Chiliad", 2,  55.0, 200.0, 100.0, 80.0);
	SetMenuColumnHeader(MountChiliadMenu, 0, "Teleport to where?");
	AddMenuItem(MountChiliadMenu, 0, "Chiliad Jump");//0
	AddMenuItem(MountChiliadMenu, 0, "Bottom Of Chiliad");//1
	AddMenuItem(MountChiliadMenu, 0, "Highest Point");//2
	AddMenuItem(MountChiliadMenu, 0, "Chiliad Path");//3
	AddMenuItem(MountChiliadMenu, 0, "Return");//7

	InteriorsMenu = CreateMenu("Interiors", 2,  55.0, 200.0, 130.0, 80.0);
	SetMenuColumnHeader(InteriorsMenu, 0, "Teleport to where?");
	AddMenuItem(InteriorsMenu, 0, "Planning Department");//0
	AddMenuItem(InteriorsMenu, 0, "LV PD");//1
	AddMenuItem(InteriorsMenu, 0, "Pizza Stack");//2
	AddMenuItem(InteriorsMenu, 0, "RC Battlefield");//3
	AddMenuItem(InteriorsMenu, 0, "Caligula's Casino");//4
	AddMenuItem(InteriorsMenu, 0, "Big Smoke's Crack Palace");//5
	AddMenuItem(InteriorsMenu, 0, "Madd Dogg's Mansion");//6
	AddMenuItem(InteriorsMenu, 0, "Dirtbike Stadium");//7
	AddMenuItem(InteriorsMenu, 0, "Vice Stadium (duel)");//8
	AddMenuItem(InteriorsMenu, 0, "Ammu-nation");//9
	AddMenuItem(InteriorsMenu, 0, "Atrium");//7
	AddMenuItem(InteriorsMenu, 0, "Return");//8

	for(new i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i)) OnPlayerConnect(i);

	PingTimer = SetTimer("PingKick",10000,1);
	GodTimer = SetTimer("GodUpdate",10000,1);

    print("_______  Version 2.2 Fully Loaded  _____\n");
	print("__________________________________________\n");
/*******************************************************************************
*******************************************************************************/
/*******************************************************************************
							PoD
*******************************************************************************/
	rConfig();
	print(" PoD Configuration: ");
	printf("      |RequiredPercentage      [%d]", pPerc);
	printf("      |Voting Period           [%d Seconds]", pTime);
/*******************************************************************************
*******************************************************************************/
	SetGameModeText("Test");
	SetWorldTime(10);
	AddPlayerClass(0,2229.6035,-1159.2388,25.8098,270.4962,0,0,0,0,0,0); // hotel jefferson 1
/*******************************************************************************
							Vehicles
*******************************************************************************/
	AddStaticVehicle(603,1006.7035,-934.2587,42.0181,96.5806,18,1); // 1
	AddStaticVehicle(567,784.1140,-1134.1997,23.6970,89.1325,90,96); // 2
	AddStaticVehicle(565,739.6796,-1346.9320,13.1388,89.7906,53,53); // 3
	AddStaticVehicle(562,739.6432,-1340.0969,13.1877,91.8505,116,1); // 4
	AddStaticVehicle(562,739.6448,-1340.0945,13.1894,91.9462,116,1); // 5
	AddStaticVehicle(559,751.2470,-1335.0214,13.1956,1.6346,60,1); // 6
	AddStaticVehicle(412,759.6873,-1334.6006,13.1702,0.0157,117,1); // 7
	AddStaticVehicle(557,779.6290,-1347.1028,13.9102,271.0088,1,1); // 8
	AddStaticVehicle(557,779.1647,-1361.5051,13.9096,271.9368,1,1); // 9
	AddStaticVehicle(555,709.6598,-1435.8311,13.2199,0.4148,60,1); // 10
	AddStaticVehicle(589,1308.9639,-864.9656,39.2360,266.9274,22,22); // 11
	AddStaticVehicle(587,1190.5894,-878.9964,42.8076,197.0860,43,1); // 12
	AddStaticVehicle(402,2498.6855,-1647.7550,13.3863,354.6308,39,39); // 13
	AddStaticVehicle(545,2508.5500,-1671.8057,13.1111,350.5303,123,1); // 14
	AddStaticVehicle(448,2444.1814,-1645.4778,13.0560,3.4705,3,6); // 15
	AddStaticVehicle(415,1932.5006,-1778.1211,13.2348,1.6825,40,1); // 16
	AddStaticVehicle(448,2095.2734,-1797.6812,12.9780,268.1133,3,6); // 17
	AddStaticVehicle(448,2095.3650,-1800.8000,12.9656,273.0591,3,6); // 18
	AddStaticVehicle(521,766.1478,-1033.7125,23.5918,355.5550,3,8); // 19
	AddStaticVehicle(521,762.3892,-1033.3463,23.4972,356.8623,3,8); // 20
	AddStaticVehicle(567,696.2955,-1185.6204,15.4065,61.1845,90,96); // 21
	AddStaticVehicle(561,588.5797,-1235.8738,17.5812,291.6163,37,78); // 22
	AddStaticVehicle(560,555.2357,-1287.0674,16.9535,5.0418,21,1); // 23
	AddStaticVehicle(560,532.9737,-1288.0190,16.9477,1.2022,21,1); // 24
	AddStaticVehicle(559,543.5510,-1288.0724,16.8985,357.5808,68,8); // 25
	AddStaticVehicle(550,335.8636,-1344.7948,14.3286,300.0554,62,62); // 26
	AddStaticVehicle(586,1207.8446,-917.8538,42.6321,95.4035,3,8); // 27
	AddStaticVehicle(536,1621.6412,-1859.1740,13.2294,181.9643,13,13); // 28
	AddStaticVehicle(439,1613.8052,-1893.9662,13.4430,357.1493,8,17); // 29
	AddStaticVehicle(574,1654.5718,-1894.4307,13.2771,354.0911,26,26); // 30
	AddStaticVehicle(446,600.6802,-1993.5447,-0.3609,359.5766,1,5); // 31
	AddStaticVehicle(446,525.1038,-1969.1595,-0.6090,59.7181,1,5); // 32
	AddStaticVehicle(484,667.0757,-1992.4858,0.1093,243.7406,50,32); // 33
	AddStaticVehicle(484,675.7490,-1996.7133,0.1562,244.6290,50,32); // 34
	AddStaticVehicle(480,318.2228,-1788.4968,4.4543,181.4933,2,2); // 35
	AddStaticVehicle(480,343.8858,-1809.8046,4.2800,358.8858,2,2); // 36
	AddStaticVehicle(481,327.9141,-1809.5613,3.9925,359.7301,3,3); // 37
	AddStaticVehicle(495,311.6754,-1789.4574,4.9171,0.7229,119,122); // 38
	AddStaticVehicle(500,311.5894,-1809.4155,4.5751,2.1910,40,84); // 39
	AddStaticVehicle(521,324.6316,-1789.4811,4.3501,3.5969,75,13); // 40
	AddStaticVehicle(424,331.4279,-1873.7616,2.3813,359.7339,2,2); // 41
	AddStaticVehicle(424,294.2010,-1873.9064,2.2205,180.1171,2,2); // 42
	AddStaticVehicle(484,303.2180,-1921.4874,0.2752,359.5169,40,26); // 43
	AddStaticVehicle(493,257.3451,-1937.1995,-0.1638,359.7788,36,13); // 44
	AddStaticVehicle(588,489.4237,-1793.0021,5.9675,179.2622,1,1); // 45
	AddStaticVehicle(585,2056.0862,-1903.2827,13.1316,0.4118,53,53); // 45
	AddStaticVehicle(567,2062.3147,-1919.4069,13.4131,179.3407,90,96); // 46
	AddStaticVehicle(560,2065.4531,-1903.5858,13.2518,1.6833,17,1); // 47
	AddStaticVehicle(603,1231.7567,-1020.7256,32.4407,6.2329,75,77); // 48
	AddStaticVehicle(603,1219.6831,-1099.8405,25.1203,180.8562,75,77); // 48
	AddStaticVehicle(415,1132.1877,-1137.0554,23.4271,90.3010,36,1); // 49
	AddStaticVehicle(410,1231.6338,-1152.6926,23.0929,272.8671,112,1); // 50
	AddStaticVehicle(410,1024.5248,-1153.0240,23.3088,89.6237,25,1); // 51
	AddStaticVehicle(521,2065.8616,-1919.8510,13.1204,2.4938,3,8); // 52
	AddStaticVehicle(405,1921.0701,-1792.0295,13.2578,90.7738,75,1); // 53
	AddStaticVehicle(415,2096.0874,-1794.0228,13.1604,270.3221,40,1); // 54
	AddStaticVehicle(481,2108.5710,-1939.8804,13.0645,310.9644,3,3); // 55
	AddStaticVehicle(496,2249.9673,-1907.0544,13.2631,1.8069,66,72); // 56
	AddStaticVehicle(462,2296.3594,-1907.4628,13.1457,3.2645,3,8); // 57
	AddStaticVehicle(491,2319.2869,-1992.3926,13.2588,358.9073,6,6); // 58
	AddStaticVehicle(554,2309.5112,-1992.4926,13.2608,358.9346,6,6); // 59
	AddStaticVehicle(555,2711.7888,-1844.5999,9.2171,336.0634,6,6); // 60
	AddStaticVehicle(560,2783.1653,-1876.4601,9.5169,180.1249,6,6); // 61
	AddStaticVehicle(405,2812.6462,-1671.9952,9.6421,0.3486,6,6); // 62
	AddStaticVehicle(402,2792.7349,-1671.4336,9.7247,358.4763,39,39); // 63
	AddStaticVehicle(402,2687.1799,-1672.4867,9.2780,358.5980,39,39); // 64
	AddStaticVehicle(415,1028.1373,-1055.9219,31.4133,180.4644,40,1); // 65
	AddStaticVehicle(415,405.6120,-1319.9183,14.6524,208.3890,40,1); // 66
	AddStaticVehicle(402,2687.1948,-1671.8911,9.2785,358.5853,39,39); // 67
	AddStaticVehicle(431,1077.9773,-1806.9070,13.7550,269.1000,47,74); // 68
	AddStaticVehicle(431,1080.7152,-1757.8396,13.4819,270.7472,47,74); // 69
	AddStaticVehicle(431,1080.5858,-1760.9330,13.4866,269.2555,47,74); // 70
	AddStaticVehicle(431,1080.6444,-1763.7386,13.4705,269.5463,47,74); // 71
	AddStaticVehicle(431,1080.7850,-1766.7733,13.4689,269.2833,47,74); // 72
	AddStaticVehicle(586,1630.6401,-1099.3501,23.4789,91.5355,3,8); // 73
	AddStaticVehicle(462,1644.9883,-1047.4895,23.4641,353.9057,3,8); // 74
	AddStaticVehicle(521,1659.6631,-1015.4679,23.4692,5.0447,3,8); // 75
	AddStaticVehicle(521,1707.7833,-1035.2656,23.4676,177.3118,3,8); // 76
	AddStaticVehicle(586,1756.7963,-1045.7616,23.5350,355.8330,3,8); // 77
	AddStaticVehicle(496,1748.6582,-1046.5305,23.6406,1.2470,13,13); // 78
	AddStaticVehicle(496,1722.9431,-1060.6561,23.6033,179.0000,13,13); // 79
	AddStaticVehicle(402,1757.9762,-1084.7688,23.6406,180.7155,13,13); // 80
	AddStaticVehicle(542,1784.2080,-1070.0900,23.6406,357.9255,13,13); // 81
	AddStaticVehicle(549,1780.2333,-1023.8376,23.6406,335.2431,13,13); // 82
	AddStaticVehicle(480,1744.5896,-1011.7202,23.7338,350.3159,12,12); // 83
	AddStaticVehicle(480,1704.4583,-1004.5856,23.6817,354.4279,12,12); // 84
	AddStaticVehicle(480,1694.5938,-1035.5620,23.6798,6.8042,12,12); // 85
	AddStaticVehicle(480,1636.7639,-1036.7046,23.6713,177.5188,12,12); // 86
	AddStaticVehicle(480,1590.5428,-1053.7357,23.6789,127.5141,12,12); // 87
	AddStaticVehicle(486,1559.5034,-1029.3650,24.1258,344.3057,1,1); // 88
	AddStaticVehicle(510,1561.4083,-1062.9399,23.3314,218.5639,46,46); // 89
	AddStaticVehicle(543,1648.9983,-1085.1907,23.6108,88.7645,6,6); // 90
	AddStaticVehicle(567,1675.1766,-1125.2427,23.6106,92.6924,6,6); // 91
	AddStaticVehicle(521,1666.3547,-1134.8259,23.4736,183.4502,75,13); // 92
	AddStaticVehicle(521,1687.7926,-1085.8370,23.4766,185.7329,75,13); // 93
	AddStaticVehicle(521,1744.5637,-1085.1283,23.5254,184.4519,75,13); // 94
	AddStaticVehicle(416,2002.0237,-1430.0247,15.4936,176.9525,1,3); // 95
	AddStaticVehicle(481,1907.2719,-1356.6796,13.0055,14.0310,3,3); // 96
	AddStaticVehicle(481,1908.4485,-1356.7935,13.0261,11.7939,3,3); // 97
	AddStaticVehicle(481,1909.9182,-1356.8281,13.0549,12.7713,3,3); // 98
	AddStaticVehicle(482,2118.7207,-1779.7153,13.5019,179.6831,48,48); // 99
	AddStaticVehicle(521,2110.7393,-1779.6661,12.9602,182.4547,87,118); // 100
	AddStaticVehicle(536,2113.3774,-1781.0409,13.0139,359.7866,58,8); // 101
	AddStaticVehicle(415,2427.6938,-1775.0540,13.1718,270.0974,58,8); // 102
	AddStaticVehicle(549,2190.4917,-1105.8450,24.4533,66.0546,89,35); // 103
	AddStaticVehicle(439,2184.2302,-1259.4211,23.8613,81.7950,67,8); // 104
	AddStaticVehicle(536,2087.8420,-1342.7119,23.7218,91.1337,37,1); // 105
	AddStaticVehicle(480,2171.8550,-1361.5210,23.6761,1.2272,6,6); // 106
	AddStaticVehicle(496,2172.3777,-1396.0271,23.7088,0.5053,20,20); // 107
	AddStaticVehicle(521,2223.9438,-1451.1566,23.4013,92.2305,87,118); // 108
	AddStaticVehicle(482,2226.3452,-1415.3160,23.9429,90.9459,10,10); // 109
	AddStaticVehicle(400,2480.2197,-1730.9689,13.0078,180.2921,58,8); // 110
	AddStaticVehicle(549,2512.7856,-1784.0769,13.2439,263.8079,72,39); // 109
	AddStaticVehicle(549,2501.8328,-1952.9532,13.1276,179.0059,72,39); // 110
	AddStaticVehicle(549,2492.5923,-1953.7515,13.1785,177.6694,101,1); // 111
	AddStaticVehicle(444,2488.6687,-1953.7269,13.7942,358.1641,32,42); // 112
	AddStaticVehicle(462,2482.5530,-1953.8995,13.0207,356.9093,13,13); // 113
	AddStaticVehicle(462,2476.5896,-1953.0560,13.0281,359.3690,13,13); // 114
	AddStaticVehicle(535,2653.0229,-2038.2897,13.3140,43.3759,28,1); // 115
	AddStaticVehicle(462,2851.4841,-1325.9720,10.6367,103.5390,39,106); // 116
	AddStaticVehicle(521,2796.4167,-1584.2300,10.5015,93.8257,39,106); // 117
	AddStaticVehicle(521,2803.3267,-1541.0675,10.4946,2.1708,39,106); // 118
	AddStaticVehicle(405,1777.8881,-1911.9437,13.0675,93.2189,13,13); // 119
	AddStaticVehicle(567,1797.5787,-1932.0305,13.0663,0.6345,13,13); // 120
	AddStaticVehicle(542,1785.8693,-1887.2363,13.1373,0.3124,24,118); // 121
	AddStaticVehicle(549,1945.6493,-1884.4984,13.2415,272.3637,72,39); // 122
	AddStaticVehicle(549,2023.5068,-1914.9459,13.2509,0.8977,72,39); // 123
	AddStaticVehicle(549,2326.2656,-1913.9165,13.3004,92.4321,72,39); // 124
	AddStaticVehicle(549,2380.2148,-1928.3330,13.0798,178.8629,72,39); // 125
	AddStaticVehicle(412,2393.5266,-1926.9108,13.2204,0.1395,10,8); // 126
	AddStaticVehicle(462,2377.0610,-1885.0480,13.1467,1.5426,13,13); // 127
	AddStaticVehicle(462,2381.6724,-1884.8245,13.1485,356.5609,13,13); // 128
	AddStaticVehicle(462,2349.8394,-1745.2188,13.1301,53.2216,13,13); // 129
	AddStaticVehicle(495,965.1958,-1844.5337,12.4458,162.2880,118,117); // 130
	AddStaticVehicle(481,780.1558,-1813.9634,12.5388,86.7646,12,9); // 131
	AddStaticVehicle(521,783.8087,-1851.7646,5.8560,179.3819,39,106); // 132
	AddStaticVehicle(495,635.3928,-1874.0294,4.9509,354.1742,116,115); // 133
	AddStaticVehicle(495,541.8896,-1873.0294,4.2291,263.9890,114,108); // 134
	AddStaticVehicle(549,591.0554,-1743.9175,12.8976,262.4497,79,39); // 135
	AddStaticVehicle(549,864.6429,-1789.7764,13.4777,267.8685,79,39); // 136
	AddStaticVehicle(549,998.6359,-1810.2235,13.8264,254.8841,79,39); // 137
	AddStaticVehicle(554,821.8036,-1698.5502,13.6304,88.8241,45,32); // 138
	AddStaticVehicle(567,782.9728,-1623.4033,13.2564,263.8105,99,81); // 139
	AddStaticVehicle(567,782.6143,-1608.8370,13.2570,85.0240,99,81); // 140
	AddStaticVehicle(554,2711.3525,-1845.6005,9.2162,337.1939,6,6); // 141
	AddStaticVehicle(574,1661.4871,-1894.4874,13.2746,353.7933,26,26); // 142
	AddStaticVehicle(521,542.4169,-1819.3243,5.6376,92.4089,3,8); // 143
	AddStaticVehicle(521,541.9134,-1804.3804,5.6332,87.5481,3,8); // 144
	AddStaticVehicle(603,1844.3402,-1870.9602,13.2260,178.6941,32,1); // 145
	AddStaticVehicle(603,1844.3402,-1870.9602,13.2260,178.6941,32,1); //146
	AddStaticVehicle(586,1836.1805,-1853.4457,12.9095,3.8805,8,1); // 147
	AddStaticVehicle(521,1707.7833,-1035.2656,23.4676,177.3119,3,8); // 148
	AddStaticVehicle(480,1694.5938,-1035.5620,23.6798,6.8043,12,12); // 149
	AddStaticVehicle(480,1636.7639,-1036.7046,23.6713,177.5188,12,12); // 150
	AddStaticVehicle(500,1648.7063,-1136.2606,23.6103,183.2268,6,6); // 151
	AddStaticVehicle(510,1948.9681,-1180.5122,19.6321,124.8211,39,39); // 152
	AddStaticVehicle(500,857.5428,-824.1260,89.2333,296.3934,116,1); // 153
	AddStaticVehicle(400,2227.7090,-1166.0820,25.8386,270.5946,123,1); //
	AddStaticVehicle(401,2206.7205,-1164.9829,25.5093,272.4369,47,47); // 155
	AddStaticVehicle(404,2206.9155,-1156.9572,25.4655,267.8330,119,50); // 156
	AddStaticVehicle(580,2216.8650,-1157.3630,25.5226,271.1626,81,81); // 157
	AddStaticVehicle(543,2176.4397,-986.5009,64.2955,169.5406,32,8); // 158
	AddStaticVehicle(561,2219.6453,-1016.5952,60.2073,64.9034,43,21); // 159
	AddStaticVehicle(491,2063.0725,-983.5887,47.1213,264.7250,71,72); // 160
	AddStaticVehicle(530,2007.5546,-1031.5919,24.5121,170.6654,111,1); // 161
	AddStaticVehicle(545,2089.5388,-1083.8569,25.1408,154.2645,47,1); // 162
	AddStaticVehicle(580,2161.3872,-1147.3700,24.2718,268.1852,81,81); // 163
	AddStaticVehicle(500,2148.4241,-1156.9637,23.9580,268.8147,40,110); // 164
	AddStaticVehicle(547,2161.6963,-1163.4962,23.5531,268.2845,123,1); // 165
	AddStaticVehicle(436,2149.0361,-1170.4775,23.5959,267.8094,87,1); // 166
	AddStaticVehicle(536,2148.0164,-1180.7378,23.5579,89.5305,12,1); // 167
	AddStaticVehicle(482,2051.7854,-1105.4327,24.5664,272.0461,52,52); // 168
	AddStaticVehicle(482,2106.4114,-1247.8102,25.5284,0.8762,64,64); // 169
	AddStaticVehicle(545,2004.9851,-1274.3468,23.6313,357.3352,44,96); // 170
	AddStaticVehicle(585,1984.5054,-1275.4335,23.4043,178.0819,53,53); // 171
	AddStaticVehicle(481,1950.0330,-1219.4312,19.5408,256.2260,26,1); // 172
	AddStaticVehicle(547,1836.0306,-1205.4819,21.2329,181.2638,125,1); // 173
	AddStaticVehicle(554,1886.5323,-1085.6976,24.0054,90.3349,45,32); // 174
	AddStaticVehicle(574,1988.5712,-1093.7147,24.8118,77.2209,26,26); // 175
	AddStaticVehicle(555,1962.2379,-1094.7373,25.1197,259.0485,60,1); // 176
	AddStaticVehicle(566,2268.8179,-1040.7898,50.8475,138.6235,30,8); // 177
	AddStaticVehicle(543,2337.7378,-1055.1129,52.2219,180.3522,43,8); // 178
	AddStaticVehicle(549,2431.6567,-1018.9281,54.0341,195.9617,75,39); // 179
	AddStaticVehicle(550,2482.7153,-1022.6788,64.8246,151.5172,53,53); // 180
	AddStaticVehicle(543,2566.1528,-1042.9640,69.3066,268.1753,67,8); // 181
	AddStaticVehicle(436,2554.4448,-1096.6171,64.3099,54.1764,92,1); // 182
	AddStaticVehicle(496,2470.0076,-1093.8680,44.1377,86.1012,53,56); // 183
	AddStaticVehicle(401,2371.1716,-1107.4578,33.7870,117.4645,52,52); // 184
	AddStaticVehicle(542,2522.5862,-970.7707,81.8604,96.1755,31,93); // 185
	AddStaticVehicle(536,2413.8235,-1239.1235,23.5985,353.8964,26,96); // 186
	AddStaticVehicle(401,2430.1907,-1234.4695,24.5541,191.8809,66,66); // 187
	AddStaticVehicle(482,2498.7839,-1192.4546,46.7848,87.5013,71,71); // 188
	AddStaticVehicle(439,2596.7930,-1201.7621,58.7013,180.5153,43,21); // 189
	AddStaticVehicle(561,2743.0278,-1210.2069,66.1939,182.0405,54,38); // 190
	AddStaticVehicle(439,2637.4590,-1086.2756,69.4277,0.2701,54,38); // 191
	AddStaticVehicle(491,2682.0315,-1099.9930,69.0782,359.4213,52,66); // 192
	AddStaticVehicle(561,2816.9751,-1090.6517,30.5555,183.3552,67,8); // 193
	AddStaticVehicle(549,2388.0845,-1726.7189,13.1671,86.8078,79,39); // 194
	AddStaticVehicle(482,2371.2351,-1767.1797,13.6637,1.7108,85,85); // 195
	AddStaticVehicle(521,2296.7058,-1721.2406,13.1266,182.5026,36,0); // 196
	AddStaticVehicle(542,2263.1980,-1763.3892,13.2898,1.0397,32,92); // 197
	AddStaticVehicle(585,2282.1990,-1674.2201,14.3994,3.4541,62,62); // 198
	AddStaticVehicle(587,2127.4333,-1489.2803,23.6071,0.4969,43,1); // 199
	AddStaticVehicle(400,2024.1743,-1335.9314,23.9895,92.5164,101,1); // 200
	AddStaticVehicle(559,1874.6396,-1346.4668,13.1186,93.5443,68,8); // 201
	AddStaticVehicle(547,1790.8392,-1257.3459,13.3967,180.6463,10,1); // 202
	AddStaticVehicle(580,1802.2505,-1290.3748,13.3602,1.9779,66,66); // 203
	AddStaticVehicle(521,1972.8389,-1448.7180,13.0621,88.5814,92,3); // 204
	AddStaticVehicle(550,1799.1151,-1444.3003,13.2621,179.7930,62,62); // 205
	AddStaticVehicle(543,1748.1095,-1456.3939,13.3599,269.0909,8,90); // 206
	AddStaticVehicle(587,1719.4025,-1224.0519,17.7801,0.9710,53,1); // 207
	AddStaticVehicle(547,1524.0145,-1172.6732,23.8134,357.9293,24,1); // 208
	AddStaticVehicle(549,1486.9023,-1090.5109,23.4347,0.8258,91,35); // 209
	AddStaticVehicle(565,1375.5583,-996.4529,28.3891,167.0962,53,53); // 210
	AddStaticVehicle(542,1338.0344,-912.8023,35.7365,181.3268,113,92); // 211
	AddStaticVehicle(580,1212.7534,-874.9564,42.7220,191.5458,61,61); // 212
	AddStaticVehicle(588,1224.4043,-905.1313,42.8044,187.8273,1,1); // 213
	AddStaticVehicle(549,1138.8441,-1004.6536,29.5495,273.0116,74,39); // 214
	AddStaticVehicle(401,900.2772,-1154.2126,23.5284,274.0154,74,74); // 215
	AddStaticVehicle(547,977.9215,-1104.1071,23.5659,90.3308,37,1); // 216
	AddStaticVehicle(536,678.9031,-1240.4667,14.9277,126.2278,57,96); // 217
	AddStaticVehicle(480,614.5784,-1347.7638,13.4182,283.4162,4,4); // 218
	AddStaticVehicle(491,560.5842,-1333.9113,13.2342,104.7353,30,72); // 219
	AddStaticVehicle(412,513.3785,-1381.0065,15.8570,194.2069,27,1); // 220
	AddStaticVehicle(426,585.1439,-1393.6176,13.4994,100.8106,42,42); // 221
	AddStaticVehicle(500,611.6850,-1504.6388,15.0116,280.2244,21,119); // 222
	AddStaticVehicle(536,666.8494,-1521.3119,14.5960,178.9325,71,96); // 223
	AddStaticVehicle(493,728.3262,-1495.5153,-0.0694,176.6782,36,13); // 224
	AddStaticVehicle(493,719.9775,-1699.3771,-0.0911,176.9106,36,13); // 225
	AddStaticVehicle(521,706.9193,-1713.7111,3.0019,178.9508,25,118); // 226
	AddStaticVehicle(412,695.7759,-1572.6605,14.0755,178.1624,29,8); // 227
	AddStaticVehicle(491,749.0298,-1678.6254,3.7816,7.5466,60,72); // 228
	AddStaticVehicle(547,792.1472,-1538.5134,13.2929,71.1408,66,1); // 229
	AddStaticVehicle(549,805.9766,-1481.8121,13.2244,85.9800,72,39); // 230
	AddStaticVehicle(542,821.4858,-1347.7384,13.2656,90.7407,119,113); // 231
	AddStaticVehicle(412,803.0613,-1239.1038,13.9337,182.6293,30,1); // 232
	AddStaticVehicle(482,870.0237,-1263.1691,14.9319,0.6920,62,62); // 233
	AddStaticVehicle(482,848.1865,-1203.7809,17.0980,186.6268,41,41); // 234
	AddStaticVehicle(549,1009.1806,-1216.6617,16.5442,84.8451,75,39); // 235
	AddStaticVehicle(542,1050.3077,-1291.0409,13.2087,182.1442,122,113); // 236
	AddStaticVehicle(588,1000.1556,-1339.5048,13.2754,357.5169,1,1); // 237
	AddStaticVehicle(521,871.2853,-1338.4979,13.1180,357.6724,36,0); // 238
	AddStaticVehicle(412,1000.3972,-1305.5387,13.1952,186.7526,37,8); // 239
	AddStaticVehicle(547,937.9265,-1285.7272,14.4064,177.5936,122,1); // 240
	AddStaticVehicle(521,1094.2419,-1082.1534,26.4012,93.8256,115,118); // 241
	AddStaticVehicle(547,653.4366,-1763.8049,13.2629,343.4692,123,1); // 242
	AddStaticVehicle(424,617.3282,-1643.5627,16.2350,278.0316,3,6); // 243
	AddStaticVehicle(491,495.8574,-1652.5983,20.1800,258.6847,40,65); // 244
	AddStaticVehicle(542,439.1884,-1622.0048,25.7331,176.8403,13,118); // 245
	AddStaticVehicle(549,482.0061,-1598.2852,21.9480,273.1346,79,39); // 246
	AddStaticVehicle(480,483.6426,-1527.4279,19.5590,6.9015,46,46); // 247
	AddStaticVehicle(439,545.2490,-1510.1396,14.3666,1.5272,37,78); // 248
	AddStaticVehicle(555,458.0508,-1458.5402,27.9732,302.4839,2,1); // 249
	AddStaticVehicle(521,328.4856,-1517.7020,35.4339,148.9848,118,118); // 250
	AddStaticVehicle(480,288.8408,-1522.8114,24.3658,57.5874,12,12); // 251
	AddStaticVehicle(555,304.3768,-1487.1703,24.2773,52.1412,13,1); // 252
	AddStaticVehicle(542,391.9542,-1518.0391,32.0317,39.6640,24,118); // 253
	AddStaticVehicle(482,389.2065,-1596.6925,29.5072,268.2054,48,48); // 254
	AddStaticVehicle(521,290.5765,-1626.6700,32.8550,165.4495,74,74); // 255
	AddStaticVehicle(588,275.8906,-1584.3435,32.8573,77.5037,1,1); // 256
	AddStaticVehicle(549,203.3178,-1440.8494,12.8026,139.8830,83,36); // 257
	AddStaticVehicle(542,217.7146,-1426.4221,13.0268,135.6538,31,93); // 258
	AddStaticVehicle(482,292.4351,-1419.4382,14.0417,300.0120,52,52); // 259
	AddStaticVehicle(412,134.6414,-1489.2992,18.5578,58.1805,9,1); // 260
	AddStaticVehicle(482,157.7914,-1447.5122,36.4304,321.8951,64,64); // 261
	AddStaticVehicle(491,270.3995,-1323.1998,53.2069,303.4344,71,72); // 262
	AddStaticVehicle(412,838.1244,-1008.3879,27.8065,224.0931,25,8); // 263
/*******************************************************************************
						Stunt Vehicles
*******************************************************************************/
	AddStaticVehicleEx(522, -1922.100708, 2104.959716, 1.773939, 312.484100, -1, -1, 90000);
	AddStaticVehicleEx(522, -1919.558715, 2102.291259, 1.772307, 319.047943, -1, -1, 90000);
	AddStaticVehicleEx(477, -1920.733520, 2087.559814, 1.963212, 134.621856, -1, -1, 90000);
	AddStaticVehicleEx(603, -1908.753173, 2090.503417, 2.046898, 316.002777, -1, -1, 90000);
	AddStaticVehicleEx(506, -1936.905029, 2076.153564, 1.913580, 135.573318, -1, -1, 90000);
	AddStaticVehicleEx(506, -1934.807861, 2073.694335, 1.913481, 135.349502, -1, -1, 90000);
	AddStaticVehicleEx(415, -1919.968139, 2074.565673, 1.981585, 315.576660, -1, -1, 90000);
	AddStaticVehicleEx(415, -1901.895507, 2083.885009, 1.978985, 315.973999, -1, -1, 90000);
	AddStaticVehicleEx(437, -1896.337890, 2043.995117, 2.342406, 223.867050, -1, -1, 90000);
	AddStaticVehicleEx(437, -1892.160034, 2048.183349, 2.341534, 225.539886, -1, -1, 90000);
	AddStaticVehicleEx(556, -1883.835571, 2052.686279, 2.627307, 44.688220, -1, -1, 90000);
	AddStaticVehicleEx(556, -1882.009765, 2062.907226, 2.605499, 137.760269, -1, -1, 90000);
	AddStaticVehicleEx(451, -1920.756958, 2060.401855, 1.916881, 134.040390, -1, -1, 90000);
	AddStaticVehicleEx(451, -1912.668701, 2068.220458, 1.915954, 133.890808, -1, -1, 90000);
	AddStaticVehicleEx(415, -1984.924560, 1928.031494, 1.445223, 225.689849, -1, -1, 90000);
	AddStaticVehicleEx(480, -1982.480346, 1930.449829, 1.444787, 44.190231, -1, -1, 90000);
	AddStaticVehicleEx(437, -1952.148193, 1929.331542, 1.800644, 44.711837, -1, -1, 90000);
	AddStaticVehicleEx(522, -1960.001586, 1947.355590, 1.244660, 70.890525, -1, -1, 90000);
	AddStaticVehicleEx(522, -1962.574707, 1949.989135, 1.243949, 78.071601, -1, -1, 90000);
	AddStaticVehicleEx(522, -1964.149902, 1952.515014, 1.242552, 67.588806, -1, -1, 90000);
	AddStaticVehicleEx(522, -1966.313720, 1954.654052, 1.243188, 73.586570, -1, -1, 90000);
	AddStaticVehicleEx(446, -1971.671386, 2056.124511, -0.593019, 53.489707, -1, -1, 90000);
	AddStaticVehicleEx(446, -2082.060791, 1945.421264, -0.507242, 313.573699, -1, -1, 90000);
	AddStaticVehicleEx(446, -2024.813476, 1913.643920, -0.623573, 312.878173, -1, -1, 90000);
	AddStaticVehicleEx(446, -2034.171264, 1921.786499, -0.338831, 307.609619, -1, -1, 90000);
	AddStaticVehicleEx(446, -2038.918945, 1931.712158, -0.747737, 137.210067, -1, -1, 90000);
	AddStaticVehicleEx(446, -2072.448242, 2054.679687, -0.610654, 131.393280, -1, -1, 90000);
	AddStaticVehicleEx(446, -2053.009033, 1970.078247, -0.581690, 313.830261, -1, -1, 90000);
	AddStaticVehicleEx(520, -1988.118286, 1969.567626, 7.184108, 316.649505, -1, -1, 90000);
	AddStaticVehicleEx(425, -1998.897583, 1976.159423, 7.048861, 6.098065, -1, -1, 90000);
	AddStaticVehicleEx(522, 1524.448364, -2445.688964, 13.125497, 183.148437, -1, -1, 60000);
	AddStaticVehicleEx(522, 1526.289794, -2445.568847, 13.117809, 184.632827, -1, -1, 60000);
	AddStaticVehicleEx(522, 1528.021728, -2445.415283, 13.125232, 182.727981, -1, -1, 60000);
	AddStaticVehicleEx(522, 1529.831909, -2445.212158, 13.120918, 188.342849, -1, -1, 60000);
	AddStaticVehicleEx(506, 1526.569580, -2442.391357, 13.259315, 278.353118, -1, -1, 60000);
	AddStaticVehicleEx(451, 1527.863647, -2437.137451, 13.261571, 272.604675, -1, -1, 60000);
	AddStaticVehicleEx(556, 1534.991210, -2446.128906, 13.929963, 165.057907, -1, -1, 60000);
	AddStaticVehicleEx(556, 1539.451660, -2447.257812, 13.929897, 167.607543, -1, -1, 60000);
	AddStaticVehicleEx(541, 1522.676147, -2445.492187, 13.179467, 181.915863, -1, -1, 60000);
	AddStaticVehicleEx(451, 1518.221069, -2447.894042, 13.261906, 233.802932, -1, -1, 60000);
	AddStaticVehicleEx(468, 1534.103515, -2440.062255, 13.221213, 159.785766, -1, -1, 60000);
	AddStaticVehicleEx(468, 1535.408569, -2440.491210, 13.222976, 162.797714, -1, -1, 60000);
	AddStaticVehicleEx(468, 1536.923950, -2440.690429, 13.223799, 166.454299, -1, -1, 60000);
	AddStaticVehicleEx(468, 1538.371948, -2440.612792, 13.223564, 165.934921, -1, -1, 60000);
	AddStaticVehicleEx(468, 2051.634765, -2581.190673, 13.215979, 93.037971, -1, -1, 60000);
	AddStaticVehicleEx(468, 2052.876220, -2605.389892, 13.215674, 90.322914, -1, -1, 60000);
	AddStaticVehicleEx(522, 2052.123779, -2602.083007, 13.125921, 94.546859, -1, -1, 60000);
	AddStaticVehicleEx(522, 2051.678222, -2598.694335, 13.121109, 95.216194, -1, -1, 60000);
	AddStaticVehicleEx(522, 2051.771972, -2595.414794, 13.118627, 95.942207, -1, -1, 60000);
	AddStaticVehicleEx(557, 2033.465942, -2612.132080, 13.921902, 3.467303, -1, -1, 60000);
	AddStaticVehicleEx(557, 2037.724365, -2612.947509, 13.921859, 3.528013, -1, -1, 60000);
	AddStaticVehicleEx(471, 2051.173339, -2591.474609, 13.026803, 94.221893, -1, -1, 60000);
	AddStaticVehicleEx(471, 2051.350585, -2587.603271, 13.029230, 95.391181, -1, -1, 60000);
	AddStaticVehicleEx(471, 2051.142578, -2584.589599, 13.028179, 91.948318, -1, -1, 60000);
	AddStaticVehicleEx(477, 2025.196533, -2615.454589, 13.299317, 357.525817, -1, -1, 60000);
	AddStaticVehicleEx(415, 2021.882324, -2615.459472, 13.319864, 1.127420, -1, -1, 60000);
	AddStaticVehicleEx(535, 2017.986694, -2614.989746, 13.310400, 359.763336, -1, -1, 60000);
	AddStaticVehicleEx(536, 2014.464355, -2614.634521, 13.284324, 358.284088, -1, -1, 60000);
/*******************************************************************************
							Objects
*******************************************************************************/
	CreateObject(5112, -1938.298340, 2118.336426, -4.014843, 0.0000, 0.0000, 225.0000);
	CreateObject(4186, -2012.725098, 2044.530518, 7.343500, 0.0000, 0.0000, 135.0000);
	CreateObject(3000, -1983.368164, 2073.381348, 0.733806, 0.0000, 0.0000, 0.0000);
	CreateObject(5716, -2025.394043, 2069.934082, 14.551313, 0.0000, 0.0000, 45.0000);
	CreateObject(5837, -1990.995361, 2055.409668, 2.427938, 0.0000, 0.0000, 315.0000);
	CreateObject(6962, -1973.202148, 2040.981201, 7.466599, 0.0000, 0.0000, 315.0000);
	CreateObject(8131, -1987.323120, 2042.162964, 11.903843, 0.0000, 0.0000, 315.0000);
	CreateObject(8131, -2002.587646, 2026.591919, 11.903843, 0.0000, 0.0000, 315.0000);
	CreateObject(8169, -1993.328369, 2065.388672, 0.286759, 0.0000, 0.0000, 0.0000);
	CreateObject(8397, -2016.908813, 2013.008423, 11.213861, 0.0000, 0.0000, 135.0000);
	CreateObject(8493, -1965.666504, 2020.861328, 18.271067, 0.0000, 0.0000, 315.0000);
	CreateObject(8620, -2024.918457, 2089.784912, 23.324022, 0.0000, 0.0000, 225.0001);
	CreateObject(8675, -2015.254150, 2042.386963, 9.703850, 0.0000, 0.0000, 225.0000);
	CreateObject(10023, -2070.939697, 1963.358887, 8.788233, 0.0000, 0.0000, 134.9999);
	CreateObject(14560, -2051.231201, 1951.767944, 4.921103, 0.0000, 0.0000, 225.0000);
	CreateObject(14560, -2082.349609, 1982.318115, 4.946103, 0.0000, 0.0000, 225.0000);
	CreateObject(5426, -1991.461548, 1937.795898, 2.930543, 0.0000, 0.0000, 315.0000);
	CreateObject(3469, -2061.465088, 2003.401611, 3.373828, 0.0000, 0.0000, 315.0000);
	CreateObject(3463, -1902.077637, 2154.651855, 0.999815, 0.0000, 0.0000, 315.0000);
	CreateObject(3463, -1928.541138, 2128.016113, 1.658792, 0.0000, 0.0000, 315.0000);
	CreateObject(3463, -1952.445557, 2104.163574, 1.732426, 0.0000, 0.0000, 315.0000);
	CreateObject(3463, -1973.849854, 2082.695557, 1.376701, 0.0000, 0.0000, 315.0000);
	CreateObject(1571, -2008.616455, 2063.729248, 2.612240, 0.0000, 0.0000, 45.0000);
	CreateObject(1232, -2000.708252, 2065.631592, 1.097086, 0.0000, 0.0000, 0.0000);
	CreateObject(1232, -1992.625854, 2047.252075, 0.847086, 0.0000, 0.0000, 0.0000);
	CreateObject(1232, -2015.124634, 2022.028076, 0.597086, 0.0000, 0.0000, 0.0000);
	CreateObject(1232, -2014.650879, 2016.572998, 5.795239, 357.4217, 85.0842, 34.2736);
	CreateObject(3515, -2002.613525, 2026.779541, 1.286544, 0.0000, 0.0000, 0.0000);
	CreateObject(3515, -1987.385010, 2042.466919, 1.111549, 0.0000, 0.0000, 0.0000);
	CreateObject(9833, -1994.730713, 2034.617676, 4.514795, 0.0000, 0.0000, 303.7500);
	CreateObject(3472, -2031.611938, 2025.332886, 1.687754, 0.0000, 0.0000, 0.0000);
	CreateObject(3472, -2002.400391, 2001.710571, 0.681410, 0.0000, 0.0000, 0.0000);
	CreateObject(3472, -1969.169312, 2030.372925, 0.681410, 0.0000, 0.0000, 0.0000);
	CreateObject(3472, -1876.775513, 2167.063232, 3.257984, 0.0000, 0.0000, 0.0000);
	CreateObject(3472, -2033.423706, 1956.266113, 0.858491, 0.0000, 0.0000, 0.0000);
	CreateObject(3472, -2067.319824, 1965.560303, 0.852705, 0.0000, 0.0000, 0.0000);
	CreateObject(3472, -1991.949463, 2038.211670, -1.468595, 0.0000, 0.0000, 283.5101);
	CreateObject(3472, -1998.111938, 2032.029175, -1.993594, 0.0000, 0.0000, 340.2330);
	CreateObject(1232, -2007.958252, 2014.534546, 0.215334, 0.0000, 0.0000, 0.0000);
	CreateObject(12990, -2062.038086, 2040.622437, 1.197466, 357.4217, 0.0000, 225.0000);
	CreateObject(3472, -2047.139648, 1986.882935, 0.852705, 0.0000, 0.0000, 349.6868);
	CreateObject(3472, -2025.072144, 1987.701050, 0.852705, 0.0000, 0.0000, 317.0282);
	CreateObject(3472, -2046.154785, 2009.943481, 0.852707, 0.0000, 0.0000, 0.0000);
	CreateObject(3472, -2026.179932, 2010.145508, 0.852705, 0.0000, 0.0000, 302.4177);
	CreateObject(3528, -2046.268188, 2009.703613, 3.191246, 0.0000, 0.0000, 303.7500);
	CreateObject(3528, -2025.148682, 1987.929565, 3.441175, 0.0000, 0.0000, 135.0000);
	CreateObject(3528, -2046.824341, 1986.846191, 3.015858, 0.0000, 0.0000, 33.7500);
	CreateObject(3528, -2026.452759, 2010.127808, 3.547902, 0.0000, 0.0000, 236.2501);
	CreateObject(14411, -2016.479858, 1974.855835, 2.174387, 0.0000, 0.0000, 225.0000);
	CreateObject(14411, -1984.890137, 2012.164673, 3.797306, 0.0000, 0.0000, 220.7028);
	CreateObject(1315, -1891.157715, 2162.077881, 3.472570, 0.0000, 0.0000, 326.2500);
	CreateObject(1319, -1897.627319, 2166.345215, 0.981747, 0.0000, 0.0000, 0.0000);
	CreateObject(3472, -1891.369995, 2180.080566, 2.457314, 0.0000, 0.0000, 0.0000);
	CreateObject(3472, -1866.256958, 2167.259521, 4.553288, 0.0000, 0.0000, 0.0000);
	CreateObject(3472, -1851.193848, 2166.792969, 6.312077, 0.0000, 0.0000, 0.0000);
	CreateObject(3472, -1892.932129, 2189.909668, 3.867462, 0.0000, 0.0000, 0.0000);
	CreateObject(3472, -1896.255981, 2202.026123, 5.669613, 0.0000, 0.0000, 0.0000);
	CreateObject(8943, -1959.865356, 1941.163452, 4.811448, 0.0000, 0.0000, 45.0000);
	CreateObject(7893, -2023.337036, 1933.923950, 2.926173, 0.0000, 0.0000, 45.0000);
	CreateObject(7893, -2030.104370, 1940.521240, 2.855314, 0.0000, 0.0000, 225.0000);
	CreateObject(973, -2043.368408, 1979.536255, 1.329552, 0.0000, 0.0000, 315.0000);
	CreateObject(973, -2043.404541, 1973.121704, 1.329552, 0.0000, 0.0000, 225.0000);
	CreateObject(973, -2049.821533, 1966.732056, 1.329552, 0.0000, 0.0000, 225.0000);
	CreateObject(973, -2053.164795, 1963.433350, 1.362837, 0.0000, 0.0000, 225.0000);
	CreateObject(973, -2059.714355, 1963.446655, 1.323763, 0.0000, 0.0000, 135.0000);
	CreateObject(973, -2059.698486, 1969.800293, 1.323765, 0.0000, 0.0000, 45.0001);
	CreateObject(973, -2053.187744, 1976.292847, 1.323765, 0.0000, 0.0000, 45.0001);
	CreateObject(973, -2049.583984, 1979.861450, 1.323765, 0.0000, 0.0000, 45.0001);
	CreateObject(973, -2054.422363, 1990.900024, 1.323765, 0.0000, 0.0000, 315.0001);
	CreateObject(973, -2054.577881, 1984.492676, 1.323765, 0.0000, 0.0000, 225.0002);
	CreateObject(973, -2060.820068, 1978.277344, 1.323765, 0.0000, 0.0000, 225.0002);
	CreateObject(973, -2064.561768, 1974.567627, 1.323765, 0.0000, 0.0000, 225.0002);
	CreateObject(973, -2070.902588, 1974.445313, 1.323765, 0.0000, 0.0000, 135.0002);
	CreateObject(973, -2070.685791, 1980.829224, 1.329551, 0.0000, 0.0000, 45.0003);
	CreateObject(973, -2064.315186, 1987.215088, 1.329552, 0.0000, 0.0000, 45.0003);
	CreateObject(973, -2060.634277, 1990.899048, 1.329551, 0.0000, 0.0000, 45.0003);
	CreateObject(14411, -2017.123535, 2068.483154, 4.472305, 0.0000, 0.0000, 29.4528);
	CreateObject(14411, -2016.070923, 2076.532715, 8.488390, 0.0000, 0.0000, 310.7028);
	CreateObject(982, -2060.254395, 1940.376465, 1.230310, 0.0000, 0.0000, 45.0000);
	CreateObject(982, -2093.113770, 1973.337646, 1.172886, 0.0000, 0.0000, 45.0000);
	CreateObject(983, -2094.416260, 1994.179443, 1.167100, 0.0000, 0.0000, 315.0000);
	CreateObject(983, -2039.647217, 1940.658203, 1.167100, 0.0000, 0.0000, 315.0000);
	CreateObject(983, -2025.651367, 1934.133667, 3.049916, 0.0000, 0.0000, 315.0000);
	CreateObject(983, -2029.800537, 1937.561768, 3.004153, 0.0000, 0.0000, 315.0000);
	CreateObject(3458, -2045.073853, 1918.570679, -0.718085, 0.0000, 0.0000, 225.0000);
	CreateObject(3458, -2028.794067, 1902.071289, -0.869122, 0.0000, 0.0000, 225.0000);
	CreateObject(10009, -2039.349976, 2038.859985, 15.924200, 0.0000, 0.0000, 191.2501);
	CreateObject(1291, -2005.333008, 2065.051758, 1.747659, 0.0000, 0.0000, 45.0000);
	CreateObject(1291, -1973.301514, 2017.222778, 31.224121, 0.0000, 0.0000, 45.0000);
	CreateObject(1291, -1994.066162, 2046.482178, 1.326650, 0.0000, 0.0000, 225.0000);
	CreateObject(1235, -2004.331665, 2036.386230, 1.315325, 0.0000, 0.0000, 0.0000);
	CreateObject(1235, -2041.530151, 2009.695068, 0.986621, 0.0000, 0.0000, 0.0000);
	CreateObject(1359, -2042.760620, 1952.362793, 1.187889, 0.0000, 0.0000, 0.0000);
	CreateObject(1486, -2044.302490, 1961.293457, 0.634281, 0.0000, 0.0000, 0.0000);
	CreateObject(3886, -2082.733398, 1952.321167, -0.784811, 0.0000, 0.0000, 315.0000);
	CreateObject(3886, -2089.748291, 1945.125122, -0.769130, 0.0000, 0.0000, 136.3412);
	CreateObject(1597, -1990.498901, 2045.482666, 3.969632, 0.0000, 0.0000, 315.0000);
	CreateObject(1597, -2006.241089, 2029.653442, 3.969632, 0.0000, 0.0000, 315.0000);
	CreateObject(1597, -2027.850952, 2021.599854, 3.975974, 0.0000, 0.0000, 225.0000);
	CreateObject(877, -2017.051270, 1930.619141, 4.158451, 0.0000, 0.0000, 11.2500);
	CreateObject(877, -2033.066284, 1945.993164, 4.060598, 0.0000, 0.0000, 11.2500);
	CreateObject(877, -2009.879883, 1941.502319, 5.110288, 0.0000, 4.2972, 11.2500);
	CreateObject(873, -2022.298096, 1952.575562, 4.087557, 0.0000, 0.0000, 0.0000);
	CreateObject(673, -2036.390503, 2027.678101, 1.369228, 0.0000, 0.0000, 0.0000);
	CreateObject(673, -1996.297485, 2039.821899, 1.362887, 0.0000, 0.0000, 0.0000);
	CreateObject(673, -2000.853760, 2034.728027, 1.362888, 0.0000, 0.0000, 0.0000);
	CreateObject(673, -2035.016602, 2013.891357, 0.534183, 0.0000, 0.0000, 0.0000);
	CreateObject(673, -2050.979492, 1998.808594, 0.534183, 0.0000, 0.0000, 0.0000);
	CreateObject(673, -2037.461914, 1983.034790, 0.534183, 0.0000, 0.0000, 0.0000);
	CreateObject(673, -2021.498901, 1999.186523, 0.534183, 0.0000, 0.0000, 0.0000);
	CreateObject(17031, -2084.799805, 2012.128296, -3.152852, 0.0000, 0.0000, 135.0000);
	CreateObject(17026, -2055.654785, 2094.384277, -2.513466, 0.0000, 0.0000, 281.2500);
	CreateObject(17026, -2107.325195, 1997.202148, -1.411729, 0.0000, 0.0000, 101.2500);
	CreateObject(8040, -1913.403564, 2074.146484, 1.974737, 0.0000, 0.0000, 135.0000);
	CreateObject(969, -1945.855591, 2101.805176, 1.444467, 68.7549, 0.0000, 45.0000);
	CreateObject(969, -1950.291260, 2097.300537, 1.475018, 68.7549, 0.0000, 45.0000);
	CreateObject(969, -1939.655640, 2107.911865, 1.427467, 68.7549, 0.0000, 45.0000);
	CreateObject(969, -1936.260986, 2111.833252, 1.517360, 68.7549, 0.0000, 45.0000);
	CreateObject(969, -1939.515991, 2099.891846, 1.108617, 62.7389, 0.0000, 225.0000);
	CreateObject(969, -1933.552734, 2105.814209, 1.112295, 62.7389, 0.0000, 225.0000);
	CreateObject(969, -1927.465576, 2111.770508, 1.075990, 62.7389, 0.0000, 225.0000);
//------------------------------------------------------------------------------
	CreateObject(1634, 1656.298584, -2542.900635, 17.177588, 18.0482, 0.0000, 90.0001);
	CreateObject(1634, 1648.857788, -2542.906006, 17.405502, 16.3293, 0.0000, 273.4378);
	CreateObject(1634, 1387.466797, -2543.017334, 17.259121, 24.9237, 0.0000, 90.0001);
	CreateObject(1634, 1881.000732, -2543.126709, 17.531693, 14.6104, 0.0000, 270.0001);
	CreateObject(1634, 1887.290894, -2543.038574, 17.374773, 16.3293, 0.0000, 90.0001);
	CreateObject(1378, 2129.178955, -2500.022217, 30.938778, 0.0000, 0.0000, 90.0001);
	CreateObject(10775, 1431.321899, -2425.246094, 34.001350, 0.0000, 0.0000, 270.3867);
	CreateObject(1634, 1515.566162, -2453.384277, 13.627008, 2.5783, 0.0000, 61.4066);
	CreateObject(1634, 1509.796631, -2450.144287, 19.201988, 25.7831, 0.0000, 60.5472);
	CreateObject(1634, 1505.403931, -2447.690186, 26.160879, 32.6586, 0.0000, 60.5472);
	CreateObject(1634, 1492.265259, -2416.796143, 42.939293, 0.0000, 0.0000, 270.7820);
	CreateObject(16316, 1513.500854, -2416.947998, 49.720318, 0.0000, 0.0000, 0.0000);
	CreateObject(4203, 1593.483521, -2420.022949, 61.329483, 0.0000, 0.0000, 90.0001);
	CreateObject(4203, 1665.818237, -2427.186279, 61.556091, 0.0000, 1.7189, 90.0001);
	CreateObject(4203, 1742.091431, -2441.936279, 61.912628, 0.0000, 1.7189, 78.7503);
	CreateObject(5394, 1601.502808, -2592.972412, 13.111873, 356.5623, 359.1406, 292.5001);
	CreateObject(5394, 1663.785767, -2592.456787, 12.961890, 356.5623, 0.0000, 292.5001);
	CreateObject(1634, 2124.695313, -2499.985840, 37.190430, 5.1566, 0.0000, 270.0002);
	CreateObject(1634, 2063.814697, -2500.045166, 14.744194, 14.6104, 0.0000, 269.1407);
	CreateObject(12956, 1696.194702, -2491.685791, 15.907930, 0.0000, 0.0000, 0.0000);
	CreateObject(13590, 1765.593140, -2470.185791, 13.655531, 0.0000, 0.0000, 270.0000);
	CreateObject(13636, 1813.519043, -2443.496338, 14.835079, 0.0000, 0.0000, 0.0000);
	CreateObject(13641, 1703.220825, -2480.722900, 17.273933, 0.0001, 0.0000, 178.2812);
	CreateObject(16304, 2091.196777, -2583.048828, 17.732155, 0.0000, 0.0000, 0.0000);
	CreateObject(16304, 2103.658447, -2622.180908, 17.732155, 0.0000, 0.0000, 0.0000);
	CreateObject(16305, 2089.834473, -2603.128418, 17.729221, 0.0000, 0.0000, 180.0000);
	CreateObject(16317, 2107.879395, -2596.936279, 12.540822, 0.0000, 0.0000, 0.0000);
	CreateObject(16077, 2123.978271, -2594.705811, 14.727074, 0.0000, 0.0000, 337.5000);
	CreateObject(13645, 1782.345947, -2450.035645, 60.287018, 0.0000, 0.0000, 258.7500);
	CreateObject(13645, 1781.909668, -2452.796143, 60.370987, 0.0000, 0.0000, 258.7500);
	CreateObject(13645, 1781.451660, -2455.583252, 60.455833, 0.0000, 0.0000, 258.7500);
	CreateObject(13645, 1781.108765, -2457.610840, 60.467602, 0.0000, 0.0000, 258.7500);
	CreateObject(16114, 1384.912231, -2596.334473, 12.451090, 0.0000, 0.0000, 33.7500);
	CreateObject(16113, 1384.529907, -2547.858398, 12.202873, 0.0000, 0.0000, 303.7500);
	CreateObject(16120, 1395.779297, -2500.232178, 12.421928, 0.0000, 0.0000, 292.5000);
	CreateObject(16122, 1417.597778, -2567.513184, 11.580910, 0.0000, 0.0000, 67.5000);
	CreateObject(1634, 1475.251953, -2533.476563, 13.844193, 0.0000, 0.0000, 83.9066);
	CreateObject(1634, 1469.110229, -2532.874268, 17.621012, 12.0321, 0.0000, 83.9066);
	CreateObject(621, 1410.986572, -2593.937256, 12.450291, 0.0000, 0.0000, 0.0000);
	CreateObject(621, 1401.058594, -2560.951416, 13.207024, 0.0000, 0.0000, 0.0000);
	CreateObject(621, 1403.157837, -2496.482910, 17.430681, 0.0000, 0.0000, 0.0000);
	CreateObject(621, 1419.365112, -2526.277100, 12.450291, 0.0000, 0.0000, 0.0000);
	CreateObject(688, 1934.964111, -2564.127197, 12.139490, 0.0000, 0.0000, 326.2500);
	CreateObject(688, 1958.090820, -2547.450439, 12.864479, 0.0000, 0.0000, 326.2500);
	CreateObject(688, 2014.286743, -2561.622803, 12.314487, 0.0000, 0.0000, 326.2500);
	CreateObject(689, 2009.019165, -2529.131836, 12.511084, 0.0000, 0.0000, 180.0000);
	CreateObject(689, 1938.239136, -2542.159668, 12.336094, 0.0000, 0.0000, 0.0000);
	CreateObject(689, 2035.173218, -2526.310059, 12.386093, 0.0000, 0.0000, 0.0000);
	CreateObject(690, 1968.988403, -2560.557373, 12.450466, 0.0000, 0.0000, 0.0000);
	CreateObject(690, 1967.265381, -2525.769287, 12.475466, 0.0000, 0.0000, 0.0000);
	CreateObject(690, 2004.107178, -2566.665283, 13.100456, 0.0000, 0.0000, 0.0000);
	CreateObject(1655, 1966.159668, -2542.169922, 13.446993, 0.0000, 0.0000, 236.2501);
	CreateObject(1655, 1971.074341, -2545.466797, 16.896353, 12.0321, 0.0000, 236.2501);
	CreateObject(1655, 1976.067993, -2548.778320, 21.871550, 23.2048, 0.0000, 236.2501);
	CreateObject(17687, 1833.851196, -2664.433105, 26.037003, 0.0000, 0.0000, 0.0000);
	CreateObject(17687, 1693.356689, -2664.342041, 26.331486, 0.0000, 0.0000, 0.0000);
	CreateObject(1634, 1399.525879, -2427.986084, 42.939293, 0.0000, 0.0000, 102.0320);
	CreateObject(13666, 1966.399048, -2458.929932, 17.419441, 0.0000, 0.0000, 281.2500);
	CreateObject(13666, 1966.176270, -2455.270996, 17.469440, 0.0000, 0.0000, 281.2500);
	CreateObject(13666, 1965.977661, -2451.658936, 17.477200, 0.0000, 0.0000, 281.2500);
	CreateObject(13666, 1965.829224, -2448.081787, 17.477200, 0.0000, 0.0000, 281.2500);
	CreateObject(13666, 1965.650391, -2444.498291, 17.477200, 0.0000, 0.0000, 101.2501);
	CreateObject(13666, 1965.501465, -2440.828857, 17.452200, 0.0000, 0.0000, 101.2501);
	CreateObject(13666, 1475.317627, -2557.153320, 20.602182, 7.7349, 71.3332, 11.2500);
	CreateObject(13666, 1965.307251, -2437.218994, 17.452200, 0.0000, 0.0000, 101.2501);
	CreateObject(17011, 2054.224609, -2599.677246, 12.495594, 0.8594, 359.1406, 272.5783);
	CreateObject(17011, 2053.624512, -2585.360107, 12.245598, 0.8594, 359.1406, 272.5783);
	CreateObject(971, 2056.377930, -2602.785645, 12.061691, 0.0000, 0.0000, 275.2340);
	CreateObject(971, 2056.002197, -2594.165039, 11.873745, 0.0000, 0.0000, 271.7962);
	CreateObject(971, 2055.733154, -2585.779785, 11.784821, 0.0000, 359.1406, 271.7962);
	CreateObject(971, 2052.516357, -2607.780762, 12.166788, 0.0000, 0.0000, 185.2340);
	CreateObject(971, 2051.007324, -2579.284912, 11.791794, 0.0000, 0.0000, 185.2340);
	CreateObject(969, 2054.541260, -2578.695068, 6.563752, 173.5017, 89.3814, 271.4781);
	CreateObject(1237, 2045.608765, -2579.890381, 12.711345, 0.0000, 0.0000, 0.0000);
	CreateObject(1237, 2047.764282, -2608.018555, 12.691049, 0.0000, 0.0000, 0.0000);
	CreateObject(3665, 1944.919678, -2643.218506, 14.528469, 336.7952, 0.0000, 281.2500);
	CreateObject(3665, 1933.500244, -2645.577881, 18.991858, 335.9358, 0.0000, 281.2500);
	CreateObject(3334, 2055.496094, -2593.037842, 19.845366, 0.0000, 0.0000, 180.0000);
	CreateObject(13666, 1474.275391, -2557.230713, 23.577604, 1.7189, 71.3332, 11.2500);
	CreateObject(13666, 1473.115967, -2557.133301, 26.620314, 1.7189, 73.0521, 11.2500);
	CreateObject(13666, 1472.020142, -2556.913086, 29.847616, 2.5783, 70.4738, 12.1095);
	CreateObject(13666, 1470.860962, -2556.874512, 33.182774, 5.1566, 72.1927, 11.2500);
	CreateObject(1634, 1473.866943, -2559.264404, 13.844193, 13.7510, 24.0642, 75.1575);
	CreateObject(1655, 1970.434937, -2434.903809, 13.846987, 3.4377, 0.0000, 281.2501);
	CreateObject(1655, 1564.909546, -2592.993652, 13.621990, 0.0000, 0.0000, 90.0000);
	CreateObject(1655, 1558.303223, -2592.993164, 17.537640, 15.4699, 0.0000, 90.0000);
	CreateObject(1655, 1552.057983, -2593.001709, 23.281483, 25.7831, 0.0000, 90.0000);
	CreateObject(1683, 1469.192017, -2486.524902, 18.157318, 0.0000, 0.0000, 270.0000);
	CreateObject(1655, 1487.563843, -2507.156982, 13.504805, 0.0000, 0.0000, 90.0000);
	CreateObject(1655, 1487.432617, -2498.557129, 13.554804, 0.0000, 0.0000, 90.0000);
	CreateObject(1655, 1487.457153, -2489.905762, 13.529804, 0.0000, 0.0000, 90.0000);
	CreateObject(1655, 1487.603760, -2481.292236, 13.479805, 0.0000, 0.0000, 90.0000);
	CreateObject(13641, 1456.098145, -2506.801758, 17.073912, 0.0000, 0.0000, 0.0001);
	CreateObject(13641, 1456.024292, -2493.690186, 17.523932, 0.0000, 0.0000, 1.7189);
	CreateObject(13641, 1455.849609, -2480.439209, 17.373907, 0.0000, 0.0000, 358.2812);
	CreateObject(3441, 1452.589355, -2504.430420, 13.430378, 0.0000, 0.0000, 0.0000);
	CreateObject(3441, 1452.634399, -2509.336426, 13.355379, 0.0000, 0.0000, 0.0000);
	CreateObject(3441, 1452.641235, -2496.335938, 13.805372, 0.0000, 0.0000, 0.0000);
	CreateObject(3441, 1452.440796, -2491.784424, 13.880371, 0.0000, 0.0000, 0.0000);
	CreateObject(3441, 1452.276367, -2482.668457, 13.680374, 0.0000, 0.0000, 0.0000);
	CreateObject(3441, 1452.268555, -2478.536377, 13.680374, 0.0000, 0.0000, 0.0000);
	CreateObject(13666, 1469.752808, -2556.886963, 36.323586, 5.1566, 72.1927, 11.2500);
	CreateObject(4601, 1990.335083, -2675.589600, 40.850998, 0.0000, 0.0000, 90.0000);
	CreateObject(1634, 1993.519165, -2632.920410, 12.844200, 352.2651, 0.0000, 180.0000);
	CreateObject(1634, 1993.523315, -2640.479004, 16.030634, 3.4377, 0.0000, 180.0000);
	CreateObject(1634, 1993.531982, -2647.305908, 20.682133, 14.6104, 0.0000, 180.0000);
	CreateObject(1634, 1993.509644, -2653.568359, 26.692684, 23.2048, 0.0000, 180.0000);
	CreateObject(1634, 1993.489136, -2659.175781, 33.316109, 26.6425, 0.0000, 180.0000);
	CreateObject(1634, 1985.889771, -2664.691162, 37.065815, 27.5020, 0.0000, 180.0000);
	CreateObject(1634, 1985.878784, -2669.246094, 43.848473, 35.2369, 0.0000, 180.0000);
	CreateObject(1634, 2071.632813, -2668.625488, 13.747316, 5.1566, 0.0000, 90.0001);
	CreateObject(1634, 2070.944824, -2683.172852, 13.679409, 4.2972, 0.0000, 90.0001);
	CreateObject(1634, 2009.231812, -2670.028076, 10.697830, 7.7349, 0.0000, 270.0000);
	CreateObject(1634, 2005.718994, -2684.639404, 10.481146, 9.4538, 0.0000, 270.0000);
	CreateObject(4856, 2043.028687, -2661.984375, 47.244705, 0.0000, 0.0000, 0.0001);
	CreateObject(13645, 2064.891602, -2581.760254, 40.452820, 0.0000, 0.0000, 348.7501);
	CreateObject(13645, 2068.787598, -2582.020508, 40.302319, 0.0000, 0.0000, 348.7501);
	CreateObject(13645, 2073.475342, -2581.562012, 40.263542, 0.0000, 0.0000, 356.4850);
	CreateObject(13645, 2077.721924, -2582.017334, 40.474545, 0.0000, 0.0000, 352.1878);
	CreateObject(3524, 1542.322998, -2459.323730, 15.440027, 0.0000, 0.0000, 135.0000);
	CreateObject(3524, 1547.421143, -2463.707031, 15.440027, 0.0000, 0.0000, 135.0000);
	CreateObject(3528, 1542.314697, -2459.541504, 16.854574, 0.0000, 0.0000, 8.7490);
	CreateObject(3528, 1547.644409, -2463.684082, 16.964241, 0.0000, 0.0000, 79.4548);
	CreateObject(17672, 1908.913330, -2409.566650, 46.149235, 359.1406, 12.0321, 258.7500);
	CreateObject(17672, 1918.858032, -2289.497559, 120.178215, 359.1406, 18.9076, 258.7500);
	CreateObject(17672, 1929.266235, -2166.557861, 194.183243, 359.1406, 11.1727, 258.7500);
	CreateObject(17672, 1940.235596, -2039.009888, 259.838409, 359.1406, 11.1727, 258.7500);
	CreateObject(8171, 1952.189087, -1939.499390, 12.548797, 0.0000, 0.0000, 306.4056);
	CreateObject(8171, 1968.758057, -1773.339478, 292.339844, 0.0000, 0.0000, 0.0000);
	CreateObject(8171, 1951.197510, -1642.586426, 292.316772, 0.0000, 0.0000, 14.6104);
	CreateObject(8171, 1898.202759, -1525.313599, 292.293701, 0.0000, 0.0000, 34.3775);
	CreateObject(8171, 1813.534790, -1425.093506, 292.270630, 0.0000, 0.0000, 46.4095);
	CreateObject(8171, 1712.838501, -1332.312866, 289.372528, 357.4217, 0.0000, 48.1284);
	CreateObject(8171, 1621.617432, -1265.735229, 282.331177, 354.8434, 0.8594, 59.3784);
	CreateObject(1225, 1956.836304, -1975.999634, 292.795563, 0.0000, 0.0000, 0.0000);
	CreateObject(1225, 1959.807495, -1976.058838, 292.795563, 0.0000, 0.0000, 0.0000);
	CreateObject(1225, 1962.813477, -1976.621704, 292.795563, 0.0000, 0.0000, 0.0000);
	CreateObject(1225, 1966.617554, -1977.132568, 292.795563, 0.0000, 0.0000, 0.0000);
	CreateObject(1225, 1936.318115, -1972.648071, 292.795563, 0.0000, 0.0000, 0.0000);
	CreateObject(1225, 1931.710083, -1971.835083, 292.795563, 0.0000, 0.0000, 0.0000);
	CreateObject(1225, 1934.223389, -1972.104370, 292.795563, 0.0000, 0.0000, 0.0000);
	CreateObject(1225, 1958.270386, -1976.053101, 292.795563, 0.0000, 0.0000, 0.0000);
	CreateObject(1225, 1964.685913, -1976.609253, 292.795563, 0.0000, 0.0000, 0.0000);
	CreateObject(1225, 1954.623779, -1976.113037, 292.795563, 0.0000, 0.0000, 0.0000);
	CreateObject(3447, 1937.612305, -1971.808472, 299.914917, 0.0000, 0.0000, 348.7500);
	CreateObject(3447, 1956.449951, -1975.208740, 299.887909, 0.0000, 0.0000, 348.7500);
	CreateObject(3447, 1963.392944, -1975.984863, 299.887909, 0.0000, 0.0000, 348.7500);
	CreateObject(8171, 1957.250732, -1907.431519, 292.416809, 0.0000, 0.0000, 351.4056);
	CreateObject(3447, 1930.704102, -1971.535645, 299.914917, 0.0000, 0.0000, 348.7500);
//------------------------------------------------------------------------------
/*******************************************************************************
*******************************************************************************/
	return 1;
}

public OnGameModeExit()
{
/*******************************************************************************
								Admin Script
*******************************************************************************/
	KillTimer(PingTimer);
	if(InvisTimer) KillTimer(InvisTimer);
	KillTimer(GodTimer);
	DestroyMenu(LVehicles); DestroyMenu(twodoor); DestroyMenu(fourdoor); DestroyMenu(fastcar); DestroyMenu(Othercars);
	DestroyMenu(bikes); DestroyMenu(boats); DestroyMenu(planes); DestroyMenu(helicopters ); DestroyMenu(LTime);
	DestroyMenu(XWeapons); DestroyMenu(XWeaponsBig); DestroyMenu(XWeaponsSmall); DestroyMenu(XWeaponsMore);
	DestroyMenu(LWeather); DestroyMenu(LTuneMenu); DestroyMenu(PaintMenu); DestroyMenu(LCars); DestroyMenu(LCars2);
	DestroyMenu(LTele); DestroyMenu(LasVenturasMenu); DestroyMenu(LosSantosMenu); DestroyMenu(SanFierroMenu);
	DestroyMenu(LMainMenu); DestroyMenu(DesertMenu); DestroyMenu(FlintMenu); DestroyMenu(MountChiliadMenu); DestroyMenu(InteriorsMenu);
	DestroyMenu(AdminEnable); DestroyMenu(AdminDisable);
	print("\n__________________________________________\n");
	print("=    LAdmin FS by LethaL Unloaded    =\n");
	print("__________________________________________\n");
/*******************************************************************************
*******************************************************************************/
/*******************************************************************************
						Stones
*******************************************************************************/
    new i=0;
	while (i < GetMaxPlayers())
	{
	    if (P_GRAVESTONES[i][GraveStoneID] != -1 && IsPlayerConnected(i))
	    {
 			DestroyObject(P_GRAVESTONES[i][GraveStoneID]);
        	DestroyPickup(P_GRAVESTONES[i][GraveStonePickID]);
        }
    	i++;
	}
/*******************************************************************************
*******************************************************************************/
	print("Exiting Done!");
	return 1;
}

public OnPlayerRequestClass(playerid, classid)
{
	SetPlayerPos(playerid, 2229.6035,-1159.2388,25.8098);
	SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
	SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
	return 1;
}

public OnPlayerRequestSpawn(playerid)
{
	return 1;
}

public OnPlayerConnect(playerid)
{
/*******************************************************************************
								Admin Script
*******************************************************************************/
	new PlayerName[30], string[256], file[256];
	GetPlayerName(playerid, PlayerName, 30);
	//-----------------------------------------
	if(ServerInfo[Locked] == 1) {
		SendClientMessage(playerid,red,"! Server Locked !");
		SendClientMessage(playerid,grey,"You Have Been Kicked By System. Reason: Server Locked");
		format(string,sizeof(string),"%s ID:%d has Been Kicked By System. Reason: Server Locked",PlayerName,playerid);
		SaveToFile("KickLog",string);  Kick(playerid);
		SendClientMessageToAll(grey, string); print(string);
		return 1;
	}
	//-----------------------------------------
	PlayerInfo[playerid][Deaths] = 0;
	PlayerInfo[playerid][Kills] = 0;
	PlayerInfo[playerid][Jailed] = 0;
	PlayerInfo[playerid][Level] = 0;
	PlayerInfo[playerid][LoggedIn] = 0;
	PlayerInfo[playerid][Registered] = 0;
	PlayerInfo[playerid][God] = 0;
	PlayerInfo[playerid][TimesSpawned] = 0;
	PlayerInfo[playerid][Muted] = 0;
	PlayerInfo[playerid][Caps] = 0;
	PlayerInfo[playerid][Invis] = 0;
	PlayerInfo[playerid][DoorsLocked] = 0;
	PlayerInfo[playerid][AllowPing] = 0;
	//-----------[ Name Kick ]-----------------
	if(ServerInfo[NameKick] == 1) {
		for(new s = 0; s < BadNameCount; s++)    {
			new pos;
			while((pos = strfind(PlayerName,BadNames[s],true)) != -1) for(new i = pos, j = pos + strlen(BadNames[s]); i < j; i++)
			{
			SendClientMessage(playerid,red, "Your Name Is On Our Black List! You Have been kicked");
			format(string,sizeof(string),"%s ID:%d Was Kicked By System. Reason: Forbidden Name",PlayerName,playerid);
			SendClientMessageToAll(grey, string);  print(string);
			SaveToFile("KickLog",string);  Kick(playerid);
			return 1;
			}
		}
	}
	//-----------------------------------------
	if(ServerInfo[AntiBot] == 1) SetTimerEx("BotCheck",9000,0,"i",playerid);
	//-----------------------------------------
	format(string,256,"*** %s has joined the server.",PlayerName);
	for(new i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i) && playerid != i) SendClientMessage(i,grey,string);
	//-----------------------------------------

	if(!udb_Exists(PlayerName2(playerid)))
	{
		SendClientMessage(playerid,orange, "ACCOUNT: Type /register [password] to create an account");
	}
	else
	{
		format(file,256,"/ladmin/users/%s.sav",udb_encode(PlayerName));
		new tmp[50],tmp2[256]; GetPlayerIp(playerid,tmp,50); tmp2 = dini_Get(file,"ip");
		if(!strcmp(tmp,tmp2,true))
		{
			SendClientMessage(playerid, green, "ACCOUNT: You have been automatically logged in");
	        GivePlayerMoney(playerid,dUserINT(PlayerName2(playerid)).("money")-GetPlayerMoney(playerid));
		    PlayerInfo[playerid][Deaths] = (dUserINT(PlayerName2(playerid)).("deaths"));
	        PlayerInfo[playerid][Kills] = (dUserINT(PlayerName2(playerid)).("kills"));
	        PlayerInfo[playerid][Level] = (dUserINT(PlayerName2(playerid)).("level"));
	        PlayerInfo[playerid][Registered] = 1;
    	    PlayerInfo[playerid][LoggedIn] = 1;
		}
	    else
	    {
			SendClientMessage(playerid, green, "ACCOUNT: This nickname is registed!  You can now login by typing /login <password>");
	    }
	}
/*******************************************************************************
*******************************************************************************/
	players++;
 	if(settimer!=1)
	{
		SetTimer("constTimer", 1000,1);
	    settimer=1;
	}
	return 1;
}
/*******************************************************************************
								Admin Script
*******************************************************************************/
//=========================[PlayerName2]========================================
	stock PlayerName2(playerid) {
	new name[255];
  	GetPlayerName(playerid, name, 255);
  	return name;
}
//====================== [REGISTER  &  LOGIN] ==================================
	dcmd_register(playerid,params[]) {

    if (PlayerInfo[playerid][LoggedIn] == 1) return SendClientMessage(playerid,red,"ACCOUNT: You are already registered and logged in.");
    if (udb_Exists(PlayerName2(playerid))) return SendClientMessage(playerid,red,"ACCOUNT: This account already exists, please use '/login password'.");
    if (strlen(params)==0) return SendClientMessage(playerid,red,"ACCOUNT: Correct usage: '/register password'");
    if (strlen(params)<4) return SendClientMessage(playerid,red,"ACCOUNT: Password length must be greater than three characters");
    if (udb_Create(PlayerName2(playerid),params))
	{

    	new file[256],name[24], tmp3[100];
    	new strdate[20], year,month,day;	getdate(year, month, day);
		GetPlayerName(playerid,name,24); format(file,256,"/ladmin/users/%s.sav",udb_encode(name));
     	GetPlayerIp(playerid,tmp3,100);	dini_Set(file,"ip",tmp3);
    	dini_Set(file,"password",params);
	    dUserSetINT(PlayerName2(playerid)).("registered",1);
   		format(strdate, sizeof(strdate), "%d/%d/%d",day,month,year);
		dini_Set(file,"RegisteredDate",strdate);
		dUserSetINT(PlayerName2(playerid)).("level",0);
	    dUserSetINT(PlayerName2(playerid)).("LastOn",0);
	    PlayerInfo[playerid][LoggedIn] = 1;
	    PlayerInfo[playerid][Registered] = 1;
	    SendClientMessage(playerid, green, "ACCOUNT: You have been automaticaly logged in");
		PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
    	if(PlayerInfo[playerid][Spawned] == 1) TogglePlayerControllable(playerid,true);
		return 1;
	}
    return true;
}
//==============================================================================
	dcmd_login(playerid,params[]) {

    if (PlayerInfo[playerid][LoggedIn] == 1) return SendClientMessage(playerid,red,"ACCOUNT: You are already logged in.");
    if (!udb_Exists(PlayerName2(playerid))) return SendClientMessage(playerid,red,"ACCOUNT: Account doesn't exist, please use '/register password'.");
    if (strlen(params)==0) return SendClientMessage(playerid,red,"ACCOUNT: Correct usage: '/login password'");
    if (udb_CheckLogin(PlayerName2(playerid),params))
	{

       GivePlayerMoney(playerid,dUserINT(PlayerName2(playerid)).("money")-GetPlayerMoney(playerid));
       PlayerInfo[playerid][Deaths] = (dUserINT(PlayerName2(playerid)).("deaths"));
       PlayerInfo[playerid][Kills] = (dUserINT(PlayerName2(playerid)).("kills"));
       PlayerInfo[playerid][Level] = (dUserINT(PlayerName2(playerid)).("level"));
       PlayerInfo[playerid][LoggedIn] = 1;
	   PlayerInfo[playerid][Registered] = 1;

	   new file[256],name[24]; GetPlayerName(playerid,name,24); format(file,256,"/ladmin/users/%s.sav",udb_encode(name));
       new tmp3[100]; GetPlayerIp(playerid,tmp3,100);	dini_Set(file,"ip",tmp3);

       if(PlayerInfo[playerid][Spawned] == 1) TogglePlayerControllable(playerid,true);

	   PlayerPlaySound(playerid,1057,0.0,0.0,0.0);

       return SendClientMessage(playerid,green,"ACCOUNT: Successfully Logged In");
    }
    return SendClientMessage(playerid,red,"ACCOUNT: Login failed! Incorrect Password");
}
/*******************************************************************************
*******************************************************************************/

public OnPlayerDisconnect(playerid, reason)
{
/*******************************************************************************
						    Admin Script
*******************************************************************************/
		new PlayerName[30], str[256];
		GetPlayerName(playerid, PlayerName, 30);

		switch (reason)
		{
 		case 0:	{ format(str, 256, "***%s has left the server (Timeout)", PlayerName);	SendClientMessageToAll(COLOR_GRAD1, str);	}
		case 1:	{ format(str, 256, "***%s has left the server (Leaving)", PlayerName);	SendClientMessageToAll(COLOR_GRAD1, str);	}
		case 2:	{ format(str, 256, "***%s has left the server (Kicked)", PlayerName);	SendClientMessageToAll(COLOR_GRAD1, str);	}
		}

		if (PlayerInfo[playerid][LoggedIn] == 1)
		{
	    	dUserSetINT(PlayerName2(playerid)).("money",GetPlayerMoney(playerid));
	    	dUserSetINT(PlayerName2(playerid)).("kills",PlayerInfo[playerid][Kills]);
		   	dUserSetINT(PlayerName2(playerid)).("deaths",PlayerInfo[playerid][Deaths]);
	/*     	new Float:x,Float:y,Float:z, interior;
	    	GetPlayerPos(playerid,x,y,z);	interior = GetPlayerInterior(playerid);
		    dUserSetINT(PlayerName2(playerid)).("x1",floatround(x));
			dUserSetINT(PlayerName2(playerid)).("y1",floatround(y));
			dUserSetINT(PlayerName2(playerid)).("z1",floatround(z));
	        dUserSetINT(PlayerName2(playerid)).("interior1",interior);
	*/		//weapons
	 		new weap1, ammo1, weap2, ammo2, weap3, ammo3, weap4, ammo4, weap5, ammo5, weap6, ammo6;
			GetPlayerWeaponData(playerid,2,weap1,ammo1);// hand gun
			GetPlayerWeaponData(playerid,3,weap2,ammo2);//shotgun
			GetPlayerWeaponData(playerid,4,weap3,ammo3);// SMG
			GetPlayerWeaponData(playerid,5,weap4,ammo4);// AK47 / M4
			GetPlayerWeaponData(playerid,6,weap5,ammo5);// rifle
			GetPlayerWeaponData(playerid,7,weap6,ammo6);// rocket launcher
		   	dUserSetINT(PlayerName2(playerid)).("weap1",weap1); dUserSetINT(PlayerName2(playerid)).("weap1ammo",ammo1);
	   		dUserSetINT(PlayerName2(playerid)).("weap2",weap2);	dUserSetINT(PlayerName2(playerid)).("weap2ammo",ammo2);
 	   		dUserSetINT(PlayerName2(playerid)).("weap3",weap3);	dUserSetINT(PlayerName2(playerid)).("weap3ammo",ammo3);
   			dUserSetINT(PlayerName2(playerid)).("weap4",weap4); dUserSetINT(PlayerName2(playerid)).("weap4ammo",ammo4);
	   		dUserSetINT(PlayerName2(playerid)).("weap5",weap5);	dUserSetINT(PlayerName2(playerid)).("weap5ammo",ammo5);
   			dUserSetINT(PlayerName2(playerid)).("weap6",weap6); dUserSetINT(PlayerName2(playerid)).("weap6ammo",ammo6);

			new	Float:health;	GetPlayerHealth(playerid, Float:health);
			new	Float:armour;	GetPlayerArmour(playerid, Float:armour);
			new year,month,day;	getdate(year, month, day);
			new strdate[20];	format(strdate, sizeof(strdate), "%d.%d.%d",day,month,year);
			new file[256]; format(file,256,"/ladmin/users/%s.sav",udb_encode(PlayerName));

			dUserSetINT(PlayerName2(playerid)).("health",floatround(health));
	        dUserSetINT(PlayerName2(playerid)).("armour",floatround(armour));
			dini_Set(file,"LastOn",strdate);
			dUserSetINT(PlayerName2(playerid)).("TimesOnServer",(dUserINT(PlayerName2(playerid)).("TimesOnServer"))+1);
		}
	  	PlayerInfo[playerid][LoggedIn] = 0;
  		PlayerInfo[playerid][AllowPing] = 0;
  		PlayerInfo[playerid][Level] = 0;
//spec--------------
		for(new x=0; x<MAX_PLAYERS; x++) {
		    if(GetPlayerState(x) == PLAYER_STATE_SPECTATING && gSpectateID[x] == playerid) {
	       	AdvanceSpectate(x);
			}
		}
/*******************************************************************************
*******************************************************************************/
/*******************************************************************************
						Stones
*******************************************************************************/
		if (P_GRAVESTONES[playerid][GraveStoneID] != -1)
    	{
			DestroyObject(P_GRAVESTONES[playerid][GraveStoneID]);
			P_GRAVESTONES[playerid][GraveStoneID]=-1;
			DestroyPickup(P_GRAVESTONES[playerid][GraveStonePickID]);
			P_GRAVESTONES[playerid][GraveStonePickID]=-1;
		}
/*******************************************************************************
*******************************************************************************/
/*******************************************************************************
								PoD
*******************************************************************************/
		players--;
		Voted[playerid] = 0;
		KickTimer[playerid] = 0;
/*******************************************************************************
*******************************************************************************/
    	return 1;
}

public OnPlayerSpawn(playerid)
{
/*******************************************************************************
									Admin Script
*******************************************************************************/
    PlayerInfo[playerid][Spawned] = 1;

	if(PlayerInfo[playerid][Frozen] == 1)
	{
		TogglePlayerControllable(playerid,false); SendClientMessage(playerid,red,"You Are Still Frozen");
	}

	if(PlayerInfo[playerid][Jailed] == 1)
	{
		SetTimerEx("JailPlayerAfterDeath",1500,0,"d",playerid); TogglePlayerControllable(playerid,false);
		SendClientMessage(playerid,red,"You Are Still In Jail");
	}

	if(ServerInfo[AdminOnlySkins] == 1) {
		if((GetPlayerSkin(playerid) == ServerInfo[AdminSkin])) {
			if(PlayerInfo[playerid][Level] >= 1)   {
				GameTextForPlayer(playerid,"~b~Welcome~n~~w~Admin",3000,1);
			} else {
				GameTextForPlayer(playerid,"~r~This Skin Is For~n~Administrators~n~Only",4000,1);
				ForceClassSelection(playerid);	SetPlayerHealth(playerid,0.0);		}
		}
	}

	if((dUserINT(PlayerName2(playerid)).("UseSkin")) == 1)
	{
		if((PlayerInfo[playerid][Level] >= 1) && (PlayerInfo[playerid][LoggedIn] == 1))  {
    	SetPlayerSkin(playerid,(dUserINT(PlayerName2(playerid)).("FavSkin")) );		}
	}

	if(PlayerInfo[playerid][LoggedIn] == 1)
	{
		PlayerInfo[playerid][TimesSpawned]++;
		if(PlayerInfo[playerid][TimesSpawned] == 1)
		{
		GivePlayerWeapon(playerid, dUserINT(PlayerName2(playerid)).("weap1"), dUserINT(PlayerName2(playerid)).("weap1ammo")	);
		GivePlayerWeapon(playerid, dUserINT(PlayerName2(playerid)).("weap2"), dUserINT(PlayerName2(playerid)).("weap2ammo")	);
		GivePlayerWeapon(playerid, dUserINT(PlayerName2(playerid)).("weap3"), dUserINT(PlayerName2(playerid)).("weap3ammo")	);
		GivePlayerWeapon(playerid, dUserINT(PlayerName2(playerid)).("weap4"), dUserINT(PlayerName2(playerid)).("weap4ammo")	);
		GivePlayerWeapon(playerid, dUserINT(PlayerName2(playerid)).("weap5"), dUserINT(PlayerName2(playerid)).("weap5ammo")	);
		GivePlayerWeapon(playerid, dUserINT(PlayerName2(playerid)).("weap6"), dUserINT(PlayerName2(playerid)).("weap6ammo")	);
		}
	}
/*******************************************************************************
*******************************************************************************/
	return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{
/*******************************************************************************
								Admin Script
*******************************************************************************/
    if(InDuel[playerid] == 1)   {
	GameTextForPlayer(killerid,"Winner !",3000,3);  SpawnPlayer(killerid);
	GameTextForPlayer(playerid,"Loser !",3000,3);
	for(new i = 0; i < MAX_PLAYERS; i++) {
	InDuel[playerid] = 0;	}
	}
//------
	for(new x=0; x<MAX_PLAYERS; x++) {
	    if(GetPlayerState(x) == PLAYER_STATE_SPECTATING && gSpectateID[x] == playerid) {
	       AdvanceSpectate(x);
		}
	}
//------
    PlayerInfo[playerid][Deaths]++;
	PlayerInfo[killerid][Kills]++;
/*******************************************************************************
						Stones
*******************************************************************************/
    if (P_GRAVESTONES[playerid][GraveStoneID] != -1)
    {
		DestroyObject(P_GRAVESTONES[playerid][GraveStoneID]);
		DestroyPickup(P_GRAVESTONES[playerid][GraveStonePickID]);
	}
	new Float:fx,Float:fy,Float:fz,Float:fa;
	GetPlayerPos(playerid,fx,fy,fz);
	GetPlayerFacingAngle(playerid,fa);
	P_GRAVESTONES[playerid][GraveStoneID]=CreateObject(2896,fx,fy,fz-0.5,0,0,fa+90);
	P_GRAVESTONES[playerid][GraveStonePickID]=CreatePickup(1254,2,fx,fy,fz+0.3);
	format(P_GRAVESTONES[playerid][GraveStoneName],MAX_PLAYER_NAME+19,"~p~Here lays:~n~~r~%s",GetSpecName(playerid));
/*******************************************************************************
*******************************************************************************/
	return 1;
}

public OnVehicleSpawn(vehicleid)
{
	return 1;
}

public OnVehicleDeath(vehicleid, killerid)
{
	return 1;
}

public OnPlayerText(playerid, text[])
{
/*******************************************************************************
								Admin Script
*******************************************************************************/
    if(text[0] == '#' && PlayerInfo[playerid][Level] >= 1) {
	    new string[256],name[24]; GetPlayerName(playerid,name,24);
		format(string,256,"Admin Chat: %s says: %s",name,text[1]); MessageToAdmins(green,string);
	    return 0;	}

 	if(PlayerInfo[playerid][Muted] == 1)
	{
 		PlayerInfo[playerid][MuteWarnings]++;
		if(PlayerInfo[playerid][MuteWarnings] < 5) {
		SendClientMessage(playerid,red,"WARNING: You are muted, if you continue to speak you will be kicked");
		} else {
		SendClientMessage(playerid,red,"You have been warned ! Now you have been kicked");
		new string[100], playername[MAX_PLAYER_NAME]; GetPlayerName(playerid, playername, sizeof(playername));
		format(string, sizeof(string),"%s [ID %d ] Kicked For exceeding Mute warnings", playername,playerid);
		SendClientMessageToAll(grey,string);
		SaveToFile("KickLog",string); Kick(playerid); }
		return 0;
	}
	if(ServerInfo[AntiSpam] == 1 && IsPlayerLAdmin(playerid) != 1)
	{
		if(PlayerInfo[playerid][Spam] == 1) {
			SendClientMessage(playerid,red,"[AntiSpam] Only 1 message in 5 secs !!!");
			return 0;
		} else {
			PlayerInfo[playerid][Spam] = 1;
			SetTimerEx("spam",5000,0,"i",playerid);
		}
	}
	if(ServerInfo[AntiSwear] == 1 && IsPlayerLAdmin(playerid) != 1)
	for(new s = 0; s < ForbiddenWordCount; s++)
    {
		new pos;
		while((pos = strfind(text,ForbiddenWords[s],true)) != -1) for(new i = pos, j = pos + strlen(ForbiddenWords[s]); i < j; i++) text[i] = '*';
	}
	if(PlayerInfo[playerid][Caps] == 1) UpperToLower(text);
	if(ServerInfo[NoCaps] == 1) UpperToLower(text);
/*******************************************************************************
*******************************************************************************/
	return 1;
}

public OnPlayerPrivmsg(playerid, recieverid, text[])
{
/*******************************************************************************
								Admin Script
*******************************************************************************/
    if(ServerInfo[ReadPMs] == 1 && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
	{
    	new string[64],playername[MAX_PLAYER_NAME],recievername[MAX_PLAYER_NAME];
		GetPlayerName(playerid, playername, sizeof(playername));
		GetPlayerName(recieverid, recievername, sizeof(recievername));
		format(string, sizeof(string), "***PM: %s To %s: %s", playername,recievername, text);
		for (new a = 0; a < MAX_PLAYERS; a++)
		if (IsPlayerConnected(a) && (PlayerInfo[a][Level] >= 1) && a != playerid)
		SendClientMessage(a, COLOR_GREY, string);
	}

 	if(PlayerInfo[playerid][Muted] == 1)
	{
 		PlayerInfo[playerid][MuteWarnings]++;
		if(PlayerInfo[playerid][MuteWarnings] < 5) {
		SendClientMessage(playerid,red,"WARNING: You are muted, if you continue to speak you will be kicked");
		} else {
		SendClientMessage(playerid,red,"You have been warned ! Now you have been kicked");
		new string[100], playername[MAX_PLAYER_NAME]; GetPlayerName(playerid, playername, sizeof(playername));
		format(string, sizeof(string),"%s [ID %d ] Kicked For exceeding Mute warnings", playername,playerid);
		SendClientMessageToAll(grey,string);
		SaveToFile("KickLog",string); Kick(playerid); }
		return 0;
	}
/*******************************************************************************
*******************************************************************************/
	return 1;
}

public OnPlayerCommandText(playerid, cmdtext[])
{
/*******************************************************************************
								Admin Script
*******************************************************************************/
	new cmd[256], string[256], idx;
	new adminname[MAX_PLAYER_NAME], playername[MAX_PLAYER_NAME];
	cmd = strtok(cmdtext, idx);

	dcmd(login,5,cmdtext);
  	dcmd(register,8,cmdtext);
	dcmd(setgravity,10,cmdtext);
    dcmd(adminarea,9,cmdtext);
 	dcmd(lcredits,8,cmdtext);
 	dcmd(serverinfo,10,cmdtext);
    dcmd(lmenu,5,cmdtext);
    dcmd(ltele,5,cmdtext);
    dcmd(lvehicle,8,cmdtext);
    dcmd(lweapons,8,cmdtext);
    dcmd(lweather,8,cmdtext);
    dcmd(ltmenu,6,cmdtext);
    dcmd(ltime,5,cmdtext);
    dcmd(announce,8,cmdtext);
    dcmd(cm,2,cmdtext);

    //================ [ Read Comamands ] ===========================//
	new money = GetPlayerMoney(playerid);

	if(ServerInfo[ReadCmds] == 1 && PlayerInfo[playerid][Level] == 0)
	{
	GetPlayerName(playerid, playername, sizeof(playername));
	format(string, sizeof(string), "***%s (%d) typed: %s", playername,playerid,cmdtext);
	for(new i = 0; i < MAX_PLAYERS; i++)
	if(IsPlayerConnected(i) && PlayerInfo[i][Level] && i != playerid)
	SendClientMessage(i, grey, string);
	}

 	if(strcmp(cmd, "/kill", true) == 0) return 	SetPlayerHealth(playerid,0.0)&&ResetPlayerMoney(playerid);GivePlayerMoney(playerid, money - 1000);

 	if(strcmp(cmd, "/help", true) == 0)
	{
		if(PlayerInfo[playerid][LoggedIn] && PlayerInfo[playerid][Level] >= 1)	{
		SendClientMessage(playerid,blue,"==========================================================================================");
		SendClientMessage(playerid,blue,"For admin commands type:  /lcommands   |   Credits: /lcredits");
		SendClientMessage(playerid,blue, "Account commands are: /stats, /changepass, /resetstats.    Also  /time, /report");
		SendClientMessage(playerid,blue,"There are 5 levels. Level 1 = Member | Level 2, 3 & 4 = Main Admins | Level 5 = Sever Owner");
		SendClientMessage(playerid,blue,"Remember the level 5 admins are immune from commands");
		SendClientMessage(playerid,blue,"==========================================================================================");
		} else  {
		SendClientMessage(playerid,blue,"==========================================================================================");
	 	SendClientMessage(playerid,green, "Your commands are: /report, /stats, /time, /changepass, /resetstats, /getid");
	 	SendClientMessage(playerid,blue,"=========================================================================================="); }
		return 1;
	}

//========================= [ The Commands ] ===================================

 	if(strcmp(cmd, "/lcommands", true) == 0)   {
	if(PlayerInfo[playerid][LoggedIn] && PlayerInfo[playerid][Level] == 1)	{
	SendClientMessage(playerid,blue,"Your Member Commands");
	SendClientMessage(playerid,green,"(1) FLIP, FIX, REPAIR, LP, CARCOLOUR, LTUNE, SETMYTIME, TIME, GETID, LINKCAR, LNOS, LHY"); }

	if(PlayerInfo[playerid][Level] > 1) {
	SendClientMessage(playerid,blue,"Your Admin Commands");
	SendClientMessage(playerid,green,"(1) FLIP, FIX, REPAIR, LP, CARCOLOUR, LTUNE, SETMYTIME, TIME, GETID, LINKCAR, LNOS, LHY");

	SendClientMessage(playerid,COLOR_GREEN,"(2) ANNOUNCE, (UN) LOCKCAR, DISARM, GOTO, ADMINAREA, LCAR, LBIKE, LTC, CM (giveme), LSLOWMO, LJETPACK");
	SendClientMessage(playerid,green,"(2) SLAP, SPEC (OFF), BURN, WARN, MUTE, UNMUTE, GIVEWEAPON, SPAWN, GETINFO, LASTON, WRITE, CLEARCHAT, ASAY");
    SendClientMessage(playerid,COLOR_GREEN,"(2) SETCASH, SETSKIN, SETCOLOUR, SETWANTED, LMENU, LTELE, LVEHICLE, SETINTERIOR, LWEAPONS, LTUNEMENU");
    }
	if(PlayerInfo[playerid][Level] > 2) {
	SendClientMessage(playerid,green,"(3) KICK, EXPLODE,  EJECT, LJAIL, LUNJAIL, FREEZE, UNFREEZE, LADMIN, LWEAPS, LAMMO, KICKBOTS");
    SendClientMessage(playerid,COLOR_GREEN,"(3)DUEL, COUNTDOWN, GETHERE, TELEPLAYER, CAR, CARHEALTH, DESTROY, LTIME, LWEATHER, CAPS");
    SendClientMessage(playerid,green,"(3) SETHEALTH, SETARMOUR, SETGRAVITY, SETNAME, SETWEATHER, SETTIME, SETWORLD, HEALALL, ARMOURALL");
    SendClientMessage(playerid,COLOR_GREEN,"(3) SETALLWORLD, SETALLWEATHER, SETALLWANTED, SETALLTIME, GIVEALLWEAPON, SETALLSCORE, SETALLCASH, GIVEALLCASH");
	}
	if(PlayerInfo[playerid][Level] > 3) {
    SendClientMessage(playerid,green,"(4) BAN, SETPING, DISABLE, ENABLE, FORBID (NAME/WORD), SETTEMPLEVEL, CLEARALLCHAT, (UN) INVIS, UCONFIG");
    SendClientMessage(playerid,COLOR_GREEN,"(4) KILLALL, DISARMALL, KICKALL, EJECTALL, FREEZEALL, UNFREEZEALL, (UN) LOCKSERVER, GOD, DIE");
    SendClientMessage(playerid,green,"(4) FAKEDEATH, CRASH");
	}
	if(PlayerInfo[playerid][Level] > 4) {
    SendClientMessage(playerid,COLOR_GREEN,"(5) SETLEVEL, OBJECT, PICKUP, LOADFS, GMX, ");
    }

	if(IsPlayerAdmin(playerid)) SendClientMessage(playerid,blue,"(rcon) INFO, PM, ASAY");

	if(PlayerInfo[playerid][Level] < 1 ) {
	SendClientMessage(playerid,blue,"==========================================================================================");
 	SendClientMessage(playerid,green, "Your commands are: /report, /stats, /time, /changepass, /resetstats, /getid");
 	SendClientMessage(playerid,blue,"==========================================================================================");   }
 	if(PlayerInfo[playerid][Level] == 0 && IsPlayerAdmin(playerid)) {
 	SendClientMessage(playerid,green, "Your are rcon admin but not ladmin");   }
	return 1;	}

//------------------------------------------------------------------------------

	if(strcmp(cmd, "/ljetpack", true) == 0) {
	if(PlayerInfo[playerid][Level] >= 2) {
	new Float:x, Float:y, Float:z; GetPlayerPos(playerid, x, y, z); CreatePickup(370, 4, x, y, z);
	//SetPlayerSpecialAction(playerid, 2);
	CMDMessageToAdmins(playerid,"LJETPACK");
	} else {
	SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command"); }
	return 1; }
//------------------------------------------------------------------------------
	if(strcmp(cmd, "/lslowmo", true) == 0) {
	if(PlayerInfo[playerid][Level] >= 1) {
	new Float:x, Float:y, Float:z; GetPlayerPos(playerid, x, y, z); CreatePickup(1241, 4, x, y, z);
	CMDMessageToAdmins(playerid,"LSLOWMO");
	} else {
	SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command"); }
	return 1; }
//------------------------------------------------------------------------------
	if(strcmp(cmdtext,"/invis",true)==0)	{
	if(PlayerInfo[playerid][Level] >= 4) {
		if(IsPlayerInAnyVehicle(playerid)) {
			new LVehicleID = GetPlayerVehicleID(playerid);	new int1 = GetPlayerInterior(playerid);
			LinkVehicleToInterior(LVehicleID,int1 + 1);
			SendClientMessage(playerid,red,"[Cmd]: You Are Now Invisible"); PlayerInfo[playerid][Invis] = 1;
			CMDMessageToAdmins(playerid,"INVIS");
			if(! (InvisTimer) ) InvisTimer = SetTimer("HideNameTag",100,1);
		} else  {
			new Float:X,Float:Y,Float:Z,Float:Angle,LVehicleID;	GetPlayerPos(playerid,X,Y,Z); GetPlayerFacingAngle(playerid,Angle);
			new int1 = GetPlayerInterior(playerid);
		    LVehicleID = CreateVehicle(457,X,Y,Z,Angle,1,-1,-1);	PutPlayerInVehicle(playerid,LVehicleID,0); LinkVehicleToInterior(LVehicleID,int1 + 1);
			SendClientMessage(playerid,red,"[Cmd]: You Are Now Invisible"); PlayerInfo[playerid][Invis] = 1;
			CMDMessageToAdmins(playerid,"INVIS");
			if(! (InvisTimer) ) InvisTimer = SetTimer("HideNameTag",100,1); }
	} else	{
  	SendClientMessage(playerid,red,"ERROR: You need to be level 4 to use this command");   }
	return 1;	}
//------------------------------------------------------------------------------
	if(strcmp(cmdtext,"/uninvis",true)==0)	{
	if(PlayerInfo[playerid][Level] >= 4) {
		if(IsPlayerInAnyVehicle(playerid)) {
		new LVehicleID = GetPlayerVehicleID(playerid);	new int1 = GetPlayerInterior(playerid);	LinkVehicleToInterior(LVehicleID,int1);
		SendClientMessage(playerid,red,"[Cmd]: You Are Now Visible"); PlayerInfo[playerid][Invis] = 0;
		} else  {
		SendClientMessage(playerid,red,"[Cmd]: You Are Now Visible"); PlayerInfo[playerid][Invis] = 0;  }
	} else	{
  	SendClientMessage(playerid,red,"ERROR: You need to be level 4 to use this command");   }
	return 1;	}
//------------------------------------------------------------------------------
	if(strcmp(cmdtext,"/killinvis",true)==0)	{
	if(PlayerInfo[playerid][Level] >= 4) {
	if(InvisTimer) KillTimer(InvisTimer);
	PlayerPlaySound(playerid,1057,0.0,0.0,0.0);	CMDMessageToAdmins(playerid,"KILLINVIS");
	} else	{
  	SendClientMessage(playerid,red,"ERROR: You need to be level 4 to use this command");   }
	return 1;	}
//------------------------------------------------------------------------------
	if(strcmp(cmd, "/destroycar", true) == 0) if(PlayerInfo[playerid][Level] >= 3) return EraseVehicle(GetPlayerVehicleID(playerid));

//------------------- Set Server Variables -------------------------------------

	if(strcmp(cmd,"/setping",true)==0)	{
	if(PlayerInfo[playerid][Level] >= 3) {
	    new tmp[256], ping;
     	tmp = strtok(cmdtext, idx);
 		if(!strlen(tmp)) return	SendClientMessage(playerid, red, "USAGE: /setping [ping]   Set to 0 to disable");

		ping = strval(tmp);
		tmp = strtok(cmdtext, idx);

		ServerInfo[MaxPing] = ping;
		CMDMessageToAdmins(playerid,"SETPING");		GetPlayerName(playerid, adminname, sizeof(adminname));
		new file[256]; format(file,sizeof(file),"ladmin/config/Config.ini");
		for(new i = 0; i <= MAX_PLAYERS; i++) if(IsPlayerConnected(i)) PlayerPlaySound(i,1057,0.0,0.0,0.0);
		if(ping == 0) {
			dini_IntSet(file,"MaxPing",0);
			format(string,256,"Administrator %s has disabled maximum ping",adminname,ping);	SendClientMessageToAll(blue,string);
		} else {
			dini_IntSet(file,"MaxPing",ping);
			format(string,256,"Administrator %s has set the maximum ping to %d",adminname,ping);	SendClientMessageToAll(blue,string);
		}
	} else	{
  	SendClientMessage(playerid,red,"ERROR: You need to be level 3 to use this command");   }
	return 1;	}
//------------------------------------------------------------------------------
	if(strcmp(cmd,"/disable",true)==0)
	{
		if(PlayerInfo[playerid][Level] >= 4)
		{
			new tmp[256];	GetPlayerName(playerid, adminname, sizeof(adminname));
			tmp = strtok(cmdtext,idx);

			if(!strlen(tmp))	{
				SendClientMessage(playerid,red,"USAGE: /disable [antiswear / namekick / antispam / ping / readcmds / readpms /caps ]");	}
			else if(strcmp(tmp,"antiswear",true) == 0)	{
				ServerInfo[AntiSwear] = 0; format(string,256,"Administrator %s has disabled antiswear",adminname); SendClientMessageToAll(blue,string);	}
			else if(strcmp(tmp,"namekick",true) == 0)	{
				ServerInfo[NameKick] = 0; format(string,256,"Administrator %s has disabled namekick",adminname); SendClientMessageToAll(blue,string);	}
	 		else if(strcmp(tmp,"antispam",true) == 0)	{
				ServerInfo[AntiSpam] = 0; format(string,256,"Administrator %s has disabled antispam",adminname); SendClientMessageToAll(blue,string);	}
			else if(strcmp(tmp,"ping",true) == 0)	{
				ServerInfo[MaxPing] = 0; format(string,256,"Administrator %s has disabled ping kick",adminname); SendClientMessageToAll(blue,string);	}
			else if(strcmp(tmp,"readcmds",true) == 0)	{
				ServerInfo[ReadCmds] = 0; format(string,256,"Administrator %s has disabled reading commands",adminname); MessageToAdmins(blue,string);	}
			else if(strcmp(tmp,"readpms",true) == 0)	{
				ServerInfo[ReadPMs] = 0; format(string,256,"Administrator %s has disabled reading pms",adminname); MessageToAdmins(blue,string); }
  			else if(strcmp(tmp,"caps",true) == 0)	{
				ServerInfo[NoCaps] = 0; format(string,256,"Administrator %s has allowed captial letters in chat",adminname); SendClientMessageToAll(blue,string); }
			else	{
				SendClientMessage(playerid,red,"USAGE: /disable [antiswear / namekick / antispam / ping / readcmds / readpms /caps ]");	}
			return 1;
		}
		else
		{
		  	SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
	  	}
		return 1;
	}
//------------------------------------------------------------------------------
	if(strcmp(cmd,"/enable",true)==0)
	{
		if(PlayerInfo[playerid][Level] >= 4)
		{
			new tmp[256];	GetPlayerName(playerid, adminname, sizeof(adminname));
			tmp = strtok(cmdtext,idx);

			if(!strlen(tmp))	{
				SendClientMessage(playerid,red,"USAGE: /enable [antiswear / namekick / antispam / ping / readcmds / readpms /caps ]");	}
			else if(strcmp(tmp,"antiswear",true) == 0)	{
				ServerInfo[AntiSwear] = 1; format(string,256,"Administrator %s has enabled antiswear",adminname); SendClientMessageToAll(blue,string);	}
			else if(strcmp(tmp,"namekick",true) == 0)	{
				ServerInfo[NameKick] = 1; format(string,256,"Administrator %s has enabled namekick",adminname); SendClientMessageToAll(blue,string);	}
	 		else if(strcmp(tmp,"antispam",true) == 0)	{
				ServerInfo[AntiSpam] = 1; format(string,256,"Administrator %s has enabled antispam",adminname); SendClientMessageToAll(blue,string);	}
			else if(strcmp(tmp,"ping",true) == 0)	{
				ServerInfo[MaxPing] = 1; format(string,256,"Administrator %s has enabled ping kick",adminname); SendClientMessageToAll(blue,string);	}
			else if(strcmp(tmp,"readcmds",true) == 0)	{
				ServerInfo[ReadCmds] = 1; format(string,256,"Administrator %s has enabled reading commands",adminname); MessageToAdmins(blue,string);	}
			else if(strcmp(tmp,"readpms",true) == 0)	{
				ServerInfo[ReadPMs] = 1; format(string,256,"Administrator %s has enabled reading pms",adminname); MessageToAdmins(blue,string); }
			else if(strcmp(tmp,"caps",true) == 0)	{
				ServerInfo[NoCaps] = 1; format(string,256,"Administrator %s has prevented captial letters in chat",adminname); SendClientMessageToAll(blue,string); }
			else	{
				SendClientMessage(playerid,red,"USAGE: /enable [antiswear / namekick / antispam / ping / readcmds / readpms /caps ]");	}
			return 1;
		}
		else
		{
		  	SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
	  	}
		return 1;
	}
//------------------- Update Configuration -------------------------------------

	if(strcmp(cmd,"/uconfig",true)==0)	{
	if(PlayerInfo[playerid][Level] >= 4) {
		UpdateConfig();
		PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
		CMDMessageToAdmins(playerid,"UCONFIG");
	} else	{
  	SendClientMessage(playerid,red,"ERROR: You need to be level 4 to use this command");   }
	return 1;	}
//------------------------------------------------------------------------------
	if(strcmp(cmd,"/botcheck",true)==0)	{
	if(PlayerInfo[playerid][Level] >= 2) {
		for(new i=0; i<MAX_PLAYERS; i++) BotCheck(i);
		PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
		CMDMessageToAdmins(playerid,"BOTCHECK");
	} else	{
  	SendClientMessage(playerid,red,"ERROR: You need to be level 2 to use this command");   }
	return 1;	}
//-------------------Add To List------------------------------------------------
	if(strcmp(cmd,"/forbidname",true)==0)	{
	if(PlayerInfo[playerid][Level] >= 4) {
		new tmp[256];
		tmp = strtok(cmdtext, idx);

		if(!strlen(tmp)) {
		SendClientMessage(playerid, red, "USAGE: /forbidname [name]");
		return SendClientMessage(playerid, red, "CMD: This command prevents a player with this name from joining the server"); }

		GetPlayerName(playerid, adminname, sizeof(adminname));
		new File:BLfile;
		BLfile = fopen("ladmin/config/ForbiddenNames.cfg",io_append);
		format(string,sizeof(string),"%s\r\n",cmdtext[12]);
		fwrite(BLfile,string);
		fclose(BLfile);

		format(string, sizeof(string), "Admin %s has added the name '%s' to the forbidden name list",adminname,cmdtext[12]);
		MessageToAdmins(green,string);
		CMDMessageToAdmins(playerid,"FORBINNAME");
		UpdateConfig();
	} else	{
  	SendClientMessage(playerid,red,"ERROR: You need to be level 3 to use this command");   }
	return 1;	}
//------------------------------------------------------------------------------
	if(strcmp(cmd,"/forbidword",true)==0)	{
	if(PlayerInfo[playerid][Level] >= 4) {
		new tmp[256];
		tmp = strtok(cmdtext, idx);

		if(!strlen(tmp)) {
		SendClientMessage(playerid, red, "USAGE: /forbidword [word]");
		return SendClientMessage(playerid, red, "CMD: This command prevents a player from using this word"); }

		GetPlayerName(playerid, adminname, sizeof(adminname));
		new File:BLfile;
		BLfile = fopen("ladmin/config/ForbiddenWords.cfg",io_append);
		format(string,sizeof(string),"%s\r\n",cmdtext[12]);
		fwrite(BLfile,string);
		fclose(BLfile);

		UpdateConfig();
		format(string, sizeof(string), "Admin %s has added the word '%s' to the forbidden word list",adminname,cmdtext[12]);
		MessageToAdmins(green,string);
		CMDMessageToAdmins(playerid,"FORBIDWORD");
	} else	{
  	SendClientMessage(playerid,red,"ERROR: You need to be level 3 to use this command");   }
	return 1;	}
//------------------------------------------------------------------------------
	if(strcmp(cmd,"/lockserver",true)==0)	{
	if(PlayerInfo[playerid][Level] >= 4) {
		ServerInfo[Locked] = 1;
		GetPlayerName(playerid, adminname, sizeof(adminname));
		format(string, sizeof(string), "Admin %s has locked the server",adminname);
  		SendClientMessageToAll(red,"________________________________________");
  		SendClientMessageToAll(red," ");
		SendClientMessageToAll(red,string);
		SendClientMessageToAll(red,"________________________________________");
		for(new i = 0; i <= MAX_PLAYERS; i++) if(IsPlayerConnected(i)) PlayerPlaySound(i,1057,0.0,0.0,0.0);
		CMDMessageToAdmins(playerid,"LOCKSERVER");
	} else	{
  	SendClientMessage(playerid,red,"ERROR: You need to be level 4 to use this command");   }
	return 1;	}
//------------------------------------------------------------------------------
	if(strcmp(cmd,"/unlockserver",true)==0)	{
	if(PlayerInfo[playerid][Level] >= 4) {
		ServerInfo[Locked] = 0;
		GetPlayerName(playerid, adminname, sizeof(adminname));
		format(string, sizeof(string), "Admin %s has unlocked the server",adminname);
		SendClientMessageToAll(green,"________________________________________");
		SendClientMessageToAll(green," ");
		SendClientMessageToAll(green,string);
		SendClientMessageToAll(green,"________________________________________");
		for(new i = 0; i <= MAX_PLAYERS; i++) if(IsPlayerConnected(i)) PlayerPlaySound(i,1057,0.0,0.0,0.0);
		CMDMessageToAdmins(playerid,"UNLOCKSERVER");
	} else	{
  	SendClientMessage(playerid,red,"ERROR: You need to be level 4 to use this command");   }
	return 1;	}
//==========================[ CHAT COMMANDS ]===================================
	if(strcmp(cmd,"/asay",true)==0)	{
	if(PlayerInfo[playerid][Level] >= 2) {
		new tmp[256];
		tmp = strtok(cmdtext, idx);

		if(!strlen(tmp)) {
		SendClientMessage(playerid, red, "USAGE: /asay [text]");
		return 1;		}

		GetPlayerName(playerid, adminname, sizeof(adminname));
		format(string, sizeof(string), "**Admin %s: %s",adminname,cmdtext[6]);
		SendClientMessageToAll(COLOR_PINK,string);
	} else	{
  	SendClientMessage(playerid,red,"ERROR: You need to be level 2 to use this command");   }
	return 1;	}

//------------------------------------------------------------------------------
	if(strcmp(cmd,"/clearchat",true)==0)	{
	if(PlayerInfo[playerid][Level] >= 2) {
		CMDMessageToAdmins(playerid,"CLEARCHAT");
		for(new i = 0; i < 11; i++) SendClientMessageToAll(green," ");
 	} else	{
  	SendClientMessage(playerid,red,"ERROR: You need to be level 2 to use this command");   }
	return 1;	}
//------------------------------------------------------------------------------
	if(strcmp(cmd,"/clearallchat",true)==0)	{
	if(PlayerInfo[playerid][Level] >= 4) {
		CMDMessageToAdmins(playerid,"CLEARALLCHAT");
		for(new i = 0; i < 50; i++) SendClientMessageToAll(green," ");
 	} else	{
  	SendClientMessage(playerid,red,"ERROR: You need to be level 4 to use this command");   }
	return 1;	}
//------------------------------------------------------------------------------

	if(strcmp(cmd, "/caps", true) == 0)	{
    if(PlayerInfo[playerid][Level] >= 3) {
		new tmp[256], player1;
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp)) return SendClientMessage(playerid, red, "USAGE: /caps [playerid] [off / on]");

		player1 = strval(tmp);
		if(!IsPlayerConnected(player1) || player1 == INVALID_PLAYER_ID || (PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) )
		return SendClientMessage(playerid,red,"ERROR: Player is not connected");
		tmp = strtok(cmdtext, idx);

		if(strcmp(cmdtext[8],"on",true) == 0)	{
			GetPlayerName(player1, playername, sizeof(playername));		GetPlayerName(playerid, adminname, sizeof(adminname));
			PlayerInfo[playerid][Caps] = 0;
			CMDMessageToAdmins(playerid,"CAPS");
			format(string,256,"Administrator %s has allowed you to use caps",adminname);	if(player1 != playerid)	{	SendClientMessage(player1,blue,string); }
			format(string,256,"You have allowed %s to use caps",playername); SendClientMessage(playerid,blue,string);
		} else if(strcmp(cmdtext[8],"off",true) == 0)	{
			GetPlayerName(player1, playername, sizeof(playername));		GetPlayerName(playerid, adminname, sizeof(adminname));
			PlayerInfo[playerid][Caps] = 1;
			CMDMessageToAdmins(playerid,"CAPS");
			format(string,256,"Administrator %s has prevented you from using caps",adminname);	if(player1 != playerid)	{	SendClientMessage(player1,blue,string); }
			format(string,256,"You have prevented %s from using caps",playername); SendClientMessage(playerid,blue,string);

		} else {
			SendClientMessage(playerid,red,"USAGE: /caps [playerid] [off / on]");
			return 1;   }
		} else	{
		SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");   }
	return 1;	}

//------------------------------------------------------------------------------
	if(strcmp(cmd, "/crash", true) == 0)
	{
	    if(PlayerInfo[playerid][Level] >= 4)
	    {
			new tmp[256], player1;
			tmp = strtok(cmdtext, idx);
			if(!strlen(tmp)) return SendClientMessage(playerid, red, "USAGE: /crash [playerid]");

			new Float:X,Float:Y,Float:Z;
			player1 = strval(tmp);
			if(!IsPlayerConnected(player1) || player1 == INVALID_PLAYER_ID || (PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) )
			return SendClientMessage(playerid,red,"ERROR: Player is not connected");
			tmp = strtok(cmdtext, idx);

	        GetPlayerPos(player1,X,Y,Z);
	   		new objectcrash = CreatePlayerObject(player1,11111111,X,Y,Z,0,0,0);
			SendClientMessage(playerid,blue, "Player successfuly crashed.");
			CMDMessageToAdmins(playerid,"CRASH");
			DestroyObject(objectcrash);
		}
		else
		{
		SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
		}
		return 1;
	}
//------------------------------------------------------------------------------
	if(strcmp(cmd,"/getid",true) == 0)
	{
	    new tmp[256];
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp)) return SendClientMessage(playerid,blue,"Correct Usage: /getid [part from the nick]");

		format(string,sizeof(string),"Searched for: \"%s\": ",tmp);
		SendClientMessage(playerid,red,string);
		new found=0;
		for(new i=0; i <= MAX_PLAYERS; i++)
		{
			if(IsPlayerConnected(i))
			{
		  		GetPlayerName(i, playername, MAX_PLAYER_NAME);
				new namelen = strlen(playername);
				new bool:searched=false;
		    	for(new pos=0; pos <= namelen; pos++)
				{
					if(searched != true)
					{
						if(strfind(playername,tmp,true) == pos)
						{
			                found++;
							format(string,sizeof(string),"%d. %s (ID %d)",found,playername,i);
							SendClientMessage(playerid, green ,string);
							searched = true;
						}
					}
				}
			}
		}
		return 1;
	}
//-------------------SPECTATE A PLAYER------------------------------------------
 	if(strcmp(cmd, "/lspec", true) == 0) {
	if(PlayerInfo[playerid][Level] >= 2) {
	    new tmp[256], specplayerid;
		tmp = strtok(cmdtext, idx);

		if(!strlen(tmp)) return SendClientMessage(playerid, red, "USAGE: /specplayer [playerid]");

		specplayerid = strval(tmp);

		if(!IsPlayerConnected(specplayerid) || (PlayerInfo[specplayerid][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) ) {
      	SendClientMessage(playerid,red,"ERROR: Player is not connected");
		return 1;		}

		if(specplayerid == playerid) return SendClientMessage(playerid, red, "ERROR: You cannot spectate yourself");

		if(GetPlayerState(specplayerid) == PLAYER_STATE_SPECTATING && gSpectateID[specplayerid] != INVALID_PLAYER_ID) {
	   		SendClientMessage(playerid, red, "Spectate: Player spectating someone else");
	   		return 1;
		}
		if(GetPlayerState(specplayerid) != 1 && GetPlayerState(specplayerid) != 2 && GetPlayerState(specplayerid) != 3)
	 		return SendClientMessage(playerid, red, "Spectate: Player not spawned");

		StartSpectate(playerid, specplayerid);
		SendClientMessage(playerid,blue,"Now Spectating");
		CMDMessageToAdmins(playerid,"LSPEC");
		GetPlayerPos(playerid,Pos[playerid][0],Pos[playerid][1],Pos[playerid][2]);
		GetPlayerFacingAngle(playerid,Pos[playerid][3]);

	} else	{
  	SendClientMessage(playerid,red,"ERROR: You need to be level 2 to use this command");   }
	return 1;	}
//---------------------SPECTATE A VEHICLE---------------------------------------
 	if(strcmp(cmd, "/lspecvehicle", true) == 0) {
	if(PlayerInfo[playerid][Level] >= 2) {
	    new tmp[256],specvehicleid;
		tmp = strtok(cmdtext, idx);

		if(!strlen(tmp)) {
			SendClientMessage(playerid, red, "USAGE: /specvehicle [vehicleid]");
			return 1;	}

		specvehicleid = strval(tmp);

		if(specvehicleid < MAX_VEHICLES) {
			TogglePlayerSpectating(playerid, 1);
			PlayerSpectateVehicle(playerid, specvehicleid);
			gSpectateID[playerid] = specvehicleid;
			gSpectateType[playerid] = ADMIN_SPEC_TYPE_VEHICLE;
			SendClientMessage(playerid,blue,"Now Spectating");
			CMDMessageToAdmins(playerid,"SPEC VEHICLE");
			GetPlayerPos(playerid,Pos[playerid][0],Pos[playerid][1],Pos[playerid][2]);
			GetPlayerFacingAngle(playerid,Pos[playerid][3]);
		}
	} else	{
  	SendClientMessage(playerid,red,"ERROR: You need to be level 2 to use this command");   }
	return 1;	}
//--------------------STOP SPECTATING-------------------------------------------
 	if(strcmp(cmd, "/lspecoff", true) == 0) {
		StopSpectate(playerid);
		SendClientMessage(playerid,blue,"No Longer Spectating");
		SetTimerEx("PosAfterSpec",3000,0,"d",playerid);
		return 1;	}
//=====================[ REPORT ]===============================================
	if(strcmp(cmd, "/report", true) == 0)	{
	    new tmp[256], reported;
     	tmp = strtok(cmdtext, idx);
 		if(!strlen(tmp)) return
			SendClientMessage(playerid, red, "USAGE: /report [playerid] [reason]");

		reported = strval(tmp);
		if(!IsPlayerConnected(reported) || reported == INVALID_PLAYER_ID)
		return SendClientMessage(playerid,red,"ERROR: Player is not connected");
		if(PlayerInfo[reported][Level] == ServerInfo[MaxAdminLevel])
		return SendClientMessage(playerid,red,"ERROR: You cannot report this administrator");
		if(playerid == reported) return SendClientMessage(playerid,red,"ERROR: You Cannot report yourself");
		tmp = strtok(cmdtext, idx);

		new length = strlen(cmdtext);
		if(length < 14) return SendClientMessage(playerid,red,"ERROR: What Is The Reason");

		new reportedname[MAX_PLAYER_NAME], reporter[MAX_PLAYER_NAME], str[100];
		GetPlayerName(reported, reportedname, sizeof(reportedname));	GetPlayerName(playerid, reporter, sizeof(reporter));
		format(str, sizeof(str), "||NewReport||  %s(ID %d) reported %s(ID %d) reason = %s", reporter,playerid, reportedname, reported, cmdtext[9]);
		MessageToAdmins(COLOR_WHITE,str);	SaveToFile("ReportLog",str);
		SendClientMessage(playerid,yellow, "Report Sent.");
	    return 1;
		}
//------------------------------------------------------------------------------
	if(strcmp(cmd, "/teleplayer", true) == 0)	{
	if(PlayerInfo[playerid][Level] >= 3) {
	    new tmp[256];
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp))	{
			SendClientMessage(playerid, red, "USAGE: /teleplayer [playerid] to [playerid]");
			return 1;	}
		new player1;
		player1 = strval(tmp);
		if(!IsPlayerConnected(player1) || player1 == INVALID_PLAYER_ID)		{
			SendClientMessage(playerid,red,"ERROR: Player is not connected");
			return 1;		}
		tmp = strtok(cmdtext, idx);

		new player2;
		player2 = strval(tmp);
		if(!IsPlayerConnected(player1) || player2 == INVALID_PLAYER_ID)		{
			SendClientMessage(playerid,red,"ERROR: Player is not connected");
			return 1;		}
		tmp = strtok(cmdtext, idx);

	    new Float:plocx,Float:plocy,Float:plocz;
		GetPlayerPos(player2, plocx, plocy, plocz);	new intid = GetPlayerInterior(player2);	SetPlayerInterior(player1,intid);
		SetPlayerVirtualWorld(player1,GetPlayerVirtualWorld(player2));
		CMDMessageToAdmins(playerid,"TELEPLAYER");
		if (GetPlayerState(player1) == 2)
		{
		new VehicleID = GetPlayerVehicleID(player1);
		SetVehiclePos(VehicleID, plocx, plocy+4, plocz);   LinkVehicleToInterior(VehicleID,intid);
		SetVehicleVirtualWorld(VehicleID, GetPlayerVirtualWorld(player2) );
		} else	{
		SetPlayerPos(player1,plocx,plocy+2, plocz);		}
	} else	{
  	SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");   }
	return 1;	}
//===================================[WARN]=====================================
	if(strcmp(cmd, "/warn", true) == 0)	{
	if(PlayerInfo[playerid][Level] >= 2) {
	new tmp[256];	new str[256];	new pname[256];	new aname[256];	new tmp2[256];
	tmp = strtok(cmdtext, idx);
	tmp2 = strtok(cmdtext, idx);

	if(!strlen(tmp))	{
	SendClientMessage(playerid, red, "USAGE: /warn [PlayerID] [Reason]");
	return 1;	}

	new warned;
	warned = strval(tmp);
	if(!IsPlayerConnected(warned) || warned == INVALID_PLAYER_ID || (PlayerInfo[warned][Level] == ServerInfo[MaxAdminLevel]) || (warned == playerid))	{
	SendClientMessage(playerid,red,"ERROR: Player is not connected or is yourself");
	return 1;	}
	tmp = strtok(cmdtext, idx);

    CMDMessageToAdmins(playerid,"WARN");
	if(PlayerInfo[warned][Warnings] == 0)	{
		PlayerInfo[warned][Warnings]+=1;
		GetPlayerName(warned, pname, sizeof (str));		GetPlayerName(playerid, aname, sizeof (str));
		format(str, sizeof (str), "***Administrator %s has given %s a warning [Reason: %s] [1/3 Warnings]***", aname, pname, cmdtext[8]);
		SendClientMessageToAll(yellow, str);
		return 1;	}
	else if(PlayerInfo[warned][Warnings] == 1)	{
		GetPlayerName(warned, pname, sizeof (str));		GetPlayerName(playerid, aname, sizeof (str));
		format(str, sizeof (str), "***Administrator %s has given %s a warning [Reason: %s] [2/3 Warnings]***", aname, pname, cmdtext[8]);
		SendClientMessageToAll(yellow, str);
		PlayerInfo[warned][Warnings]+=1;
		return 1;	}
	else if(PlayerInfo[warned][Warnings] == 2)	{
		GetPlayerName(warned, pname, sizeof (str));		GetPlayerName(playerid, aname, sizeof (str));
		format(str, sizeof (str), "***Administrator %s has Kicked %s [Reason: %s] [3/3 Warnings]***", aname, pname, cmdtext[8]);
		SendClientMessageToAll(grey, str);
		SaveToFile("KickLog",str);	Kick(warned);
		return 1;	}
	} else	{
 	SendClientMessage(playerid,red,"ERROR: You need to be level 2 to use this command");   }
	return 1;	}
//------------------------------------------------------------------------------
	if(strcmp(cmd, "/car", true) == 0)	{
	if(PlayerInfo[playerid][Level] >= 3) {
	    new tmp[256], car,colour1,colour2;
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp))	{
			SendClientMessage(playerid, red, "USAGE: /car [carid] [colour1] [colour2]");
			return 1;	}
		car = strval(tmp);
		if(car < 400 || car > 611)		{
			SendClientMessage(playerid, red, "Vehicle Number can't be below 400 or above 611");
			return 1;		}
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp))		{
			SendClientMessage(playerid, red, "USAGE: /car [carid] [colour1] [colour2]");
			return 1;		}
		colour1 = strval(tmp);
		if(colour1 < 0 || colour1 > 126)		{
			SendClientMessage(playerid, red, "ERROR: Colour Number can't be below 0 or above 126");
			return 1;		}
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp))		{
			SendClientMessage(playerid, red, "USAGE: /car [carid] [colour1] [colour2]");
			return 1;		}
		colour2 = strval(tmp);
		if(colour2 < 0 || colour2 > 126)		{
			SendClientMessage(playerid, red, "ERROR: Colour Number can't be below 0 or above 126");
		 	return 1;	 	}
		new LVehicleID,Float:X,Float:Y,Float:Z, Float:Angle,int1 ;	GetPlayerPos(playerid, X,Y,Z);	GetPlayerFacingAngle(playerid,Angle);   int1 = GetPlayerInterior(playerid);
		LVehicleID = CreateVehicle(car, X+3,Y,Z, Angle, colour1, colour2, 60000); LinkVehicleToInterior(LVehicleID,int1);
		CMDMessageToAdmins(playerid,"CAR");
		new pname[MAX_PLAYER_NAME];
 		GetPlayerName(playerid, pname, MAX_PLAYER_NAME);
		format(string, sizeof(string), "You have spawned car (%d) colour1 (%d) colour2 (%d), at %0.2f, %0.2f, %0.2f", car, colour1, colour2, X, Y, Z);
		SendClientMessage(playerid,yellow, string);
		format(string, sizeof(string), "%s has spawned car (%d) colour1 (%d) colour2 (%d), at %0.2f, %0.2f, %0.2f", pname, car, colour1, colour2, X, Y, Z);
        SaveToFile("CarSpawns",string);
	} else	{
	SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");   }
	return 1;	}
//---------------------------------------
	if(strcmp(cmd, "/pickup", true) == 0)	{
	if(PlayerInfo[playerid][Level] >= 5) {
		new tmp[256];
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp))	{
			SendClientMessage(playerid, red, "USAGE: /pickup [pickup-id]");
			return 1;	}
		new pick,Float:px,Float:py,Float:pz;	GetPlayerPos(playerid, px,py,pz);
		pick = strval(tmp);
	    CMDMessageToAdmins(playerid,"PICKUP");
		CreatePickup(pick, 2, px, py, pz);
		format(string, sizeof(string), "CreatePickup(%d, 2, %0.2f, %0.2f, %0.2f);", pick, px, py, pz);
		SendClientMessage(playerid,yellow, string);
       	SaveToFile("Pickups",string);
	} else	{
	SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");   }
	return 1;	}
//------------------------------------------------------------------------------
	if(strcmp(cmd, "/object", true) == 0)	{
    if(PlayerInfo[playerid][Level] >= 5) {
		new tmp[256];
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp))	{
			SendClientMessage(playerid, red, "USAGE: /object [object-id]");
			return 1;	}
		new object, Float:px,Float:py,Float:pz;	GetPlayerPos(playerid, px,py,pz);
		object = strval(tmp);
	    CMDMessageToAdmins(playerid,"OBJECT");
		CreateObject(object, px, py, pz, 0, 0, 0);
		format(string, sizeof(string), "You Have Created Object %d, at %0.2f, %0.2f, %0.2f", object, px, py, pz);
		SendClientMessage(playerid,yellow, string);
		format(string, sizeof(string), "CreateObject(%d, %0.2f, %0.2f, %0.2f, 0.00, 0.00, 0.00);", object, px, py, pz);
       	SaveToFile("Objects",string);
	} else	{
	SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");   }
	return 1;	}
//==============================================================================
   	if(strcmp(cmd, "/linkcar", true) == 0)	{
		if(IsPlayerInAnyVehicle(playerid)) {
	    LinkVehicleToInterior(GetPlayerVehicleID(playerid),GetPlayerInterior(playerid));
	    SetVehicleVirtualWorld(GetPlayerVehicleID(playerid),GetPlayerVirtualWorld(playerid));
		}
		return 1;   }
//==============================================================================
	if(strcmp(cmd, "/duel", true) == 0)	{
	if(PlayerInfo[playerid][Level] >= 3) {
	    new tmp[256];
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp))	{
			SendClientMessage(playerid, red, "USAGE: /duel [player1 id] [player2 id] [location (1) or (2) or (3)]");
			SendClientMessage(playerid, red, "If location isnt stated then players duel at their present location");
			return 1;	}

		new player1;
		player1 = strval(tmp);
		if(!IsPlayerConnected(player1) || player1 == INVALID_PLAYER_ID)		{
			SendClientMessage(playerid,red,"ERROR: Player is not connected");
			return 1;	}
		tmp = strtok(cmdtext, idx);

		new player2;
		player2 = strval(tmp);
		if(!IsPlayerConnected(player1) || player2 == INVALID_PLAYER_ID)		{
			SendClientMessage(playerid,red,"ERROR: Player is not connected");
			return 1;	}
		tmp = strtok(cmdtext, idx);

        new location;
		location = strval(tmp);
		tmp = strtok(cmdtext, idx);

		if(location == 1)   {
		SetPlayerInterior(player1,16);	SetPlayerPos(player1,-1404.067, 1270.3706, 1042.8672);	SetPlayerHealth(player1,100.0);	SetPlayerArmour(player1,100.0);	GivePlayerWeapon(player1,26,400);	GivePlayerWeapon(player1,24,300);	GivePlayerWeapon(player1,28,500);
		SetPlayerInterior(player2,16);	SetPlayerPos(player2,-1395.067, 1261.3706, 1042.8672);  SetPlayerHealth(player2,100.0); SetPlayerArmour(player2,100.0);	GivePlayerWeapon(player2,26,400);	GivePlayerWeapon(player2,24,300);	GivePlayerWeapon(player2,28,500);
		InDuel[player1] = 1;
		InDuel[player2] = 1;
		CMDMessageToAdmins(playerid,"DUEL");
		cdt=6;
		CountTimer=SetTimer("duel",1000,1);
		} else if(location == 2)   {
		SetPlayerInterior(player1,0);	SetPlayerPos(player1,1353.407,2188.155,11.02344);    SetPlayerHealth(player1,100.0); SetPlayerArmour(player1,100.0);	GivePlayerWeapon(player1,26,400);	GivePlayerWeapon(player1,24,300);	GivePlayerWeapon(player1,28,500);
		SetPlayerInterior(player2,0);	SetPlayerPos(player2,1346.255,2142.843,11.01563);    SetPlayerHealth(player2,100.0); SetPlayerArmour(player2,100.0);	GivePlayerWeapon(player2,26,400);	GivePlayerWeapon(player2,24,300);	GivePlayerWeapon(player2,28,500);
		InDuel[player1] = 1;
		InDuel[player2] = 1;
		CMDMessageToAdmins(playerid,"DUEL");
		cdt=6;
		CountTimer=SetTimer("duel",1000,1);
		} else if(location == 3)   {
		SetPlayerInterior(player1,10);	SetPlayerPos(player1,-1041.037,1078.729,1347.678); SetPlayerFacingAngle(player1,135);	SetPlayerHealth(player1,100.0); SetPlayerArmour(player1,100.0);	GivePlayerWeapon(player1,26,400);	GivePlayerWeapon(player1,24,300);	GivePlayerWeapon(player1,28,500);
		SetPlayerInterior(player2,10);	SetPlayerPos(player2,-1018.061,1052.502,1346.327); SetPlayerFacingAngle(player2,45);   SetPlayerHealth(player2,100.0); SetPlayerArmour(player2,100.0);	GivePlayerWeapon(player2,26,400);	GivePlayerWeapon(player2,24,300);	GivePlayerWeapon(player2,28,500);
		InDuel[player1] = 1;
		InDuel[player2] = 1;
		CMDMessageToAdmins(playerid,"DUEL");
		cdt=6;
		CountTimer=SetTimer("duel",1000,1);
		} else  {
		InDuel[player1] = 1;
		InDuel[player2] = 1;
		CMDMessageToAdmins(playerid,"DUEL");
		cdt=6;
		CountTimer=SetTimer("duel",1000,1);  }
	} else	{
  	SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");   }
	return 1;	}
//------------------------------------------------------------------------------
	if(strcmp(cmdtext,"/countdown",true)==0)	{
    if(PlayerInfo[playerid][Level] >= 3) {
	CMDMessageToAdmins(playerid,"COUNTDOWN");
	cdt=6;
	CountTimer=SetTimer("countdown",1000,1);
	} else	{
  	SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");   }
	return 1;	}

//========================= [ Car Commands ]====================================

	if(strcmp(cmdtext, "/ltunedcar", true)==0 || strcmp(cmdtext, "/ltc", true)==0)	{
	if(PlayerInfo[playerid][Level] >= 1) {
		if(IsPlayerInAnyVehicle(playerid)) {
		SendClientMessage(playerid,red,"Error: You already have a vehicle");
		} else  {
		new Float:X,Float:Y,Float:Z,Float:Angle,LVehicleIDt;	GetPlayerPos(playerid,X,Y,Z); GetPlayerFacingAngle(playerid,Angle);
        LVehicleIDt = CreateVehicle(560,X,Y,Z,Angle,1,-1,-1);	PutPlayerInVehicle(playerid,LVehicleIDt,0); CMDMessageToAdmins(playerid,"LTunedCar");	    AddVehicleComponent(LVehicleIDt, 1028);	AddVehicleComponent(LVehicleIDt, 1030);	AddVehicleComponent(LVehicleIDt, 1031);	AddVehicleComponent(LVehicleIDt, 1138);	AddVehicleComponent(LVehicleIDt, 1140);  AddVehicleComponent(LVehicleIDt, 1170);
	    AddVehicleComponent(LVehicleIDt, 1028);	AddVehicleComponent(LVehicleIDt, 1030);	AddVehicleComponent(LVehicleIDt, 1031);	AddVehicleComponent(LVehicleIDt, 1138);	AddVehicleComponent(LVehicleIDt, 1140);  AddVehicleComponent(LVehicleIDt, 1170);
	    AddVehicleComponent(LVehicleIDt, 1080);	AddVehicleComponent(LVehicleIDt, 1086); AddVehicleComponent(LVehicleIDt, 1087); AddVehicleComponent(LVehicleIDt, 1010);	PlayerPlaySound(playerid,1133,0.0,0.0,0.0);	ChangeVehiclePaintjob(LVehicleIDt,0);
   	   	SetVehicleVirtualWorld(LVehicleIDt, GetPlayerVirtualWorld(playerid)); LinkVehicleToInterior(LVehicleIDt, GetPlayerInterior(playerid)); }
	} else	{
  	SendClientMessage(playerid,red,"ERROR: You need to be level 1 to use this command");   }
	return 1;	}
//------------------------------------------------------------------------------
	if(strcmp(cmdtext, "/ltunedcar2", true)==0 || strcmp(cmdtext, "/ltc2", true)==0)	{
	if(PlayerInfo[playerid][Level] >= 1) {
		if(IsPlayerInAnyVehicle(playerid)) {
		SendClientMessage(playerid,red,"Error: You already have a vehicle");
		} else  {
		new Float:X,Float:Y,Float:Z,Float:Angle,LVehicleIDt;	GetPlayerPos(playerid,X,Y,Z); GetPlayerFacingAngle(playerid,Angle);
        LVehicleIDt = CreateVehicle(560,X,Y,Z,Angle,1,-1,-1);	PutPlayerInVehicle(playerid,LVehicleIDt,0); CMDMessageToAdmins(playerid,"LTunedCar");	    AddVehicleComponent(LVehicleIDt, 1028);	AddVehicleComponent(LVehicleIDt, 1030);	AddVehicleComponent(LVehicleIDt, 1031);	AddVehicleComponent(LVehicleIDt, 1138);	AddVehicleComponent(LVehicleIDt, 1140);  AddVehicleComponent(LVehicleIDt, 1170);
	    AddVehicleComponent(LVehicleIDt, 1028);	AddVehicleComponent(LVehicleIDt, 1030);	AddVehicleComponent(LVehicleIDt, 1031);	AddVehicleComponent(LVehicleIDt, 1138);	AddVehicleComponent(LVehicleIDt, 1140);  AddVehicleComponent(LVehicleIDt, 1170);
	    AddVehicleComponent(LVehicleIDt, 1080);	AddVehicleComponent(LVehicleIDt, 1086); AddVehicleComponent(LVehicleIDt, 1087); AddVehicleComponent(LVehicleIDt, 1010);	PlayerPlaySound(playerid,1133,0.0,0.0,0.0);	ChangeVehiclePaintjob(LVehicleIDt,1);
	   	SetVehicleVirtualWorld(LVehicleIDt, GetPlayerVirtualWorld(playerid)); LinkVehicleToInterior(LVehicleIDt, GetPlayerInterior(playerid)); }
	} else	{
  	SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");   }
	return 1;	}
//------------------------------------------------------------------------------
	if(strcmp(cmdtext, "/ltunedcar3", true)==0 || strcmp(cmdtext, "/ltc3", true)==0)	{
	if(PlayerInfo[playerid][Level] >= 1) {
		if(IsPlayerInAnyVehicle(playerid)) {
		SendClientMessage(playerid,red,"Error: You already have a vehicle");
		} else  {
		new Float:X,Float:Y,Float:Z,Float:Angle,LVehicleIDt;	GetPlayerPos(playerid,X,Y,Z); GetPlayerFacingAngle(playerid,Angle);
        LVehicleIDt = CreateVehicle(560,X,Y,Z,Angle,1,-1,-1);	PutPlayerInVehicle(playerid,LVehicleIDt,0); CMDMessageToAdmins(playerid,"LTunedCar");	    AddVehicleComponent(LVehicleIDt, 1028);	AddVehicleComponent(LVehicleIDt, 1030);	AddVehicleComponent(LVehicleIDt, 1031);	AddVehicleComponent(LVehicleIDt, 1138);	AddVehicleComponent(LVehicleIDt, 1140);  AddVehicleComponent(LVehicleIDt, 1170);
	    AddVehicleComponent(LVehicleIDt, 1080);	AddVehicleComponent(LVehicleIDt, 1086); AddVehicleComponent(LVehicleIDt, 1087); AddVehicleComponent(LVehicleIDt, 1010);	PlayerPlaySound(playerid,1133,0.0,0.0,0.0);	ChangeVehiclePaintjob(LVehicleIDt,2);
	   	SetVehicleVirtualWorld(LVehicleIDt, GetPlayerVirtualWorld(playerid)); LinkVehicleToInterior(LVehicleIDt, GetPlayerInterior(playerid)); }
 	} else	{
  	SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");   }
	return 1;	}
//------------------------------------------------------------------------------
	if(strcmp(cmdtext, "/ltunedcar4", true)==0 || strcmp(cmdtext, "/ltc4", true)==0)	{
	if(PlayerInfo[playerid][Level] >= 1) {
		if(IsPlayerInAnyVehicle(playerid)) {
		SendClientMessage(playerid,red,"Error: You already have a vehicle");
		} else  {
		new Float:X,Float:Y,Float:Z,Float:Angle,carid;	GetPlayerPos(playerid,X,Y,Z); GetPlayerFacingAngle(playerid,Angle);
        carid = CreateVehicle(559,X,Y,Z,Angle,1,-1,-1);	PutPlayerInVehicle(playerid,carid,0); CMDMessageToAdmins(playerid,"LTunedCar");
    	AddVehicleComponent(carid,1065);    AddVehicleComponent(carid,1067);    AddVehicleComponent(carid,1162); AddVehicleComponent(carid,1010); AddVehicleComponent(carid,1073);	ChangeVehiclePaintjob(carid,1);
	   	SetVehicleVirtualWorld(carid, GetPlayerVirtualWorld(playerid)); LinkVehicleToInterior(carid, GetPlayerInterior(playerid)); }
	} else	{
  	SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");   }
	return 1;	}
//------------------------------------------------------------------------------
	if(strcmp(cmdtext, "/ltunedcar5", true)==0 || strcmp(cmdtext, "/ltc5", true)==0)	{
	if(PlayerInfo[playerid][Level] >= 1) {
		if(IsPlayerInAnyVehicle(playerid)) {
		SendClientMessage(playerid,red,"Error: You already have a vehicle");
		} else  {
		new Float:X,Float:Y,Float:Z,Float:Angle,carid;	GetPlayerPos(playerid,X,Y,Z); GetPlayerFacingAngle(playerid,Angle);
        carid = CreateVehicle(565,X,Y,Z,Angle,1,-1,-1);	PutPlayerInVehicle(playerid,carid,0); CMDMessageToAdmins(playerid,"LTunedCar");
	    AddVehicleComponent(carid,1046); AddVehicleComponent(carid,1049); AddVehicleComponent(carid,1053); AddVehicleComponent(carid,1010); AddVehicleComponent(carid,1073); ChangeVehiclePaintjob(carid,1);
	   	SetVehicleVirtualWorld(carid, GetPlayerVirtualWorld(playerid)); LinkVehicleToInterior(carid, GetPlayerInterior(playerid)); }
	} else	{
  	SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");   }
	return 1;	}
//------------------------------------------------------------------------------
	if(strcmp(cmdtext, "/ltunedcar6", true)==0 || strcmp(cmdtext, "/ltc6", true)==0)	{
	if(PlayerInfo[playerid][Level] >= 1) {
		if(IsPlayerInAnyVehicle(playerid)) {
		SendClientMessage(playerid,red,"Error: You already have a vehicle");
		} else  {
		new Float:X,Float:Y,Float:Z,Float:Angle,carid;	GetPlayerPos(playerid,X,Y,Z); GetPlayerFacingAngle(playerid,Angle);
        carid = CreateVehicle(558,X,Y,Z,Angle,1,-1,-1);	PutPlayerInVehicle(playerid,carid,0); CMDMessageToAdmins(playerid,"LTunedCar");
    	AddVehicleComponent(carid,1088); AddVehicleComponent(carid,1092); AddVehicleComponent(carid,1139); AddVehicleComponent(carid,1010); AddVehicleComponent(carid,1073); ChangeVehiclePaintjob(carid,1);
 	   	SetVehicleVirtualWorld(carid, GetPlayerVirtualWorld(playerid)); LinkVehicleToInterior(carid, GetPlayerInterior(playerid)); }
	} else	{
  	SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");   }
	return 1;	}
//------------------------------------------------------------------------------
	if(strcmp(cmdtext, "/ltunedcar7", true)==0 || strcmp(cmdtext, "/ltc7", true)==0)	{
	if(PlayerInfo[playerid][Level] >= 1) {
		if(IsPlayerInAnyVehicle(playerid)) {
		SendClientMessage(playerid,red,"Error: You already have a vehicle");
		} else  {
		new Float:X,Float:Y,Float:Z,Float:Angle,carid;	GetPlayerPos(playerid,X,Y,Z); GetPlayerFacingAngle(playerid,Angle);
        carid = CreateVehicle(561,X,Y,Z,Angle,1,-1,-1);	PutPlayerInVehicle(playerid,carid,0); CMDMessageToAdmins(playerid,"LTunedCar");
    	AddVehicleComponent(carid,1055); AddVehicleComponent(carid,1058); AddVehicleComponent(carid,1064); AddVehicleComponent(carid,1010); AddVehicleComponent(carid,1073); ChangeVehiclePaintjob(carid,1);
	   	SetVehicleVirtualWorld(carid, GetPlayerVirtualWorld(playerid)); LinkVehicleToInterior(carid, GetPlayerInterior(playerid)); }
	} else	{
  	SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");   }
	return 1;	}
//------------------------------------------------------------------------------
	if(strcmp(cmdtext, "/ltunedcar8", true)==0 || strcmp(cmdtext, "/ltc8", true)==0)	{
	if(PlayerInfo[playerid][Level] >= 1) {
		if(IsPlayerInAnyVehicle(playerid)) {
		SendClientMessage(playerid,red,"Error: You already have a vehicle");
		} else  {
		new Float:X,Float:Y,Float:Z,Float:Angle,carid;	GetPlayerPos(playerid,X,Y,Z); GetPlayerFacingAngle(playerid,Angle);
        carid = CreateVehicle(562,X,Y,Z,Angle,1,-1,-1);	PutPlayerInVehicle(playerid,carid,0); CMDMessageToAdmins(playerid,"LTunedCar");
	    AddVehicleComponent(carid,1034); AddVehicleComponent(carid,1038); AddVehicleComponent(carid,1147); AddVehicleComponent(carid,1010); AddVehicleComponent(carid,1073); ChangeVehiclePaintjob(carid,1);
	   	SetVehicleVirtualWorld(carid, GetPlayerVirtualWorld(playerid)); LinkVehicleToInterior(carid, GetPlayerInterior(playerid)); }
	} else	{
  	SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");   }
	return 1;	}
//------------------------------------------------------------------------------
	if(strcmp(cmdtext, "/ltunedcar9", true)==0 || strcmp(cmdtext, "/ltc9", true)==0)	{
	if(PlayerInfo[playerid][Level] >= 1) {
		if(IsPlayerInAnyVehicle(playerid)) {
		SendClientMessage(playerid,red,"Error: You already have a vehicle");
		} else  {
		new Float:X,Float:Y,Float:Z,Float:Angle,carid;	GetPlayerPos(playerid,X,Y,Z); GetPlayerFacingAngle(playerid,Angle);
        carid = CreateVehicle(567,X,Y,Z,Angle,1,-1,-1);	PutPlayerInVehicle(playerid,carid,0); CMDMessageToAdmins(playerid,"LTunedCar");
	    AddVehicleComponent(carid,1102); AddVehicleComponent(carid,1129); AddVehicleComponent(carid,1133); AddVehicleComponent(carid,1186); AddVehicleComponent(carid,1188); ChangeVehiclePaintjob(carid,1); AddVehicleComponent(carid,1010); AddVehicleComponent(carid,1085); AddVehicleComponent(carid,1087); AddVehicleComponent(carid,1086);
	   	SetVehicleVirtualWorld(carid, GetPlayerVirtualWorld(playerid)); LinkVehicleToInterior(carid, GetPlayerInterior(playerid)); }
	} else	{
  	SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");   }
	return 1;	}
//------------------------------------------------------------------------------
	if(strcmp(cmdtext, "/ltunedcar10", true)==0 || strcmp(cmdtext, "/ltc10", true)==0)	{
	if(PlayerInfo[playerid][Level] >= 1) {
		if(IsPlayerInAnyVehicle(playerid)) {
		SendClientMessage(playerid,red,"Error: You already have a vehicle");
		} else  {
		new Float:X,Float:Y,Float:Z,Float:Angle,carid;	GetPlayerPos(playerid,X,Y,Z); GetPlayerFacingAngle(playerid,Angle);
        carid = CreateVehicle(558,X,Y,Z,Angle,1,-1,-1);	PutPlayerInVehicle(playerid,carid,0); CMDMessageToAdmins(playerid,"LTunedCar");
   		AddVehicleComponent(carid,1092); AddVehicleComponent(carid,1166); AddVehicleComponent(carid,1165); AddVehicleComponent(carid,1090);
	    AddVehicleComponent(carid,1094); AddVehicleComponent(carid,1010); AddVehicleComponent(carid,1087); AddVehicleComponent(carid,1163);//SPOILER
	    AddVehicleComponent(carid,1091); ChangeVehiclePaintjob(carid,2);
	   	SetVehicleVirtualWorld(carid, GetPlayerVirtualWorld(playerid)); LinkVehicleToInterior(carid, GetPlayerInterior(playerid)); }
	} else	{
  	SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");   }
	return 1;	}
//------------------------------------------------------------------------------
	if(strcmp(cmdtext, "/ltunedcar11", true)==0 || strcmp(cmdtext, "/ltc11", true)==0)	{
	if(PlayerInfo[playerid][Level] >= 1) {
		if(IsPlayerInAnyVehicle(playerid)) {
		SendClientMessage(playerid,red,"Error: You already have a vehicle");
		} else  {
		new Float:X,Float:Y,Float:Z,Float:Angle,carid;	GetPlayerPos(playerid,X,Y,Z); GetPlayerFacingAngle(playerid,Angle);
        carid = CreateVehicle(557,X,Y,Z,Angle,1,1,-1);	PutPlayerInVehicle(playerid,carid,0); CMDMessageToAdmins(playerid,"LTunedCar");
		AddVehicleComponent(carid,1010); AddVehicleComponent(carid,1081);
	   	SetVehicleVirtualWorld(carid, GetPlayerVirtualWorld(playerid)); LinkVehicleToInterior(carid, GetPlayerInterior(playerid)); }
	} else	{
  	SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");   }
	return 1;	}
//------------------------------------------------------------------------------
	if(strcmp(cmdtext, "/ltunedcar12", true)==0 || strcmp(cmdtext, "/ltc12", true)==0)	{
	if(PlayerInfo[playerid][Level] >= 1) {
		if(IsPlayerInAnyVehicle(playerid)) {
		SendClientMessage(playerid,red,"Error: You already have a vehicle");
		} else  {
		new Float:X,Float:Y,Float:Z,Float:Angle,carid;	GetPlayerPos(playerid,X,Y,Z); GetPlayerFacingAngle(playerid,Angle);
        carid = CreateVehicle(535,X,Y,Z,Angle,1,-1,-1);	PutPlayerInVehicle(playerid,carid,0); CMDMessageToAdmins(playerid,"LTunedCar");
		ChangeVehiclePaintjob(carid,1); AddVehicleComponent(carid,1109); AddVehicleComponent(carid,1115); AddVehicleComponent(carid,1117); AddVehicleComponent(carid,1073); AddVehicleComponent(carid,1010);
	    AddVehicleComponent(carid,1087); AddVehicleComponent(carid,1114); AddVehicleComponent(carid,1081); AddVehicleComponent(carid,1119); AddVehicleComponent(carid,1121);
	   	SetVehicleVirtualWorld(carid, GetPlayerVirtualWorld(playerid)); LinkVehicleToInterior(carid, GetPlayerInterior(playerid)); }
	} else	{
  	SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");   }
	return 1;	}
//------------------------------------------------------------------------------
	if(strcmp(cmdtext, "/ltunedcar13", true)==0 || strcmp(cmdtext, "/ltc13", true)==0)	{
		if(IsPlayerInAnyVehicle(playerid)) {
		SendClientMessage(playerid,red,"Error: You already have a vehicle");
		} else  {
		new Float:X,Float:Y,Float:Z,Float:Angle,carid;	GetPlayerPos(playerid,X,Y,Z); GetPlayerFacingAngle(playerid,Angle);
        carid = CreateVehicle(562,X,Y,Z,Angle,1,-1,-1);	PutPlayerInVehicle(playerid,carid,0); CMDMessageToAdmins(playerid,"LTunedCar");
  		AddVehicleComponent(carid,1034); AddVehicleComponent(carid,1038); AddVehicleComponent(carid,1147);
		AddVehicleComponent(carid,1010); AddVehicleComponent(carid,1073); ChangeVehiclePaintjob(carid,0);
	   	SetVehicleVirtualWorld(carid, GetPlayerVirtualWorld(playerid)); LinkVehicleToInterior(carid, GetPlayerInterior(playerid)); }
		return 1;	}
//------------------------------------------------------------------------------
	if(strcmp(cmd, "/lp", true) == 0)	{
	if(PlayerInfo[playerid][Level] >= 1) {
		if (GetPlayerState(playerid) == 2)
		{
		new VehicleID = GetPlayerVehicleID(playerid), LModel = GetVehicleModel(VehicleID);
        switch(LModel) { case 448,461,462,463,468,471,509,510,521,522,523,581,586, 449: return SendClientMessage(playerid,red,"ERROR: You can not tune this vehicle"); }
		new str[256], Float:pos[3];	format(str, sizeof(str), "%s", cmdtext[2]);
		SetVehicleNumberPlate(VehicleID, str);
		GetPlayerPos(playerid, pos[0], pos[1], pos[2]);	SetPlayerPos(playerid, pos[0]+1, pos[1], pos[2]);
		SetVehicleToRespawn(VehicleID); SetVehiclePos(VehicleID, pos[0], pos[1], pos[2]);
		SetTimerEx("TuneLCar",4000,0,"d",VehicleID);    PlayerPlaySound(playerid,1133,0.0,0.0,0.0);
		SendClientMessage(playerid, blue, "You have changed your licence plate");   CMDMessageToAdmins(playerid,"LP");
		} else {
		SendClientMessage(playerid,red,"Error: You have to be the driver of a vehicle to change its licence plate");	}
	} else	{
  	SendClientMessage(playerid,red,"ERROR: You need to be level 1 use this command");   }
	return 1;	}
//------------------------------------------------------------------------------
	if(strcmp(cmd, "/lcar", true) == 0)	{
	if(PlayerInfo[playerid][Level] >= 2) {
		if (IsPlayerInAnyVehicle(playerid)) {
		SendClientMessage(playerid,red,"Error: You already have a vehicle");
		} else {
		GivePlayerCar(playerid,415);
		SendClientMessage(playerid,blue,"Enjoy your new car");	CMDMessageToAdmins(playerid,"LCAR"); }
	} else	{
  	SendClientMessage(playerid,red,"ERROR: You need to be level 2 to use this command");   }
	return 1;	}
//------------------------------------------------------------------------------
	if(strcmp(cmd, "/lbike", true) == 0)	{
	if(PlayerInfo[playerid][Level] >= 2) {
		if (IsPlayerInAnyVehicle(playerid)) {
		SendClientMessage(playerid,red,"Error: You already have a vehicle");
		} else {
		new Float:X,Float:Y,Float:Z,Float:Angle,VehicleID;
		GetPlayerPos(playerid,X,Y,Z); GetPlayerFacingAngle(playerid,Angle);
	    VehicleID = CreateVehicle(522,X,Y,Z,Angle,1,-1,-1);	PutPlayerInVehicle(playerid,VehicleID,0);
		if(GetPlayerInterior(playerid)) LinkVehicleToInterior(VehicleID,GetPlayerInterior(playerid));
		SetVehicleVirtualWorld(VehicleID,GetPlayerVirtualWorld(playerid));
		ChangeVehicleColor(VehicleID,0,7);
		SendClientMessage(playerid,blue,"Enjoy your new bike");	CMDMessageToAdmins(playerid,"LBIKE"); }
	} else	{
  	SendClientMessage(playerid,red,"ERROR: You need to be level 2 to use this command");   }
	return 1;	}
//------------------------------------------------------------------------------
	if(strcmp(cmd, "/flip", true) == 0)	{
	if(PlayerInfo[playerid][Level] >= 1) {
		if (IsPlayerInAnyVehicle(playerid)) {
		new VehicleID, Float:X, Float:Y, Float:Z, Float:Angle;	GetPlayerPos(playerid, X, Y, Z); 	VehicleID = GetPlayerVehicleID(playerid);
		GetVehicleZAngle(VehicleID, Angle);
		SetVehiclePos(VehicleID, X, Y, Z);
		SetVehicleZAngle(VehicleID, Angle); SetVehicleHealth(VehicleID,1200.0);
		SendClientMessage(playerid, blue,"Vehicle Flipped"); CMDMessageToAdmins(playerid,"FLIP");
		} else {
		SendClientMessage(playerid,red,"Error: You are not in a vehicle");	}
	} else	{
  	SendClientMessage(playerid,red,"ERROR: You need to be level 1 to use this command");   }
	return 1;	}
//------------------------------------------------------------------------------
	if(strcmp(cmd, "/fix", true) == 0 || strcmp(cmd, "/vr", true) == 0)	{
	if(PlayerInfo[playerid][Level] >= 1) {
		if (IsPlayerInAnyVehicle(playerid)) {
		new VehicleID = GetPlayerVehicleID(playerid);	SetVehicleHealth(VehicleID,1250.0);
		SendClientMessage(playerid,blue,"Vehicle Fixed");
		} else {
		SendClientMessage(playerid,red,"Error: You are not in a vehicle");	}
	} else	{
  	SendClientMessage(playerid,red,"ERROR: You need to be level 1 to use this command");   }
	return 1;	}
//------------------------------------------------------------------------------
	if(strcmp(cmd, "/repair", true) == 0 || strcmp(cmd, "/vr", true) == 0)	{
		if(PlayerInfo[playerid][Level] >= 1) {
			if (IsPlayerInAnyVehicle(playerid)) {
				GetPlayerPos(playerid,Pos[playerid][0],Pos[playerid][1],Pos[playerid][2]);
				GetVehicleZAngle(GetPlayerVehicleID(playerid), Pos[playerid][3]);
				SetPlayerCameraPos(playerid, 1929.0, 2137.0, 11.0);
				SetPlayerCameraLookAt(playerid,1935.0, 2138.0, 11.5);
				SetVehiclePos(GetPlayerVehicleID(playerid), 1974.0,2162.0,11.0);
				SetVehicleZAngle(GetPlayerVehicleID(playerid), -90);
				SetTimerEx("RepairCar",5000,0,"i",playerid);
		    	SendClientMessage(playerid,blue,"Your car will be ready in 5 seconds");
			} else {
				SendClientMessage(playerid,red,"Error: You are not in a vehicle");	}
		} else	{
  			SendClientMessage(playerid,red,"ERROR: You need to be level 1 to use this command");   }
		return 1;	}
//------------------------------------------------------------------------------
	if(strcmp(cmdtext,"/ltune",true)==0){
	if(PlayerInfo[playerid][Level] >= 1) {
		if(IsPlayerInAnyVehicle(playerid)) {
        new LVehicleID = GetPlayerVehicleID(playerid), LModel = GetVehicleModel(LVehicleID);
        switch(LModel) { case 448,461,462,463,468,471,509,510,521,522,523,581,586,449: return SendClientMessage(playerid,red,"ERROR: You can not tune this vehicle"); }
        CMDMessageToAdmins(playerid,"LTUNE"); SetVehicleHealth(GetPlayerVehicleID(playerid),2000.0);  TuneLCar(LVehicleID);   PlayerPlaySound(playerid,1133,0.0,0.0,0.0);
		} else {	SendClientMessage(playerid,red,"ERROR: You must be in a vehicle."); }
	} else	{
  	SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");   }
	return 1;	}
//------------------------------------------------------------------------------
	if(strcmp(cmdtext,"/lnos",true)==0){
	if(PlayerInfo[playerid][Level] >= 1) {
		if(IsPlayerInAnyVehicle(playerid)) {
        new LVehicleID = GetPlayerVehicleID(playerid), LModel = GetVehicleModel(LVehicleID);
        switch(LModel) { case 448,461,462,463,468,471,509,510,521,522,523,581,586,449: return SendClientMessage(playerid,red,"ERROR: You can not tune this vehicle!"); }
        AddVehicleComponent(LVehicleID, 1010); PlayerPlaySound(playerid,1133,0.0,0.0,0.0);
		} else {	SendClientMessage(playerid,red,"ERROR: You must be in a vehicle."); }
	} else	{
  	SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");   }
	return 1;	}
//------------------------------------------------------------------------------
	if(strcmp(cmdtext,"/lhy",true)==0){
	if(PlayerInfo[playerid][Level] >= 1) {
		if(IsPlayerInAnyVehicle(playerid)) {
        new LVehicleID = GetPlayerVehicleID(playerid), LModel = GetVehicleModel(LVehicleID);
        switch(LModel) { case 448,461,462,463,468,471,509,510,521,522,523,581,586,449: return SendClientMessage(playerid,red,"ERROR: You can not tune this vehicle!"); }
        AddVehicleComponent(LVehicleID, 1087); PlayerPlaySound(playerid,1133,0.0,0.0,0.0);
		} else {	SendClientMessage(playerid,red,"ERROR: You must be in a vehicle."); }
	} else	{
  	SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");   }
	return 1;	}
//------------------------------------------------------------------------------
	if (strcmp(cmd, "/ladmin", true) ==0 )	{
	if(PlayerInfo[playerid][Level] >= 3) {
	new tmp[256], Float:X, Float:Y, Float:Z;
	tmp = strtok(cmdtext,idx);
	if(!strlen(tmp))	{
		SendClientMessage(playerid,red,"USAGE: /ladmin [up / down / +x / -x / +y / -y / off]");	}
	else if(strcmp(tmp,"up",true) == 0)	{
		TogglePlayerControllable(playerid,false); GetPlayerPos(playerid,X,Y,Z);	SetPlayerPos(playerid,X,Y,Z+5); SetCameraBehindPlayer(playerid);	}
	else if(strcmp(tmp,"down",true) == 0)	{
		TogglePlayerControllable(playerid,false); GetPlayerPos(playerid,X,Y,Z);	SetPlayerPos(playerid,X,Y,Z-5); SetCameraBehindPlayer(playerid);	}
	else if(strcmp(tmp,"+x",true) == 0)	{
		TogglePlayerControllable(playerid,false); GetPlayerPos(playerid,X,Y,Z);	SetPlayerPos(playerid,X+5,Y,Z);	}
	else if(strcmp(tmp,"-x",true) == 0)	{
		TogglePlayerControllable(playerid,false); GetPlayerPos(playerid,X,Y,Z);	SetPlayerPos(playerid,X-5,Y,Z); }
	else if(strcmp(tmp,"+y",true) == 0)	{
		TogglePlayerControllable(playerid,false); GetPlayerPos(playerid,X,Y,Z);	SetPlayerPos(playerid,X,Y+5,Z);	}
	else if(strcmp(tmp,"-y",true) == 0)	{
		TogglePlayerControllable(playerid,false); GetPlayerPos(playerid,X,Y,Z);	SetPlayerPos(playerid,X,Y-5,Z);	}
    else if(strcmp(tmp,"off",true) == 0)	{
		TogglePlayerControllable(playerid,true);	}
	else	{
		SendClientMessage(playerid,red,"USAGE: /ladmin [up / down / +x / -x / +y / -y / off]");	}
	return 1;
	} else	{
  	SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");   }
	return 1;	}

//==================[ Save Account Details To File ]============================
	if(strcmp(cmd, "/gotoplace", true) == 0)   {
	if(PlayerInfo[playerid][LoggedIn] && PlayerInfo[playerid][Level] >= 1)	{
	    if (dUserINT(PlayerName2(playerid)).("x")!=0) {
	    PutAtPos(playerid);
	    SetPlayerVirtualWorld(playerid, (dUserINT(PlayerName2(playerid)).("world")) );
		SendClientMessage(playerid,yellow,"You have successfully teleported to your saved place");
		} else {
		SendClientMessage(playerid,red,"ERROR: You must save a place before you can teleport to it");   }
	} else    {
 	SendClientMessage(playerid,red, "ERROR: You must be an administrator to use this command");   }
	return 1;	}
//------------
	if(strcmp(cmd, "/saveplace", true) == 0)	{
	if(PlayerInfo[playerid][LoggedIn] && PlayerInfo[playerid][Level] >= 1)	{
	new Float:x,Float:y,Float:z, interior;
	GetPlayerPos(playerid,x,y,z);	interior = GetPlayerInterior(playerid);
	dUserSetINT(PlayerName2(playerid)).("x",floatround(x));
	dUserSetINT(PlayerName2(playerid)).("y",floatround(y));
	dUserSetINT(PlayerName2(playerid)).("z",floatround(z));
	dUserSetINT(PlayerName2(playerid)).("interior",interior);
	dUserSetINT(PlayerName2(playerid)).("world", (GetPlayerVirtualWorld(playerid)) );
	SendClientMessage(playerid,yellow,"You have successfully saved these coordinates");
	} else    {
	SendClientMessage(playerid,red, "ERROR: You must be an administrator to use this command");   }
	return 1;	}
//-----------------------------------------
	if(strcmp(cmd, "/saveskin", true) == 0)
	{
 	if((PlayerInfo[playerid][Level] >= 1) && (PlayerInfo[playerid][LoggedIn] == 1))  {
	new skinid, tmp[256],str[256];
	tmp = strtok(cmdtext, idx);
	if(!strlen(tmp))	{
	SendClientMessage(playerid, red, "USAGE: /saveskin [Skinid]");
	return 1;
	}
	skinid = strval(tmp);

 	if(skinid >= 0 && skinid <= 300)	{
 		dUserSetINT(PlayerName2(playerid)).("FavSkin",skinid);
	 	format(str, sizeof(str), "You have successfully saved this skin[%d]",skinid);
	 	SendClientMessage(playerid,yellow,str);	SendClientMessage(playerid,yellow,"Type: /useskin to use this skin when you spawn or /dontuseskin to stop using skin");
		dUserSetINT(PlayerName2(playerid)).("UseSkin",1);
	 	CMDMessageToAdmins(playerid,"SAVESKIN");
		return 1;
	} else {
 	SendClientMessage(playerid, green, "ERROR: Invalid Skin ID");
 	return 1; 	}
	} else	{
  	SendClientMessage(playerid,red,"ERROR: You must be an administrator to use this command");   }
	return 1;
	}
//------------------------------------------------------------------------------
	if(strcmp(cmd, "/useskin", true) == 0)	{
	if((PlayerInfo[playerid][Level] >= 1) && (PlayerInfo[playerid][LoggedIn] == 1))  {
    dUserSetINT(PlayerName2(playerid)).("UseSkin",1);
    SetPlayerSkin(playerid,dUserINT(PlayerName2(playerid)).("FavSkin"));
	SendClientMessage(playerid,yellow,"Skin now in use");   }
	return 1;	}
	if(strcmp(cmd, "/dontuseskin", true) == 0)	{
	if((PlayerInfo[playerid][Level] >= 1) && (PlayerInfo[playerid][LoggedIn] == 1))  {
	dUserSetINT(PlayerName2(playerid)).("UseSkin",0);
	SendClientMessage(playerid,yellow,"Skin will no longer be used");   }
	return 1;	}

//------------------------------------------------------------------------------
	if(strcmp(cmd, "/resetstats", true) == 0)	{
	if(PlayerInfo[playerid][LoggedIn] == 1)	{
		// save as backup
	   	dUserSetINT(PlayerName2(playerid)).("oldkills",PlayerInfo[playerid][Kills]);
	   	dUserSetINT(PlayerName2(playerid)).("olddeaths",PlayerInfo[playerid][Deaths]);
		// stats reset
		PlayerInfo[playerid][Kills] = 0;
		PlayerInfo[playerid][Deaths] = 0;
		dUserSetINT(PlayerName2(playerid)).("kills",PlayerInfo[playerid][Kills]);
	   	dUserSetINT(PlayerName2(playerid)).("deaths",PlayerInfo[playerid][Deaths]);
        PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
		SendClientMessage(playerid,yellow,"ACCOUNT: You have successfully reset your stats. Your kills and deaths are: 0");
	} else    {
		SendClientMessage(playerid,red, "ERROR: You must have an account to use this command");   }
	return 1;	}
//------------------------------------------------------------------------------
	if(strcmp(cmd, "/changepass", true) == 0)	{
	if(PlayerInfo[playerid][LoggedIn] ==1)	{
	    new tmp[256];
     	tmp = strtok(cmdtext, idx);
 		if(!strlen(tmp))	{
			SendClientMessage(playerid, red, "USAGE: /changepass [password]");
			return 1;	}

		if(strlen(cmdtext) < 15)	{
			SendClientMessage(playerid,red,"ACCOUNT: Incorrect password length");
			return 1;	}

		dUserSetINT(PlayerName2(playerid)).("password_hash",udb_hash(cmdtext[12]) );
		dUserSet(PlayerName2(playerid)).("Password",cmdtext[12]);
		PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
        format(string, sizeof(string),"ACCOUNT: You have successfully changed your password to [ %s ]",cmdtext[12]);
		SendClientMessage(playerid,yellow,string);
	} else    {
		SendClientMessage(playerid,red, "ERROR: You must have an account to use this command");   }
	return 1;	}

//==============================================================================
	if(strcmp(cmd, "/stats", true) == 0)	 {
	    new player1, tmp[256];
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp))	{
		    ShowScore(playerid);
			return 1;	}
		player1 = strval(tmp);

	 	if(IsPlayerConnected(player1))		{
			GetPlayerName(player1, playername, sizeof(playername));
 			format(string, sizeof(string), "<> %s's Stats:  Kills: %d | Deaths: %d | Ratio: %0.2f | Money: $%d ",playername, PlayerInfo[player1][Kills], PlayerInfo[player1][Deaths],Float:PlayerInfo[player1][Deaths]/Float:PlayerInfo[player1][Deaths],GetPlayerMoney(player1));
			SendClientMessage(playerid, green, string);
   			return 1;
		} else {
 		SendClientMessage(playerid, COLOR_WHITE, "Player Not Connected!");
 		return 1;	}
	 }
//------------------------------------------------------------------------------
	if (strcmp(cmd, "/moveplayer", true) ==0 )	{
	if(PlayerInfo[playerid][Level] >= 3) {
	    new tmp[256], Float:X, Float:Y, Float:Z;
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp))	{
			SendClientMessage(playerid, red, "USAGE: /moveplayer [playerid] [up / down / +x / -x / +y / -y ]");
			return 1;	}

		new player1;
		player1 = strval(tmp);
		if(!IsPlayerConnected(player1) || player1 == INVALID_PLAYER_ID || (PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) )	{
		SendClientMessage(playerid,red,"ERROR: Player is not connected or is max admin level");
		return 1;	}
		tmp = strtok(cmdtext, idx);

		if(strcmp(tmp,"up",true) == 0)	{
			GetPlayerPos(player1,X,Y,Z);	SetPlayerPos(player1,X,Y,Z+5); SetCameraBehindPlayer(player1);	}
		else if(strcmp(tmp,"down",true) == 0)	{
			GetPlayerPos(player1,X,Y,Z);	SetPlayerPos(player1,X,Y,Z-5); SetCameraBehindPlayer(player1);	}
		else if(strcmp(tmp,"+x",true) == 0)	{
			GetPlayerPos(player1,X,Y,Z);	SetPlayerPos(player1,X+5,Y,Z);	}
		else if(strcmp(tmp,"-x",true) == 0)	{
			GetPlayerPos(player1,X,Y,Z);	SetPlayerPos(player1,X-5,Y,Z); }
		else if(strcmp(tmp,"+y",true) == 0)	{
			GetPlayerPos(player1,X,Y,Z);	SetPlayerPos(player1,X,Y+5,Z);	}
		else if(strcmp(tmp,"-y",true) == 0)	{
			GetPlayerPos(player1,X,Y,Z);	SetPlayerPos(player1,X,Y-5,Z);	}
		else	{
			SendClientMessage(playerid,red,"USAGE: /moveplayer [playerid] [up / down / +x / -x / +y / -y ]");	}
		return 1;
	} else	{
  	SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");   }
	return 1;	}
//------------------------------------------------------------------------------
	if(strcmp(cmd, "/lweaps", true) == 0)	{
	if(PlayerInfo[playerid][Level] >= 3) {
	GivePlayerWeapon(playerid,9,1); GivePlayerWeapon(playerid,24,1000); GivePlayerWeapon(playerid,26,1000); GivePlayerWeapon(playerid,28,1000); GivePlayerWeapon(playerid,31,1000); GivePlayerWeapon(playerid,34,1000); GivePlayerWeapon(playerid,38,1000); GivePlayerWeapon(playerid,16,1000); GivePlayerWeapon(playerid,42,1000); GivePlayerWeapon(playerid,14,1000); GivePlayerWeapon(playerid,46,1000);
	} else	{
  	SendClientMessage(playerid,red,"ERROR: You need to be level 3 to use this command");   }
	return 1;	}
//------------------------------------------------------------------------------
	if(strcmp(cmd, "/lammo", true) == 0)	{
	if(PlayerInfo[playerid][Level] >= 3) {
	MaxAmmo(playerid);
	} else	{
  	SendClientMessage(playerid,red,"ERROR: You need to be level 3 to use this command");   }
	return 1;	}
//------------------------------------------------------------------------------
	if((strcmp(cmdtext,"/god",true)==0)||(strcmp(cmdtext,"/god",true)==0))    {
	if(PlayerInfo[playerid][Level] >= 3) {
    	if(PlayerInfo[playerid][God] == 0)	{
        	PlayerInfo[playerid][God] = 1;
	        SetPlayerHealth(playerid,100000);
			GivePlayerWeapon(playerid,38,50000); GivePlayerWeapon(playerid,15,50000); GivePlayerWeapon(playerid,26,50000);
            SendClientMessage(playerid,green,"GODMODE ON");
		} else	{
            PlayerInfo[playerid][God] = 0;
            SendClientMessage(playerid,red,"GODMODE OFF");
	        SetPlayerHealth(playerid, 100); GivePlayerWeapon(playerid,35,0);	}
	} else	{
  	SendClientMessage(playerid,red,"ERROR: You need to be level 3 to use this command");   }
	return 1;	}
//------------------------------------------------------------------------------
	if(strcmp(cmd, "/die", true) == 0) {
	if(PlayerInfo[playerid][Level] >= 4) {
		new Float:x, Float:y, Float:z ;
		GetPlayerPos( playerid, Float:x, Float:y, Float:z );
		CreateExplosion(Float:x+10, Float:y, Float:z, 8,10.0);
		CreateExplosion(Float:x-10, Float:y, Float:z, 8,10.0);
		CreateExplosion(Float:x, Float:y+10, Float:z, 8,10.0);
		CreateExplosion(Float:x, Float:y-10, Float:z, 8,10.0);
		CreateExplosion(Float:x+10, Float:y+10, Float:z, 8,10.0);
		CreateExplosion(Float:x-10, Float:y+10, Float:z, 8,10.0);
		CreateExplosion(Float:x-10, Float:y-10, Float:z, 8,10.0);
	} else	{
    SendClientMessage(playerid,red,"ERROR: You need to be level 4 to use this command");   }
	return 1;	}
//------------------------------------------------------------------------------
	if(strcmp(cmd, "/burn", true) == 0)	{
    if(PlayerInfo[playerid][Level] >= 2) {
	    new tmp[256];
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp))	{
			SendClientMessage(playerid, red, "USAGE: /burn [playerid]");
			return 1;	}
		new player1;
		player1 = strval(tmp);
		if(!IsPlayerConnected(player1) || player1 == INVALID_PLAYER_ID && PlayerInfo[playerid][Level] == 1)	{
		SendClientMessage(playerid,red,"ERROR: Player is not connected");
		return 1;	}
		tmp = strtok(cmdtext, idx);

		GetPlayerName(player1, playername, sizeof(playername));
		GetPlayerName(playerid, adminname, sizeof(adminname));
		CMDMessageToAdmins(playerid,"BURN");
		format(string,256,"You have been flamed by Administrator \"%s\".",adminname);	SendClientMessage(player1,blue,string);
		new Float:burnx, Float:burny, Float:burnz;
		GetPlayerPos(player1,burnx, burny, burnz);
		CreateExplosion(burnx, burny , burnz + 3, 1, 10);
	} else	{
  	SendClientMessage(playerid,red,"ERROR: You need to be level 2 to use this command");   }
	return 1;	}
//------------------------------------------------------------------------------
	if(strcmp(cmd, "/explode", true) == 0)	{
	if(PlayerInfo[playerid][Level] >= 3) {
	    new tmp[256];
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp))	{
			SendClientMessage(playerid, red, "USAGE: /explode [playerid] [reason]");
			return 1;	}
		new player1;
		player1 = strval(tmp);
		if(!IsPlayerConnected(player1) || player1 == INVALID_PLAYER_ID || (PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) )	{
		SendClientMessage(playerid,red,"ERROR: Player is not connected or is max admin level");
		return 1;	}
		tmp = strtok(cmdtext, idx);

		GetPlayerName(player1, playername, sizeof(playername));
		GetPlayerName(playerid, adminname, sizeof(adminname));
		CMDMessageToAdmins(playerid,"EXPLODE");
		format(string,256,"You have been exploded by Administrator %s [reason: %d]",adminname,cmdtext[11]);	SendClientMessage(player1,blue,string);
		format(string,256,"You have exploded %s [reason: %d]", playername,cmdtext[11]); SendClientMessage(playerid,blue,string);
		new Float:burnx, Float:burny, Float:burnz;
		GetPlayerPos(player1,burnx, burny, burnz);
		CreateExplosion(burnx, burny , burnz, 7,10.0);
	} else	{
  	SendClientMessage(playerid,red,"ERROR: You need to be level 3 to use this command");   }
	return 1;	}
//------------------------------------------------------------------------------
	if(strcmp(cmd, "/spawnplayer", true) == 0)	{
	if(PlayerInfo[playerid][Level] >= 2) {
	    new tmp[256];
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp))	{
			SendClientMessage(playerid, red, "USAGE: /spawnplayer [playerid]");
			return 1;	}
		new player1;
		player1 = strval(tmp);
		if(!IsPlayerConnected(player1) || player1 == INVALID_PLAYER_ID || (PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) )	{
		SendClientMessage(playerid,red,"ERROR: Player is not connected or is yourself");
		return 1;	}
		tmp = strtok(cmdtext, idx);

		GetPlayerName(player1, playername, sizeof(playername));	GetPlayerName(playerid, adminname, sizeof(adminname));
		CMDMessageToAdmins(playerid,"SPAWNPLAYER");
		format(string,256,"You have been spawned by Administrator %s",adminname);	SendClientMessage(player1,blue,string);
		format(string,256,"You have spawned %s ", playername); SendClientMessage(playerid,blue,string);
		SpawnPlayer(player1);
	} else	{
  	SendClientMessage(playerid,red,"ERROR: You need to be level 3 to use this command");   }
	return 1;	}
//------------------------------------------------------------------------------
 	if(strcmp(cmd, "/setcolour", true) == 0)	{
	if(PlayerInfo[playerid][Level] >= 2) {
 		new tmp[256], player1, Colour;
		tmp = strtok(cmdtext, idx);

		if(!strlen(tmp)) {
		SendClientMessage(playerid, red, "USAGE: /setcolour [playerid] [Colour]");
		SendClientMessage(playerid, red, "Colours: 0=black 1=white 2=red 3=orange 4=yellow 5=green 6=blue 7=purple 8=brown 9=pink");
		return 1;	}

		player1 = strval(tmp);
		if(!IsPlayerConnected(player1) || player1 == INVALID_PLAYER_ID || (PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) )
		return SendClientMessage(playerid,red,"ERROR: Player is not connected or is yourself");
		tmp = strtok(cmdtext, idx);

		Colour = strval(tmp);
		if(Colour > 9 )	{
		SendClientMessage(playerid, red, "USAGE: /setcolour [playerid] [Colour]");
		SendClientMessage(playerid, red, "Colours: 0=black 1=white 2=red 3=orange 4=yellow 5=green 6=blue 7=purple 8=brown 9=pink");
		return 1;	}
		tmp = strtok(cmdtext, idx);

        CMDMessageToAdmins(playerid,"SETCOLOUR");
		GetPlayerName(player1, playername, sizeof(playername));	GetPlayerName(playerid, adminname, sizeof(adminname));

		if(player1 == playerid) { format(string,256,"You have changed your colour", playername); SendClientMessage(playerid,blue,string);
		} else {
		format(string,256,"You have changed %s's colour", playername); SendClientMessage(playerid,blue,string); }

        if(Colour == 0) {		SetPlayerColor(player1,black); format(string,256,"Administrator %s has changed your colour to black",adminname); if(player1 != playerid) SendClientMessage(player1,blue,string); return 1;	}
        else if(Colour == 1) {	SetPlayerColor(player1,COLOR_WHITE); format(string,256,"Administrator %s has changed your colour to white",adminname); if(player1 != playerid) SendClientMessage(player1,blue,string); return 1;	}
        else if(Colour == 2) {	SetPlayerColor(player1,red); format(string,256,"Administrator %s has changed your colour to red",adminname); if(player1 != playerid) SendClientMessage(player1,blue,string); return 1;	}
        else if(Colour == 3) {	SetPlayerColor(player1,orange); format(string,256,"Administrator %s has changed your colour to orange",adminname); if(player1 != playerid) SendClientMessage(player1,blue,string); return 1;	}
        else if(Colour == 4) {	SetPlayerColor(player1,yellow); format(string,256,"Administrator %s has changed your colour to yellow",adminname); if(player1 != playerid) SendClientMessage(player1,blue,string); return 1;	}
        else if(Colour == 5) {	SetPlayerColor(player1,COLOR_GREEN1); format(string,256,"Administrator %s has changed your colour to green",adminname); if(player1 != playerid) SendClientMessage(player1,blue,string); return 1;	}
        else if(Colour == 6) {	SetPlayerColor(player1,COLOR_BLUE);format(string,256,"Administrator %s has changed your colour to blue",adminname); if(player1 != playerid) SendClientMessage(player1,blue,string); return 1;	}
        else if(Colour == 7) {	SetPlayerColor(player1,COLOR_PURPLE); format(string,256,"Administrator %s has changed your colour to purple",adminname); if(player1 != playerid) SendClientMessage(player1,blue,string); return 1;	}
        else if(Colour == 8) {	SetPlayerColor(player1,COLOR_BROWN);format(string,256,"Administrator %s has changed your colour to brown",adminname); if(player1 != playerid) SendClientMessage(player1,blue,string); return 1;	}
        else if(Colour == 9) {	SetPlayerColor(player1,COLOR_PINK); format(string,256,"Administrator %s has changed your colour to pink",adminname); if(player1 != playerid) SendClientMessage(player1,blue,string); return 1;	}

	} else	{
  	SendClientMessage(playerid,red,"ERROR: You need to be level 1 to use this command");   }
	return 1;	}
//------------------------------------------------------------------------------
	if(strcmp(cmd, "/setweather", true) == 0)	{
	if(PlayerInfo[playerid][Level] >= 3) {
	    new tmp[256];
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp))	{
			SendClientMessage(playerid, red, "USAGE: /setweather [playerid] [weatherid]");
			return 1;	}

      	new player1;
		player1 = strval(tmp);
		if(!IsPlayerConnected(player1) || player1 == INVALID_PLAYER_ID || (PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) )	{
		SendClientMessage(playerid,red,"ERROR: Player is not connected or is yourself");
		return 1;	}
		tmp = strtok(cmdtext, idx);

		new weather;
		weather = strval(tmp);
		tmp = strtok(cmdtext, idx);

		GetPlayerName(player1, playername, sizeof(playername));		GetPlayerName(playerid, adminname, sizeof(adminname));
		format(string,256,"Administrator %s has changed your weather",adminname);	if(player1 != playerid)	{	SendClientMessage(player1,blue,string); }
		format(string,256,"You have changed %s's weather ",playername); SendClientMessage(playerid,blue,string);
		CMDMessageToAdmins(playerid,"SETWEATHER");	SetPlayerWeather(player1,weather); PlayerPlaySound(playerid,1057,0.0,0.0,0.0); PlayerPlaySound(player1,1057,0.0,0.0,0.0);
	} else	{
  	SendClientMessage(playerid,red,"ERROR: You need to be level 3 to use this command");   }
	return 1;	}
//------------------------------------------------------------------------------
	if(strcmp(cmd, "/settime", true) == 0)	{
	if(PlayerInfo[playerid][Level] >= 3) {
	    new tmp[256];
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp))	{
			SendClientMessage(playerid, red, "USAGE: /settime [playerid] [hour] [minute]");
			return 1;	}

      	new player1;
		player1 = strval(tmp);
		if(!IsPlayerConnected(player1) || player1 == INVALID_PLAYER_ID || (PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) )	{
		SendClientMessage(playerid,red,"ERROR: Player is not connected or is yourself");
		return 1;	}
		tmp = strtok(cmdtext, idx);

        if(!strlen(tmp))	{
			SendClientMessage(playerid, red, "USAGE: /settime [playerid] [hour] [minute]");
			return 1;	}

		new timeh;
		timeh = strval(tmp);
		tmp = strtok(cmdtext, idx);

		if(!strlen(tmp))	{
			SendClientMessage(playerid, red, "USAGE: /settime [playerid] [hour] [minute]");
			return 1;	}

		new timem;
		timem = strval(tmp);
		tmp = strtok(cmdtext, idx);

		GetPlayerName(player1, playername, sizeof(playername));		GetPlayerName(playerid, adminname, sizeof(adminname));
		format(string,256,"Administrator %s has changed your time to %d : %d",adminname,timeh,timem);	if(player1 != playerid)	{	SendClientMessage(player1,blue,string); }
		format(string,256,"You have changed %s's time to %d:%d",playername,timeh,timem); SendClientMessage(playerid,blue,string);
		CMDMessageToAdmins(playerid,"SETTIME"); SetPlayerTime(player1,timeh,timem); PlayerPlaySound(playerid,1057,0.0,0.0,0.0); PlayerPlaySound(player1,1057,0.0,0.0,0.0);
	} else	{
  	SendClientMessage(playerid,red,"ERROR: You need to be level 3 to use this command");   }
	return 1;	}
//------------------------------------------------------------------------------
	if(strcmp(cmd, "/setmytime", true) == 0)	{
	if(PlayerInfo[playerid][Level] >= 1) {
	    new tmp[256];
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp))	{
			SendClientMessage(playerid, red, "USAGE: /setmytime [hour] [minute]");
			return 1;	}

        if(!strlen(tmp))	{
			SendClientMessage(playerid, red, "USAGE: /setmytime [hour] [minute]");
			return 1;	}

		new timeh;
		timeh = strval(tmp);
		tmp = strtok(cmdtext, idx);

		if(!strlen(tmp))	{
			SendClientMessage(playerid, red, "USAGE: /setmytime [hour] [minute]");
			return 1;	}

		new timem;
		timem = strval(tmp);
		tmp = strtok(cmdtext, idx);

		GetPlayerName(playerid, adminname, sizeof(adminname));
		format(string,256,"You have changed your time to %d:%d",adminname,timeh,timem); SendClientMessage(playerid,blue,string);
		CMDMessageToAdmins(playerid,"SETMYTIME"); SetPlayerTime(playerid,timeh,timem); PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
	} else	{
  	SendClientMessage(playerid,red,"ERROR: You need to be level 1 to use this command");   }
	return 1;	}
//==============================================================================
	if(strcmp(cmd, "/setworld", true) == 0)	{
	if(PlayerInfo[playerid][Level] >= 3) {
	    new tmp[256];
     	tmp = strtok(cmdtext, idx);
 		if(!strlen(tmp))	{
			SendClientMessage(playerid, red, "USAGE: /setworld [playerid] [virtual world]");
			return 1;	}

		new player1;
		player1 = strval(tmp);
		if(!IsPlayerConnected(player1) || player1 == INVALID_PLAYER_ID)		{
			SendClientMessage(playerid,red,"ERROR: Player is not connected");
			return 1;		}
		tmp = strtok(cmdtext, idx);

		new world;
		world = strval(tmp);
		tmp = strtok(cmdtext, idx);

		GetPlayerName(player1, playername, sizeof(playername));	GetPlayerName(playerid, adminname, sizeof(adminname));
		format(string,256,"Administrator %s has set your virtual world to %d",adminname,world);	if(player1 != playerid)	{	SendClientMessage(player1,blue,string); }
		format(string,256,"You have set %s's virtual world to %d",playername,world); SendClientMessage(playerid,blue,string);
		CMDMessageToAdmins(playerid,"SETWORLD"); SetPlayerVirtualWorld(player1,world);
		PlayerPlaySound(playerid,1057,0.0,0.0,0.0); PlayerPlaySound(player1,1057,0.0,0.0,0.0);
	} else	{
  	SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");   }
	return 1;	}

//==============================================================================
	if(strcmp(cmd, "/setinterior", true) == 0)	{
		if(PlayerInfo[playerid][Level] >= 2) {
	    new tmp[256];
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp))	{
			SendClientMessage(playerid, red, "USAGE: /setinterior [playerid] [interiorid]");
			return 1;	}
		new player1;
		player1 = strval(tmp);
		if(!IsPlayerConnected(player1) || player1 == INVALID_PLAYER_ID)		{
			SendClientMessage(playerid,red,"ERROR: Player is not connected");
			return 1;	}
		tmp = strtok(cmdtext, idx);

		new interior;
		interior = strval(tmp);
		if(interior < 0 || interior > 25)		{
			SendClientMessage(playerid, red, "Interior can't be below 0 or above 26");
			return 1;	}
		tmp = strtok(cmdtext, idx);

		CMDMessageToAdmins(playerid,"SETINTERIOR");
		SetPlayerInterior(player1,interior);
		} else	{
 		SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");   }
		return 1;	}

//------------------------------------------------------------------------------
	if(strcmp(cmd, "/disarm", true) == 0)	{
	if(PlayerInfo[playerid][Level] >= 2) {
	    new tmp[256];
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp))	{
			SendClientMessage(playerid, red, "USAGE: /disarm [playerid]");
			return 1;	}
		new player1;
		player1 = strval(tmp);
		if(!IsPlayerConnected(player1) || player1 == INVALID_PLAYER_ID || (PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) )	{
		SendClientMessage(playerid,red,"ERROR: Player is not connected or is yourself");
		return 1;	}
		tmp = strtok(cmdtext, idx);

		GetPlayerName(player1, playername, sizeof(playername));	GetPlayerName(playerid, adminname, sizeof(adminname));
		CMDMessageToAdmins(playerid,"DISARM");  PlayerPlaySound(player1,1057,0.0,0.0,0.0);
		format(string,256,"You have been disarmed by Administrator %s",adminname);	SendClientMessage(player1,blue,string);
		format(string,256,"You have disarmed %s ", playername); SendClientMessage(playerid,blue,string);
		ResetPlayerWeapons(player1);
	} else	{
  	SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");   }
	return 1;	}
//------------------------------------------------------------------------------
	if(strcmp(cmd, "/kick", true) == 0)	{
	if(PlayerInfo[playerid][Level] >= 3) {
	    new tmp[256];
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp))	{
		SendClientMessage(playerid, red, "USAGE: /kick [playerid] [reason]");
		return 1;	}
		new player1;
		player1 = strval(tmp);
		if(!IsPlayerConnected(player1) || player1 == INVALID_PLAYER_ID || (PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel]) )	{
		SendClientMessage(playerid,red,"ERROR: Player is not connected or is yourself");
		return 1;	}
		tmp = strtok(cmdtext, idx);

		GetPlayerName(player1, playername, sizeof(playername));		GetPlayerName(playerid, adminname, sizeof(adminname));
		CMDMessageToAdmins(playerid,"KICK");
		format(string,256,"%s has been kicked by Administrator %s [reason: %s] ",playername,adminname,cmdtext[7]);	SendClientMessageToAll(grey,string);
		SaveToFile("KickLog",string); Kick(player1);
	} else	{
  	SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");   }
	return 1;	}
//------------------------------------------------------------------------------
	if(strcmp(cmd, "/ban", true) == 0)	{
	if(PlayerInfo[playerid][Level] >= 4) {
	    new tmp[256];
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp))	{
		SendClientMessage(playerid, red, "USAGE: /ban [playerid] [reason]");
		return 1;	}
		new player1;
		player1 = strval(tmp);
		if(!IsPlayerConnected(player1) || player1 == INVALID_PLAYER_ID || (PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel]) )	{
		SendClientMessage(playerid,red,"ERROR: Player is not connected or is yourself");
		return 1;	}
		tmp = strtok(cmdtext, idx);

		GetPlayerName(player1, playername, sizeof(playername));		GetPlayerName(playerid, adminname, sizeof(adminname));
	   	new year,month,day;	getdate(year, month, day);	new strdate[20];	format(strdate, sizeof(strdate), "%d/%d/%d",day,month,year);
		CMDMessageToAdmins(playerid,"BAN");
		format(string,256,"%s has been banned by Administrator %s [Reason: %s] [Date: %s] ",playername,adminname,cmdtext[6],strdate);	SendClientMessageToAll(grey,string);
		SaveToFile("BanLog",string); Ban(player1);
	} else	{
  	SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");   }
	return 1;	}
//------------------------------------------------------------------------------
	if(strcmp(cmd, "/slap", true) == 0)	{
	if(PlayerInfo[playerid][Level] >= 2) {
	    new tmp[256];
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp))	{
		SendClientMessage(playerid, red, "USAGE: /slap [playerid] [reason]");
		return 1;	}
		new player1;
		player1 = strval(tmp);
		if(!IsPlayerConnected(player1) || player1 == INVALID_PLAYER_ID || (PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel]) )	{
		SendClientMessage(playerid,red,"ERROR: Player is not connected or is yourself");
		return 1;	}
		tmp = strtok(cmdtext, idx);

		GetPlayerName(player1, playername, sizeof(playername));		GetPlayerName(playerid, adminname, sizeof(adminname));
		CMDMessageToAdmins(playerid,"SLAP");
		format(string,256,"You have been slapped by Administrator %s %s ",adminname,cmdtext[7]);	SendClientMessage(player1,red,string);
		format(string,256,"You have slapped %s %s ",playername,cmdtext[7]);	SendClientMessage(playerid,blue,string);
        new Float:Health, Float:x, Float:y, Float:z; GetPlayerHealth(player1,Health); SetPlayerHealth(player1,Health-25); GetPlayerPos(player1,x,y,z);	SetPlayerPos(player1,x,y,z+5); PlayerPlaySound(playerid,1190,0.0,0.0,0.0); PlayerPlaySound(player1,1190,0.0,0.0,0.0);
	} else	{
  	SendClientMessage(playerid,red,"ERROR: You need to be level 2 to use this command");   }
	return 1;	}
//------------------------------------------------------------------------------
	if(strcmp(cmd, "/mute", true) == 0)	{
	if(PlayerInfo[playerid][Level] >= 2) {
	    new tmp[256];
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp))	{
		SendClientMessage(playerid, red, "USAGE: /mute [playerid] [reason]");
		return 1;	}
		new player1;
		player1 = strval(tmp);
		if(!IsPlayerConnected(player1) || player1 == INVALID_PLAYER_ID || (PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel]))	{
		SendClientMessage(playerid,red,"ERROR: Player is not connected or is yourself");
		return 1;	}
		tmp = strtok(cmdtext, idx);

		GetPlayerName(player1, playername, sizeof(playername));		GetPlayerName(playerid, adminname, sizeof(adminname));
		CMDMessageToAdmins(playerid,"MUTE");
		PlayerPlaySound(player1,1057,0.0,0.0,0.0);  PlayerInfo[player1][Muted] = 1; PlayerInfo[player1][MuteWarnings] = 0;
		format(string,256,"You have been muted by Administrator %s [reason: %s] ",adminname,cmdtext[8]);	SendClientMessage(player1,red,string);
		format(string,256,"You have muted %s [reason: %s] ",playername,cmdtext[8]);	SendClientMessage(playerid,blue,string);
	} else	{
  	SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");   }
	return 1;	}
//------------------------------------------------------------------------------
	if(strcmp(cmd, "/unmute", true) == 0)	{
	if(PlayerInfo[playerid][Level] >= 2) {
	    new tmp[256];
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp))	{
		SendClientMessage(playerid, red, "USAGE: /unmute [playerid] [reason]");
		return 1;	}
		new player1;
		player1 = strval(tmp);
		if(!IsPlayerConnected(player1) || player1 == INVALID_PLAYER_ID )	{
		SendClientMessage(playerid,red,"ERROR: Player is not connected or is yourself");
		return 1;	}
		tmp = strtok(cmdtext, idx);

		GetPlayerName(player1, playername, sizeof(playername));		GetPlayerName(playerid, adminname, sizeof(adminname));
		CMDMessageToAdmins(playerid,"UNMUTE");
		PlayerPlaySound(player1,1057,0.0,0.0,0.0);  PlayerInfo[player1][Muted] = 0; PlayerInfo[player1][MuteWarnings] = 0;
		format(string,256,"You have been unmuted by Administrator %s",adminname);	SendClientMessage(player1,red,string);
		format(string,256,"You have unmuted %s",playername);	SendClientMessage(playerid,blue,string);
	} else	{
  	SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");   }
	return 1;	}
//------------------------------------------------------------------------------
	if(strcmp(cmd, "/setlevel", true) == 0)
	{
	if(PlayerInfo[playerid][Level] >= 5) {
		new tmp[256], player1, level;
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp))return SendClientMessage(playerid, red, "USAGE: /setlevel [playerid] [level]");

		player1 = strval(tmp);
		if(!IsPlayerConnected(player1) || player1 == INVALID_PLAYER_ID) return SendClientMessage(playerid,red,"ERROR: Player is not connected");
		if(PlayerInfo[playerid][LoggedIn] == 0)	return SendClientMessage(playerid,red,"ERROR: Player must be registered to be an admin");
		tmp = strtok(cmdtext, idx);

		if(!strlen(tmp)) return SendClientMessage(playerid, red, "USAGE: /setlevel [playerid] [level]");

		level = strval(tmp);
		if(level > ServerInfo[MaxAdminLevel] ) return SendClientMessage(playerid,red,"ERROR: Incorrect Level");
		tmp = strtok(cmdtext, idx);

       	CMDMessageToAdmins(playerid,"SETLEVEL");
		GetPlayerName(player1, playername, sizeof(playername));		GetPlayerName(playerid, adminname, sizeof(adminname));
       	new year,month,day;   getdate(year, month, day);
		if(level==1) { format(string,256,"Administrator %s has set you to Member Status [ level  %d ]",adminname,level); SendClientMessage(player1,blue,string);
		} else { format(string,256,"Administrator %s has set you to Administrator Status [ level  %d ]",adminname,level); SendClientMessage(player1,blue,string); }
		format(string,256,"You have made %s [Level %d] on %d/%d/%d", playername, level, day, month, year); SendClientMessage(playerid,blue,string);
		format(string,256,"Administrator %s has made %s [Level %d] on %d/%d/%d",adminname, playername, level, day, month, year); SaveToFile("AdminLog",string);
		dUserSetINT(PlayerName2(player1)).("level",(level));
		PlayerInfo[player1][Level] = level;
		} else	{
		SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");   }
	return 1;	}
//------------------------------------------------------------------------------
	if(strcmp(cmd, "/settemplevel", true) == 0)
	{
	if(PlayerInfo[playerid][Level] >= 4) {
		new tmp[256];
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp)) return	SendClientMessage(playerid, red, "USAGE: /settemplevel [playerid] [level]");

		new player1;
		player1 = strval(tmp);
		if(!IsPlayerConnected(player1) || player1 == INVALID_PLAYER_ID || player1 == playerid || (PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) )	{
		SendClientMessage(playerid,red,"ERROR: Player is not connected Or is yourself" );
		return 1;	}
		tmp = strtok(cmdtext, idx);

		if(!strlen(tmp)) return
			SendClientMessage(playerid, red, "USAGE: /settemplevel [playerid] [level]");

		new level;
		level = strval(tmp);
		if(level > PlayerInfo[playerid][Level] ) return	SendClientMessage(playerid,red,"ERROR: Incorrect Level");
		tmp = strtok(cmdtext, idx);

       	CMDMessageToAdmins(playerid,"SETTEMPLEVEL");
		GetPlayerName(player1, playername, sizeof(playername));
		GetPlayerName(playerid, adminname, sizeof(adminname));
       	new year,month,day;   getdate(year, month, day);
		if(level==1) { format(string,256,"Administrator %s has temporarily set you to Member Status [ level  %d ]",adminname,level); SendClientMessage(player1,blue,string);
		} else { format(string,256,"Administrator %s has temporarily set you to Administrator Status [ level  %d ]",adminname,level); SendClientMessage(player1,blue,string); }
		format(string,256,"You have temporarily made %s [Level %d] on %d/%d/%d", playername, level, day, month, year); SendClientMessage(playerid,blue,string);
		format(string,256,"Administrator %s has temporarily made %s [Level %d] on %d/%d/%d",adminname, playername, level, day, month, year); SaveToFile("TempAdminLog",string);
		PlayerInfo[player1][Level] = level;
		} else	{
		SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");   }
	return 1;	}
//------------------------------------------------------------------------------
	if(strcmp(cmd, "/ljail", true) == 0)
	{
	if(PlayerInfo[playerid][Level] >= 3) {
		new tmp[256];
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp))return 	SendClientMessage(playerid, red, "USAGE: /ljail [playerid] [time] [reason]");

		new player1;
		player1 = strval(tmp);
		if(!IsPlayerConnected(player1) || player1 == INVALID_PLAYER_ID || (PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel]))	{
		SendClientMessage(playerid,red,"ERROR: Player is not connected or is yourself");
		return 1;	}
		tmp = strtok(cmdtext, idx);

		if(!strlen(tmp)) return SendClientMessage(playerid, red, "USAGE: /ljail [playerid] [time] [reason]");

		new jtime;
		jtime = strval(tmp);
		if(jtime < 10 )	{
		SendClientMessage(playerid,red,"ERROR: Incorrect Time (must be higher than 10 seconds)");
		return 1;	}
		tmp = strtok(cmdtext, idx);

        if(!strlen(tmp)) return SendClientMessage(playerid, red, "USAGE: /ljail [playerid] [time] [reason]");

       	CMDMessageToAdmins(playerid,"LJail");
		GetPlayerName(player1, playername, sizeof(playername));		GetPlayerName(playerid, adminname, sizeof(adminname));
		format(string,256,"Administrator %s has jailed you for %d seconds[reason: %s]",adminname,jtime,cmdtext[12]);	SendClientMessage(player1,blue,string);
		format(string,256,"Administrator %s has jailed %s for %d seconds [reason: %s]",adminname, playername, jtime, cmdtext[12]); SendClientMessageToAll(blue,string);
		PlayerInfo[player1][JailTime] = jtime;
        SetTimerEx("JailPlayer",5000,0,"d",player1);
        SetTimerEx("Jail1",1000,0,"d",player1);
        PlayerInfo[player1][Jailed] = 1;
		} else	{
		SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");   }
	return 1;	}
//------------------------------------------------------------------------------
	if(strcmp(cmd, "/freeze", true) == 0)	{
	if(PlayerInfo[playerid][Level] >= 3) {
		new tmp[256];
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp)) return	SendClientMessage(playerid, red, "USAGE: /freeze [playerid] [time] [reason]");

		new player1;
		player1 = strval(tmp);
		if(!IsPlayerConnected(player1) || player1 == INVALID_PLAYER_ID  || (PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]))	{
		SendClientMessage(playerid,red,"ERROR: Player is not connected or is yourself");
		return 1;	}
		tmp = strtok(cmdtext, idx);

		if(!strlen(tmp)) return SendClientMessage(playerid, red, "USAGE: /freeze [playerid] [time] [reason]");

		new ftime;
		ftime = strval(tmp);
		if(ftime < 5 ) return SendClientMessage(playerid,red,"ERROR: Incorrect Time (must be higher)");
		tmp = strtok(cmdtext, idx);

        if(!strlen(tmp)) return SendClientMessage(playerid, red, "USAGE: /freeze [playerid] [time] [reason]");

       	CMDMessageToAdmins(playerid,"Freeze");
		GetPlayerName(player1, playername, sizeof(playername));		GetPlayerName(playerid, adminname, sizeof(adminname));
		format(string,256,"Administrator %s has frozen you for %d seconds [reason: %s]",adminname,ftime,cmdtext[12]);	SendClientMessage(player1,blue,string);
		format(string,256,"Administrator %s has frozen %s for %d seconds [reason: %s]",adminname, playername, ftime, cmdtext[12]); SendClientMessageToAll(blue,string);
		TogglePlayerControllable(player1,false); PlayerInfo[player1][Frozen] = 1;   PlayerPlaySound(player1,1057,0.0,0.0,0.0);
		PlayerInfo[player1][FreezeTime] = ftime;
        SetTimerEx("UnFreezeMe",PlayerInfo[player1][FreezeTime]*1000,0,"d",player1);
		} else	{
		SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");   }
	return 1;	}
//------------------------------------------------------------------------------
 	if(strcmp(cmd, "/write", true) == 0)	{
	if(PlayerInfo[playerid][Level] >= 1) {
	    new tmp[256];
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp))	{
		SendClientMessage(playerid, red, "USAGE: /write [Colour] [Text]");
		SendClientMessage(playerid, red, "Colours: 0=black 1=white 2=red 3=orange 4=yellow 5=green 6=blue 7=purple 8=brown 9=pink");
		return 1;	}

		new Colour;
		Colour = strval(tmp);
		if(Colour > 9 )	{
		SendClientMessage(playerid, red, "USAGE: /write [Colour] [Text]");
		SendClientMessage(playerid, red, "Colours: 0=black 1=white 2=red 3=orange 4=yellow 5=green 6=blue 7=purple 8=brown 9=pink");
		return 1;	}
		tmp = strtok(cmdtext, idx);

        CMDMessageToAdmins(playerid,"WRITE");

        if(Colour == 0) {	format(string,256,"%s",cmdtext[9]);	SendClientMessageToAll(black,string); return 1;	}
        else if(Colour == 1) {	format(string,256,"%s",cmdtext[9]);	SendClientMessageToAll(COLOR_WHITE,string); return 1;	}
        else if(Colour == 2) {	format(string,256,"%s",cmdtext[9]);	SendClientMessageToAll(red,string); return 1;	}
        else if(Colour == 3) {	format(string,256,"%s",cmdtext[9]);	SendClientMessageToAll(orange,string); return 1;	}
        else if(Colour == 4) {	format(string,256,"%s",cmdtext[9]);	SendClientMessageToAll(yellow,string); return 1;	}
        else if(Colour == 5) {	format(string,256,"%s",cmdtext[9]);	SendClientMessageToAll(COLOR_GREEN1,string); return 1;	}
        else if(Colour == 6) {	format(string,256,"%s",cmdtext[9]);	SendClientMessageToAll(COLOR_BLUE,string); return 1;	}
        else if(Colour == 7) {	format(string,256,"%s",cmdtext[9]);	SendClientMessageToAll(COLOR_PURPLE,string); return 1;	}
        else if(Colour == 8) {	format(string,256,"%s",cmdtext[9]);	SendClientMessageToAll(COLOR_BROWN,string); return 1;	}
        else if(Colour == 9) {	format(string,256,"%s",cmdtext[9]);	SendClientMessageToAll(COLOR_PINK,string); return 1;	}

	} else	{
  	SendClientMessage(playerid,red,"ERROR: You need to be level 1 to use this command");   }
	return 1;	}
 //-----------------------------------------------------------------------------
	if(strcmp(cmd, "/lockcar", true) == 0)	 {
    if(PlayerInfo[playerid][Level] >= 2) {
	    if(IsPlayerInAnyVehicle(playerid)) {
	 	for(new i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i)) SetVehicleParamsForPlayer(GetPlayerVehicleID(playerid),i,false,true);
		CMDMessageToAdmins(playerid,"LOCKDOORS");
		PlayerInfo[playerid][DoorsLocked] = 1;
		GetPlayerName(playerid, adminname, sizeof(adminname));
		format(string,256,"Administrator %s has locked his car",adminname);	SendClientMessageToAll(blue,string);
		} else {
		SendClientMessage(playerid,red,"ERROR: You need to be in a vehicle to lock the doors"); }
	} else 	{
	SendClientMessage(playerid,red,"ERROR: You need to be level 2 to use this command");   }
 	return 1;	}
//------------------------------------------------------------------------------
	if(strcmp(cmd, "/unlockcar", true) == 0)	 {
	if(PlayerInfo[playerid][Level] >= 2) {
		if(IsPlayerInAnyVehicle(playerid)) {
	 	for(new i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i)) SetVehicleParamsForPlayer(GetPlayerVehicleID(playerid),i,false,false);
		CMDMessageToAdmins(playerid,"UNLOCKDOORS");
		PlayerInfo[playerid][DoorsLocked] = 0;
		GetPlayerName(playerid, adminname, sizeof(adminname));
		format(string,256,"Administrator %s has unlocked his car",adminname);	SendClientMessageToAll(blue,string);
        } else {
		SendClientMessage(playerid,red,"ERROR: You need to be in a vehicle to lock the doors"); }
	} else 	{
	SendClientMessage(playerid,red,"ERROR: You need to be level 2 to use this command");   }
 	return 1;	}

//------------------------------------------------------------------------------
	if(strcmp(cmd, "/fakedeath", true) == 0)
	{
    	if(PlayerInfo[playerid][Level] >= 4)
    	{
			new tmp[256], killer, killee, weapon;
			tmp = strtok(cmdtext, idx);
			if(!strlen(tmp)) return SendClientMessage(playerid, red, "USAGE: /fakedeath [killer] [killee] [weapon]");

			killer = strval(tmp);
			if(!IsPlayerConnected(killer) || killer == INVALID_PLAYER_ID || (PlayerInfo[killer][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) )
			return SendClientMessage(playerid,red,"ERROR: Killer is not connected");
			tmp = strtok(cmdtext, idx);

			killee = strval(tmp);
			if(!IsPlayerConnected(killee) || killee == INVALID_PLAYER_ID || (PlayerInfo[killee][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) )
			return SendClientMessage(playerid,red,"ERROR: Killee is not connected");
			tmp = strtok(cmdtext, idx);

			weapon = strval(tmp);
			if(!IsValidWeapon(weapon))	return SendClientMessage(playerid,red,"ERROR: Incorrect Weapon");
			tmp = strtok(cmdtext, idx);

    	  	CMDMessageToAdmins(playerid,"FAKEDEATH");
			GetPlayerName(playerid, adminname, sizeof(adminname));
			format(string,256,"Administrator %s has sent a fake death message",adminname);
			MessageToAdmins(green,string);
			SendDeathMessage(killer,killee,weapon);
		}
		else
		{
			SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
		}
		return 1;
	}

//------------------------------------------------------------------------------
	if(strcmp(cmd, "/lunjail", true) == 0)	 {
    if(PlayerInfo[playerid][Level] >= 3) {
	    new player1, tmp[256];
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp))	{
   		SendClientMessage(playerid, red, "USAGE: /lunjail [playerid]");
		return 1;	}
		player1 = strval(tmp);

	 	if(IsPlayerConnected(player1))		{
			CMDMessageToAdmins(playerid,"LUnJail");
			GetPlayerName(player1, playername, sizeof(playername));		GetPlayerName(playerid, adminname, sizeof(adminname));
			format(string,256,"Administrator %s has unjailed you",adminname);	SendClientMessage(player1,blue,string);
			format(string,256,"Administrator %s has unjailed %s",adminname, playername); SendClientMessageToAll(blue,string);
			TogglePlayerControllable(player1,true); SpawnPlayer(player1); PlayerInfo[player1][Jailed] = 0;
   			return 1;
		} else {
 		SendClientMessage(playerid, red, "Player is not connected");
 		return 1;	}
	} else 	{
	SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");   }
 	return 1;	}
//------------------------------------------------------------------------------
	if(strcmp(cmd, "/unfreeze", true) == 0)	 {
    if(PlayerInfo[playerid][Level] >= 3) {
	    new player1, tmp[256];
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp))	{
   		SendClientMessage(playerid, red, "USAGE: /unfreeze [playerid]");
		return 1;	}
		player1 = strval(tmp);

	 	if(IsPlayerConnected(player1))		{
			CMDMessageToAdmins(playerid,"Unfreeze");
			GetPlayerName(player1, playername, sizeof(playername));		GetPlayerName(playerid, adminname, sizeof(adminname));
			format(string,256,"Administrator %s has unfrozen you",adminname);	SendClientMessage(player1,blue,string);
			format(string,256,"Administrator %s has unfrozen %s",adminname, playername); SendClientMessageToAll(blue,string);
			TogglePlayerControllable(player1,true); PlayerInfo[player1][Frozen] = 0;    PlayerPlaySound(player1,1057,0.0,0.0,0.0);
   			return 1;
		} else {
 		SendClientMessage(playerid, red, "Player is not connected");
 		return 1;	}
	} else 	{
	SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");   }
 	return 1;	}
//------------------------------------------------------------------------------
	if(strcmp(cmd, "/akill", true) == 0)	 {
    if(PlayerInfo[playerid][Level] >= 3) {
	    new player1, tmp[256];
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp))	{
   		SendClientMessage(playerid, red, "USAGE: /akill [playerid]");
		return 1;	}
		player1 = strval(tmp);

	 	if(IsPlayerConnected(player1))		{
			CMDMessageToAdmins(playerid,"AKILL");
			GetPlayerName(player1, playername, sizeof(playername));	GetPlayerName(playerid, adminname, sizeof(adminname));
			format(string,256,"Administrator %s has killed you",adminname);	SendClientMessage(player1,blue,string);
			format(string,256,"You have killed %s",playername); SendClientMessage(playerid,blue,string);
			SetPlayerHealth(player1,0.0);
   			return 1;
		} else {
 		SendClientMessage(playerid, red, "Player is not connected");
 		return 1;	}
	} else 	{
	SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");   }
 	return 1;	}

//------------------------------------------------------------------------------
	if(strcmp(cmd, "/goto", true) == 0)	 {
    if(PlayerInfo[playerid][Level] >= 2) {
	    new player1, tmp[256];
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp))	{
   		SendClientMessage(playerid, red, "USAGE: /goto [playerid]");
		return 1;	}
		player1 = strval(tmp);

	 	if(IsPlayerConnected(player1))		{
			CMDMessageToAdmins(playerid,"GOTO");
			new Float:x, Float:y, Float:z;	GetPlayerPos(player1,x,y,z); SetPlayerInterior(playerid,GetPlayerInterior(player1));
			SetPlayerVirtualWorld(playerid,GetPlayerVirtualWorld(player1));
			if(GetPlayerState(playerid) == 2)	{
				SetVehiclePos(GetPlayerVehicleID(playerid),x+3,y,z);	LinkVehicleToInterior(GetPlayerVehicleID(playerid),GetPlayerInterior(player1));
				SetVehicleVirtualWorld(GetPlayerVehicleID(playerid),GetPlayerVirtualWorld(player1));
			} else	{
				SetPlayerPos(playerid,x+2,y,z);	}
			GetPlayerName(player1, playername, sizeof(playername));		GetPlayerName(playerid, adminname, sizeof(adminname));
			//format(string,256,"Administrator %s has teleported to you",adminname);	SendClientMessage(player1,blue,string);
			format(string,256,"You have teleported to %s", playername); SendClientMessage(playerid,blue,string);
   			return 1;
		} else {
 		SendClientMessage(playerid, red, "Player is not connected");
 		return 1;	}
	} else 	{
	SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");   }
 	return 1;	}
 //------------------------------------------------------------------------------
	if(strcmp(cmd, "/gethere", true) == 0)	 {
    if(PlayerInfo[playerid][Level] >= 3) {
	    new player1, tmp[256];
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp))	{
   		SendClientMessage(playerid, red, "USAGE: /gethere [playerid]");
		return 1;	}
		player1 = strval(tmp);

	 	if(IsPlayerConnected(player1))		{
			CMDMessageToAdmins(playerid,"GETHERE");
			new Float:x, Float:y, Float:z;	GetPlayerPos(playerid,x,y,z); SetPlayerInterior(player1,GetPlayerInterior(playerid));
			SetPlayerVirtualWorld(player1,GetPlayerVirtualWorld(playerid));
			if(GetPlayerState(player1) == 2)	{
			    new VehicleID = GetPlayerVehicleID(player1);
				SetVehiclePos(VehicleID,x+3,y,z);   LinkVehicleToInterior(VehicleID,GetPlayerInterior(playerid));
				SetVehicleVirtualWorld(GetPlayerVehicleID(player1),GetPlayerVirtualWorld(playerid));
			} else	{
				SetPlayerPos(player1,x+2,y,z);		}
			GetPlayerName(player1, playername, sizeof(playername));		GetPlayerName(playerid, adminname, sizeof(adminname));
			format(string,256,"You have been teleported to Administrator %s's location",adminname);	SendClientMessage(player1,blue,string);
			format(string,256,"You have teleported %s to your location", playername); SendClientMessage(playerid,blue,string);
   			return 1;
		} else {
 		SendClientMessage(playerid, red, "Player is not connected");
 		return 1;	}
	} else 	{
	SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");   }
 	return 1;	}
//------------------------------------------------------------------------------
	if(strcmp(cmd, "/giveweapon", true) == 0)
	{
	if(PlayerInfo[playerid][Level] >= 2) {
	    new player1, tmp[256],weap,ammo;
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp))	{
		SendClientMessage(playerid, red, "USAGE: /giveweapon [playerid] [weapon id]");
		return 1;	}

		player1 = strval(tmp);
		tmp = strtok(cmdtext, idx);
		weap = strval(tmp);
		if(!IsValidWeapon(weap)) return	SendClientMessage(playerid,red,"ERROR: Incorrect Weapon ID");
		tmp = strtok(cmdtext, idx);
		ammo = strval(tmp);
		GetPlayerName(player1, playername, sizeof(playername));		GetPlayerName(playerid, adminname, sizeof(adminname));
	 	if(IsPlayerConnected(player1))		{
			CMDMessageToAdmins(playerid,"GIVEWEAPON");
			GivePlayerWeapon(player1, weap, ammo);
			format(string, sizeof(string), "You have given %s weapon id: %d with %d rounds of ammo", playername,weap,ammo);	SendClientMessage(playerid,blue,string);
			format(string,256,"Administrator %s has given you weapon id: %d with %d rounds of ammo",adminname,weap,ammo); if(player1 != playerid)	{	SendClientMessage(player1,blue,string); }
   			return 1;
		} else {
 		SendClientMessage(playerid, red, "Player is not connected");
 		return 1;	}
	} else 	{
	SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");   }
 	return 1;	}
 //------------------------------------------------------------------------------
	if(strcmp(cmd, "/sethealth", true) == 0)
	{
    if(PlayerInfo[playerid][Level] >= 3) {
		new tmp[256], player1, amount;
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp)) return SendClientMessage(playerid, red, "USAGE: /sethealth [playerid] [Amount]");

		player1 = strval(tmp);
		if(!IsPlayerConnected(player1) || player1 == INVALID_PLAYER_ID || (PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) )	{
		SendClientMessage(playerid,red,"ERROR: Player is not connected or is yourself");
		return 1;	}
		tmp = strtok(cmdtext, idx);

		if(!strlen(tmp)) return SendClientMessage(playerid, red, "USAGE: /sethealth [playerid] [Amount]");

		amount = strval(tmp);
		if((amount > 100) && (PlayerInfo[player1][Level] != ServerInfo[MaxAdminLevel]) && (PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel])  )	{
		SendClientMessage(playerid,red,"ERROR: Incorrect Health Amount");  }

		tmp = strtok(cmdtext, idx);

       	CMDMessageToAdmins(playerid,"SETHEALTH");
		GetPlayerName(player1, playername, sizeof(playername));		GetPlayerName(playerid, adminname, sizeof(adminname));
		format(string,256,"Administrator %s has set your health to %d",adminname,amount);	if(player1 != playerid)	{	SendClientMessage(player1,blue,string); }
		format(string,256,"You have set %s's health to %d",playername,amount); SendClientMessage(playerid,blue,string);
		SetPlayerHealth(player1,amount);
		} else	{
		SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");   }
	return 1;	}
//------------------------------------------------------------------------------
	if(strcmp(cmd, "/setarmour", true) == 0)
	{
    if(PlayerInfo[playerid][Level] >= 3) {
		new tmp[256];
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp))	{
			SendClientMessage(playerid, red, "USAGE: /setarmour [playerid] [Amount]");
			return 1;
			}
		new player1;
		player1 = strval(tmp);
		if(!IsPlayerConnected(player1) || player1 == INVALID_PLAYER_ID || (PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) )	{
		SendClientMessage(playerid,red,"ERROR: Player is not connected or is yourself");
		return 1;	}
		tmp = strtok(cmdtext, idx);

		if(!strlen(tmp))	{
			SendClientMessage(playerid, red, "USAGE: /setarmour [playerid] [Amount]");
			return 1;
			}

		new amount;
		amount = strval(tmp);
		if((amount > 100) && (PlayerInfo[player1][Level] != ServerInfo[MaxAdminLevel]) && (PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel])  )	{
		SendClientMessage(playerid,red,"ERROR: Incorrect Armour Amount");	}

		tmp = strtok(cmdtext, idx);

       	CMDMessageToAdmins(playerid,"SETARMOUR");
		GetPlayerName(player1, playername, sizeof(playername));	GetPlayerName(playerid, adminname, sizeof(adminname));
		format(string,256,"Administrator %s has set your armour to %d",adminname,amount);	if(player1 != playerid)	{	SendClientMessage(player1,blue,string); }
		format(string,256,"You have set %s's armour to %d",playername,amount); SendClientMessage(playerid,blue,string);
		SetPlayerArmour(player1,amount);
		} else	{
		SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");   }
	return 1;	}
//------------------------------------------------------------------------------
	if(strcmp(cmd, "/setcash", true) == 0)
	{
    if(PlayerInfo[playerid][Level] >= 2) {
		new tmp[256];
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp))	{
			SendClientMessage(playerid, red, "USAGE: /setcash [playerid] [Amount]");
			return 1;
			}
		new player1;
		player1 = strval(tmp);
		if(!IsPlayerConnected(player1) || player1 == INVALID_PLAYER_ID || (PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) )	{
		SendClientMessage(playerid,red,"ERROR: Player is not connected");
		return 1;	}
		tmp = strtok(cmdtext, idx);

		if(!strlen(tmp))	{
			SendClientMessage(playerid, red, "USAGE: /setcash [playerid] [Amount]");
			return 1;	}

		new amount;
		amount = strval(tmp);
 		tmp = strtok(cmdtext, idx);

       	CMDMessageToAdmins(playerid,"SETCASH");
		GetPlayerName(player1, playername, sizeof(playername));	GetPlayerName(playerid, adminname, sizeof(adminname));
		format(string,256,"Administrator %s has set your cash to $%d",adminname,amount);	if(player1 != playerid)	{	SendClientMessage(player1,blue,string); }
		format(string,256,"You have set %s's cash to $%d",playername,amount); SendClientMessage(playerid,blue,string);
		ResetPlayerMoney(player1);	GivePlayerMoney(player1,amount);
		} else	{
		SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");   }
	return 1;	}
 //------------------------------------------------------------------------------
	if(strcmp(cmd, "/setscore", true) == 0)
	{
    if(PlayerInfo[playerid][Level] >= 2) {
		new tmp[256];
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp))	{
			SendClientMessage(playerid, red, "USAGE: /setscore [playerid] [Amount]");
			return 1;
			}
		new player1;
		player1 = strval(tmp);
		if(!IsPlayerConnected(player1) || player1 == INVALID_PLAYER_ID || (PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) )	{
		SendClientMessage(playerid,red,"ERROR: Player is not connected or is yourself");
		return 1;	}
		tmp = strtok(cmdtext, idx);

		if(!strlen(tmp))	{
			SendClientMessage(playerid, red, "USAGE: /setscore [playerid] [Amount]");
			return 1;
			}

		new score;
		score = strval(tmp);
		tmp = strtok(cmdtext, idx);

       	CMDMessageToAdmins(playerid,"SETSCORE");
		GetPlayerName(player1, playername, sizeof(playername));		GetPlayerName(playerid, adminname, sizeof(adminname));
		format(string,256,"Administrator %s has set your score to %d",adminname,score);	if(player1 != playerid)	{	SendClientMessage(player1,blue,string); }
		format(string,256,"You have set %s's score to %d",playername,score); SendClientMessage(playerid,blue,string);
		SetPlayerScore(player1,score);
		} else	{
		SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");   }
	return 1;	}
 //------------------------------------------------------------------------------
	if(strcmp(cmd, "/setskin", true) == 0)
	{
    if(PlayerInfo[playerid][Level] >= 2) {
		new tmp[256];
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp))	{
			SendClientMessage(playerid, red, "USAGE: /setskin [playerid] [skinid]");
			return 1;
			}
		new player1;
		player1 = strval(tmp);
		if(!IsPlayerConnected(player1) || player1 == INVALID_PLAYER_ID || (PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) )	{
		SendClientMessage(playerid,red,"ERROR: Player is not connected");
		return 1;	}
		tmp = strtok(cmdtext, idx);

		if(!strlen(tmp))	{
			SendClientMessage(playerid, red, "USAGE: /setskin [playerid] [skinid]");
			return 1;	}

		new SkinID;
		SkinID = strval(tmp);
		if((SkinID == 0)||(SkinID == 7)||(SkinID >= 9 && SkinID <= 41)||(SkinID >= 43 && SkinID <= 64)||(SkinID >= 66 && SkinID <= 73)||(SkinID >= 75 && SkinID <= 85)||(SkinID >= 87 && SkinID <= 118)||(SkinID >= 120 && SkinID <= 148)||(SkinID >= 150 && SkinID <= 207)||(SkinID >= 209 && SkinID <= 264)||(SkinID >= 274 && SkinID <= 288)||(SkinID >= 290 && SkinID <= 299)) {

		tmp = strtok(cmdtext, idx);

       	CMDMessageToAdmins(playerid,"SETSKIN");
		GetPlayerName(player1, playername, sizeof(playername));		GetPlayerName(playerid, adminname, sizeof(adminname));
		format(string,256,"Administrator %s has set your skin to %d",adminname,SkinID);	if(player1 != playerid)	{	SendClientMessage(player1,blue,string); }
		format(string,256,"You have set %s's skin to %d",playername,SkinID); SendClientMessage(playerid,blue,string);
		SetPlayerSkin(player1,SkinID);
		} else  {   SendClientMessage(playerid,red,"ERROR: Incorrect skin id");  return 1;	}
		} else	{
		SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");   }
	return 1;	}
 //------------------------------------------------------------------------------
	if(strcmp(cmd, "/setwanted", true) == 0)
	{
    if(PlayerInfo[playerid][Level] >= 2) {
		new tmp[256];
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp))	{
			SendClientMessage(playerid, red, "USAGE: /setwanted [playerid] [level]");
			return 1;
			}
		new player1;
		player1 = strval(tmp);
		if(!IsPlayerConnected(player1) || player1 == INVALID_PLAYER_ID || (PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) )	{
		SendClientMessage(playerid,red,"ERROR: Player is not connected");
		return 1;	}
		tmp = strtok(cmdtext, idx);

		if(!strlen(tmp))	{
			SendClientMessage(playerid, red, "USAGE: /setwanted [playerid] [level]");
			return 1;	}

		new SkinID;
		SkinID = strval(tmp);
		if(SkinID < 7) {

		tmp = strtok(cmdtext, idx);

       	CMDMessageToAdmins(playerid,"SETWANTED");
		GetPlayerName(player1, playername, sizeof(playername));		GetPlayerName(playerid, adminname, sizeof(adminname));
		format(string,256,"Administrator %s has set your wanted level to %d",adminname,SkinID);	if(player1 != playerid)	{	SendClientMessage(player1,blue,string); }
		format(string,256,"You have set %s's wanted level to %d",playername,SkinID); SendClientMessage(playerid,blue,string);
		SetPlayerWantedLevel(player1,SkinID);
		} else  {   SendClientMessage(playerid,red,"ERROR: Incorrect wanted level");  return 1;	}
		} else	{
		SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");   }
	return 1;	}
 //------------------------------------------------------------------------------
	if(strcmp(cmd, "/setname", true) == 0)
	{
    if(PlayerInfo[playerid][Level] >= 3) {
		new tmp[256], player1;
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp)) return SendClientMessage(playerid, red, "USAGE: /setname [playerid] [Name]");

		player1 = strval(tmp);
		if(!IsPlayerConnected(player1) || player1 == INVALID_PLAYER_ID || (PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) )	{
		SendClientMessage(playerid,red,"ERROR: Player is not connected or is yourself");
		return 1;	}
		tmp = strtok(cmdtext, idx);

		if(!strlen(tmp)) return SendClientMessage(playerid, red, "USAGE: /setname [playerid] [Name]");

		new length = strlen(cmdtext);
		if(length < 14 || length > 30 )	return SendClientMessage(playerid,red,"ERROR: Incorrect Name Length");
		tmp = strtok(cmdtext, idx);

        CMDMessageToAdmins(playerid,"SETNAME");
		new strname[30];    format(strname,30,"%s",cmdtext[11]);
		GetPlayerName(player1, playername, sizeof(playername));
		SetPlayerName(player1,cmdtext[11]);	//OnPlayerConnect(player1);
  		GetPlayerName(playerid, adminname, sizeof(adminname));
		format(string,256,"Administrator %s has set your name to %s",adminname,cmdtext[11]);	if(player1 != playerid)	{	SendClientMessage(player1,blue,string); }
		format(string,256,"You have set %s's name to %s",playername,cmdtext[11]); SendClientMessage(playerid,blue,string);
	} else	{
	SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");   }
	return 1;	}
//------------------------------------------------------------------------------
	if(strcmp(cmd,"/carcolour",true) == 0)	{
	if(PlayerInfo[playerid][Level] >= 1) {
		new tmp[256], colour1, colour2;
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp))	{
			SendClientMessage(playerid, red, "USAGE: /carcolour [playerid] [colour 1] [colour 2]");
			return 1;	}
		new player1;
		player1 = strval(tmp);
		if(!IsPlayerConnected(player1) || player1 == INVALID_PLAYER_ID || (PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) )	{
		SendClientMessage(playerid,red,"ERROR: Player is not connected or is yourself");
		return 1;	}
		tmp = strtok(cmdtext, idx);
		colour1 = strval(tmp);
		if(colour1 < 0 || colour1 > 126)		{
			SendClientMessage(playerid, red, "ERROR: Colour Number can't be below 0 or above 126");
			return 1;		}
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp))		{
			SendClientMessage(playerid, red, "USAGE: /carcolour [playerid] [colour 1] [colour 2]");
			return 1;		}
		colour2 = strval(tmp);
		if(colour2 < 0 || colour2 > 126)		{
			SendClientMessage(playerid, red, "ERROR: Colour Number can't be below 0 or above 126");
		 	return 1;	 	}

       	CMDMessageToAdmins(playerid,"CARCOLOUR");
		GetPlayerName(player1, playername, sizeof(playername));		GetPlayerName(playerid, adminname, sizeof(adminname));
		format(string,256,"Administrator %s has set your vehicle's colour to: Colour1 ID %d || Colour2 ID %d",adminname,colour1,colour2);	if(player1 != playerid)	{	SendClientMessage(player1,blue,string); }
		format(string,256,"You have set %s's vehicle's colour to: Colour1 ID %d || Colour2 ID %d",playername,colour1,colour2); SendClientMessage(playerid,blue,string);
		ChangeVehicleColor(GetPlayerVehicleID(player1),colour1,colour2);
	} else	{
	SendClientMessage(playerid,red,"ERROR: You need to be level 1 to use this command");   }
	return 1;	}

//------------------------------------------------------------------------------
	if(strcmp(cmd,"/carhealth",true) == 0)	{
		if(PlayerInfo[playerid][Level] >= 3) {
		new tmp[256],player1,amount;
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp)) return	SendClientMessage(playerid, red, "USAGE: /carhealth [playerid] [Amount]");

		player1 = strval(tmp);
		if(!IsPlayerConnected(player1) || player1 == INVALID_PLAYER_ID || (PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) )
		return SendClientMessage(playerid,red,"ERROR: Player is not connected or is yourself");
		tmp = strtok(cmdtext, idx);

		if(!strlen(tmp)) return	SendClientMessage(playerid, red, "USAGE: /carhealth [playerid] [Amount]");

		amount = strval(tmp);
		if((amount < 0  || amount > 1000000) && (PlayerInfo[player1][Level] != ServerInfo[MaxAdminLevel]) && (PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel])  )
		return SendClientMessage(playerid,red,"ERROR: Incorrect Health Amount ");
		if(! (IsPlayerInAnyVehicle(playerid)) ) return SendClientMessage(playerid, red, "ERROR: This Player isnt in a vehicle");
		tmp = strtok(cmdtext, idx);

       	CMDMessageToAdmins(playerid,"CARHEALTH");
		GetPlayerName(player1, playername, sizeof(playername));		GetPlayerName(playerid, adminname, sizeof(adminname));
		format(string,256,"Administrator %s has set your vehicle health to %d",adminname,amount);	if(player1 != playerid)	{	SendClientMessage(player1,blue,string); }
		format(string,256,"You have set %s's vehicle health to %d",playername,amount); SendClientMessage(playerid,blue,string);
		SetVehicleHealth(GetPlayerVehicleID(player1),amount);
		} else	{
		SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");   }
		return 1;	}
//=========================[EJECT]==============================================
	if(strcmp(cmd, "/eject", true) == 0)	{
	if(PlayerInfo[playerid][Level] >= 3) {
		new tmp[256], player1, Float:x, Float:y, Float:z;
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp))	{
		SendClientMessage(playerid, red, "USAGE: /eject [playerid]");
		return 1;	}

		player1 = strval(tmp);
		if(!IsPlayerConnected(player1) || player1 == INVALID_PLAYER_ID || (PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) )
		return SendClientMessage(playerid,red,"ERROR: Player is not connected");
		if(! (IsPlayerInAnyVehicle(player1)) ) return SendClientMessage(playerid,red,"ERROR: Player is not in a vehicle");
		tmp = strtok(cmdtext, idx);

       	CMDMessageToAdmins(playerid,"EJECT");
       	GetPlayerPos(player1,x,y,z);	SetPlayerPos(player1,x,y,z+3);
		GetPlayerName(player1, playername, sizeof(playername));		GetPlayerName(playerid, adminname, sizeof(adminname));
		format(string,256,"Administrator %s has ejects you",adminname);	if(player1 != playerid)	{	SendClientMessage(player1,blue,string); }
		format(string,256,"You have ejected %s",playername); SendClientMessage(playerid,blue,string);
		} else	{
		SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");   }
	return 1;	}
//------------------------------------------------------------------------------
	if(strcmp(cmd, "/fu", true) == 0)	{
	if(PlayerInfo[playerid][Level] >= 2) {
		new tmp[256],NewName[20],player1;
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp)) return SendClientMessage(playerid, red, "USAGE: /fu [playerid]");

		player1 = strval(tmp);
		if(!IsPlayerConnected(player1) || player1 == INVALID_PLAYER_ID || (PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) )
		return SendClientMessage(playerid,red,"ERROR: Player is not connected");
		tmp = strtok(cmdtext, idx);

		CMDMessageToAdmins(playerid,"F U");
		GetPlayerName(player1, playername, sizeof(playername));		GetPlayerName(playerid, adminname, sizeof(adminname));
		format(string,256,"Administrator %s says fuck you",adminname);	if(player1 != playerid)	{	SendClientMessage(player1,blue,string); }
		format(string,256,"You have told %s fuck you",playername); SendClientMessage(playerid,blue,string);
		SetPlayerHealth(player1,1.0); SetPlayerArmour(player1,0.0); ResetPlayerWeapons(player1);ResetPlayerMoney(player1);GivePlayerWeapon(player1,24,1);
		SetPlayerSkin(player1, 137); SetPlayerScore(player1, 0); SetPlayerColor(player1,COLOR_PINK); SetPlayerWeather(player1,19);
		format(NewName,sizeof(NewName),"[Noob]%s",playername); SetPlayerName(player1,NewName);
		if(IsPlayerInAnyVehicle(player1)) EraseVehicle(GetPlayerVehicleID(player1));
		} else	{
		SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");   }
	return 1;	}
//------------------------------------------------------------------------------
	if(strcmp(cmd, "/laston", true) == 0)	{
	if(PlayerInfo[playerid][Level] >= 2) {
    new file[256],name[24],str[256]; GetPlayerName(playerid,name,24); format(file,256,"/ladmin/users/%s.sav",udb_encode(name));
	new tmp2[256];

	if(dUserINT(PlayerName2(playerid)).("LastOn")==0) {
		format(str, sizeof(str),"Never");
		tmp2 = str;
	} else {
		tmp2 = dini_Get(file,"LastOn");		}

	format(str, sizeof(str),"Last on = %s",tmp2);
	SendClientMessage(playerid, red, str);
		} else	{
		SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");   }
	return 1;	}
//------------------------------------------------------------------------------
	if(strcmp(cmd, "/getinfo", true) == 0)
	{
    if(PlayerInfo[playerid][Level] >= 2) {
	    new tmp[256];
		tmp = strtok(cmdtext, idx);
		new player1;
		player1 = strval(tmp);

		if(!strlen(tmp)) return SendClientMessage(playerid, red, "USAGE: /getinfo [playerid]");

		if(!IsPlayerConnected(player1) || player1 == INVALID_PLAYER_ID ) return
			SendClientMessage(playerid,red,"ERROR: Player is not connected");
		tmp = strtok(cmdtext, idx);

		GetPlayerName(player1, playername, sizeof(playername));
	    new Float:player1health, Float:player1armour; GetPlayerHealth(player1,player1health); GetPlayerArmour(player1,player1armour);
	    new playerip[256]; GetPlayerIp(player1, playerip, sizeof(playerip));
	    new Float:x, Float:y, Float:z; GetPlayerPos(player1,x,y,z);

		new getinfotext[256];
		format(getinfotext, sizeof(getinfotext),"INFO: 			[ ID: %d   ||  Name: %s ]",player1, playername);
		SendClientMessage(playerid,blue,getinfotext);
		format(getinfotext, sizeof(getinfotext),"INFO: Health[%d] Armour[%d] Ammo[%d] Score[%d] Cash[%d] Skin[%d]  IP[%s]  Ping[%d]",floatround(player1health),floatround(player1armour),GetPlayerAmmo(player1),
		GetPlayerScore(player1),GetPlayerMoney(player1),GetPlayerSkin(player1),playerip,GetPlayerPing(player1) );
		SendClientMessage(playerid,blue,getinfotext);
		format(getinfotext, sizeof(getinfotext),"INFO: Interior[%d] Virtual World[%d] Wanted Level[%d] X[%0.2f] Y[%0.2f] Z[%0.2f]", GetPlayerInterior(player1), GetPlayerVirtualWorld(player1), GetPlayerWantedLevel(player1),
		Float:x,Float:y,Float:z);
		SendClientMessage(playerid,blue,getinfotext);

		if(PlayerInfo[playerid][LoggedIn] == 1)
		{
			format(getinfotext, sizeof(getinfotext),"INFO: Times On Server [%d] Kills[%d] Deaths[%d] Ratio[%0.2f] AdminLevel[%d]", (dUserINT(PlayerName2(player1)).("TimesOnServer")),
			PlayerInfo[player1][Kills] ,PlayerInfo[player1][Deaths],Float:PlayerInfo[player1][Kills]/Float:PlayerInfo[player1][Deaths],(dUserINT(PlayerName2(player1)).("level")) );
			SendClientMessage(playerid,blue,getinfotext);
			format(getinfotext, sizeof(getinfotext),"INFO: Registered[%d] Logged[%d] In Jail[%d] Frozen [%d]",PlayerInfo[player1][Registered], PlayerInfo[player1][LoggedIn],
	        PlayerInfo[player1][Jailed], PlayerInfo[player1][Frozen] );
			SendClientMessage(playerid,blue,getinfotext);
		} else {
			format(getinfotext, sizeof(getinfotext),"INFO: Times On Server [%d] Kills[%d] Deaths[%d] Ratio[%0.2f] AdminLevel[%d]", (dUserINT(PlayerName2(player1)).("TimesOnServer")),
			PlayerInfo[player1][Kills] ,PlayerInfo[player1][Deaths],Float:PlayerInfo[player1][Kills]/Float:PlayerInfo[player1][Deaths],(dUserINT(PlayerName2(player1)).("level")) );
			SendClientMessage(playerid,blue,getinfotext);
			format(getinfotext, sizeof(getinfotext),"INFO: [ Not Registered ] [ Not Logged In ] In Jail[%d] Frozen [%d]", PlayerInfo[player1][Jailed], PlayerInfo[player1][Frozen] );
			SendClientMessage(playerid,blue,getinfotext);
		}
	} else	{
	SendClientMessage(playerid,red,"ERROR: You need to be administrator level 2 to use this command");   }
	return 1;	}

//==============================================================================
	if(strcmp(cmd, "/getall", true) == 0)	 {
    if(PlayerInfo[playerid][Level] >= 4) {
		new Float:x,Float:y,Float:z, interior;
    	GetPlayerPos(playerid,x,y,z);	interior = GetPlayerInterior(playerid);
    	SendClientMessage(playerid,blue,"All players are now at your location");
    	CMDMessageToAdmins(playerid,"GETALL");  GetPlayerName(playerid, adminname, sizeof(adminname));
	   	for(new i = 0; i <= MAX_PLAYERS; i++)
		{
		if(IsPlayerConnected(i) && i != playerid)	{
			SetPlayerPos(i,x+(playerid/4),y+(playerid/4),z); SetPlayerInterior(i,interior); PlayerPlaySound(i,1057,0.0,0.0,0.0);
			format(string,256,"Administrator %s has teleported you",adminname);	SendClientMessage(i,blue,string);	}
		}
	} else 	{
	SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");	}
 	return 1;	}
//------------------------------------------------------------------------------
	if(strcmp(cmd, "/healall", true) == 0)	 {
    if(PlayerInfo[playerid][Level] >= 3) {
    	CMDMessageToAdmins(playerid,"HEALALL"); GetPlayerName(playerid, adminname, sizeof(adminname));
    	SendClientMessage(playerid,blue,"You have healed all players");
	   	for(new i = 0; i <= MAX_PLAYERS; i++)
		{
		if(IsPlayerConnected(i) == 1)	{
		SetPlayerHealth(i,100.0); PlayerPlaySound(i,1057,0.0,0.0,0.0);	format(string,256,"Administrator %s has restored your health",adminname);	SendClientMessage(i,blue,string);	}
		}
	} else 	{
	SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");	}
 	return 1;	}
//------------------------------------------------------------------------------
	if(strcmp(cmd, "/armourall", true) == 0)	 {
    if(PlayerInfo[playerid][Level] >= 3) {
    	CMDMessageToAdmins(playerid,"ARMOURALL");   GetPlayerName(playerid, adminname, sizeof(adminname));
    	SendClientMessage(playerid,blue,"You have given all players armour");
	   	for(new i = 0; i <= MAX_PLAYERS; i++)
		{
		if(IsPlayerConnected(i) == 1)	{
		SetPlayerArmour(i,100.0); PlayerPlaySound(i,1057,0.0,0.0,0.0);	format(string,256,"Administrator %s has restored your armour",adminname);	SendClientMessage(i,blue,string);	}
		}
	} else 	{
	SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");	}
 	return 1;	}
 //------------------------------------------------------------------------------
	if(strcmp(cmd, "/killall", true) == 0)	 {
    if(PlayerInfo[playerid][Level] >= 4) {
    	CMDMessageToAdmins(playerid,"KILLALL"); GetPlayerName(playerid, adminname, sizeof(adminname));
    	SendClientMessage(playerid,blue,"You have killed all players");
	   	for(new i = 0; i <= MAX_PLAYERS; i++)
		{
		if(IsPlayerConnected(i) == 1 && (i != playerid) && i != ServerInfo[MaxAdminLevel])	{
		SetPlayerHealth(i,0.0);	format(string,256,"Administrator %s has killed you",adminname);	SendClientMessage(i,blue,string);	}
		}
	} else 	{
	SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");	}
 	return 1;	}
 //------------------------------------------------------------------------------
	if(strcmp(cmd, "/freezeall", true) == 0)	 {
    if(PlayerInfo[playerid][Level] >= 4) {
    	CMDMessageToAdmins(playerid,"FREEZEALL"); GetPlayerName(playerid, adminname, sizeof(adminname));
    	SendClientMessage(playerid,blue,"You have frozen all players");
	   	for(new i = 0; i <= MAX_PLAYERS; i++)
		{
		if(IsPlayerConnected(i) == 1 && (i != playerid) && i != ServerInfo[MaxAdminLevel])	{
		TogglePlayerControllable(playerid,false);	format(string,256,"Administrator %s has frozen you",adminname);	SendClientMessage(i,blue,string);	}
		}
	} else 	{
	SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");	}
 	return 1;	}
 //------------------------------------------------------------------------------
	if(strcmp(cmd, "/unfreezeall", true) == 0)	 {
    if(PlayerInfo[playerid][Level] >= 4) {
    	CMDMessageToAdmins(playerid,"UNFREEZEALL"); GetPlayerName(playerid, adminname, sizeof(adminname));
    	SendClientMessage(playerid,blue,"You have unfrozen all players");
	   	for(new i = 0; i <= MAX_PLAYERS; i++)
		{
		if(IsPlayerConnected(i) == 1 && (i != playerid) && i != ServerInfo[MaxAdminLevel])	{
		TogglePlayerControllable(playerid,true);	format(string,256,"Administrator %s has unfrozen you",adminname);	SendClientMessage(i,blue,string);	}
		}
	} else 	{
	SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");	}
 	return 1;	}
 //------------------------------------------------------------------------------
	if(strcmp(cmd, "/kickall", true) == 0)	 {
    if(PlayerInfo[playerid][Level] >= 4) {
    	CMDMessageToAdmins(playerid,"KICKALL"); GetPlayerName(playerid, adminname, sizeof(adminname));
    	SendClientMessage(playerid,blue,"You have kicked all players");
	   	for(new i = 0; i <= MAX_PLAYERS; i++)
		{
		if(IsPlayerConnected(i) == 1 && (i != playerid) && i != ServerInfo[MaxAdminLevel])	{
		format(string,256,"Administrator %s has kick everyone",adminname);	SendClientMessage(i,blue,string); Kick(i);	}
		}
		SaveToFile("KickLog",string);
	} else 	{
	SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");	}
 	return 1;	}
 //------------------------------------------------------------------------------
	if(strcmp(cmd, "/disarmall", true) == 0)	 {
    if(PlayerInfo[playerid][Level] >= 4) {
    	CMDMessageToAdmins(playerid,"DISARMALL"); GetPlayerName(playerid, adminname, sizeof(adminname));
    	SendClientMessage(playerid,blue,"You have disarmed all players");
	   	for(new i = 0; i <= MAX_PLAYERS; i++)
		{
		if(IsPlayerConnected(i) && (i != playerid) && i != ServerInfo[MaxAdminLevel])	{
		ResetPlayerWeapons(i); PlayerPlaySound(i,1057,0.0,0.0,0.0);	format(string,256,"Administrator %s has disarmed you",adminname);	SendClientMessage(i,blue,string);	}
		}
	} else 	{
	SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");	}
 	return 1;	}
//------------------------------------------------------------------------------
	if(strcmp(cmd, "/ejectall", true) == 0)	 {
    if(PlayerInfo[playerid][Level] >= 4) {
        new Float:x, Float:y, Float:z;
    	CMDMessageToAdmins(playerid,"EJECTALL"); GetPlayerName(playerid, adminname, sizeof(adminname));
       	SendClientMessage(playerid,blue,"You have ejected everyone from their vehicle");
	   	for(new i = 0; i <= MAX_PLAYERS; i++)
		{
		if(IsPlayerConnected(i) && IsPlayerInAnyVehicle(i) && (i != playerid) && i != ServerInfo[MaxAdminLevel])	{
		GetPlayerPos(i,x,y,z); SetPlayerPos(i,x,y,z+3); PlayerPlaySound(i,1057,0.0,0.0,0.0);
		format(string,256,"Administrator %s has ejected you",adminname); if(i != playerid) SendClientMessage(i,blue,string); }
		}
	} else 	{
	SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");	}
 	return 1;	}
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
	if(strcmp(cmd, "/setllwanted", true) == 0)	 {
    if(PlayerInfo[playerid][Level] >= 3) {

	    new tmp[256],wanted;
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp))	{
		SendClientMessage(playerid, red, "USAGE: /setallwanted [level]");
		return 1;	}

		wanted = strval(tmp);
		if(wanted > 6)	{
		SendClientMessage(playerid,red,"ERROR: Incorrect Wanted Level");
		return 1;	}
		tmp = strtok(cmdtext, idx);

    	CMDMessageToAdmins(playerid,"SETALLWANTED"); GetPlayerName(playerid, adminname, sizeof(adminname));
    	format(string, sizeof(string), "You have set everyone's wanted level to %d",wanted);	SendClientMessage(playerid,blue,string);
	   	for(new i = 0; i <= MAX_PLAYERS; i++)
		{
		if(IsPlayerConnected(i) == 1)	{
		PlayerPlaySound(i,1057,0.0,0.0,0.0); format(string,256,"Administrator %s has set your wanted level to %d",adminname,wanted); if(i != playerid)	{	SendClientMessage(i,blue,string); }
		SetPlayerWantedLevel(i,wanted); }
		}
	} else 	{
	SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");	}
 	return 1;	}
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
	if(strcmp(cmd, "/setallweather", true) == 0)	 {
    if(PlayerInfo[playerid][Level] >= 3) {
	    new tmp[256],weather;
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp)) return SendClientMessage(playerid, red, "USAGE: /setallweather [weatherid]");

		weather = strval(tmp);
		tmp = strtok(cmdtext, idx);

		CMDMessageToAdmins(playerid,"SETALLWEATHER"); GetPlayerName(playerid, adminname, sizeof(adminname));
		format(string,256,"Administrator %s has changed the weather",adminname); SendClientMessageToAll(blue,string);
	   	for(new i = 0; i <= MAX_PLAYERS; i++)
	   	{
			if(IsPlayerConnected(i)) PlayerPlaySound(i,1057,0.0,0.0,0.0); SetPlayerWeather(i, weather);
		}
	} else 	{
	SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");	}
 	return 1;	}
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
	if(strcmp(cmd, "/setalltime", true) == 0)	 {
    if(PlayerInfo[playerid][Level] >= 3) {
	    new tmp[256],timeh;
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp)) return SendClientMessage(playerid, red, "USAGE: /setalltime [hour]");

        if(!strlen(tmp))return SendClientMessage(playerid, red, "USAGE: /setalltime [hour]");

		timeh = strval(tmp);
		if(timeh > 24) return SendClientMessage(playerid, red, "ERROR: This hour doesnt exist !");
		tmp = strtok(cmdtext, idx);

 		CMDMessageToAdmins(playerid,"SETALLTIME");	GetPlayerName(playerid, adminname, sizeof(adminname));
	   	for(new i = 0; i <= MAX_PLAYERS; i++)
	   	{
	   		SetPlayerTime(i,timeh,0); PlayerPlaySound(i,1057,0.0,0.0,0.0);
			format(string,256,"Administrator %s has changed the time to %d:00",adminname,timeh); SendClientMessage(i,blue,string);
		}
	} else 	{
	SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");	}
 	return 1;	}
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
	if(strcmp(cmd, "/giveallweapon", true) == 0)	 {
    if(PlayerInfo[playerid][Level] >= 3) {

	    new tmp[256],weap,ammo;
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp))	{
		SendClientMessage(playerid, red, "USAGE: /giveallweapon [playerid] [weapon id]");
		return 1;	}

		weap = strval(tmp);
		if(!IsValidWeapon(weap))	{
		SendClientMessage(playerid,red,"ERROR: Incorrect Weapon ID");
		return 1;	}
		tmp = strtok(cmdtext, idx);
		ammo = strval(tmp);

    	CMDMessageToAdmins(playerid,"GIVEALLWEAPON"); GetPlayerName(playerid, adminname, sizeof(adminname));
    	format(string, sizeof(string), "You have given everyone weapon id: %d with %d rounds of ammo",weap,ammo);	SendClientMessage(playerid,blue,string);
	   	for(new i = 0; i <= MAX_PLAYERS; i++)
		{
		if(IsPlayerConnected(i) == 1)	{
		PlayerPlaySound(i,1057,0.0,0.0,0.0); format(string,256,"Administrator %s has given you weapon id: %d with %d rounds of ammo",adminname,weap,ammo); if(i != playerid)	{	SendClientMessage(i,blue,string); }
		GivePlayerWeapon(i,weap,ammo); }
		}
	} else 	{
	SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");	}
 	return 1;	}
//------------------------------------------------------------------------------
	if(strcmp(cmd, "/setallworld", true) == 0)	 {
    if(PlayerInfo[playerid][Level] >= 3) {
	    new tmp[256];
     	tmp = strtok(cmdtext, idx);
 		if(!strlen(tmp))	{
			SendClientMessage(playerid, red, "USAGE: /setallworld [virtual world]");
			return 1;	}

		new world;
		world = strval(tmp);
		tmp = strtok(cmdtext, idx);

		CMDMessageToAdmins(playerid,"SETALLWORLD");
		GetPlayerName(playerid, adminname, sizeof(adminname)); PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
		format(string,256,"You have set everyones virtual world to %d",world); SendClientMessage(playerid,blue,string);
	   	for(new i = 0; i <= MAX_PLAYERS; i++)
		{
		if(IsPlayerConnected(i) == 1)	{
		format(string,256,"Administrator %s has set your virtual world to %d",adminname,world);
        SendClientMessage(i,blue,string); SetPlayerVirtualWorld(i,world); PlayerPlaySound(i,1057,0.0,0.0,0.0); }
		}
	} else 	{
	SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");	}
 	return 1;	}

//------------------------------------------------------------------------------
	if(strcmp(cmd, "/setallscore", true) == 0)	 {
    if(PlayerInfo[playerid][Level] >= 3) {

	    new tmp[256],score;
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp))	{
		SendClientMessage(playerid, red, "USAGE: /setallscore [score]");
		return 1;	}

		score = strval(tmp);
		tmp = strtok(cmdtext, idx);


    	CMDMessageToAdmins(playerid,"SETALLWANTED"); GetPlayerName(playerid, adminname, sizeof(adminname));
    	format(string, sizeof(string), "You have set everyone's score to %d",score);	SendClientMessage(playerid,blue,string);
	   	for(new i = 0; i <= MAX_PLAYERS; i++)
		{
		if(IsPlayerConnected(i) == 1)	{
		PlayerPlaySound(i,1057,0.0,0.0,0.0); format(string,256,"Administrator %s has set your score to %d",adminname,score); if(i != playerid)	{	SendClientMessage(i,blue,string); }
		SetPlayerScore(i,score); }
		}
	} else 	{
	SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");	}
 	return 1;	}
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
	if(strcmp(cmd, "/setallcash", true) == 0)	 {
    if(PlayerInfo[playerid][Level] >= 3) {

	    new tmp[256],amount;
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp)) return SendClientMessage(playerid, red, "USAGE: /setallcash [amount]");

		amount = strval(tmp);
		tmp = strtok(cmdtext, idx);

    	CMDMessageToAdmins(playerid,"SETALLCASH"); GetPlayerName(playerid, adminname, sizeof(adminname));
    	format(string, sizeof(string), "You have set everyone's cash to $%d",amount);	SendClientMessage(playerid,blue,string);
	   	for(new i = 0; i <= MAX_PLAYERS; i++)
		{
			if(IsPlayerConnected(i) == 1)	{
			PlayerPlaySound(i,1057,0.0,0.0,0.0); format(string,256,"Administrator %s has set your cash to $%d",adminname,amount);
			if(i != playerid) SendClientMessage(i,blue,string);
			ResetPlayerMoney(i);	GivePlayerMoney(i,amount); }
		}
	} else 	{
	SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");	}
 	return 1;	}
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
	if(strcmp(cmd, "/giveallcash", true) == 0)	 {
    if(PlayerInfo[playerid][Level] >= 3) {

	    new tmp[256],amount;
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp)) return	SendClientMessage(playerid, red, "USAGE: /giveallcash [amount]");

		amount = strval(tmp);
		tmp = strtok(cmdtext, idx);

    	CMDMessageToAdmins(playerid,"SETALLCASH"); GetPlayerName(playerid, adminname, sizeof(adminname));
    	format(string, sizeof(string), "You have given everyone $%d",amount);	SendClientMessage(playerid,blue,string);
	   	for(new i = 0; i <= MAX_PLAYERS; i++)
		{
			if(IsPlayerConnected(i) == 1)	{
			PlayerPlaySound(i,1057,0.0,0.0,0.0); format(string,256,"Administrator %s has given you $%d",adminname,amount);
			if(i != playerid) SendClientMessage(i,blue,string);
			GivePlayerMoney(i,amount); }
		}
	} else 	{
	SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");	}
 	return 1;	}
//------------------------------------------------------------------------------
	if(strcmp(cmd, "/kickbots", true) == 0)	 {
    if(PlayerInfo[playerid][Level] >= 3) {
    	CMDMessageToAdmins(playerid,"KICKBOTS"); GetPlayerName(playerid, adminname, sizeof(adminname));
    	SendClientMessage(playerid,blue,"You have kicked all bots");
	   	for(new i = 0; i <= MAX_PLAYERS; i++)
		{
		if(IsPlayerConnected(i) == 1 && (i != playerid) && (i != ServerInfo[MaxAdminLevel]) && (GetPlayerPing(i) < 1 ) )	{
		format(string,256,"Administrator %s kicked has all bots",adminname);	SendClientMessage(i,blue,string); Kick(i);	}
		}
	} else 	{
	SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");	}
 	return 1;	}
//==================================[ REMOTE CONSOLE ]==========================
	if(strcmp(cmd, "/loadfs", true) == 0)	 {
    if(PlayerInfo[playerid][Level] >= 5) {
    new str[256]; format(str,256,"%s",cmdtext[1]); SendRconCommand(str);
   	} else 	{
	SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");	}
 	return 1;	}
	if(strcmp(cmd, "/unloadfs", true) == 0)	 {
    if(PlayerInfo[playerid][Level] >= 5) {
    new str[256]; format(str,256,"%s",cmdtext[1]); SendRconCommand(str);
   	} else 	{
	SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");	}
 	return 1;	}
/*	if(strcmp(cmd, "/changemode", true) == 0)	 {
    if(PlayerInfo[playerid][Level] >= 4) {
    new str[256]; format(str,256,"%s",cmdtext[1]); SendRconCommand(str);
   	} else 	{
	SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");	}
 	return 1;	}
 */
	if(strcmp(cmd, "/gmx", true) == 0)	 {
	if(PlayerInfo[playerid][Level] >= 5) {
	OnGameModeExit(); SetTimer("RestartGM",5000,0);
	} else 	{
	SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");	}
 	return 1;	}

	if(strcmp(cmd, "/unloadladmin", true) == 0)	 {
	if(PlayerInfo[playerid][Level] >= 5) {
	OnGameModeExit(); SetTimer("UnloadFS",5000,0);
	} else 	{
	SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");	}
 	return 1;	}
//------------------------------------------------------------------------------
	if (strcmp(cmd, "/admins", true) == 0)
	{
    new count=0;
    SendClientMessage(playerid, green, "________________________________________");
    for(new i=0; i<MAX_PLAYERS; i++)
    {
        if(IsPlayerConnected(i))
        {
            if(PlayerInfo[i][Level] > 1)
            {
	        GetPlayerName(i, adminname, sizeof(adminname));
			format(string, 256, "Admin: %s [ID %d] [Level %d]", adminname,i,PlayerInfo[i][Level]);
			SendClientMessage(playerid, blue, string);
     		count++;
            }
            if(PlayerInfo[i][Level] == 1)
            {
	        GetPlayerName(i, adminname, sizeof(adminname));
			format(string, 256, "Member: %s [ID %d] [Level %d]", adminname,i,PlayerInfo[i][Level]);
			SendClientMessage(playerid, COLOR_BLUE, string);
     		count++;
            }
        }
    }
//-----=[ rcon  ]=------------------
    for(new i=0; i<MAX_PLAYERS; i++)
    {
        if(IsPlayerConnected(i))
        {
            if(IsPlayerAdmin(i))
            {
	        GetPlayerName(i, adminname, sizeof(adminname));
			format(string, 256, "%s [ID %d] [rcon admin]", adminname,i);
			if(PlayerInfo[playerid][Level] >= 1) SendClientMessage(playerid, COLOR_WHITE, string);
            }
        }
	}
    if(count == 0)    {
    SendClientMessage(playerid, blue, "LAdmin Found No Administrators online");    }
    SendClientMessage(playerid, green, "________________________________________");
    return 1;
}
//========================[Time]================================================
	if(strcmp(cmd, "/time", true) == 0)	{
		new hour,minuite,second;	gettime(hour,minuite,second);
		FixHour(hour);		hour = shifthour;
		format(string, sizeof(string), "~g~|~w~%d:%d~g~|", hour, minuite);
		GameTextForPlayer(playerid, string, 5000, 1);
		return 1; }
/*******************************************************************************
*******************************************************************************/
/*******************************************************************************
						TELEPORT COMMAND
*******************************************************************************/
	if(strcmp(cmd, "/wisland", true) == 0)
	{
		if (IsPlayerInAnyVehicle(playerid))
		{
			SetVehiclePos(GetPlayerVehicleID(playerid), -1875.806762, 2187.444580, 4.671073);
			SetVehicleZAngle(GetPlayerVehicleID(playerid), 135.697875);
			LinkVehicleToInterior(GetPlayerVehicleID(playerid), 1);
		}
		if (!IsPlayerInAnyVehicle(playerid))
		{
		SetPlayerPos(playerid, -1875.806762, 2187.444580, 4.671073);
		SetPlayerFacingAngle(playerid, 131.025436);
		}
		SetPlayerInterior(playerid, 0);
	}
	if(strcmp(cmd, "/Xtreme", true) == 0)
 		{
	  		new cartype = GetPlayerVehicleID(playerid);
			new State=GetPlayerState(playerid);
			SetPlayerInterior(playerid,0);
			if(State!=PLAYER_STATE_DRIVER)
			SetPlayerPos(playerid,1527.3297,-2455.9033,13.5547);
			else if(IsPlayerInVehicle(playerid, cartype) == 1)
			{
				SetVehiclePos(cartype,1527.3297,-2455.9033,13.5547);
				SetVehicleZAngle(cartype,266);
			}
			else
			SetPlayerPos(playerid,1527.3297,-2455.9033,13.5547);

 			GameTextForPlayer(playerid,"~b~Welcome To X~r~treme stunt park! ~n~By Z~r~H3r0",2500,3);
 			
 			return 1;
		}
/*******************************************************************************
*******************************************************************************/
/*******************************************************************************
								PoD
*******************************************************************************/
    new tmp[255];
	new idplayer;

	cmd = strtok(cmdtext, idx);

    if(strcmp(cmd, "/vkick", true) == 0)
	{
	    if(vTimer > 0){ SendClientMessage(playerid, COLOR_YELLOW, "Cannot Run Concurrent Vote-Kicks!"); return 1;}

        tmp = strtok(cmdtext, idx);
		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_WHITE, "USAGE: /vkick [PlayerID] [Reason]");
			strdel(reason, 0,128);
			return 1;
		}
		idplayer = strval(tmp);

		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_WHITE, "USAGE: /vkick [PlayerID] [Reason]");
			strdel(reason, 0,128);
			return 1;
		}
  		strins(reason, tmp,0,128);

		if(IsPlayerConnected(idplayer))
		{
			vPlayer = idplayer;
			vTimer = (pTime + 1);
   			rVotes = ((players * pPerc) / 100);
			format(string, sizeof(string), "<PoD> VoteKick Started...by %s", PlayerName(playerid));
			SendClientMessageToAll(COLOR_YELLOW, string);
			format(string, sizeof(string), "<PoD> [%s] Reason: %s", PlayerName(vPlayer), reason);
			SendClientMessageToAll(COLOR_YELLOW, string);
			format(string, sizeof(string), "<PoD> %d Votes Required [Type /vote if you agree]", rVotes);
            SendClientMessageToAll(COLOR_YELLOW, string);
			return 1;
		}
	 }

	 else if(strcmp(cmdtext, "/vote", true) == 0)
	 {
	    if(vTimer < 1){ SendClientMessage(playerid, COLOR_WHITE, "No votekicks running!"); return 1;}
	    if(Voted[playerid] == 1){ SendClientMessage(playerid, COLOR_WHITE, "You have already voted!"); return 1;}

	 	Votes++;
	 	Voted[playerid] = 1;
	    format(string, sizeof(string), "<PoD> Votes: [%d/%d]", Votes, rVotes);
	    SendClientMessageToAll(COLOR_YELLOW, string);
	    if(Votes == rVotes){ VoteKickSuccessful(); }
	    return 1;
	    }

     else if(strcmp(cmdtext, "/endvote", true) == 0)
	 {
	    if(vTimer < 1){ SendClientMessage(playerid, COLOR_WHITE, "No votekicks running!"); return 1;}
        AdminEndVoteKick(playerid);
	    return 1;
	    }

     else if(strcmp(cmdtext, "/vhelp", true) == 0)
	 	{
	    SendClientMessage(playerid, COLOR_YELLOW,"PoD: Power of Democracy [Vote-Kick] v1.0 by Scarface");
		SendClientMessage(playerid, COLOR_YELLOW,"Commands:");
		SendClientMessage(playerid, COLOR_YELLOW,"/vkick [PlayerID] [Reason]");
		SendClientMessage(playerid, COLOR_YELLOW,"/vote - Votes for Current VoteKick");
		SendClientMessage(playerid, COLOR_YELLOW,"/cvote - Displays Current VoteKick");
		SendClientMessage(playerid, COLOR_YELLOW,"Commands(Admins):");
		SendClientMessage(playerid, COLOR_YELLOW,"/endvote - Ends Vote");
	    return 1;
	    }

	 else if(strcmp(cmdtext, "/cvote", true) == 0)
	 {
        if(vTimer < 1){SendClientMessage(playerid, COLOR_WHITE, "No votekicks running!");return 1;}

		format(string, sizeof(string), "<PoD> Current VoteKick...by %s", PlayerName(playerid));
       	SendClientMessageToAll(COLOR_YELLOW, string);
		format(string, sizeof(string), "<PoD> [%s] Reason: %s", PlayerName(vPlayer), reason);
		SendClientMessageToAll(COLOR_YELLOW, string);
		format(string, sizeof(string), "<PoD> %d Votes Required [Total:%d] [Type /vote if you agree]", rVotes, Votes);
		SendClientMessageToAll(COLOR_YELLOW, string);
		return 1;
	}
/*******************************************************************************
*******************************************************************************/
	return 0;
}
/*******************************************************************************
								Admin Scritpt
*******************************************************************************/
//============================================================
dcmd_setgravity(playerid,params[]) {
	if(PlayerInfo[playerid][Level] >= 3) {
	    if(!strlen(params)||!(strval(params)<=50&&strval(params)>=-50)) return SendClientMessage(playerid,red,"USAGE: /setgravity <-50.0 - 50.0>");
        CMDMessageToAdmins(playerid,"SETGRAVITY");
		new string[256],adminname[24]; GetPlayerName(playerid, adminname, sizeof(adminname)); new Float:Gravity = floatstr(params);format(string,256,"Admnistrator %s has set the gravity to %f",adminname,Gravity);
		SetGravity(Gravity); return SendClientMessageToAll(blue,string);
	} else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
}
dcmd_lcredits(playerid,params[]) {
	#pragma unused params
	SendClientMessage(playerid,green,"LAdmin Information: [ Version: 2.2 ] [ Released: Feb 08 ]");
	return SendClientMessage(playerid,green,"Credits: [ Creator: LethaL ] [Car Shop Menu: Darkimmortal] [Warn: Andre9977]");
}
dcmd_serverinfo(playerid,params[]) {
	#pragma unused params

    new TotalVehicles = CreateVehicle(411, 0, 0, 0, 0, 0, 0, 1000);
    DestroyVehicle(TotalVehicles);

	new numo = CreateObject(1245,0,0,1000,0,0,0);
	DestroyObject(numo);
	new nump = CreatePickup(371,2,0,0,1000);
	DestroyPickup(nump);
	new gz = GangZoneCreate(3,3,5,5);
	GangZoneDestroy(gz);

	new model[250], nummodel;
	for(new i=1;i<TotalVehicles;i++) {
		model[GetVehicleModel(i)-400]++;
		}
	for(new i=0;i<250;i++) {
		if(model[i]!=0) {
		nummodel++; }
		}

	new string[256];
	format(string,256,"Server Info: [ Players Connected: %d || Maximum Players: %d ] [Ratio %0.2f ]",ConnectedPlayers(),GetMaxPlayers(),Float:ConnectedPlayers() / Float:GetMaxPlayers() );
	SendClientMessage(playerid,green,string);
	format(string,256,"Server Info: [ Vehicles: %d || Models %d || Players In Vehicle: %d || InCar %d / OnBike %d ]",TotalVehicles-1,nummodel, InVehCount(),InCarCount(),OnBikeCount() );
	SendClientMessage(playerid,green,string);
	format(string,256,"Server Info: [ Objects: %d || Pickups %d || Gangzones %d ]",numo-1, nump, gz);
	SendClientMessage(playerid,green,string);
	format(string,256,"Server Info: [ Player In Jail %d || Players Frozen %d ]",JailedPlayers(),FrozenPlayers() );
	return SendClientMessage(playerid,green,string);
}
dcmd_announce(playerid,params[]) {
    if(PlayerInfo[playerid][Level] >= 1) {
        CMDMessageToAdmins(playerid,"ANNOUNCE");
    	if(!strlen(params)) return SendClientMessage(playerid,red,"Syntax Error: \"/ANNOUNCE <TEXT>\".");
		return GameTextForAll(params,4000,3);
    } else return SendClientMessage(playerid,red,"ERROR: You need to be level 1 to use this command");
}
//=====================================[ Menus ]===========================================================
dcmd_lmenu(playerid,params[]) {
    #pragma unused params
    if(PlayerInfo[playerid][Level] >= 2) {
        if(IsPlayerInAnyVehicle(playerid)) {
        TogglePlayerControllable(playerid,false);	ShowMenuForPlayer(LMainMenu,playerid);
        } else {  ShowMenuForPlayer(LMainMenu,playerid);  }
    } else {	SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");    }
    return 1;
}
dcmd_ltele(playerid,params[]) {
    #pragma unused params
    if(PlayerInfo[playerid][Level] >= 2) {
        if(IsPlayerInAnyVehicle(playerid)) {
        TogglePlayerControllable(playerid,false);	ShowMenuForPlayer(LTele,playerid);
        } else {  ShowMenuForPlayer(LTele,playerid);  }
    } else {	SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");    }
    return 1;
}
dcmd_lweather(playerid,params[]) {
    #pragma unused params
    if(PlayerInfo[playerid][Level] >= 3) {
        if(IsPlayerInAnyVehicle(playerid)) {
        TogglePlayerControllable(playerid,false);	ShowMenuForPlayer(LWeather,playerid);
        } else {  ShowMenuForPlayer(LWeather,playerid);  }
    } else {	SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");    }
    return 1;
}
dcmd_ltime(playerid,params[]) {
    #pragma unused params
    if(PlayerInfo[playerid][Level] >= 3) {
        if(IsPlayerInAnyVehicle(playerid)) {
        TogglePlayerControllable(playerid,false);	ShowMenuForPlayer(LTime,playerid);
        } else {  ShowMenuForPlayer(LTime,playerid);  }
    } else {	SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");    }
    return 1;
}
dcmd_cm(playerid,params[]) {
    #pragma unused params
    if(PlayerInfo[playerid][Level] >= 2) {
        if(IsPlayerInAnyVehicle(playerid)) {
        SendClientMessage(playerid,red,"ERROR: You already have a car.");
        } else {  ShowMenuForPlayer(LCars,playerid); TogglePlayerControllable(playerid,false);  }
    } else {	SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");    }
    return 1;
}
dcmd_ltmenu(playerid,params[]) {
    #pragma unused params
    if(PlayerInfo[playerid][Level] >= 2) {
        if(IsPlayerInAnyVehicle(playerid)) {
		new LVehicleID = GetPlayerVehicleID(playerid), LModel = GetVehicleModel(LVehicleID);
        switch(LModel) { case 448,461,462,463,468,471,509,510,521,522,523,581,586,449: return SendClientMessage(playerid,red,"ERROR: You can not tune this vehicle!"); }
        TogglePlayerControllable(playerid,false);	ShowMenuForPlayer(LTuneMenu,playerid);
        } else {  SendClientMessage(playerid,red,"ERROR: You do not have a vehicle to tune");  }
    } else {	SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");    }
    return 1;
}
dcmd_lweapons(playerid,params[]) {
    #pragma unused params
    if(PlayerInfo[playerid][Level] >= 3) {
        if(IsPlayerInAnyVehicle(playerid)) {
        TogglePlayerControllable(playerid,false);	ShowMenuForPlayer(XWeapons,playerid);
        } else {  ShowMenuForPlayer(XWeapons,playerid);  }
    } else {	SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");    }
    return 1;
}
dcmd_lvehicle(playerid,params[]) {
    #pragma unused params
    if(PlayerInfo[playerid][Level] >= 2) {
        if(IsPlayerInAnyVehicle(playerid)) {
        SendClientMessage(playerid,red,"ERROR: You already have a car.");
        } else {  ShowMenuForPlayer(LVehicles,playerid); TogglePlayerControllable(playerid,false);  }
    } else {	SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");    }
    return 1;
}
//========================[ADMIN AREA]==========================================
dcmd_adminarea(playerid,params[]) {
	#pragma unused params
    if(PlayerInfo[playerid][Level] >= 2) {
        CMDMessageToAdmins(playerid,"ADMINAREA");
	    GameTextForPlayer(playerid,"Welcome Admin",1000,3);	SetPlayerPos(playerid,377.9259,170.8513,1008.383); 	SetPlayerInterior(playerid,3);
      	} else	{
   		SendClientMessage(playerid,red, "ERROR: You must be an administrator to use this command.");
   		SetPlayerHealth(playerid,1.0);	new pname[MAX_PLAYER_NAME], string[256];	GetPlayerName(playerid, pname, MAX_PLAYER_NAME);
   		format(string, sizeof(string), "SERVER MESSAGE: %s has been used adminarea (non admin)", pname);
   		MessageToAdmins(red,string);
   		}
	return 1;	}

//==============================================================================
ChangeMenu(playerid,Menu:oldmenu,Menu:newmenu){
	if(IsValidMenu(oldmenu))
		HideMenuForPlayer(oldmenu,playerid);
	ShowMenuForPlayer(newmenu,playerid);
	return 1;
}
CloseMenu(playerid,Menu:oldmenu){
	HideMenuForPlayer(oldmenu,playerid);
	TogglePlayerControllable(playerid,1);
	return 1;
}
BuyCar(playerid,vehid,Menu:mnu){
		new Float:X,Float:Y,Float:Z,Float:A;
		CloseMenu(playerid,mnu);
		SetCameraBehindPlayer(playerid);
		GetPlayerPos(playerid,X,Y,Z);
		GetPlayerFacingAngle(playerid,A);
		new carid = CreateVehicle(vehid,X,Y,Z,A,-1,-1,600);
		PutPlayerInVehicle(playerid,carid,0);
   	   	SetVehicleVirtualWorld(carid, GetPlayerVirtualWorld(playerid));
  		LinkVehicleToInterior(carid, GetPlayerInterior(playerid));
		return 0;
	}
//------------------------------------------------------------------------------
MaxAmmo(playerid)   {
new slot, weap, ammo;
for (slot = 0; slot < 14; slot++)
	{
    GetPlayerWeaponData(playerid, slot, weap, ammo);
	if (IsValidWeapon(weap))
	{
   	GivePlayerWeapon(playerid, weap, 99999);
	}
}
return 1;
}
//==============================================================================
public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
{
	new x = 0;
	while(x!=MAX_PLAYERS) {
	    if( IsPlayerConnected(x) &&	GetPlayerState(x) == PLAYER_STATE_SPECTATING &&
			gSpectateID[x] == playerid && gSpectateType[x] == ADMIN_SPEC_TYPE_PLAYER )
   		{
   		    SetPlayerInterior(x,newinteriorid);
		}
		x++;
	}
}
//==============================================================================
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
	if(GetPlayerState(playerid) == PLAYER_STATE_SPECTATING && gSpectateID[playerid] != INVALID_PLAYER_ID) {
		if(newkeys == KEY_JUMP) {
			AdvanceSpectate(playerid);
		}
		else if(newkeys == KEY_SPRINT) {
	    	ReverseSpectate(playerid);
		}
	}
	return 1; }
/*******************************************************************************
*******************************************************************************/

public OnPlayerInfoChange(playerid)
{
	return 1;
}

public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
/*******************************************************************************
								Admin Script
*******************************************************************************/
	for(new x=0; x<MAX_PLAYERS; x++) {
	    if(GetPlayerState(x) == PLAYER_STATE_SPECTATING && gSpectateID[x] == playerid) {
	        TogglePlayerSpectating(x, 1);
	        PlayerSpectateVehicle(x, vehicleid);
	        gSpectateType[x] = ADMIN_SPEC_TYPE_VEHICLE;
		}
	}
/*******************************************************************************
*******************************************************************************/
	return 1;
}

public OnPlayerExitVehicle(playerid, vehicleid)
{
/*******************************************************************************
									Admin Script
*******************************************************************************/
if(PlayerInfo[playerid][Invis] == 1) EraseVehicle(vehicleid);
if(PlayerInfo[playerid][DoorsLocked] == 1) SetVehicleParamsForPlayer(GetPlayerVehicleID(playerid),playerid,false,false);
//spec
for(new x=0; x<MAX_PLAYERS; x++) {
    if(GetPlayerState(x) == PLAYER_STATE_SPECTATING && gSpectateID[x] == playerid && gSpectateType[x] == ADMIN_SPEC_TYPE_VEHICLE) {
        TogglePlayerSpectating(x, 1);
        PlayerSpectatePlayer(x, playerid);
        gSpectateType[x] = ADMIN_SPEC_TYPE_PLAYER;
	}
}
/*******************************************************************************
*******************************************************************************/
return 1;
}

public OnPlayerStateChange(playerid, newstate, oldstate)
{
/*******************************************************************************
								Admin Script
*******************************************************************************/
    	switch(newstate){
		case PLAYER_STATE_ONFOOT:{
			switch(oldstate){
				case PLAYER_STATE_DRIVER:OnPlayerExitVehicle(playerid,255);
				case PLAYER_STATE_PASSENGER:OnPlayerExitVehicle(playerid,255);
			}
		}
	}
/*******************************************************************************
*******************************************************************************/
		return 1;
}
/*******************************************************************************
								Admin Script
*******************************************************************************/
stock StartSpectate(playerid, specplayerid)
{
	for(new x=0; x<MAX_PLAYERS; x++) {
	    if(GetPlayerState(x) == PLAYER_STATE_SPECTATING && gSpectateID[x] == playerid) {
	       AdvanceSpectate(x);
		}
	}
	if(IsPlayerInAnyVehicle(specplayerid)) {
		SetPlayerInterior(playerid,GetPlayerInterior(specplayerid));
		TogglePlayerSpectating(playerid, 1);
		PlayerSpectateVehicle(playerid, GetPlayerVehicleID(specplayerid));
		gSpectateID[playerid] = specplayerid;
		gSpectateType[playerid] = ADMIN_SPEC_TYPE_VEHICLE;
	}
	else {
		SetPlayerInterior(playerid,GetPlayerInterior(specplayerid));
		TogglePlayerSpectating(playerid, 1);
		PlayerSpectatePlayer(playerid, specplayerid);
		gSpectateID[playerid] = specplayerid;
		gSpectateType[playerid] = ADMIN_SPEC_TYPE_PLAYER;
	}
	new string[100];
	GetPlayerName(specplayerid,string,sizeof(string));
	format(string,sizeof(string),"~w~%s - ID:%d~n~< sprint - jump >", string,specplayerid);//sprint  jump
	SpecText = TextDrawCreate(271.000000,427.000000,string);
	TextDrawTextSize(SpecText,437.000000,0.000000);
	TextDrawSetOutline(SpecText,1);
	TextDrawSetShadow(SpecText,1);

    TextDrawShowForPlayer(playerid,SpecText);

	return 1;
}
//------------------------------------------------------------------------------
stock StopSpectate(playerid)
{
	TogglePlayerSpectating(playerid, 0);
	gSpectateID[playerid] = INVALID_PLAYER_ID;
	gSpectateType[playerid] = ADMIN_SPEC_TYPE_NONE;
	GameTextForPlayer(playerid,"~n~~n~~n~~w~Spectate off",1000,3);
	TextDrawDestroy(SpecText);
	return 1;
}
//------------------------------------------------------------------------------
stock AdvanceSpectate(playerid)
{
    if(ConnectedPlayers() == 2) { StopSpectate(playerid); return 1; }
	if(GetPlayerState(playerid) == PLAYER_STATE_SPECTATING && gSpectateID[playerid] != INVALID_PLAYER_ID) {
	    for(new x=gSpectateID[playerid]+1; x<=MAX_PLAYERS; x++) {
	    	if(x == MAX_PLAYERS) { x = 0; }
	        if(IsPlayerConnected(x) && x != playerid) {
				if(GetPlayerState(x) == PLAYER_STATE_SPECTATING && gSpectateID[x] != INVALID_PLAYER_ID ||
					(GetPlayerState(x) != 1 && GetPlayerState(x) != 2 && GetPlayerState(x) != 3))
				{
					continue;
				}
				else {
					StartSpectate(playerid, x);
					break;
				}
			}
		}
	}
	return 1;
}
//------------------------------------------------------------------------------
stock ReverseSpectate(playerid)
{
    if(ConnectedPlayers() == 2) { StopSpectate(playerid); return 1; }
	if(GetPlayerState(playerid) == PLAYER_STATE_SPECTATING && gSpectateID[playerid] != INVALID_PLAYER_ID) {
	    for(new x=gSpectateID[playerid]-1; x>=0; x--) {
	    	if(x == 0) { x = MAX_PLAYERS; }
	        if(IsPlayerConnected(x) && x != playerid) {
				if(GetPlayerState(x) == PLAYER_STATE_SPECTATING && gSpectateID[x] != INVALID_PLAYER_ID ||
					(GetPlayerState(x) != 1 && GetPlayerState(x) != 2 && GetPlayerState(x) != 3))
				{
					continue;
				}
				else {
					StartSpectate(playerid, x);
					break;
				}
			}
		}
	}
	return 1;
}
//-------------------------------------------
forward PosAfterSpec(playerid);
public PosAfterSpec(playerid) {
	SetPlayerPos(playerid,Pos[playerid][0],Pos[playerid][1],Pos[playerid][2]);
	SetPlayerFacingAngle(playerid,Pos[playerid][3]);
}
//==============================================================================
EraseVehicle(vehicleid)
{
    for(new players=0;players<=MAX_PLAYERS;players++)
    {
        new Float:X,Float:Y,Float:Z;
        if (IsPlayerInVehicle(players,vehicleid))
        {
            GetPlayerPos(players,X,Y,Z);
            SetPlayerPos(players,X,Y,Z+2);
            SetVehicleToRespawn(vehicleid);
        }
        SetVehicleParamsForPlayer(vehicleid,players,0,1);
    }
    SetTimerEx("VehRes",3000,0,"d",vehicleid);
    return 1;
}
//==============================================================================
forward VehRes(vehicleid);
public VehRes(vehicleid)
{
    DestroyVehicle(vehicleid);
}
//==============================================================================
forward GivePlayerCar(playerid,vehicleid);
public GivePlayerCar(playerid,vehicleid)
{
	new Float:X,Float:Y,Float:Z,Float:Angle,LVehicleIDt; GetPlayerPos(playerid,X,Y,Z); GetPlayerFacingAngle(playerid,Angle);
	LVehicleIDt = CreateVehicle(vehicleid,X,Y,Z,Angle,-1,-1,-1); SetVehicleNumberPlate(LVehicleIDt, "admin");
	TuneLCar(LVehicleIDt); 	PutPlayerInVehicle(playerid,LVehicleIDt,0);
	SetVehicleVirtualWorld(LVehicleIDt, GetPlayerVirtualWorld(playerid)); LinkVehicleToInterior(LVehicleIDt, GetPlayerInterior(playerid));
	CMDMessageToAdmins(playerid,"LTunedCar");
}
/*******************************************************************************
*******************************************************************************/

public OnPlayerEnterCheckpoint(playerid)
{
	return 1;
}

public OnPlayerLeaveCheckpoint(playerid)
{
	return 1;
}

public OnPlayerEnterRaceCheckpoint(playerid)
{
	return 1;
}

public OnPlayerLeaveRaceCheckpoint(playerid)
{
	return 1;
}

public OnRconCommand(cmd[])
{
/*******************************************************************************
									Admin Scipt
*******************************************************************************/
	if (strlen(cmd) > 50)
	{
		print("Invalid command length (exceeding 50 characters)");
		return true;
	}
//------------------------------------------

	if(strcmp(cmd, "info", true)==0) {

    new TotalVehicles = CreateVehicle(411, 0, 0, 0, 0, 0, 0, 1000);
    DestroyVehicle(TotalVehicles);
	new numo = CreateObject(1245,0,0,1000,0,0,0);
	DestroyObject(numo);
	new nump = CreatePickup(371,2,0,0,1000);
	DestroyPickup(nump);
	new gz = GangZoneCreate(3,3,5,5);
	GangZoneDestroy(gz);
	new model[250], nummodel;
	for(new i=1;i<TotalVehicles;i++) {
		model[GetVehicleModel(i)-400]++;
		}
	for (new i=0;i<250;i++) {
			if(model[i]!=0) {
			nummodel++; }
	}
	new string[256];
	print(" ===========================================================================");
	printf("                           Server Info:");
	format(string,256,"[ Players Connected: %d || Maximum Players: %d ] [Ratio %0.2f ]",ConnectedPlayers(),GetMaxPlayers(),Float:ConnectedPlayers() / Float:GetMaxPlayers() );
	printf(string);
	format(string,256,"[ Vehicles: %d || Models %d || Players In Vehicle: %d ]",TotalVehicles-1,nummodel, InVehCount() );
	printf(string);
	format(string,256,"[ InCar %d  ||  OnBike %d ]",InCarCount(),OnBikeCount() );
	printf(string);
	format(string,256,"[ Objects: %d || Pickups %d  || Gangzones %d]",numo-1, nump, gz);
	printf(string);
	format(string,256,"[ Players In Jail %d || Players Frozen %d ]",JailedPlayers(),FrozenPlayers() );
    printf(string);
    format(string,256,"[ Admins online %d ]",AdminCount() );
    printf(string);
	print(" ===========================================================================");
	return 1;
	}

	if(!strcmp(cmd, "pm", .length = 2))
	{
	    new arg_1 = argpos(cmd),
	        arg_2 = argpos(cmd, arg_1),
	        targetid = strval(cmd[arg_1]),
    	    message[128];

    	if ( !cmd[arg_1] || cmd[arg_1] < '0' || cmd[arg_1] > '9' || targetid > max_playerid || targetid < 0 || !cmd[arg_2])
	        printf("Usage: \"pm <playerid(0-%d)> <message>\"",max_playerid);

	    else if ( !IsPlayerConnected(targetid) )
	        print("This player is not connected!");
    	else
	    {
	        format(message, sizeof(message), "[RCON] PM from an admin: %s", cmd[arg_2]);
	        SendClientMessage(targetid, 0xFFFFFFFF, message);
    	}
	    return true;
	}
//--------------------------------------------
	if(!strcmp(cmd, "asay", .length = 4))
	{
	    new arg_1 = argpos(cmd),
    	    message[128];

    	if ( !cmd[arg_1] || cmd[arg_1] < '0')
	        print("Usage: \"asay  <message>\"");
	    else
	    {
	        format(message, sizeof(message), "[RCON] MessageToAdmins: %s", cmd[arg_1]);
	        MessageToAdmins(0xFFFFFFFF, message);
    	}
	    return true;
	}
//---------------------------------------
	if(strcmp(cmd, "uconfig", true)==0)
	{
		UpdateConfig();
		print("Configuration Successfully Updated");
		return true;
	}

/*******************************************************************************
*******************************************************************************/
	return 0;
}

public OnObjectMoved(objectid)
{
	return 1;
}

public OnPlayerObjectMoved(playerid, objectid)
{
	return 1;
}

public OnPlayerSelectedMenuRow(playerid, row)
{
/*******************************************************************************
									Admin Script
*******************************************************************************/
	new Menu:Current = GetPlayerMenu(playerid);
  	new string[256];
//==============[ new menus ]===================================================
    if(Current == LMainMenu)	{
        switch(row)
		{
 			case 0:
			{	if(PlayerInfo[playerid][Level] >= 4) {
   				ShowMenuForPlayer(AdminEnable,playerid);  TogglePlayerControllable(playerid,true);
   				} else {
   				SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
   				TogglePlayerControllable(playerid,true);
   				}
			}
			case 1:
			{	if(PlayerInfo[playerid][Level] >= 4) {
   				ShowMenuForPlayer(AdminDisable,playerid);  TogglePlayerControllable(playerid,true);
   				} else {
   				SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
   				TogglePlayerControllable(playerid,true);
   				}
			}
 			case 2: { ShowMenuForPlayer(LWeather,playerid); }
 			case 3: { ShowMenuForPlayer(LTime,playerid); }
   			case 4:	{ ShowMenuForPlayer(LVehicles,playerid); }
			case 5:	{ ShowMenuForPlayer(LCars,playerid);  }
 			case 6:
            {   if(PlayerInfo[playerid][Level] >= 2) {
        			if(IsPlayerInAnyVehicle(playerid)) {
					new LVehicleID = GetPlayerVehicleID(playerid), LModel = GetVehicleModel(LVehicleID);
				    switch(LModel) { case 448,461,462,463,468,471,509,510,521,522,523,581,586,449:
					{ SendClientMessage(playerid,red,"ERROR: You can not tune this vehicle");  TogglePlayerControllable(playerid,true); return 1; }  }
				    TogglePlayerControllable(playerid,false);	ShowMenuForPlayer(LTuneMenu,playerid);
			        } else {
					SendClientMessage(playerid,red,"ERROR: You do not have a vehicle to tune"); TogglePlayerControllable(playerid,true);
					}
		    	} else {
				SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command"); TogglePlayerControllable(playerid,true);
				}
			}
  			case 7: { if(PlayerInfo[playerid][Level] >= 3) { ShowMenuForPlayer(XWeapons,playerid); } else { SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command"); TogglePlayerControllable(playerid,true);   }}
			case 8:	{ ShowMenuForPlayer(LTele,playerid);  }
			case 9:
			{
			new Menu:Currentxmenu = GetPlayerMenu(playerid);
    		HideMenuForPlayer(Currentxmenu,playerid);   TogglePlayerControllable(playerid,true);
		    }
		}
	}//-------------------------------------------------------------------------
	if(Current == AdminEnable) {
		new adminname[MAX_PLAYER_NAME]; GetPlayerName(playerid, adminname, sizeof(adminname));
		switch(row){
			case 0: { ServerInfo[AntiSwear] = 1; format(string,256,"Administrator %s has enabled antiswear",adminname); SendClientMessageToAll(blue,string);	}
			case 1: { ServerInfo[NameKick] = 1; format(string,256,"Administrator %s has enabled namekick",adminname); SendClientMessageToAll(blue,string);	}
			case 2:	{ ServerInfo[AntiSpam] = 1; format(string,256,"Administrator %s has enabled antispam",adminname); SendClientMessageToAll(blue,string);	}
			case 3:	{ ServerInfo[MaxPing] = 1; format(string,256,"Administrator %s has enabled ping kick",adminname); SendClientMessageToAll(blue,string);	}
			case 4:	{ ServerInfo[ReadCmds] = 1; format(string,256,"Administrator %s has enabled reading commands",adminname); MessageToAdmins(blue,string);	}
			case 5:	{ ServerInfo[ReadPMs] = 1; format(string,256,"Administrator %s has enabled reading pms",adminname); MessageToAdmins(blue,string); }
			case 6:	{ ServerInfo[NoCaps] = 1; format(string,256,"Administrator %s has prevented captial letters in chat",adminname); SendClientMessageToAll(blue,string); }
            case 7: return ChangeMenu(playerid,Current,LMainMenu);
		}
		return TogglePlayerControllable(playerid,true);
	}//------------------------------------------------------------------------
	if(Current == AdminDisable) {
		new adminname[MAX_PLAYER_NAME]; GetPlayerName(playerid, adminname, sizeof(adminname));
		switch(row){
			case 0: { ServerInfo[AntiSwear] = 0; format(string,256,"Administrator %s has disabled antiswear",adminname); SendClientMessageToAll(blue,string);	}
			case 1: { ServerInfo[NameKick] = 0; format(string,256,"Administrator %s has disabled namekick",adminname); SendClientMessageToAll(blue,string);	}
			case 2:	{ ServerInfo[AntiSpam] = 0; format(string,256,"Administrator %s has disabled antispam",adminname); SendClientMessageToAll(blue,string);	}
			case 3:	{ ServerInfo[MaxPing] = 0; format(string,256,"Administrator %s has disabled ping kick",adminname); SendClientMessageToAll(blue,string);	}
			case 4:	{ ServerInfo[ReadCmds] = 0; format(string,256,"Administrator %s has disabled reading commands",adminname); MessageToAdmins(blue,string);	}
			case 5:	{ ServerInfo[ReadPMs] = 0; format(string,256,"Administrator %s has disabled reading pms",adminname); MessageToAdmins(blue,string); }
			case 6:	{ ServerInfo[NoCaps] = 0; format(string,256,"Administrator %s has allowed captial letters in chat",adminname); SendClientMessageToAll(blue,string); }
            case 7: return ChangeMenu(playerid,Current,LMainMenu);
		}
		return TogglePlayerControllable(playerid,true);
	}//-------------------------------------------------------------------------
	if(Current==LVehicles){
		switch(row){
			case 0: ChangeMenu(playerid,Current,twodoor);
			case 1: ChangeMenu(playerid,Current,fourdoor);
			case 2: ChangeMenu(playerid,Current,fastcar);
			case 3: ChangeMenu(playerid,Current,Othercars);
			case 4: ChangeMenu(playerid,Current,bikes);
			case 5: ChangeMenu(playerid,Current,boats);
			case 6: ChangeMenu(playerid,Current,planes);
			case 7: ChangeMenu(playerid,Current,helicopters);
			case 8: return ChangeMenu(playerid,Current,LMainMenu);
		}
		return 1;
	}
	if(Current==twodoor){
		new vehid;
		switch(row){
			case 0: vehid = 533;
			case 1: vehid = 139;
			case 2: vehid = 555;
			case 3: vehid = 422;
			case 4: vehid = 554;
			case 5: vehid = 575;
			case 6: vehid = 536;
			case 7: vehid = 535;
			case 8: vehid = 576;
			case 9: vehid = 401;
			case 10: vehid = 526;
			case 11: return ChangeMenu(playerid,Current,LVehicles);
		}
		return BuyCar(playerid,vehid,Current);
	}
	if(Current==fourdoor){
		new vehid;
		switch(row){
			case 0: vehid = 404;
			case 1: vehid = 566;
			case 2: vehid = 414;
			case 3: vehid = 445;
			case 4: vehid = 507;
			case 5: vehid = 466;
			case 6: vehid = 546;
			case 7: vehid = 511;
			case 8: vehid = 467;
			case 9: vehid = 426;
			case 10: vehid = 405;
			case 11: return ChangeMenu(playerid,Current,LVehicles);
		}
		return BuyCar(playerid,vehid,Current);
	}
	if(Current==fastcar){
		new vehid;
		switch(row){
			case 0: vehid = 480;
			case 1: vehid = 402;
			case 2: vehid = 415;
			case 3: vehid = 587;
			case 4: vehid = 494;
			case 5: vehid = 411;
			case 6: vehid = 603;
			case 7: vehid = 506;
			case 8: vehid = 451;
			case 9: vehid = 477;
			case 10: vehid = 541;
			case 11: return ChangeMenu(playerid,Current,LVehicles);
		}
		return BuyCar(playerid,vehid,Current);
	}
	if(Current==Othercars){
		new vehid;
		switch(row){
			case 0: vehid = 556;
			case 1: vehid = 408;
			case 2: vehid = 431;
			case 3: vehid = 437;
			case 4: vehid = 427;
			case 5: vehid = 432;
			case 6: vehid = 601;
			case 7: vehid = 524;
			case 8: vehid = 455;
			case 9: vehid = 424;
			case 10: vehid = 573;
			case 11: return ChangeMenu(playerid,Current,LVehicles);
		}
		return BuyCar(playerid,vehid,Current);
	}
	if(Current==bikes){
		new vehid;
		switch(row){
			case 0: vehid = 581;
			case 1: vehid = 481;
			case 2: vehid = 462;
			case 3: vehid = 521;
			case 4: vehid = 463;
			case 5: vehid = 522;
			case 6: vehid = 461;
			case 7: vehid = 448;
			case 8: vehid = 471;
			case 9: vehid = 468;
			case 10: vehid = 586;
			case 11: return ChangeMenu(playerid,Current,LVehicles);
		}
		return BuyCar(playerid,vehid,Current);
	}
	if(Current==boats){
		new vehid;
		switch(row){
			case 0: vehid = 472;
			case 1: vehid = 473;
			case 2: vehid = 493;
			case 3: vehid = 595;
			case 4: vehid = 484;
			case 5: vehid = 430;
			case 6: vehid = 453;
			case 7: vehid = 452;
			case 8: vehid = 446;
			case 9: vehid = 454;
			case 10: return ChangeMenu(playerid,Current,LVehicles);
		}
		return BuyCar(playerid,vehid,Current);
	}
	if(Current==planes){
		new vehid;
		switch(row){
			case 0: vehid = 592;
			case 1: vehid = 577;
			case 2: vehid = 511;
			case 3: vehid = 512;
			case 4: vehid = 593;
			case 5: vehid = 520;
			case 6: vehid = 553;
			case 7: vehid = 476;
			case 8: vehid = 519;
			case 9: vehid = 460;
			case 10: vehid = 513;
			case 11: return ChangeMenu(playerid,Current,LVehicles);
		}
		return BuyCar(playerid,vehid,Current);
	}
	if(Current==helicopters){
		new vehid;
		switch(row){
			case 0: vehid = 548;
			case 1: vehid = 425;
			case 2: vehid = 417;
			case 3: vehid = 487;
			case 4: vehid = 488;
			case 5: vehid = 497;
			case 6: vehid = 563;
			case 7: vehid = 447;
			case 8: vehid = 469;
			case 9: return ChangeMenu(playerid,Current,LVehicles);
		}
		return BuyCar(playerid,vehid,Current);
	}
//------------------------------------------------------
	if(Current==XWeapons){
		switch(row){
			case 0: { GivePlayerWeapon(playerid,24,500); }
			case 1: { GivePlayerWeapon(playerid,31,500); }
			case 2: { GivePlayerWeapon(playerid,26,500); }
			case 3: { GivePlayerWeapon(playerid,27,500); }
			case 4: { GivePlayerWeapon(playerid,28,500); }
			case 5: { GivePlayerWeapon(playerid,35,500); }
			case 6: { GivePlayerWeapon(playerid,38,1000); }
			case 7: { GivePlayerWeapon(playerid,34,500); }
			case 8: return ChangeMenu(playerid,Current,XWeaponsBig);
        	case 9: return ChangeMenu(playerid,Current,XWeaponsSmall);
        	case 10: return ChangeMenu(playerid,Current,XWeaponsMore);
        	case 11: return ChangeMenu(playerid,Current,LMainMenu);
		}
		return TogglePlayerControllable(playerid,true);
	}

	if(Current==XWeaponsBig){
		switch(row){
			case 0: { GivePlayerWeapon(playerid,25,500);  }
			case 1: { GivePlayerWeapon(playerid,30,500); }
			case 2: { GivePlayerWeapon(playerid,33,500); }
			case 3: { GivePlayerWeapon(playerid,36,500); }
			case 4: { GivePlayerWeapon(playerid,37,500); }
			case 5: { GivePlayerWeapon(playerid,29,500); }
			case 6: { GivePlayerWeapon(playerid,32,1000); }
			case 7: return ChangeMenu(playerid,Current,XWeapons);
		}
		return TogglePlayerControllable(playerid,true);
	}
	if(Current==XWeaponsSmall){
		switch(row){
			case 0: { GivePlayerWeapon(playerid,22,500); }//9mm
			case 1: { GivePlayerWeapon(playerid,23,500); }//s9
			case 2: { GivePlayerWeapon(playerid,18,500); }// MC
			case 3: { GivePlayerWeapon(playerid,42,500); }//FE
			case 4: { GivePlayerWeapon(playerid,41,500); }//spraycan
			case 5: { GivePlayerWeapon(playerid,16,500); }//grenade
			case 6: { GivePlayerWeapon(playerid,8,500); }//Katana
			case 7: { GivePlayerWeapon(playerid,9,1000); }//chainsaw
			case 8: return ChangeMenu(playerid,Current,XWeapons);
		}
		return TogglePlayerControllable(playerid,true);
	}
	if(Current==XWeaponsMore){
		switch(row){
			case 0: { SetPlayerSpecialAction(playerid, 2); }
			case 1: { GivePlayerWeapon(playerid,4,500); }
			case 2: { GivePlayerWeapon(playerid,14,500); }
			case 3: { GivePlayerWeapon(playerid,43,500); }
			case 4: { GivePlayerWeapon(playerid,7,500); }
			case 5: { GivePlayerWeapon(playerid,5,500); }
			case 6: { GivePlayerWeapon(playerid,2,1000); }
			case 7: { MaxAmmo(playerid);  }
			case 8: return ChangeMenu(playerid,Current,XWeapons);
		}
		return TogglePlayerControllable(playerid,true);
	}
    if(Current == LTele)
	{
        switch(row)
		{
			case 0: ChangeMenu(playerid,Current,LasVenturasMenu);
			case 1: ChangeMenu(playerid,Current,LosSantosMenu);
			case 2: ChangeMenu(playerid,Current,SanFierroMenu);
			case 3: ChangeMenu(playerid,Current,DesertMenu);
			case 4: ChangeMenu(playerid,Current,FlintMenu);
			case 5: ChangeMenu(playerid,Current,MountChiliadMenu);
			case 6: ChangeMenu(playerid,Current,InteriorsMenu);
			case 7: return ChangeMenu(playerid,Current,LMainMenu);
		}
		return 1;
	}
    if(Current == LasVenturasMenu)
	{
        switch(row)
		{
			case 0: { SetPlayerPos(playerid,2037.0,1343.0,12.0); SetPlayerInterior(playerid,0); }// strip
			case 1: { SetPlayerPos(playerid,2163.0,1121.0,23); SetPlayerInterior(playerid,0); }// come a lot
			case 2: { SetPlayerPos(playerid,1688.0,1615.0,12.0); SetPlayerInterior(playerid,0); }// lv airport
			case 3: { SetPlayerPos(playerid,2503.0,2764.0,10.0); SetPlayerInterior(playerid,0); }// military fuel
			case 4: { SetPlayerPos(playerid,1418.0,2733.0,10.0); SetPlayerInterior(playerid,0); }// golf lv
			case 5: { SetPlayerPos(playerid,1377.0,2196.0,9.0); SetPlayerInterior(playerid,0); }// pitch match
			case 6: return ChangeMenu(playerid,Current,LTele);
		}
		return TogglePlayerControllable(playerid,true);
	}
    if(Current == LosSantosMenu)
	{
        switch(row)
		{
			case 0: { SetPlayerPos(playerid,2495.0,-1688.0,13.0); SetPlayerInterior(playerid,0); }// ganton
			case 1: { SetPlayerPos(playerid,1979.0,-2241.0,13.0); SetPlayerInterior(playerid,0); }// ls airport
			case 2: { SetPlayerPos(playerid,2744.0,-2435.0,15.0); SetPlayerInterior(playerid,0); }// docks
			case 3: { SetPlayerPos(playerid,1481.0,-1656.0,14.0); SetPlayerInterior(playerid,0); }// square
			case 4: { SetPlayerPos(playerid,1150.0,-2037.0,69.0); SetPlayerInterior(playerid,0); }// veradant bluffs
			case 5: { SetPlayerPos(playerid,425.0,-1815.0,6.0); SetPlayerInterior(playerid,0); }// santa beach
			case 6: { SetPlayerPos(playerid,1240.0,-744.0,95.0); SetPlayerInterior(playerid,0); }// mullholland
			case 7: { SetPlayerPos(playerid,679.0,-1070.0,49.0); SetPlayerInterior(playerid,0); }// richman
			case 8: return ChangeMenu(playerid,Current,LTele);
		}
		return TogglePlayerControllable(playerid,true);
	}
    if(Current == SanFierroMenu)
	{
        switch(row)
		{
			case 0: { SetPlayerPos(playerid,-1990.0,137.0,27.0); SetPlayerInterior(playerid,0); } // sf station
			case 1: { SetPlayerPos(playerid,-1528.0,-206.0,14.0); SetPlayerInterior(playerid,0); }// sf airport
			case 2: { SetPlayerPos(playerid,-2709.0,198.0,4.0); SetPlayerInterior(playerid,0); }// ocean flats
			case 3: { SetPlayerPos(playerid,-2738.0,-295.0,6.0); SetPlayerInterior(playerid,0); }// avispa country club
			case 4: { SetPlayerPos(playerid,-1457.0,465.0,7.0); SetPlayerInterior(playerid,0); }// easter basic docks
			case 5: { SetPlayerPos(playerid,-1853.0,1404.0,7.0); SetPlayerInterior(playerid,0); }// esplanadae north
			case 6: { SetPlayerPos(playerid,-2620.0,1373.0,7.0); SetPlayerInterior(playerid,0); }// battery point
			case 7: return ChangeMenu(playerid,Current,LTele);
		}
		return TogglePlayerControllable(playerid,true);
	}
    if(Current == DesertMenu)
	{
        switch(row)
		{
			case 0: { SetPlayerPos(playerid,416.0,2516.0,16.0); SetPlayerInterior(playerid,0); } // plane graveyard
			case 1: { SetPlayerPos(playerid,81.0,1920.0,17.0); SetPlayerInterior(playerid,0); }// area51
			case 2: { SetPlayerPos(playerid,-324.0,1516.0,75.0); SetPlayerInterior(playerid,0); }// big ear
			case 3: { SetPlayerPos(playerid,-640.0,2051.0,60.0); SetPlayerInterior(playerid,0); }// dam
			case 4: { SetPlayerPos(playerid,-766.0,1545.0,27.0); SetPlayerInterior(playerid,0); }// las barrancas
			case 5: { SetPlayerPos(playerid,-1514.0,2597.0,55.0); SetPlayerInterior(playerid,0); }// el qyebrados
			case 6: { SetPlayerPos(playerid,442.0,1427.0,9.0); SetPlayerInterior(playerid,0); }// actane springs
			case 7: return ChangeMenu(playerid,Current,LTele);
		}
		return TogglePlayerControllable(playerid,true);
	}
    if(Current == FlintMenu)
	{
        switch(row)
		{
			case 0: { SetPlayerPos(playerid,-849.0,-1940.0,13.0);  SetPlayerInterior(playerid,0); }// lake
			case 1: { SetPlayerPos(playerid,-1107.0,-1619.0,76.0);  SetPlayerInterior(playerid,0); }// leafy hollow
			case 2: { SetPlayerPos(playerid,-1049.0,-1199.0,128.0);  SetPlayerInterior(playerid,0); }// the farm
			case 3: { SetPlayerPos(playerid,-1655.0,-2219.0,32.0);  SetPlayerInterior(playerid,0); }// shady cabin
			case 4: { SetPlayerPos(playerid,-375.0,-1441.0,25.0); SetPlayerInterior(playerid,0); }// flint range
			case 5: { SetPlayerPos(playerid,-367.0,-1049.0,59.0); SetPlayerInterior(playerid,0); }// beacon hill
			case 6: { SetPlayerPos(playerid,-494.0,-555.0,25.0); SetPlayerInterior(playerid,0); }// fallen tree
			case 7: return ChangeMenu(playerid,Current,LTele);
		}
		return TogglePlayerControllable(playerid,true);
	}
    if(Current == MountChiliadMenu)
	{
        switch(row)
		{
			case 0: { SetPlayerPos(playerid,-2308.0,-1657.0,483.0);  SetPlayerInterior(playerid,0); }// chiliad jump
			case 1: { SetPlayerPos(playerid,-2331.0,-2180.0,35.0); SetPlayerInterior(playerid,0); }// bottom chiliad
			case 2: { SetPlayerPos(playerid,-2431.0,-1620.0,526.0);  SetPlayerInterior(playerid,0); }// highest point
			case 3: { SetPlayerPos(playerid,-2136.0,-1775.0,208.0);  SetPlayerInterior(playerid,0); }// chiliad path
			case 4: return ChangeMenu(playerid,Current,LTele);
		}
		return TogglePlayerControllable(playerid,true);
	}
    if(Current == InteriorsMenu)
	{
        switch(row)
		{
			case 0: {	SetPlayerPos(playerid,386.5259, 173.6381, 1008.3828);	SetPlayerInterior(playerid,3); }
			case 1: {	SetPlayerPos(playerid,288.4723, 170.0647, 1007.1794);	SetPlayerInterior(playerid,3); }
			case 2: {	SetPlayerPos(playerid,372.5565, -131.3607, 1001.4922);	SetPlayerInterior(playerid,5); }
			case 3: {	SetPlayerPos(playerid,-1129.8909, 1057.5424, 1346.4141);	SetPlayerInterior(playerid,10); }
			case 4: {	SetPlayerPos(playerid,2233.9363, 1711.8038, 1011.6312);	SetPlayerInterior(playerid,1); }
			case 5: {	SetPlayerPos(playerid,2536.5322, -1294.8425, 1044.125);	SetPlayerInterior(playerid,2); }
			case 6: {	SetPlayerPos(playerid,1267.8407, -776.9587, 1091.9063);	SetPlayerInterior(playerid,5); }
  			case 7: {	SetPlayerPos(playerid,-1421.5618, -663.8262, 1059.5569);	SetPlayerInterior(playerid,4); }
   			case 8: {	SetPlayerPos(playerid,-1401.067, 1265.3706, 1039.8672);	SetPlayerInterior(playerid,16); }
   			case 9: {	SetPlayerPos(playerid,285.8361, -39.0166, 1001.5156);	SetPlayerInterior(playerid,1); }
    		case 10: {	SetPlayerPos(playerid,1727.2853, -1642.9451, 20.2254);	SetPlayerInterior(playerid,18); }
			case 11: return ChangeMenu(playerid,Current,LTele);
		}
		return TogglePlayerControllable(playerid,true);
	}
    if(Current == LWeather)
	{
		new adminname[MAX_PLAYER_NAME]; GetPlayerName(playerid, adminname, sizeof(adminname));
        switch(row)
		{
			case 0:	{	SetWeather(5);	PlayerPlaySound(playerid,1057,0.0,0.0,0.0);	CMDMessageToAdmins(playerid,"SETWEATHER"); format(string,256,"Administrator %s has changed the weather",adminname); SendClientMessageToAll(blue,string); }
   			case 1:	{	SetWeather(19); PlayerPlaySound(playerid,1057,0.0,0.0,0.0); CMDMessageToAdmins(playerid,"SETWEATHER");	format(string,256,"Administrator %s has changed the weather",adminname); SendClientMessageToAll(blue,string); }
			case 2:	{	SetWeather(8);  PlayerPlaySound(playerid,1057,0.0,0.0,0.0); CMDMessageToAdmins(playerid,"SETWEATHER");	format(string,256,"Administrator %s has changed the weather",adminname); SendClientMessageToAll(blue,string); }
			case 3:	{	SetWeather(20);	PlayerPlaySound(playerid,1057,0.0,0.0,0.0); CMDMessageToAdmins(playerid,"SETWEATHER");	format(string,256,"Administrator %s has changed the weather",adminname); SendClientMessageToAll(blue,string); }
			case 4:	{	SetWeather(9);  PlayerPlaySound(playerid,1057,0.0,0.0,0.0); CMDMessageToAdmins(playerid,"SETWEATHER");	format(string,256,"Administrator %s has changed the weather",adminname); SendClientMessageToAll(blue,string); }
			case 5:	{	SetWeather(16); PlayerPlaySound(playerid,1057,0.0,0.0,0.0); CMDMessageToAdmins(playerid,"SETWEATHER");	format(string,256,"Administrator %s has changed the weather",adminname); SendClientMessageToAll(blue,string); }
			case 6:	{	SetWeather(45); PlayerPlaySound(playerid,1057,0.0,0.0,0.0); CMDMessageToAdmins(playerid,"SETWEATHER");	format(string,256,"Administrator %s has changed the weather",adminname); SendClientMessageToAll(blue,string); }
			case 7:	{	SetWeather(44); PlayerPlaySound(playerid,1057,0.0,0.0,0.0); CMDMessageToAdmins(playerid,"SETWEATHER");	format(string,256,"Administrator %s has changed the weather",adminname); SendClientMessageToAll(blue,string); }
			case 8:	{	SetWeather(22); PlayerPlaySound(playerid,1057,0.0,0.0,0.0); CMDMessageToAdmins(playerid,"SETWEATHER");	format(string,256,"Administrator %s has changed the weather",adminname); SendClientMessageToAll(blue,string); }
			case 9:	{	SetWeather(11); PlayerPlaySound(playerid,1057,0.0,0.0,0.0); CMDMessageToAdmins(playerid,"SETWEATHER");	format(string,256,"Administrator %s has changed the weather",adminname); SendClientMessageToAll(blue,string); }
			case 10: return ChangeMenu(playerid,Current,LMainMenu);
		}
		return TogglePlayerControllable(playerid,true);
	}
    if(Current == LTuneMenu)
	{
        switch(row)
		{
			case 0:	{	AddVehicleComponent(GetPlayerVehicleID(playerid),1010); PlayerPlaySound(playerid,1133,0.0,0.0,0.0);	SendClientMessage(playerid,blue,"Vehicle Component Added");	}
   			case 1:	{	AddVehicleComponent(GetPlayerVehicleID(playerid),1087); PlayerPlaySound(playerid,1133,0.0,0.0,0.0);	SendClientMessage(playerid,blue,"Vehicle Component Added"); }
			case 2:	{	AddVehicleComponent(GetPlayerVehicleID(playerid),1081); PlayerPlaySound(playerid,1133,0.0,0.0,0.0);	SendClientMessage(playerid,blue,"Vehicle Component Added");	}
			case 3: {	AddVehicleComponent(GetPlayerVehicleID(playerid),1078); PlayerPlaySound(playerid,1133,0.0,0.0,0.0);	SendClientMessage(playerid,blue,"Vehicle Component Added");	}
			case 4:	{	AddVehicleComponent(GetPlayerVehicleID(playerid),1098); PlayerPlaySound(playerid,1133,0.0,0.0,0.0);	SendClientMessage(playerid,blue,"Vehicle Component Added");	}
			case 5:	{	AddVehicleComponent(GetPlayerVehicleID(playerid),1074); PlayerPlaySound(playerid,1133,0.0,0.0,0.0);	SendClientMessage(playerid,blue,"Vehicle Component Added");	}
			case 6:	{	AddVehicleComponent(GetPlayerVehicleID(playerid),1082); PlayerPlaySound(playerid,1133,0.0,0.0,0.0);	SendClientMessage(playerid,blue,"Vehicle Component Added");	}
			case 7:	{	AddVehicleComponent(GetPlayerVehicleID(playerid),1085); PlayerPlaySound(playerid,1133,0.0,0.0,0.0);	SendClientMessage(playerid,blue,"Vehicle Component Added");	}
			case 8:	{	AddVehicleComponent(GetPlayerVehicleID(playerid),1025); PlayerPlaySound(playerid,1133,0.0,0.0,0.0);	SendClientMessage(playerid,blue,"Vehicle Component Added");	}
			case 9:	{	AddVehicleComponent(GetPlayerVehicleID(playerid),1077); PlayerPlaySound(playerid,1133,0.0,0.0,0.0);	SendClientMessage(playerid,blue,"Vehicle Component Added");	}
			case 10: return ChangeMenu(playerid,Current,PaintMenu);
			case 11: return ChangeMenu(playerid,Current,LMainMenu);
		}
		return TogglePlayerControllable(playerid,true);
	}
    if(Current == PaintMenu)
	{
        switch(row)
		{
			case 0:	{ ChangeVehiclePaintjob(GetPlayerVehicleID(playerid),0); PlayerPlaySound(playerid,1133,0.0,0.0,0.0); SendClientMessage(playerid,blue,"Vehicle Paint Changed"); }
			case 1:	{ ChangeVehiclePaintjob(GetPlayerVehicleID(playerid),1); PlayerPlaySound(playerid,1133,0.0,0.0,0.0); SendClientMessage(playerid,blue,"Vehicle Paint Changed"); }
			case 2:	{ ChangeVehiclePaintjob(GetPlayerVehicleID(playerid),2); PlayerPlaySound(playerid,1133,0.0,0.0,0.0); SendClientMessage(playerid,blue,"Vehicle Paint Changed"); }
			case 3:	{ ChangeVehiclePaintjob(GetPlayerVehicleID(playerid),3); PlayerPlaySound(playerid,1133,0.0,0.0,0.0); SendClientMessage(playerid,blue,"Vehicle Paint Changed"); }
			case 4:	{ ChangeVehiclePaintjob(GetPlayerVehicleID(playerid),4); PlayerPlaySound(playerid,1133,0.0,0.0,0.0); SendClientMessage(playerid,blue,"Vehicle Paint Changed"); }
			case 5: return ChangeMenu(playerid,Current,LTuneMenu);
		}
		return TogglePlayerControllable(playerid,true);
	}
    if(Current == LTime)
	{
		new adminname[MAX_PLAYER_NAME]; GetPlayerName(playerid, adminname, sizeof(adminname));
        switch(row)
		{
			case 0:	{	for(new i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i)) SetPlayerTime(i,7,0);	PlayerPlaySound(playerid,1057,0.0,0.0,0.0);	CMDMessageToAdmins(playerid,"LTIME MENU");	format(string,256,"Administrator %s has changed the time",adminname); SendClientMessageToAll(blue,string); }
   			case 1:	{	for(new i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i)) SetPlayerTime(i,12,0); PlayerPlaySound(playerid,1057,0.0,0.0,0.0); CMDMessageToAdmins(playerid,"LTIME MENU");	format(string,256,"Administrator %s has changed the time",adminname); SendClientMessageToAll(blue,string); }
			case 2:	{	for(new i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i)) SetPlayerTime(i,16,0);  PlayerPlaySound(playerid,1057,0.0,0.0,0.0); CMDMessageToAdmins(playerid,"LTIME MENU");	format(string,256,"Administrator %s has changed the time",adminname); SendClientMessageToAll(blue,string); }
			case 3:	{	for(new i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i)) SetPlayerTime(i,20,0);	PlayerPlaySound(playerid,1057,0.0,0.0,0.0); CMDMessageToAdmins(playerid,"LTIME MENU");	format(string,256,"Administrator %s has changed the time",adminname); SendClientMessageToAll(blue,string); }
			case 4:	{	for(new i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i)) SetPlayerTime(i,0,0);  PlayerPlaySound(playerid,1057,0.0,0.0,0.0); CMDMessageToAdmins(playerid,"LTIME MENU");	format(string,256,"Administrator %s has changed the time",adminname); SendClientMessageToAll(blue,string); }
			case 5: return ChangeMenu(playerid,Current,LMainMenu);
		}
		return TogglePlayerControllable(playerid,true);
	}
    if(Current == LCars)
	{
		new vehid;
        switch(row) {
			case 0: vehid = 451;//Turismo
			case 1: vehid = 568;//Bandito
			case 2: vehid = 539;//Vortex
			case 3: vehid = 522;//nrg
			case 4: vehid = 601;//s.w.a.t
			case 5: vehid = 425; //hunter
			case 6: vehid = 493;//jetmax
			case 7: vehid = 432;//rhino
			case 8: vehid = 444; //mt
			case 9: vehid = 447; //sea sparrow
			case 10: return ChangeMenu(playerid,Current,LCars2);
			case 11: return ChangeMenu(playerid,Current,LMainMenu);
		}
		return BuyCar(playerid,vehid,Current);
	}
    if(Current == LCars2)
	{
		new vehid;
        switch(row) {
			case 0: vehid = 406;// dumper
			case 1: vehid = 564; //rc tank
			case 2: vehid = 441;//RC Bandit
			case 3: vehid = 464;// rc baron
			case 4: vehid = 501; //rc goblin
			case 5: vehid = 465; //rc raider
			case 6: vehid = 594; // rc cam
			case 7: vehid = 449; //tram
			case 8: return ChangeMenu(playerid,Current,LCars);
		}
		return BuyCar(playerid,vehid,Current);
	}
/*******************************************************************************
*******************************************************************************/
	return 1;
}

public OnPlayerExitedMenu(playerid)
{
/*******************************************************************************
									Admin Script
*******************************************************************************/
	new Menu:Current = GetPlayerMenu(playerid);
    HideMenuForPlayer(Current,playerid);
    return TogglePlayerControllable(playerid,true);
/*******************************************************************************
*******************************************************************************/
}

public OnPlayerPickUpPickup(playerid, pickupid)
{
/*******************************************************************************
						Stones
*******************************************************************************/
	new i=0;
	while (i < GetMaxPlayers())
	{
	    if (pickupid ==	P_GRAVESTONES[i][GraveStonePickID])
	    {
	    	GameTextForPlayer(playerid,P_GRAVESTONES[i][GraveStoneName],5000,3);
	    	return true;
	    }
	    i++;
	}
	return true;
}
//==============================================================================
GetSpecName(playerid)
{
	new name[MAX_PLAYER_NAME];
	GetPlayerName(playerid, name, 255);
	return name;
}
/*******************************************************************************
*******************************************************************************/
/*******************************************************************************
							PoD
*******************************************************************************/
PlayerName(playerid)
{
  new pName[MAX_PLAYER_NAME];
  GetPlayerName(playerid, pName, 255);
  return pName;
}
public constTimer()
{
	if(vTimer > 1)
	{
	vTimer--;
	}
	if(vTimer == 1)
	{
	EndVoteKick();
	vTimer--;
	}
}
EndVoteKick()
{
ClearVoted();
Votes = 0;
format(gString, sizeof(gString), "<PoD> Attempted VoteKick (%s) Unsuccessful!", PlayerName(vPlayer));
SendClientMessageToAll(COLOR_YELLOW, gString);
vPlayer = -1;
strdel(reason, 0,128);
return 1;
}

AdminEndVoteKick(playerid)
{
ClearVoted();
Votes = 0;
vTimer = 0;
format(gString, sizeof(gString), "<PoD> Attempted VoteKick (%s) Ended by Administrator(%s)!", PlayerName(vPlayer), PlayerName(playerid));
SendClientMessageToAll(COLOR_YELLOW, gString);
vPlayer = -1;
strdel(reason, 0,128);
return 1;
}

VoteKickSuccessful()
{
ClearVoted();
Votes = 0;
format(gString, sizeof(gString), "<PoD> Attempted VoteKick (%s) Successful!", PlayerName(vPlayer));
SendClientMessageToAll(COLOR_YELLOW, gString);
KickTimer[vPlayer] = 1;
SetTimer("vKick", 500, 0);
vPlayer = -1;
strdel(reason, 0,128);
return 1;
}

ClearVoted()
{
for(new i=0;i<MAX_PLAYERS;i++)
	{
	if(IsPlayerConnected(i))
	{
		Voted[i] = 0;
	}
}
}

/*
=========================
	 Config Function
=========================
*/

rConfig()
{
	new File:fhandle;
	new cname[256];
	new temp[256];
	new value[256];
	fhandle = fopen("podconfig.txt",io_readwrite);
	while(fread(fhandle,temp,sizeof(temp),false))
	{
	    cname = strtok2(temp,0);
		value = strtok2(temp,(strlen(cname)+1));
		if(strcmp(cname,"Method",true) == 0) pState = strval(value); // Unused in v1.0
		else if(strcmp(cname,"Percent",true) == 0) pPerc = strval(value);
		else if(strcmp(cname,"Vote-Timer",true) == 0) pTime = strval(value);
	}
	fclose(fhandle);
	return 1;
}

/*
===================
  Kick/Ban Timers
===================
*/

public vKick()
{
for(new j=0;j<MAX_PLAYERS;j++)
	{
		if(IsPlayerConnected(j))
		{
		    if(KickTimer[j] == 1)
		    {
		    KickTimer[j] = 0;
		    Kick(j);
		    }
		}
	}
}

/*
========================
     String Defines
========================
*/

strtok2(const string[],valve)
{
	new index=valve;
	new length = strlen(string);
	while ((index < length) && (string[index] <= ' '))
	{
		index++;
	}

	new offset = index;
	new result[20];
	while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
	{
		result[index - offset] = string[index];
		index++;
	}
	result[index - offset] = EOS;
	return result;
}
/*******************************************************************************
*******************************************************************************/
/*******************************************************************************
								Admin Script
*******************************************************************************/
forward countdown();
public countdown()
{
	if(cdt==6) {
	GameTextForAll("~p~Starting...",1000,6);
	}
	cdt--;
	new text[20]; format(text,sizeof(text),"~w~%d",cdt);
	for(new i = 0; i < MAX_PLAYERS; i++) {
	PlayerPlaySound(i, 1056, 0.0, 0.0, 0.0);
	TogglePlayerControllable(i,0);
	}
	GameTextForAll(text,1000,6);
	if (cdt==0) {
	GameTextForAll("~g~GO~ r~!",1000,6);
	KillTimer(CountTimer);
	for(new i = 0; i < MAX_PLAYERS; i++) {
	TogglePlayerControllable(i,1);
	PlayerPlaySound(i, 1057, 0.0, 0.0, 0.0); }
	}
}
//------------------------------------------
forward duel();
public duel()
{
	if(cdt==6) {
	for(new i = 0; i < MAX_PLAYERS; i++) {
	if(InDuel[i] == 1) {
	GameTextForPlayer(i,"~p~Duel Starting...",1000,6); }
	}
	}
	cdt--;
	new text[20]; format(text,sizeof(text),"~w~%d",cdt);
	for(new i = 0; i < MAX_PLAYERS; i++) {
	if(InDuel[i] == 1) {
	PlayerPlaySound(i, 1056, 0.0, 0.0, 0.0);
	TogglePlayerControllable(i,0);
	GameTextForPlayer(i,text,1000,6);
	}
	}
	if (cdt==0) {
	KillTimer(CountTimer);
	for(new i = 0; i < MAX_PLAYERS; i++) {
	if(InDuel[i] == 1) {
	TogglePlayerControllable(i,1);
	PlayerPlaySound(i, 1057, 0.0, 0.0, 0.0);
	GameTextForPlayer(i,"~g~GO~ r~!",1000,6); }
	}
	}
}

//==============================================================================
ShowScore(playerid)
{
new string[256], playername[MAX_PLAYER_NAME];	GetPlayerName(playerid, playername, sizeof(playername));
format(string, sizeof(string), "<> %s's Stats:  Kills: %d | Deaths: %d | Ratio: %0.2f | Money: $%d",playername,PlayerInfo[playerid][Kills],PlayerInfo[playerid][Deaths], (Float:PlayerInfo[playerid][Kills]/Float:PlayerInfo[playerid][Deaths]),GetPlayerMoney(playerid));
SendClientMessage(playerid,green, string);
}
//==============================================================================
forward MessageToAdmins(color,const string[]);
public MessageToAdmins(color,const string[])
{
	for(new i = 0; i <= MAX_PLAYERS; i++)
	{
		if(IsPlayerConnected(i) == 1)
		{
			if (PlayerInfo[i][Level] >= 1)
			{
				SendClientMessage(i, color, string);
			}
		}
	}
	return 1;
}
//==============================================================================
forward TuneLCar(VehicleID);
public TuneLCar(VehicleID)	{
ChangeVehicleColor(VehicleID,0,7);  AddVehicleComponent(VehicleID, 1010);  AddVehicleComponent(VehicleID, 1087);
}
//==================== [ Jail & Freeze ]========================================

forward Jail1(player1);
public Jail1(player1)	{
	TogglePlayerControllable(player1,false);
	new Float:x, Float:y, Float:z;	GetPlayerPos(player1,x,y,z);
	SetPlayerCameraPos(player1,x+10,y,z+10);SetPlayerCameraLookAt(player1,x,y,z);
	SetTimerEx("Jail2",1000,0,"d",player1);
}
forward Jail2(player1);
public Jail2(player1)	{
	new Float:x, Float:y, Float:z;	GetPlayerPos(player1,x,y,z);
	SetPlayerCameraPos(player1,x+7,y,z+5);	SetPlayerCameraLookAt(player1,x,y,z);
	if(GetPlayerState(player1) == PLAYER_STATE_ONFOOT) {
	SetPlayerSpecialAction(player1,SPECIAL_ACTION_HANDSUP);    }
	SetTimerEx("Jail3",1000,0,"d",player1);
}
forward Jail3(player1);
public Jail3(player1)	{
	new Float:x, Float:y, Float:z;	GetPlayerPos(player1,x,y,z);
	SetPlayerCameraPos(player1,x+3,y,z);SetPlayerCameraLookAt(player1,x,y,z);
	GameTextForPlayer(player1,"~r~Busted By Admins",3000,3);
}
forward JailPlayer(player1);
public JailPlayer(player1)	{
	TogglePlayerControllable(player1,true);
	SetPlayerPos(player1,-689.1971,-2012.466,150.255);
	SetPlayerInterior(player1,0);
	SetCameraBehindPlayer(player1);
	SetTimerEx("JailRelease",PlayerInfo[player1][JailTime]*1000,0,"d",player1);
	PlayerInfo[player1][JailTime] = 0;  PlayerInfo[player1][Jailed] = 1;
}
forward JailRelease(player1);
public JailRelease(player1)	{
	SetPlayerInterior(player1,0);	SpawnPlayer(player1);  PlayerInfo[player1][Jailed] = 0;	PlayerPlaySound(player1,1057,0.0,0.0,0.0);	GameTextForPlayer(player1,"~g~Released ~n~From Jail",3000,3);
}
//-------------------------
forward JailPlayerAfterDeath(player1);
public JailPlayerAfterDeath(player1)	{
	TogglePlayerControllable(player1,true);
	SetPlayerPos(player1,-689.1971,-2012.466,150.255);
	SetCameraBehindPlayer(player1);
}
//------------------------
forward UnFreezeMe(player1);
public UnFreezeMe(player1)	{
	TogglePlayerControllable(player1,true);   PlayerInfo[player1][Frozen] = 0;	PlayerPlaySound(player1,1057,0.0,0.0,0.0);	GameTextForPlayer(player1,"~g~Unfrozen",3000,3);
}
//------------------------
forward spam(playerid);
public spam(playerid)
{
	PlayerInfo[playerid][Spam] = 0;
}
//==============================================================================
forward RepairCar(playerid);
public RepairCar(playerid) {
if(IsPlayerInAnyVehicle(playerid)) SetVehiclePos(GetPlayerVehicleID(playerid), Pos[playerid][0], Pos[playerid][1], Pos[playerid][2]+0.5);
SetVehicleZAngle(GetPlayerVehicleID(playerid), Pos[playerid][3]);
SetCameraBehindPlayer(playerid);
}
//============================ [ Timers ]=======================================
forward PingKick();
public PingKick() {
	if(ServerInfo[MaxPing] != 0) {
	    for(new i = 0,string[256],name[24]; i < MAX_PLAYERS; i++)
	    if(IsPlayerConnected(i) && (GetPlayerPing(i) > ServerInfo[MaxPing])) {
	        if(PlayerInfo[i][Level] < 1) {
	        	GetPlayerName(i,name,24); format(string,256,"%s has been kicked from the server. (Reason: High Ping (%d) | Max Allowed: %d)",name,GetPlayerPing(i),ServerInfo[MaxPing]);
	        	SendClientMessageToAll(grey,string); SaveToFile("KickLog",string); Kick(i);
	        }
	    }
	}
	if(ServerInfo[AntiBot] == 1) {
	   	for(new i = 0,string[256],name[24]; i < MAX_PLAYERS; i++) {
			if(IsPlayerConnected(i) == 1 && (IsPlayerLAdmin(i) != 1) && (GetPlayerPing(i) < 1) && PlayerInfo[i][AllowPing] == 1)	{
	        	GetPlayerName(i,name,24); format(string,256,"%s has been kicked from the server. (Reason: Possible Bot. Ping:%d)",name,GetPlayerPing(i) );
	        	SendClientMessageToAll(grey,string); SaveToFile("KickLog",string); Kick(i);
			}
		}
	}
}
//==============================================================================
forward GodUpdate();
public GodUpdate() {
for(new i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i) && PlayerInfo[i][God] == 1) SetPlayerHealth(i,100000);
}

//==============================================================================
forward HideNameTag();
public HideNameTag()
{
//  name tag
	for (new i = 0; i < MAX_PLAYERS; i++)
	{
		for (new x = 0; x < MAX_PLAYERS; x++)
		{
	    	if(!PlayerInfo[i][Level] && PlayerInfo[x][Invis] == 1)
			{
		   		ShowPlayerNameTagForPlayer(i,x,0);
		   		SetPlayerMarkerForPlayer(i,x, ( GetPlayerColor(x) & 0xFFFFFF00) );
			}
			else
			{
				ShowPlayerNameTagForPlayer(i,x,1);
				SetPlayerMarkerForPlayer(i,x,GetPlayerColor(x));
			}
	    }
	}
  	return 1;
}
//==========================[ Server Info Counters ]=============================
forward ConnectedPlayers();
public ConnectedPlayers() {
new Connected;
for(new i = 0; i < MAX_PLAYERS; i++)    {
if(IsPlayerConnected(i)) {
Connected++; }
}
return Connected++;  }

forward JailedPlayers();
public JailedPlayers() {
new JailedCount;
for(new i = 0; i < MAX_PLAYERS; i++)    {
if(IsPlayerConnected(i) && PlayerInfo[i][Jailed] == 1) {
JailedCount++; }
}
return JailedCount++; }

forward FrozenPlayers();
public FrozenPlayers() {
new FrozenCount;
for(new i = 0; i < MAX_PLAYERS; i++)    {
if(IsPlayerConnected(i) && PlayerInfo[i][Frozen] == 1) {
FrozenCount++; }
}
return FrozenCount++; }

//----------------------------------------
forward InVehCount();
public InVehCount()
{
new InVeh;
for(new i = 0; i < MAX_PLAYERS; i++)    {
if(IsPlayerConnected(i) && IsPlayerInAnyVehicle(i)) {
InVeh++; }
}
return InVeh++;
}
//----------------------------------------
forward OnBikeCount();
public OnBikeCount()
{
new BikeCount;
for(new i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i) && IsPlayerInAnyVehicle(i)) {
	new LModel = GetVehicleModel(GetPlayerVehicleID(i));
	switch(LModel) 	{
	case 448,461,462,463,468,471,509,510,521,522,523,581,586: BikeCount++;
	}
	}
return BikeCount++;
}
//----------------------------------------
forward InCarCount();
public InCarCount()
{
new PInCarCount;
for(new i = 0; i < MAX_PLAYERS; i++)    {
	if(IsPlayerConnected(i) && IsPlayerInAnyVehicle(i)) {
		new LModel = GetVehicleModel(GetPlayerVehicleID(i));
		if(LModel != 448 || 461 || 462 || 463 || 468 || 471 || 509 || 510 || 521 || 522 || 523 || 581 || 586) PInCarCount++;
		}
	}
return PInCarCount++;
}
forward AdminCount();
public AdminCount() {
	new LAdminCount;
	for(new i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i) && PlayerInfo[i][Level] >= 1)	LAdminCount++;
	return LAdminCount++;
}
//------[ Rcon ]------------------------
forward RestartGM();
public RestartGM()
{
	SendRconCommand("gmx");
}
forward UnloadFS();
public UnloadFS()
{
	SendRconCommand("unloadfs ladmin2");
}
forward PrintWarning(const string[]);
public PrintWarning(const string[])
{
    new str[256];
    print("\n\n>		WARNING:\n");
    format(str, sizeof(str), " The  %s  folder is missing from scriptfiles", string);
    print(str);
    print("\n Please Create This Folder And Start the Filterscript Again\n\n");
}
//=============================[Bot Check]======================================
forward BotCheck(playerid);
public BotCheck(playerid) {
	if(IsPlayerConnected(playerid))
	{
		PlayerInfo[playerid][AllowPing] = 1;
		if(GetPlayerPing(playerid) < 1)
		{
			new string[256], ip[100], PlayerName[30];  GetPlayerIp(playerid,ip,sizeof(ip)); GetPlayerName(playerid, PlayerName, 30);
			format(string,sizeof(string),"BOT: %s id:%d ip: %s ping: %d",PlayerName,playerid,ip,GetPlayerPing(playerid));
			SaveToFile("BotKickLog",string);
			printf("[admin] Possible bot has been detected,[ID:%d].",playerid);
		    SaveToFile("KickLog",string);  Kick(playerid);
		    SetTimerEx("BotCheck2",3000,0,"i",playerid); /*to make sure the bot has gone*/
		}
	}
}
forward BotCheck2(playerid);
public BotCheck2(playerid) {
	if(IsPlayerConnected(playerid))
	{
		if(GetPlayerPing(playerid) < 1)
		{
			new string[256], ip[100], PlayerName[30];  GetPlayerIp(playerid,ip,sizeof(ip)); GetPlayerName(playerid, PlayerName, 30);
			format(string,sizeof(string),"BOT: %s id:%d ip: %s ping: %d",PlayerName,playerid,ip,GetPlayerPing(playerid));
			SaveToFile("BotKickLog",string);
			printf("[admin] Posiible bot has been detected,[ID:%d]. Second Check",playerid);
		    SaveToFile("KickLog",string);  Kick(playerid);
		}
	}
}
//==============================================================================
forward PutAtPos(playerid);
public PutAtPos(playerid) {
  if (dUserINT(PlayerName2(playerid)).("x")!=0) {
      SetPlayerPos(playerid,
                   float(dUserINT(PlayerName2(playerid)).("x")),
                   float(dUserINT(PlayerName2(playerid)).("y")),
                   float(dUserINT(PlayerName2(playerid)).("z")));
      SetPlayerInterior(playerid,	(dUserINT(PlayerName2(playerid)).("interior"))	);
  }
}
//=============================[FixHour]========================================
forward FixHour(hour);
public FixHour(hour)
{
	hour = timeshift+hour;
	if (hour < 0)	{
		hour = hour+24;
	} else if (hour > 23)	{
		hour = hour-24;	}
	shifthour = hour;
	return 1;
}
//==============================================================================
stock IsValidWeapon(weaponid)
{
    if (weaponid > 0 && weaponid < 19 || weaponid > 21 && weaponid < 47)
    {
        return 1;
    }
    return 0;
}
//==============================================================================
stock DisableWord(const badword[], text[])
{
   	for(new i=0; i<256; i++)
   	{
		if (strfind(text[i], badword, true) == 0)
		{
			for(new a=0; a<256; a++)
			{
				if (a >= i && a < i+strlen(badword)) text[a]='*';
			}
		}
	}
}
//==============================================================================
stock IsPlayerLAdmin(playerid)
{
	if(PlayerInfo[playerid][Level] > 0)
		return true;
	else return false;
}
//==============================================================================
argpos(const string[], idx = 0, sep = ' ')// (by yom)
{
    for(new i = idx, j = strlen(string); i < j; i++)
        if (string[i] == sep && string[i+1] != sep)
            return i+1;

    return -1;
}
//===============================================================================
stock CMDMessageToAdmins(playerid,command[]) { new string[200],name[30]; GetPlayerName(playerid,name,30); format(string,200,"[Admin]: %s has used the command %s",name,command); return MessageToAdmins(blue,string); }
//=====================[ Configuration ] =========================================
stock UpdateConfig()
{
	new file[256], File:file2, string[100]; format(file,sizeof(file),"ladmin/config/Config.ini");
	if(!dini_Exists(file))
	{
		dini_Create(file);
		dini_IntSet(file,"MaxPing",1200);
		dini_IntSet(file,"ReadPMs",1);
		dini_IntSet(file,"ReadCmds",1);
		dini_IntSet(file,"MaxAdminLevel",5);
		dini_IntSet(file,"AdminOnlySkins",0);
		dini_IntSet(file,"AdminSkin",217);
		dini_IntSet(file,"AntiBot",1);
		dini_IntSet(file,"AntiSpam",1);
		dini_IntSet(file,"AntiSwear",1);
		dini_IntSet(file,"NameKick",1);
		dini_IntSet(file,"NoCaps",0);
		dini_IntSet(file,"Locked",0);
		print("\n\n >Configuration File Successfully Created");
		ServerInfo[MaxPing] = dini_Int(file,"MaxPing");
		ServerInfo[ReadPMs] = dini_Int(file,"ReadPMs");
		ServerInfo[ReadCmds] = dini_Int(file,"ReadCmds");
		ServerInfo[MaxAdminLevel] = dini_Int(file,"MaxAdminLevel");
		ServerInfo[AdminOnlySkins] = dini_Int(file,"AdminOnlySkins");
		ServerInfo[AdminSkin] = dini_Int(file,"AdminSkin");
		ServerInfo[AntiBot] = dini_Int(file,"AntiBot");
		ServerInfo[AntiSpam] = dini_Int(file,"AntiSpam");
		ServerInfo[AntiSwear] = dini_Int(file,"AntiSwear");
		ServerInfo[NameKick] = dini_Int(file,"NameKick");
		ServerInfo[NoCaps] = dini_Int(file,"NoCaps");
		ServerInfo[Locked] = dini_Int(file,"Locked");
		print("\n >Configuration Settings Loaded From File");

	}
	else if(dini_Exists(file))
	{
		ServerInfo[MaxPing] = dini_Int(file,"MaxPing");
		ServerInfo[ReadPMs] = dini_Int(file,"ReadPMs");
		ServerInfo[ReadCmds] = dini_Int(file,"ReadCmds");
		ServerInfo[MaxAdminLevel] = dini_Int(file,"MaxAdminLevel");
		ServerInfo[AdminOnlySkins] = dini_Int(file,"AdminOnlySkins");
		ServerInfo[AdminSkin] = dini_Int(file,"AdminSkin");
		ServerInfo[AntiBot] = dini_Int(file,"AntiBot");
		ServerInfo[AntiSpam] = dini_Int(file,"AntiSpam");
		ServerInfo[AntiSwear] = dini_Int(file,"AntiSwear");
		ServerInfo[NameKick] = dini_Int(file,"NameKick");
		ServerInfo[NoCaps] = dini_Int(file,"NoCaps");
		ServerInfo[Locked] = dini_Int(file,"Locked");
		print("\n >Configuration Settings Loaded From File");
	}
	//forbidden names
	if((file2 = fopen("ladmin/config/ForbiddenNames.cfg",io_read)))
	{
		while(fread(file2,string))
		{
		    for(new i = 0, j = strlen(string); i < j; i++) if(string[i] == '\n' || string[i] == '\r') string[i] = '\0';
            BadNames[BadNameCount] = string;
            BadNameCount++;
		}
		fclose(file2);	print(" >Forbidden Names Loaded From File");
	}
	//forbidden words
	if((file2 = fopen("ladmin/config/ForbiddenWords.cfg",io_read)))
	{
		while(fread(file2,string))
		{
		    for(new i = 0, j = strlen(string); i < j; i++) if(string[i] == '\n' || string[i] == '\r') string[i] = '\0';
            ForbiddenWords[ForbiddenWordCount] = string;
            ForbiddenWordCount++;
		}
		fclose(file2);	print(" >Forbidden Words Loaded From File\n");
	}
}
//=====================[ SAVING DATA ] =========================================
forward SaveToFile(filename[],text[]);
public SaveToFile(filename[],text[])
{
	new File:LAdminfile;
	new filepath[256], string[256], year,month,day, hour,minute,second;
	getdate(year,month,day); gettime(hour,minute,second);

	format(filepath,sizeof(filepath),"ladmin/Logs/%s.txt",filename);
	LAdminfile = fopen(filepath,io_append);
	format(string,sizeof(string),"[%d.%d.%d %d:%d:%d] %s\r\n",year,month,day,hour,minute,second,text);
	fwrite(LAdminfile,string);
	fclose(LAdminfile);
	return 1;
}
/*******************************************************************************
*******************************************************************************/