SA-MP Forums

Go Back   SA-MP Forums > SA-MP Scripting and Plugins > Scripting Help

Reply
 
Thread Tools Display Modes
Old 08/05/2018, 12:37 PM   #1
AlberBM
Little Clucker
 
Join Date: May 2018
Posts: 21
Reputation: 0
Default No Logs

Hi , I had server and worked well , but unfortunately the logs don't display like chat or cmds ....etc

Here are the logs.

https://pastebin.com/82xmiini
AlberBM is offline   Reply With Quote
Old 08/05/2018, 01:17 PM   #2
TadePoleMG
Big Clucker
 
TadePoleMG's Avatar
 
Join Date: Apr 2018
Location: Uttar Pradesh, India
Posts: 163
Reputation: 2
Default Re: No Logs

Hi

It is clear that something wrong in public PingKick ().
Show your codes then i help you.

Thank You.
__________________
-| Gaming 'N' Scripting |-
TadePoleMG is offline   Reply With Quote
Old 08/05/2018, 01:52 PM   #3
AlberBM
Little Clucker
 
Join Date: May 2018
Posts: 21
Reputation: 0
Default Re: No Logs

http://www.mediafire.com/file/b2qsacs321re034/COD7.zip
AlberBM is offline   Reply With Quote
Old 08/05/2018, 01:57 PM   #4
TadePoleMG
Big Clucker
 
TadePoleMG's Avatar
 
Join Date: Apr 2018
Location: Uttar Pradesh, India
Posts: 163
Reputation: 2
Default Re: No Logs

Try latest include files to compile it.
__________________
-| Gaming 'N' Scripting |-
TadePoleMG is offline   Reply With Quote
Old 08/05/2018, 02:05 PM   #5
AlberBM
Little Clucker
 
Join Date: May 2018
Posts: 21
Reputation: 0
Default Re: No Logs

Links please
AlberBM is offline   Reply With Quote
Old 08/05/2018, 02:29 PM   #6
TadePoleMG
Big Clucker
 
TadePoleMG's Avatar
 
Join Date: Apr 2018
Location: Uttar Pradesh, India
Posts: 163
Reputation: 2
Default Re: No Logs

tell me your you uses edited script of eAdmin by you or original.
__________________
-| Gaming 'N' Scripting |-
TadePoleMG is offline   Reply With Quote
Old 08/05/2018, 02:39 PM   #7
AlberBM
Little Clucker
 
Join Date: May 2018
Posts: 21
Reputation: 0
Default Re: No Logs

Code:
//==============================================================================
// Includes
//==============================================================================
#include <a_samp>
#include <lfuncs>
#include <ldudb>
#include <mSelection>
//==============================================================================
#define MAX_STRING  255
//==============================================================================
native WP_Hash(buffer[], len, const str[]);
#pragma dynamic 145000
//==============================================================================
//------------------------------------------------------------------------------
//                      	CONFIGURATION
//------------------------------------------------------------------------------
//==============================================================================
//==============================================================================
// AdminScript Defines Config
// Only Numbers!
//==============================================================================
//------------------------------------------------
#define MAX_WARNINGS 		3
// Max Warnings
//------------------------------------------------
#define MAX_RCON_ATTEMPS    5
// Max Rcon Attemps
//------------------------------------------------
#define MAX_REPORTS 		7
// Number Max of Reports per Player
//------------------------------------------------
#define MAX_CHAT_LINES 		7
// Number of chat lines to view in Sv Console
//------------------------------------------------
#define SPAM_MAX_MSGS 		5
// Max Spam Messages
//------------------------------------------------
#define SPAM_TIMELIMIT		8
// In seconds
//------------------------------------------------
#define PING_MAX_EXCEEDS	4
// Max Ping Exceeds
//------------------------------------------------
#define PING_TIMELIMIT 		60
// In seconds
//------------------------------------------------
#define MAX_FAIL_LOGINS     3
// Max Login Attempts
//------------------------------------------------
#define MAX_ADV_WARNINGS    3
// Max Warnings per Advertisements
//------------------------------------------------
#define ANNOUNCES_TIME      6000
// Duration(Miliseconds) of every message in announcements (Only if "Announcements" is enabled) (Default: 6 secs)
//------------------------------------------------
//==============================================================================
// -> Disable/Enable
// true = Enable | false = Disable
//==============================================================================
//------------------------------------------------
#define EnableSpec         	true
// Enable/Disable Spectating System (If you already using disable it. Set to 'false')
//------------------------------------------------
#define SaveLogs           	true
// Set 'false' if your server runs Linux (Logs wont be Saved!)
//------------------------------------------------
#define PM_CHAT_LOG         true
// Enable/Disable to save PMs in Log
//------------------------------------------------
#define ADM_CHAT_LOG        true
// Enable/Disable to save AdmChat in Log
//------------------------------------------------
#define USE_DIALOGS 		true
// Enable/Disable All Dialogs (Not Disable SERVER PASSWORD DIALOG)
//------------------------------------------------
#define USE_STATS           true
// Enable/Disable Statistics
//------------------------------------------------
#define ADM_InMSG          	false
// Put 'admin' in all messages sent by administrators (Ex: David(Admin): Welcome...)
//------------------------------------------------
#define SaveScore           true
// Enable/Disable to save Player's Score
//------------------------------------------------
#define GpsCheckPoint      	true
// Enable/Disable use RaceCheckpoints for indicate players In GPS.
//------------------------------------------------
#define GpsOnlyCity         true
// True = Gps Show Only player City | False = Gps Show Player City and Zone.
//------------------------------------------------
#define ConfigInConsole     true
// Enable/Disable to Show Basic AdmScript Configuration in Console (When start the AdmScript)
//------------------------------------------------
#define EnableTwoRcon 		true
// Enable/Disable Two Rcon Passwords (2 Rcon passwords for more security!)
//------------------------------------------------
#define EnableCamHack 		true
// Enable/Disable LuxCam System - Administrators can move the camera! (Original By Sandra, modified by Me)
//------------------------------------------------
#define EnablePM_Cmd 		true
// Enable/Disable PM Command
//------------------------------------------------
#define EnableSecurity		false
// Enable/Disable Security question
//------------------------------------------------
//==============================================================================
// -> Only SA-MP Keys (Use 0 to disable)
//==============================================================================
//------------------------------------------------
#define ExecuteCmdKey KEY_ANALOG_LEFT
// Enable/Disable dialog for execute commands open with pressed Key!
//------------------------------------------------
//==============================================================================
// -> Use Two Rcon Passwords (Only if 'EnableTwoRcon' is enabled(True) !)
//==============================================================================
//------------------------------------------------
#define TwoRconPass "adminadmin"
//Define the Second RCON Password
//------------------------------------------------
//==============================================================================
// -> Account Commands
// WARNING: Not exceed 20 characters and is not recommended to use spaces!
//==============================================================================
//------------------------------------------------
#define RegisterCommand    "register"
// Define the Register Command
//------------------------------------------------
#define LoginCommand  	   "login"
// Define the Login Command
//------------------------------------------------
#define ChangePassCommand  "changepass"
// Define the ChangePassword Command
//------------------------------------------------
//==============================================================================
// -> Admin Name COLOR (In command /ADMINS) (Default: LIGHTBLUE2 and Orange)
//==============================================================================
//------------------------------------------------
#define Color_Basic_Moderator       orange
//Level 1
//------------------------------------------------
#define Color_Moderator             orange
//Level 2
//------------------------------------------------
#define Color_Master_Moderator      orange
//Level 3
//------------------------------------------------
#define Color_Administrator         orange
//Level 4
//------------------------------------------------
#define Color_Master_Administrator  orange
//Level 5
//------------------------------------------------
#define Color_Professional_Admin    orange
//Level +5 (ex:6,7,8...)
//------------------------------------------------
#define Color_RCON_Administrator  	LIGHTBLUE2
//Rcon Admin
//------------------------------------------------
//==============================================================================
// -> CamHack Configurations
// WARNING: Not modify if you not have experience!
//==============================================================================
#if EnableCamHack == true
//------------------------------------------------
#define SPEED_ROTATE_LEFTRIGHT_SLOW 0.5
//------------------------------------------------
#define SPEED_ROTATE_LEFTRIGHT_FAST 2.0
//------------------------------------------------
#define SPEED_ROTATE_UPDOWN_SLOW 0.05
//------------------------------------------------
#define SPEED_ROTATE_UPDOWN_FAST 0.15
//------------------------------------------------
#define SPEED_MOVE_UPDOWN_SLOW 0.25
//------------------------------------------------
#define SPEED_MOVE_UPDOWN_FAST 1.0
//------------------------------------------------
#define SPEED_MOVE_FORWARDBACKWARD_SLOW 0.4
//------------------------------------------------
#define SPEED_MOVE_FORWARDBACKWARD_FAST 2.0
//------------------------------------------------
#define SPEED_MOVE_LEFTRIGHT_SLOW 0.4
//------------------------------------------------
#define SPEED_MOVE_LEFTRIGHT_FAST 2.0
//------------------------------------------------
#endif
//==============================================================================
//CONFIG END!
//-----------
//==============================================================================
// Colours
//==============================================================================
#define LIGHTGREEN 	 0x38FF06FF
#define LIGHTBLUE2   0xF6BB0AA
#define LIGHTBLUE    0x0BBF6AA
#define COLOR_GREEN  0x33AA33AA
#define COLOR_PINK   0xFF66FFAA
#define COLOR_BLUE 	 0x0000BBAA
#define COLOR_PURPLE 0x800080AA
#define COLOR_BLACK  0x000000AA
#define COLOR_WHITE  0xFFFFFFAA
#define COLOR_GREEN1 0x33AA33AA
#define COLOR_BROWN	 0xA52A2AAA
#define blue 		 0x375FFFFF
#define BlueMsg      0x0BBF6AA
#define white        0xFFFFFFAA
#define red 		 0xFF0000AA
#define lightred     0xFB0000AA
#define green 		 0x33FF33AA
#define yellow 		 0xFFFF00AA
#define grey 		 0xC0C0C0AA
#define Green1 		 0x53D212FF
#define Green2 	 	 0x129E12FF
#define blue1 		 0x2641FEAA
#define orange 		 0xFF9900AA
#define black 		 0x2C2727AA
#define COL_WHITE 	"{FFFFFF}"
#define COL_BLACK 	"{0E0101}"
#define COL_GREY 	"{C3C3C3}"
#define COL_GREEN 	"{6EF83C}"
#define COL_RED 	"{F81414}"
#define COL_YELLOW 	"{F3FF02}"
#define COL_ORANGE 	"{FFAF00}"
#define COL_LIME 	"{B7FF00}"
#define COL_CYAN 	"{00FFEE}"
#define COL_BLUE 	"{0049FF}"
#define COL_MAGENTA "{F300FF}"
#define COL_VIOLET 	"{B700FF}"
#define COL_PINK 	"{FF00EA}"
#define COL_MARONE 	"{A90202}"
//==============================================================================
// CapsLock
//==============================================================================
#define UpperToLower(%1) for(new ToLowerChar; ToLowerChar < strlen( %1 ); ToLowerChar ++ ) if ( %1[ ToLowerChar ]> 64 && %1[ ToLowerChar ] < 91 ) %1[ ToLowerChar ] += 32
//==============================================================================
// Spectator
//==============================================================================
#define ADMIN_SPEC_TYPE_NONE	0
#define ADMIN_SPEC_TYPE_PLAYER 	1
#define ADMIN_SPEC_TYPE_VEHICLE 2
//==============================================================================
// Dialogs
//==============================================================================
#define DIALOGID 					2222
#define DIALOG_TYPE_SERVLOCK    	7002
#define DIALOG_TYPE_SERVUNLOCK      7001
#define DIALOG_TYPE_SERVPASS    	7003
#define DIALOG_TYPE_RCON2           7004
#define DIALOG_TYPE_QUESTION        7010
#define DIALOG_TYPE_PM		        7000
#define DIALOG_WEAPONS              10
#define DIALOG_VEHICLES             11
#define DIALOG_SKINS              	12
//==============================================================================
// Zones
//==============================================================================
#define MAX_ZONE_NAME 28
//==============================================================================
// Variables
//==============================================================================

//==============================================================================
// -> Random Messages (Announcements)
//(Only if "Announcements" is enable in Config file)
//==============================================================================
new RandomMessages[][] =
{
    "Suspect of ~r~Cheaters? ~w~Use ~y~/report [id] (reason)",
    "Respect ~b~all server ~y~Rules!",
    "Buy a ~g~VIP ~w~Account ~b~Today! For access lot of new ~y~features!",
    "You not visited we ~g~site?~w~ Visit now: ~p~www.Here.com"
};
//==============================================================================


#if EnablePM_Cmd == true
new PmReceiver[MAX_PLAYER_NAME];
new PMplayer1;
#endif

enum e_Register {
	sCommand[12],
	CommandLen
}

new RegisterCommands[3][e_Register]= {
	{""#RegisterCommand"",-1},{""#LoginCommand"",-1},{""#ChangePassCommand"",-1}
};

#define CMD_REGISTER \
    RegisterCommand
#define CMD_REGISTER_LEN \
	RegisterCommands[0][CommandLen]

#define CMD_LOGIN \
	LoginCommand
#define CMD_LOGIN_LEN \
	RegisterCommands[1][CommandLen]

#define CMD_CHANGEPASS \
	ChangePassCommand
#define CMD_CHANGEPASS_LEN \
	RegisterCommands[2][CommandLen]


#if EnableCamHack == true


new Float:PCP[MAX_PLAYERS][3]; // PCP = PlayerCameraPosition
new Float:PCL[MAX_PLAYERS][3]; // PCL = PlayerCameraLookat
new Float:PCA[MAX_PLAYERS];    // PCA = PlayerCameraAngle

new KeyTimer[MAX_PLAYERS];
new KeyState[MAX_PLAYERS];
new FollowOn[MAX_PLAYERS];
#endif


new cd_f,cd_sec,cd_timer, CdStated = 0, cdt[MAX_PLAYERS] = -1;

new Text:Announcements;

new AdminArea[6] = { 377,170,1008,90,3,0 //X,Y,Z,Angle,Interior,VirtualWorld
};

new LVersion[] = "v1.6 Beta";

enum PlayerData
{
	Registered,
	LoggedIn,
	pVip,
	Level,
	Muted,
	SpamCount,
	MaxAdv,
	#if EnableTwoRcon == true
	MaxRcon,
	#endif
	SpamTime,
	Caps,
	Kills,
	Deaths,
	God,
	Spawned,
	TimesSpawned,
	hours,
	mins,
	secs,
	MuteWarnings,
	Warnings,
	TotalTime,
	ConnectTime,
	GodCar,
	pColour,
	pCar,
	DoorsLocked,
	Frozen,
	FreezeTime,
	PingTime,
	PingCount,
	pPing[PING_MAX_EXCEEDS],
	BotPing,
	Hide,
	OnDuty,
	Jailed,
	JailTime,
	blipS,
	blip,
	SpecType,
	SpecID,
	FailLogin,
	bool:AllowedIn,
	pCaged,
	pInvis,
	pCageTime,
	pGps,
	NoQuestion,
	#if EnableCamHack == true
	InCamMod,
	LockedCam,
	#endif
};
enum ServerData
{
 	AntiSwear,
 	AntiSpam,
	MaxAdminLevel,
	MaxPing,
	ReadPMs,
	Locked,
	Password[128],
	ReadCmds,
 	NoCaps,
	AntiBot,
	AdminOnlySkins,
	AdminSkin,
	AdminSkin2,
	NameKick,
	PartNameKick,
	ConnectMessages,
	DisableChat,
	AdminCmdMsg,
	GiveMoney,
	GiveWeap,
	AutoLogin,
	MustLogin,
	MustRegister,
	ForbiddenWeaps,
	MaxMuteWarnings,
	AntiAds,
	Announce,
};


new AccInfo[MAX_PLAYERS][PlayerData],
	ServerInfo[ServerData],
	AdmRank[128],
	AdmDuty[128],
	AccType[128],
	ServerLockPass[128],
	BadWords[100][100], BadWordsCount = 0,
	Float:Pos[MAX_PLAYERS][4],
	Chat[MAX_CHAT_LINES][128],
	PingTimer,
	GodTimer,
	BlockedPartName[100][100], BlockedPartNameCount = 0,
	Float:LPosX[MAX_PLAYERS],
	Float:LPosY[MAX_PLAYERS],
	Float:LPosZ[MAX_PLAYERS],
	PingPos,
	IsDisable[MAX_PLAYERS],
	pColor;

new Text:GpsTD[MAX_PLAYERS];

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

new BlockedNames[100][100],
	BlockedNamesCount = 0,
	BlipTimer[MAX_PLAYERS],
	JailTimer[MAX_PLAYERS],
	FreezeTimer[MAX_PLAYERS],
	LockKickTimer[MAX_PLAYERS],
	InDuel[MAX_PLAYERS],
	Reports[MAX_REPORTS][128];

new cage[MAX_PLAYERS],
	cage2[MAX_PLAYERS],
	cage3[MAX_PLAYERS],
	cage4[MAX_PLAYERS];
	
//==============================================================================
// Mselection data
//==============================================================================
new mp_vehicles[207] = {
400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,
431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,450,451,452,453,454,455,456,457,458,459,460,461,
462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,
493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,
524,525,526,527,528,529,530,531,532,533,534,535,536,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,
555,556,557,558,559,560,561,562,563,564,565,566,567,568,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,
586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611
};
new m_skins[300] = {
0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,
50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,
97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,
132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,
167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,
202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,
237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,
272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299
};
new m_weaps[38] = {
331,333,334,335,336,337,338,339,341,321,322,323,324,325,326,343,346,347,348,349,350,351,352,353,355,356,372,357,358,361,363,364,365,366,367,368,
369,371
};

//==============================================================================
// Forwards
//==============================================================================
forward ConnectedPlayers();
forward Jail1(player1);
forward RandomMessage();
forward VehicleOccupied(vehicleid);
forward WeaponCheck(playerid);
forward CheckKeyPress(playerid);
forward Duel(player1, player2);
forward FollowPlayer(playerid);
forward CagePlayer(playerid);
forward UnCagePlayer(playerid);
forward CagePrevent(playerid);
forward AutoKick(playerid);
forward DelayKillPlayer(playerid);
forward HighLight(playerid);
forward ReturnPosition(playerid);
forward LoadForbiddenWeapons();
forward CarSpawner(playerid,model);
forward VehRes(vehicleid);
forward EraseVeh(vehicleid);
forward Jail2(player1);
forward SaveTeleport();
forward Jail3(player1);
forward JailPlayer(player1);
forward UnjailPlayer(player1);
forward UnFreezeMe(player1);
forward PingKick();
forward UnloadFS();
forward RestartGM();
forward GodModUp();
forward BotCheck(playerid);
forward JailedPlayers();
forward FrozenPlayers();
forward MutedPlayers();
forward InVehTotal();
forward InCarCount();
forward OnBikeCount();
forward SaveIn(filename[],text[]);
forward RconAdminTotal();
forward LuxGpsSys(playerid);
forward PutAtPos(playerid);
forward AdminTotal();
forward CountDown(playerid);
forward PutAtDisconectPos(playerid);
forward MessageToAdmins(color,const string[]);
forward MessageToPlayerVIP(color,const string[]);
forward OnPlayerPrivmsg(playerid, recieverid, text[]);

//==============================================================================
//-------------------------------------------------
// FilterScript
//-------------------------------------------------
//==============================================================================

main() {   }

public OnFilterScriptInit()
{
    ShowConfigInConsole();

	if (!fexist("/eAdmin/Config/TempBans.ban")){
	new File:open = fopen("/eAdmin/Config/TempBans.ban",io_write);
	if (open) fclose(open);
	}

	print("\n ___________________________________________________");
	print(" ");
    printf("                   eAdmin %s                         ",LVersion);
   	print("                 ---------------");
	print("      Excel's & Luxurion's Administration System      ");
	print(" ___________________________________________________\n");
	print(" -> Loading...");

    CheckFolders();
	UpdateConfig();
	ReadTextDraws();
	LoadCreatedTeles();

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

	for(new i = 1; i < MAX_CHAT_LINES; i++)
	Chat[i] = "[NONE]";

	for(new i = 1; i < MAX_REPORTS; i++)
	Reports[i] = "[-NONE-]";

	PingTimer = SetTimer("PingKick",5000,1);
	GodTimer = SetTimer("GodModUp",2000,1);
	SetTimer("WeaponCheck",800,true);
	SetTimer("SaveTeleport",CTELE_TIMER,1);
	SetTimer("LuxGpsSys",500,true);
	SetTimer("RandomMessage",ANNOUNCES_TIME,1);

	new year,month,day;
	getdate(year, month, day);
	new hour,minute,second;
	gettime(hour,minute,second);


	for(new i = 0; i < sizeof(RegisterCommands) ; i++ )
	RegisterCommands[i][CommandLen]=strlen(RegisterCommands[i][sCommand]);


    print(" -> Loaded Successfully!\n");
	printf(" Date: %d/%d/%d - Time: %d:%d:%d",day,month,year,hour, minute, second);
	print(" ___________________________________________________\n");
	return 1;
}

//==============================================================================
public OnFilterScriptExit()
{
	for(new i = 0; i < MAX_PLAYERS; i++)
    TextDrawHideForPlayer(i, Announcements);

	KillTimer(PingTimer); KillTimer(GodTimer);
	SaveTeleport();

	print("\n ___________________________________________________");
	print(" ");
    printf("                   eAdmin %s                         ",LVersion);
   	print("                 -------------");
	print("     Excel's & Luxurion's Administration System       ");
	print(" ___________________________________________________\n");
	print(" -> Unload!");
	return 1;
}
//==============================================================================
//-------------------------------------------------
// Player Connected
//-------------------------------------------------
//==============================================================================
public OnPlayerConnect(playerid)
{
    #if EnableCamHack == true
    KeyState[playerid] = 0;
    FollowOn[playerid] = 0;
    AccInfo[playerid][InCamMod] 	= 0;
    AccInfo[playerid][LockedCam] 	= 0;
    #endif
	AccInfo[playerid][Deaths] 		= 0;
	AccInfo[playerid][Kills] 		= 0;
	AccInfo[playerid][Jailed]		= 0;
	AccInfo[playerid][Frozen]		= 0;
	AccInfo[playerid][Level] 		= 0;
	AccInfo[playerid][pVip]         = 0;
	AccInfo[playerid][LoggedIn] 	= 0;
	AccInfo[playerid][Registered] 	= 0;
	AccInfo[playerid][God] 			= 0;
	AccInfo[playerid][GodCar]		= 0;
	AccInfo[playerid][TimesSpawned]	= 0;
	AccInfo[playerid][Muted] 		= 0;
	AccInfo[playerid][MuteWarnings]	= 0;
	AccInfo[playerid][Warnings] 	= 0;
	AccInfo[playerid][Caps]			= 0;
	AccInfo[playerid][DoorsLocked] 	= 0;
	AccInfo[playerid][pCar]			= -1;
	AccInfo[playerid][SpamCount] 	= 0;
	AccInfo[playerid][MaxAdv] 		= 0;
	AccInfo[playerid][SpamTime] 	= 0;
	AccInfo[playerid][PingCount] 	= 0;
	AccInfo[playerid][PingTime]		= 0;
	AccInfo[playerid][FailLogin] 	= 0;
	AccInfo[playerid][Hide] 		= 0;
	AccInfo[playerid][pInvis]   	= 0;
	AccInfo[playerid][OnDuty]   	= 0;
	AccInfo[playerid][pGps] 		= -1;

	#if EnableTwoRcon == true
	AccInfo[playerid][MaxRcon] = 0;
	#endif

	AccInfo[playerid][ConnectTime] = gettime();
    for(new i; i<PING_MAX_EXCEEDS; i++)
	AccInfo[playerid][pPing][i] = 0;
	//------------------------------------------------------
	new string[128];
    new str[128];
	new file[256];
	new PlayerName[MAX_PLAYER_NAME];
	GetPlayerName(playerid, PlayerName, MAX_PLAYER_NAME);
	new tmp3[50]; GetPlayerIp(playerid,tmp3,50);

	ResetForbiddenWeaponsForPlayer(playerid);
	TempBanCheck(playerid);
//==============================================================================
// Connect Messages
//==============================================================================
	if(ServerInfo[ConnectMessages] == 1)
	{
	    new pAKA[256];
		pAKA = dini_Get("/eAdmin/Config/aka.txt",tmp3);
		if (strlen(pAKA) < 3)
		format(str,sizeof(str),"[ User %s (Id: %d) has joined the server. ]", PlayerName,playerid);
		else if (!strcmp(pAKA,PlayerName,true))
		format(str,sizeof(str),"[ User %s (Id: %d) has joined the server. ]", PlayerName,playerid);
		else format(str,sizeof(str),"[ User %s (Id: %d) has joined the server (Aka: %s). ]",PlayerName,playerid,pAKA);

		for(new i = 0; i < MAX_PLAYERS; i++)
		if(IsPlayerConnected(i) && playerid != i)
		{
		if(AccInfo[i][Level] > 2)
		SendClientMessage(i,grey,str);
		else
		{
		format(string,sizeof(string),"[ User %s (Id: %d) has joined the server. ]", PlayerName, playerid);
 	    SendClientMessage(i,grey,string);
		}
		}
	}
//==============================================================================
// If PlayerName is Banned
//==============================================================================
    if (dUserINT(PlayerName2(playerid)).("Banned") == 1)
    {
    	format(string,sizeof(string),"[ %s has been BANNED. ]",PlayerName2(playerid));
        SendClientMessage(playerid, red, string);
        SendClientMessage(playerid, red, "[ ATTENTION: This name is banned from this server. ]");
        SendClientMessage(playerid, red, "[ NOTE: You should not ban evade. ]");
        SendClientMessage(playerid, red, "[ NOTE: If you have no point of inocence, then don't try to be smart. ]");
        SendClientMessage(playerid, red, "[ NOTE: Don't PM./chat with users or admins about your ban. ]");
        SendClientMessage(playerid, red, "[ ATTENTION: Just type (/q) and go to our forums to post a BAN-APPEAL, You might have done something wrong. ]");
		format(string,sizeof(string),"[ Player %s (Id: %d) has beenAutomatically  Kicked. | Reason: Name Banned. ]",PlayerName,playerid);
		SendClientMessageToAll(red, string);  print(string);
		SaveIn("KickLog",string);  Kick(playerid);
    }
//==============================================================================
// Kick Forbidden Name
//==============================================================================
	if(ServerInfo[NameKick] == 1)
	{
		for(new s = 0; s < BlockedNamesCount; s++)
		{
  			if(!strcmp(BlockedNames[s],PlayerName,true))
			{
	    	format(string,sizeof(string),"[ %s is in our 'Forbidden Name' list. ]",PlayerName2(playerid));
	        SendClientMessage(playerid, red, string);
			SendClientMessage(playerid,red, "[ ATTENTION: Your name is on our Black List, you have been Kicked. ]");
        	SendClientMessage(playerid,red, "[ ATTENTION: Just type (/q) and come with a new username which is not in our ForbiddenName list. ]");
			format(string,sizeof(string),"[ Player %s (Id: %d) has been Automatically Kicked. | Reason: Forbidden Name. ]",PlayerName,playerid);
			SendClientMessageToAll(red, string);
			print(string);
			SaveIn("KickLog",string);
			Kick(playerid);
			return 1;
			}
		}
	}
//==============================================================================
// Kick Forbidden Part of Name
//==============================================================================
	if(ServerInfo[PartNameKick] == 1)
	{
		for(new s = 0; s < BlockedPartNameCount; s++)
		{
			new pos;
			while((pos = strfind(PlayerName,BlockedPartName[s],true)) != -1)
			for(new i = pos, j = pos + strlen(BlockedPartName[s]); i < j; i++)
			{
	    	format(string,sizeof(string),"[ %s is in our 'Forbidden Part Of Name' list. ]",PlayerName2(playerid));
	        SendClientMessage(playerid, red, string);
			SendClientMessage(playerid,red, "[ ATTENTION: Your name is not Allowed on this server, you have been Kicked. ]");
        	SendClientMessage(playerid,red, "[ ATTENTION: Just type (/q) and come with a new username which is not in our ForbiddenPartOfName list. ]");
			format(string,sizeof(string),"[ Player %s (Id: %d) has been Automatically Kicked. | Reason: Forbidden Name. ]",PlayerName,playerid);
			SendClientMessageToAll(red, string);  print(string);
			SaveIn("KickLog",string);  Kick(playerid);
			return 1;
			}
		}
	}
//==============================================================================
// Server Locked
//==============================================================================
	if(ServerInfo[Locked] == 1)
	{
		AccInfo[playerid][AllowedIn] = false;
		SendClientMessage(playerid,red,"[ Server is locked currently. ]");
		SendClientMessage(playerid,red,"[ You have 40 seconds to enter the server Password. ]");
		LockKickTimer[playerid] = SetTimerEx("AutoKick", 40000, 0, "i", playerid);
	}
 	if (ServerInfo[Locked] == 1 && AccInfo[playerid][AllowedIn] == false)
    {
        ShowPlayerDialog(playerid, DIALOG_TYPE_SERVPASS, DIALOG_STYLE_INPUT,
		"Server Locked:", ""COL_WHITE"Enter the password to Access in\n\n"COL_RED"NOTE:"COL_WHITE" If you are not allowed here, so dont try to unlock your access.\n"COL_WHITE"Actions could be taken!", "Access", "Exit");
	}
//==============================================================================
// Register & Login
//==============================================================================
	if(strlen(dini_Get("/eAdmin/Config/aka.txt", tmp3)) == 0)
	dini_Set("/eAdmin/Config/aka.txt", tmp3, PlayerName);
 	else
	{
	    if( strfind( dini_Get("/eAdmin/Config/aka.txt", tmp3), PlayerName, true) == -1 )
		{
  		format(string,sizeof(string),"%s,%s", dini_Get("/eAdmin/Config/aka.txt",tmp3), PlayerName);
	   	dini_Set("/eAdmin/Config/aka.txt", tmp3, string);
		}
 	}
	if(!udb_Exists(PlayerName2(playerid)))
	SendClientMessage(playerid,orange, "[ SERVER: Your account isn't registered. Please register (/"#RegisterCommand"). ]");
	else
	{
 	AccInfo[playerid][Registered] = 1;
	format(file,sizeof(file),"/eAdmin/Accounts/%s.sav",udb_encode(PlayerName));
	new tmp2[256]; tmp2 = dini_Get(file,"Ip");

	if( (!strcmp(tmp3,tmp2,true)) && (ServerInfo[AutoLogin] == 1))
	{
		LoginPlayer(playerid);
		if(AccInfo[playerid][Level] > 0)
		{
			switch(AccInfo[playerid][Level])
			{
				case 1: AdmRank = "Basic Moderator";
				case 2: AdmRank = "Moderator";
				case 3: AdmRank = "Master Moderator";
				case 4: AdmRank = "Administrator";
				case 5: AdmRank = "Master Administrator";
			}
			if(AccInfo[playerid][Level] > 5)
			{
				AdmRank = "Professional Admin";
			}

//==============================================================================
// VIP System
//==============================================================================
			if(AccInfo[playerid][pVip] > 0)
			{
				switch(AccInfo[playerid][pVip])
				{
					case 1: AccType = "Silver";
					case 2: AccType = "Gold";
					case 3: AccType = "Premium";
				}
				format(string,sizeof(string),"[ You have been Automatically Logged in | Account: %s | Level %d ( %s ). ]", AccType, AccInfo[playerid][Level],AdmRank);
				SendClientMessage(playerid,0x00C378AA,string);
			}
			else
			{
				format(string,sizeof(string),"[ You have been Automatically Logged in | Level %d ( %s ). ]", AccInfo[playerid][Level],AdmRank);
				SendClientMessage(playerid,green,string);
			}
//==============================================================================
		}
		else
		{
			if(AccInfo[playerid][pVip] > 0)
			{
				switch(AccInfo[playerid][pVip])
				{
					case 1: AccType = "Silver";
					case 2: AccType = "Gold";
					case 3: AccType = "Premium";
				}
				format(string,sizeof(string),"[ You have been Automatically Logged in | Account Type: %s. ]", AccType);
				SendClientMessage(playerid,0x00C896AA,string);
			}
			else
			{
				format(string,sizeof(string),"[ You have been Automatically Logged in. ]");
				SendClientMessage(playerid,green,string);
			}
		}
  	}
 	else SendClientMessage(playerid, white, "[ That account is registered. ]") &&
	SendClientMessage(playerid, orange, "Please login to access your Account (/"#LoginCommand") if you aren't logged yet.");
	}
 	return 1;
}
//==============================================================================
// Automatic Kick
//==============================================================================
public AutoKick(playerid)
{
	if( IsPlayerConnected(playerid) && ServerInfo[Locked] == 1 && AccInfo[playerid][AllowedIn] == false)
	{
	new string[128];
	SendClientMessage(playerid,grey,"[ You have been Automatically Kicked. | Reason: Server Locked. ]");
	format(string,sizeof(string),"[ Player %s (Id: %d) has been Automatically Kicked. | Reason: Server Locked. ]",PlayerName2(playerid),playerid);
	SaveIn("KickLog",string);
	Kick(playerid);
	SendClientMessageToAll(red, string);
	print(string);
	}
	return 1;
}
//==============================================================================
//-------------------------------------------------
// Player Disconnect
//-------------------------------------------------
//==============================================================================
public OnPlayerDisconnect(playerid, reason)
{
	new PlayerName[MAX_PLAYER_NAME], str[128];
	GetPlayerName(playerid, PlayerName, sizeof(PlayerName));

	if(AccInfo[playerid][LoggedIn] == 1)
	SavePlayerStats(playerid);

	if(udb_Exists(PlayerName2(playerid))) dUserSetINT(PlayerName2(playerid)).("Loggedin",0);
  	AccInfo[playerid][LoggedIn] = 0;
	AccInfo[playerid][Level] 	= 0;
	AccInfo[playerid][pVip] 	= 0;
	AccInfo[playerid][Jailed] 	= 0;
	AccInfo[playerid][pCaged]   = 0;
	AccInfo[playerid][MaxAdv]   = 0;
	AccInfo[playerid][Frozen] 	= 0;
	AccInfo[playerid][Hide]   	= 0;
	AccInfo[playerid][OnDuty]  	= 0;
	AccInfo[playerid][pInvis]  	= 0;
	AccInfo[playerid][pGps]		= -1;

	#if EnableTwoRcon == true
	AccInfo[playerid][MaxRcon] 	= 0;
	#endif

	if(AccInfo[playerid][Jailed] == 1)
	KillTimer( JailTimer[playerid] );

	if(AccInfo[playerid][Frozen] == 1)
	KillTimer( FreezeTimer[playerid] );

	if(ServerInfo[Locked] == 1)
	KillTimer( LockKickTimer[playerid] );

	if(AccInfo[playerid][pCar] != -1) EraseVeh(AccInfo[playerid][pCar]);
//------------------------------------------------------------------------------
// Spectating
//------------------------------------------------------------------------------
	for(new x=0; x<MAX_PLAYERS; x++)
    if(GetPlayerState(x) == PLAYER_STATE_SPECTATING && AccInfo[x][SpecID] == playerid)
	AdvanceSpectate(x);
//------------------------------------------------------------------------------
	if(ServerInfo[ConnectMessages] == 1)
	{
	switch (reason)
	{
	case 0:
	format(str, sizeof(str), "[ Player %s (Id: %d) has left the Server (Timeout). ]", PlayerName, playerid);
	case 1:
	format(str, sizeof(str), "[ Player %s (Id: %d) has left the Server (Leaving). ]", PlayerName, playerid);
	case 2:
	format(str, sizeof(str), "[ Player %s (Id: %d) has left the Server (Kicked/Banned). ]", PlayerName, playerid);
	}
	SendClientMessageToAll(grey, str);
    }
    #if EnableCamHack == true
   	if(AccInfo[playerid][InCamMod] == 1)
	{
	    KillTimer(KeyTimer[playerid]);
		AccInfo[playerid][InCamMod] = 0;
	}
	#endif
 	return 1;
}
public DelayKillPlayer(playerid)
{
	SetPlayerHealth(playerid,0.0);
	ForceClassSelection(playerid);
}

stock GetServerHostName()
{
new gString[256];
GetServerVarAsString("hostname", gString, sizeof(gString));
return gString;
}

public OnPlayerRequestClass(playerid,classid)
{
	if(ServerInfo[Announce] == 1)
 		TextDrawHideForPlayer(playerid, Announcements);
 	return 1;
 }

public OnPlayerRequestSpawn(playerid)
{
	// Request Register
	#if USE_DIALOGS == false
	if(AccInfo[playerid][Registered] == 0 && ServerInfo[MustRegister] == 1 && (!IsPlayerNPC(playerid))){
	SendClientMessage(playerid,lightred,"[ SERVER: Your account isn't registered. Type (/"#RegisterCommand" (password)) to create a new account. ]");
	return 0;
	}
	// Request Login
	if(ServerInfo[MustLogin] == 1 && AccInfo[playerid][Registered] == 1 && AccInfo[playerid][LoggedIn] == 0 && (!IsPlayerNPC(playerid))){
 	SendClientMessage(playerid,lightred,"[ SERVER: Your account is registered. Type (/"#LoginCommand" (password)) to create a new account. ]");
	return 0;
	}
	#endif
	return 1;
	}
//==============================================================================
//-------------------------------------------------
// Player Spawn
//-------------------------------------------------
//==============================================================================
public OnPlayerSpawn(playerid)
{
//==============================================================================
// Request Register
//==============================================================================
	if(AccInfo[playerid][Registered] == 0 && ServerInfo[MustRegister] == 1)
	{
		#if USE_DIALOGS == true
  		new rstring[256];
		format(rstring,sizeof(rstring),""COL_WHITE"Welcome to '%s'.\n\n"COL_WHITE"Your username "COL_BLUE"%s "COL_WHITE"is not registered yet,\n\n"COL_WHITE"Please insert a complicated password below to register.",GetServerHostName(),pName(playerid));
		ShowPlayerDialog(playerid,DIALOGID+66,DIALOG_STYLE_INPUT,"Register Account",rstring,"Register","Quit");
		#endif
		return 1;
	}
//==============================================================================
// Request Login
//==============================================================================
	if(ServerInfo[MustLogin] == 1 && AccInfo[playerid][Registered] == 1 && AccInfo[playerid][LoggedIn] == 0)
	{
		#if USE_DIALOGS == true
		new lstring[256];
		format(lstring,sizeof(lstring),""COL_WHITE"Welcome to '%s'.\n\n"COL_WHITE"Your username "COL_BLUE"%s "COL_WHITE"is registered according to our database,\n\n"COL_WHITE"Please insert a complicated password below to register.",GetServerHostName(),pName(playerid));
		ShowPlayerDialog(playerid,DIALOGID+67,DIALOG_STYLE_INPUT,"Login Account",lstring,"Login","Quit");
		#endif
		return 1;
	}
//==============================================================================
// Player Frozen (Prevent scape)
//==============================================================================
	AccInfo[playerid][Spawned] = 1;

	if(AccInfo[playerid][Frozen] == 1) {
		TogglePlayerControllable(playerid,false);
		return SendClientMessage(playerid,red,"[ ADMIN: You cant escape your punishment. You Are Still Frozen, contact an admin if you have queries. ]");
	}
//==============================================================================
// Player Jail (Prevent scape)
//==============================================================================
	if(AccInfo[playerid][Jailed] == 1) {
	    SetTimerEx("JailPlayer",3000,0,"d",playerid);
		return SendClientMessage(playerid,red,"[ ADMIN: You cant escape your punishment. You Are Still In Jail, contact an admin if you have queries. ]");
	}
//==============================================================================
// Administrators Skins/Prevent players to use
//==============================================================================
	if(ServerInfo[AdminOnlySkins] == 1)
	{
		if( (GetPlayerSkin(playerid) == ServerInfo[AdminSkin]) || (GetPlayerSkin(playerid) == ServerInfo[AdminSkin2]))
		{
			if(AccInfo[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);
			SetTimerEx("DelayKillPlayer", 2500,0,"d",playerid);
			return 1;
			}
		}
	}
	if((dUserINT(PlayerName2(playerid)).("UseSkin")) == 1)
		if((AccInfo[playerid][Level] >= 1) && (AccInfo[playerid][LoggedIn] == 1))
		SetPlayerSkin(playerid,(dUserINT(PlayerName2(playerid)).("FavSkin")) );

//==============================================================================
// Verify player in CAGE
//==============================================================================
	if(AccInfo[playerid][pCaged] == 1)
	{
 	SetTimerEx("CagePrevent", 300, 0, "i", playerid);
 	}
 	if(ServerInfo[Announce] == 1)
 		TextDrawShowForPlayer(playerid, Announcements);
//==============================================================================
// Weapons
//==============================================================================
	if(ServerInfo[GiveWeap] == 1)
	{
		if(AccInfo[playerid][LoggedIn] == 1)
		{
			AccInfo[playerid][TimesSpawned]++;
			if(AccInfo[playerid][TimesSpawned] == 1)
			{
			GivePlayerWeapon(playerid,dUserINT(PlayerName2(playerid)).("Weapon1"),dUserINT(PlayerName2(playerid)).("Weapon1Ammo"));
			GivePlayerWeapon(playerid,dUserINT(PlayerName2(playerid)).("Weapon2"),dUserINT(PlayerName2(playerid)).("Weapon2Ammo"));
			GivePlayerWeapon(playerid,dUserINT(PlayerName2(playerid)).("Weapon3"),dUserINT(PlayerName2(playerid)).("Weapon3Ammo"));
			GivePlayerWeapon(playerid,dUserINT(PlayerName2(playerid)).("Weapon4"),dUserINT(PlayerName2(playerid)).("Weapon4Ammo"));
			GivePlayerWeapon(playerid,dUserINT(PlayerName2(playerid)).("Weapon5"),dUserINT(PlayerName2(playerid)).("Weapon5Ammo"));
			GivePlayerWeapon(playerid,dUserINT(PlayerName2(playerid)).("Weapon6"),dUserINT(PlayerName2(playerid)).("Weapon6Ammo"));
			}
		}
	}
	return 1;
}

//==============================================================================
//-------------------------------------------------
// Player Death
//-------------------------------------------------
//==============================================================================
public OnPlayerDeath(playerid, killerid, reason)
{
	#if USE_STATS == true
    AccInfo[playerid][Deaths]++;
	#endif
    InDuel[playerid] = 0;

    if(AccInfo[playerid][pCaged] == 1)
    {
   	cage[playerid] 	= DestroyObject(cage[playerid]);
	cage2[playerid] = DestroyObject(cage2[playerid]);
	cage3[playerid] = DestroyObject(cage3[playerid]);
	cage4[playerid] = DestroyObject(cage4[playerid]);
	}

	if(IsPlayerConnected(killerid) && killerid != INVALID_PLAYER_ID)
	{
		#if USE_STATS == true
		AccInfo[killerid][Kills]++;
	    #endif
//==============================================================================
// In Duel
//==============================================================================
		if(InDuel[playerid] == 1 && InDuel[killerid] == 1)
		{
		GameTextForPlayer(playerid,"Loser!",3000,3);
		GameTextForPlayer(killerid,"Winner!",3000,3);
		InDuel[killerid] = 0;
		SetPlayerPos(killerid, 0.0, 0.0, 0.0);
		SpawnPlayer(killerid);
		}
		else if(InDuel[playerid] == 1 && InDuel[killerid] == 0)
		{
		GameTextForPlayer(playerid,"Loser !",3000,3);
		}
	}
//==============================================================================
// Spectate
//==============================================================================
	for(new x=0; x<MAX_PLAYERS; x++)
	    if(GetPlayerState(x) == PLAYER_STATE_SPECTATING && AccInfo[x][SpecID] == playerid)
     	AdvanceSpectate(x);
	return 1;
}
//==============================================================================
//-------------------------------------------------
// Player Text
//-------------------------------------------------
//==============================================================================
public OnPlayerText(playerid, text[])
{
//==============================================================================
// Vip Chat
//==============================================================================
	if(text[0] == '*' && AccInfo[playerid][pVip] >= 1)
	{
	    new string[128]; GetPlayerName(playerid,string,sizeof(string));
		format(string,sizeof(string),"|ChatVip| %s: %s",string,text[1]);
		MessageToPlayerVIP(0xDC686BAA,string);
		SaveIn("ChatVipLog",string);
	    return 0;
	}
//==============================================================================
// Administration Chat
//==============================================================================
	if(text[0] == '#' && AccInfo[playerid][Level] >= 1)
	{
	    new string[128]; GetPlayerName(playerid,string,sizeof(string));
		format(string,sizeof(string),"[ (Admin Chat) %s(%d): %s ]",string,playerid,text[1]);
		MessageToAdmins(green,string);
		#if ADM_CHAT_LOG == true
		SaveIn("AdmChatLog",string);
		#endif
	    return 0;
	}
//==============================================================================
// Chat Disabled
//==============================================================================
	if(ServerInfo[DisableChat] == 1)
	{
		SendClientMessage(playerid,red,"[ Chat has been Disabled, contact an admin if you have queries. ]");
	 	return 0;
	}
//==============================================================================
// Player Muted
//==============================================================================
 	if(AccInfo[playerid][Muted] == 1)
	{
 		AccInfo[playerid][MuteWarnings]++;
 		new string[128];
		if(AccInfo[playerid][MuteWarnings] < ServerInfo[MaxMuteWarnings])
		{
		format(string, sizeof(string),"[ ATTENTION: You are Muted, you cannot talk (Warnings: %d/%d), contact an admin if you have queries. ]",AccInfo[playerid][MuteWarnings],ServerInfo[MaxMuteWarnings]);
		SendClientMessage(playerid,red,string);
		}
		else
		{
		SendClientMessage(playerid,red,"[ ADMIN: You have been Automatically Kicked. | Reason: Exceeding Mute Warnings. ]");
		format(string, sizeof(string),"[ Player %s (Id: %d) has been Automatically Kicked. | Reason: Exceeding Mute Warnings. ]",PlayerName2(playerid),playerid);
		SendClientMessageToAll(grey,string);
		SaveIn("KickLog",string); Kick(playerid);
		} return 0;
	}
//==============================================================================
// Flood/Spam Protection
//==============================================================================
	if(ServerInfo[AntiSpam] == 1 && (AccInfo[playerid][Level] == 0 && !IsPlayerAdmin(playerid)))
	{
		if(AccInfo[playerid][SpamCount] == 0) AccInfo[playerid][SpamTime] = TimeStamp();

	    AccInfo[playerid][SpamCount]++;
		if(TimeStamp() - AccInfo[playerid][SpamTime] > SPAM_TIMELIMIT) { // Its OK your messages were far enough apart
			AccInfo[playerid][SpamCount] = 0;
			AccInfo[playerid][SpamTime] = TimeStamp();
		}
		else if(AccInfo[playerid][SpamCount] == SPAM_MAX_MSGS) {
			new string[64]; format(string,sizeof(string),"[ Player %s (Id: %d) has been Automatically Kicked. | Reason: Flood/Spam Protection. ]", PlayerName2(playerid),playerid);
			SendClientMessageToAll(grey,string); print(string);
			SaveIn("KickLog",string);
			Kick(playerid);
		}
		else if(AccInfo[playerid][SpamCount] == SPAM_MAX_MSGS-1) {
			SendClientMessage(playerid,red,"[ ATTENTION: Anti Spam Warning, Next is a Kick. ]");
			return 0;
		}
	}
//==============================================================================
// Send Admin in front of name
//==============================================================================
	#if ADM_InMSG == true
	if (AccInfo[playerid][Hide] == 0)
	{
	if(AccInfo[playerid][Level] > 0)
	{
	new str3[256];
	format(str3, 256, "(Admin): %s", text);
	for(new gz=0;gz<200;gz++)
	if(IsPlayerConnected(gz))
	SendPlayerMessageToPlayer(gz, playerid, str3);
	else SendPlayerMessageToPlayer(gz, playerid, text);
	}
	return 0;
	}
	#endif
//==============================================================================
// Forbidden Words
//==============================================================================
	if(ServerInfo[AntiSwear] == 1 && AccInfo[playerid][Level] < ServerInfo[MaxAdminLevel])
	for(new s = 0; s < BadWordsCount; s++)
	{
	new pos;
	while((pos = strfind(text,BadWords[s],true)) != -1)
	for(new i = pos, j = pos + strlen(BadWords[s]); i < j; i++) text[i] = '*';
	}
//==============================================================================
// Anti Advertisements
//==============================================================================
	if(ServerInfo[AntiAds] == 1)
	{
		if(AdvertisementCheck(text) && AccInfo[playerid][Level] < 3)
		{
			AccInfo[playerid][MaxAdv]++;
			new string[128];
			format(string,sizeof(string),"[ ATTENTION: Suspected advertisements in your message, (Warnings: %d/%d), contact an admin if you have queries. ]",AccInfo[playerid][MaxAdv], MAX_ADV_WARNINGS);
			SendClientMessage(playerid, grey,string);

			if(AccInfo[playerid][MaxAdv] == MAX_ADV_WARNINGS)
			{
				format(string,sizeof(string),"[ ADMIN: You are Automatically Kicked. | Reason: Many adverts in your Messages (%d/%d). ]",AccInfo[playerid][MaxAdv], MAX_ADV_WARNINGS);
 				SendClientMessage(playerid, lightred,string);

 				format(string,sizeof(string),"[ Player %s (Id: %d) has beenAutomatically  Kicked. | Reason: Many Advertisements (%d). ]",PlayerName2(playerid),playerid, MAX_ADV_WARNINGS);
 				SaveIn("KickLog",string); Kick(playerid);
				SendClientMessageToAll(lightred, string);
				print(string);
			}
			return 0;
		}
	}
//==============================================================================
// Block CapsLock
//==============================================================================
	if(AccInfo[playerid][Caps] == 1)
	UpperToLower(text);
	if(ServerInfo[NoCaps] == 1)
	UpperToLower(text);

//==============================================================================
// Chat Lines (Console)
//==============================================================================
	for(new i = 1; i < MAX_CHAT_LINES-1; i++)
	Chat[i] = Chat[i+1];
	new ChatSTR[128];
	GetPlayerName(playerid,ChatSTR,sizeof(ChatSTR));
	format(ChatSTR,128,"[CHAT]%s: %s",ChatSTR, text[0]);
	Chat[MAX_CHAT_LINES-1] = ChatSTR;
	return 1;
}
//==============================================================================
//-------------------------------------------------
// Private Message (PM)
//-------------------------------------------------
//==============================================================================
public OnPlayerPrivmsg(playerid, recieverid, text[])
{
	if(ServerInfo[ReadPMs] == 1 && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
	{
//==============================================================================
// Send PM
//==============================================================================
    	new string[128];
		new pReciever[MAX_PLAYER_NAME];
		GetPlayerName(playerid, string, sizeof(string));
		GetPlayerName(recieverid, pReciever, sizeof(pReciever));
		format(string, sizeof(string), "[ READ-PM: %s(%d) To %s(%d): %s ]", string,playerid, pReciever,recieverid, text);
  		for (new a = 0; a < MAX_PLAYERS; a++)
		if(IsPlayerConnected(a) && (AccInfo[a][Level] >= ServerInfo[MaxAdminLevel]) && a != playerid)
		SendClientMessage(a, grey, string);
		#if PM_CHAT_LOG == true
		SaveIn("AdmChatLog",string);
		#endif
	}
//==============================================================================
// Muted
//==============================================================================
 	if(AccInfo[playerid][Muted] == 1)
	{
		new string[128];
 		AccInfo[playerid][MuteWarnings]++;
		if(AccInfo[playerid][MuteWarnings] < ServerInfo[MaxMuteWarnings])
		{
		format(string, sizeof(string),"[ ATTENTION: You are Muted, you cannot talk (Warnings: %d/%d), contact an admin if you have queries. ]",AccInfo[playerid][MuteWarnings],ServerInfo[MaxMuteWarnings]);
		SendClientMessage(playerid,red,string);
		}
		else
		{
		SendClientMessage(playerid,red,"[ ADMIN: You have been Automatically Kicked. | Reason: Exceeding Mute Warnings. ]");
		GetPlayerName(playerid, string, sizeof(string));
		format(string, sizeof(string),"[ Player %s (Id: %d) has been Automatically Kicked. | Reason: Exceeding Mute Warnings. ]", string, playerid);
		SendClientMessageToAll(lightred,string);
		SaveIn("KickLog",string);
		Kick(playerid);
		}
		return 0;
	}
	#if EnablePM_Cmd == true
	new string[128];
	format(string,256,"[ PM to '%s(%d)': \"%s\" ]",PmReceiver,PMplayer1,text);
	SendClientMessage(playerid,0x00A765AA,string);
 	PlayerPlaySound(playerid,1057,0.0,0.0,0.0);

	GetPlayerName(playerid, string, sizeof(string));
	format(string, sizeof(string),"[ PM from: %s(%d): \"%s\" ]",string,playerid,text);
	SendClientMessage(recieverid,0x00A765AA,string);
	#endif
	return 1;
}
//==============================================================================
//-------------------------------------------------
// ERROR Messages
//-------------------------------------------------
//==============================================================================
stock ErrorMessages(playerid, errorID)
{
if(errorID == 1)  return SendClientMessage(playerid,red,"[ ERROR: You are not a high enough level to use this command. ]");
if(errorID == 2)  return SendClientMessage(playerid,red,"[ ERROR: Player is not connected. ]");
if(errorID == 3)  return SendClientMessage(playerid,red,"[ ERROR: Player is not connected or is yourself or is the highest level admin. ]");
if(errorID == 4)  return SendClientMessage(playerid,red,"[ ERROR: Player is not connected or is yourself. ]");
if(errorID == 5)  return SendClientMessage(playerid,red,"[ ERROR: You need to be Level 4 to use this Command. ]");
if(errorID == 6)  return SendClientMessage(playerid,red,"[ ERROR: You need to be Level 3 to use this Command. ]");
if(errorID == 7)  return SendClientMessage(playerid,red,"[ ERROR: You need to be Level 2 to use this Command. ]");
if(errorID == 8)  return SendClientMessage(playerid,red,"[ ERROR: You need to be Level 1 to use this Command. ]");
if(errorID == 9)  return SendClientMessage(playerid,red,"[ ERROR: You need to be Level 5 to use this Command. ]");
if(errorID == 10) return SendClientMessage(playerid,red,"[ ERROR: You are not in a vehicle. ]");
return 1;
}
//==============================================================================
//-------------------------------------------------
// HighLight
//-------------------------------------------------
//==============================================================================
public HighLight(playerid)
{
	if(!IsPlayerConnected(playerid))
	return 1;

	if(AccInfo[playerid][blipS] == 0)
	{
	SetPlayerColor(playerid, 0xFF0000AA);
	AccInfo[playerid][blipS] = 1;
	}
	else
	{
	SetPlayerColor(playerid, 0xFFFF00AA);
	AccInfo[playerid][blipS] = 0;
	}
	return 0;
}

//==============================================================================
//-------------------------------------------------
// COMMANDS
//-------------------------------------------------
//==============================================================================

//==============================================================================
// Login Player
//==============================================================================
LoginPlayer(playerid)
{
	if(ServerInfo[GiveMoney] == 1)
	{
	ResetPlayerMoney(playerid);
	GivePlayerMoney(playerid, dUserINT(PlayerName2(playerid)).("Money"));
	}
	SetPlayerWantedLevel(playerid,dUserINT(PlayerName2(playerid)).("WantedLevel"));
	#if SaveScore == true
	SetPlayerScore(playerid,dUserINT(PlayerName2(playerid)).("Score"));
	#endif
	dUserSetINT(PlayerName2(playerid)).("Loggedin",1);
	AccInfo[playerid][Deaths] 		= (dUserINT(PlayerName2(playerid)).("Deaths"));
	AccInfo[playerid][Kills] 		= (dUserINT(PlayerName2(playerid)).("Kills"));
 	AccInfo[playerid][Level] 		= (dUserINT(PlayerName2(playerid)).("Level"));
 	AccInfo[playerid][pVip] 		= (dUserINT(PlayerName2(playerid)).("AccountType"));
   	AccInfo[playerid][hours]		= dUserINT(PlayerName2(playerid)).("Hours");
   	AccInfo[playerid][mins] 		= dUserINT(PlayerName2(playerid)).("Minutes");
   	AccInfo[playerid][secs] 		= dUserINT(PlayerName2(playerid)).("Seconds");
	AccInfo[playerid][Registered]	= 1;
 	AccInfo[playerid][LoggedIn] 	= 1;
}

//==============================================================================
//-------------------------------------------------
// OnPlayerCommandText
//-------------------------------------------------
//==============================================================================
public OnPlayerCommandText(playerid, cmdtext[])
{
    if(AccInfo[playerid][Jailed] == 1 && AccInfo[playerid][Level] < 1)
	return SendClientMessage(playerid,red,"[ ERROR: You cannot use commands in Jail. ]");

	new cmd[256];
	new idx;
	cmd = strtok(cmdtext, idx);
	new params[256];   params = strtok2(cmdtext,idx);
	
//======================================================================
//Admin commands and player commands
//======================================================================
	#if USE_DIALOGS == true
	if(strcmp(cmd, "/"CMD_REGISTER"", true) == 0)
	{
	    

		if (AccInfo[playerid][LoggedIn] == 1)
		return SendClientMessage(playerid,red,"[ ERROR: You are already registered and logged in. ]");

		if (udb_Exists(PlayerName2(playerid)))
		return SendClientMessage(playerid,red,"[ ERROR: This account already exists. ]") &&
	    SendClientMessage(playerid,orange,"[ ACCOUNT: You may login to access your account ('/"#LoginCommand"'). ]");

		new rs2tring[256];
		format(rs2tring,sizeof(rs2tring),""COL_WHITE"Welcome to '%s'.\n\n"COL_WHITE"Your username "COL_BLUE"%s "COL_WHITE"is not registered yet,\n\n"COL_WHITE"Please insert a complicated password below to register.",GetServerHostName(),pName(playerid));
		ShowPlayerDialog(playerid,DIALOGID+66,DIALOG_STYLE_INPUT,"Register Account",rs2tring,"Register","Quit");
		return 1;
	}
	if(strcmp(cmd, "/"CMD_LOGIN"", true) == 0)
	{
	    

	   	new file[128];
		format(file,sizeof(file),"/eAdmin/Accounts/%s.sav",udb_encode(PlayerName2(playerid)) );

	    if (AccInfo[playerid][LoggedIn] == 1)
		return SendClientMessage(playerid,red,"[ ERROR: You are already logged in. ]");

	    if (!udb_Exists(PlayerName2(playerid))) return
		SendClientMessage(playerid,red,"[ ERROR: Account doesn't exist. ]") &&
	    SendClientMessage(playerid,orange,"[ ACCOUNT: You may register to create your account ('/"#RegisterCommand" (password)'). ]");

		new lstring[256];
		format(lstring,sizeof(lstring),""COL_WHITE"Welcome to '%s'.\n\n"COL_WHITE"Your username "COL_BLUE"%s "COL_WHITE"is registered according to our database,\n\n"COL_WHITE"Please insert a complicated password below to register.",GetServerHostName(),pName(playerid));
		ShowPlayerDialog(playerid,DIALOGID+67,DIALOG_STYLE_INPUT,"Login Account",lstring,"Login","Quit");
		return 1;
	}
	#else
	if(strcmp(cmd, "/"CMD_REGISTER"", true) == 0)
	{
		if (AccInfo[playerid][LoggedIn] == 1)
		return SendClientMessage(playerid,red,"[ ERROR: You are already registered and logged in. ]");

	    if (udb_Exists(PlayerName2(playerid)))
		return SendClientMessage(playerid,red,"[ ERROR: This account already exists. ]") &&
	    SendClientMessage(playerid,orange,"[ ACCOUNT: You may login to access your account ('/"#LoginCommand" (password)'). ]");

	    if (strlen(params) == 0)
		return SendClientMessage(playerid,LIGHTBLUE, "[ USAGE: '/"#RegisterCommand" (password)' ]");

	    if (strlen(params) < 4 || strlen(params) > 20)
		return SendClientMessage(playerid,red,"[ ERROR: Your password length must be greater than 3 characters. ]");

	    if (udb_Create(PlayerName2(playerid)))
		{
	     	new file[256],e_name[MAX_PLAYER_NAME], buf[145],tmp3[100];
	    	new strdate[20], year,month,day;
			getdate(year, month, day);
	        WP_Hash(buf, sizeof(buf), params);
			GetPlayerName(playerid,e_name,sizeof(e_name));

			format(file,sizeof(file),"/eAdmin/Accounts/%s.sav",udb_encode(e_name));
	     	GetPlayerIp(playerid,tmp3,100);
	     	dini_Set(file,"Password",buf);
		    dini_Set(file,"Ip",tmp3);
		    dUserSetINT(PlayerName2(playerid)).("Registered",1);
	   		format(strdate, sizeof(strdate), "%d/%d/%d",day,month,year);
			dini_Set(file,"RegisteredDate",strdate);
			dUserSetINT(PlayerName2(playerid)).("Loggedin",1);
			dUserSetINT(PlayerName2(playerid)).("Banned",0);
			dUserSet(PlayerName2(playerid)).("BannedBy","-");
			dUserSet(PlayerName2(playerid)).("BannedDate","-");
			dUserSet(PlayerName2(playerid)).("BannedReason","-");
			dUserSetINT(PlayerName2(playerid)).("Level",0);
			dUserSetINT(PlayerName2(playerid)).("AccountType",0);
		    dini_Set(file,"LastOn",strdate);
	    	dUserSetINT(PlayerName2(playerid)).("Money",0);
	    	dUserSetINT(PlayerName2(playerid)).("Kills",0);
		   	dUserSetINT(PlayerName2(playerid)).("Deaths",0);
	      	dUserSetINT(PlayerName2(playerid)).("WantedLevel",0);
	      	#if SaveScore == true
	      	dUserSetINT(PlayerName2(playerid)).("Score",0);
	      	#endif
		   	dUserSetINT(PlayerName2(playerid)).("Hours",0);
		   	dUserSetINT(PlayerName2(playerid)).("Minutes",0);
		   	dUserSetINT(PlayerName2(playerid)).("Seconds",0);
		    AccInfo[playerid][LoggedIn] = 1;
		    AccInfo[playerid][Registered] = 1;
		    SendClientMessage(playerid, green, "[ ACCOUNT: You are now Registered, and have been automaticaly Logged in. ]");
			PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
			return 1;
		}
	    return 1;
	}
	if(strcmp(cmd, "/"CMD_LOGIN"", true) == 0)
	{
		new file[128], Pass[256];
		format(file,sizeof(file),"/eAdmin/Accounts/%s.sav",udb_encode(PlayerName2(playerid)) );

	    if (AccInfo[playerid][LoggedIn] == 1)
		return SendClientMessage(playerid,red,"[ ERROR: You are already logged in. ]");

	    if (!udb_Exists(PlayerName2(playerid))) return
		SendClientMessage(playerid,red,"[ ERROR: Account doesn't exist. ]") &&
	    SendClientMessage(playerid,orange,"[ ACCOUNT: You may login to access your account ('/"#LoginCommand" (password)'). ]");

	    if (strlen(params)==0) return
		SendClientMessage(playerid,LIGHTBLUE, "[ USAGE: '/"#LoginCommand" (password)' ]");

		Pass = dini_Get(file, "Password");
	 	new buf[145];
	 	WP_Hash(buf, sizeof(buf), params);

	    if(strcmp(Pass, buf, false) == 0)
		{
	    new tmp3[100], string[128];
	   	format(file,sizeof(file),"/eAdmin/Accounts/%s.sav",udb_encode(PlayerName2(playerid)) );
		GetPlayerIp(playerid,tmp3,100);
		dini_Set(file,"Ip",tmp3);
		LoginPlayer(playerid);
		PlayerPlaySound(playerid,1057,0.0,0.0,0.0);

		if(AccInfo[playerid][Level] > 0)
		{
			switch(AccInfo[playerid][Level])
			{
			case 1: AdmRank = "Basic Moderator";
			case 2: AdmRank = "Moderator";
			case 3: AdmRank = "Master Moderator";
			case 4: AdmRank = "Administrator";
			case 5: AdmRank = "Master Administrator";
			}
			if(AccInfo[playerid][Level] > 5)
			{
				AdmRank = "Professional Admin";
			}
			if(AccInfo[playerid][pVip] > 0)
			{
				switch(AccInfo[playerid][pVip])
				{
				case 1: AccType = "Silver";
				case 2: AccType = "Gold";
				case 3: AccType = "Premium";
				}
				format(string,sizeof(string),"[ ACCOUNT: You have Successfully Logged. | Account: %s | Level %d ( %s ) ]", AccType, AccInfo[playerid][Level], AdmRank);
				return SendClientMessage(playerid,0x00C378AA,string);
			}
			else
			{
				format(string,sizeof(string),"[ ACCOUNT: You have Successfully Logged. | Level %d ( %s ) ]", AccInfo[playerid][Level], AdmRank);
				return SendClientMessage(playerid,green,string);
			}
		}
		else
		{
			if(AccInfo[playerid][pVip] > 0)
			{
				switch(AccInfo[playerid][pVip])
				{
				case 1: AccType = "Silver";
				case 2: AccType = "Gold";
				case 3: AccType = "Premium";
				}
				format(string,sizeof(string),"[ ACCOUNT: You have Successfully logged. | Account: %s ]", AccType);
				return SendClientMessage(playerid,0x00C896AA,string);
			}
			else return SendClientMessage(playerid,green,"[ ACCOUNT: You have Successfully logged. ]");
			}
		}
		else
		{
			AccInfo[playerid][FailLogin]++;
			printf("LOGIN: Failed Login: %s. Wrong password (%s) (%d)", PlayerName2(playerid), params, AccInfo[playerid][FailLogin] );
			if(AccInfo[playerid][FailLogin] == MAX_FAIL_LOGINS)
			{
			new string[128]; format(string, sizeof(string), "[ Player %s has been automatically kicked | Reason: Many attempts Incorrect Passwords ("#MAX_FAIL_LOGINS"). ]", PlayerName2(playerid) );
			SendClientMessageToAll(red, string);
			print(string);
			Kick(playerid);
			}
			return SendClientMessage(playerid,red,"[ ERROR: Login failed, Incorrect Password. ]");
		}
	}
	#endif
	//==============================================================================
	// Stats
	//==============================================================================
	#if USE_STATS == true
	if(strcmp(cmd, "/resetstats", true) == 0)
	{
	    
		if(AccInfo[playerid][LoggedIn] == 1)
		{
		   	dUserSetINT(PlayerName2(playerid)).("oldkills",AccInfo[playerid][Kills]);
		   	dUserSetINT(PlayerName2(playerid)).("olddeaths",AccInfo[playerid][Deaths]);
			AccInfo[playerid][Kills] = 0;
			AccInfo[playerid][Deaths] = 0;
			dUserSetINT(PlayerName2(playerid)).("Kills",AccInfo[playerid][Kills]);
		   	dUserSetINT(PlayerName2(playerid)).("Deaths",AccInfo[playerid][Deaths]);
	        PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
			return SendClientMessage(playerid,yellow,"[ ACCOUNT: You have Successfully reset your Stats. ]");
		}
		else return SendClientMessage(playerid,red, "[ ERROR: You must have an account to use this command. ]");
	}
	#endif

	#if USE_STATS == true
	if(strcmp(cmd, "/stats", true) == 0)
	{
		new string[128];
		new pDeaths;
		new player1, h, m, s;
		new file[100];

		if(!strlen(params)) player1 = playerid;
		else player1 = strval(params);

		if(IsPlayerConnected(player1))
		{

		#if USE_DIALOGS == true

		new dialog[1000];
		format(file,sizeof(file),"/eAdmin/Accounts/%s.sav",udb_encode(PlayerName2(player1)));
	    TotalGameTime(player1, h, m, s);
		if(AccInfo[player1][Deaths] == 0) pDeaths = 1;
		else pDeaths = AccInfo[player1][Deaths];
		format(string, sizeof(string), "[ ACCOUNT: You are checking %s's statistics (/stats). ]",PlayerName2(player1));
		SendClientMessage(playerid, green, string);
		format(string, sizeof(string),"Username: "COL_BLUE"%s\n",PlayerName2(player1));
		strcat(dialog,string);
	    format(string, sizeof(string),"Player-Id: "COL_BLUE"%d\n",player1);
		strcat(dialog,string);
		format(string, sizeof(string),"Kills:"COL_BLUE" %d\n",AccInfo[player1][Kills]);
		strcat(dialog,string);
		format(string, sizeof(string),"Deaths:"COL_BLUE" %d\n",AccInfo[player1][Deaths]);
		strcat(dialog,string);
		format(string, sizeof(string),"K/D Ratio:"COL_BLUE" %0.2f\n",Float:AccInfo[player1][Kills]/Float:pDeaths);
		strcat(dialog,string);
		format(string, sizeof(string),"Money:"COL_BLUE" $ %d\n",GetPlayerMoney(player1));
		strcat(dialog,string);
		format(string, sizeof(string),"Score:"COL_BLUE" %d\n",GetPlayerScore(player1));
		strcat(dialog,string);
		format(string, sizeof(string),"Ping:"COL_BLUE" %d\n",GetPlayerPing(player1));
		strcat(dialog,string);
		format(string, sizeof(string),"AccountType:"COL_BLUE" %d\n",AccInfo[player1][pVip]);
		strcat(dialog,string);
		new adminrank[45];
		switch(AccInfo[player1][Level])
		{
		    case 0: adminrank = "N/A";
			case 1: adminrank = "Basic Moderator";
			case 2: adminrank = "Moderator";
			case 3: adminrank = "Master Moderator";
			case 4: adminrank = "Administrator";
			case 5..100: adminrank = "Master Administrator";
		}
		format(string, sizeof(string),"Admin Level:"COL_BLUE" %d (%s)\n",AccInfo[player1][Level],adminrank);
		strcat(dialog,string);
		format(string, sizeof(string),"Time Played:"COL_BLUE" %d hours, %d minutes, %d seconds\n",h, m, s);
		strcat(dialog,string);
		new str[256];
		if(AccInfo[player1][LoggedIn]==1) str="YES";
		else if(AccInfo[player1][LoggedIn]==0) str="NO";
		format(string, sizeof(string),"Logged:"COL_BLUE" %s\n",str);
		strcat(dialog,string);
		GetPlayerIp(player1, str, sizeof(str));
		format(string, sizeof(string),"Internet Protocol I.P.:"COL_BLUE" %s\n",str);
		strcat(dialog,string);
		new Float:pHealth;
		new Float:pArmour;
		GetPlayerArmour(player1,pArmour);
		GetPlayerHealth(player1,pHealth);
		format(string, sizeof(string),"Health:"COL_BLUE" %0.2f\n",pHealth);
		strcat(dialog,string);
		format(string, sizeof(string),"Armour:"COL_BLUE" %0.2f\n",pArmour);
		strcat(dialog,string);
		format(string, sizeof(string),"Skin-Id:"COL_BLUE" %d\n",GetPlayerSkin(player1));
		strcat(dialog,string);
		if(AccInfo[player1][Jailed] == 1)   str   = "YES"; 	else str   = "NO";
		format(string, sizeof(string),"Jailed:"COL_BLUE" %s\n",str);
		strcat(dialog,string);
		if(AccInfo[player1][Frozen] == 1) 	str   = "YES"; 	else str   = "NO";
		format(string, sizeof(string),"Frozen:"COL_BLUE" %s\n",str);
		strcat(dialog,string);
		if(AccInfo[player1][pCaged] == 1) 	str   = "YES"; 	else str   = "NO";
		format(string, sizeof(string),"Caged:"COL_BLUE" %s\n",str);
		strcat(dialog,string);
		if(fexist(file))	str = "YES"; 	else str = "NO";
		format(string, sizeof(string),"Registered:"COL_BLUE" %s\n",str);
		strcat(dialog,string);
		str = dini_Get(file,"LastOn");
		format(string, sizeof(string),"Last On Server:"COL_BLUE" %s\n",str);
		strcat(dialog,string);
		if(strlen(dini_Get(file,"RegisteredDate")) < 3)
		str = "N/A";
		else str = dini_Get(file,"RegisteredDate");
		format(string, sizeof(string),"Register Date:"COL_BLUE" %s\n",str);
		strcat(dialog,string);
		new year,month,day;
		getdate(year, month, day);
		format(string, sizeof(string),"Today's Date:"COL_BLUE" %d/%d/%d\n",year, month, day);
		strcat(dialog,string);
		new gps[MAX_ZONE_NAME];
		GetPlayerInZone(player1, gps, MAX_ZONE_NAME);
		format(string, sizeof(string),"G.P.S.:"COL_BLUE" %s\n",gps);
		strcat(dialog,string);
		return ShowPlayerDialog(playerid, 1234, DIALOG_STYLE_LIST,"Player /Stats:",dialog,"Close","");

		#else

		format(file,sizeof(file),"/eAdmin/Accounts/%s.sav",udb_encode(PlayerName2(player1)));
		format(string, sizeof(string), "[-------------------| %s's statistics (/stats) |-------------------]",PlayerName2(player1));
		SendClientMessage(playerid, Green1, string);
		format(string,sizeof(string), "Player-Id: %d | Kills: %d | Deaths: %d | K/D Ratio: %0.2f | Money: $%d | Score: %d",
		player1,AccInfo[player1][Kills], AccInfo[player1][Deaths], Float:AccInfo[player1][Kills]/Float:pDeaths,GetPlayerMoney(player1), GetPlayerScore(player1));
		SendClientMessage(playerid, green, string);
		new adminrank[45];
		switch(AccInfo[player1][Level])
		{
		    case 0: adminrank = "N/A";
			case 1: adminrank = "Basic Moderator";
			case 2: adminrank = "Moderator";
			case 3: adminrank = "Master Moderator";
			case 4: adminrank = "Administrator";
			case 5..100: adminrank = "Master Administrator";
		}
		format(string, sizeof(string), "Ping: %d | Time Played: %d hours, %d minutes, %d seconds | Account Type: %d | Admin Level: %d (%s)",
		GetPlayerPing(player1), h, m, s, AccInfo[player1][pVip], AccInfo[player1][Level], adminrank);
		SendClientMessage(playerid, green, string);
		new logged[50];
		if(AccInfo[player1][LoggedIn]==1) logged="YES";
		else if(AccInfo[player1][LoggedIn]==0) logged="NO";
		new ip[50];
		GetPlayerIp(player1, ip, sizeof(ip));
		new Float:pHealth;
		new Float:pArmour;
		GetPlayerArmour(player1,pArmour);
		GetPlayerHealth(player1,pHealth);
		format(string, sizeof(string), "Logged: %s | Internet Protocol I.P.: %s | Health: %0.2f | Armour: %0.2f | Skin-Id: %d",
		logged,ip,pHealth,pArmour,GetPlayerSkin(player1));
		SendClientMessage(playerid, green, string);
		new jailed[5];
		if(AccInfo[player1][Jailed] == 1)   jailed   = "YES"; 	else jailed   = "NO";
		new frozen[5];
		if(AccInfo[player1][Frozen] == 1) 	frozen   = "YES"; 	else frozen   = "NO";
		new caged[5];
		if(AccInfo[player1][pCaged] == 1)   caged   = "YES"; 	else caged   = "NO";
		new str[5];
		if(fexist(file))	str = "YES"; 	else str = "NO";
		format(string, sizeof(string), "Jailed: %s | Frozen: %s | Caged: %s | Registered: %s",
		jailed,frozen,caged,str);
		SendClientMessage(playerid, green, string);
		new laston[256];
		laston = dini_Get(file,"LastOn");
		new reg[256];
		if(strlen(dini_Get(file,"RegisteredDate")) < 3)
		reg = "N/A";
		else reg = dini_Get(file,"RegisteredDate");
		new year,month,day;
		getdate(year, month, day);
		new gps[MAX_ZONE_NAME];
		GetPlayerInZone(player1, gps, MAX_ZONE_NAME);
		format(string, sizeof(string), "Last On Server: %s | Register Date: %s | Today's Date: %d/%d/%d | G.P.S.: %s",
		laston,reg,year,month,day,gps);
		SendClientMessage(playerid, green, string);
		return SendClientMessage(playerid, Green1, "[-------------------| /Stats |-------------------]");

		#endif

		} else
		return SendClientMessage(playerid, red, "[ ERROR: Player Not Connected. ]");
	}
	#endif

	//==============================================================================
	// Password Cmds
	//==============================================================================
	if(strcmp(cmd, "/"CMD_CHANGEPASS"", true) == 0)
	{
		if(AccInfo[playerid][LoggedIn] == 1)
		{
			if(!strlen(params)) return
			SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /"#ChangePassCommand" (new password) ]")
			&& SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will modify your account password. ]");
			if(strlen(params) < 4) return SendClientMessage(playerid,red,"[ ERROR: Incorrect password length. ]");
			new string[128];
			new file[128], Pass[256];
	    	format(file,sizeof(file),"/eAdmin/Accounts/%s.sav",udb_encode(PlayerName2(playerid)) );
	  		new buf[145];
	        WP_Hash(buf, sizeof(buf), params);
			Pass = dini_Get(file, "Password");
			dini_Set(file, "Password", buf);
			PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
	        format(string, sizeof(string),"[ ACCOUNT: You have successfully changed your account Password to \"%s\". ]",params);
			return SendClientMessage(playerid,yellow,string);
		} else return SendClientMessage(playerid,red, "[ ERROR: You must have an account to use this command. ]");
	}

	if(strcmp(cmd, "/setpass", true) == 0)
	{
	    if(AccInfo[playerid][Level] >= 3)
		{
		    new string[128], tmp[256], tmp2[256], Index;

			tmp = strtok(params,Index);
			tmp2 = strtok(params,Index);

		    if(!strlen(tmp) || !strlen(tmp2)) return
			SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /setpass (player<name/id>) (new password) ]") &&
			SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will modify account password of specified player. ]");

			if(strlen(tmp2) < 4 || strlen(tmp2) > MAX_PLAYER_NAME)
			return SendClientMessage(playerid,red,"[ ERROR: Incorrect password length. ]");
			if(udb_Exists(tmp))
			{
				new file[128], Pass[256];
	    	    format(file,sizeof(file),"/eAdmin/Accounts/%s.sav",udb_encode(PlayerName2(playerid)));
	  		    new buf[145];
	            WP_Hash(buf, sizeof(buf), tmp2);
		    	Pass = dini_Get(file, "Password");
			    dini_Set(file, "Password", buf);
				PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
	    	    format(string, sizeof(string),"[ ACCOUNT: You have successfully set \"%s's\" account password to \"%s\". ]", tmp, tmp2);
				return SendClientMessage(playerid,yellow,string);
			} else return SendClientMessage(playerid,red, "[ ERROR: This player doesnt have an account. ]");
		}
		else return ErrorMessages(playerid, 1);
	}


	//==============================================================================
	// Flying Cam System (Original by Sandra - Modified By Me)
	//==============================================================================

	//==========================
	// ENABLE/DISABLE CAM
	//==========================
	#if EnableCamHack == true
	if(strcmp(cmd, "/lcam", true) == 0)
	{
		
		if(AccInfo[playerid][Level] >= 3)
		{
			if(AccInfo[playerid][Spawned] == 1)
		 	{
				if(AccInfo[playerid][InCamMod] == 0)
				{
		  			if(AccInfo[playerid][pGps] != -1)
					return SendClientMessage(playerid, red, "[ ERROR: First disable the gps system. (/gps off). ]");

					if(AccInfo[playerid][SpecType] != ADMIN_SPEC_TYPE_NONE)
					return SendClientMessage(playerid, red, "[ ERROR: First disable the spectating System. (/lspecoff). ]");

	                #if USE_DIALOGS == true
					new dialog[1000];
					strcat(dialog,""COL_WHITE"/lcam ["COL_GREY"Start/Stop Flying Camera Mode"COL_WHITE"]\n");
					strcat(dialog,"/lockcam ["COL_GREY"Locks/Unlock the camera and player is free to move"COL_WHITE"]\n");
					strcat(dialog,"/follow ["COL_GREY"Locks the camera and keeps looking at player"COL_WHITE"]\n");
					strcat(dialog,"Arrow-keys ["COL_GREY"Move camera forward/backward/left/right"COL_WHITE"]\n");
					strcat(dialog,"Walk-key + Arrow-keys ["COL_GREY"Move camera up/down"COL_WHITE"]\n");
					strcat(dialog,"Crouch-key + Arrow-keys ["COL_GREY"Rotate camera up/down/left/right"COL_WHITE"]\n");
					strcat(dialog,"Sprint-key ["COL_GREY"Speeds up every movement"COL_WHITE"]\n");
					ShowPlayerDialog(playerid,1234,DIALOG_STYLE_LIST,"Camera System:",dialog,"Close","");
					#else
					SendClientMessage(playerid,Green1,"[-------------------| Admin Camera System |-------------------]");
					SendClientMessage(playerid,Green2,"* /lcam ["COL_GREY"Start/Stop Flying Camera Mode"COL_WHITE"]");
					SendClientMessage(playerid,Green2,"* /lockcam ["COL_GREY"Locks/Unlock the camera and player is free to move"COL_WHITE"]");
					SendClientMessage(playerid,Green2,"* /follow ["COL_GREY"Locks the camera and keeps looking at player"COL_WHITE"]");
					SendClientMessage(playerid,Green2,"* Arrow-keys ["COL_GREY"Move camera forward/backward/left/right"COL_WHITE"]");
					SendClientMessage(playerid,Green2,"* Walk-key + Arrow-keys ["COL_GREY"Move camera up/down"COL_WHITE"]");
					SendClientMessage(playerid,Green2,"* Crouch-key + Arrow-keys ["COL_GREY"Rotate camera up/down/left/right"COL_WHITE"]");
					SendClientMessage(playerid,Green2,"* Sprint-key ["COL_GREY"Speeds up every movement"COL_WHITE"]");
					SendClientMessage(playerid,Green1,"[-------------------| /lcam |-------------------]");
					#endif
					TogglePlayerControllable(playerid, 0);
					AccInfo[playerid][LockedCam] = 0;
					AccInfo[playerid][InCamMod] = 1;
					FollowOn[playerid] = 0;
					GetPlayerPos(playerid, PCP[playerid][0], PCP[playerid][1], PCP[playerid][2]);
					GetPlayerFacingAngle(playerid, PCA[playerid]);

					GameTextForPlayer(playerid,"~n~~n~~n~~n~~n~~n~~n~~w~~g~Cam System ~y~Enabled",1000,3);

					if(IsPlayerInAnyVehicle(playerid))
					{
						GetVehicleZAngle(GetPlayerVehicleID(playerid), PCA[playerid]);
					}
					PCL[playerid][0] = PCP[playerid][0];
					PCL[playerid][1] = PCP[playerid][1];
					PCL[playerid][2] = PCP[playerid][2];
					PCP[playerid][0] = PCP[playerid][0] - (5.0 * floatsin(-PCA[playerid], degrees));
					PCP[playerid][1] = PCP[playerid][1] - (5.0 * floatcos(-PCA[playerid], degrees));
					PCP[playerid][2] = PCP[playerid][2]+2.0;
					SetPlayerCameraPos(playerid, PCP[playerid][0], PCP[playerid][1], PCP[playerid][2]);
					SetPlayerCameraLookAt(playerid, PCL[playerid][0], PCL[playerid][1], PCL[playerid][2]);
				 	KeyTimer[playerid] = SetTimerEx("CheckKeyPress", 50, 1, "i", playerid);
				}
				else
				{
					TogglePlayerControllable(playerid, 1);
					KillTimer(KeyTimer[playerid]);
					AccInfo[playerid][InCamMod] = 0;
					SetCameraBehindPlayer(playerid);
					GameTextForPlayer(playerid,"~n~~n~~n~~n~~n~~n~~n~~w~~g~Cam System ~r~Disabled",1000,3);
				}
				return 1;
			}
			else return SendClientMessage(playerid, 0xFF0000AA, "[ ERROR: Please Spawn First. ]");
		}
		else return ErrorMessages(playerid, 1);
	}
	//==================================
	// LOCK/UNLOCK CAM/PLAYER POSITION
	//==================================
	if(strcmp(cmd, "/lockcam", true) == 0)
	{
		
		if(AccInfo[playerid][Level] >= 3)
		{
			if(AccInfo[playerid][Spawned] == 1)
		    {
				if(AccInfo[playerid][InCamMod] == 1)
				{
				    if(FollowOn[playerid] == 0)
				    {
					    if(AccInfo[playerid][LockedCam] == 0)
					    {
						    AccInfo[playerid][LockedCam] = 1;
						    KillTimer(KeyTimer[playerid]);
						    TogglePlayerControllable(playerid, 1);
						    SendClientMessage(playerid, 0x00FF00AA, "[ Camera Locked | Player Unlocked ] ");
						}
						else
						{
						    AccInfo[playerid][LockedCam] = 0;
						    KeyTimer[playerid] = SetTimerEx("CheckKeyPress", 50, 1, "i", playerid);
						    TogglePlayerControllable(playerid, 0);
						    SendClientMessage(playerid, 0x00FF00AA, "[ Camera Unlocked | Player Locked ] ");
						}
						return 1;
					}
					else return SendClientMessage(playerid, 0xFF0000AA, "[ ERROR: Please turn the Follow-Mode off First (/follow). ]");
				}
				else return SendClientMessage(playerid, 0xFF0000AA, "[ ERROR: You're not in the Flying Camera Mode. ]");
			}
			else return SendClientMessage(playerid, 0xFF0000AA, "[ ERROR: Please Spawn First. ]");
		}
		else return ErrorMessages(playerid, 1);
	}
	//==========================
	// FOLLOW THE PLAYER
	//==========================
	if(strcmp(cmd, "/follow", true) == 0)
	{
		
		if(AccInfo[playerid][Level] >= 3)
		{
		    if(AccInfo[playerid][Spawned] == 1)
		    {
				if(AccInfo[playerid][InCamMod] == 1)
				{
				    if(AccInfo[playerid][LockedCam] == 0)
					{
					    if(FollowOn[playerid] == 0)
					    {
					        FollowOn[playerid] = 1;
						    TogglePlayerControllable(playerid, 1);
					        KillTimer(KeyTimer[playerid]);
						    KeyTimer[playerid] = SetTimerEx("FollowPlayer", 70, 1, "i", playerid);
						    SendClientMessage(playerid, 0x00FF00AA, "Following player toggled on.");
						}
						else
						{
					        FollowOn[playerid] = 0;
						    TogglePlayerControllable(playerid, 0);
						    KillTimer(KeyTimer[playerid]);
						    KeyTimer[playerid] = SetTimerEx("CheckKeyPress", 50, 1, "i", playerid);
						    SendClientMessage(playerid, 0x00FF00AA, "Following player toggled off.");
						}
						return 1;
					}
					else return SendClientMessage(playerid, 0xFF0000AA, "[ ERROR: Please unlock the camera first (/lockCam). ]");
				}
				else return SendClientMessage(playerid, 0xFF0000AA, "[ ERROR: You're not in the Flying Camera Mode. ]");
			}
			else return SendClientMessage(playerid, 0xFF0000AA, "[ ERROR: Please Spawn First. ]");
		}
		else return ErrorMessages(playerid, 1);
	}
	#endif
	//==============================================================================
	// GPS
	//==============================================================================

	if(strcmp(cmd, "/gps", true) == 0)
	{
		if(AccInfo[playerid][Level] < 3)
		return ErrorMessages(playerid, 6);

		if(AccInfo[playerid][SpecType] != ADMIN_SPEC_TYPE_NONE)
		return SendClientMessage(playerid, red, "[ ERROR: First Disable the Spectating System (/lspecoff). ]");

		if(!strlen(params))
		return SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /gps (playerid/off) ]") &&
		SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will enable GPS do find a specified Player (If you is in a Race, not use). ]");

		if(strcmp(params,"off",true) == 0)
		{
			GameTextForPlayer(playerid,"~w~Gps ~r~Off!",3000,3);
			IsDisable[playerid] = 0;
			AccInfo[playerid][pGps] = -1;
			return 1;
		}
		new player1;
		new string2[128];
	 	player1 = strval(params);
		if(player1 == playerid)
		return SendClientMessage(playerid,red,"[ ERROR: You can not Find yourself. ]");

	 	if(AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
		return SendClientMessage(playerid,red,"[ ERROR: You can not localize an Administrator. ]");

		if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
		{
			new playername[MAX_PLAYER_NAME];
			GetPlayerName(player1, playername, sizeof(playername));
			format(string2, sizeof(string2),"[ <GPS> System enabled on the player - '%s(%d)'. ]", playername,player1);
			SendClientMessage(playerid, 0xDC686BAA, string2);
			GameTextForPlayer(playerid,"~w~Gps ~g~On",3000,3);
			PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
			AccInfo[playerid][pGps] = player1;
			}
		else return ErrorMessages(playerid, 2);
		return 1;
		}


	//==============================================================================
	// Visible/Invisible
	//==============================================================================
	if(strcmp(cmd, "/invisible", true) == 0)
	{
		
		if(AccInfo[playerid][Level] >= 3)
		{
			if(AccInfo[playerid][Hide] == 0)
			{
			    pColor = GetPlayerColor(playerid);
				SetPlayerColor(playerid, 0xFFFFFF00);
	   			GameTextForPlayer(playerid, "~n~~n~~n~~n~~g~Invisible",2500,3);
	   			AccInfo[playerid][Hide] = 1;
				PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
	   			if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
	   			{
	   	    		new int1 = GetPlayerInterior(playerid);
	   	    		LinkVehicleToInterior(GetPlayerVehicleID(playerid),int1+1);
	    		}
	    		return 1;
			}
			else return SendClientMessage(playerid, lightred,"[ ERROR: You are already Invisible. ]");
		}
		else return  ErrorMessages(playerid, 1);
	}


	if(strcmp(cmd, "/visible", true) == 0)
	{
		
		if(AccInfo[playerid][Level] >= 3)
		{
			if(AccInfo[playerid][Hide] == 1)
			{
				SetPlayerColor(playerid, pColor);
	   			GameTextForPlayer(playerid, "~n~~n~~n~~n~~b~Visible",2500,3);
	   			AccInfo[playerid][Hide] = 0;
				PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
	   			if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
	   			{
	   	    		new int1 = GetPlayerInterior(playerid);
	   	    		LinkVehicleToInterior(GetPlayerVehicleID(playerid),int1);
	   			}
	   			return 1;
			}
			else return SendClientMessage(playerid, lightred,"[ ERROR: You is already Visible. ]");
		}
		else return  ErrorMessages(playerid, 1);
	}
	//==============================================================================
	// Cage
	//==============================================================================

	if(strcmp(cmd, "/cage", true) == 0)
	{
		if(AccInfo[playerid][Level] < 4)
		return ErrorMessages(playerid, 5);

		new Index;
		new tmp[256];  tmp  = strtok(params, Index);
	  	new tmp2[256]; tmp2 = strtok(params, Index);
		new player1 = ReturnUser(tmp);
		new time = strval(tmp2);

	 	if(!strlen(tmp)) return
	 	SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /cage (player<name/id>) (time) ]") &&
		SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will hold player in a Cage by specified Time. ]");

		if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && player1 != playerid && (AccInfo[player1][Level] != ServerInfo[MaxAdminLevel]))
		{

		if(!strlen(tmp2))
		return SendClientMessage(playerid, red, "[ ERROR: Not specified Time. ]");

		if(time < 10)
		return SendClientMessage(playerid, red, "[ ERROR: Time must be greater than 10 Seconds. ]");

	    if(AccInfo[player1][pCaged] == 1)
		return SendClientMessage(playerid, red, "[ ERROR: Player is already in Cage. ]");

		new string[128];
		new playername[MAX_PLAYER_NAME];
		new adminname [MAX_PLAYER_NAME];
		SendCommandToAdmins(playerid,"Cage");
	 	GetPlayerName(player1, playername, sizeof(playername));
		GetPlayerName(playerid, adminname, sizeof(adminname));
		format(string, sizeof(string), "[ Administrator %s(%d) have Caged \"%s(%d)\" for \"%d\" Seconds. ]",adminname,playerid, playername,player1, time);
		SendClientMessageToAll(red, string);
		format(string, sizeof(string), "[ ADMIN: You have Caged \"%s(%d)\" for \"%d\" Seconds. ]",playername,player1, time);
		SendClientMessageToAll(red, string);
	    TogglePlayerControllable(player1, 0);
	    AccInfo[player1][pCageTime] = time;
	    AccInfo[player1][pCaged] = 1;
		PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
		PlayerPlaySound(player1,1057,0.0,0.0,0.0);
	    GetPlayerPos(playerid, LPosX[player1], LPosY[player1], LPosZ[player1]);
	    SetTimerEx("CagePlayer", 1000, 0, "i", player1);
	    SetTimerEx("UnCagePlayer", AccInfo[player1][pCageTime]*1000, 0, "i", player1);
		}
		else return ErrorMessages(playerid, 3);
		return 1;
		}

	//==============================================================================
	// Team commands help
	//==============================================================================
	if(strcmp(cmd, "/teamhelp", true) == 0)
	{
	    
		if(AccInfo[playerid][LoggedIn] && AccInfo[playerid][Level] >= 1)
		{
		    #if USE_DIALOGS == true
	    	new dialog[700];
			strcat(dialog,"/armourteam ["COL_GREY"Refill team's armour"COL_WHITE"]\n");
			strcat(dialog,"/healteam ["COL_GREY"Refill team's health"COL_WHITE"]\n");
			strcat(dialog,"/disarmteam ["COL_GREY"Disarm a team"COL_WHITE"]\n");
			strcat(dialog,"/freezeteam ["COL_GREY"Freeze team"COL_WHITE"]\n");
			strcat(dialog,"/unfreezeteam ["COL_GREY"Unfreeze team"COL_WHITE"]\n");
			strcat(dialog,"/getteam ["COL_GREY"Teleport team to you"COL_WHITE"]\n");
			strcat(dialog,"/giveteamweapon ["COL_GREY"Give team a weapon"COL_WHITE"]\n");
			strcat(dialog,"/muteteam ["COL_GREY"Disable team chat"COL_WHITE"]\n");
			strcat(dialog,"/unmuteteam ["COL_GREY"Enable team chat"COL_WHITE"]\n");
			strcat(dialog,"/spawnteam ["COL_GREY"Re-spawn team"COL_WHITE"]\n");
			strcat(dialog,"/giveteamcash ["COL_GREY"Give cash to team"COL_WHITE"]\n");
			strcat(dialog,"/giveteamscore ["COL_GREY"Give score to team"COL_WHITE"]\n");
			strcat(dialog,"/killteam ["COL_GREY"Kill a team"COL_WHITE"]");
			ShowPlayerDialog(playerid,1234,DIALOG_STYLE_LIST,"Admin System - Team commands [level-4+ only]",dialog,"Close","");
			#else
			SendClientMessage(playerid,Green1,"[-------------------| Admin Team Commands |-------------------]");
			SendClientMessage(playerid,Green2,"/armourteam, /healteam, /disarmteam, /freezeteam, /getteam, /giveteamweapon, /muteteam");
			SendClientMessage(playerid,Green2,"/unmuteteam, /spawnteam, /giveteamcash, /giveteamscore, /killteam");
			SendClientMessage(playerid,Green1,"[-------------------| /temahelp |-------------------]");
			#endif
		}
		else if(AccInfo[playerid][LoggedIn] == 0)
		{
		SendClientMessage(playerid,red, "[ ERROR: You must have an account to use this command. ]");
		}
		return 1;
	}

	//==============================================================================
	// Help
	//==============================================================================
	if(strcmp(cmd, "/ahelp", true) == 0)
	{
		
		if(AccInfo[playerid][LoggedIn] && AccInfo[playerid][Level] >= 1)
		{
		    #if USE_DIALOGS == true
		    ShowPlayerDialog(playerid,1234,DIALOG_STYLE_LIST,
			"Admin system - Help:",
			"/level (1/2/3/4/5)\n\
			/credits\n\
			/"#RegisterCommand"\n\
			/"#LoginCommand"\n\
			/"#ChangePassCommand"\n\
			/report\n\
			/stats\n\
			/time\n\
			/resetstats\n\
			/getid\n\
			/richlist\n\
			/observations",
			"Close","");
			#else
			SendClientMessage(playerid,Green1,"[-------------------| Admin Help |-------------------]");
			SendClientMessage(playerid,Green2,"/level (1/2/3/4/5), /credits, /"#RegisterCommand", /"#LoginCommand", /"#ChangePassCommand", /report, /stats");
			SendClientMessage(playerid,Green2,"/time, /resetstats, /getid, /richlist, /observations");
			SendClientMessage(playerid,Green1,"[-------------------| /ahelp |-------------------]");
			#endif
		}
		else if(AccInfo[playerid][LoggedIn] && AccInfo[playerid][Level] < 1)
		{
			#if USE_DIALOGS == true
		    ShowPlayerDialog(playerid,1234,DIALOG_STYLE_LIST,
			"Admin system - Help:",
			"/"#RegisterCommand"\n\
			/"#LoginCommand"\n\
			/report\n\
			/stats\n\
			/time\n\
			/"#ChangePassCommand"\n\
			/resetstats\n\
			/getid\n\
			/richlist",
			"Close","");
			#else
			SendClientMessage(playerid,Green1,"[-------------------| Admin Help |-------------------]");
			SendClientMessage(playerid,Green2,"/credits, /"#RegisterCommand", /"#LoginCommand", /"#ChangePassCommand", /report, /stats");
			SendClientMessage(playerid,Green2,"/time, /resetstats, /getid, /richlist");
			SendClientMessage(playerid,Green1,"[-------------------| /ahelp |-------------------]");
			#endif
		}
		else if(AccInfo[playerid][LoggedIn] == 0)
		{
		SendClientMessage(playerid,red, "[ ERROR: You must have an account to use this command. ]");
		}
		return 1;
	}
	//==============================================================================
	// Observations
	//==============================================================================
	if(strcmp(cmd, "/observations", true) == 0)
	{
		
		if(AccInfo[playerid][Level] > 0)
		{
		    #if USE_DIALOGS == true
		    ShowPlayerDialog(playerid,1234,DIALOG_STYLE_MSGBOX,
			"Admin system - Observations:",
			""COL_BLUE"* "COL_WHITE"Players advertising or breaking rules, take action on them.\n\n\
			"COL_BLUE"* "COL_WHITE"Don't try to abuse the admin status, player can report against you  on forums.\n\n\
			"COL_BLUE"* "COL_WHITE"If you change your gameMode in the game, reload the AdminScript.\n\n\
			"COL_BLUE"* "COL_WHITE"Administrators Level 5+ are totally immune to any command.\n\n\
			"COL_BLUE"* "COL_WHITE"Bans/Kicks/Reports/..., Is saved in file with Date and Time.",
			"Close","");
			#else
			SendClientMessage(playerid,Green1,"[-------------------| Admin Observations |-------------------]");
			SendClientMessage(playerid,Green2,"* Players advertising or breaking rules, take action on them.");
			SendClientMessage(playerid,Green2,"* Don't try to abuse the admin status, player can report against you  on forums.");
			SendClientMessage(playerid,Green2,"* If you change your gameMode in the game, reload the AdminScript.");
			SendClientMessage(playerid,Green2,"* Administrators Level 5+ are totally immune to any command.");
			SendClientMessage(playerid,Green2,"* Bans/Kicks/Reports/..., Is saved in file with Date and Time.");
			SendClientMessage(playerid,Green1,"[-------------------| /observations |-------------------]");
			#endif
		}
		return 1;
	}
	if(strcmp(cmd, "/level", true) == 0)
	{
	    if(AccInfo[playerid][Level] >= 1)
		{
		    if(!strlen(params))
			{
			SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /level (1/2/3/4/5) ]");
			return SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will see commands of specified level. ]");
			}
	 		//======================================================================
	  		// Level 1
			//======================================================================
			if(strcmp(params,"1",true) == 0)
			{
			if(AccInfo[playerid][Level] >= 1)
			{
			#if USE_DIALOGS == true
		    new dialog[2000];
			strcat(dialog,"/getinfo ["COL_GREY"Get player info."COL_WHITE"]\n");
			strcat(dialog,"/ban ["COL_GREY"Ban player"COL_WHITE"]\n");
			strcat(dialog,"/unban ["COL_GREY"Unban player"COL_WHITE"]\n");
			strcat(dialog,"/aban ["COL_GREY"Offline ban player"COL_WHITE"]\n");
			strcat(dialog,"/searchban ["COL_GREY"Search for a player ban"COL_WHITE"]\n");
			strcat(dialog,"/weaps ["COL_GREY"Get player weapons info."COL_WHITE"]\n");
			strcat(dialog,"/ping ["COL_GREY"Player ping info."COL_WHITE"]\n");
			strcat(dialog,"/ip ["COL_GREY"Show player's I.P."COL_WHITE"]\n");
			strcat(dialog,"/fix ["COL_GREY"Fix your vehicle"COL_WHITE"]\n");
			strcat(dialog,"/repair ["COL_GREY"Repair your vehicle"COL_WHITE"]\n");
			strcat(dialog,"/addnos ["COL_GREY"Add Nitro<10x>"COL_WHITE"]\n");
			strcat(dialog,"/tcar ["COL_GREY"Tune car"COL_WHITE"]\n");
			strcat(dialog,"/saveplacae ["COL_GREY"Save position"COL_WHITE"]\n");
			strcat(dialog,"/gotoplace ["COL_GREY"Goto saved position"COL_WHITE"]\n");
			strcat(dialog,"/onduty ["COL_GREY"Go onduty"COL_WHITE"]\n");
			strcat(dialog,"/saveskin ["COL_GREY"Save personal skin"COL_WHITE"]\n");
			strcat(dialog,"/useskin ["COL_GREY"Use personal skin"COL_WHITE"]\n");
			strcat(dialog,"/dontuseskin ["COL_GREY"Reset personal skin"COL_WHITE"]\n");
			strcat(dialog,"/setmytime ["COL_GREY"Set your time"COL_WHITE"]\n");
			strcat(dialog,"/adminarea ["COL_GREY"Goto admin area"COL_WHITE"]\n");
			strcat(dialog,"/lconfig ["COL_GREY"Checkout admin - config"COL_WHITE"]\n");
			strcat(dialog,"/viplist ["COL_GREY"Online vip list"COL_WHITE"]\n");
			strcat(dialog,"/morning ["COL_GREY"Change weather to morning"COL_WHITE"]\n");
			strcat(dialog,"/reports ["COL_GREY"Reports list"COL_WHITE"]\n");
			strcat(dialog,"/offstats ["COL_GREY"Check stats offline"COL_WHITE"]\n");
			strcat(dialog,"/miniguns ["COL_GREY"CHeckou players having miniguns"COL_WHITE"]");
			ShowPlayerDialog(playerid,1234,DIALOG_STYLE_LIST,"Admin (/level 1) - Basic Moderator",dialog,"Close","");
			#else
			SendClientMessage(playerid,Green1,"[-------------------| Level(1) - Basic Moderator |-------------------]");
			SendClientMessage(playerid,Green2,"PLAYER: /getinfo, /ban, /unban, /aban, /searchban, /weaps, /ping, /ip");
			SendClientMessage(playerid,Green2,"VEHICLE: /fix, /repair, /addnos, /tcar");
			SendClientMessage(playerid,Green2,"TELEPORT: /saveplacae, /gotoplace");
			SendClientMessage(playerid,Green2,"USEFULL: /onduty, /saveskin, /useskin, /dontuseskin, /setmytime, /adminarea, /lconfig");
			SendClientMessage(playerid,Green2,"USEFULL: /morning, /viplist, /reports, /miniguns, /offstats");
			SendClientMessage(playerid,Green1,"[-------------------| /level 1 |-------------------]");
			#endif
			}
				else return ErrorMessages(playerid, 8);
			}
	 		//======================================================================
	  		// Level 2
			//======================================================================
			else if(strcmp(params,"2",true) == 0)
			{
			if(AccInfo[playerid][Level] >= 2)
			{
			#if USE_DIALOGS == true
		    new dialog[2000];
			strcat(dialog,""COL_ORANGE"+ level<1> commands\n");
			strcat(dialog,"/giveweapon ["COL_GREY"Give player weapon"COL_WHITE"]\n");
			strcat(dialog,"/setcolour ["COL_GREY"Set player color"COL_WHITE"]\n");
			strcat(dialog,"/burn ["COL_GREY"Burn a player"COL_WHITE"]\n");
			strcat(dialog,"/spawn ["COL_GREY"Respawn someone"COL_WHITE"]\n");
			strcat(dialog,"/disarm ["COL_GREY"Remove player weapons"COL_WHITE"]\n");
			strcat(dialog,"/highlight ["COL_GREY"Highlight a player on map"COL_WHITE"]\n");
			strcat(dialog,"/jetpack ["COL_GREY"Admin jetpack"COL_WHITE"]\n");
			strcat(dialog,"/flip ["COL_GREY"Flip car"COL_WHITE"]\n");
			strcat(dialog,"/fu ["COL_GREY"Fuck a player up!"COL_WHITE"]\n");
			strcat(dialog,"/warn ["COL_GREY"Warn a player"COL_WHITE"]\n");
			strcat(dialog,"/slap ["COL_GREY"Slap a player"COL_WHITE"]\n");
			strcat(dialog,"/(un)mute ["COL_GREY"Disable/Enable player chat"COL_WHITE"]\n");
			strcat(dialog,"/laston ["COL_GREY"Check player last joined"COL_WHITE"]\n");
			strcat(dialog,"/lspec ["COL_GREY"Spectate player"COL_WHITE"]\n");
			strcat(dialog,"/lspecoff ["COL_GREY"Spectate off"COL_WHITE"]\n");
			strcat(dialog,"/acar ["COL_GREY"Admin car"COL_WHITE"]\n");
			strcat(dialog,"/abike ["COL_GREY"Admin bike"COL_WHITE"]\n");
			strcat(dialog,"/aheli ["COL_GREY"Admin helicopter"COL_WHITE"]\n");
			strcat(dialog,"/aboat ["COL_GREY"Admin boat"COL_WHITE"]\n");
			strcat(dialog,"/aplane ["COL_GREY"Admin plane"COL_WHITE"]\n");
			strcat(dialog,"/lspecvehicle ["COL_GREY"Spectate vehicle"COL_WHITE"]\n");
			strcat(dialog,"/goto ["COL_GREY"Goto a player"COL_WHITE"]\n");
			strcat(dialog,"/vgoto ["COL_GREY"Goto a vehicle"COL_WHITE"]\n");
			strcat(dialog,"/lgoto ["COL_GREY"Special goto"COL_WHITE"]\n");
			strcat(dialog,"/lmenu ["COL_GREY"Master admin tool"COL_WHITE"]\n");
			strcat(dialog,"/clearchat ["COL_GREY"Clear chat lines"COL_WHITE"]\n");
			strcat(dialog,"/write ["COL_GREY"Write a chat line"COL_WHITE"]\n");
			strcat(dialog,"/announce ["COL_GREY"Announce to all"COL_WHITE"]\n");
			strcat(dialog,"/announce2 ["COL_GREY"Announce type 2"COL_WHITE"]\n");
			strcat(dialog,"/screen ["COL_GREY"Announce to player"COL_WHITE"]\n");
			strcat(dialog,"/(un)lockcar ["COL_GREY"Lock/Unlock car"COL_WHITE"]\n");
			strcat(dialog,"/wanted ["COL_GREY"Check players wanted"COL_WHITE"]\n");
			strcat(dialog,"/jailed ["COL_GREY"Check players jailed"COL_WHITE"]\n");
			strcat(dialog,"/frozen ["COL_GREY"Check players frozen"COL_WHITE"]\n");
			strcat(dialog,"/muted ["COL_GREY"Check players muted"COL_WHITE"]\n");
			strcat(dialog,"/fstyles ["COL_GREY"Fight styles"COL_WHITE"]\n");
			strcat(dialog,"/vehicles ["COL_GREY"Vehicles menu"COL_WHITE"]\n");
			strcat(dialog,"/weapons ["COL_GREY"Weapons menu"COL_WHITE"]\n");
			strcat(dialog,"/skins ["COL_GREY"Skins menu"COL_WHITE"]\n");
			strcat(dialog,"/wanted ["COL_GREY"Check players wanted"COL_WHITE"]");
			ShowPlayerDialog(playerid,1234,DIALOG_STYLE_LIST,"Admin (/level 2) - Moderator",dialog,"Close","");
			#else
			SendClientMessage(playerid,Green1,"[-------------------| Level(2) - Moderator |-------------------]");
			SendClientMessage(playerid,Green2,"PLAYER: /giveweapon, /setcolour, /burn, /spawn, /disarm, /highlight, /warn, /slap");
			SendClientMessage(playerid,Green2,"PLAYER: /(un)mute, /laston, /lspec, /lspecoff, /screen, /fu, /goto");
			SendClientMessage(playerid,Green2,"VEHICLE: /jetpack, /flip, /acar, /abike, /aheli, /aboat, /aplane, /lspecvehicle");
			SendClientMessage(playerid,Green2,"TELEPORT: /vgoto, /goto, /lgoto");
			SendClientMessage(playerid,Green2,"USEFULL: /lmenu, /clearchat, /write, /announce, /announce2, /(un)lockcar, /wanted");
			SendClientMessage(playerid,Green2,"USEFULL: /jailed, /frozen, /muted, /fstyles, /wanted, /weapons, /Vehicles, /Skins");
			SendClientMessage(playerid,Green1,"[-------------------| /level 2 |-------------------]");
			#endif
			}
				else return ErrorMessages(playerid, 7);
			}
	 		//======================================================================
	  		// Level 3
			//======================================================================
			else if(strcmp(params,"3",true) == 0)
			{
			if(AccInfo[playerid][Level] >= 3)
			{
			#if USE_DIALOGS == true
		    new dialog[3000];
			strcat(dialog,""COL_ORANGE"+ level<1&2> commands\n");
			strcat(dialog,"/sethealth ["COL_GREY"Set player health"COL_WHITE"]\n");
			strcat(dialog,"/setarmour ["COL_GREY"Set player armour"COL_WHITE"]\n");
			strcat(dialog,"/setcash ["COL_GREY"Set player cash"COL_WHITE"]\n");
			strcat(dialog,"/setscore ["COL_GREY"Set player score"COL_WHITE"]\n");
			strcat(dialog,"/setskin ["COL_GREY"Set player skin"COL_WHITE"]\n");
			strcat(dialog,"/setwanted ["COL_GREY"Set player wanted level"COL_WHITE"]\n");
			strcat(dialog,"/setname ["COL_GREY"Set player name"COL_WHITE"]\n");
			strcat(dialog,"/setweather ["COL_GREY"Set player weather"COL_WHITE"]\n");
			strcat(dialog,"/settime ["COL_GREY"Set player time"COL_WHITE"]\n");
			strcat(dialog,"/setworld ["COL_GREY"Set player virtual world"COL_WHITE"]\n");
			strcat(dialog,"/setinterior ["COL_GREY"Set player interior"COL_WHITE"]\n");
			strcat(dialog,"/setping ["COL_GREY"Set server max ping limit"COL_WHITE"]\n");
			strcat(dialog,"/setgravity ["COL_GREY"Set server gravity"COL_WHITE"]\n");
			strcat(dialog,"/setallskin ["COL_GREY"All players' skin"COL_WHITE"]\n");
			strcat(dialog,"/armourall ["COL_GREY"All players' armour"COL_WHITE"]\n");
			strcat(dialog,"/setallwanted ["COL_GREY"All players' wanted"COL_WHITE"]\n");
			strcat(dialog,"/setallweather ["COL_GREY"All players' weather"COL_WHITE"]\n");
			strcat(dialog,"/setalltime ["COL_GREY"All players' time"COL_WHITE"]\n");
			strcat(dialog,"/setallworld ["COL_GREY"All players' virtual world"COL_WHITE"]\n");
			strcat(dialog,"/setallscore ["COL_GREY"All players' score"COL_WHITE"]\n");
			strcat(dialog,"/setallcash ["COL_GREY"All players' cash"COL_WHITE"]\n");
			strcat(dialog,"/giveallcash ["COL_GREY"Give all cash"COL_WHITE"]\n");
			strcat(dialog,"/giveallweapon ["COL_GREY"Give all weapon"COL_WHITE"]\n");
			strcat(dialog,"/clearallchat ["COL_GREY"Clear all players' chat"COL_WHITE"]\n");
			strcat(dialog,"/healall ["COL_GREY"Heal all"COL_WHITE"]\n");
			strcat(dialog,"/ubound ["COL_GREY"Unbound vehicle"COL_WHITE"]\n");
			strcat(dialog,"/duel ["COL_GREY"Run duel"COL_WHITE"]\n");
			strcat(dialog,"/akill ["COL_GREY"Kill someone"COL_WHITE"]\n");
			strcat(dialog,"/aka ["COL_GREY"Player ip info."COL_WHITE"]\n");
			strcat(dialog,"/caps ["COL_GREY"Toggle caps in chat"COL_WHITE"]\n");
			strcat(dialog,"/(un)freeze ["COL_GREY"Freeze / Unfreeze"COL_WHITE"]\n");
			strcat(dialog,"/kick ["COL_GREY"Kick a player"COL_WHITE"]\n");
			strcat(dialog,"/explode ["COL_GREY"Explode a player"COL_WHITE"]\n");
			strcat(dialog,"/(un)jail ["COL_GREY"Jail or unjail"COL_WHITE"]\n");
			strcat(dialog,"/force ["COL_GREY"Force class selection"COL_WHITE"]\n");
			strcat(dialog,"/eject ["COL_GREY"Eject from car"COL_WHITE"]\n");
			strcat(dialog,"/(s)removecash ["COL_GREY"Remove cash"COL_WHITE"]\n");
			strcat(dialog,"/car ["COL_GREY"Disable chat"COL_WHITE"]\n");
			strcat(dialog,"/carhealth ["COL_GREY"Set car h.p."COL_WHITE"]\n");
			strcat(dialog,"/carcolour ["COL_GREY"Set car color"COL_WHITE"]\n");
			strcat(dialog,"/destroycar ["COL_GREY"Destroy car"COL_WHITE"]\n");
			strcat(dialog,"/vget ["COL_GREY"Get car"COL_WHITE"]\n");
			strcat(dialog,"/givecar ["COL_GREY"Give player car"COL_WHITE"]\n");
			strcat(dialog,"/teleplayer ["COL_GREY"Teleport player"COL_WHITE"]\n");
			strcat(dialog,"/gethere ["COL_GREY"Get player"COL_WHITE"]\n");
			strcat(dialog,"/get ["COL_GREY"Get player"COL_WHITE"]\n");
			strcat(dialog,"/move ["COL_GREY"Move player in freeze mode"COL_WHITE"]\n");
			strcat(dialog,"/moveplayer ["COL_GREY"Move player"COL_WHITE"]\n");
			strcat(dialog,"/gps ["COL_GREY"Gps. mode"COL_WHITE"]\n");
			strcat(dialog,"/lcam ["COL_GREY"Camera system"COL_WHITE"]\n");
			strcat(dialog,"/setpass ["COL_GREY"Set account password"COL_WHITE"]\n");
			strcat(dialog,"/lammo ["COL_GREY"Get Admin ammo"COL_WHITE"]\n");
			strcat(dialog,"/countdown ["COL_GREY"start count down"COL_WHITE"]\n");
			strcat(dialog,"/aweaps ["COL_GREY"Admin weapons"COL_WHITE"]\n");
			strcat(dialog,"/invisible ["COL_GREY"Become invisible"COL_WHITE"]\n");
			strcat(dialog,"/visible ["COL_GREY"Become visible"COL_WHITE"]\n");
			strcat(dialog,"/Givecash ["COL_GREY"Give money"COL_WHITE"]\n");
			strcat(dialog,"/Givescore ["COL_GREY"Give score"COL_WHITE"]\n");
			strcat(dialog,"/Setkills ["COL_GREY"Set kills"COL_WHITE"]\n");
			strcat(dialog,"/Setdeaths ["COL_GREY"Set deaths"COL_WHITE"]\n");
			strcat(dialog,"/giveallscore ["COL_GREY"Give all score"COL_WHITE"]");
			ShowPlayerDialog(playerid,1234,DIALOG_STYLE_LIST,"Admin (/level 3) - Master Moderator",dialog,"Close","");
			#else
			SendClientMessage(playerid,Green1,"[-------------------| Level(3) - Master Moderator |-------------------]");
			SendClientMessage(playerid,Green2,"PLAYER: /sethealth, /setarmour, /setcash, /setscore, /setskin, /setwanted, /setname, /setweather, /Givescore, /Givecash");
			SendClientMessage(playerid,Green2,"PLAYER: /settime, /setworld, /akill, /setinterior, /aka, /(un)freeze, /kick, /explode, /(un)jail /Setdeaths");
			SendClientMessage(playerid,Green2,"PLAYER: /force, /eject, /(s)removecash, /givecar, /teleplayer, /gethere, /get, /move, /moveplayer, /Setkills");
			SendClientMessage(playerid,Green2,"VEHICLE: /car, /carhealth, /carcolour, /destroycar, /vget, /givecar");
			SendClientMessage(playerid,Green2,"ALL: /armourall, /setallwanted, /setallweather, /setalltime, /setallworld, /setallscore, /setallcash");
			SendClientMessage(playerid,Green2,"ALL: /giveallcash, /giveallscore, /giveallweapon, /clearallchat, /healall");
			SendClientMessage(playerid,Green2,"USEFULL: /setgravity, /setping, /ubound, /duel, /gps, /lcam, /setpass");
			SendClientMessage(playerid,Green2,"USEFULL: /lammo, /countdown, /aweaps, /invisible, /visible");
			SendClientMessage(playerid,Green1,"[-------------------| /level 3 |-------------------]");
			#endif
			}
				else return ErrorMessages(playerid, 6);
			}
	 		//======================================================================
	  		// Level 4
			//======================================================================
			else if(strcmp(params,"4",true) == 0)
	 		{
			if(AccInfo[playerid][Level] >= 4)
			{
	        #if USE_DIALOGS == true
		    new dialog[2000];
			strcat(dialog,""COL_ORANGE"+ level<1&2&3> commands\n");
			strcat(dialog,"/spawnall ["COL_GREY"Spawn all"COL_WHITE"]\n");
			strcat(dialog,"/muteall ["COL_GREY"Mute all"COL_WHITE"]\n");
			strcat(dialog,"/unmuteall ["COL_GREY"Unmute all"COL_WHITE"]\n");
			strcat(dialog,"/getall ["COL_GREY"Get all players"COL_WHITE"]\n");
			strcat(dialog,"/killall ["COL_GREY"Kill all players"COL_WHITE"]\n");
			strcat(dialog,"/freezeall ["COL_GREY"Freeze all players"COL_WHITE"]\n");
			strcat(dialog,"/unfreezeall ["COL_GREY"Unfreeze all players"COL_WHITE"]\n");
			strcat(dialog,"/kickall ["COL_GREY"Kick all players"COL_WHITE"]\n");
			strcat(dialog,"/slapalll ["COL_GREY"Slap all players"COL_WHITE"]\n");
			strcat(dialog,"/explodeall ["COL_GREY"Explode all players"COL_WHITE"]\n");
			strcat(dialog,"/disarmall ["COL_GREY"Disarm all players"COL_WHITE"]\n");
			strcat(dialog,"/ejectall ["COL_GREY"Eject players from cars"COL_WHITE"]\n");
			strcat(dialog,"/cage ["COL_GREY"Cage player"COL_WHITE"]\n");
			strcat(dialog,"/rban ["COL_GREY"I.P. Range ban player"COL_WHITE"]\n");
			strcat(dialog,"/tempban ["COL_GREY"Temperorary ban player"COL_WHITE"]\n");
			strcat(dialog,"/settemplevel ["COL_GREY"Set player temperorary level"COL_WHITE"]\n");
			strcat(dialog,"/crash ["COL_GREY"Crash player client"COL_WHITE"]\n");
			strcat(dialog,"/ctele ["COL_GREY"C teleport"COL_WHITE"]\n");
			strcat(dialog,"/lockserver ["COL_GREY"Lock server"COL_WHITE"]\n");
			strcat(dialog,"/enable ["COL_GREY"Enable menu"COL_WHITE"]\n");
			strcat(dialog,"/disable ["COL_GREY"Disable menu"COL_WHITE"]\n");
			strcat(dialog,"/spam ["COL_GREY"Create a spam"COL_WHITE"]\n");
			strcat(dialog,"/god ["COL_GREY"Godmode"COL_WHITE"]\n");
			strcat(dialog,"/godcar ["COL_GREY"Car godmode"COL_WHITE"]\n");
			strcat(dialog,"/botcheck ["COL_GREY"Bot check feature"COL_WHITE"]\n");
			strcat(dialog,"/forbidname ["COL_GREY"Forbid a name"COL_WHITE"]\n");
			strcat(dialog,"/forbidword ["COL_GREY"Forbid a word"COL_WHITE"]\n");
			strcat(dialog,"/fakedeath ["COL_GREY"Organize fake death"COL_WHITE"]\n");
			strcat(dialog,"/uconfig ["COL_GREY"U-Config menu"COL_WHITE"]\n");
			strcat(dialog,"/die ["COL_GREY"Kill a player"COL_WHITE"]\n");
			strcat(dialog,"/hide ["COL_GREY"Hide from admin duty"COL_WHITE"]\n");
			strcat(dialog,"/unhide ["COL_GREY"Visible from admin duty"COL_WHITE"]\n");
			strcat(dialog,"/teamhelp ["COL_GREY"Visible from admin duty"COL_WHITE"]");
			ShowPlayerDialog(playerid,1234,DIALOG_STYLE_LIST,"Admin (/level 4) - Administrator",dialog,"Close","");
			#else
			SendClientMessage(playerid,Green1,"[-------------------| Level(4) - Administrator |-------------------]");
			SendClientMessage(playerid,Green2,"PLAYER: /cage, /rban, /tempban, /settemplevel, /crash, /ctele, /die");
			SendClientMessage(playerid,Green2,"ALL: /spawnall, /muteall, /unmuteall, /getall, /killall, /freezeall, /unfreezeall");
			SendClientMessage(playerid,Green2,"ALL: /kickall, /slapalll, /explodeall, /disarmall, /ejectall");
			SendClientMessage(playerid,Green2,"USEFULL: /lockserver, /enable, /disable, /spam, /god, /godcar, /forbidname");
			SendClientMessage(playerid,Green2,"USEFULL: /forbidword, /fakedeath, /uconfig, /hide, /unhide, /teamhelp");
			SendClientMessage(playerid,Green1,"[-------------------| /level 4 |-------------------]");
			#endif
			}
				else return ErrorMessages(playerid, 5);
			}
	 		//======================================================================
	  		// Level 5
			//======================================================================
			else if(strcmp(params,"5",true) == 0)
			{
			if(AccInfo[playerid][Level] >= 5)
			{
			#if USE_DIALOGS == true
		    new dialog[1000];
			strcat(dialog,""COL_ORANGE"+ level<1&2&3&4> commands\n");
			strcat(dialog,"/setlevel ["COL_GREY"Set player admin level"COL_WHITE"]\n");
			strcat(dialog,"/fakechat ["COL_GREY"Create a fake chat"COL_WHITE"]\n");
			strcat(dialog,"/fakedeath ["COL_GREY"Create a fake death"COL_WHITE"]\n");
			strcat(dialog,"/fakecmd ["COL_GREY"Create a fake command"COL_WHITE"]\n");
			strcat(dialog,"/god ["COL_GREY"Godmode"COL_WHITE"]\n");
			strcat(dialog,"/sgod ["COL_GREY"Special godmode"COL_WHITE"]\n");
			strcat(dialog,"/console ["COL_GREY"Admin console"COL_WHITE"]\n");
			strcat(dialog,"/pickup ["COL_GREY"Create a pickup"COL_WHITE"]\n");
			strcat(dialog,"/object ["COL_GREY"Create a object"COL_WHITE"]\n");
			strcat(dialog,"/respawncars ["COL_GREY"Respawn all vehicles"COL_WHITE"]\n");
			strcat(dialog,"/lrcon ["COL_GREY"(Only Rcon Admins) USAGE: /rcon lrcon"COL_WHITE"]");
			ShowPlayerDialog(playerid,1234,DIALOG_STYLE_LIST,"Admin (/level 5) - Master Administrator",dialog,"Close","");
			#else
			SendClientMessage(playerid,Green1,"[-------------------| Level(5) - Master Administrator |-------------------]");
			SendClientMessage(playerid,Green2,"PLAYER: /setlevel");
			SendClientMessage(playerid,Green2,"USEFULL: /fakechat, /fakedeath, /fakecmd, /god, /sgod, /console, /pickup");
			SendClientMessage(playerid,Green2,"USEFULL: /object, /respawncars");
			SendClientMessage(playerid,Green2,"/lrcon (Only Rcon Admins) [ USAGE: /rcon lrcon ]");
			SendClientMessage(playerid,Green1,"[-------------------| /level 5 |-------------------]");
			#endif
			}
				else return ErrorMessages(playerid, 9);
			}
	 		//======================================================================
			else
			{
	  		SendClientMessage(playerid, red, "[ ERROR: Invalid Level (1-5). ]");
			}
			return 1;
	 	}
		else return ErrorMessages(playerid, 1);
	}

	if(strcmp(cmd, "/setarmour", true) == 0)
	{
		if(AccInfo[playerid][Level] >= 3)
		{
		    new Index;
		    new tmp[256];  tmp  = strtok(params,Index);
		    new tmp2[256]; tmp2 = strtok(params,Index);
		    if(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp2)) return
			SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /setarmour (player<name/id>) (value) ]") &&
			SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will set Armour of specified player. ]");

			if(strval(tmp2) < 0 || strval(tmp2) > 100 && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
			return SendClientMessage(playerid, red, "[ ERROR: Invaild Armour Amount. ]");
			new player1 = strval(tmp);
			new armour = strval(tmp2);
			new string[128];
			if(AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
			return SendClientMessage(playerid,red,"[ ERROR: You cannot use this command on this admin. ]");
	        if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
			{
				SendCommandToAdmins(playerid,"SetArmour");
				format(string, sizeof(string), "[ ADMIN: You have set \"%s's\" Armour to '%d'. ]", pName(player1), armour);
				SendClientMessage(playerid,BlueMsg,string);
				PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
				if(player1 != playerid)
				{
				format(string,sizeof(string),"[ Administrator \"%s\" has set your Armour to '%d'. ]", pName(playerid), armour);
				SendClientMessage(player1,blue,string);
				PlayerPlaySound(player1,1057,0.0,0.0,0.0);
				}
	   			return SetPlayerArmour(player1, armour);
		    }
			else return ErrorMessages(playerid, 2);
		}
		else return ErrorMessages(playerid, 1);
	}

	if(strcmp(cmd, "/sethealth", true) == 0)
	{
		if(AccInfo[playerid][Level] >= 3)
		{
		    new Index;
		    new tmp[256];  tmp  = strtok(params,Index);
		    new tmp2[256]; tmp2 = strtok(params,Index);
		    if(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp2)) return
			SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /sethealth (player<name/id>) (value) ]") &&
			SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will set Armour of specified player. ]");

			if(strval(tmp2) < 0 || strval(tmp2) > 100 && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return
			SendClientMessage(playerid, red, "[ ERROR: Invaild Health amount. ]");
			new player1 = strval(tmp);
			new health = strval(tmp2);
			new string[128];
			if(AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return
			SendClientMessage(playerid,red,"[ ERROR: You cannot use this command on this admin. ]");
	        if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
				SendCommandToAdmins(playerid,"SetHealth");
				format(string, sizeof(string), "[ ADMIN: You have set \"%s's\" Health to '%d'. ]", pName(player1), health);
				SendClientMessage(playerid,BlueMsg,string);
				PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
				if(player1 != playerid)
				{
				format(string,sizeof(string),"[ Administrator \"%s\" has set your Health to '%d'. ]", pName(playerid), health);
				SendClientMessage(player1,blue,string);
				PlayerPlaySound(player1,1057,0.0,0.0,0.0);
				}
	   			return SetPlayerHealth(player1, health);
		    }
			else return ErrorMessages(playerid, 2);
		}
		else return ErrorMessages(playerid, 1);
	}

	if(strcmp(cmd, "/setscore", true) == 0)
	{
		if(AccInfo[playerid][Level] >= 3)
		{
		    new Index;
		    new tmp[256];  tmp  = strtok(params,Index);
		    new tmp2[256]; tmp2 = strtok(params,Index);
		    if(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp2)) return
			SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /setscore (player<name/id>) (score) ]") &&
			SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will set Score of specified player. ]");
			new player1 = strval(tmp);
			new score = strval(tmp2);
			new string[128];
			if(AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
			return SendClientMessage(playerid,red,"[ ERROR: You cannot use this command on this admin. ]");
	        if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
			{
				SendCommandToAdmins(playerid,"SetScore");
				format(string, sizeof(string), "[ ADMIN: You have set \"%s's\" Score to '%d'. ]",pName(player1),score);
				SendClientMessage(playerid,BlueMsg,string);
				PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
				if(player1 != playerid)
				{
				format(string,sizeof(string),"[ Administrator \"%s\" has set your Score to '%d'. ]", pName(playerid), score);
				SendClientMessage(player1,blue,string);
				PlayerPlaySound(player1,1057,0.0,0.0,0.0);
				}
	   			return SetPlayerScore(player1, score);
		    }
			else return ErrorMessages(playerid, 2);
		}
		else return ErrorMessages(playerid, 1);
	}

	if(strcmp(cmd, "/setskin", true) == 0)
	{
		if(AccInfo[playerid][Level] >= 3)
		{
		    new Index;
		    new tmp[256];  tmp  = strtok(params,Index);
		    new tmp2[256]; tmp2 = strtok(params,Index);
		    if(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp2)) return
			SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /setskin (player<name/id>) (skinid)") &&
			SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will set Skin of specified player. ]");
			new player1 = strval(tmp);
			new skin = strval(tmp2);
			new string[128];
			if(!IsValidSkin(skin))
			return SendClientMessage(playerid, red, "[ ERROR: Invaild Skin ID. ]");
			if(AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
			return SendClientMessage(playerid,red,"[ ERROR: You cannot use this command on this admin. ]");
	        if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
			{
				SendCommandToAdmins(playerid,"SetSkin");
				format(string, sizeof(string), "[ ADMIN: You have set \"%s's\" Skin to '%d. ]", pName(player1), skin);
				SendClientMessage(playerid,BlueMsg,string);
				PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
				if(player1 != playerid)
				{
				format(string,sizeof(string),"[ Administrator \"%s\" has set your Skin to '%d'. ]", pName(playerid), skin);
				SendClientMessage(player1,blue,string);
				PlayerPlaySound(player1,1057,0.0,0.0,0.0);
				}
	   			return SetPlayerSkin(player1, skin);
		    }
			else return ErrorMessages(playerid, 2);
		}
		else return ErrorMessages(playerid, 1);
	}

	if(strcmp(cmd, "/setwanted", true) == 0)
	{
		if(AccInfo[playerid][Level] >= 3)
		{
		    new Index;
		    new tmp[256];  tmp  = strtok(params,Index);
		    new tmp2[256]; tmp2 = strtok(params,Index);
		    if(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp2)) return
			SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /setwanted (player<name/id>) (level<0-6>) ]") &&
			SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will set Wanted Level of specified player. ]");
			new player1 = strval(tmp);
			new wanted = strval(tmp2);
			new string[128];
			if(wanted > 6)
			return SendClientMessage(playerid, red, "[ ERROR: Invalid Wanted Level, must be b/w (0-6). ]");
			if(AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
			return SendClientMessage(playerid,red,"[ ERROR: You cannot use this command on this admin. ]");
	        if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
			{
				SendCommandToAdmins(playerid,"SetWanted");
				format(string, sizeof(string), "[ ADMIN: You have set \"%s's\" Wanted Level to '%d. ]", pName(player1), wanted);
				SendClientMessage(playerid,BlueMsg,string);
				PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
				if(player1 != playerid)
				{
				format(string,sizeof(string),"[ Administrator \"%s\" has set your Wanted Level to '%d'. ]", pName(playerid), wanted);
				SendClientMessage(player1,blue,string);
				PlayerPlaySound(player1,1057,0.0,0.0,0.0);
				}
	   			return SetPlayerWantedLevel(player1, wanted);
		    }
			else return ErrorMessages(playerid, 2);
		}
		else return ErrorMessages(playerid, 1);
	}

	if(strcmp(cmd, "/setinterior", true) == 0)
	{
		if(AccInfo[playerid][Level] >= 3)
		{
		    new Index;
		    new tmp[256];  tmp  = strtok(params,Index);
		    new tmp2[256]; tmp2 = strtok(params,Index);
		    if(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp2)) return
	  		SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /setinterior (player<name/id>) (interiorid) ]") &&
			SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will set the Interior of specified player. ]");
			new player1 = strval(tmp);
			new time = strval(tmp2);
			new string[128];
			if(AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
			return SendClientMessage(playerid,red,"[ ERROR: You cannot use this command on this admin. ]");
	        if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
			{
				SendCommandToAdmins(playerid,"SetInterior");
				format(string, sizeof(string), "[ ADMIN: You have set \"%s's\" Interior to '%d'. ]",pName(player1),time);
				SendClientMessage(playerid,BlueMsg,string);
				PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
				if(player1 != playerid)
				{
				format(string,sizeof(string),"[ Administrator \"%s\" has set your Interior to '%d'. ]",pName(playerid),time);
				SendClientMessage(player1,blue,string);
				PlayerPlaySound(player1,1057,0.0,0.0,0.0);
				}
	   			return SetPlayerInterior(player1, time);
		    }
			else return ErrorMessages(playerid, 2);
		}
		else return ErrorMessages(playerid, 1);
	}

	if(strcmp(cmd, "/setcash", true) == 0)
	{
		if(AccInfo[playerid][Level] >= 3)
		{
		    new Index;
		    new tmp[256];  tmp  = strtok(params,Index);
		    new tmp2[256]; tmp2 = strtok(params,Index);
		    if(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp2)) return
			SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /setcash (player<name/id>) (value) ]") &&
			SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will set Cash of specified player. ]");
			new player1 = strval(tmp);
			new cash = strval(tmp2);
			new string[128];
			if(AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
			return SendClientMessage(playerid,red,"[ ERROR: You cannot use this command on this admin. ]");
	        if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
			{
				SendCommandToAdmins(playerid,"SetCash");
				format(string, sizeof(string), "[ ADMIN: You have set \"%s's\" cash to '$%d'. ]", pName(player1), cash);
				SendClientMessage(playerid,BlueMsg,string);
				PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
				if(player1 != playerid)
				{
				format(string,sizeof(string),"[ Administrator \"%s\" has set your cash to '$%d'. ]", pName(playerid), cash);
				SendClientMessage(player1,blue,string);
				PlayerPlaySound(player1,1057,0.0,0.0,0.0);
				}
				ResetPlayerMoney(player1);
	   			return GivePlayerMoney(player1, cash);
		    }
			else return ErrorMessages(playerid, 2);
		}
		else return ErrorMessages(playerid, 1);
	}

	if(strcmp(cmd, "/setkills", true) == 0)
	{
		if(AccInfo[playerid][Level] >= 3)
		{
		    new Index;
		    new tmp[256];  tmp  = strtok(params,Index);
		    new tmp2[256]; tmp2 = strtok(params,Index);
		    if(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp2)) return
			SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /setkills (player<name/id>) (value) ]") &&
			SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will set kills of specified player. ]");
			new player1 = strval(tmp);
			new cash = strval(tmp2);
			new string[128];
			if(AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
			return SendClientMessage(playerid,red,"[ ERROR: You cannot use this command on this admin. ]");
	        if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
			{
				SendCommandToAdmins(playerid,"SetCash");
				format(string, sizeof(string), "[ ADMIN: You have set \"%s's\" kills to '%d'. ]", pName(player1), cash);
				SendClientMessage(playerid,BlueMsg,string);
				PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
				if(player1 != playerid)
				{
				format(string,sizeof(string),"[ Administrator \"%s\" has set your kills to '%d'. ]", pName(playerid), cash);
				SendClientMessage(player1,blue,string);
				PlayerPlaySound(player1,1057,0.0,0.0,0.0);
				}
	   			return AccInfo[player1][Kills]=cash;
		    }
			else return ErrorMessages(playerid, 2);
		}
		else return ErrorMessages(playerid, 1);
	}

	if(strcmp(cmd, "/setdeaths", true) == 0)
	{
		if(AccInfo[playerid][Level] >= 3)
		{
		    new Index;
		    new tmp[256];  tmp  = strtok(params,Index);
		    new tmp2[256]; tmp2 = strtok(params,Index);
		    if(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp2)) return
			SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /setdeaths (player<name/id>) (value) ]") &&
			SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will set deaths of specified player. ]");
			new player1 = strval(tmp);
			new cash = strval(tmp2);
			new string[128];
			if(AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
			return SendClientMessage(playerid,red,"[ ERROR: You cannot use this command on this admin. ]");
	        if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
			{
				SendCommandToAdmins(playerid,"SetCash");
				format(string, sizeof(string), "[ ADMIN: You have set \"%s's\" deaths to '%d'. ]", pName(player1), cash);
				SendClientMessage(playerid,BlueMsg,string);
				PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
				if(player1 != playerid)
				{
				format(string,sizeof(string),"[ Administrator \"%s\" has set your deaths to '%d'. ]", pName(playerid), cash);
				SendClientMessage(player1,blue,string);
				PlayerPlaySound(player1,1057,0.0,0.0,0.0);
				}
	   			return AccInfo[player1][Deaths]=cash;
		    }
			else return ErrorMessages(playerid, 2);
		}
		else return ErrorMessages(playerid, 1);
	}

	if(strcmp(cmd, "/givecash", true) == 0)
	{
		if(AccInfo[playerid][Level] >= 3)
		{
		    new Index;
		    new tmp[256];  tmp  = strtok(params,Index);
		    new tmp2[256]; tmp2 = strtok(params,Index);
		    if(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp2)) return
			SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /givecash (player<name/id>) (value) ]") &&
			SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will give Cash to specified player. ]");
			new player1 = strval(tmp);
			new cash = strval(tmp2);
			new string[128];
			if(AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
			return SendClientMessage(playerid,red,"[ ERROR: You cannot use this command on this admin. ]");
	        if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
			{
				SendCommandToAdmins(playerid,"SetCash");
				format(string, sizeof(string), "[ ADMIN: You have given \"%s's\" cash of ammount '$%d'. ]", pName(player1), cash);
				SendClientMessage(playerid,BlueMsg,string);
				PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
				if(player1 != playerid)
				{
				format(string,sizeof(string),"[ Administrator \"%s\" has given you cash of ammount '$%d'. ]", pName(playerid), cash);
				SendClientMessage(player1,blue,string);
				PlayerPlaySound(player1,1057,0.0,0.0,0.0);
				}
	   			return GivePlayerMoney(player1, cash);
		    }
			else return ErrorMessages(playerid, 2);
		}
		else return ErrorMessages(playerid, 1);
	}

	if(strcmp(cmd, "/givescore", true) == 0)
	{
		if(AccInfo[playerid][Level] >= 3)
		{
		    new Index;
		    new tmp[256];  tmp  = strtok(params,Index);
		    new tmp2[256]; tmp2 = strtok(params,Index);
		    if(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp2)) return
			SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /givescore (player<name/id>) (value) ]") &&
			SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will give Score to specified player. ]");
			new player1 = strval(tmp);
			new cash = strval(tmp2);
			new string[128];
			if(AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
			return SendClientMessage(playerid,red,"[ ERROR: You cannot use this command on this admin. ]");
	        if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
			{
				SendCommandToAdmins(playerid,"SetCash");
				format(string, sizeof(string), "[ ADMIN: You have given \"%s's\" Score of ammount '%d'. ]", pName(player1), cash);
				SendClientMessage(playerid,BlueMsg,string);
				PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
				if(player1 != playerid)
				{
				format(string,sizeof(string),"[ Administrator \"%s\" has given you Score of ammount '%d'. ]", pName(playerid), cash);
				SendClientMessage(player1,blue,string);
				PlayerPlaySound(player1,1057,0.0,0.0,0.0);
				}
	   			return SetPlayerScore(player1, GetPlayerScore(player1)+cash);
		    }
			else return ErrorMessages(playerid, 2);
		}
		else return ErrorMessages(playerid, 1);
	}

	if(strcmp(cmd, "/setcolour", true) == 0)
	{
		if(AccInfo[playerid][Level] >= 2)
		{
		    new Index;
		    new tmp[256];  tmp  = strtok(params,Index);
		    new tmp2[256]; tmp2 = strtok(params,Index);
		    if(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp2))
			{

			SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /setcolour (player<name/id>) (color) ]");
			SendClientMessage(playerid, orange, "[ COLOURS: (0)Black, (1)White, (2)Red, (3)Orange, (4)Yellow, (5)Green, (6)Blue, (7)Purple, (8)Brown, (9)Pink. ]");
	  		return SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Send message in a specified colour. ]");
			}
			new player1 = strval(tmp), Colour = strval(tmp2), string[128], colour[24];
			if(Colour > 9)
			return SendClientMessage(playerid, red, "[ ERROR: Inavlid Colour, (/setcolour). ]");
			if(AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
			return SendClientMessage(playerid,red,"[ ERROR: You cannot use this command on this admin. ]");
	        if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
			{
		        SendCommandToAdmins(playerid,"SetColour");
				PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
				switch (Colour)
				{
				    case 0: { SetPlayerColor(player1,black); 			colour = "Black";
					}
				    case 1: { SetPlayerColor(player1,COLOR_WHITE);  	colour = "White";
					}
				    case 2: { SetPlayerColor(player1,red); 				colour = "Red";
					}
				    case 3: { SetPlayerColor(player1,orange); 			colour = "Orange";
					}
					case 4: { SetPlayerColor(player1,orange);		 	colour = "Yellow";
					}
					case 5: { SetPlayerColor(player1,COLOR_GREEN1);  	colour = "Green";
					}
					case 6: { SetPlayerColor(player1,COLOR_BLUE); 	 	colour = "Blue";
					}
					case 7: { SetPlayerColor(player1,COLOR_PURPLE); 	colour = "Purple";
				 	}
					case 8: { SetPlayerColor(player1,COLOR_BROWN); 		colour = "Brown";
					}
					case 9: { SetPlayerColor(player1,COLOR_PINK); 		colour = "Pink";
					}
				}
				if(player1 != playerid)
				{
				format(string,sizeof(string),"[ Administrator \"%s\" has set your Colour to '%s'. ]", pName(playerid), colour);
				SendClientMessage(player1,blue,string); }
				format(string, sizeof(string), "[ ADMIN: You have set \"%s's\" Colour to '%s'. ]", pName(player1), colour);
				PlayerPlaySound(player1,1057,0.0,0.0,0.0);
	   			return SendClientMessage(playerid,BlueMsg,string);
		    }
			else return ErrorMessages(playerid, 2);
		}
		else return ErrorMessages(playerid, 1);
	}

	if(strcmp(cmd, "/settime", true) == 0)
	{
		if(AccInfo[playerid][Level] >= 3)
		{
			new Index;
		    new tmp[256];  tmp  = strtok(params,Index);
		    new tmp2[256]; tmp2 = strtok(params,Index);
		    if(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp2)) return
			SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /settime (player<name/id>) (hour) ]") &&
			SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will set the Time of specified player. ]");
			new player1 = strval(tmp);
			new time = strval(tmp2);
			new string[128];
			if(AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
			return SendClientMessage(playerid,red,"[ ERROR: You cannot use this command on this admin. ]");
	        if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
			{
				SendCommandToAdmins(playerid,"SetTime");
				format(string, sizeof(string), "[ ADMIN: You have set \"%s's\" Time to %d:00. ]", pName(player1), time);
				SendClientMessage(playerid,BlueMsg,string);
				PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
				if(player1 != playerid)
				{
				format(string,sizeof(string),"[ Administrator \"%s\" has set your Time to %d:00. ]", pName(playerid), time);
				SendClientMessage(player1,blue,string);
				PlayerPlaySound(player1,1057,0.0,0.0,0.0);
				}
	   			return SetPlayerTime(player1, time, 0);
		    }
			else return ErrorMessages(playerid, 2);
		}
		else return ErrorMessages(playerid, 1);
	}

	if(strcmp(cmd, "/setmytime", true) == 0)
	{
		if(AccInfo[playerid][Level] >= 1)
		{
		    if(!strlen(params)) return
			SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /setmytime (hour) ]") &&
			SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will set your Time. ]");
			new time = strval(params);
			new string[128];
			SendCommandToAdmins(playerid,"SetMyTime");
			format(string,sizeof(string),"[ ADMIN: His/her time has set to: %d:00. ]", time);
			SendClientMessage(playerid,yellow,string);
			PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
			return SetPlayerTime(playerid, time, 0);
		}
		else return ErrorMessages(playerid, 1);
	}

	if(strcmp(cmd, "/setweather", true) == 0)
	{
		if(AccInfo[playerid][Level] >= 3)
		{
		    new Index;
		    new tmp[256];  tmp  = strtok(params,Index);
		    new tmp2[256]; tmp2 = strtok(params,Index);
		    if(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp2)) return
			SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /setweather (player<name/id>) (weatherid) ]") &&
			SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will set the Weather of specified player. ]");
			new player1 = strval(tmp), weather = strval(tmp2), string[128];
			if(AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
			return SendClientMessage(playerid,red,"[ ERROR: You cannot use this command on this admin. ]");
	        if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
			{
				SendCommandToAdmins(playerid,"SetWeather");
				format(string, sizeof(string), "[ ADMIN: You have set \"%s's\" weather to '%d'. ]", pName(player1), weather);
				SendClientMessage(playerid,BlueMsg,string);
				if(player1 != playerid)
				{
				format(string,sizeof(string),"[ Administrator \"%s\" has set your weather to '%d'. ]", pName(playerid), weather);
				SendClientMessage(player1,blue,string);
				}
				SetPlayerWeather(player1,weather);
				PlayerPlaySound(player1,1057,0.0,0.0,0.0);
	   			return PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
		    }
			else return ErrorMessages(playerid, 2);
		}
		else return ErrorMessages(playerid, 1);
	}
	if(strcmp(cmd, "/setlevel", true) == 0)
	{
		if(AccInfo[playerid][LoggedIn] == 1)
		{
			if(AccInfo[playerid][Level] >= 5 || IsPlayerAdmin(playerid))
			{
			    new tmp [256];
				new tmp2[256];
				new Index;
				tmp  = strtok(params,Index);
				tmp2 = strtok(params,Index);
			    if(!strlen(params))
			    {
			    new string[128];
	   			format(string,sizeof(string),"[ USAGE: /setlevel (player<name/id>) (level<0-%d>) ]", ServerInfo[MaxAdminLevel]);
				SendClientMessage(playerid,LIGHTBLUE2,string);
				return SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will set the level of Administration of the Specific Player. ]");
				}
		    	new player1, level, playername[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME], string[128];
				player1 = strval(tmp);
				if(!strlen(tmp2)) return
				SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /setlevel (player<name/id>) (level<0-5>) ]") &&
				SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will set the Level of Administration of the Specific Player. ]");
				level = strval(tmp2);

				if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
					if(AccInfo[player1][LoggedIn] == 1)
					{
					if(level > ServerInfo[MaxAdminLevel])
					return SendClientMessage(playerid,red,"[ ERROR: Invalid Level. ]");
					if(level == AccInfo[player1][Level])
					return SendClientMessage(playerid,red,"[ ERROR: Player is already this level. ]");
		       		SendCommandToAdmins(playerid,"SetLevel");
					GetPlayerName(player1, playername, sizeof(playername));
					GetPlayerName(playerid, adminname, sizeof(adminname));
			       	new year,month,day;
			   		new hour,minute,second;
			  		getdate(year, month, day);
			  		gettime(hour,minute,second);

					if(level > 5)
					{
					AdmRank = "Professional Admin";
					}
	 				switch(level)
					{
					case 1: AdmRank = "Basic Moderator";
					case 2: AdmRank = "Moderator";
					case 3: AdmRank = "Master Moderator";
					case 4: AdmRank = "Administrator";
					case 5: AdmRank = "Master Administrator";
					}
					if(level > 0)
					format(string,sizeof(string),"[ Administrator %s has set you to Administrator Status | Level: %d ( %s ) ]",adminname, level, AdmRank);
					else
					format(string,sizeof(string),"[ Administrator %s has set you to Player Status | Level: %d ]",adminname, level);
					SendClientMessage(player1,LIGHTBLUE,string);
					if(level > AccInfo[player1][Level])
					GameTextForPlayer(player1,"Promoted", 2000, 3);
					else GameTextForPlayer(player1,"Demoted", 2000, 3);

					format(string,sizeof(string),"[ ADMIN: You have given %s Level %d on '%d/%d/%d' at '%d:%d:%d'. ]", playername, level, day, month, year, hour, minute, second);
					SendClientMessage(playerid,yellow,string);
					format(string,sizeof(string),"[ Administrator %s has made %s Level %d. ]",adminname, playername, level);
					SaveIn("AdminLog",string);
					dUserSetINT(PlayerName2(player1)).("Level",(level));
					AccInfo[player1][Level] = level;
					return PlayerPlaySound(player1,1057,0.0,0.0,0.0);
					}
					else return SendClientMessage(playerid,red,"[ ERROR: This player is not Registred or Logged. ]");
				}
				else return ErrorMessages(playerid, 2);
			}
			else return ErrorMessages(playerid, 1);
		}
		else return SendClientMessage(playerid,red,"[ ERROR: You must be logged in to use this commands. ]");
	}

	if(strcmp(cmd, "/setvip", true) == 0)
	{
		if(AccInfo[playerid][LoggedIn] == 1)
		{
			if(AccInfo[playerid][Level] >= 5 || IsPlayerAdmin(playerid))
			{
			    new tmp [256];
				new tmp2[256];
				new Index;
				tmp  = strtok(params,Index);
				tmp2 = strtok(params,Index);
			    if(!strlen(params)) return
	   			SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /setvip (player<name/id>) (level<0-3>) ]") &&
				SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will set the Account Type of the Specific Player (<0>-NormalAcc,<1>-Silver,<2>-Gold,<3>-Premium). ]");

		    	new player1, type, playername[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME], string[128];
				player1 = strval(tmp);
				if(!strlen(tmp2)) return
				SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /setvip (player<name/id>) (level<0-3>) ]") &&
				SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will set the Account Type of the Specific Player (<0>-NormalAcc,<1>-Silver,<2>-Gold,<3>-Premium). ]");
				type = strval(tmp2);

				if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
				{
					if(AccInfo[player1][LoggedIn] == 1)
					{
					if(type > 3)
					return SendClientMessage(playerid,red,"[ ERROR: Invalid Account Type. ]");
					if(type == AccInfo[player1][pVip])
					return SendClientMessage(playerid,red,"[ ERROR: Player is already have this Account Type. ]");
		       		SendCommandToAdmins(playerid,"SetVip");
					GetPlayerName(player1, playername, sizeof(playername));
					GetPlayerName(playerid, adminname, sizeof(adminname));
			       	new year,month,day;
			   		new hour,minute,second;
			  		getdate(year, month, day);
			  		gettime(hour,minute,second);

	 				switch(type)
					{
						case 1: AccType = "Silver";
						case 2: AccType = "Gold";
						case 3: AccType = "Premium";
					}
					if(type > 0)
					format(string,sizeof(string),"[ Administrator %s has set your Account Type to: %s. ]",adminname,AccType);
					else
					format(string,sizeof(string),"[ Administrator %s has set your Account Type to: 'Normal Account. ]",adminname);
					SendClientMessage(player1,0x66C178AA,string);
					if(type > AccInfo[player1][pVip])
					GameTextForPlayer(player1,"Promoted", 2000, 3);
					else GameTextForPlayer(player1,"Demoted", 2000, 3);

					format(string,sizeof(string),"[ ADMIN: You have given %s Account Type: %s on '%d/%d/%d' at '%d:%d:%d'. ]", playername, AccType, day, month, year, hour, minute, second);
					SendClientMessage(playerid,0x00C378AA,string);
					format(string,sizeof(string),"[ Administrator %s has made %s Account Type: %s. ]",adminname, playername, AccType);
					SaveIn("AdminLog",string);
					dUserSetINT(PlayerName2(player1)).("AccountType",(type));
					AccInfo[player1][pVip] = type;
					return PlayerPlaySound(player1,1057,0.0,0.0,0.0);
					}
					else return SendClientMessage(playerid,red,"[ ERROR: This player is not Registred or Logged. ]");
				}
				else return ErrorMessages(playerid, 2);
			}
			else return ErrorMessages(playerid, 1);
		}
		else return SendClientMessage(playerid,red,"[ ERROR: You must be logged in to use this commands. ]");
	}

	if(strcmp(cmd, "/settemplevel", true) == 0)
	{
		if(AccInfo[playerid][LoggedIn] == 1)
		{
			if(AccInfo[playerid][Level] >= 4 || IsPlayerAdmin(playerid))
			{
			    new tmp [256];
				new tmp2[256];
				new Index;
				tmp  = strtok(params,Index);
				tmp2 = strtok(params,Index);
			    if(!strlen(tmp) || !strlen(tmp2)) return
				SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /settemplevel (player<name/id>) (level) ]") &&
				SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION:  Will set the Temporary level of administration of the Specific Player. ]");
		    	new player1, level, string[128];
				player1 = strval(tmp);
				level = strval(tmp2);

				if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
				{
					if(AccInfo[player1][LoggedIn] == 1)
					{
					if(level > ServerInfo[MaxAdminLevel])
					return SendClientMessage(playerid,red,"[ ERROR: Invalid Level. ]");
					if(level == AccInfo[player1][Level])
					return SendClientMessage(playerid,red,"[ ERROR: Player is already this Level. ]");
	 				SendCommandToAdmins(playerid,"SetTempLevel");
	   				new year,month,day;
			        new hour,minute,second;
	      		    getdate(year, month, day);
					gettime(hour,minute,second);

					if(level > 5)
					{
					AdmRank = "Professional Admin";
					}
	 				switch(level)
					{
					case 1: AdmRank = "Basic Moderator";
					case 2: AdmRank = "Moderator";
					case 3: AdmRank = "Master Moderator";
					case 4: AdmRank = "Administrator";
					case 5: AdmRank = "Master Administrator";
					}
					if(level > 0)
					format(string,sizeof(string),"[ Administrator %s has Temporarily set you to Administrator Status | Level: %d ( %s ) ]", pName(playerid), level, AdmRank);
					else
					format(string,sizeof(string),"[ Administrator %s has temporarily set you to Player Status | Level: %d ]", pName(playerid), level);
					SendClientMessage(player1,blue,string);

					if(level > AccInfo[player1][Level])
					GameTextForPlayer(player1,"Promoted", 2000, 3);
					else GameTextForPlayer(player1,"Demoted", 2000, 3);

					format(string,sizeof(string),"[ ADMIN: You have given %s Temp Level %d on '%d/%d/%d' at '%d:%d:%d'. ]", pName(player1), level, day, month, year, hour, minute, second);
					SendClientMessage(playerid,BlueMsg,string);
					format(string,sizeof(string),"[ Administrator %s has made %s temp Level %d. ]",pName(playerid), pName(player1), level);
					SaveIn("TempAdminLog",string);
					AccInfo[player1][Level] = level;
					return PlayerPlaySound(player1,1057,0.0,0.0,0.0);
					}
					else return SendClientMessage(playerid,red,"[ ERROR: Player must be registered and logged in to be admin. ]");
				}
				else return ErrorMessages(playerid, 2);
			}
			else return ErrorMessages(playerid, 1);
		}
		else return SendClientMessage(playerid,red,"[ ERROR: You must be logged in to use this commands. ]");
	}
	if(strcmp(cmd, "/setworld", true) == 0)
	{
		if(AccInfo[playerid][Level] >= 3)
		{
	 		new Index;
		    new tmp[256];  tmp  = strtok(params,Index);
		    new tmp2[256]; tmp2 = strtok(params,Index);
		    if(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp2)) return
			SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /setworld (player<name/id>) (worldid) ]") &&
			SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will set the Virtual World of specified player. ]");
			new player1 = strval(tmp);
			new time = strval(tmp2);
			new string[128];
			if(AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
			return SendClientMessage(playerid,red,"[ ERROR: You cannot use this command on this admin. ]");
	        if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
			{
				SendCommandToAdmins(playerid,"SetWorld");
				format(string, sizeof(string), "[ ADMIN: You have set \"%s's\" Virtual World to '%d'. ]", pName(player1), time);
				SendClientMessage(playerid,BlueMsg,string);
				PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
				if(player1 != playerid)
				{
				format(string,sizeof(string),"[ Administrator \"%s\" has set your Virtual World to '%d'. ]", pName(playerid), time);
				SendClientMessage(player1,blue,string);
				PlayerPlaySound(player1,1057,0.0,0.0,0.0);
				}
				PlayerPlaySound(player1,1057,0.0,0.0,0.0);
	   			return SetPlayerVirtualWorld(player1, time);
		    }
			else return ErrorMessages(playerid, 2);
		}
		else return ErrorMessages(playerid, 1);
	}
	if(strcmp(cmd, "/setname", true) == 0)
	{
		if(AccInfo[playerid][Level] >= 3 || IsPlayerAdmin(playerid))
		{
		    new Index;
		    new tmp[256];  tmp  = strtok(params,Index);
		    new tmp2[256]; tmp2 = strtok(params,Index);
		    if(!strlen(tmp) || !strlen(tmp2)) return
			SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /setname (player<name/id>) (newname) ]") &&
			SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will set Name of specified player. ]");
			new player1 = strval(tmp);
			new length = strlen(tmp2);
			new string[128];
			if(length < 3 || length > MAX_PLAYER_NAME) return
			SendClientMessage(playerid,red,"[ ERROR: Incorrect Name Length. ]");
			for(new i; i<MAX_PLAYERS; i++)
			{
			if(IsPlayerConnected(i))
			{
			if(strcmp(tmp2,PlayerName2(i),true)==0) return
			SendClientMessage(playerid,red,"[ ERROR: This name is online currently. ]");
			}
			}
			new file[256];
			format(file,sizeof(file),"/eAdmin/Accounts/%s.sav",udb_encode(tmp2));
			if(fexist(file)) return
			SendClientMessage(playerid,red,"[ ERROR: This name is already registered in the server database. ]");
			if(AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
			return SendClientMessage(playerid,red,"[ ERROR: You cannot use this command on this admin. ]");
	        if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
			{
				SendCommandToAdmins(playerid,"SetName");
				format(string, sizeof(string), "[ ADMIN: You have set \"%s's\" Name to \"%s\". ]", pName(player1), tmp2);
				SendClientMessage(playerid,BlueMsg,string);
				PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
				if(player1 != playerid)
				{
				format(string,sizeof(string),"[ Administrator \"%s\" has set your Name to \"%s\". ]", pName(playerid), tmp2);
				SendClientMessage(player1,blue,string);
				PlayerPlaySound(player1,1057,0.0,0.0,0.0);
				}

				udb_Create(tmp2);
                new file1[256],file2[256],tmp3[100];
		    	new year,month,day;
				getdate(year, month, day);
				format(file1,sizeof(file1),"/eAdmin/Accounts/%s.sav",udb_encode(tmp2));
				format(file2,sizeof(file2),"/eAdmin/Accounts/%s.sav",udb_encode(PlayerName2(player1)));
		     	GetPlayerIp(playerid,tmp3,100);
		     	dini_Set(file1,"Password",dini_Get(file2,"Password"));
			    dini_Set(file1,"Ip",tmp3);
			    dUserSetINT(tmp2).("Registered",1);
				dini_Set(file1,"RegisteredDate",dini_Get(file2,"RegisteredDate"));
				dUserSetINT(tmp2).("Loggedin",1);
				dUserSetINT(tmp2).("Banned",0);
				dUserSet(tmp2).("BannedBy","-");
				dUserSet(tmp2).("BannedDate","-");
				dUserSet(tmp2).("BannedReason","-");
				dUserSetINT(tmp2).("Level",dUserINT(PlayerName2(player1)).("Level"));
				dUserSetINT(tmp2).("AccountType",dUserINT(PlayerName2(player1)).("AccountType"));
			    dini_Set(file1,"LastOn",dini_Get(file2,"LastOn"));
		    	dUserSetINT(tmp2).("Money",dUserINT(PlayerName2(player1)).("Money"));
		    	dUserSetINT(tmp2).("Kills",dUserINT(PlayerName2(player1)).("Kills"));
			   	dUserSetINT(tmp2).("Deaths",dUserINT(PlayerName2(player1)).("Deaths"));
		      	dUserSetINT(tmp2).("WantedLevel",dUserINT(PlayerName2(player1)).("WantedLevel"));
		      	#if SaveScore == true
		      	dUserSetINT(tmp2).("Score",dUserINT(PlayerName2(player1)).("Score"));
		      	#endif
			   	dUserSetINT(tmp2).("Hours",dUserINT(PlayerName2(player1)).("Hours"));
			   	dUserSetINT(tmp2).("Minutes",dUserINT(PlayerName2(player1)).("Minutes"));
			   	dUserSetINT(tmp2).("Seconds",dUserINT(PlayerName2(player1)).("Seconds"));
			   	new Float:x,Float:y,Float:z, interior;
			   	GetPlayerPos(playerid,x,y,z);
			    interior = GetPlayerInterior(playerid);
			    dUserSetINT(tmp2).("x1",floatround(x));
				dUserSetINT(tmp2).("y1",floatround(y));
				dUserSetINT(tmp2).("z1",floatround(z));
			    dUserSetINT(tmp2).("interior1",interior);
				new weap1, ammo1, weap2, ammo2, weap3, ammo3, weap4, ammo4, weap5, ammo5, weap6, ammo6;
				GetPlayerWeaponData(playerid,2,weap1,ammo1);
				GetPlayerWeaponData(playerid,3,weap2,ammo2);
				GetPlayerWeaponData(playerid,4,weap3,ammo3);
				GetPlayerWeaponData(playerid,5,weap4,ammo4);
				GetPlayerWeaponData(playerid,6,weap5,ammo5);
				GetPlayerWeaponData(playerid,7,weap6,ammo6);
			   	dUserSetINT(tmp2).("Weapon1",weap1);
			    dUserSetINT(tmp2).("Weapon1Ammo",ammo1);
			  	dUserSetINT(tmp2).("Weapon2",weap2);
			    dUserSetINT(tmp2).("Weapon2Ammo",ammo2);
			  	dUserSetINT(tmp2).("Weapon3",weap3);
			 	dUserSetINT(tmp2).("Weapon3Ammo",ammo3);
				dUserSetINT(tmp2).("Weapon4",weap4);
				dUserSetINT(tmp2).("Weapon4Ammo",ammo4);
			  	dUserSetINT(tmp2).("Weapon5",weap5);
			 	dUserSetINT(tmp2).("Weapon5Ammo",ammo5);
				dUserSetINT(tmp2).("Weapon6",weap6);
				dUserSetINT(tmp2).("Weapon6Ammo",ammo6);
				new	Float:health;
				GetPlayerHealth(playerid, Float:health);
				new	Float:armour;
				GetPlayerArmour(playerid, Float:armour);
				new strdate[20];
				format(strdate, sizeof(strdate), "%d.%d.%d",day,month,year);
				dUserSetINT(tmp2).("Health",floatround(health));
			    dUserSetINT(tmp2).("Armour",floatround(armour));
				dini_Set(file,"LastOn",strdate);
				dUserSetINT(tmp2).("Loggedin",0);
				dUserSetINT(tmp2).("TimesOnServer",dUserINT(file2).("TimesOnServer"));
			   	
			    AccInfo[player1][LoggedIn] = 1;
			    AccInfo[player1][Registered] = 1;

		        udb_Remove(PlayerName2(player1));
				
	   			return SetPlayerName(player1, tmp2);
		    }
			else return ErrorMessages(playerid, 2);
		}
		else return ErrorMessages(playerid, 1);
	}

	if(strcmp(cmd, "/setgravity", true) == 0)
	{
		if(AccInfo[playerid][Level] >= 3)
		{
		    if(!strlen(params)||!(strval(params)<=50&&strval(params)>=-50)) return
			SendClientMessage(playerid,red,"[ USAGE: /setgravity (value<-50.0-50.0>) ]");
			SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /setgravity (value<-50.0-50.0>) ]") &&
			SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will set the server Gravity. ]");
	        SendCommandToAdmins(playerid,"SetGravity");
			new string[128],adminname[MAX_PLAYER_NAME];
			GetPlayerName(playerid, adminname, sizeof(adminname));
			new Float:Gravity = floatstr(params);
			format(string,sizeof(string),"[ Admnistrator %s has set the Server Gravity to %f. ]",adminname,Gravity);
			SetGravity(Gravity);
			return SendClientMessageToAll(blue,string);
		}
		else return ErrorMessages(playerid, 1);
	}
	if(strcmp(cmd, "/eject", true) == 0)
	{
		if(AccInfo[playerid][Level] >= 3)
		{
		    if(!strlen(params)) return
			SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /eject (player<name/id>) ]") &&
			SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will Ejected from vehicle a specified player. ]");
			new player1 = strval(params);
			new string[128];
			new Float:x, Float:y, Float:z;
			if(AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
			return SendClientMessage(playerid,red,"[ ERROR: You cannot use this command on this admin. ]");
	        if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
			{
				if(IsPlayerInAnyVehicle(player1))
				{
			       	SendCommandToAdmins(playerid,"Eject");
					if(player1 != playerid)
					{
					format(string,sizeof(string),"[ Administrator \"%s\" has Ejected you from your Vehicle. ]", pName(playerid));
					SendClientMessage(player1,blue,string);
					}
					format(string,sizeof(string),"[ ADMIN: You have ejected \"%s\" from their Vehicle. ]", pName(player1));
					SendClientMessage(playerid,BlueMsg,string);
	    		   	GetPlayerPos(player1,x,y,z);
					return SetPlayerPos(player1,x,y,z+3);
				}
				else return SendClientMessage(playerid,red,"[ ERROR: Player is not in a vehicle. ]");
		    }
			else return ErrorMessages(playerid, 2);
		}
		else return ErrorMessages(playerid, 1);
	}

	if(strcmp(cmd, "/force", true) == 0)
	{
		if(AccInfo[playerid][Level] >= 3)
		{
		    if(!strlen(params)) return
			SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /force (player<name/id>) ]") &&
			SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will Force return to class selection a specified Player. ]");
			new player1 = strval(params);
			new string[128];
			if(AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
			return SendClientMessage(playerid,red,"[ ERROR: You cannot use this command on this admin. ]");
	        if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
			{
				SendCommandToAdmins(playerid,"Force");
				if(player1 != playerid)
			 	{
				format(string,sizeof(string),"[ Administrator \"%s\" has forced you into class selection. ]", pName(playerid));
				SendClientMessage(player1,blue,string);
				}
				format(string,sizeof(string),"[ ADMIN: You have forced \"%s\" into class selection. ]", pName(player1));
				SendClientMessage(playerid,BlueMsg,string);
				ForceClassSelection(player1);
				return SetPlayerHealth(player1,0.0);
		    }
			else return ErrorMessages(playerid, 2);
		}
		else return ErrorMessages(playerid, 1);
	}

	if(strcmp(cmd, "/burn", true) == 0)
	{
		if(AccInfo[playerid][Level] >= 2)
		{
		    if(!strlen(params)) return
			SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /burn (player<name/id>) ]") &&
			SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will Burn a specified player (With explosion). ]");

			new player1 = strval(params);
			new string[128];
			new Float:x, Float:y, Float:z;
			if(AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
			return SendClientMessage(playerid,red,"[ ERROR: You cannot use this command on this admin. ]");
	        if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
			{
				SendCommandToAdmins(playerid,"Burn");
				format(string, sizeof(string), "[ ADMIN: You have burnt \"%s\". ]", pName(player1));
				SendClientMessage(playerid,BlueMsg,string);
				if(player1 != playerid)
				{
				format(string,sizeof(string),"[ Administrator \"%s\" has burnt you. ]", pName(playerid));
				SendClientMessage(player1,blue,string);
				}
				GetPlayerPos(player1, x, y, z);
				return CreateExplosion(x, y , z + 3, 1, 10);
		    }
			else return ErrorMessages(playerid, 2);
		}
		else return ErrorMessages(playerid, 1);
	}

	if(strcmp(cmd, "/lockcar", true) == 0)
	{
		
	    if(AccInfo[playerid][Level] >= 2)
		{
		    if(IsPlayerInAnyVehicle(playerid))
			{
			 	for(new i = 0; i < MAX_PLAYERS; i++)
				 SetVehicleParamsForPlayer(GetPlayerVehicleID(playerid),i,false,true);
				SendCommandToAdmins(playerid,"LockCar");
				AccInfo[playerid][DoorsLocked] = 1;
				new string[128];
				format(string,sizeof(string),"[ Administrator \"%s\" has Locked his car. ]", pName(playerid));
				return SendClientMessageToAll(blue,string);
			}
			else return SendClientMessage(playerid,red,"[ ERROR: You need to be in a vehicle to lock the doors. ]");
		}
		else return ErrorMessages(playerid, 1);
	}

	if(strcmp(cmd, "/unlockcar", true) == 0)
	{
		
	    if(AccInfo[playerid][Level] >= 2) {
		    if(IsPlayerInAnyVehicle(playerid))
			{
			 	for(new i = 0; i < MAX_PLAYERS; i++)
			  	SetVehicleParamsForPlayer(GetPlayerVehicleID(playerid),i,false,false);
				SendCommandToAdmins(playerid,"UnlockCar");
				AccInfo[playerid][DoorsLocked] = 0;
				new string[128];
				format(string,sizeof(string),"[ Administrator \"%s\" has Unlocked his car. ]", pName(playerid));
				return SendClientMessageToAll(blue,string);
			}
			else return SendClientMessage(playerid,red,"[ ERROR: You need to be in a vehicle to lock the doors. ]");
		}
		else return ErrorMessages(playerid, 1);
	}

	if(strcmp(cmd, "/crash", true) == 0)
	{
		if(AccInfo[playerid][Level] >= 4)
		{
		    if(!strlen(params)) return
			SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /crash (player<name/id>) ]") &&
			SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will Crash a specified player. ]");

			new player1 = strval(params), string[128], Float:X,Float:Y,Float:Z;
			if(AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
			return SendClientMessage(playerid,red,"[ ERROR: You cannot use this command on this admin. ]");
	        if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
			{
	   			SendCommandToAdmins(playerid,"Crash");
		        GetPlayerPos(player1,X,Y,Z);
		   		new CrashObj = CreatePlayerObject(player1,11111111,X,Y,Z,0,0,0);
				DestroyObject(CrashObj);
				format(string, sizeof(string), "[ ADMIN: You have Crashed \"%s's\". ]", pName(player1));
				return SendClientMessage(playerid,blue, string);
		    }
			else return ErrorMessages(playerid, 2);
		}
		else return ErrorMessages(playerid, 1);
	}

	if(strcmp(cmd, "/spawn", true) == 0)
	{
		if(AccInfo[playerid][Level] >= 2)
		{
		    if(!strlen(params)) return
			SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /spawn (player<name/id>) ]") &&
			SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will Spawn a specified player. ]");
			new player1 = strval(params);
			new string[128];
			if(AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
			return SendClientMessage(playerid,red,"[ ERROR: You cannot use this command on this admin. ]");
	        if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
			{
				SendCommandToAdmins(playerid,"Spawn");
				format(string, sizeof(string), "[ ADMIN: You have Spawned \"%s\". ]", pName(player1));
				SendClientMessage(playerid,BlueMsg,string);
				if(player1 != playerid)
				{
				format(string,sizeof(string),"[ Administrator \"%s\" has Spawned you. ]", pName(playerid));
				SendClientMessage(player1,blue,string);
				}
				SetPlayerPos(player1, 0.0, 0.0, 0.0);
				return SpawnPlayer(player1);
		    }
			else return ErrorMessages(playerid, 2);
		}
		else return ErrorMessages(playerid, 1);
	}

	if(strcmp(cmd, "/giveweapon", true) == 0)
	{
		if(AccInfo[playerid][Level] >= 2)
		{
			new Index;
		    new tmp[256];  tmp  = strtok(params,Index);
			new tmp2[256]; tmp2 = strtok(params,Index);
			new tmp3[256]; tmp3 = strtok(params,Index);

		    if(!strlen(tmp) || !strlen(tmp2)) return
			SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /giveweapon (player<name/id>) (weaponid) (ammo) ]") &&
			SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will Crash a specified player. ]");
			new player1 = strval(tmp);
			new weap, ammo, WeapName[32];
			new string[128];
			if(!strlen(tmp3) || !IsNumeric(tmp3) || strval(tmp3) <= 0 || strval(tmp3) > 99999) ammo = 500;
			else ammo = strval(tmp3);
			if(!IsNumeric(tmp2)) weap = GetWeaponIDFromName(tmp2);
			else weap = strval(tmp2);
	        if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
			{
	        	if(!IsValidWeapon(weap))
				return SendClientMessage(playerid,red,"[ ERROR: Invalid Weapon ID. ]");
				SendCommandToAdmins(playerid,"GiveWeapon");
				GetWeaponName(weap,WeapName,32);
				format(string, sizeof(string), "[ ADMIN: You have given \"%s\" a %s (%d) with %d rounds of Ammo. ]", PlayerName2(player1), WeapName, weap, ammo);
				SendClientMessage(playerid,BlueMsg,string);
				if(player1 != playerid)
				{
				format(string,sizeof(string),"[ Administrator \"%s\" has given you a %s (%d) with %d rounds of Ammo. ]", PlayerName2(playerid), WeapName, weap, ammo);
				SendClientMessage(player1,blue,string);
				}
	   			return GivePlayerWeapon(player1, weap, ammo);
		    }
			else return ErrorMessages(playerid, 2);
		}
		else return ErrorMessages(playerid, 1);
	}

	if(strcmp(cmd, "/disarm", true) == 0)
	{
		if(AccInfo[playerid][Level] >= 2)
		{
		    if(!strlen(params)) return
			SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /disarm (player<name/id>) ]") &&
			SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will disarm a specified player. ]");
			new player1 = strval(params);
			new string[128];
			if(AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
			return SendClientMessage(playerid,red,"[ ERROR: You cannot use this command on this admin. ]");
	        if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
			{
				SendCommandToAdmins(playerid,"Disarm");
				PlayerPlaySound(player1,1057,0.0,0.0,0.0);
				format(string, sizeof(string), "[ ADMIN: You have disarmed \"%s\". ]", pName(player1));
				SendClientMessage(playerid,BlueMsg,string);
				if(player1 != playerid)
				{
				format(string,sizeof(string),"[ Administrator \"%s\" has Disarmed you. ]", pName(playerid));
				SendClientMessage(player1,blue,string);
				}
				ResetPlayerWeapons(player1);
				return PlayerPlaySound(player1,1057,0.0,0.0,0.0);
		    }
			else return ErrorMessages(playerid, 2);
		}
		else return ErrorMessages(playerid, 1);
	}
	if(strcmp(cmd, "/aweaps", true) == 0)
	{
		
		if(AccInfo[playerid][Level] >= 3)
		{
			GivePlayerWeapon(playerid,31,1000); GivePlayerWeapon(playerid,16,1000);
		 	GivePlayerWeapon(playerid,34,1000); GivePlayerWeapon(playerid,28,1000);
			GivePlayerWeapon(playerid,38,1000); GivePlayerWeapon(playerid,24,1000);
			GivePlayerWeapon(playerid,26,1000); GivePlayerWeapon(playerid,42,1000);
			GivePlayerWeapon(playerid,14,1000); GivePlayerWeapon(playerid,46,1000);
			GivePlayerWeapon(playerid,9,1);
			return 1;
		}
		else return ErrorMessages(playerid, 6);
	}
	if(strcmp(cmd, "/sremovecash", true) == 0)
	{
		if(AccInfo[playerid][Level] >= 3)
		{
		    if(!strlen(params)) return
			SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /sremovecash (player<name/id>) ]") &&
			SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will silently remove Cash of specified player. ]");
			new player1 = strval(params);
			new string[128];
			if(AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
			return SendClientMessage(playerid,red,"[ ERROR: You cannot use this command on this admin. ]");
	        if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
			{
				SendCommandToAdmins(playerid,"SRemoveCash");
				format(string, sizeof(string), "[ ADMIN: You have Silently reset \"%s's\" Cash. ]", pName(player1));
				SendClientMessage(playerid,BlueMsg,string);
	   			return ResetPlayerMoney(player1);
		    }
			else return ErrorMessages(playerid, 2);
		}
		else return ErrorMessages(playerid, 1);
	}
	if(strcmp(cmd, "/removecash", true) == 0)
	{
		if(AccInfo[playerid][Level] >= 3)
		{
		    if(!strlen(params)) return
			SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /removecash (player<name/id>) ]") &&
			SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will remove Cash of specified player. ]");
		    new player1 = strval(params);
			new string[128];

			if(AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
			return SendClientMessage(playerid,red,"[ ERROR: You cannot use this command on this admin. ]");
	        if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
			{
				SendCommandToAdmins(playerid,"RemoveCash");
				format(string, sizeof(string), "[ ADMIN: You have reset \"%s's\" Cash. ]", pName(player1));
				SendClientMessage(playerid,BlueMsg,string);
				if(player1 != playerid)
				{
				format(string,sizeof(string),"[ Administrator \"%s\" has reset your Cash. ]", pName(playerid));
				SendClientMessage(player1,blue,string);
				}
	   			return ResetPlayerMoney(player1);
		    }
			else return ErrorMessages(playerid, 2);
		}
		else return ErrorMessages(playerid, 1);
	}

	if(strcmp(cmd, "/ubound", true) == 0)
	{
	 	if(AccInfo[playerid][Level] >= 3)
		{
			if(!strlen(params)) return
			SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /ubound (player<name/id>) ]") &&
			SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will removed World Boundaries of specified player. ]");
		    new string[128], player1 = strval(params);

		 	if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
			{
				SendCommandToAdmins(playerid,"Ubound");
				SetPlayerWorldBounds(player1, 9999.9, -9999.9, 9999.9, -9999.9 );
				format(string, sizeof(string), "[ Administrator %s has removed your World Boundaries. ]", PlayerName2(playerid));
				if(player1 != playerid)
				SendClientMessage(player1,blue,string);
				format(string,sizeof(string),"[ ADMIN: You have removed %s's World Boundaries. ]", PlayerName2(player1));
				return SendClientMessage(playerid,BlueMsg,string);
			}
			else return ErrorMessages(playerid, 2);
		}
		else return ErrorMessages(playerid, 1);
	}
	if(strcmp(cmd, "/ip", true) == 0)
	{
		if(AccInfo[playerid][Level] >= 1)
		{
		    if(!strlen(params)) return
			SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /ip (player<name/id>) ]") &&
			SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will see Ip of specified player. ]");
			new player1 = strval(params);
			new string[128];
			if(AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
			return SendClientMessage(playerid,red,"[ ERROR: You cannot use this command on this admin. ]");
	        if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
			{
				SendCommandToAdmins(playerid,"Ip");
				new tmp3[50];
				GetPlayerIp(player1,tmp3,50);
				format(string,sizeof(string),"[ PlayerName: %s | IP: %s. ]", pName(player1), tmp3);
				return SendClientMessage(playerid,BlueMsg,string);
		    }
			else return ErrorMessages(playerid, 2);
		}
		else return ErrorMessages(playerid, 1);
	}
	if(strcmp(cmd, "/lconfig", true) == 0)
	{
		
		if(AccInfo[playerid][Level] > 0)
		{
		    new string[128];

		    new rAutoLogin  [4],rReadCmds   [4],rReadPMs  [4],rAntiSpam  [4],rNameKick   [4],rAntiBot [4];
		    new rLocked     [4],rConnectMsg [4], rACmdMsg [4],rAntiSwear [4],rSaveWeapon [4],rASkins  [4];
		    new rDisableChat[4],rMustLogin  [4],rMustReg  [4],rNoCaps    [4],rSaveMoney  [4],rFWeaps  [4];
			new rAntiAds    [4];

		    if(ServerInfo[AutoLogin] 	 	== 1) rAutoLogin 	= "Yes"; else rAutoLogin 	 = "No";
		    if(ServerInfo[ReadCmds] 	 	== 1) rReadCmds  	= "Yes"; else rReadCmds  	 = "No";
		    if(ServerInfo[ReadPMs] 	 	 	== 1) rReadPMs  	= "Yes"; else rReadPMs     	 = "No";
		    if(ServerInfo[AntiSpam]		 	== 1) rAntiSpam 	= "Yes"; else rAntiSpam		 = "No";
		    if(ServerInfo[NameKick]  	 	== 1) rNameKick		= "Yes"; else rNameKick		 = "No";
		    if(ServerInfo[AdminOnlySkins]  	== 1) rASkins		= "Yes"; else rASkins		 = "No";
		    if(ServerInfo[AntiBot] 			== 1) rAntiBot 		= "Yes"; else rAntiBot	 	 = "No";
		    if(ServerInfo[AntiSwear] 	 	== 1) rAntiSwear	= "Yes"; else rAntiSwear 	 = "No";
		    if(ServerInfo[Locked] 	  	 	== 1) rLocked 	    = "Yes"; else rLocked      	 = "No";
		    if(ServerInfo[ConnectMessages]  == 1) rConnectMsg   = "Yes"; else rConnectMsg    = "No";
		    if(ServerInfo[AdminCmdMsg]      == 1) rACmdMsg   	= "Yes"; else rACmdMsg		 = "No";
		    if(ServerInfo[DisableChat] 		== 1) rDisableChat  = "Yes"; else rDisableChat   = "No";
		    if(ServerInfo[MustLogin] 		== 1) rMustLogin    = "Yes"; else rMustLogin 	 = "No";
		    if(ServerInfo[MustRegister]		== 1) rMustReg	    = "Yes"; else rMustReg		 = "No";
		    if(ServerInfo[NoCaps]			== 1) rNoCaps	    = "Yes"; else rNoCaps		 = "No";
		    if(ServerInfo[GiveWeap]			== 1) rSaveWeapon   = "Yes"; else rSaveWeapon    = "No";
		    if(ServerInfo[GiveMoney] 		== 1) rSaveMoney    = "Yes"; else rSaveMoney     = "No";
		    if(ServerInfo[ForbiddenWeaps] 	== 1) rFWeaps    	= "Yes"; else rFWeaps     	 = "No";
		    if(ServerInfo[ForbiddenWeaps] 	== 1) rFWeaps    	= "Yes"; else rFWeaps     	 = "No";
		    if(ServerInfo[AntiAds] 			== 1) rAntiAds    	= "Yes"; else rAntiAds     	 = "No";

			SendClientMessage(playerid, orange, " ");
			SendClientMessage(playerid, LIGHTBLUE2, "___________ [ Admin System - Configuration ] ___________");
			format(string, sizeof(string), "AutoLogin: %s | ReadCmds: %s | ReadPms: %s | Max Admin Level: %d | AntiSpam: %s", rAutoLogin,  rReadCmds, rReadPMs,  ServerInfo[MaxAdminLevel],rAntiSpam);
			SendClientMessage(playerid,LIGHTBLUE,string);
			format(string, sizeof(string), "AdmSkins: %s | AdminSkin1: %d | AdminSkin2: %d | NameKick: %s | AntiBot: %s",rASkins, ServerInfo[AdminSkin], ServerInfo[AdminSkin2], rNameKick, rAntiBot);
			SendClientMessage(playerid,LIGHTBLUE,string);
			format(string, sizeof(string), "AntiSwear: %s | Locked: %s | Pass: %s | ConnectMessages: %s | AdminCmdMsgs: %s",rAntiSwear, rLocked, ServerInfo[Password], rConnectMsg, rACmdMsg);
			SendClientMessage(playerid,LIGHTBLUE,string);
			format(string, sizeof(string), "Max Ping: %dms |  ChatDisabled: %s | MaxMuteWarnings: %d | MustLogin: %s | Anti Ads: %s", ServerInfo[MaxPing],rDisableChat, ServerInfo[MaxMuteWarnings], rMustLogin, rAntiAds);
			SendClientMessage(playerid,LIGHTBLUE,string);
			format(string, sizeof(string), "MustRegister: %s | NoCaps: %s | SaveWeaps: %s | SaveMoney: %s | Forbidden Weapons: %s",rMustReg, rNoCaps,rSaveWeapon, rSaveMoney, rFWeaps);
			SendClientMessage(playerid,LIGHTBLUE,string);
			SendClientMessage(playerid, LIGHTBLUE2, "________________________________________________________");
		}
		return 1;
	}

	if(strcmp(cmd, "/time", true) == 0)
	{
		
		new string[64];
		new hour,minuite,second;
		gettime(hour,minuite,second);
		format(string, sizeof(string), "~g~|~w~%d:%d~g~|", hour, minuite);
		return GameTextForPlayer(playerid, string, 5000, 1);
	}

	if(strcmp(cmd, "/getinfo", true) == 0)
	{
	    if(AccInfo[playerid][Level] >= 1 || IsPlayerAdmin(playerid))
		{
		    if(!strlen(params)) return
			SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /getinfo (player<name/id>) ]") &&
			SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will see Informations of specified player. ]");
		    new player1;
			new string[128];
		    player1 = strval(params);

		 	if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
			 {
				new TimesOn;
				new pIP[128];
			    new Float:pHealth;
				new Float:pArmour;
				new year,month,day;
				new pn,Sum, Average;
				new tmp2[256],file[256];
				new Float:x,Float:y,Float:z;
				new pRegister[4],RegDate[256];
				new pJailed[4],pFrozen[4];
				new pInCage[4], pLogged[4];
				new LuX_GpsZone[MAX_ZONE_NAME] = "Undetected Zone";

				GetPlayerArmour(player1,pArmour);
				GetPlayerHealth(player1,pHealth);
		    	GetPlayerIp(player1, pIP, sizeof(pIP));
		    	getdate(year, month, day);
		    	GetPlayerPos(player1,x,y,z);
				GetPlayerInZone(player1, LuX_GpsZone, MAX_ZONE_NAME);

				format(file,sizeof(file),"/eAdmin/Accounts/%s.sav",udb_encode(PlayerName2(player1)));

				if(AccInfo[player1][Jailed] == 1)   pJailed   = "Yes"; else pJailed   = "No";
				if(AccInfo[player1][Frozen] == 1) 	pFrozen   = "Yes"; else pFrozen   = "No";
				if(AccInfo[player1][pCaged] == 1) 	pInCage   = "Yes"; else pInCage   = "No";
				if(AccInfo[player1][LoggedIn] == 1) pLogged   = "Yes"; else pLogged   = "No";
				if(fexist(file))				    pRegister = "Yes"; else pRegister = "No";

				tmp2 = dini_Get(file,"LastOn");

				if(strlen(dini_Get(file,"RegisteredDate")) < 3)
				RegDate = "n/a";
				else RegDate = dini_Get(file,"RegisteredDate");

				TimesOn = dUserINT(PlayerName2(player1)).("TimesOnServer");

				while (pn < PING_MAX_EXCEEDS){
				Sum += AccInfo[player1][pPing][pn]; pn++;
				}
				Average = (Sum / PING_MAX_EXCEEDS);
	 			if(IsPlayerAdmin(player1)) AdmRank = "RCON Administrator";
		    	else
	 			switch(AccInfo[player1][Level])
				{
				case 1: AdmRank = "Basic Moderator";
				case 2: AdmRank = "Moderator";
				case 3: AdmRank = "Master Moderator";
				case 4: AdmRank = "Administrator";
				case 5: AdmRank = "Master Administrator";
				}
				if(AccInfo[playerid][Level] > 5)
				{
				AdmRank = "Professional Admin";
				}
				SendClientMessage(playerid, orange, " ");
	 			SendClientMessage(playerid, LIGHTBLUE, "___________ [ Player Information ] ___________");
		  		format(string, sizeof(string),"Name: %s | ID: %d | Ip: %s | Health: %d | Armour: %d | Cash: %d", PlayerName2(player1),player1,pIP,floatround(pHealth),floatround(pArmour),GetPlayerMoney(player1));
				SendClientMessage(playerid,LIGHTGREEN,string);
			  	format(string, sizeof(string),"Score: %d | Skin: %d | Ping: %d (Average: %d) | Wanted Level: %d", GetPlayerScore(player1),GetPlayerSkin(player1),GetPlayerPing(player1),Average,GetPlayerWantedLevel(player1));
				SendClientMessage(playerid,0x33F666FF,string);
				format(string, sizeof(string),"Interior: %d | Virtual World: %d | Pos: X: %0.1f, Y: %0.1f, Z: %0.1f | In: %s", GetPlayerInterior(player1), GetPlayerVirtualWorld(player1), Float:x,Float:y,Float:z,LuX_GpsZone);
				SendClientMessage(playerid,0x53D266FF,string);
				format(string, sizeof(string),"Kills: %d | Deaths: %d | Ratio: %0.2f | Admin Level: %d - %s | In Cage: %s", AccInfo[player1][Kills],AccInfo[player1][Deaths],Float:AccInfo[player1][Kills]/Float:AccInfo[player1][Deaths],AccInfo[player1][Level],AdmRank,pInCage);
				SendClientMessage(playerid,0x53D212FF,string);
				format(string, sizeof(string),"Registered: %s | Logged In: %s | In Jail: %s | Frozen: %s | On Server: %d",pRegister,pLogged,pJailed,pFrozen,TimesOn);
				SendClientMessage(playerid,0x53BB12FF,string);
				format(string, sizeof(string),"Last On Server: %s | Register Date: %s | Todays Date: %d/%d/%d",tmp2,RegDate,day,month,year);
				SendClientMessage(playerid,0x129E12FF,string);

				if(IsPlayerInAnyVehicle(player1))
				{
				new Float:VHealth, carid = GetPlayerVehicleID(playerid);
				GetVehicleHealth(carid,VHealth);
				format(string, sizeof(string),"Vehicle Name: %s | VehicleID: %d | Model: %d | Vehicle Health: %d",VehicleNames[GetVehicleModel(carid)-400],carid,GetVehicleModel(carid),floatround(VHealth));
				SendClientMessage(playerid,0x12B281FF,string);
				}

				new slot, ammo, weap, Count, WeapName[24], WeapSTR[128], p; WeapSTR = "Weapons: ";
				for (slot = 0; slot < 14; slot++)
				{
				GetPlayerWeaponData(player1, slot, weap, ammo);
				if( ammo != 0 && weap != 0)
				Count++;
				}
				if(Count < 1)
				return SendClientMessage(playerid,0x6BF686FF,"Player has no weapons");
				else
				{
					for (slot = 0; slot < 14; slot++)
					{
						GetPlayerWeaponData(player1, slot, weap, ammo);
						if (ammo > 0 && weap > 0)
						{
							GetWeaponName(weap, WeapName, sizeof(WeapName) );
							if (ammo == 65535 || ammo == 1)
							format(WeapSTR,sizeof(WeapSTR),"%s%s (1)",WeapSTR, WeapName);
							else format(WeapSTR,sizeof(WeapSTR),"%s%s (%d)",WeapSTR, WeapName, ammo);
							p++;
							if(p >= 5)
							{
							SendClientMessage(playerid, 0x6BF686FF, WeapSTR); format(WeapSTR, sizeof(WeapSTR), "Weapons: "); p = 0;
							}
							else format(WeapSTR, sizeof(WeapSTR), "%s,  ", WeapSTR);
						}
					}
					if(p <= 4 && p > 0)
					{
						string[strlen(string)-3] = '.';
					    SendClientMessage(playerid, 0x6BF686FF, WeapSTR);
					}
				}
				SendClientMessage(playerid, LIGHTBLUE, "________________________________________________");
				return 1;
			}
			else return ErrorMessages(playerid, 2);
		}
		else return  ErrorMessages(playerid, 7);
	}

	if(strcmp(cmd, "/disable", true) == 0)
	{
	    if(AccInfo[playerid][Level] >= 4 || IsPlayerAdmin(playerid))
		{
		    if(!strlen(params))
			{
				SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /disable (AntiSwear/NameKick/AntiSpam/Ping/ReadCmds/ReadPms/Caps/AdminCmdMsgs/ConnectMsgs/AntiAds/AutoLogin/Antiweaps) ]");
				return SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will disable a specified Function (Some functions are only in Enable/Disable Dialog). ]");
			}
		    new string[128], file[256]; format(file,sizeof(file),"/eAdmin/Config/Config.ini");
			if(strcmp(params,"antiswear",true) == 0) {
				ServerInfo[AntiSwear] = 0;
				dini_IntSet(file,"AntiSwear",0);
				format(string,sizeof(string),"[ Administrator %s has disabled AntiSwear. ]", PlayerName2(playerid));
				SendClientMessageToAll(blue,string);
			}
			else if(strcmp(params,"namekick",true) == 0) {
				ServerInfo[NameKick] = 0;
				dini_IntSet(file,"NameKick",0);
				format(string,sizeof(string),"[ Administrator %s has disabled NameKick. ]", PlayerName2(playerid));
				SendClientMessageToAll(blue,string);
		 	}
			else if(strcmp(params,"antispam",true) == 0)	{
				ServerInfo[AntiSpam] = 0;
				dini_IntSet(file,"AntiSpam",0);
				format(string,sizeof(string),"[ Administrator %s has disabled AntiSpam. ]", PlayerName2(playerid));
				SendClientMessageToAll(blue,string);
			}
			else if(strcmp(params,"ping",true) == 0)	{
				ServerInfo[MaxPing] = 0;
				dini_IntSet(file,"MaxPing",0);
				format(string,sizeof(string),"[ Administrator %s has disabled Ping Kick. ]", PlayerName2(playerid));
				SendClientMessageToAll(blue,string);
			}
			else if(strcmp(params,"readcmds",true) == 0) {
				ServerInfo[ReadCmds] = 0;
				dini_IntSet(file,"ReadCmds",0);
				format(string,sizeof(string),"[ Administrator %s has disabled Reading Commands. ]", PlayerName2(playerid));
				MessageToAdmins(blue,string);
			}
			else if(strcmp(params,"readpms",true) == 0) {
				ServerInfo[ReadPMs] = 0;
				dini_IntSet(file,"ReadPMs",0);
				format(string,sizeof(string),"[ Administrator %s has disabled Reading Pms. ]", PlayerName2(playerid));
				MessageToAdmins(blue,string);
	  		}
		  	else if(strcmp(params,"caps",true) == 0)	{
				ServerInfo[NoCaps] = 0;
				dini_IntSet(file,"NoCaps",0);
				format(string,sizeof(string),"[ Administrator %s has prevented	CapsLock in chat. ]", PlayerName2(playerid));
				SendClientMessageToAll(blue,string);
			}
			else if(strcmp(params,"antiweaps",true) == 0)	{
				ServerInfo[ForbiddenWeaps] = 0;
				dini_IntSet(file,"ForbiddenWeapons",0);
				format(string,sizeof(string),"[ Administrator %s has prevented Anti Forbidden Weapons. ]", PlayerName2(playerid));
				SendClientMessageToAll(0x00A700FF,string);
				SendClientMessage(playerid, orange, "[ To update Forbidden Weapons File use: /uconfig. ]");
			}
		 	else if(strcmp(params,"admincmdmsgs",true) == 0) {
				ServerInfo[AdminCmdMsg] = 0;
				dini_IntSet(file,"AdminCMDMessages",0);
				format(string,sizeof(string),"[ Administrator %s has disabled Administration Command Messages. ]", PlayerName2(playerid));
				MessageToAdmins(green,string);
			}
			else if(strcmp(params,"connectmsgs",true) == 0)	{
				ServerInfo[ConnectMessages] = 0;
				dini_IntSet(file,"ConnectMessages",0);
				format(string,sizeof(string),"[ Administrator %s has disabled Connect and Disconnect Messages. ]", PlayerName2(playerid));
				MessageToAdmins(green,string);
			}
			else if(strcmp(params,"antiads",true) == 0)	{
				ServerInfo[AntiAds] = 0;
				dini_IntSet(file,"AntiAdvertisements",0);
				format(string,sizeof(string),"[ Administrator %s has disabled Anti Advertisements. ]", PlayerName2(playerid));
				MessageToAdmins(green,string);
			}
			else if(strcmp(params,"autologin",true) == 0)	{
				ServerInfo[AutoLogin] = 0;
				dini_IntSet(file,"AutoLogin",0);
				format(string,sizeof(string),"[ Administrator %s has disabled Auto Login. ]", PlayerName2(playerid));
				MessageToAdmins(green,string);
			}
			else {
				SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /disable (AntiSwear/NameKick/AntiSpam/Ping/ReadCmds/ReadPms/Caps/AdminCmdMsgs/ConnectMsgs/AntiAds/AutoLogin/Antiweaps) ]");
				SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will disable a specified Function (Some functions are only in Enable/Disable Dialog). ]");
			} return 1;
	 }
		else return ErrorMessages(playerid, 1);
	}

	if(strcmp(cmd, "/enable", true) == 0)
	{
	    if(AccInfo[playerid][Level] >= 4 || IsPlayerAdmin(playerid))
		{
		    if(!strlen(params))
			{
				SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /enable (AntiSwear/NameKick/AntiSpam/Ping/ReadCmds/ReadPms/Caps/AdminCmdMsgs/ConnectMsgs/AntiAds/AutoLogin/Antiweaps) ]");
				return SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will enable a specified Function (Some functions are only in Enable/Disable Dialog). ]");
			}
		    new string[128], file[256]; format(file,sizeof(file),"/eAdmin/Config/Config.ini");
			if(strcmp(params,"antiswear",true) == 0) {
				ServerInfo[AntiSwear] = 1;
				dini_IntSet(file,"AntiSwear",1);
				format(string,sizeof(string),"[ Administrator %s has enabled AntiSwear. ]", PlayerName2(playerid));
				SendClientMessageToAll(0x00A700FF,string);
			}
			else if(strcmp(params,"namekick",true) == 0) {
				ServerInfo[NameKick] = 1;
				format(string,sizeof(string),"[ Administrator %s has enabled NameKick. ]", PlayerName2(playerid));
				SendClientMessageToAll(0x00A700FF,string);
	 		}
			else if(strcmp(params,"antispam",true) == 0)	{
				ServerInfo[AntiSpam] = 1;
				dini_IntSet(file,"AntiSpam",1);
				format(string,sizeof(string),"[ Administrator %s has enabled AntiSpam. ]", PlayerName2(playerid));
				SendClientMessageToAll(0x00A700FF,string);
			}
			else if(strcmp(params,"ping",true) == 0)	{
				ServerInfo[MaxPing] = 800;
				dini_IntSet(file,"MaxPing",800);
				format(string,sizeof(string),"[ Administrator %s has enabled Ping Kick. ]", PlayerName2(playerid));
				SendClientMessageToAll(0x00A700FF,string);
			}
			else if(strcmp(params,"readcmds",true) == 0)	{
				ServerInfo[ReadCmds] = 1;
				dini_IntSet(file,"ReadCmds",1);
				format(string,sizeof(string),"[ Administrator %s has enabled Reading Commands. ]", PlayerName2(playerid));
				MessageToAdmins(orange,string);
			}
			else if(strcmp(params,"readpms",true) == 0) {
				ServerInfo[ReadPMs] = 1;
				dini_IntSet(file,"ReadPMs",1);
				format(string,sizeof(string),"[ Administrator %s has enabled Reading Pms. ]", PlayerName2(playerid));
				MessageToAdmins(orange,string);
			}
			else if(strcmp(params,"caps",true) == 0)	{
				ServerInfo[NoCaps] = 1;
				dini_IntSet(file,"NoCaps",1);
				format(string,sizeof(string),"[ Administrator %s has allowed CaPsLoCk in chat. ]", PlayerName2(playerid));
				SendClientMessageToAll(0x00A700FF,string);
			}
			else if(strcmp(params,"antiweaps",true) == 0)	{
				ServerInfo[ForbiddenWeaps] = 1;
				dini_IntSet(file,"ForbiddenWeapons",1);
				format(string,sizeof(string),"[ Administrator %s has allowed Anti Forbidden Weapons. ]", PlayerName2(playerid));
				SendClientMessageToAll(0x00A700FF,string);
				SendClientMessage(playerid, orange, "[ To update Forbidden Weapons File use: /uconfig. ]");
			}
			else if(strcmp(params,"admincmdmsgs",true) == 0)	{
				ServerInfo[AdminCmdMsg] = 1;
				dini_IntSet(file,"AdminCmdMessages",1);
				format(string,sizeof(string),"[ Administrator %s has enabled Administration Command Messages. ]", PlayerName2(playerid));
				MessageToAdmins(orange,string);
			}
			else if(strcmp(params,"connectmsgs",true) == 0) {
				ServerInfo[ConnectMessages] = 1;
				dini_IntSet(file,"ConnectMessages",1);
				format(string,sizeof(string),"[ Administrator %s has enabled Connect and Disconnect Messages. ]", PlayerName2(playerid));
				MessageToAdmins(orange,string);
			}
			else if(strcmp(params,"antiads",true) == 0)	{
				ServerInfo[AntiAds] = 1;
				dini_IntSet(file,"AntiAdvertisements",1);
				format(string,sizeof(string),"[ Administrator %s has enabled Anti Advertisements. ]", PlayerName2(playerid));
				MessageToAdmins(green,string);
			}
			else if(strcmp(params,"autologin",true) == 0) {
				ServerInfo[AutoLogin] = 1;
				dini_IntSet(file,"AutoLogin",1);
				format(string,sizeof(string),"[ Administrator %s has enabled Auto Login. ]", PlayerName2(playerid));
				MessageToAdmins(orange,string);
			}
			else {
				SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /enable (AntiSwear/NameKick/AntiSpam/Ping/ReadCmds/ReadPms/Caps/AdminCmdMsgs/ConnectMsgs/AntiAds/AutoLogin/Antiweaps) ]");
				SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will enable a specified Function (Some functions are only in Enable/Disable Dialog). ]");
			}
			return 1;
		}
		else return ErrorMessages(playerid, 1);
	}

	if(strcmp(cmd, "/kill", true) == 0)
	{
		
		return SetPlayerHealth(playerid,0.0);
	}

	if(strcmp(cmd, "/lammo", true) == 0)
	{
		
		if(AccInfo[playerid][Level] >= 3)
		{
		MaxAmmo(playerid);
		return SendCommandToAdmins(playerid,"LAmmo");
		}
		else return ErrorMessages(playerid, 6);
	}

	if(strcmp(cmd, "/setping", true) == 0)
	{
		if(AccInfo[playerid][Level] >= 3 || IsPlayerAdmin(playerid))
		{
	 		if(!strlen(params)) return
			SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /setping (ping) (Disable: '0') ]") &&
			SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will set specified value of maximum Ping allowed in Server. ]");
		    new string[128], ping = strval(params);
			ServerInfo[MaxPing] = ping;
			SendCommandToAdmins(playerid,"SetPing");
			new file[256]; format(file,sizeof(file),"/eAdmin/Config/Config.ini");
			dini_IntSet(file,"MaxPing",ping);
			for(new i = 0; i <= MAX_PLAYERS; i++)
			if(IsPlayerConnected(i))
			PlayerPlaySound(i,1057,0.0,0.0,0.0);
			if(ping == 0)
			format(string,sizeof(string),"[ Administrator %s has Disabled maximum Ping. ]", PlayerName2(playerid), ping);
			else format(string,sizeof(string),"[ Administrator %s has set the Maximum Ping to: %d. ]", PlayerName2(playerid), ping);
			return SendClientMessageToAll(yellow,string);
		}
		else return ErrorMessages(playerid, 6);
	}

	if(strcmp(cmd, "/ping", true) == 0)
	{
		if(AccInfo[playerid][Level] >= 1)
		{
		    if(!strlen(params)) return
			SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /ping (player<name/id>) ]") &&
			SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will see the Ping Informations of the specified player. ]");
			new player1 = strval(params), string[128];
	        if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
			{
			    new Sum, Average, x;
				while (x < PING_MAX_EXCEEDS)
				{
					Sum += AccInfo[player1][pPing][x];
					x++;
				}
				Average = (Sum / PING_MAX_EXCEEDS);
				format(string, sizeof(string), "[ \"%s\" (Id: %d) Average Ping: %d - Last Readings: %d, %d, %d, %d. ]", PlayerName2(player1), player1, Average, AccInfo[player1][pPing][0], AccInfo[player1][pPing][1], AccInfo[player1][pPing][2], AccInfo[player1][pPing][3] );
				return SendClientMessage(playerid,blue,string);
			}
			else return ErrorMessages(playerid, 2);
		}
		else return ErrorMessages(playerid, 1);
	}
	if(strcmp(cmd, "/fix", true) == 0)
	{
		
		if(AccInfo[playerid][Level] >= 1)
		{
			if (IsPlayerInAnyVehicle(playerid))
			{
				SetVehicleHealth(GetPlayerVehicleID(playerid),1250.0);
				return SendClientMessage(playerid,blue,"[ Vehicle Fixed. ]");
			}
			else return ErrorMessages(playerid, 10);
		}
		else return ErrorMessages(playerid, 8);
	}
	if(strcmp(cmd, "/repair", true) == 0)
	{
		
		if(AccInfo[playerid][Level] >= 1)
		{
			if (IsPlayerInAnyVehicle(playerid))
			{
			    new VehicleID = GetPlayerVehicleID(playerid);
				RepairVehicle(VehicleID);
				GameTextForPlayer(playerid,"~w~~n~~n~~n~~n~~n~~n~Vehicle ~g~Repaired",3000,3);
				return SetVehicleHealth(VehicleID, 1000);
			}
			else return ErrorMessages(playerid, 10);
		}
		else return ErrorMessages(playerid, 8);
	}

	if(strcmp(cmd, "/acar", true) == 0)
	{
		
		if(AccInfo[playerid][Level] >= 2)
		{
			if (!IsPlayerInAnyVehicle(playerid))
			{
				CarSpawner(playerid,411);
				SendCommandToAdmins(playerid,"ACar");
				return SendClientMessage(playerid,yellow,"[ ADMIN: Car Successfully Created. ]");
			}
			else return SendClientMessage(playerid,red,"[ ERROR: You already have a vehicle. ]");
		}
		else return ErrorMessages(playerid, 7);
	}
	if(strcmp(cmd, "/aheli", true) == 0)
	{
		
		if(AccInfo[playerid][Level] >= 2)
		{
			if (!IsPlayerInAnyVehicle(playerid))
			{
				CarSpawner(playerid,487);
				SendCommandToAdmins(playerid,"AHeli");
				return SendClientMessage(playerid,yellow,"[ ADMIN: Helicopter Successfully Created. ]");
			}
			else return SendClientMessage(playerid,red,"[ ERROR: You already have a vehicle. ]");
		}
		else return ErrorMessages(playerid, 7);
	}
	if(strcmp(cmd, "/aboat", true) == 0)
	{
		
		if(AccInfo[playerid][Level] >= 2)
		{
			if (!IsPlayerInAnyVehicle(playerid))
			{
				CarSpawner(playerid,493);
				SendCommandToAdmins(playerid,"ABoat");
				return SendClientMessage(playerid,yellow,"[ ADMIN: Bot Successfully Created. ]");
			}
			else return SendClientMessage(playerid,red,"[ ERROR: You already have a vehicle. ]");
		}
		else return ErrorMessages(playerid, 7);
	}
	if(strcmp(cmd, "/aplane", true) == 0)
	{
		
		if(AccInfo[playerid][Level] >= 2)
		{
			if (!IsPlayerInAnyVehicle(playerid))
			{
				CarSpawner(playerid,513);
				SendCommandToAdmins(playerid,"APlane");
				return SendClientMessage(playerid,yellow,"[ ADMIN: Plane Successfully Created. ]");
			}
			else return SendClientMessage(playerid,red,"[ ERROR: You already have a vehicle. ]");
		}
		else return ErrorMessages(playerid, 7);
	}

	if(strcmp(cmd, "/abike", true) == 0)
	{
		
		if(AccInfo[playerid][Level] >= 2)
		{
			if (!IsPlayerInAnyVehicle(playerid))
			{
				CarSpawner(playerid,522);
				SendCommandToAdmins(playerid,"ABike");
				return SendClientMessage(playerid,yellow,"[ ADMIN: Bike Successfully Created. ]");
			}
			else return SendClientMessage(playerid,red,"[ ERROR: You already have a vehicle. ]");
		}
		else return ErrorMessages(playerid, 7);
	}
	
	if(strcmp(cmd, "/addnos", true) == 0)
	{
		
		if(AccInfo[playerid][Level] >= 1)
		{
			if(IsPlayerInAnyVehicle(playerid))
			{
		        switch(GetVehicleModel(GetPlayerVehicleID(playerid)))
				{
					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(GetPlayerVehicleID(playerid), 1010);
				return StartTuneSound(playerid);
			}
			else return SendClientMessage(playerid,red,"[ ERROR: You must be in a vehicle. ]");
		}
		else return ErrorMessages(playerid, 1);
	}

	if(strcmp(cmd, "/countdown", true) == 0)
	{
		
	    if(AccInfo[playerid][Level] >= 3)
		{
		    if(CdStated == 0)
		    {
		 		new Index;
			    new tmp[256];  tmp  = strtok(params,Index);
				new tmp2[256]; tmp2 = strtok(params,Index);

				if(!strlen(tmp))
				return SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /countdown (Seconds) (freeze 1/0) ]") &&
		   	    SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will create a CountDown for all Players, (1-Freeze, 0-NoFreeze). ]");

				cd_sec = strval(tmp);
				if(cd_sec < 1 || cd_sec > 1000)
				return SendClientMessage(playerid,COLOR_WHITE,"[ ERROR: Seconds between 1-1000. ]");

				if(!strlen(tmp2))
				return SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /countdown (seconds) (freeze 1/0). ]") &&
		   	    SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will create a CountDown for all Players, (1-Freeze, 0-NoFreeze). ]");

				cd_f = strval(tmp2);
				if(cd_f < 0 || cd_f > 1)
				return SendClientMessage(playerid,red,"[ ERROR: Use only 0(NoFreeze) and 1(Freeze). ]");
				CdStated = 1;
				if(cd_f == 1)
				for(new i=0;i<MAX_PLAYERS;i++)
				{
					if(IsPlayerConnected(i))
					TogglePlayerControllable(i, 0);
				}
				cd_timer = SetTimer("CountDown",1000,3);
				return 1;
			}
			else return SendClientMessage(playerid,red,"[ ERROR: Countdown already in Progress. ]");
		}
		else return ErrorMessages(playerid, 1);
	}


	if(strcmp(cmd, "/givecar", true) == 0)
	{
	    if(AccInfo[playerid][Level] >= 3 || IsPlayerAdmin(playerid))
		{
		    if(!strlen(params)) return
			SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /givecar (player<name/id>) ]") &&
			SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will give a Car for specified player. ]");
		    new player1 = strval(params);
			new string[128];
			new playername[MAX_PLAYER_NAME];
			new adminname[MAX_PLAYER_NAME];
			if(AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
			return SendClientMessage(playerid,red,"[ ERROR: You cannot use this command on this admin. ]");
		    if(IsPlayerInAnyVehicle(player1))
		 	return SendClientMessage(playerid,red,"[ ERROR: Player already has a vehicle. ]");
		 	if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && player1 != playerid)
			 {
				SendCommandToAdmins(playerid,"GiveCar");
				new Float:x, Float:y, Float:z;
				GetPlayerPos(player1,x,y,z);
				CarSpawner(player1,415);
				GetPlayerName(player1, playername, sizeof(playername));
				GetPlayerName(playerid, adminname, sizeof(adminname));
				format(string,sizeof(string),"[ Administrator %s has given you a car. ]",adminname);
				SendClientMessage(player1,blue,string);
				format(string,sizeof(string),"[ ADMIN: You have given %s a car. ]", playername);
				return SendClientMessage(playerid,BlueMsg,string);
			}
			else return ErrorMessages(playerid, 4);
		}
		else return ErrorMessages(playerid, 1);
	}
	//==============================================================================
	// PM Command
	//==============================================================================
	#if EnablePM_Cmd == true
	if(strcmp(cmd, "/pm", true) == 0)
	{
		if(!strlen(params)) return
		SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /pm (player<name/id>) ]");
	 	PMplayer1 = strval(params);

		if(PMplayer1 == playerid) return
		SendClientMessage(playerid, red, "[ ERROR: You can't send PM to yourself. ]");

		if(!(IsPlayerConnected(PMplayer1) && PMplayer1 != INVALID_PLAYER_ID)) return
		SendClientMessage(playerid, red, "[ ERROR: Player not Connected. ]");

		new string[128];
		GetPlayerName(PMplayer1, PmReceiver, sizeof(PmReceiver));
		format(string,sizeof(string),"PM To: \"%s(%d)\" \n\nType the message to send:", PmReceiver, PMplayer1);
	 	ShowPlayerDialog(playerid,DIALOG_TYPE_PM,DIALOG_STYLE_INPUT,"PrivateMessage",string,"Send","Cancel");
	 	return 1;
	}
	#endif
	//==============================================================================
	//==============================================================================
	//Respawn all Unoccupied Vehicles
	//==============================================================================

	if(strcmp(cmd, "/respawncars", true) == 0)
	{
		
		if(AccInfo[playerid][Level] >= 5 || IsPlayerAdmin(playerid))
		{
			SendClientMessage(playerid, green, "[ Your have Successfully Respawned all Vehicles. ]");
			GameTextForAll("~n~~n~~n~~n~~n~~n~~r~Vehicles ~g~Respawned", 3000,3);

			for(new cars=0; cars<MAX_VEHICLES; cars++)
			{
				if(!VehicleOccupied(cars))
				{
					SetVehicleToRespawn(cars);
				}
			}
			return 1;
		}
		else return ErrorMessages(playerid, 1);
	}

	//==============================================================================
	//Respawn all Vehicles
	//==============================================================================
	/*
	if(strcmp(cmd, "/respawncars", true) == 0)
	{
		
		if(AccInfo[playerid][Level] >= 5 || IsPlayerAdmin(playerid))
		{
			SendClientMessage(playerid, green, "[ Your have Successfully Respawned all Vehicles! ]");
			GameTextForAll("~n~~n~~n~~n~~n~~n~~r~Vehicles ~g~Respawned!", 3000,3);
			SendCommandToAdmins(playerid,"RespawnCars");
		    for(new i = 0; i < MAX_PLAYERS; i++)
			{
	 			for(new v = 0; v < MAX_VEHICLES; v++)
				{
				if(!IsPlayerInVehicle(i,v))
				SetVehicleToRespawn(v);
				}
				break;
			}
			return 1;
		}
		else return ErrorMessages(playerid, 1);
	}
	*/
	//==============================================================================
	if(strcmp(cmd, "/vehicles", true) == 0)
	{
	    
		if(AccInfo[playerid][Level] >= 2)
		{
			return ShowModelSelectionMenuEx(playerid, mp_vehicles, 207, "Vehicle Spawner", DIALOG_VEHICLES, -16.0, 0.0, -55.0, 1.0, 0x00000099, 0x000000EE, 0xACCBF1FF);
		}
		else return ErrorMessages(playerid, 1);
	}
	if(strcmp(cmd, "/skins", true) == 0)
	{
	    
		if(AccInfo[playerid][Level] >= 2)
		{
		    return ShowModelSelectionMenuEx(playerid, m_skins, 300, "Skin Changer", DIALOG_SKINS, 0.0, 0.0, 0.0, 0.9, 0x00000099, 0x000000EE, 0xACCBF1FF);
		}
		else return ErrorMessages(playerid, 1);
	}
	if(strcmp(cmd, "/weapons", true) == 0)
	{
	    
		if(AccInfo[playerid][Level] >= 2)
		{
		    return ShowModelSelectionMenuEx(playerid, m_weaps, 38, "Weapons Spawner", DIALOG_WEAPONS, 0.0, 0.0, 0.0, 3.0, 0x00000099, 0x000000EE, 0xACCBF1FF);
		}
		else return ErrorMessages(playerid, 1);
	}

	if(strcmp(cmd, "/carcolour", true) == 0)
	{
		if(AccInfo[playerid][Level] >= 3)
		{
		    new Index;
		    new tmp[256];  tmp  = strtok(params,Index);
			new tmp2[256]; tmp2 = strtok(params,Index);
			new tmp3[256]; tmp3 = strtok(params,Index);

		    if(!strlen(tmp) || !strlen(tmp2) || !strlen(tmp3) || !IsNumeric(tmp2)) return
			SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /carcolour (player<name/id>) (colour1) (colour2) ]") &&
	   	    SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will change vehicle colour of specified player. ]");

			new player1 = strval(tmp), colour1, colour2, string[128];
			if(!strlen(tmp2)) colour1 = random(126);
			else colour1 = strval(tmp2);
			if(!strlen(tmp3)) colour2 = random(126);
			else colour2 = strval(tmp3);

			if(AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
			return SendClientMessage(playerid,red,"[ ERROR: You cannot use this command on this admin. ]");
	        if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
			{
	            if(IsPlayerInAnyVehicle(player1))
				{
			       	SendCommandToAdmins(playerid,"CarColour");
					format(string, sizeof(string), "[ ADMIN: You have Changed the colour of \"%s's\" %s to '%d,%d'. ]", pName(player1), VehicleNames[GetVehicleModel(GetPlayerVehicleID(player1))-400], colour1, colour2);
					SendClientMessage(playerid,BlueMsg,string);
					if(player1 != playerid)
					{
					format(string,sizeof(string),"[ Administrator \"%s\" has changed the Colour of your %s to '%d,%d'. ]", pName(playerid), VehicleNames[GetVehicleModel(GetPlayerVehicleID(player1))-400], colour1, colour2 );
					SendClientMessage(player1,blue,string);
					}
	   				return ChangeVehicleColor(GetPlayerVehicleID(player1), colour1, colour2);
				}
				else return SendClientMessage(playerid,red,"[ ERROR: Player is not in a vehicle. ]");
		    }
			else return ErrorMessages(playerid, 2);
		}
		else return ErrorMessages(playerid, 1);
	}
	if(strcmp(cmd, "/car", true) == 0)
	{
		if(AccInfo[playerid][Level] >= 3)
		{
			new Index;
		    new tmp[256];  tmp  = strtok(params,Index);
			new tmp2[256]; tmp2 = strtok(params,Index);
			new tmp3[256]; tmp3 = strtok(params,Index);
		    if(!strlen(tmp)) return
			SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /car (modelID/name) (colour1) (colour2). ]") &&
	   	    SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will create a Car with specified Colours. ]");
			new car;
			new string[128];
			new colour1, colour2;
	   		if(!IsNumeric(tmp))
		 	car = GetVehicleModelIDFromName(tmp);
	  		else car = strval(tmp);
			if(car < 400 || car > 611) return  SendClientMessage(playerid, red, "[ ERROR: Invalid Vehicle Model ID. ]");
			if(!strlen(tmp2)) colour1 = random(126); else colour1 = strval(tmp2);
			if(!strlen(tmp3)) colour2 = random(126); else colour2 = strval(tmp3);

			if(AccInfo[playerid][pCar] != -1 && !IsPlayerAdmin(playerid))
			EraseVeh(AccInfo[playerid][pCar]);
			new LVehicleID;
			new Float:X,Float:Y,Float:Z;
			new Float:Angle,int1;
			GetPlayerPos(playerid, X,Y,Z);
			GetPlayerFacingAngle(playerid,Angle);
			int1 = GetPlayerInterior(playerid);
			LVehicleID = CreateVehicle(car, X+3,Y,Z, Angle, colour1, colour2, -1);
			LinkVehicleToInterior(LVehicleID,int1);
			AccInfo[playerid][pCar] = LVehicleID;
			SendCommandToAdmins(playerid,"Car");
			format(string, sizeof(string), "%s Spawned a \"%s\" (Model:%d) Colours (%d, %d), Pos: X:%0.2f, Y:%0.2f, Z:%0.2f", pName(playerid), VehicleNames[car-400], car, colour1, colour2, X, Y, Z);
	        SaveIn("CarSpawns",string);
			format(string, sizeof(string), "[ ADMIN: You have Spawned a \"%s\" (Model: %d) with Colours: %d,%d. ]", VehicleNames[car-400], car, colour1, colour2);
			return SendClientMessage(playerid,LIGHTBLUE, string);
		}
		else return ErrorMessages(playerid, 6);
	}
	if(strcmp(cmd, "/carhealth", true) == 0)
	{
		if(AccInfo[playerid][Level] >= 3)
		{
		    new Index;
		    new tmp[256];  tmp  = strtok(params,Index);
			new tmp2[256]; tmp2 = strtok(params,Index);

		    if(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp2)) return
			SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /carhealth (player<name/id>) (amount) ]") &&
	   	    SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will set Car Health of specified player. ]");
			new string[128];
			new player1 = strval(tmp);
			new health  = strval(tmp2);
			if(AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
			return SendClientMessage(playerid,red,"[ ERROR: You cannot use this command on this admin. ]");
	        if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
			{
	            if(IsPlayerInAnyVehicle(player1))
				{
	  			SendCommandToAdmins(playerid,"CarHealth");
				format(string, sizeof(string), "[ ADMIN: You have set \"%s's\" Vehicle Health to '%d'. ]", pName(player1), health);
				SendClientMessage(playerid,yellow,string);
				if(player1 != playerid) { format(string,sizeof(string),"[ Administrator \"%s\" has set your Vehicle's Health to '%d'. ]", pName(playerid), health); SendClientMessage(player1,blue,string);
				}
				return SetVehicleHealth(GetPlayerVehicleID(player1), health);
				}
				else return SendClientMessage(playerid,red,"[ ERROR: Player is not in a vehicle. ]");
		    }
			else return ErrorMessages(playerid, 2);
		}
		else return ErrorMessages(playerid, 1);
	}
	if(strcmp(cmd, "/linkcar", true) == 0)
	{
		
		if(IsPlayerInAnyVehicle(playerid))
		{
	    	LinkVehicleToInterior(GetPlayerVehicleID(playerid),GetPlayerInterior(playerid));
		    SetVehicleVirtualWorld(GetPlayerVehicleID(playerid),GetPlayerVirtualWorld(playerid));
		    return SendClientMessage(playerid,LIGHTBLUE, "[ ADMIN: Your vehicle is now in your Virtual World and Interior. ]");
		}
		else return SendClientMessage(playerid,red,"[ ERROR: You must be in a vehicle. ]");
	 }
	if(strcmp(cmd, "/god", true) == 0)
	{
		
		if(AccInfo[playerid][Level] >= 4 || IsPlayerAdmin(playerid))
		{
	    	if(AccInfo[playerid][God] == 0)
			{
	   	    	AccInfo[playerid][God] = 1;
	    	    SetPlayerHealth(playerid,100000);
				GivePlayerWeapon(playerid,16,50000);
				GivePlayerWeapon(playerid,26,50000);
	           	SendClientMessage(playerid,green,"[ ADMIN: Godmode ON, type /God again to disable. ]");
				return SendCommandToAdmins(playerid,"God");
				}
				else
				{
	   	        AccInfo[playerid][God] = 0;
	       	    SendClientMessage(playerid,red,"[ ADMIN: Godmode OFF, type /God again to enable. ]");
	        	SetPlayerHealth(playerid, 100);
			}
			return GivePlayerWeapon(playerid,35,0);
		}
		else return ErrorMessages(playerid, 6);
	}

	if(strcmp(cmd, "/godcar", true) == 0)
	{
		
		if(AccInfo[playerid][Level] >= 4 || IsPlayerAdmin(playerid))
		{
			if(IsPlayerInAnyVehicle(playerid))
			{
		    	if(AccInfo[playerid][GodCar] == 0)
				{
	        		AccInfo[playerid][GodCar] = 1;
	   				SendCommandToAdmins(playerid,"GodCar");
	            	return SendClientMessage(playerid,green,"[ ADMIN: Vehicle Godmod ON. ]");
					}
					else
					{
		            AccInfo[playerid][GodCar] = 0;
	    	        return SendClientMessage(playerid,red,"[ ADMIN: Vehicle Godmod OFF. ]");
					}
			}
			else return SendClientMessage(playerid,red,"[ ERROR: You need to be in a car to use this command. ]");
		}
		else return ErrorMessages(playerid, 5);
	}

	if(strcmp(cmd, "/sgod", true) == 0)
	{
		
		if(AccInfo[playerid][Level] >= 5 || IsPlayerAdmin(playerid))
		{
	   		if(AccInfo[playerid][God] == 0)
			   {
	        	AccInfo[playerid][God] = 1;
		        SetPlayerHealth(playerid,100000);
				GivePlayerWeapon(playerid,16,50000);
				GivePlayerWeapon(playerid,26,50000);
	            return SendClientMessage(playerid,green,"[ ADMIN: Godmod ON. ]");
				}
				else
				{
	   	        AccInfo[playerid][God] = 0;
	            SendClientMessage(playerid,red,"[ ADMIN: Godmod OFF. ]");
		        SetPlayerHealth(playerid, 100);
				return GivePlayerWeapon(playerid,35,0);
				}
		}
		else return ErrorMessages(playerid, 9);
	}

	if(strcmp(cmd, "/asay", true) == 0)
	{
		
		if(AccInfo[playerid][Level] >= 1)
		{
	 		if(!strlen(params)) return
			SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /asay (text) ]") &&
			SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will send specified message as Admin. ]");
			new string[128];
			format(string, sizeof(string), "[ Admin %s: %s ]", PlayerName2(playerid), params[0]);
			return SendClientMessageToAll(LIGHTBLUE,string);
		}
		else return ErrorMessages(playerid, 7);
	}

	if(strcmp(cmd, "/highlight", true) == 0)
	{
	    if(AccInfo[playerid][Level] >= 2 || IsPlayerAdmin(playerid))
		{
		    if(!strlen(params)) return
			SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /highlight (player<name/id>) ]") &&
			SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will Highlight the specified player, (Blinking). ]");
		    new player1;
			new playername[MAX_PLAYER_NAME];
			new string[128];
		    player1 = strval(params);

		 	if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
			 {
			 	GetPlayerName(player1, playername, sizeof(playername));
		 	    if(AccInfo[player1][blip] == 0) {
					SendCommandToAdmins(playerid,"HighLight");
					AccInfo[player1][pColour] = GetPlayerColor(player1);
					AccInfo[player1][blip] = 1;
					BlipTimer[player1] = SetTimerEx("HighLight", 1000, 1, "i", player1);
					format(string,sizeof(string),"[ ADMIN: You have Highlighted %s's marker. ]", playername);
					}
					else
					{
					KillTimer( BlipTimer[player1]);
					AccInfo[player1][blip] = 0;
					SetPlayerColor(player1, AccInfo[player1][pColour]);
					format(string,sizeof(string),"[ ADMIN: You have Stopped Highlighting %s's marker. ]", playername);
				}
				return SendClientMessage(playerid,yellow,string);
			}
			else return ErrorMessages(playerid, 2);
		}
		else return ErrorMessages(playerid, 1);
	}
	if(strcmp(cmd, "/getid", true) == 0)
	{
		if(!strlen(params)) return
		SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /getid (PartOfName) ]") &&
		SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will see Id of specified Player. ]");
		new found, string[128], playername[MAX_PLAYER_NAME], dialog[1000];
		format(string,sizeof(string),"[ Searched for: \"%s\" ]\n",params);
		strcat(dialog,string);
		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,params,true) == pos)
						{
	     				found++;
						format(string,sizeof(string),"%d> %s (ID: %d)\n",found,playername,i);
						strcat(dialog,string);
						searched = true;
						}
					}
				}
			}
		}
		if(found == 0)
		SendClientMessage(playerid, red, "[ No Players Localized. ]");
		else
		ShowPlayerDialog(playerid,1234,DIALOG_STYLE_LIST,"/Getid result:",dialog,"Close","");
		return 1;
	}
	if(strcmp(cmd, "/die", true) == 0)
	{
		
		if(AccInfo[playerid][Level] >= 4 || IsPlayerAdmin(playerid))
		{
			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);
			return CreateExplosion(Float:x-10, Float:y-10, Float:z, 8,10.0);
		}
		else return ErrorMessages(playerid, 5);
	}

	if(strcmp(cmd, "/serverinfo", true) == 0)
	{
		
		new numo = CreateObject(1245,0,0,1000,0,0,0);
		DestroyObject(numo);
	    new VehTotal = CreateVehicle(411, 0, 0, 0, 0, 0, 0, 1000);
		DestroyVehicle(VehTotal);
		new gz = GangZoneCreate(3,3,5,5);
		GangZoneDestroy(gz);
		new nump = CreatePickup(371,2,0,0,1000);
		DestroyPickup(nump);

		new nummodel;
		new model[250];
		for(new i=1;i<VehTotal;i++)
		model[GetVehicleModel(i)-400]++;
		for(new i=0;i<250;i++)
		if(model[i]!=0)	nummodel++;
		new string[256];

		SendClientMessage(playerid, green, " ");
	 	SendClientMessage(playerid, green, "___________ [ Server Information ] ___________");
		SendClientMessage(playerid, green, " ");
		format(string,sizeof(string),"Player: Connected: %d || Maximum: %d  || Ratio: %0.2f",ConnectedPlayers(),GetMaxPlayers(),Float:ConnectedPlayers() / Float:GetMaxPlayers());
		SendClientMessage(playerid,Green2,string);
		format(string,sizeof(string),"Vehicles: Total: %d || Models: %d || In Vehicle: %d (InCar: %d | OnBike: %d)",VehTotal-1,nummodel, InVehTotal(),InCarCount(),OnBikeCount());
		SendClientMessage(playerid,Green2,string);
		format(string,sizeof(string),"Other: Objects: %d || Pickups: %d || Gangzones: %d",numo-1, nump, gz);
		SendClientMessage(playerid,Green2,string);
		format(string,sizeof(string),"Players Stats: In Jail %d || Frozen %d || Muted %d",JailedPlayers(),FrozenPlayers(), MutedPlayers());
	 	SendClientMessage(playerid,Green2,string);
		return SendClientMessage(playerid, green, "___________________________________________");
	}
	if(strcmp(cmd, "/lcredits", true) == 0)
	 {
		
		new string[120];
		SendClientMessage(playerid, green, " ");
	 	SendClientMessage(playerid, green, "___________ [ Credits ] ___________");
		SendClientMessage(playerid, green, " ");
		format(string,sizeof(string)," Excel's & Luxurion's Administration System� %s",LVersion);
		SendClientMessage(playerid,Green2,string);
	 	SendMessageToCMD(playerid);
		return SendClientMessage(playerid,green,"________________________________");
	}
	if(strcmp(cmd, "/announce2", true) == 0)
	{
	    if(AccInfo[playerid][Level] >= 2 || IsPlayerAdmin(playerid))
		{
			new Index;
	        new tmp[256];  tmp  = strtok(params,Index);
			new tmp2[256]; tmp2 = strtok(params,Index);
			new tmp3[256]; tmp3 = strtok(params,Index);
		    if(!strlen(tmp)||!strlen(tmp2)||!strlen(tmp3)) return
			SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /announce2 (style (0-6)) (time(Miliseconds)) (text)") &&
			SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION:  Will Announce the specified Message in screen for specified Time. ]");
			if(!(strval(tmp) >= 0 && strval(tmp) <= 6) || strval(tmp) == 2)
			return SendClientMessage(playerid,red,"[ ERROR: Invalid Style, (0-6). ]");
			SendCommandToAdmins(playerid,"Announce2");
			return GameTextForAll(params[(strlen(tmp)+strlen(tmp2)+2)], strval(tmp2), strval(tmp));
	    }
		else return ErrorMessages(playerid, 7);
	}
	if(strcmp(cmd, "/announce", true) == 0)
	{
	    if(AccInfo[playerid][Level] >= 2 || IsPlayerAdmin(playerid))
		{
	    	if(!strlen(params)) return
			SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /announce (text) ]") &&
			SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will Announce the specified Message in screen. ]");
	    	SendCommandToAdmins(playerid,"Announce");
			return GameTextForAll(params,4000,3);
	    }
		else return ErrorMessages(playerid, 7);
	}

	if(strcmp(cmd, "/duel", true) == 0)
	{
		if(AccInfo[playerid][Level] >= 3)
		{
		    new Index;
	 		new tmp[256];  tmp  = strtok(params,Index);
			new tmp2[256]; tmp2 = strtok(params,Index);
			new tmp3[256]; tmp3 = strtok(params,Index);

		    if(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp) || !IsNumeric(tmp2))
			{
			SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /duel (playerID 1) (playerID 2) (location (1,2,3)) ]");
			return SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will start a duel per two Players in specified Location. ]");
			}
			new player1 = strval(tmp);
			new player2 = strval(tmp2);
			new location, string[128];
			if(!strlen(tmp3))
			location = 0;
			else location = strval(tmp3);

			if(AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return
			SendClientMessage(playerid,red,"[ ERROR: You cannot use this command on this admin. ]");
			if(AccInfo[player2][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return
			SendClientMessage(playerid,red,"[ ERROR: You cannot use this command on this admin. ]");

			if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
			{
	 		 	if(IsPlayerConnected(player2) && player2 != INVALID_PLAYER_ID)
				  {
					if(InDuel[player1] == 1) return SendClientMessage(playerid,red,"[ ERROR: Player One is already in a Duel. ]");
					if(InDuel[player2] == 1) return SendClientMessage(playerid,red,"[ ERROR: Player Two is already in a Duel. ]");

					if(location == 1) {
						SetPlayerInterior(player1,16);
						SetPlayerPos(player1,-1404.067,1270.3706,1042.8672);
						SetPlayerInterior(player2,16);
						SetPlayerPos(player2,-1395.067,1261.3706,1042.8672);
					}
					else if(location == 2) {
						SetPlayerInterior(player1,0);
						SetPlayerPos(player1,1353.407,2188.155,11.02344);
						SetPlayerInterior(player2,0);
						SetPlayerPos(player2,1346.255,2142.843,11.01563);
					}
					else if(location == 3) {
						SetPlayerInterior(player1,10);
						SetPlayerPos(player1,-1041.037,1078.729,1347.678);
						SetPlayerFacingAngle(player1,135);
						SetPlayerInterior(player2,10);
						SetPlayerPos(player2,-1018.061,1052.502,1346.327);
						SetPlayerFacingAngle(player2,45);
					}
					InDuel[player1] = 1;
					InDuel[player2] = 1;
					SendCommandToAdmins(playerid,"Duel");
					cdt[player1] = 6;
					SetTimerEx("Duel",1000,0,"dd", player1, player2);
					format(string, sizeof(string), "[ Administrator \"%s\" has started a duel Between \"%s\" and \"%s\". ]",pName(playerid),pName(player1),pName(player2));
					SendClientMessage(player1, blue, string); SendClientMessage(player2, blue, string);
					return SendClientMessage(playerid, blue, string);
	 		 	}
				  else return SendClientMessage(playerid, red, "[ ERROR: Player Two is not connected. ]");
			}
			else return SendClientMessage(playerid, red, "[ ERROR: Player One is not connected. ]");
		}
		else return ErrorMessages(playerid, 1);
	}
	if(strcmp(cmd, "/lslowmo", true) == 0)
	{
		
		if(AccInfo[playerid][Level] >= 1)
		{
			new Float:x, Float:y, Float:z;
			GetPlayerPos(playerid, x, y, z);
			CreatePickup(1241, 4, x, y, z);
			return SendCommandToAdmins(playerid,"LsLowMo");
		}
		else return ErrorMessages(playerid, 1);
	}

	if(strcmp(cmd, "/jetpack", true) == 0)
	{
	    if(!strlen(params))
		{
	    	if(AccInfo[playerid][Level] >= 2 || IsPlayerAdmin(playerid))
			{
				SendClientMessage(playerid,blue,"[ Jetpack Spawned. ]");
				SendCommandToAdmins(playerid,"Jetpack");
				return SetPlayerSpecialAction(playerid, 2);
				}
				else return ErrorMessages(playerid, 1);
	 			}
				else
		 		{
		    	new player1;
				new string[128];
				new playername[MAX_PLAYER_NAME];
				new adminname[MAX_PLAYER_NAME];
	    		player1 = strval(params);
				if(AccInfo[playerid][Level] >= 4)
				{
			 	if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && player1 != playerid)
				{
					SendCommandToAdmins(playerid,"Jetpack");
					SetPlayerSpecialAction(player1, 2);
					GetPlayerName(player1, playername, sizeof(playername));
					GetPlayerName(playerid, adminname, sizeof(adminname));
					format(string,sizeof(string),"[ Administrator \"%s\" has given you a Jetpack. ]",adminname);
					SendClientMessage(player1,blue,string);
					format(string,sizeof(string),"[ ADMIN: You have Given %s a Jetpack. ]", playername);
					return SendClientMessage(playerid,BlueMsg,string);
				}
				else return ErrorMessages(playerid, 4);
				}
				else return ErrorMessages(playerid, 1);
			}
	}
	if(strcmp(cmd, "/destroycar", true) == 0)
	{
		
		if(AccInfo[playerid][Level] >= 3)
		return DelVehicle(GetPlayerVehicleID(playerid));
		else return ErrorMessages(playerid, 1);
	}
	if(strcmp(cmd, "/tcar", true) == 0)
	{
		
	    if(AccInfo[playerid][Level] >= 1)
		{
			if(IsPlayerInAnyVehicle(playerid))
			return SendClientMessage(playerid, red, "[ ERROR: You already have a Vehicle. ]");

		    if(!strlen(params))
			{
			SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /tcar (1-10) ]");
			return SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will create a Tuned vehicle. ]");
			}
	 		//======================================================================
	  		// Level 1
			//======================================================================
			if(strcmp(params,"1",true) == 0)
			{
			if(AccInfo[playerid][pCar] != -1)
			EraseVeh(AccInfo[playerid][pCar]);
			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);
			SendCommandToAdmins(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);
			StartTuneSound(playerid);
			ChangeVehiclePaintjob(LVehicleIDt,1);
		   	SetVehicleVirtualWorld(LVehicleIDt, GetPlayerVirtualWorld(playerid));
	        LinkVehicleToInterior(LVehicleIDt, GetPlayerInterior(playerid));
			AccInfo[playerid][pCar] = LVehicleIDt;
			}
	 		//======================================================================
	  		// Level 2
			//======================================================================
			else if(strcmp(params,"2",true) == 0)
			{
			if(AccInfo[playerid][pCar] != -1)
			EraseVeh(AccInfo[playerid][pCar]);
			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);
			SendCommandToAdmins(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);
			StartTuneSound(playerid);
			ChangeVehiclePaintjob(LVehicleIDt,2);
		   	SetVehicleVirtualWorld(LVehicleIDt, GetPlayerVirtualWorld(playerid));
	 		LinkVehicleToInterior(LVehicleIDt, GetPlayerInterior(playerid));
			AccInfo[playerid][pCar] = LVehicleIDt;
			}
	 		//======================================================================
	  		// Level 3
			//======================================================================
			else if(strcmp(params,"3",true) == 0)
			{
			if(AccInfo[playerid][pCar] != -1)
			EraseVeh(AccInfo[playerid][pCar]);
			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);
			SendCommandToAdmins(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));
			AccInfo[playerid][pCar] = carid;
			}
	 		//======================================================================
	  		// Level 4
			//======================================================================
			else if(strcmp(params,"4",true) == 0)
	 		{
			if(AccInfo[playerid][pCar] != -1)
			EraseVeh(AccInfo[playerid][pCar]);
			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);
			SendCommandToAdmins(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));
			AccInfo[playerid][pCar] = carid;
			}
			//======================================================================
	  		// Level 5
			//======================================================================
			else if(strcmp(params,"5",true) == 0)
	 		{
			if(AccInfo[playerid][pCar] != -1)
			EraseVeh(AccInfo[playerid][pCar]);
			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);
			SendCommandToAdmins(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));
			AccInfo[playerid][pCar] = carid;
			}
	 		//======================================================================
	  		// Level 6
			//======================================================================
			else if(strcmp(params,"6",true) == 0)
	 		{
			if(AccInfo[playerid][pCar] != -1)
			EraseVeh(AccInfo[playerid][pCar]);
			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);
			SendCommandToAdmins(playerid,"LTunedCar");
			AddVehicleComponent(LVehicleIDt, 1087); AddVehicleComponent(LVehicleIDt, 1010);
			AddVehicleComponent(LVehicleIDt, 1138); AddVehicleComponent(LVehicleIDt, 1170);
			AddVehicleComponent(LVehicleIDt, 1030); AddVehicleComponent(LVehicleIDt, 1028);
			AddVehicleComponent(LVehicleIDt, 1170); AddVehicleComponent(LVehicleIDt, 1031);
	   		AddVehicleComponent(LVehicleIDt, 1080); AddVehicleComponent(LVehicleIDt, 1140);
			AddVehicleComponent(LVehicleIDt, 1086); AddVehicleComponent(LVehicleIDt, 1028);
			AddVehicleComponent(LVehicleIDt, 1030);	AddVehicleComponent(LVehicleIDt, 1031);
			AddVehicleComponent(LVehicleIDt, 1140); AddVehicleComponent(LVehicleIDt, 1138);
			StartTuneSound(playerid);
			ChangeVehiclePaintjob(LVehicleIDt,0);
			SetVehicleVirtualWorld(LVehicleIDt,GetPlayerVirtualWorld(playerid));
	   		LinkVehicleToInterior(LVehicleIDt,GetPlayerInterior(playerid));
			AccInfo[playerid][pCar] = LVehicleIDt;
			}
	 		//======================================================================
	  		// Level 7
			//======================================================================
			else if(strcmp(params,"7",true) == 0)
	 		{
			if(AccInfo[playerid][pCar] != -1)
			EraseVeh(AccInfo[playerid][pCar]);
			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);
			SendCommandToAdmins(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));
			AccInfo[playerid][pCar] = carid;
			}
	 		//======================================================================
	  		// Level 8
			//======================================================================
			else if(strcmp(params,"8",true) == 0)
	 		{
			if(AccInfo[playerid][pCar] != -1)
			EraseVeh(AccInfo[playerid][pCar]);
			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);
			SendCommandToAdmins(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));
			AccInfo[playerid][pCar] = carid;
			}
	 		//======================================================================
	  		// Level 9
			//======================================================================
			else if(strcmp(params,"9",true) == 0)
	 		{
			if(AccInfo[playerid][pCar] != -1)
			EraseVeh(AccInfo[playerid][pCar]);
			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);
			SendCommandToAdmins(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);
		    AddVehicleComponent(carid,1091);
			ChangeVehiclePaintjob(carid,2);
		   	SetVehicleVirtualWorld(carid, GetPlayerVirtualWorld(playerid));
	  		LinkVehicleToInterior(carid, GetPlayerInterior(playerid));
			AccInfo[playerid][pCar] = carid;
			}
	 		//======================================================================
	  		// Level 10
			//======================================================================
			else if(strcmp(params,"10",true) == 0)
			{
			if(AccInfo[playerid][pCar] != -1)
			EraseVeh(AccInfo[playerid][pCar]);
			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);
			SendCommandToAdmins(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));
			AccInfo[playerid][pCar] = carid;
			}
	 		//======================================================================
			else
			{
	  		SendClientMessage(playerid, red, "[ ERROR: Invalid Tuned Vehicle (1-10). ]");
			}
			return 1;
	 	}
		else return ErrorMessages(playerid, 1);
	}

	if(strcmp(cmd, "/flip", true) == 0)
	{
	    if(AccInfo[playerid][Level] >= 2 || IsPlayerAdmin(playerid))
		{
		    if(!strlen(params))
			{
			    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,1000.0);
				SendCommandToAdmins(playerid,"Flip");
				return SendClientMessage(playerid, green,"[ ADMIN: Vehicle Flipped ]") &&
				SendClientMessage(playerid, LIGHTBLUE2,"[ ADMIN: Flip the player's vehicle? (/flip (player<name/id>)). ]");
				}
				else return SendClientMessage(playerid,red,"[ ERROR: You are not in a Vehicle. ]");
			}
		    new player1, playername[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME], string[128];
		    player1 = strval(params);

		 	if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && player1 != playerid)
			  {
				SendCommandToAdmins(playerid,"Flip");
				if (IsPlayerInAnyVehicle(player1))
				{
					new VehicleID, Float:X, Float:Y, Float:Z, Float:Angle;
					GetPlayerPos(player1, X, Y, Z);
					VehicleID = GetPlayerVehicleID(player1);
					GetVehicleZAngle(VehicleID, Angle);
					SetVehiclePos(VehicleID, X, Y, Z);
					SetVehicleZAngle(VehicleID, Angle);
					SetVehicleHealth(VehicleID,1000.0);
					SendCommandToAdmins(playerid,"Flip");
					GetPlayerName(player1, playername, sizeof(playername));
					GetPlayerName(playerid, adminname, sizeof(adminname));
					format(string,sizeof(string),"[ Administrator %s Flipped your Vehicle. ]",adminname);
					SendClientMessage(player1,blue,string);
					format(string,sizeof(string),"[ ADMIN: You have Flipped %s's Vehicle. ]", playername);
					return SendClientMessage(playerid, blue,string);
				}
				else return SendClientMessage(playerid,red,"[ ERROR: This player isn't in a vehicle. ]");
			}
			else return ErrorMessages(playerid, 4);
		}
		else return ErrorMessages(playerid, 1);
	}

	//==============================================================================
	// Chat Commands
	//==============================================================================
	if(strcmp(cmd, "/clearchat", true) == 0)
	{
	    
		if(AccInfo[playerid][Level] >= 2)
		{
		SendCommandToAdmins(playerid,"ClearChat");
		for(new i = 0; i < 11; i++)
		SendClientMessageToAll(green," ");
		return 1;
	 	}
	 	else return ErrorMessages(playerid, 7);
	}
	if(strcmp(cmd, "/disablechat", true) == 0)
	{
	    
		if(AccInfo[playerid][Level] >= 3)
		{
			SendCommandToAdmins(playerid,"DisableChat");
			new string[128];
			if(ServerInfo[DisableChat] == 0)
			{
			ServerInfo[DisableChat] = 1;
			format(string,sizeof(string),"[ Administrator \"%s\" has Disabled Chat. ]", pName(playerid));
			}
		 	else
		 	{
			ServerInfo[DisableChat] = 0;
			format(string,sizeof(string),"[ Administrator \"%s\" has Enabled Chat. ]", pName(playerid));
			}
			return SendClientMessageToAll(blue,string);
	 	}
		else return ErrorMessages(playerid, 6);
	}
	if(strcmp(cmd, "/caps", true) == 0)
	{
	    if(AccInfo[playerid][Level] >= 3)
		{
		    new tmp [256];
			new tmp2[256];
			new Index;
			tmp  = strtok(params,Index);
			tmp2 = strtok(params,Index);

		    if(!strlen(tmp) || !strlen(tmp2) || IsNumeric(tmp2)) return
			SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /caps (player<name/id>) (on/off) ]") &&
			SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will enable/disable CapsLock for specified Player. ]");

			new player1 = strval(tmp), string[128];
			if(AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
			return SendClientMessage(playerid,red,"[ ERROR: You cannot use this command on this admin. ]");
	        if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
			{
				if(strcmp(tmp2,"on",true) == 0)
				{
					SendCommandToAdmins(playerid,"Caps");
					AccInfo[player1][Caps] = 0;
					if(player1 != playerid)
					{
					format(string,sizeof(string),"[ Administrator \"%s\" has Allowed you to use CapsLock in chat. ]", pName(playerid));
					SendClientMessage(playerid,blue,string);
					}
					format(string,sizeof(string),"[ ADMIN: You have Allowed \"%s\" to use CapsLock in Chat. ]", pName(player1));
					return SendClientMessage(playerid,BlueMsg,string);
					}
					else if(strcmp(tmp2,"off",true) == 0)
					{
					SendCommandToAdmins(playerid,"Caps");
					AccInfo[player1][Caps] = 1;
					if(player1 != playerid)
					{
					format(string,sizeof(string),"[ Administrator \"%s\" has Prevented you from using CapsLock in chat. ]", pName(playerid));
					SendClientMessage(playerid,blue,string);
					}
					format(string,sizeof(string),"[ ADMIN: You have Prevented \"%s\" from using CapsLock in chat. ]", pName(player1));
					return SendClientMessage(playerid,BlueMsg,string);
					}
					else return
					SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /caps (player<name/id>) (on/off). ]") &&
					SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will enable/disable CapsLock for specified Player. ]");
		    }
			else return ErrorMessages(playerid, 2);
		}
		else return ErrorMessages(playerid, 1);
	}
	if(strcmp(cmd, "/clearallchat", true) == 0)
	{
	    
		if(AccInfo[playerid][Level] >= 3)
		{
		SendCommandToAdmins(playerid,"ClearAllChat");
		for(new i = 0; i < 50; i++)
	 	SendClientMessageToAll(green," ");
		return 1;
	 	}
		else return ErrorMessages(playerid, 5);
	}
	//==============================================================================
	if(strcmp(cmd, "/teleplayer", true) == 0)
	{
	    if(AccInfo[playerid][Level] >= 3 || IsPlayerAdmin(playerid))
		{
			new Index;
		    new tmp[256];  tmp  = strtok(params,Index);
			new tmp2[256]; tmp2 = strtok(params,Index);

		    if(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp) || !IsNumeric(tmp2)) return
			SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /teleplayer (player<name/id>) to (player<name/id>) ]") &&
			SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will Teleport the specified player to the other specified player. ]");
			new string[128];
			new player1 = strval(tmp), player2 = strval(tmp2);
			new Float:plocx,Float:plocy,Float:plocz;

			if(AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
			return SendClientMessage(playerid,red,"[ ERROR: You cannot use this command on this admin. ]");
		 	if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
			 {
	 		 	if(IsPlayerConnected(player2) && player2 != INVALID_PLAYER_ID)
				  {
		 		 	SendCommandToAdmins(playerid,"TelePlayer");
					GetPlayerPos(player2, plocx, plocy, plocz);
					new intid = GetPlayerInterior(player2);
					SetPlayerInterior(player1,intid);
					SetPlayerVirtualWorld(player1,GetPlayerVirtualWorld(player2));
					if (GetPlayerState(player1) == PLAYER_STATE_DRIVER)
					{
					new VehicleID = GetPlayerVehicleID(player1);
					SetVehiclePos(VehicleID, plocx, plocy+4, plocz); LinkVehicleToInterior(VehicleID,intid);
					SetVehicleVirtualWorld(VehicleID, GetPlayerVirtualWorld(player2));
					}
					else SetPlayerPos(player1,plocx,plocy+2, plocz);
					format(string,sizeof(string),"[ Administrator \"%s\" has Teleported \"%s\" to \"%s's\" Position. ]", pName(playerid), pName(player1), pName(player2));
					SendClientMessage(player1,blue,string); SendClientMessage(player2,blue,string);
					format(string,sizeof(string),"[ ADMIN: You have Teleported \"%s\" to \"%s's\" Position. ]", pName(player1), pName(player2));
	 		 	    return SendClientMessage(playerid,BlueMsg,string);
	 		 	}
				  else return SendClientMessage(playerid, red, "[ ERROR: Player Two is not connected. ]");
			}
			else return SendClientMessage(playerid, red, "[ ERROR: Player One is not connected. ]");
		}
		else return ErrorMessages(playerid, 1);
	}

	if(strcmp(cmd, "/vget", true) == 0)
	{
	    if(AccInfo[playerid][Level] >= 3 || IsPlayerAdmin(playerid))
		{
		    if(!strlen(params)) return
			SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /vget (vehicleID) ]") &&
			SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will Bring the specified Vehicle to your Position. ]");
		    new player1;
			new string[128];
		    player1 = strval(params);
			SendCommandToAdmins(playerid,"VGet");
			new Float:x, Float:y, Float:z;
			GetPlayerPos(playerid,x,y,z);
			SetVehiclePos(player1,x+3,y,z);
			SetVehicleVirtualWorld(player1,GetPlayerVirtualWorld(playerid));
			format(string,sizeof(string),"[ ADMIN: You brought the Vehicle ID '%d' to your Position. ]", player1);
			return SendClientMessage(playerid,BlueMsg,string);
		}
		else return ErrorMessages(playerid, 1);
	}

	if(strcmp(cmd, "/vgoto", true) == 0)
	{
	    if(AccInfo[playerid][Level] >= 2 || IsPlayerAdmin(playerid))
		{
		    if(!strlen(params)) return
	    	SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /vgoto (vehicleID) ]") &&
			SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will Go to specified vehicle. ]");
		    new player1;
			new string[128];
		    player1 = strval(params);
			SendCommandToAdmins(playerid,"VGoto");
			new Float:x, Float:y, Float:z;
			GetVehiclePos(player1,x,y,z);
			SetPlayerVirtualWorld(playerid,GetVehicleVirtualWorld(player1));
			if(GetPlayerState(playerid) == 2)
			{
			SetVehiclePos(GetPlayerVehicleID(playerid),x+3,y,z);
			SetVehicleVirtualWorld(GetPlayerVehicleID(playerid), GetVehicleVirtualWorld(player1));
			}
			else SetPlayerPos(playerid,x+2,y,z);
			format(string,sizeof(string),"[ ADMIN: You have teleported to Vehicle ID: %d. ]", player1);
			return SendClientMessage(playerid,BlueMsg,string);
		}
		else return ErrorMessages(playerid, 1);
	}

	if(strcmp(cmd, "/goto", true) == 0)
	{
	    if(AccInfo[playerid][Level] >= 2 || IsPlayerAdmin(playerid))
		{
		    if(!strlen(params)) return
			SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /goto (player<name/id>) ]") &&
			SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will Go to specified player. ]");
		    new player1;
			new string[128];
			if(!IsNumeric(params))
			player1 = ReturnPlayerID(params);
		   	else player1 = strval(params);
		 	if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && player1 != playerid)
			 {
				SendCommandToAdmins(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);
				format(string,sizeof(string),"[ ADMIN: You have Teleported to \"%s\". ]", pName(player1));
				return SendClientMessage(playerid,BlueMsg,string);
			}
			else return ErrorMessages(playerid, 4);
		}
		else return ErrorMessages(playerid, 1);
	}
	if(strcmp(cmd, "/lgoto", true) == 0)
	{
	    if(AccInfo[playerid][Level] >= 2 || IsPlayerAdmin(playerid))
		{
			new Float:x, Float:y, Float:z;
			new string[128], Index;
	        new tmp[256];  tmp  = strtok(params,Index);
			new tmp2[256]; tmp2 = strtok(params,Index);
			new tmp3[256]; tmp3 = strtok(params,Index);
	    	if(!strlen(tmp) || !strlen(tmp2) || !strlen(tmp3)) return
			SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /lgoto (posX) (posY) (posZ) ]") &&
			SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will Go in specified position (X,Y,Z). ]");
		    x = strval(tmp);
			y = strval(tmp2);
			z = strval(tmp3);
			SendCommandToAdmins(playerid,"LGoto");
			if(GetPlayerState(playerid) == 2)
			SetVehiclePos(GetPlayerVehicleID(playerid),x,y,z);
			else SetPlayerPos(playerid,x,y,z);
			format(string,sizeof(string),"[ ADMIN: You have teleported to - X: %f, Y: %f, Z: %f. ]", x,y,z);
			return SendClientMessage(playerid,green,string);
		}
		else return ErrorMessages(playerid, 1);
	}

	if(strcmp(cmd, "/get", true) == 0)
	{
	    if(AccInfo[playerid][Level] >= 3|| IsPlayerAdmin(playerid))
		{
		    if(!strlen(params)) return
			SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /get (player<name/id>) ]") &&
			SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will get to you the specified player. ]");
	    	new player1;
			new string[128];
			if(!IsNumeric(params))
			player1 = ReturnPlayerID(params);
		   	else player1 = strval(params);
			if(AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
			return SendClientMessage(playerid,red,"[ ERROR: You cannot use this command on this admin. ]");
		 	if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && player1 != playerid)
			 {
				SendCommandToAdmins(playerid,"Get");
				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);
				format(string,sizeof(string),"[ ADMIN: You have been Teleported to Administrator \"%s's\" position. ]", pName(playerid));
				SendClientMessage(player1,blue,string);
				format(string,sizeof(string),"[ ADMIN: You have Teleported \"%s\" to your Position. ]", pName(player1));
				return SendClientMessage(playerid,BlueMsg,string);
			}
			else return ErrorMessages(playerid, 4);
		}
		else return ErrorMessages(playerid, 1);
	}
	if(strcmp(cmd, "/move", true) == 0)
	{
		if(AccInfo[playerid][Level] >= 3)
		{
		    if(!strlen(params)) return
		    SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /move (Up/Down/+X/-X/+Y/-Y/off) ]") &&
			SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will move you for a certain Position (Up/Down/Left/Right). ]");
			new Float:X, Float:Y, Float:Z;
			if(strcmp(params,"Up",true) == 0)
			{
				TogglePlayerControllable(playerid,false);
				GetPlayerPos(playerid,X,Y,Z);
				SetPlayerPos(playerid,X,Y,Z+5);
				SetCameraBehindPlayer(playerid);
				}
				else if(strcmp(params,"Down",true) == 0){
				TogglePlayerControllable(playerid,false);
				GetPlayerPos(playerid,X,Y,Z);
				SetPlayerPos(playerid,X,Y,Z-5);
				SetCameraBehindPlayer(playerid);
				}
				else if(strcmp(params,"+X",true) == 0){
				TogglePlayerControllable(playerid,false);
				GetPlayerPos(playerid,X,Y,Z);
				SetPlayerPos(playerid,X+5,Y,Z);
				}
				else if(strcmp(params,"-X",true) == 0){
				TogglePlayerControllable(playerid,false);
				GetPlayerPos(playerid,X,Y,Z);
				SetPlayerPos(playerid,X-5,Y,Z);
				}
				else if(strcmp(params,"+Y",true) == 0){
				TogglePlayerControllable(playerid,false);
				GetPlayerPos(playerid,X,Y,Z);
				SetPlayerPos(playerid,X,Y+5,Z);
				}
				else if(strcmp(params,"-Y",true) == 0){
				TogglePlayerControllable(playerid,false);
				GetPlayerPos(playerid,X,Y,Z);
				SetPlayerPos(playerid,X,Y-5,Z);
				}
			    else if(strcmp(params,"off",true) == 0){
				TogglePlayerControllable(playerid,true);
				}
				else return
				SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /move (Up/Down/+X/-X/+Y/-Y/off) ]") &&
				SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will move you for a certain Position (Up/Down/Left/Right). ]");
			return 1;
		}
		else return ErrorMessages(playerid, 1);
	}

	if(strcmp(cmd, "/gethere", true) == 0)
	{
	    if(AccInfo[playerid][Level] >= 3)
		{
		    if(!strlen(params)) return
			SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /gethere (player<name/id>) ]") &&
			SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will get to you the specified player. ]");
	    	new player1;
	    	new string[128];
			new playername[MAX_PLAYER_NAME];
			new adminname[MAX_PLAYER_NAME];
			player1 = strval(params);
			if(AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
			return SendClientMessage(playerid,red,"[ ERROR: You cannot use this command on this admin. ]");
		 	if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && player1 != playerid)
			 {
				SendCommandToAdmins(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,sizeof(string),"[ ADMIN: You have been Teleported to Administrator %s's Location. ]",adminname);
				SendClientMessage(player1,blue,string);
				format(string,sizeof(string),"[ ADMIN: You have Teleported %s to your Location. ]", playername);
				return SendClientMessage(playerid,BlueMsg,string);
			}
			else return ErrorMessages(playerid, 4);
		}
		else return ErrorMessages(playerid, 1);
	}

	if(strcmp(cmd, "/moveplayer", true) == 0)
	{
		if(AccInfo[playerid][Level] >= 3)
		{
		    new tmp [256];
			new tmp2[256];
			new Index;
			tmp  = strtok(params,Index);
			tmp2 = strtok(params,Index);

		    if(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp)) return
			SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /moveplayer (player<name/id>) (Up/Down/+X/-X/+Y/-Y/off) ]") &&
			SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will move a specified Player for a certain Position (Up/Down/Left/Right). ]");

		    new Float:X, Float:Y, Float:Z;
			new player1 = strval(tmp);
			if(AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
			return SendClientMessage(playerid,red,"[ ERROR: You cannot use this command on this admin. ]");
			if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
			{
				if(strcmp(tmp2,"Up",true) == 0)
				{
					GetPlayerPos(player1,X,Y,Z); SetPlayerPos(player1,X,Y,Z+5); SetCameraBehindPlayer(player1);
					}
					else if(strcmp(tmp2,"Down",true) == 0)
					{
					GetPlayerPos(player1,X,Y,Z); SetPlayerPos(player1,X,Y,Z-5); SetCameraBehindPlayer(player1);
					}
					else if(strcmp(tmp2,"+X",true) == 0)
					{
					GetPlayerPos(player1,X,Y,Z); SetPlayerPos(player1,X+5,Y,Z);
					}
					else if(strcmp(tmp2,"-X",true) == 0)
					{
					GetPlayerPos(player1,X,Y,Z); SetPlayerPos(player1,X-5,Y,Z);
					}
					else if(strcmp(tmp2,"+Y",true) == 0)
					{
					GetPlayerPos(player1,X,Y,Z); SetPlayerPos(player1,X,Y+5,Z);
					}
					else if(strcmp(tmp2,"-Y",true) == 0)
					{
					GetPlayerPos(player1,X,Y,Z); SetPlayerPos(player1,X,Y-5,Z);
					}
					else SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /moveplayer (player<name/id>) (Up/Down/+X/-X/+Y/-Y/off) ]") &&
					SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will move a specified Player for a certain Position (Up/Down/Left/Right). ]");
				return 1;
			}
			else return ErrorMessages(playerid, 2);
		}
		else return ErrorMessages(playerid, 1);
	}
	if(strcmp(cmd, "/warn", true) == 0)
	{
	    if(AccInfo[playerid][Level] >= 2)
		{
		    new Index;
		    new tmp[256];  tmp  = strtok(params,Index);
			new tmp2[256]; tmp2 = strtok(params,Index);

		    if(!strlen(tmp) || !strlen(tmp2)) return
			SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /warn (player<name/id>) (reason) ]") &&
			SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will give a Warning in specified player. ]");
	    	new warned = strval(tmp);
			new str[128];
			if(AccInfo[warned][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
			return SendClientMessage(playerid,red,"[ ERROR: You cannot use this command on this admin. ]");
		 	if(IsPlayerConnected(warned) && warned != INVALID_PLAYER_ID)
			 {
 				PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
	 	    	if(warned != playerid)
				 {
				    SendCommandToAdmins(playerid,"Warn");
					AccInfo[warned][Warnings]++;
					if( AccInfo[warned][Warnings] == MAX_WARNINGS)
					{
					format(str, sizeof (str), "[ Administrator \"%s\" has kicked \"%s\". | Reason: %s (Warnings: %d/%d). ]", pName(playerid), pName(warned), params[1+strlen(tmp)], AccInfo[warned][Warnings], MAX_WARNINGS);
					SendClientMessageToAll(red, str);
					SaveIn("KickLog",str);
					Kick(warned);
 					PlayerPlaySound(warned,1057,0.0,0.0,0.0);
					return AccInfo[warned][Warnings] = 0;
					}
					else
					{
					format(str, sizeof (str), "[ Administrator \"%s\" has given \"%s\" a Warning. | Reason: %s (Warnings: %d/%d). ]", pName(playerid), pName(warned), params[1+strlen(tmp)], AccInfo[warned][Warnings], MAX_WARNINGS);
 					PlayerPlaySound(warned,1057,0.0,0.0,0.0);
	 				return SendClientMessageToAll(yellow, str);
					}
				}
				else return SendClientMessage(playerid, red, "[ ERROR: You cannot warn yourself. ]");
			}
			else return ErrorMessages(playerid, 2);
		}
		else return ErrorMessages(playerid, 1);
	}

	if(strcmp(cmd, "/kick", true) == 0)
	{
		if(AccInfo[playerid][LoggedIn] == 1)

		{
		    if(AccInfo[playerid][Level] >= 3)
			{
	      		new Index;
			    new tmp[256];  tmp  = strtok(params,Index);
				new tmp2[256]; tmp2 = strtok(params,Index);
			    if(!strlen(params)) return
				SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /kick (player<name/id>) (reason) ]") &&
				SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will Kick the specified player. ]");
		    	new player1;
		    	new string[128];
				new playername[MAX_PLAYER_NAME];
			 	new adminname [MAX_PLAYER_NAME];
				player1 = strval(tmp);

			 	if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && player1 != playerid && (AccInfo[player1][Level] != ServerInfo[MaxAdminLevel]))
				 {
 					PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
					GetPlayerName(player1, playername, sizeof(playername));
					GetPlayerName(playerid, adminname, sizeof(adminname));
					SendCommandToAdmins(playerid,"Kick");
					if(!strlen(tmp2))
					{
					format(string,sizeof(string),"[ %s has been kicked by Administrator %s | Reason: Not Specified. ]",playername,adminname);
					SendClientMessageToAll(red,string);
					SaveIn("KickLog",string);
					print(string);
 					PlayerPlaySound(player1,1057,0.0,0.0,0.0);
					return Kick(player1);
					}
					else
					{
					format(string,sizeof(string),"[ %s has been kicked by Administrator %s | Reason: %s. ]",playername,adminname,params[2]);
					SendClientMessageToAll(red,string);
					SaveIn("KickLog",string); print(string);
					PlayerPlaySound(player1,1057,0.0,0.0,0.0);
					return Kick(player1);
					}
				}
				else return ErrorMessages(playerid, 3);
			}
			else return ErrorMessages(playerid, 1);
		}
		else return SendClientMessage(playerid,red,"[ ERROR: You must be logged in to use this commands. ]");
	}
	//==============================================================================
	if(strcmp(cmd, "/unban", true) == 0)
	{
		if(AccInfo[playerid][LoggedIn] == 1)
		{
			if(AccInfo[playerid][Level] >= 1)
			{
				new Index;
				new string[300];
			    new tmp[256];  tmp  = strtok(params,Index);

			    if(strlen(tmp) <= 2)
				{
				SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /unban (username) ]");
				return SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will Unban the specified player wheather offline/online. ]");
				}
				if(strcmp(tmp, PlayerName2(playerid), true) == 0)
				{
				return SendClientMessage(playerid, red, "[ ERROR: You cannot unban yourself ]");
				}
				if(udb_Exists(tmp) && dUserINT(tmp).("Banned")==1)
				{
					SendCommandToAdmins(playerid,"Unban");
					dUserSetINT(tmp).("Banned",0);
					dUserSet(tmp).("BannedBy","-");
					dUserSet(tmp).("BannedReason","-");
					dUserSet(tmp).("BannedDate","-");
				}
				else return SendClientMessage(playerid, red, "[ ERROR: The username is not registered in server database, or is not banned. ]");

 				PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
				new year,month,day; getdate(year, month, day);
				new hour,minuite,second; gettime(hour,minuite,second);
				format(string,sizeof(string),"[ ADMIN: You have unbanned '%s', [Date: %d/%d/%d] [Time: %d:%d]. ]",tmp,day,month,year,hour,minuite);
				SendClientMessage(playerid,BlueMsg,string);
				return 1;
			}
			else return ErrorMessages(playerid, 1);
		}
		else return SendClientMessage(playerid,red,"[ ERROR: You must be logged in to use this commands. ]");
	}
	if(strcmp(cmd, "/searchban", true) == 0)
	{
		if(AccInfo[playerid][LoggedIn] == 1)
		{
			if(AccInfo[playerid][Level] >= 1)
			{
				new Index;
				new string[300];
			    new tmp[256];  tmp  = strtok(params,Index);

			    if(strlen(tmp) <= 2)
			    {
				SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /searchban (username) ]");
				return SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will give you the information of a ban made on specified username. ]");
				}
				if(udb_Exists(tmp) && dUserINT(tmp).("Banned") == 1)
				{
					SendCommandToAdmins(playerid,"Searchban");
 					PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
				    format(string,sizeof(string),"Username: %s\nBanned: YES\nBanned By: %s\nBan Date: %s\nBan Reason: %s",
					tmp,dUser(tmp).("BannedBy"),dUser(tmp).("BannedDate"),dUser(tmp).("BannedReason"));
					ShowPlayerDialog(playerid,1234,DIALOG_STYLE_LIST,"/Searchban - Result:",string,"Close","");
				}	else return SendClientMessage(playerid, red, "[ ERROR: The username is not registered in server database or is not banned. ]");
				return 1;
			}
			else return ErrorMessages(playerid, 1);
		}
		else return SendClientMessage(playerid,red,"[ ERROR: You must be logged in to use this commands. ]");
	}
	if(strcmp(cmd, "/aban", true) == 0)
	{
		if(AccInfo[playerid][LoggedIn] == 1)
		{
			if(AccInfo[playerid][Level] >= 1)
			{
				new Index;
				new string[300];
			    new tmp[256];  tmp  = strtok(params,Index);
			    new tmp1[256];  tmp1  = strtok(params,Index);
			    new year,month,day; getdate(year, month, day);
			    new hour,minuite,second; gettime(hour,minuite,second);
			    new str[200];

			    if(strlen(tmp) <= 2)
			    {
				SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /aban (username) (reason) ]");
				return SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will ban the specified username wheather offline/online. ]");
				}
				if(!strlen(tmp1))
				{
				return SendClientMessage(playerid, red, "[ ERROR: Reason unspecified. ]");
				}
				if(strcmp(tmp, PlayerName2(playerid), true) == 0)
				{
				return SendClientMessage(playerid, red, "[ ERROR: You cannot ban yourself ]");
				}
				if(udb_Exists(tmp) && dUserINT(tmp).("Banned") == 0)
				{
					SendCommandToAdmins(playerid,"Offban");
				    dUserSetINT(tmp).("Banned",1);
				    dUserSet(tmp).("BannedBy",PlayerName2(playerid));
				    format(str,sizeof(str),"%d/%d/%d",year,month,day);
					dUserSet(tmp).("BannedDate",str);
					dUserSet(tmp).("BannedReason",tmp1);
 					PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
					
					for(new f; f<MAX_PLAYERS; f++)
					{
					    if(strcmp(tmp,PlayerName2(f),true)==0)
					    {
							dUserSetINT(tmp).("Banned",1);
							dUserSet(tmp).("BannedBy",PlayerName2(playerid));
							dUserSet(tmp).("BannedReason",tmp1);
							format(str,sizeof(str),"%d/%d/%d",year, month, day);
							dUserSet(tmp).("BannedDate",str);
 							PlayerPlaySound(f,1057,0.0,0.0,0.0);
							format(string,sizeof(string),"[ Banned by Administrator %s. | Reason: %s [Date: %d/%d/%d] [Time: %d:%d]. ]",PlayerName2(playerid),tmp1,day,month,year,hour,minuite);
					        BanEx(f, string);
					        format(string,sizeof(string),"[ %s has been Banned by Administrator %s | Reason: %s [Date: %d/%d/%d] [Time: %d:%d]. ]",tmp,PlayerName2(playerid),tmp1,day,month,year,hour,minuite);
	    					SendClientMessageToAll(red,string);
							SaveIn("BanLog",string);
							print(string);
							format(string,sizeof(string),"[ ADMIN: You have online banned '%s', for the reason: %s [Date: %d/%d/%d] [Time: %d:%d]. ]",tmp,tmp1,day,month,year,hour,minuite);
							return SendClientMessage(playerid,LIGHTBLUE,string);
					    }
					}
					format(string,sizeof(string),"[ ADMIN: You have offline/online banned '%s', for the reason: %s [Date: %d/%d/%d] [Time: %d:%d]. ]",tmp,tmp1,day,month,year,hour,minuite);
					SendClientMessage(playerid,orange,string);
					return 1;
				}
				else return SendClientMessage(playerid, red, "[ ERROR: The username is not registered in server database or is already banned. ]");
			}
			else return ErrorMessages(playerid, 1);
		}
		else return SendClientMessage(playerid,red,"[ ERROR: You must be logged in to use this commands. ]");
	}
	if(strcmp(cmd, "/offstats", true) == 0)
	{
		if(AccInfo[playerid][LoggedIn] == 1)
		{
			if(AccInfo[playerid][Level] >= 1)
			{
				new Index;
	   			new dialog[1000];
				new string[300];
				new pDeaths = 0;
				new file[100];
			    new tmp[256];  tmp  = strtok(params,Index);

			    if(strlen(tmp) <= 2)
			    {
				SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /offstats (username)]");
				return SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will give you the information of the specified username. ]");
				}
				if(dUserINT(tmp).("LoggedIn")==1)
				{
				return SendClientMessage(playerid, red, "[ ERROR: The player is online, simply use /stats or /getinfo. ]");
				}
				if(udb_Exists(tmp))
				{
					SendCommandToAdmins(playerid,"Offstats");
					format(file,sizeof(file),"/eAdmin/Accounts/%s.sav",udb_encode(tmp));
					if(dUserINT(tmp).("Deaths") == 0) pDeaths = 1;
					else pDeaths = dUserINT(tmp).("Deaths");
					format(string, sizeof(string), "[ ADMIN: You are checking %s's statistics offline (/stats). ]",tmp);
					SendClientMessage(playerid, BlueMsg, string);
					format(string, sizeof(string),"Username:"COL_BLUE" %s\n",tmp);
					strcat(dialog,string);
				    format(string, sizeof(string),"Player-Id:"COL_BLUE" -not avaliable-\n");
					strcat(dialog,string);
					format(string, sizeof(string),"Kills:"COL_BLUE" %d\n",dUserINT(tmp).("Kills"));
					strcat(dialog,string);
					format(string, sizeof(string),"Deaths:"COL_BLUE" %d\n",dUserINT(tmp).("Deaths"));
					strcat(dialog,string);
					format(string, sizeof(string),"K/D Ratio:"COL_BLUE" %0.2f\n",Float:dUserINT(tmp).("Kills")/Float:pDeaths);
					strcat(dialog,string);
					format(string, sizeof(string),"Money:"COL_BLUE" $ %d\n",dUserINT(tmp).("Money"));
					strcat(dialog,string);
					format(string, sizeof(string),"Score:"COL_BLUE" %d\n",dUserINT(tmp).("Score"));
					strcat(dialog,string);
					format(string, sizeof(string),"Ping:"COL_BLUE" -not avaliable-\n");
					strcat(dialog,string);
					format(string, sizeof(string),"AccountType:"COL_BLUE" %d\n",dUserINT(tmp).("AccountType"));
					strcat(dialog,string);
					new adminrank[45];
					switch(dUserINT(tmp).("Level"))
					{
						case 0: adminrank = "N/A";
						case 1: adminrank = "Basic Moderator";
						case 2: adminrank = "Moderator";
						case 3: adminrank = "Master Moderator";
						case 4: adminrank = "Administrator";
						case 5..100: adminrank = "Master Administrator";
					}
					format(string, sizeof(string),"Admin Level:"COL_BLUE" %d (%s)\n",dUserINT(tmp).("Level"),adminrank);
					strcat(dialog,string);
					format(string, sizeof(string),"Time Played:"COL_BLUE" %d hours, %d minutes, %d seconds\n",dUserINT(tmp).("Hours"), dUserINT(tmp).("Minutes"), dUserINT(tmp).("Seconds"));
					strcat(dialog,string);
					new str[256];
					if(dUserINT(tmp).("LoggedIn")==1) str="YES";
					else if(dUserINT(tmp).("LoggedIn")==0) str="NO";
					format(string, sizeof(string),"Logged:"COL_BLUE" %s\n",str);
					strcat(dialog,string);
					if(fexist(file))	str = "YES"; 	else str = "NO";
					format(string, sizeof(string),"Registered:"COL_BLUE" %s\n",str);
					strcat(dialog,string);
					new banned[5];
				    if(dUserINT(tmp).("Banned")==1)
				    {
				        banned="YES";
				    }
				    else if(dUserINT(tmp).("Banned")==0)
				    {
				        banned="NO";
				    }
					format(string, sizeof(string),"Banned:"COL_BLUE" %s\n",banned);
					strcat(dialog,string);
					str = dini_Get(file,"LastOn");
					format(string, sizeof(string),"Last On Server:"COL_BLUE" %s\n",str);
					strcat(dialog,string);
					if(strlen(dini_Get(file,"RegisteredDate")) < 3)
					str = "N/A";
					else str = dini_Get(file,"RegisteredDate");
					format(string, sizeof(string),"Register Date:"COL_BLUE" %s\n",str);
					strcat(dialog,string);
					new year,month,day;
					getdate(year, month, day);
					format(string, sizeof(string),"Today's Date:"COL_BLUE" %d/%d/%d\n",year, month, day);
					strcat(dialog,string);
					return ShowPlayerDialog(playerid, 1234, DIALOG_STYLE_LIST,"Player /Stats:",dialog,"Close","");
				}
				else return SendClientMessage(playerid, red, "[ ERROR: The username is not registered in server database. ]");
			}
			else return ErrorMessages(playerid, 1);
		}
		else return SendClientMessage(playerid,red,"[ ERROR: You must be logged in to use this commands. ]");
	}
	if(strcmp(cmd, "/ban", true) == 0)
	{
		if(AccInfo[playerid][LoggedIn] == 1)
		{
			if(AccInfo[playerid][Level] >= 1)
			{
				new Index;
			    new tmp[256];  tmp  = strtok(params,Index);
				new tmp2[256]; tmp2 = strtok(params,Index);

			    if(!strlen(tmp)) return
				SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /ban (player<name/id>) (reason) ]") &&
				SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will Ban the specified player. ]");
				if(!strlen(tmp2))
				return SendClientMessage(playerid, red, "[ ERROR: Reason unspecified. ]");
				new player1;
		    	new string[128];
				new playername[MAX_PLAYER_NAME];
			 	new adminname [MAX_PLAYER_NAME];
				player1 = strval(tmp);

			 	if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && player1 != playerid && (AccInfo[player1][Level] != ServerInfo[MaxAdminLevel]))
				{
					GetPlayerName(player1, playername, sizeof(playername));
					GetPlayerName(playerid, adminname, sizeof(adminname));
					new year,month,day; getdate(year, month, day);
					new hour,minuite,second; gettime(hour,minuite,second);
					SendCommandToAdmins(playerid,"Ban");
					format(string,sizeof(string),"[ %s has been Banned by Administrator %s | Reason: %s [Date: %d/%d/%d] [Time: %d:%d]. ]",playername,adminname,params[2],day,month,year,hour,minuite);
					SendClientMessageToAll(red,string);
	    			new str[128];
					format(str,sizeof(str),"[ %s has been Banned by Administrator %s | Reason: %s. ]",playername,adminname,params[2]);
					SaveIn("BanLog",str);
					print(string);
					if(udb_Exists(PlayerName2(player1)) && AccInfo[player1][LoggedIn] == 1)
					dUserSetINT(PlayerName2(player1)).("Banned",1);
					dUserSet(PlayerName2(player1)).("BannedBy",adminname);
					dUserSet(PlayerName2(player1)).("BannedReason",params[2]);
					format(str,sizeof(str),"%d/%d/%d",year, month, day);
					dUserSet(PlayerName2(player1)).("BannedDate",str);
 					PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
 					PlayerPlaySound(player1,1057,0.0,0.0,0.0);
					format(string,sizeof(string),"[ Banned by Administrator %s. | Reason: %s. ]",adminname,params[2]);
					return BanEx(player1, string);
				}
				else return SendClientMessage(playerid, red, "[ ERROR: Player is not connected or is yourself or is the highest level admin. ]");
			}
			else return ErrorMessages(playerid, 1);
		}
		else return SendClientMessage(playerid,red,"[ ERROR: You must be logged in to use this commands. ]");
	}
	if(strcmp(cmd, "/fu", true) == 0)
	{
	    if(AccInfo[playerid][Level] >= 2)
		{
		    if(!strlen(params)) return
			SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /fu (player<name/id>) ]") &&
			SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will fuck the specified player. ]");
	    	new player1 = strval(params);
			new NewName[MAX_PLAYER_NAME];
			new string[128];
			if(AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
			return SendClientMessage(playerid,red,"[ ERROR: You cannot use this command on this admin. ]");
		 	if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
			{
				SendCommandToAdmins(playerid,"Fu");

				SetPlayerArmour(player1,0.0);    SetPlayerColor(player1,COLOR_PINK);
				SetPlayerHealth(player1,1.0);    ResetPlayerMoney(player1);
				ResetPlayerWeapons(player1);     GivePlayerWeapon(player1,12,1);
				SetPlayerWantedLevel(player1,6); SetPlayerSkin(player1, 137);
				SetPlayerScore(player1, 0);      SetPlayerWeather(player1,19);

				format(NewName,sizeof(NewName),"[N00B]%s", pName(player1));
				SetPlayerName(player1,NewName);
				if(IsPlayerInAnyVehicle(player1))
				DelVehicle(GetPlayerVehicleID(player1));

				if(player1 != playerid)
				{
				format(string,sizeof(string),"~w~%s: ~r~Fuck You", pName(playerid));
				GameTextForPlayer(player1, string, 2500, 3);
				}
				format(string,sizeof(string),"Fuck you \"%s\"", pName(player1));
				return SendClientMessage(playerid,blue,string);
			}
			else return ErrorMessages(playerid, 2);
		}
		else return ErrorMessages(playerid, 1);
	}
	if(strcmp(cmd, "/rban", true) == 0)
	{
		if(AccInfo[playerid][LoggedIn] == 1)
		{
			if(AccInfo[playerid][Level] >= 4)
			{
			    new ip[128], Index;
			    new tmp[256];  tmp  = strtok(params,Index);
				new tmp2[256]; tmp2 = strtok(params,Index);

			    if(!strlen(params)) return
				SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /rban (player<name/id>) (reason) ]") &&
				SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will Range Ban the specified player. ]");
				if(!strlen(tmp2)) return
				SendClientMessage(playerid, red, "[ ERROR: Reason unspecified. ]");
				new player1;
		    	new string[128];
				new playername[MAX_PLAYER_NAME];
			 	new adminname [MAX_PLAYER_NAME];
				player1 = strval(tmp);

			 	if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && player1 != playerid && (AccInfo[player1][Level] != ServerInfo[MaxAdminLevel]))
				 {
					GetPlayerName(player1, playername, sizeof(playername));
					GetPlayerName(playerid, adminname, sizeof(adminname));
					new year,month,day; getdate(year, month, day);
					new hour,minuite,second; gettime(hour,minuite,second);
					SendCommandToAdmins(playerid,"RBan");
					format(string,sizeof(string),"[ %s has been Range Banned by Administrator %s | Reason: %s [Date: %d/%d/%d] [Time: %d:%d]. ]",playername,adminname,params[2],day,month,year,hour,minuite);
					SendClientMessageToAll(lightred,string);
	    			new str[128];
					format(str,sizeof(str),"[ %s has been Range Banned by Administrator %s | Reason: %s. ]",playername,adminname,params[2]);
					SaveIn("BanLog",str);
					print(string);
					if(udb_Exists(PlayerName2(player1)) && AccInfo[player1][LoggedIn] == 1)
					dUserSetINT(PlayerName2(player1)).("Banned",1);
					dUserSet(PlayerName2(player1)).("BannedBy",adminname);
					dUserSet(PlayerName2(player1)).("BannedReason",params[2]);
					format(str,sizeof(str),"%d/%d/%d",year, month, day);
					dUserSet(PlayerName2(player1)).("BannedDate",str);
				 	PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
				 	PlayerPlaySound(player1,1057,0.0,0.0,0.0);
					GetPlayerIp(player1,ip,sizeof(ip));
		            strdel(ip,strlen(ip)-2,strlen(ip));
	    	        format(ip,128,"%s**",ip);
					format(ip,128,"banip %s",ip);
	            	SendRconCommand(ip);
					return 1;
				}
				else return ErrorMessages(playerid, 3);
			}
			else return ErrorMessages(playerid, 1);
		}
		else return SendClientMessage(playerid,red,"[ ERROR: You must be logged in to use this commands. ]");
	}
	if(strcmp(cmd, "/forbidname", true) == 0)
	{
		if(AccInfo[playerid][Level] >= 4)
		{
			if(!strlen(params)) return
			SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /forbidname (name) ]") &&
			SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will block a specified Name. ]");
			new File:BLfile, string[128];
			BLfile = fopen("/eAdmin/Config/ForbiddenNames.cfg",io_append);
			format(string,sizeof(string),"%s\r\n",params[1]);
			fwrite(BLfile,string);
			fclose(BLfile);
			UpdateConfig();
			SendCommandToAdmins(playerid,"ForbidName");
			format(string, sizeof(string), "[ Administrator \"%s\" has added the Name \"%s\" to the Bad Name List. ]", pName(playerid), params);
			return MessageToAdmins(green,string);
		}
		else return ErrorMessages(playerid, 5);
	}

	if(strcmp(cmd, "/forbidword", true) == 0)
	{
		if(AccInfo[playerid][Level] >= 4)
		{
			if(!strlen(params)) return
			SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /forbidword (word) ]") &&
			SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will block a specified Word. ]");
			new File:BLfile, string[128];
			BLfile = fopen("/eAdmin/Config/ForbiddenWords.cfg",io_append);
			format(string,sizeof(string),"%s\r\n",params[1]);
			fwrite(BLfile,string);
			fclose(BLfile);
			UpdateConfig();
			SendCommandToAdmins(playerid,"ForbidWord");
			format(string, sizeof(string), "[ Administrator \"%s\" has added the Word \"%s\" to the Bad Word List. ]", pName(playerid), params);
			return MessageToAdmins(green,string);
		}
		else return ErrorMessages(playerid, 5);
	}
	if(strcmp(cmd, "/explode", true) == 0)
	{
		if(AccInfo[playerid][LoggedIn] == 1)
		{
			if(AccInfo[playerid][Level] >= 3)
			{
				new Index;
			    new tmp[256];  tmp  = strtok(params,Index);
				new tmp2[256]; tmp2 = strtok(params,Index);

			    if(!strlen(params)) return
				SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /explode (player<name/id>) (Reason) ]") &&
				SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will Explode the specified player. ]");
		    	new player1;
		    	new string[128];
				new playername[MAX_PLAYER_NAME];
			 	new adminname [MAX_PLAYER_NAME];
				player1 = strval(tmp);

			 	if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && (AccInfo[player1][Level] != ServerInfo[MaxAdminLevel]))
				 {
					GetPlayerName(player1, playername, sizeof(playername));
					GetPlayerName(playerid, adminname, sizeof(adminname));
					SendCommandToAdmins(playerid,"Explode");
					new Float:burnx, Float:burny, Float:burnz;
					GetPlayerPos(player1,burnx, burny, burnz);
					CreateExplosion(burnx, burny , burnz, 7,10.0);

					if(strlen(tmp2))
					{
					format(string,sizeof(string),"[ ADMIN: You have been exploded by Administrator %s | Reason: %s. ]",adminname,params[2]);
					SendClientMessage(player1,blue,string);
					format(string,sizeof(string),"[ ADMIN: You have exploded %s | Reason: %s. ]", playername,params[2]);
					return SendClientMessage(playerid,BlueMsg,string);
					}
					else
					{
					format(string,sizeof(string),"[ ADMIN: You have been exploded by Administrator %s | Reason: Not Specified. ]",adminname);
					SendClientMessage(player1,blue,string);
					format(string,sizeof(string),"[ ADMIN: You have Exploded %s. ]", playername);
					return SendClientMessage(playerid,BlueMsg,string);
					}
				}
				else return SendClientMessage(playerid, red, "[ ERROR: Player is not connected or is the highest level admin. ]");
			}
			else return ErrorMessages(playerid, 1);
		}
		else return SendClientMessage(playerid,red,"[ ERROR: You must be logged in to use this commands. ]");
	}

	if(strcmp(cmd, "/jail", true) == 0)
	{
		if(AccInfo[playerid][LoggedIn] == 1)
		{
			if(AccInfo[playerid][Level] >= 3)
			{
				new Index;
			    new tmp[256];  tmp  = strtok(params,Index);
				new tmp2[256]; tmp2 = strtok(params,Index);
				new tmp3[256]; tmp3 = strtok(params,Index);

			    if(!strlen(params)) return
				SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /jail (player<name/id>) (minutes) (reason) ]") &&
				SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will Jailed the specified player. ]");
		    	new player1, playername[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME], string[128];
				player1 = strval(tmp);

			 	if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && (AccInfo[player1][Level] != ServerInfo[MaxAdminLevel]))
				 {
					if(AccInfo[player1][Jailed] == 0)
					{
						GetPlayerName(player1, playername, sizeof(playername));
						GetPlayerName(playerid, adminname, sizeof(adminname));
						new jtime = strval(tmp2);
						if(jtime == 0) jtime = 9999;

				       	SendCommandToAdmins(playerid,"Jail");
						AccInfo[player1][JailTime] = jtime*1000*60;
	    			    SetTimerEx("JailPlayer",5000,0,"d",player1);
			    	    SetTimerEx("Jail1",1000,0,"d",player1);
			        	AccInfo[player1][Jailed] = 1;

						if(jtime == 9999)
						{
						if(!strlen(params[strlen(tmp2)+1])) format(string,sizeof(string),"[ Administrator %s has Jailed %s. ]",adminname,playername);
						else format(string,sizeof(string),"[ Administrator %s has Jailed %s | Reason: %s. ]",adminname,playername,params[strlen(tmp)+1]);
	   					}
					    else
					    {
						if(!strlen(tmp3)) format(string,sizeof(string),"[ Administrator %s has Jailed %s for %d Minutes. ]",adminname,playername, jtime);
						else format(string,sizeof(string),"[ Administrator %s has Jailed %s for %d Minutes | Reason: %s. ]",adminname,playername,jtime,params[strlen(tmp2)+strlen(tmp)+1]);
						}
		    			return SendClientMessageToAll(blue,string);
					}
					else return SendClientMessage(playerid, red, "[ ERROR: Player is already in jail. ]");
				}
				else return SendClientMessage(playerid, red, "[ ERROR: Player is not connected or is the highest level admin. ]");
			}
			else return ErrorMessages(playerid, 1);
		}
		else return SendClientMessage(playerid,red,"[ ERROR: You must be logged in to use this commands. ]");
	}

	if(strcmp(cmd, "/unjail", true) == 0)
	{
		if(AccInfo[playerid][LoggedIn] == 1)
		{
			if(AccInfo[playerid][Level] >= 3)
			{
			    new tmp[256];
				new Index;
				tmp = strtok(params,Index);

			    if(!strlen(params)) return
				SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /unjail (player<name/id>) ]") &&
				SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will Unjailed the specified player. ]");
		    	new player1;
				new string[128];
				new playername[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME];
				player1 = strval(tmp);

			 	if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && (AccInfo[player1][Level] != ServerInfo[MaxAdminLevel]))
				 {
					if(AccInfo[player1][Jailed] == 1)
					{
						GetPlayerName(player1, playername, sizeof(playername));
						GetPlayerName(playerid, adminname, sizeof(adminname));
						format(string,sizeof(string),"[ Administrator %s has Unjailed you. ]",adminname);
						SendClientMessage(player1,blue,string);
						format(string,sizeof(string),"[ Administrator %s has Unjailed %s. ]",adminname, playername);
						UnjailPlayer(player1);
						return SendClientMessageToAll(blue,string);
					}
					else return SendClientMessage(playerid, red, "[ ERROR: Player is not in jail. ]");
				}
				else return SendClientMessage(playerid, red, "[ ERROR: Player is not connected or is the highest level admin. ]");
			}
			else return ErrorMessages(playerid, 1);
		}
		else return SendClientMessage(playerid,red,"[ ERROR: You must be logged in to use this commands. ]");
	}

	if(strcmp(cmd, "/freeze", true) == 0)
	{
		if(AccInfo[playerid][LoggedIn] == 1)
		{
			if(AccInfo[playerid][Level] >= 3)
			{
			    new tmp[256],tmp2[256],tmp3[256],Index;
				tmp  = strtok(params,Index);
				tmp2 = strtok(params,Index);
				tmp3 = strtok(params,Index);

			    if(!strlen(params)) return
				SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /freeze (player<name/id>) ]") &&
				SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will Freeze the specified player. ]");
		    	new player1;
				new string[128];
				new playername[MAX_PLAYER_NAME];
				new adminname[MAX_PLAYER_NAME];

				player1 = ReturnUser(tmp, playerid);
			 	if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
				 {
					if(AccInfo[player1][Frozen] == 0)
					{
						GetPlayerName(player1, playername, sizeof(playername));
						GetPlayerName(playerid, adminname, sizeof(adminname));
						new ftime = strval(tmp2);
						if(ftime == 0) ftime = 9999;

				       	SendCommandToAdmins(playerid,"Freeze");
						TogglePlayerControllable(player1,false); AccInfo[player1][Frozen] = 1;
						PlayerPlaySound(player1,1057,0.0,0.0,0.0);
						AccInfo[player1][FreezeTime] = ftime*1000*60;
				        FreezeTimer[player1] = SetTimerEx("UnFreezeMe",AccInfo[player1][FreezeTime],0,"d",player1);

						if(ftime == 9999)
						{
						if(!strlen(params[strlen(tmp2)+1]))
						format(string,sizeof(string),"[ Administrator %s has Frozen %s ]",adminname,playername);
						else format(string,sizeof(string),"[ Administrator %s has Frozen %s | Reason: %s. ]",adminname,playername,params[strlen(tmp)+1]);
		   				}
	 				    else
					    {
						if(!strlen(tmp3)) format(string,sizeof(string),"[ Administrator %s has Frozen %s for %d Minutes. ]",adminname,playername,ftime);
						else format(string,sizeof(string),"[ Administrator %s has Frozen %s for %d Minutes | Reason: %s. ]",adminname,playername,ftime,params[strlen(tmp2)+strlen(tmp)+1]);
						}
			    		return SendClientMessageToAll(blue,string);
					}
					else return SendClientMessage(playerid, red, "[ ERROR: Player is already Frozen. ]");
				}
				else return SendClientMessage(playerid, red, "[ ERROR: Player is not connected or is the highest level admin. ]");
			}
			else return ErrorMessages(playerid, 1);
		}
		else return SendClientMessage(playerid,red,"[ ERROR: You must be logged in to use this commands. ]");
	}

	if(strcmp(cmd, "/unfreeze", true) == 0)
	{
		if(AccInfo[playerid][LoggedIn] == 1)
		{
		    if(AccInfo[playerid][Level] >= 3|| IsPlayerAdmin(playerid))
			{
			    if(!strlen(params)) return
				SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /unfreeze (player<name/id>) ]") &&
				SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will unfreeze the specified player. ]");
		    	new player1, string[128];
				player1 = strval(params);

			 	if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
				 {
			 	    if(AccInfo[player1][Frozen] == 1)
					{
	    			SendCommandToAdmins(playerid,"Unfreeze");
					UnFreezeMe(player1);
					format(string,sizeof(string),"[ Administrator %s has Unfrozen you. ]", PlayerName2(playerid));
					SendClientMessage(player1,blue,string);
					format(string,sizeof(string),"[ Administrator %s has Unfrozen %s. ]", PlayerName2(playerid), PlayerName2(player1));
	   				return SendClientMessageToAll(blue,string);
					}
					else return SendClientMessage(playerid, red, "[ ERROR: Player is not Frozen. ]");
				}
				else return SendClientMessage(playerid, red, "[ ERROR: Player is not connected or is the highest level admin. ]");
			}
			else return ErrorMessages(playerid, 1);
		}
		else return SendClientMessage(playerid,red,"[ ERROR: You must be logged in to use this commands. ]");
	}


	//==============================================================================
	// Wanted Level List
	//==============================================================================
	if(strcmp(cmd, "/wanted", true) == 0)
	{
		
		if(AccInfo[playerid][LoggedIn] == 1)
		{
			if(AccInfo[playerid][Level] >= 2)
			{
			    new
					InWanted,
					string[64],
					playername[MAX_PLAYER_NAME],
					pWanted;

				#if USE_DIALOGS == true
	   			new
	            	dialog[1000];
				#endif

	       		for(new i=0;i<MAX_PLAYERS;i++)
			    {
			        if(IsPlayerConnected(i) && GetPlayerWantedLevel(i) >= 1)
			        {
			            if(InWanted == 0)
			            {
	       				 	InWanted = 1;
							SendClientMessage(playerid,Green1,"[-------------------| Wanted Players |-------------------]");
			            }
						pWanted = GetPlayerWantedLevel(i);
			            GetPlayerName(i, playername, sizeof(playername));
			            #if USE_DIALOGS == true
			            format(string, sizeof(string), "%s(%d) | Wanted Level: %d", playername,i, pWanted);
		             	strcat(dialog,string);
		             	#else
			            format(string, sizeof(string), "* %s(%d) | Wanted Level: %d", playername,i, pWanted);
	       				SendClientMessage(playerid,Green2,string);
		             	#endif
	          		}
	   			}
			    if(InWanted == 0)
			    {
	  	 	 	SendClientMessage(playerid, red, "[ No players have WantedLevel. ]");
	  	 	 	}
				else if(InWanted == 1)
			    {
	  	 	 	#if USE_DIALOGS == true
	       		ShowPlayerDialog(playerid,1234,DIALOG_STYLE_LIST,"Player wanted:",dialog,"Close","");
	       		#else
	       		SendClientMessage(playerid,Green1,"[-------------------| /wanted |-------------------]");
	       		#endif
	  	 	 	}
	  	 	 	return 1;
	   		}
	   		else return ErrorMessages(playerid, 1);
		}
		else return SendClientMessage(playerid,red,"[ ERROR: You must be logged in to use this commands. ]");
	}


	if(strcmp(cmd, "/jailed", true) == 0)
	{
		
		if(AccInfo[playerid][LoggedIn] == 1)
		{
			if(AccInfo[playerid][Level] >= 2)
			{
		 		new
					InJailed,
					string[64],
					playername[MAX_PLAYER_NAME];

				#if USE_DIALOGS == true
	   			new
	            	dialog[1000];
				#endif

				for(new i=0;i<MAX_PLAYERS;i++)
			    {
			        if(IsPlayerConnected(i) && AccInfo[i][Jailed])
			        {
			            if(InJailed == 0)
			            {
	       				 	InJailed = 1;
							SendClientMessage(playerid,Green1,"[-------------------| Jailed Players |-------------------]");
			            }
			            GetPlayerName(i, playername, sizeof(playername));
			            #if USE_DIALOGS == true
			            format(string, sizeof(string), "%s(%d)", playername,i);
		             	strcat(dialog,string);
		             	#else
			            format(string, sizeof(string), "* %s(%d)", playername,i);
	       				SendClientMessage(playerid,Green2,string);
		             	#endif

	          		}
	   			}
			    if(InJailed == 0)
			    {
	  	 	 	SendClientMessage(playerid, red, "[ No players in Jail. ]");
	  	 	 	}
				else if(InJailed == 1)
			    {
	  	 	 	#if USE_DIALOGS == true
	       		ShowPlayerDialog(playerid,1234,DIALOG_STYLE_LIST,"Player jailed:",dialog,"Close","");
	       		#else
	       		SendClientMessage(playerid,Green1,"[-------------------| /jailed |-------------------]");
	       		#endif
	  	 	 	}
	  	 	 	return 1;
			}
			else return ErrorMessages(playerid, 1);
		}
		else return SendClientMessage(playerid,red,"[ ERROR: You must be logged in to use this commands. ]");
	}

	if(strcmp(cmd, "/viplist", true) == 0)
	{
		
		if(AccInfo[playerid][LoggedIn] == 1)
		{
			if(AccInfo[playerid][Level] >= 1)
			{
		 		new bool:First2 = false;
		 		new Count, i;
			    new string[128];
				new adminname[MAX_PLAYER_NAME];
			    for(i = 0; i < MAX_PLAYERS; i++)
				if(IsPlayerConnected(i) && AccInfo[i][pVip] > 0)
				Count++;

				if(Count == 0)
				return SendClientMessage(playerid,red, "[ No players have VIP Account. ]");

			    for(i = 0; i < MAX_PLAYERS; i++)
				if(IsPlayerConnected(i) && AccInfo[i][pVip] > 0)
				{
					if(AccInfo[i][pVip] > 0)
					{
						switch(AccInfo[i][pVip])
	    				{
						case 1: AccType = "Silver";
						case 2: AccType = "Gold";
						case 3: AccType = "Premium";
						}
					}
	 				GetPlayerName(i, adminname, sizeof(adminname));
					if(!First2)
					{
						format(string, sizeof(string), "VIP Players: %d(%s)", i,AccType);
						First2 = true;
					}
	   					else format(string,sizeof(string),"%s, %d(%s)",string,i,AccType);
		        }
			    return SendClientMessage(playerid,yellow,string);
			}
			else return ErrorMessages(playerid, 1);
		}
		else return SendClientMessage(playerid,red,"[ ERROR: You must be logged in to use this commands. ]");
	}

	if(strcmp(cmd, "/frozen", true) == 0)
	{
		
		if(AccInfo[playerid][LoggedIn] == 1)
		{
			if(AccInfo[playerid][Level] >= 2)
			{
	    		new
					InFrozen,
					string[64],
					playername[MAX_PLAYER_NAME];

				#if USE_DIALOGS == true
	   			new
	            	dialog[1000];
				#endif

				for(new i=0;i<MAX_PLAYERS;i++)
			    {
			        if(IsPlayerConnected(i) && AccInfo[i][Frozen])
			        {
			            if(InFrozen == 0)
			            {
	       				 	InFrozen = 1;
							SendClientMessage(playerid,Green1,"[-------------------| Frozen Players |-------------------]");
			            }
			            GetPlayerName(i, playername, sizeof(playername));
			            #if USE_DIALOGS == true
	       				format(string, sizeof(string), "%s(%d)", playername,i);
		             	strcat(dialog,string);
		             	#else
			            format(string, sizeof(string), "* %s(%d)", playername,i);
	       				SendClientMessage(playerid,Green2,string);
		             	#endif
	          		}
	   			}
			    if(InFrozen == 0)
			    {
	  	 	 	SendClientMessage(playerid, red, "[ No players are frozen. ]");
	  	 	 	}
				else if(InFrozen == 1)
			    {
	  	 	 	#if USE_DIALOGS == true
	       		ShowPlayerDialog(playerid,1234,DIALOG_STYLE_LIST,"Player frozen:",dialog,"Close","");
	  	 	 	#else
	       		SendClientMessage(playerid,Green1,"[-------------------| /frozen |-------------------]");
	       		#endif
	  	 	 	}
	  	 	 	return 1;
			}
			else return ErrorMessages(playerid, 1);
		}
		else return SendClientMessage(playerid,red,"[ ERROR: You must be logged in to use this commands. ]");
	}

	if(strcmp(cmd, "/muted", true) == 0)
	{
		
		if(AccInfo[playerid][LoggedIn] == 1)
		{
			if(AccInfo[playerid][Level] >= 2)
			{
		 		new
					InMuted,
					string[64],
					playername[MAX_PLAYER_NAME];

				#if USE_DIALOGS == true
	   			new
	            	dialog[1000];
				#endif

				for(new i=0;i<MAX_PLAYERS;i++)
			    {
			        if(IsPlayerConnected(i) && AccInfo[i][Muted])
			        {
			            if(InMuted == 0)
			            {
	       				 	InMuted = 1;
							SendClientMessage(playerid,Green1,"[-------------------| Muted Players |-------------------]");
			            }
			            GetPlayerName(i, playername, sizeof(playername));
			           	#if USE_DIALOGS == true
	       				format(string, sizeof(string), "%s(%d)", playername,i);
		             	strcat(dialog,string);
		             	#else
			            format(string, sizeof(string), "* %s(%d)", playername,i);
	       				SendClientMessage(playerid,Green2,string);
		             	#endif
	          		}
	   			}
			    if(InMuted == 0)
			    {
	  	 	 	SendClientMessage(playerid, red, "[ No players are Muted. ]");
	  	 	 	}
				else if(InMuted == 1)
			    {
	  	 	 	#if USE_DIALOGS == true
				ShowPlayerDialog(playerid,1234,DIALOG_STYLE_LIST,"Player muted:",dialog,"Close","");
	  	 	 	#else
	       		SendClientMessage(playerid,Green1,"[-------------------| /muted |-------------------]");
	       		#endif
	  	 	 	}
	  	 	 	return 1;
			}
			else return ErrorMessages(playerid, 1);
		}
		else return SendClientMessage(playerid,red,"[ ERROR: You must be logged in to use this commands. ]");
	}

	if(strcmp(cmd, "/mute", true) == 0)
	{
		if(AccInfo[playerid][LoggedIn] == 1)
		{
			if(AccInfo[playerid][Level] >= 2)
			{
			    new tmp[256];
				new tmp2[256];
				new Index;
				tmp = strtok(params,Index);
				tmp2 = strtok(params,Index);
			    if(!strlen(params)) return
				SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /mute (player<name/id>) (reason) ]") &&
				SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will mute the specified player. ]");
				new playername[MAX_PLAYER_NAME];
				new adminname [MAX_PLAYER_NAME];
		    	new player1, string[128];
				player1 = strval(tmp);
			 	if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && (AccInfo[player1][Level] != ServerInfo[MaxAdminLevel]) )
				 {
			 	    if(AccInfo[player1][Muted] == 0)
			 	    {
						GetPlayerName(player1, playername, sizeof(playername));
						GetPlayerName(playerid, adminname, sizeof(adminname));
						SendCommandToAdmins(playerid,"Mute");
						PlayerPlaySound(player1,1057,0.0,0.0,0.0);
						AccInfo[player1][Muted] = 1;
						AccInfo[player1][MuteWarnings] = 0;
						if(strlen(tmp2))
						{
						format(string,sizeof(string),"[ ADMIN: You have been Muted by Administrator %s | Reason: %s. ]",adminname,params[2]);
						SendClientMessage(player1,blue,string);
						format(string,sizeof(string),"[ ADMIN: You have Muted %s | Reason: %s. ]", playername,params[2]);
						return SendClientMessage(playerid,BlueMsg,string);
						}
						else
						{
						format(string,sizeof(string),"[ ADMIN: You have been muted by Administrator %s | No Specified Reason. ]",adminname);
						SendClientMessage(player1,blue,string);
						format(string,sizeof(string),"[ ADMIN: You have Muted %s ]", playername);
						return SendClientMessage(playerid,BlueMsg,string);
						}
					}
					else return SendClientMessage(playerid, red, "[ ERROR: Player is already muted. ]");
				}
				else return SendClientMessage(playerid, red, "[ ERROR: Player is not connected or is the highest level admin. ]");
			}
			else return ErrorMessages(playerid, 1);
		}
		else return SendClientMessage(playerid,red,"[ ERROR: You must be logged in to use this commands. ]");
	}

	if(strcmp(cmd, "/unmute", true) == 0)
	{
		if(AccInfo[playerid][LoggedIn] == 1)
		{
			if(AccInfo[playerid][Level] >= 2)
			{
			    if(!strlen(params)) return
				SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /unmute (player<name/id>) ]") &&
				SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will unmute the specified player. ]");
		    	new player1, playername[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME], string[128];
				player1 = strval(params);
			 	if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && (AccInfo[player1][Level] != ServerInfo[MaxAdminLevel]))
				 {
			 	    if(AccInfo[player1][Muted] == 1)
					 {
						GetPlayerName(player1, playername, sizeof(playername));
						GetPlayerName(playerid, adminname, sizeof(adminname));
						SendCommandToAdmins(playerid,"Unmute");
						PlayerPlaySound(player1,1057,0.0,0.0,0.0);
						AccInfo[player1][Muted] = 0;
						AccInfo[player1][MuteWarnings] = 0;
						format(string,sizeof(string),"[ ADMIN: You have been Unmuted by Administrator %s. ]",adminname);
						SendClientMessage(player1,blue,string);
						format(string,sizeof(string),"[ ADMIN: You have unmuted %s ]", playername);
						return SendClientMessage(playerid,BlueMsg,string);
					}
					else return SendClientMessage(playerid, red, "[ ERROR: Player is not muted. ]");
				}
				else return SendClientMessage(playerid, red, "[ ERROR: Player is not connected or is the highest level admin. ]");
			}
			else return ErrorMessages(playerid, 1);
		}
		else return SendClientMessage(playerid,red,"[ ERROR: You must be logged in to use this commands. ]");
	}
	if(strcmp(cmd, "/slap", true) == 0)
	{
		if(AccInfo[playerid][LoggedIn] == 1)
		{
			if(AccInfo[playerid][Level] >= 2)
			{
				new Index;
			    new tmp[256];  tmp  = strtok(params,Index);
				new tmp2[256]; tmp2 = strtok(params,Index);

			    if(!strlen(params)) return
				SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /slap (player<id/name>) (reason)") &&
				SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will Slap the specified player");
	  			new player1;
		    	new string[128];
				new playername[MAX_PLAYER_NAME];
			 	new adminname [MAX_PLAYER_NAME];
				player1 = strval(tmp);

			 	if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && (AccInfo[player1][Level] != ServerInfo[MaxAdminLevel]))
				 {
					GetPlayerName(player1, playername, sizeof(playername));
					GetPlayerName(playerid, adminname, sizeof(adminname));
					SendCommandToAdmins(playerid,"Slap");
			        new Float:Health;
					new 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);

					if(strlen(tmp2))
					{
					format(string,sizeof(string),"[ ADMIN: You have been Slapped by Administrator %s | Reason: %s. ]",adminname,params[2]);
					SendClientMessage(player1,red,string);
					format(string,sizeof(string),"[ ADMIN: You have slapped %s | Reason: %s ]",playername,params[2]);
					return SendClientMessage(playerid,BlueMsg,string);
					}
					else
					{
					format(string,sizeof(string),"[ ADMIN: You have been slapped by Administrator %s | Reason: Not Specified. ]",adminname);
					SendClientMessage(player1,red,string);
					format(string,sizeof(string),"[ ADMIN: You have slapped %s ]",playername);
					return SendClientMessage(playerid,BlueMsg,string);
					}
				}
				else return SendClientMessage(playerid, red, "[ ERROR: Player is not connected or is the highest level admin. ]");
			}
			else return ErrorMessages(playerid, 1);
		}
		else return SendClientMessage(playerid,red,"[ ERROR: You must be logged in to use this commands. ]");
	}
	if(strcmp(cmd, "/akill", true) == 0)
	{
		if(AccInfo[playerid][LoggedIn] == 1)
		{
		    if(AccInfo[playerid][Level] >= 3|| IsPlayerAdmin(playerid))
			{
			    if(!strlen(params)) return
				SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /akill (player<name/id>) ]") &&
				SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will Kill a specified player. ]");
		    	new player1, playername[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME], string[128];
				player1 = strval(params);

			 	if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
			  	{
					if((AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel]))
					return SendClientMessage(playerid, red, "[ ERROR: You cannot akill the highest level admin. ]");
					SendCommandToAdmins(playerid,"AKIll");
					GetPlayerName(player1, playername, sizeof(playername));
					GetPlayerName(playerid, adminname, sizeof(adminname));
					format(string,sizeof(string),"[ Administrator %s has Killed you. ]",adminname);
					SendClientMessage(player1,blue,string);
					format(string,sizeof(string),"[ ADMIN: You have Killed %s. ]",playername);
	   				SendClientMessage(playerid,BlueMsg,string);
					return SetPlayerHealth(player1,0.0);
				}
				else return ErrorMessages(playerid, 2);
			}
			else return ErrorMessages(playerid, 1);
		}
		else return SendClientMessage(playerid,red,"[ ERROR: You must be logged in to use this commands. ]");
	}
	if(strcmp(cmd, "/aka", true) == 0)
	{
	    if(AccInfo[playerid][Level] >= 3 || IsPlayerAdmin(playerid))
		{
		    if(!strlen(params)) return
			SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /aka (player<name/id>) ]") &&
			SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will see other names used per specified player (AKA). ]");
	    	new player1, playername[MAX_PLAYER_NAME], str[128], pIP[50];
			player1 = strval(params);
		 	if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
			 {
	  		  	GetPlayerIp(player1,pIP,50);
				GetPlayerName(player1, playername, sizeof(playername));
				format(str,sizeof(str),"[ %s's AKA ]", playername);
	   	        SendClientMessage(playerid,blue,str);
			    format(str,sizeof(str),"[ Id: %d | Ip: %s | Names: %s ]", player1, pIP, dini_Get("/eAdmin/Config/aka.txt",pIP));
		        return SendClientMessage(playerid,blue,str);
			}
			else return SendClientMessage(playerid, red, "[ Player is not connected or is yourself. ]");
		}
		else return ErrorMessages(playerid, 1);
	}

	if(strcmp(cmd, "/screen", true) == 0)
	{
		if(AccInfo[playerid][Level] >= 2)
		{
		    new tmp [256];
			new tmp2[256], Index;
			tmp  = strtok(params,Index);
			tmp2 = strtok(params,Index);
		    if(!strlen(params)) return
	  		SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /screen (player<name/id>) (text) ]") &&
			SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will sending a Text in screen for specified Player. ]");
	    	new playername[MAX_PLAYER_NAME];
			new adminname [MAX_PLAYER_NAME], player1;
			new string[128];
			player1 = strval(params);

		 	if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && player1 != playerid && (AccInfo[player1][Level] != ServerInfo[MaxAdminLevel]))
			 {
				GetPlayerName(player1, playername, sizeof(playername));
				GetPlayerName(playerid, adminname, sizeof(adminname));
				SendCommandToAdmins(playerid,"Screen");
				format(string,sizeof(string),"[ Administrator %s has Sent you a Screen Message. ]",adminname);
				SendClientMessage(player1,blue,string);
				format(string,sizeof(string),"[ ADMIN: You have sent %s a Screen Message: %s. ]", playername, params[2]);
				SendClientMessage(playerid,BlueMsg,string);
				return GameTextForPlayer(player1, params[2],4000,3);
			}
			else return ErrorMessages(playerid, 3);
		}
		else return ErrorMessages(playerid, 1);
	}
	if(strcmp(cmd, "/laston", true) == 0)
	{
	    if(AccInfo[playerid][Level] >= 2)
		{
		    new player1;
	        new playername[MAX_PLAYER_NAME];
			new adminname [MAX_PLAYER_NAME];
			new str[128];
			new file[256];
	 	    new tmp2[256];
			GetPlayerName(playerid, adminname, sizeof(adminname));
			format(file,sizeof(file),"/eAdmin/Accounts/%s.sav",udb_encode(adminname));

			if(!strlen(params))
			{
			if(!fexist(file))
			return SendClientMessage(playerid, red, "[ ERROR: File not found, Player is not registered. ]");

			tmp2 = dini_Get(file,"LastOn");
			format(str, sizeof(str),"[ ADMIN: Your last Time on Server was: %s. ]",tmp2);
			return SendClientMessage(playerid, red, str);
			}
			
	 	    player1 = strval(params);
			if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && player1 != playerid)
			{
					SendCommandToAdmins(playerid,"LastON");
			 		GetPlayerName(player1,playername,sizeof(playername));
					format(file,sizeof(file),"/eAdmin/Accounts/%s.sav",udb_encode(playername));
					if(!fexist(file)) return SendClientMessage(playerid, red, "[ ERROR: File not found, Player is not registered. ]");
					tmp2 = dini_Get(file,"LastOn");
					format(str, sizeof(str),"[ The last time of '%s' in server was: %s. ]",playername,tmp2);
					return SendClientMessage(playerid, red, str);
			}
			else return ErrorMessages(playerid, 4);
		}
		else return ErrorMessages(playerid, 1);
	}
	if(strcmp(cmd, "/adminarea", true) == 0)
	{
		
	    if(AccInfo[playerid][Level] >= 1)
		{
	        SendCommandToAdmins(playerid,"AdminArea");
		    SetPlayerPos(playerid, AdminArea[0], AdminArea[1], AdminArea[2]);
		    SetPlayerFacingAngle(playerid, AdminArea[3]);
		    SetPlayerInterior(playerid, AdminArea[4]);
			SetPlayerVirtualWorld(playerid, AdminArea[5]);
			return GameTextForPlayer(playerid,"Welcome in Admin Area",1000,3);
		    }
			else
			{
		   	SetPlayerHealth(playerid,1.0);
	   		new string[100];
	  		format(string, sizeof(string),"[ATTENTION: %s has used AdminArea (Not an Admin). ]", PlayerName2(playerid));
		   	MessageToAdmins(red,string);
		}
		return SendClientMessage(playerid,red, "[ ERROR: You must be an administrator to use this command. ]");
	}


	if(strcmp(cmd, "/hide", true) == 0)
	{
	    
		if (AccInfo[playerid][Level] >= 4)
		{
		    if (AccInfo[playerid][Hide] == 1)
	 		return SendClientMessage(playerid,red,"[ ERROR: You are already have Hidden in the Admin List. ]");

	 		AccInfo[playerid][Hide] = 1;
	   		return SendClientMessage(playerid,green,"[ ADMIN: You are now Hidden from the Admin List. ]");
		}
		return ErrorMessages(playerid, 5);
	}
	if(strcmp(cmd, "/unhide", true) == 0)
	{
	    
		if(AccInfo[playerid][Level] >= 4)
		{
	 		if (AccInfo[playerid][Hide] != 1)
	 		return SendClientMessage(playerid,red,"[ ERROR: You are not Hidden in the Admin List. ]");
	  		AccInfo[playerid][Hide] = 0;
	   		return SendClientMessage(playerid,green,"[ ADMIN: You are now Visible in the Admin List. ]");
		}
	 	return ErrorMessages(playerid, 5);
	}


	//==============================================================================
	// Duty System
	//==============================================================================
	if(strcmp(cmd, "/onduty", true) == 0)
	{
	    
		if (AccInfo[playerid][Level] >= 1)
		{
		    if(AccInfo[playerid][OnDuty] == 0)
		    {
	 			AccInfo[playerid][OnDuty] = 1;
	 			SetPlayerTeam(playerid,NO_TEAM);
	 			SetPlayerHealth(playerid,93130.0);
	 			SetPlayerArmour(playerid,93130.0);
	 			ResetPlayerWeapons(playerid);
	 			GivePlayerWeapon(playerid,38,1000000);
	 			GivePlayerWeapon(playerid,16,1000000);
	 			GivePlayerWeapon(playerid,9,1);
	 			GivePlayerWeapon(playerid,26,1000000);
	 			GivePlayerWeapon(playerid,31,1000000);
	 			new string[200];
	 			format(string,sizeof(string),"Admin %s(%d) is now ON-Duty.",PlayerName2(playerid),playerid);
	 			SendClientMessageToAll(red,string);
	 			return SendClientMessage(playerid,green,"[ ADMIN: You are now in \"Duty Mode\". ]");
			}
			else
			{
			    SetPlayerHealth(playerid,0.0);
	 			SetPlayerTeam(playerid,NO_TEAM);
	 			ForceClassSelection(playerid);
				AccInfo[playerid][OnDuty] = 0;
	 			new string[200];
	 			format(string,sizeof(string),"Admin %s(%d) is now OFF-Duty.",PlayerName2(playerid),playerid);
	 			SendClientMessageToAll(red,string);
	 			return SendClientMessage(playerid,orange,"[ ADMIN: You are now in \"Playing Mode\". ]");
			}
		}
		return ErrorMessages(playerid, 5);
	}
	if(strcmp(cmd, "/admins", true) == 0)
	{
	        #if USE_DIALOGS == true
	        new count = 0;
	        new string[128];
	        new dialog[500];
			for(new i = 0; i < MAX_PLAYERS; i++)
			{
		 		if (IsPlayerConnected(i))
	 			{
					if(AccInfo[i][Level] >= 1 && AccInfo[i][Hide] == 0)
	 				{
						if(AccInfo[i][Level] > 5)
						{
							AdmRank = "Professional Admin";
						}
	 					if(IsPlayerAdmin(i))
					  	{
					  		AdmRank = "RCON Administrator";
					  	}
					    else
					    {
					 		switch(AccInfo[i][Level])
							{
								case 1: {
								AdmRank = "Basic Moderator";
								}
								case 2: {
								AdmRank = "Moderator";
								}
								case 3: {
								AdmRank = "Master Moderator";
								}
								case 4: {
								AdmRank = "Administrator";
								}
								case 5: {
								AdmRank = "Master Administrator";
								}
							}
						}
			 			switch(AccInfo[i][OnDuty])
						{
							case 0: AdmDuty = "Playing!";
							case 1: AdmDuty = "On Duty!";
						}
						format(string, 128, "%s (Id: %i) | Level: %d(%s, %s)\n",PlayerName2(i),i,AccInfo[i][Level],AdmRank,AdmDuty);
						strcat(dialog,string);
						count++;
					}
				}
			}
			if (count == 0)
			ShowPlayerDialog(playerid,1234,DIALOG_STYLE_LIST,"Admins online","No admin online yet.","Close","");
			else ShowPlayerDialog(playerid,1234,DIALOG_STYLE_LIST,"Admins online",dialog,"Close","");
			#else
	  		new count = 0;
	        new string[128];
	        new ChangeColor;
	  		SendClientMessage(playerid, green, " ");
	        SendClientMessage(playerid, LIGHTBLUE2, "___________ [ Online Admins ] ___________");
			SendClientMessage(playerid, LIGHTBLUE2, " ");
			for(new i = 0; i < MAX_PLAYERS; i++)
			{
		 		if (IsPlayerConnected(i))
	 			{
					if(AccInfo[i][Level] >= 1 && AccInfo[i][Hide] == 0)
	 				{
						if(AccInfo[i][Level] > 5)
						{
							AdmRank = "Professional Admin";
							ChangeColor = Color_Professional_Admin;
						}
	 					if(IsPlayerAdmin(i))
					  	{
					  		AdmRank = "RCON Administrator";
					  		ChangeColor = Color_RCON_Administrator;
					  	}
					    else
					    {
					 		switch(AccInfo[i][Level])
							{
								case 1: {
								AdmRank = "Basic Moderator";
								ChangeColor = Color_Basic_Moderator;
								}
								case 2: {
								AdmRank = "Moderator";
								ChangeColor = Color_Moderator;
								}
								case 3: {
								AdmRank = "Master Moderator";
								ChangeColor = Color_Master_Moderator;
								}
								case 4: {
								AdmRank = "Administrator";
								ChangeColor = Color_Administrator;
								}
								case 5: {
								AdmRank = "Master Administrator";
								ChangeColor = Color_Master_Administrator;
								}
							}
						}
			 			switch(AccInfo[i][OnDuty])
						{
							case 0: AdmDuty = "Playing!";
							case 1: AdmDuty = "On Duty!";
						}
						format(string, 128, "%s (Id: %i) | Level: %d(%s, %s)",PlayerName2(i),i,AccInfo[i][Level],AdmRank,AdmDuty);
						SendClientMessage(playerid, ChangeColor, string);
						count++;
					}
				}
			}
			if (count == 0)
			SendClientMessage(playerid,red,"No admin online in the list.");
			SendClientMessage(playerid, LIGHTBLUE2, " _______________________________________");
			#endif
			return 1;
	}



	if(strcmp(cmd, "/weaps", true) == 0)
	{
	    if(AccInfo[playerid][Level] >= 1 || IsPlayerAdmin(playerid))
		{
		    if(!strlen(params)) return
			SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /weaps (player<name/id>) ]") &&
			SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: See weapons of specified player. ]");

	    	new player1;
			new Count, x;
			new string[128], string2[64];
			new WeapName[24], slot, weap, ammo;
			player1 = strval(params);
		 	if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
			 {
				format(string2,sizeof(string2),"[-------------------| %s(Id: %d) Weapons |-------------------]", PlayerName2(player1),player1);
				SendClientMessage(playerid,Green1,string2);
				for(slot = 0; slot < 14; slot++)
				{
				GetPlayerWeaponData(player1, slot, weap, ammo);
				if( ammo != 0 && weap != 0)
				Count++;
				}
				if(Count < 1)
				return SendClientMessage(playerid,Green2,"No Weapons found.");

				if(Count >= 1)
				{
					for (slot = 0; slot < 14; slot++)
					{
					GetPlayerWeaponData(player1, slot, weap, ammo);

					if( ammo != 0 && weap != 0)
					{
					GetWeaponName(weap, WeapName, sizeof(WeapName));
					if(ammo == 65535 || ammo == 1)
					format(string,sizeof(string),"%s%s (1)",string, WeapName);
					else format(string,sizeof(string),"%s%s (%d)",string, WeapName, ammo);
					x++;
					if(x >= 5)
					{
		 			SendClientMessage(playerid, Green2, string);
		 			x = 0;
					format(string, sizeof(string), "");
					}
					else format(string, sizeof(string), "%s,  ", string);
					}
				    }
					if(x <= 4 && x > 0)
					{
					string[strlen(string)-3] = '.';
	    			SendClientMessage(playerid, Green2, string);
					}
			    }
				SendClientMessage(playerid,Green1,"[-------------------| /weaps |-------------------]");
			    return 1;
			}
			else return ErrorMessages(playerid, 2);
		}
		else return ErrorMessages(playerid, 1);
	}

	if(strcmp(cmd, "/morning", true) == 0)
	{
	    
	    if(AccInfo[playerid][Level] >= 1)
		{
	 	SendCommandToAdmins(playerid,"Morning");
	  	return SetPlayerTime(playerid,7,0);
	    }
		else return ErrorMessages(playerid, 8);
	}

	if(strcmp(cmd, "/reports", true) == 0)
	{
	    
	    new dialog[1000];
	   	if(AccInfo[playerid][Level] >= 1)
		{
			new ReportCount;
			for(new i = 1; i < MAX_REPORTS; i++)
			{
			if(strcmp( Reports[i], "[-NONE-]", true) != 0)
			{
			ReportCount++; strcat(dialog,Reports[i]);
			}
			}
			if(ReportCount == 0)
			SendClientMessage(playerid,red,"[ ADMIN: No reports Found. ]");
			else if(ReportCount == 1)
			ShowPlayerDialog(playerid,1234,DIALOG_STYLE_LIST,"Online Reports:",dialog,"Close","");
	 	}
		else ErrorMessages(playerid, 8);
		return 1;
	}

	if(strcmp(cmd, "/report", true) == 0)
	{
	    new reported;
		new tmp[256];
		new tmp2[256];
		new Index;
		tmp = strtok(params,Index);
		tmp2 = strtok(params,Index);
	    if(!strlen(params)) return
		SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /report (player<name/id>) (reason) ]") &&
		SendClientMessage(playerid, LIGHTBLUE2, "[ ATTENTION: Do not report anyone without a reason. ]");
		reported = strval(tmp);

	 	if(IsPlayerConnected(reported) && reported != INVALID_PLAYER_ID)
		 {
			if(AccInfo[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. ]");
			if(strlen(params) > 7)
			{
				new reportedname[MAX_PLAYER_NAME], reporter[MAX_PLAYER_NAME], str[128];
				new hour,minute,second;
				gettime(hour,minute,second);
				GetPlayerName(reported, reportedname, sizeof(reportedname));
				GetPlayerName(playerid, reporter, sizeof(reporter));
				format(str, sizeof(str), "[ REPORT: %s(Id:%d) Reported %s(Id:%d) Reason: %s |Time: %d:%d:%d. ]", reporter,playerid, reportedname, reported, params[strlen(tmp)+1], hour,minute,second);
				MessageToAdmins(COLOR_WHITE,str);
				SaveIn("ReportLog",str);
				format(str, sizeof(str), ""COL_WHITE"("COL_GREEN"%d:%d:%d"COL_WHITE")\nReporter: %s(Id:%d) | Against: %s(Id: %d) | Reason: %s\n", hour,minute,second, reporter,playerid, reportedname, reported, params[strlen(tmp)+1]);
				for(new i = 1; i < MAX_REPORTS-1; i++) Reports[i] = Reports[i+1];
				Reports[MAX_REPORTS-1] = str;
				return SendClientMessage(playerid,yellow, "[ Your report has been sent to Online Administrators and saved in File. ]");
			}
			else return SendClientMessage(playerid,red,"[ ERROR: Invalid Reason. ]");
		}
		else return ErrorMessages(playerid, 2);
	}

	if(strcmp(cmd, "/miniguns", true) == 0)
	{
	    
	    if(AccInfo[playerid][Level] >= 1)
		{
			new Count, string[128];
			new i, slot, weap, ammo;
			new dialog[1000];
			for(i = 0; i < MAX_PLAYERS; i++)
			{
				if(IsPlayerConnected(i))
				{
				for(slot = 0; slot < 14; slot++)
				{
				GetPlayerWeaponData(i, slot, weap, ammo);
				if(ammo != 0 && weap == 38)
				{
			 	Count++;
				format(string, sizeof(string), "%s(%d) "COL_ORANGE"| "COL_WHITE"Ammo: %d\n", PlayerName2(i), i, ammo);
				strcat(dialog,string);
				}
	    	    }
	    	    }
			}
			if(Count == 0)
			return SendClientMessage(playerid,red,"[ No player has Minigun. ]");
			else return ShowPlayerDialog(playerid,1234,DIALOG_STYLE_LIST,"Miniguns Search:",dialog,"Close","");
		}
		else return ErrorMessages(playerid, 1);
	}
	if(strcmp(cmd, "/richlist", true) == 0)
	{
	    
	    if(AccInfo[playerid][Level] >= 0)
		{
	 		new string[128], Slot1 = -1, Slot2 = -1, Slot3 = -1, Slot4 = -1, Slot5 = -1;
	        new HighestCash = -9999;
	        new dialog[1000];

			for(new x=0; x<MAX_PLAYERS; x++)
			if(IsPlayerConnected(x))
			if(GetPlayerMoney(x) >= HighestCash)
			{
			HighestCash = GetPlayerMoney(x);
			Slot1 = x;
			}
			HighestCash = -9999;
			for(new x=0; x<MAX_PLAYERS; x++)
			if(IsPlayerConnected(x) && x != Slot1)
			if(GetPlayerMoney(x) >= HighestCash)
			{
			HighestCash = GetPlayerMoney(x);
			Slot2 = x;
			}
			HighestCash = -9999;
			for(new x=0; x<MAX_PLAYERS; x++)
			if(IsPlayerConnected(x) && x != Slot1 && x != Slot2)
			if(GetPlayerMoney(x) >= HighestCash)
			{
			HighestCash = GetPlayerMoney(x);
			Slot3 = x;
			}
			HighestCash = -9999;
			for(new x=0; x<MAX_PLAYERS; x++)
			if(IsPlayerConnected(x) && x != Slot1 && x != Slot2 && x != Slot3)
			if(GetPlayerMoney(x) >= HighestCash)
			{
			HighestCash = GetPlayerMoney(x);
			Slot4 = x;
			}
			HighestCash = -9999;
			for(new x=0; x<MAX_PLAYERS; x++)
			if(IsPlayerConnected(x) && x != Slot1 && x != Slot2 && x != Slot3 && x != Slot4)
			if(GetPlayerMoney(x) >= HighestCash)
			{
			HighestCash = GetPlayerMoney(x);
			Slot5 = x;
			}
			if(Slot1 != -1){
			format(string, sizeof(string), ""COL_YELLOW"1> %s(%d) | $%d | Score: %d", PlayerName2(Slot1),Slot1,GetPlayerMoney(Slot1),GetPlayerScore(Slot1));
			strcat(dialog,string);
			}
			if(Slot2 != -1){
			format(string, sizeof(string), ""COL_RED"2> %s(%d) | $%d | Score: %d", PlayerName2(Slot2),Slot2,GetPlayerMoney(Slot2),GetPlayerScore(Slot2));
			strcat(dialog,string);
			}
			if(Slot3 != -1){
			format(string, sizeof(string), ""COL_MARONE"3> %s(%d) | $%d | Score: %d", PlayerName2(Slot3),Slot3,GetPlayerMoney(Slot3),GetPlayerScore(Slot3));
			strcat(dialog,string);
			}
			if(Slot4 != -1){
			format(string, sizeof(string), ""COL_BLUE"4> %s(%d) | $%d | Score: %d", PlayerName2(Slot4),Slot4,GetPlayerMoney(Slot4),GetPlayerScore(Slot4));
			strcat(dialog,string);
			}
			if(Slot5 != -1){
			format(string, sizeof(string), ""COL_ORANGE"5> %s(%d) | $%d | Score: %d", PlayerName2(Slot5),Slot5,GetPlayerMoney(Slot5),GetPlayerScore(Slot5));
			strcat(dialog,string);
			}
			ShowPlayerDialog(playerid,1234,DIALOG_STYLE_LIST,"Richlist: TOP-5",dialog,"Close","");
			return 1;
		}
		else return ErrorMessages(playerid, 1);
	}

	if(strcmp(cmd, "/botcheck", true) == 0)
	{
	    
		if(AccInfo[playerid][Level] >= 4)
		{
			for(new i=0; i<MAX_PLAYERS; i++)
			BotCheck(i);
			PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
			return SendCommandToAdmins(playerid,"BotCheck");
		}
		else return ErrorMessages(playerid, 5);
	}
	if(strcmp(cmd, "/unlockserver", true) == 0)
	{
	    
		if(AccInfo[playerid][Level] >= 4 || IsPlayerAdmin(playerid))
		{
	 		if(ServerInfo[Locked] == 1)
			{
	        return ShowPlayerDialog(playerid, DIALOG_TYPE_SERVUNLOCK, DIALOG_STYLE_MSGBOX, "Unlock Server","You are sure to want unlock the server?", "Yes", "No");
			}
			else return SendClientMessage(playerid,red,"[ ERROR: Server is not Locked. ]");
		}
		else return ErrorMessages(playerid, 1);
	}
	if(strcmp(cmd, "/lockserver", true) == 0)
	{
	    new string[156];
		if(AccInfo[playerid][Level] >= 4 || IsPlayerAdmin(playerid))
		{
			if(ServerInfo[Locked] == 0)
			{
			if(!strlen(params)) return
			SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /lockserver (pssword) ]") &&
			SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will server lock with specified Password. ]");
			strmid(ServerInfo[Password], params[0], 0, strlen(params[0]), 128);
			format(string, 128, "Server Password: '%s'", params);
			return ShowPlayerDialog(playerid, DIALOG_TYPE_SERVLOCK, DIALOG_STYLE_MSGBOX, "Lock/Unlock Server", string, "Yes", "No");
			}
	 		else return SendClientMessage(playerid,red,"[ ERROR: Server is Locked. ]");
		}
		else return ErrorMessages(playerid, 1);
	}

	if(strcmp(cmd, "/uconfig", true) == 0)
	{
	    
		if(AccInfo[playerid][Level] >= 4)
		{
			UpdateConfig();
			PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
			return SendCommandToAdmins(playerid,"UConfig");
		}
		else return ErrorMessages(playerid, 5);
	}

	//==============================================================================
	// Spectating Commands - I have changed. More it is not my
	//==============================================================================

	if(strcmp(cmd, "/lspec", true) == 0)
	{
	    if(AccInfo[playerid][Level] >= 2 || IsPlayerAdmin(playerid))
		{
			if(AccInfo[playerid][pGps] != -1)
			return SendClientMessage(playerid, red, "[ ERROR: First Disable the Gps System, (/gps off). ]");

		    if(!strlen(params) || !IsNumeric(params)) return
			SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /lspec (player<name/id>) ]") &&
			SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will spec a specified Player. ]");

			new specplayerid = ReturnUser(params);
			if(AccInfo[specplayerid][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
			return SendClientMessage(playerid,red,"[ ERROR: You cannot use this command on this admin. ]");

	        if(IsPlayerConnected(specplayerid) && specplayerid != INVALID_PLAYER_ID)
			{
				if(specplayerid == playerid)
				return SendClientMessage(playerid, red, "[ ERROR: You cannot spectate Yourself. ]");

				if(GetPlayerState(specplayerid) == PLAYER_STATE_SPECTATING && AccInfo[specplayerid][SpecID] != INVALID_PLAYER_ID)
				return SendClientMessage(playerid, red, "[ ERROR: Player spectating someone else. ]");

				if(GetPlayerState(specplayerid) != 1 && GetPlayerState(specplayerid) != 2 && GetPlayerState(specplayerid) != 3)
				return SendClientMessage(playerid, red, "[ ERROR: Player not Spawned. ]");

				if((AccInfo[specplayerid][Level] != ServerInfo[MaxAdminLevel]) || (AccInfo[specplayerid][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] == ServerInfo[MaxAdminLevel]))
				{
					GetPlayerPos(playerid,Pos[playerid][0],Pos[playerid][1],Pos[playerid][2]);
					GetPlayerFacingAngle(playerid,Pos[playerid][3]);
					SendCommandToAdmins(playerid,"LSpec");
					SendClientMessage(playerid,blue,"[ ADMIN: Spectating ON. ]");
				 	return StartSpectate(playerid, specplayerid);
				}
				else return SendClientMessage(playerid,red,"[ ERROR: You cannot spectate the highest level admin. ]");
			}
			else return ErrorMessages(playerid, 2);
		}
		else return ErrorMessages(playerid, 7);
	}

	if(strcmp(cmd, "/lspecvehicle", true) == 0)
	{
	    if(AccInfo[playerid][Level] >= 2 || IsPlayerAdmin(playerid))
		{
		    if(!strlen(params)) return
			SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /lspecvehicle (vehicleID) ]") &&
			SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will spec a specified Vehicle. ]");
			new specvehicleid = strval(params);
			if(specvehicleid < MAX_VEHICLES)
			{
				TogglePlayerSpectating(playerid, 1);
				PlayerSpectateVehicle(playerid, specvehicleid);
				AccInfo[playerid][SpecID]	= specvehicleid;
				AccInfo[playerid][SpecType] = ADMIN_SPEC_TYPE_VEHICLE;

				SendCommandToAdmins(playerid,"LSpecVehicle");
				GetPlayerPos(playerid,Pos[playerid][0],Pos[playerid][1],Pos[playerid][2]);
				GetPlayerFacingAngle(playerid,Pos[playerid][3]);
				return SendClientMessage(playerid,blue,"[ ADMIN: Vehicle Spectating ON. ]");
			}
			else return SendClientMessage(playerid,red, "[ ERROR: Invalid Vehicle ID. ]");
		}
		else return ErrorMessages(playerid, 7);
	}
	if(strcmp(cmd, "/lspecoff", true) == 0)
	{
		
	    if(AccInfo[playerid][Level] >= 2 || IsPlayerAdmin(playerid))
		{
	        if(AccInfo[playerid][SpecType] != ADMIN_SPEC_TYPE_NONE)
			{
				StopSpectate(playerid);
	  			TogglePlayerControllable(playerid, 0);
				SetTimerEx("ReturnPosition",1000,0,"d",playerid);
				return SendClientMessage(playerid,blue,"[ ADMIN: Spectating OFF. ]");
			}
			else return SendClientMessage(playerid,red,"[ ERROR: You are not spectating. ]");
		}
		else return ErrorMessages(playerid, 7);
	}


	//==============================================================================
	// Pickups and Objects
	//==============================================================================
	if(strcmp(cmd, "/object", true) == 0)
	{
	    if(AccInfo[playerid][Level] >= 5 || IsPlayerAdmin(playerid))
		{
		    if(!strlen(params)) return
		    SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /object (objectID) ]") &&
			SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will created a specified Object. ]");

		    new ObjID = strval(params), string[128];
			new Float:X, Float:Y, Float:Z, Float:Ang;
		    SendCommandToAdmins(playerid,"Object");
			GetPlayerPos(playerid, X, Y, Z);
			GetPlayerFacingAngle(playerid, Ang);
			X += (3 * floatsin(-Ang, degrees));
			Y += (3 * floatcos(-Ang, degrees));
			CreateObject(ObjID, X, Y, Z, 0.0, 0.0, Ang);
			format(string, sizeof(string), "CreateObject(%d, %0.2f, %0.2f, %0.2f, 0.00, 0.00, %0.2f);", ObjID, X, Y, Z, Ang);
	       	SaveIn("CreatedObjects",string);
			format(string, sizeof(string), "[ Object Created: (Id: %d) (Position: X: %0.2f, Y: %0.2f, Z: %0.2f) (Angle: %0.2f). ]", ObjID, X, Y, Z, Ang);
			return SendClientMessage(playerid,yellow, string);
		}
		else return ErrorMessages(playerid, 1);
	}
	if(strcmp(cmd, "/pickup", true) == 0)
	{
	    if(AccInfo[playerid][Level] >= 5 || IsPlayerAdmin(playerid))
		{
		    if(!strlen(params)) return
			SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /pickup (pickupID) ]") &&
			SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will created a specified Pickup. ]");

		    new PickupID = strval(params), string[128];
			new Float:X, Float:Y, Float:Z, Float:Ang;
		    SendCommandToAdmins(playerid,"Pickup");
			GetPlayerPos(playerid, X, Y, Z);
			GetPlayerFacingAngle(playerid, Ang);
			X += (3 * floatsin(-Ang, degrees));
			Y += (3 * floatcos(-Ang, degrees));
			CreatePickup(PickupID, 2, X+2, Y, Z);
			format(string, sizeof(string), "CreatePickup(%d, 2, %0.2f, %0.2f, %0.2f);", PickupID, X+2, Y, Z);
	       	SaveIn("CreatedPickups",string);
			format(string, sizeof(string), "[ Pickup Created: (Id: %d) (Position: X: %0.2f, Y: %0.2f, Z: %0.2f) ]", PickupID, X+2, Y, Z);
			return SendClientMessage(playerid,yellow, string);
		}
		else return ErrorMessages(playerid, 1);
	}
	//==============================================================================
	// Fake Commands
	//==============================================================================

	if(strcmp(cmd, "/fakecmd", true) == 0)
	{
	    if(AccInfo[playerid][Level] >= 5)
		{
		    new tmp[256], tmp2[256], Index;
			tmp = strtok(params,Index);
			tmp2 = strtok(params,Index);

		    if(!strlen(tmp) || !strlen(tmp2)) return
			SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /fakecmd (player<name/id>) (command) ]") &&
			SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will sending a false Command used per Specified player. ]");

			new player1 = strval(tmp);
			if(AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
			return SendClientMessage(playerid,red,"[ ERROR: You cannot use this command on this admin. ]");
	        if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
			{
		        SendCommandToAdmins(playerid,"FakeCmd");
		        CallRemoteFunction("OnPlayerCommandText", "is", player1, tmp2);
				return SendClientMessage(playerid,blue,"[ ADMIN: Fake command sent. ]");
		    }
			else return ErrorMessages(playerid, 2);
		}
		else return ErrorMessages(playerid, 1);
	}
	//--------------------------
	if(strcmp(cmd, "/fakechat", true) == 0)
	{
	    if(AccInfo[playerid][Level] >= 5)
		{
		    new tmp[256], tmp2[256], Index;
			tmp = strtok(params,Index);
			tmp2 = strtok(params,Index);
		    if(!strlen(tmp) || !strlen(tmp2)) return
			SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /fakechat (player<name/id>) (message) ]") &&
			SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will sending a false message typed per Specified player. ]");

			new player1 = strval(tmp);
			if(AccInfo[player1][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
			return SendClientMessage(playerid,red,"[ ERROR: You cannot use this command on this admin. ]");
	        if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
			{
		        SendCommandToAdmins(playerid,"FakeChat");
				SendPlayerMessageToAll(player1, params[strlen(tmp)+1]);
				return SendClientMessage(playerid,blue,"[ ADMIN: Fake message sent. ]");
		    }
			else return ErrorMessages(playerid, 2);
		}
		else return ErrorMessages(playerid, 1);
	}
	//--------------------------
	if(strcmp(cmd, "/fakedeath", true) == 0)
	{
	    if(AccInfo[playerid][Level] >= 4)
		{
		    new Index;
		    new tmp	[256];
			new tmp2[256];
			new tmp3[256];
			tmp  = strtok(params,Index);
			tmp2 = strtok(params,Index);
			tmp3 = strtok(params,Index);

		    if(!strlen(tmp) || !strlen(tmp2) || !strlen(tmp3)) return
			SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /fakedeath (killerID) (playerID) (weaponID) ]") &&
			SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will cause a false death per specified player (FakeKill). ]");

			new killer = strval(tmp);
			new killee = strval(tmp2);
			new weap = strval(tmp3);
			if(!IsValidWeapon(weap))
			return SendClientMessage(playerid,red,"[ ERROR: Invalid Weapon ID. ]");
			if(AccInfo[killer][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
			return SendClientMessage(playerid,red,"[ ERROR: You cannot use this command on this admin. ]");
			if(AccInfo[killee][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
		 	return SendClientMessage(playerid,red,"[ ERROR: You cannot use this command on this admin. ]");

	        if(IsPlayerConnected(killer) && killer != INVALID_PLAYER_ID)
			{
		        if(IsPlayerConnected(killee) && killee != INVALID_PLAYER_ID)
				{
		    	  	SendCommandToAdmins(playerid,"FakeDeath");
					SendDeathMessage(killer,killee,weap);
					return SendClientMessage(playerid,blue,"[ ADMIN: Fake death message sent. ]");
			    }
				else return SendClientMessage(playerid,red,"[ ERROR: Fake Killed is not connected. ]");
		    }
			else return SendClientMessage(playerid,red,"[ ERROR: Fake Killer is not connected. ]");
		}
		else return ErrorMessages(playerid, 1);
	}

	//==============================================================================
	//-------------------------------------------------
	// All (Commands)
	//-------------------------------------------------
	//==============================================================================

	if(strcmp(cmd, "/healall", true) == 0)
	{
	    
		if(AccInfo[playerid][Level] >= 3)
		{
			SendCommandToAdmins(playerid,"HealAll");
		   	for(new i = 0; i < MAX_PLAYERS; i++)
			{
			if(IsPlayerConnected(i) && (i != playerid) && i != ServerInfo[MaxAdminLevel])
			{
			PlayerPlaySound(i,1057,0.0,0.0,0.0);
			SetPlayerHealth(i,100.0);
			}
			}
			new string[128];
			format(string,sizeof(string),"[ Administrator \"%s\" has Healed all players. ]", pName(playerid));
			return SendClientMessageToAll(blue, string);
		}
		else return ErrorMessages(playerid, 6);
	}
	if(strcmp(cmd, "/spawnall", true) == 0)
	{
	    
		if(AccInfo[playerid][Level] >= 4)
		{
			SendCommandToAdmins(playerid,"SpawnAll");
		   	for(new i = 0; i < MAX_PLAYERS; i++)
	  		{
			if(IsPlayerConnected(i) && (i != playerid) && i != ServerInfo[MaxAdminLevel])
			{
			PlayerPlaySound(i,1057,0.0,0.0,0.0);
			SetPlayerPos(i, 0.0, 0.0, 0.0); SpawnPlayer(i);
			}
			}
			new string[128];
			format(string,sizeof(string),"[ Administrator \"%s\" has Spawned all players. ]", pName(playerid));
			return SendClientMessageToAll(blue, string);
		}
		else return ErrorMessages(playerid, 5);
	}
	if(strcmp(cmd, "/armourall", true) == 0)
	{
	    
		if(AccInfo[playerid][Level] >= 3)
		{
			SendCommandToAdmins(playerid,"ArmourAll");
		   	for(new i = 0; i < MAX_PLAYERS; i++)
	  		{
			if(IsPlayerConnected(i) && (i != playerid) && i != ServerInfo[MaxAdminLevel])
			{
			PlayerPlaySound(i,1057,0.0,0.0,0.0);
			SetPlayerArmour(i,100.0);
			}
			}
			new string[128];
			format(string,sizeof(string),"[ Administrator \"%s\" has Restored all players armour. ]", pName(playerid));
			return SendClientMessageToAll(blue, string);
		}
		else return ErrorMessages(playerid, 6);
	}

	if(strcmp(cmd, "/slapall", true) == 0)
	{
	    
		if(AccInfo[playerid][Level] >= 4)
		{
			SendCommandToAdmins(playerid,"SlapAll");
			new Float:x, Float:y, Float:z;
		   	for(new i = 0; i < MAX_PLAYERS; i++)
	  		{
			if(IsPlayerConnected(i) && (i != playerid) && i != ServerInfo[MaxAdminLevel])
			{
			PlayerPlaySound(i,1190,0.0,0.0,0.0);
			GetPlayerPos(i,x,y,z);
			SetPlayerPos(i,x,y,z+4);
			}
			}
			new string[128];
			format(string,sizeof(string),"[ Administrator \"%s\" has Slapped all players. ]", pName(playerid));
			return SendClientMessageToAll(blue, string);
		}
		else return ErrorMessages(playerid, 5);
	}

	if(strcmp(cmd, "/freezeall", true) == 0)
	 {
	    
		if(AccInfo[playerid][Level] >= 4)
		{
			SendCommandToAdmins(playerid,"FreezeAll");
		   	for(new i = 0; i < MAX_PLAYERS; i++) {
			if(IsPlayerConnected(i) && (i != playerid) && i != ServerInfo[MaxAdminLevel])
			{
			PlayerPlaySound(i,1057,0.0,0.0,0.0);
			TogglePlayerControllable(playerid,false);
			AccInfo[i][Frozen] = 1;
	        }
			}
			new string[128];
			format(string,sizeof(string),"[ Administrator \"%s\" has Frozen all players. ]", pName(playerid));
			return SendClientMessageToAll(blue, string);
		}
		else return ErrorMessages(playerid, 5);
	}

	if(strcmp(cmd, "/unfreezeall", true) == 0)
	{
	    
		if(AccInfo[playerid][Level] >= 4)
		{
			SendCommandToAdmins(playerid,"UnfreezeAll");
		   	for(new i = 0; i < MAX_PLAYERS; i++)
	  		{
			if(IsPlayerConnected(i) && (i != playerid) && i != ServerInfo[MaxAdminLevel])
			{
			PlayerPlaySound(i,1057,0.0,0.0,0.0);
			TogglePlayerControllable(playerid,true);
			AccInfo[i][Frozen] = 0;
			}
			}
			new string[128];
			format(string,sizeof(string),"[ Administrator \"%s\" has Unfrozen all players. ]", pName(playerid));
			return SendClientMessageToAll(blue, string);
		}
		else return ErrorMessages(playerid, 5);
	}

	if(strcmp(cmd, "/killall", true) == 0)
	{
	    
		if(AccInfo[playerid][Level] >= 4)
		{
			SendCommandToAdmins(playerid,"KillAll");
		   	for(new i = 0; i < MAX_PLAYERS; i++)
	  		{
			if(IsPlayerConnected(i) && (i != playerid) && i != ServerInfo[MaxAdminLevel])
			{
			PlayerPlaySound(i,1057,0.0,0.0,0.0);
			SetPlayerHealth(i,0.0);
			}
			}
			new string[128];
			format(string,sizeof(string),"[ Administrator \"%s\" has Killed all players. ]", pName(playerid));
			return SendClientMessageToAll(blue, string);
		}
		else return ErrorMessages(playerid, 5);
	}

	if(strcmp(cmd, "/kickall", true) == 0)
	{
	    
		if(AccInfo[playerid][Level] >= 4)
		{
			SendCommandToAdmins(playerid,"KickAll");
		   	for(new i = 0; i < MAX_PLAYERS; i++) {
			if(IsPlayerConnected(i) && (i != playerid) && i != ServerInfo[MaxAdminLevel])
			{
			PlayerPlaySound(i,1057,0.0,0.0,0.0);
			Kick(i);
			}
			}
			new string[128];
			format(string,sizeof(string),"[ Administrator \"%s\" has Kicked all players. ]", pName(playerid));
			SaveIn("KickLog",string);
			return SendClientMessageToAll(blue, string);
		}
		else return ErrorMessages(playerid, 5);
	}

	if(strcmp(cmd, "/explodeall", true) == 0)
	{
	    
		if(AccInfo[playerid][Level] >= 4)
		{
			SendCommandToAdmins(playerid,"ExplodeAll");
			new Float:x, Float:y, Float:z;
		   	for(new i = 0; i < MAX_PLAYERS; i++)
	  		{
			if(IsPlayerConnected(i) && (i != playerid) && i != ServerInfo[MaxAdminLevel])
			{
			PlayerPlaySound(i,1190,0.0,0.0,0.0);
			GetPlayerPos(i,x,y,z);
			CreateExplosion(x,y,z,7,10.0);
			}
			}
			new string[128]; format(string,sizeof(string),"[ Administrator \"%s\" has Exploded all players. ]", pName(playerid));
			return SendClientMessageToAll(blue, string);
		}
		else return ErrorMessages(playerid, 5);
	}

	if(strcmp(cmd, "/setallwanted", true) == 0)
	{
		if(AccInfo[playerid][Level] >= 3)
		{
		    if(!strlen(params)) return
		    SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /setallwanted (wantedLevel) ]") &&
			SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will set a specified Weather for all players. ]");
			new var = strval(params), string[128];
	       	SendCommandToAdmins(playerid,"SetAllWanted");
			for(new i = 0; i < MAX_PLAYERS; i++)
			{
				if(IsPlayerConnected(i))
				{
					PlayerPlaySound(i,1057,0.0,0.0,0.0);
					SetPlayerWantedLevel(i,var);
				}
			}
			format(string,sizeof(string),"[ Administrator \"%s\" has set all players wanted level to '%d'. ]", pName(playerid), var );
			return SendClientMessageToAll(blue, string);
		}
		else return ErrorMessages(playerid, 1);
	}

	if(strcmp(cmd, "/setallskin", true) == 0)
	{
		if(AccInfo[playerid][Level] >= 3)
		{
		    if(!strlen(params)) return
		    SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /setallskin (skinID) ]") &&
			SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will set a specified Skin for all players. ]");
			new var = strval(params), string[128];
			if(!IsValidSkin(var)) return SendClientMessage(playerid, red, "[ ERROR: Invaild Skin ID. ]");
	       	SendCommandToAdmins(playerid,"SetAllSkin");
			for(new i = 0; i < MAX_PLAYERS; i++)
			{
				if(IsPlayerConnected(i))
				{
					PlayerPlaySound(i,1057,0.0,0.0,0.0);
					SetPlayerSkin(i,var);
				}
			}
			format(string,sizeof(string),"[ Administrator \"%s\" has set all players Skin to '%d'. ]", pName(playerid), var );
			return SendClientMessageToAll(blue, string);
		}
		else return ErrorMessages(playerid, 1);
	}

	if(strcmp(cmd, "/setallweather", true) == 0)
	{
		if(AccInfo[playerid][Level] >= 3)
		{
		    if(!strlen(params)) return
		    SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /setallweather (weatherID) ]") &&
			SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will set a specified Weather for all players. ]");
			new var = strval(params), string[128];
	       	SendCommandToAdmins(playerid,"SetAllWeather");
			for(new i = 0; i < MAX_PLAYERS; i++)
			{
				if(IsPlayerConnected(i))
				{
					PlayerPlaySound(i,1057,0.0,0.0,0.0);
					SetPlayerWeather(i, var);
				}
			}
			format(string,sizeof(string),"[ Administrator \"%s\" has set all players Weather to '%d'. ]", pName(playerid), var );
			return SendClientMessageToAll(blue, string);
		}
	    else return ErrorMessages(playerid, 1);
	}

	if(strcmp(cmd, "/disarmall", true) == 0)
	{
	    
		if(AccInfo[playerid][Level] >= 4)
		{
			SendCommandToAdmins(playerid,"DisarmAll");
		   	for(new i = 0; i < MAX_PLAYERS; i++)
		   	{
			if(IsPlayerConnected(i) && (i != playerid) && i != ServerInfo[MaxAdminLevel])
			{
			PlayerPlaySound(i,1057,0.0,0.0,0.0);
			ResetPlayerWeapons(i);
			}
			}
			new string[128];
			format(string,sizeof(string),"[ Administrator \"%s\" has Disarmed all Players. ]", pName(playerid));
			return SendClientMessageToAll(blue, string);
		}
		else return ErrorMessages(playerid, 5);
	}

	if(strcmp(cmd, "/ejectall", true) == 0)
	{
	    
		if(AccInfo[playerid][Level] >= 4)
		{
	    	SendCommandToAdmins(playerid,"EjectAll");
	        new Float:x, Float:y, Float:z;
		   	for(new i = 0; i < MAX_PLAYERS; i++)
	 	   	{
			if(IsPlayerConnected(i) && (i != playerid) && i != ServerInfo[MaxAdminLevel])
			{
			if(IsPlayerInAnyVehicle(i))
			{
			PlayerPlaySound(i,1057,0.0,0.0,0.0);
			GetPlayerPos(i,x,y,z);
			SetPlayerPos(i,x,y,z+3);
			}
			}
			}
			new string[128];
			format(string,sizeof(string),"[ Administrator \"%s\" has Ejected all Players. ]", pName(playerid));
			return SendClientMessageToAll(blue, string);
		}
		else return ErrorMessages(playerid, 5);
	}

	if(strcmp(cmd, "/setalltime", true) == 0)
	{
		if(AccInfo[playerid][Level] >= 3)
		{
		    if(!strlen(params)) return
			SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /setalltime (time(Hour)) ]") &&
			SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will set a specified Hour for all players. ]");

			new var = strval(params), string[128];
			if(var > 24) return SendClientMessage(playerid, red, "[ ERROR: Invalid Hour. ]");
	       	SendCommandToAdmins(playerid,"SetAllTime");
			for(new i = 0; i < MAX_PLAYERS; i++)
			{
				if(IsPlayerConnected(i))
				{
					PlayerPlaySound(i,1057,0.0,0.0,0.0);
					SetPlayerTime(i, var, 0);
				}
			}
			format(string,sizeof(string),"[ Administrator \"%s\" has set all players Time to '%d:00'. ]", pName(playerid), var );
			return SendClientMessageToAll(blue, string);
		}
		else return ErrorMessages(playerid, 1);
	}

	if(strcmp(cmd, "/setallcash", true) == 0)
	{
		if(AccInfo[playerid][Level] >= 3)
		{
		    if(!strlen(params)) return
		    SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /setallcash (value) ]") &&
			SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will set a specified value in Money for all players. ]");
			new var = strval(params), string[128];
	       	SendCommandToAdmins(playerid,"SetAllCash");
			for(new i = 0; i < MAX_PLAYERS; i++)
			{
				if(IsPlayerConnected(i))
				{
					PlayerPlaySound(i,1057,0.0,0.0,0.0);
					ResetPlayerMoney(i);
					GivePlayerMoney(i,var);
				}
			}
			format(string,sizeof(string),"[ Administrator \"%s\" has set all Players Cash to '$%d'. ]", pName(playerid), var );
			return SendClientMessageToAll(blue, string);
		}
		else return ErrorMessages(playerid, 1);
	}

	if(strcmp(cmd, "/setallworld", true) == 0)
	{
		if(AccInfo[playerid][Level] >= 3)
		{
		    if(!strlen(params)) return
		    SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /setallworld (virtualworld) ]") &&
			SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will set a specified Virtual World for all players. ]");
			new var = strval(params), string[128];
	       	SendCommandToAdmins(playerid,"SetAllWorld");
			for(new i = 0; i < MAX_PLAYERS; i++)
			{
				if(IsPlayerConnected(i))
				{
					PlayerPlaySound(i,1057,0.0,0.0,0.0);
					SetPlayerVirtualWorld(i,var);
				}
			}
			format(string,sizeof(string),"[ Administrator \"%s\" has set all players Virtual Worlds to '%d'. ]", pName(playerid), var );
			return SendClientMessageToAll(blue, string);
		}
		else return ErrorMessages(playerid, 1);
	}

	if(strcmp(cmd, "/setallscore", true) == 0)
	 {
		if(AccInfo[playerid][Level] >= 3)
		{
		    if(!strlen(params)) return
		    SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /setallscore (score) ]") &&
			SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will set a score value for all players. ]");
			new var = strval(params), string[128];
	       	SendCommandToAdmins(playerid,"SetAllScore");
			for(new i = 0; i < MAX_PLAYERS; i++)
			{
				if(IsPlayerConnected(i)) {
					PlayerPlaySound(i,1057,0.0,0.0,0.0);
					SetPlayerScore(i,var);
				}
			}
			format(string,sizeof(string),"[ Administrator \"%s\" has set all Players Scores to '%d'. ]", pName(playerid), var );
			return SendClientMessageToAll(blue, string);
		}
		else return ErrorMessages(playerid, 1);
	}

	if(strcmp(cmd, "/getall", true) == 0)
	{
	    
		if(AccInfo[playerid][Level] >= 4)
		{
			SendCommandToAdmins(playerid,"GetAll");
			new Float:x,Float:y,Float:z, interior = GetPlayerInterior(playerid);
	    	GetPlayerPos(playerid,x,y,z);
		   	for(new i = 0; i < MAX_PLAYERS; i++)
	  		{
			if(IsPlayerConnected(i) && (i != playerid) && i != ServerInfo[MaxAdminLevel])
			{
			PlayerPlaySound(i,1057,0.0,0.0,0.0);
			SetPlayerPos(i,x+(playerid/4)+1,y+(playerid/4),z);
			SetPlayerInterior(i,interior);
			}
			}
			new string[128];
			format(string,sizeof(string),"[ Administrator \"%s\" has Teleported all players. ]", pName(playerid));
			return SendClientMessageToAll(blue, string);
		}
		else return ErrorMessages(playerid, 5);
	}

	if(strcmp(cmd, "/muteall", true) == 0)
	{
	    
		if(AccInfo[playerid][Level] >= 4)
		{
			SendCommandToAdmins(playerid,"MuteAll");
		   	for(new i = 0; i < MAX_PLAYERS; i++)
	  		{
			if(IsPlayerConnected(i) && (i != playerid) && i != ServerInfo[MaxAdminLevel])
			{
			PlayerPlaySound(i,1057,0.0,0.0,0.0);
			AccInfo[i][Muted] = 1;
			AccInfo[i][MuteWarnings] = 0;
			}
			}
			new string[128];
			format(string,sizeof(string),"[ Administrator \"%s\" has Muted all players. ]", pName(playerid));
			return SendClientMessageToAll(blue, string);
		}
		else return ErrorMessages(playerid, 5);
	}

	if(strcmp(cmd, "/unmuteall", true) == 0)
	{
	    
		if(AccInfo[playerid][Level] >= 4)
		{
			SendCommandToAdmins(playerid,"UnmuteAll");
		   	for(new i = 0; i < MAX_PLAYERS; i++)
	  		{
			if(IsPlayerConnected(i) && (i != playerid) && i != ServerInfo[MaxAdminLevel])
			{
			PlayerPlaySound(i,1057,0.0,0.0,0.0);
		 	AccInfo[i][Muted] = 0;
			AccInfo[i][MuteWarnings] = 0;
			}
			}
			new string[128];
			format(string,sizeof(string),"[ Administrator \"%s\" has Unmuted all players. ]", pName(playerid));
			return SendClientMessageToAll(blue, string);
		}
		else return ErrorMessages(playerid, 5);
	}

	if(strcmp(cmd, "/giveallcash", true) == 0)
	{
		if(AccInfo[playerid][Level] >= 3)
		{
		    if(!strlen(params)) return
			SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /giveallcash (value) ]") &&
			SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will give a specified value in Money for all players. ]");
			new var = strval(params), string[128];
	       	SendCommandToAdmins(playerid,"GiveAllCash");
			for(new i = 0; i < MAX_PLAYERS; i++)
			{
				if(IsPlayerConnected(i))
				{
					PlayerPlaySound(i,1057,0.0,0.0,0.0);
					GivePlayerMoney(i,var);
				}
			}
			format(string,sizeof(string),"[ Administrator \"%s\" has given all Players '$%d'. ]", pName(playerid), var );
			return SendClientMessageToAll(blue, string);
		}
		else return ErrorMessages(playerid, 1);
	}

	if(strcmp(cmd, "/giveallscore", true) == 0)
	{
		if(AccInfo[playerid][Level] >= 3)
		{
		    if(!strlen(params)) return
			SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /giveallscore (value) ]") &&
			SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will give a specified value of score for all players. ]");
			new var = strval(params), string[128];
	       	SendCommandToAdmins(playerid,"GiveAllScore");
			for(new i = 0; i < MAX_PLAYERS; i++)
			{
				if(IsPlayerConnected(i))
				{
					PlayerPlaySound(i,1057,0.0,0.0,0.0);
					SetPlayerScore(i,GetPlayerScore(i)+var);
				}
			}
			format(string,sizeof(string),"[ Administrator \"%s\" has given all Players '%d' score. ]", pName(playerid), var );
			return SendClientMessageToAll(blue, string);
		}
		else return ErrorMessages(playerid, 1);
	}

	if(strcmp(cmd, "/giveallweapon", true) == 0)
	{
		if(AccInfo[playerid][Level] >= 3)
		{
		    new tmp[256], tmp2[256], Index;
			new ammo, weap, WeapName[32];
			new string[128];
			tmp = strtok(params,Index); tmp2 = strtok(params,Index);
		    if(!strlen(tmp)) return
		    SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /giveallweapon (weaponID or weaponName) (ammo) ]") &&
			SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will give a specified weapon and ammo for all players. ]");

			if(!strlen(tmp2) || !IsNumeric(tmp2) || strval(tmp2) <= 0 || strval(tmp2) > 99999) ammo = 500;
			if(!IsNumeric(tmp))
			weap = GetWeaponIDFromName(tmp);
			else weap = strval(tmp);
		  	if(!IsValidWeapon(weap))
	  		return SendClientMessage(playerid,red,"[ ERROR: Invalid Weapon ID. ]");
	      	SendCommandToAdmins(playerid,"GiveAllWeapon");
			for(new i = 0; i < MAX_PLAYERS; i++)
			{
				if(IsPlayerConnected(i))
				{
				PlayerPlaySound(i,1057,0.0,0.0,0.0);
				GivePlayerWeapon(i,weap,ammo);
				}
			}
			GetWeaponName(weap, WeapName, sizeof(WeapName));
			format(string,sizeof(string),"[ Administrator \"%s\" has Given all Players a %'s' (%d) with %d rounds of Ammo. ]", pName(playerid), WeapName, weap, ammo);
			return SendClientMessageToAll(blue, string);
		}
		else return ErrorMessages(playerid, 1);
	}
	//==============================================================================
	// Position
	//==============================================================================
	if(strcmp(cmd, "/gotoplace", true) == 0)
	{
	    
		if(AccInfo[playerid][LoggedIn] == 1 && AccInfo[playerid][Level] >= 1)
		{
		    if (dUserINT(PlayerName2(playerid)).("x")!=0)
			{
			    PutAtPos(playerid);
				SetPlayerVirtualWorld(playerid, (dUserINT(PlayerName2(playerid)).("world")) );
				return SendClientMessage(playerid,BlueMsg,"[ ADMIN: You have been teleported to your saved position. ]");
			}
			else return SendClientMessage(playerid,red,"[ ERROR: You not have a saved Position! (/gotoplace). ]");
		}
		else return SendClientMessage(playerid,red, "[ ERROR: You must be an administrator to use this command. ]");
	}

	if(strcmp(cmd, "/saveplace", true) == 0)
	{
	    
		if(AccInfo[playerid][LoggedIn] == 1 && AccInfo[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)));
			return SendClientMessage(playerid,BlueMsg,"[ ADMIN: Coordinates of your position successfully saved. ]");
		}
		else return SendClientMessage(playerid,red, "[ ERROR: You must be an administrator to use this command. ]");
	}
	//==============================================================================
	//==============================================================================
	// Dialog Menu
	//==============================================================================
	#if USE_DIALOGS == true
	if(strcmp(cmd, "/lmenu", true) == 0)
	{
	    
	    if(AccInfo[playerid][Level] >= 2)
		{
	        if(IsPlayerInAnyVehicle(playerid))
			{
	        TogglePlayerControllable(playerid,false);
			return ShowPlayerDialog(playerid, DIALOGID+1, DIALOG_STYLE_LIST, "Admin Main Menu",
			"Enable\nDisable\nServer Weather\nServer Time\nVehicles\nTuning Menu\nWeapons\nTeleports", "Select", "Cancel");
	        }
			else return ShowPlayerDialog(playerid, DIALOGID+1, DIALOG_STYLE_LIST, "Admin Main Menu",
			"Enable\nDisable\nServer Weather\nServer Time\nVehicles\nTuning Menu\nWeapons\nTeleports", "Select", "Cancel");
	    }
	    else return ErrorMessages(playerid, 1);
	}
	if(strcmp(cmd, "/execcmd", true) == 0)
	{
	    
	    if(AccInfo[playerid][Level] >= 2)
		{
			return ShowPlayerDialog(playerid, DIALOGID+80, DIALOG_STYLE_INPUT, "Admin - Execute Command",
			"Simple type a Command! \n\nFor eAdmin, for your GameMode, and for any other Filterscript! \n\nExemple: 'ban 0 cheats' (Without '/')", "Exec Cmd", "Cancel");
	    }
	    else return ErrorMessages(playerid, 1);
	}


	if(strcmp(cmd, "/fstyles", true) == 0)
	{
	    
	    if(AccInfo[playerid][Level] >= 2)
		{
		    new tmp[128];
		    new FightName[30];
		    new Float:FStyle;

		    FStyle = GetPlayerFightingStyle(playerid);

		    if(FStyle == FIGHT_STYLE_ELBOW) 	FightName = "Elbow";
		    if(FStyle == FIGHT_STYLE_BOXING) 	FightName = "Boxing";
		    if(FStyle == FIGHT_STYLE_GRABKICK) 	FightName = "Grabkick";
		    if(FStyle == FIGHT_STYLE_KNEEHEAD) 	FightName = "Kneehead";
		    if(FStyle == FIGHT_STYLE_KUNGFU) 	FightName = "Kungfu";
		    if(FStyle == FIGHT_STYLE_NORMAL) 	FightName = "Normal";

	   		format(tmp,sizeof(tmp),"Admin - Fighting Styles (Current: %s)",FightName);
			return ShowPlayerDialog(playerid,DIALOGID+81,DIALOG_STYLE_LIST,tmp,"Elbow\nBoxing\nGrabkick\nKneehead\nKungfu\nNormal", "Change", "Cancel");
	    }
	    else return ErrorMessages(playerid, 1);
	}

	if(strcmp(cmd, "/console", true) == 0)
	{
	    
	    if(AccInfo[playerid][Level] >= 5)
		{
	 		return ShowPlayerDialog(playerid, DIALOGID+61, DIALOG_STYLE_LIST, "Admin - Console",
			"Load Filterscript\nUnload Filterscript\nChange Mode\nRestart (Gmx)\nLoad eAdmin\nUnload eAdmin\nReload eAdmin\nUnban IP\nReload Bans\nExecute Command", "Select", "Cancel");
	    }
	    else return ErrorMessages(playerid, 1);
	}

	if(strcmp(cmd, "/ctele", true) == 0)
	{
	    
	    if(AccInfo[playerid][Level] >= 4)
		{
	 		return ShowPlayerDialog(playerid,DIALOGID+70,DIALOG_STYLE_LIST,"Admin - Teleport System:","Create Tele\nDelete Tele\nTeleport","Ok","Cancel");
	    }
	    else return ErrorMessages(playerid, 1);
	}
	#endif
	//==============================================================================
	// Skin
	//==============================================================================
	if(strcmp(cmd, "/useskin", true) == 0)
	{
	    
		if(AccInfo[playerid][Level] >= 1 && AccInfo[playerid][LoggedIn] == 1)
		{
		    dUserSetINT(PlayerName2(playerid)).("UseSkin",1);
	    	SetPlayerSkin(playerid,dUserINT(PlayerName2(playerid)).("FavSkin"));
			return SendClientMessage(playerid,BlueMsg,"[ Ready, Skin in use. ]");
		} else return SendClientMessage(playerid,red,"[ ERROR: You must be an administrator to use this command. ]");
	}

	if(strcmp(cmd, "/saveskin", true) == 0)
	{
	 	if(AccInfo[playerid][Level] >= 1 && AccInfo[playerid][LoggedIn] == 1)
		 {
			if(!strlen(params)) return
			SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /saveskin (skinID) ]") &&
			SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Save your favorite Skin. ]");

			new string[128];
			new SkinID = strval(params);

			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))
			{
			dUserSetINT(PlayerName2(playerid)).("FavSkin",SkinID);
	 		format(string, sizeof(string), "[ ADMIN: You have Successfully Saved your favorite Skin (Id:%d). ]",SkinID);
	 		SendClientMessage(playerid,BlueMsg,string);
			SendClientMessage(playerid,BlueMsg,"[ USAGE: /useskin to use this skin | /dontuseskin to stop using skin. ]");
			dUserSetINT(PlayerName2(playerid)).("UseSkin",1);
	 	    return SendCommandToAdmins(playerid,"SaveSkin");
			}
			else return SendClientMessage(playerid, green, "[ ERROR: Invalid Skin Id. ]");
		}
		else return SendClientMessage(playerid,red,"[ ERROR: You must be an administrator to use this command. ]");
	}

	if(strcmp(cmd, "/dontuseskin", true) == 0)
	{
	    
		if(AccInfo[playerid][Level] >= 1 && AccInfo[playerid][LoggedIn] == 1)
		{
		    dUserSetINT(PlayerName2(playerid)).("UseSkin",0);
			return SendClientMessage(playerid,BlueMsg,"[ ADMIN: Skin will no longer be used. ]");
		} else
		return SendClientMessage(playerid,red,"[ ERROR: You must be an administrator to use this command. ]");
	}

	//==============================================================================
	// Team commands
	//==============================================================================
	if(strcmp(cmd, "/getteam", true) == 0)
	{
		if(AccInfo[playerid][Level] >= 3)
		{
		    new Index;
		    new tmp[256];  tmp  = strtok(params,Index);
		    new Float:x,Float:y,Float:z;
			new string[500];
		    if(!strlen(tmp)) return
			SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /getteam (teamid) ]") &&
			SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will teleport the team to you. ]");
			if(!IsNumeric(tmp)) return
			SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /getteam (teamid) ]") &&
			SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will teleport the team to you. ]");
			if(IsPlayerConnected(playerid))
			{
				SendCommandToAdmins(playerid,"Getteam");
				format(string, sizeof(string), "[ ADMIN: You have teleported team \"%d\" to your position. ]", strval(tmp));
				SendClientMessage(playerid,BlueMsg,string);
				format(string,sizeof(string),"[ Administrator \"%s\" have teleported team '%d' to him/her position. ]", pName(playerid), strval(tmp));
				SendClientMessageToAll(blue,string);
				GetPlayerPos(playerid,x,y,z);
				for(new i; i < MAX_PLAYERS; i++)
				{
				if(GetPlayerTeam(i)==strval(tmp) && AccInfo[i][Level] < AccInfo[playerid][Level])
				{
				SetPlayerPos(i,x,y,z);
				SetPlayerInterior(i,GetPlayerInterior(playerid));
				SetPlayerVirtualWorld(i,GetPlayerVirtualWorld(playerid));
				PlayerPlaySound(i,1057,0.0,0.0,0.0);
				}
				}
	   			return PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
		    }
			else return 1;
		}
		else return ErrorMessages(playerid, 1);
	}
	if(strcmp(cmd, "/freezeteam", true) == 0)
	{
		if(AccInfo[playerid][Level] >= 3)
		{
		    new Index;
		    new tmp[256];  tmp  = strtok(params,Index);
			new string[500];
		    if(!strlen(tmp)) return
			SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /freezeteam (teamid) ]") &&
			SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will freeze the team specified. ]");
			if(!IsNumeric(tmp)) return
			SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /freezeteam (teamid) ]") &&
			SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will freeze the team specified. ]");
			if(IsPlayerConnected(playerid))
			{
				SendCommandToAdmins(playerid,"Freezeteam");
				format(string, sizeof(string), "[ ADMIN: You have freezed team \"%d\". ]", strval(tmp));
				SendClientMessage(playerid,BlueMsg,string);
				format(string,sizeof(string),"[ Administrator \"%s\" have freezed team '%d'. ]", pName(playerid), strval(tmp));
				SendClientMessageToAll(blue,string);
				for(new i; i < MAX_PLAYERS; i++)
				{
				if(GetPlayerTeam(i)==strval(tmp) && AccInfo[i][Level] < AccInfo[playerid][Level])
				{
				TogglePlayerControllable(i,false);
				AccInfo[i][Frozen]=1;
				PlayerPlaySound(i,1057,0.0,0.0,0.0);
				}
				}
	   			return PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
		    }
			else return 1;
		}
		else return ErrorMessages(playerid, 1);
	}
	if(strcmp(cmd, "/unfreezeteam", true) == 0)
	{
		if(AccInfo[playerid][Level] >= 3)
		{
		    new Index;
		    new tmp[256];  tmp  = strtok(params,Index);
			new string[500];
		    if(!strlen(tmp)) return
			SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /unfreezeteam (teamid) ]") &&
			SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will unfreeze the team specified. ]");
			if(!IsNumeric(tmp)) return
			SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /unfreezeteam (teamid) ]") &&
			SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will unfreeze the team specified. ]");
			if(IsPlayerConnected(playerid))
			{
				SendCommandToAdmins(playerid,"Unfreezeteam");
				format(string, sizeof(string), "[ ADMIN: You have unfreezed team \"%d\". ]", strval(tmp));
				SendClientMessage(playerid,BlueMsg,string);
				format(string,sizeof(string),"[ Administrator \"%s\" have unfreezed team '%d'. ]", pName(playerid), strval(tmp));
				SendClientMessageToAll(blue,string);
				for(new i; i < MAX_PLAYERS; i++)
				{
				if(GetPlayerTeam(i)==strval(tmp) && AccInfo[i][Level] < AccInfo[playerid][Level])
				{
				TogglePlayerControllable(i,true);
				AccInfo[i][Frozen]=0;
				PlayerPlaySound(i,1057,0.0,0.0,0.0);
				}
				}
	   			return PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
		    }
			else return 1;
		}
		else return ErrorMessages(playerid, 1);
	}
	if(strcmp(cmd, "/muteteam", true) == 0)
	{
		if(AccInfo[playerid][Level] >= 3)
		{
		    new Index;
		    new tmp[256];  tmp  = strtok(params,Index);
			new string[500];
		    if(!strlen(tmp)) return
			SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /muteteam (teamid) ]") &&
			SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will mute the team specified. ]");
			if(!IsNumeric(tmp)) return
			SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /muteteam (teamid) ]") &&
			SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will mute the team specified. ]");
			if(IsPlayerConnected(playerid))
			{
				SendCommandToAdmins(playerid,"muteteam");
				format(string, sizeof(string), "[ ADMIN: You have muted team \"%d\". ]", strval(tmp));
				SendClientMessage(playerid,BlueMsg,string);
				format(string,sizeof(string),"[ Administrator \"%s\" have muted team '%d'. ]", pName(playerid), strval(tmp));
				SendClientMessageToAll(blue,string);
				for(new i; i < MAX_PLAYERS; i++)
				{
				if(GetPlayerTeam(i)==strval(tmp) && AccInfo[i][Level] < AccInfo[playerid][Level])
				{
				AccInfo[i][Muted]=1;
				PlayerPlaySound(i,1057,0.0,0.0,0.0);
				}
				}
	   			return PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
		    }
			else return 1;
		}
		else return ErrorMessages(playerid, 1);
	}
	if(strcmp(cmd, "/unmuteteam", true) == 0)
	{
		if(AccInfo[playerid][Level] >= 3)
		{
		    new Index;
		    new tmp[256];  tmp  = strtok(params,Index);
			new string[500];
		    if(!strlen(tmp)) return
			SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /unmuteteam (teamid) ]") &&
			SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will unmute the team specified. ]");
			if(!IsNumeric(tmp)) return
			SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /unmuteteam (teamid) ]") &&
			SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will unmute the team specified. ]");
			if(IsPlayerConnected(playerid))
			{
				SendCommandToAdmins(playerid,"Unmuteteam");
				format(string, sizeof(string), "[ ADMIN: You have unmuted team \"%d\". ]", strval(tmp));
				SendClientMessage(playerid,BlueMsg,string);
				format(string,sizeof(string),"[ Administrator \"%s\" have unmuted team '%d'. ]", pName(playerid), strval(tmp));
				SendClientMessageToAll(blue,string);
				for(new i; i < MAX_PLAYERS; i++)
				{
				if(GetPlayerTeam(i)==strval(tmp) && AccInfo[i][Level] < AccInfo[playerid][Level])
				{
				AccInfo[i][Muted]=0;
				PlayerPlaySound(i,1057,0.0,0.0,0.0);
				}
				}
	   			return PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
		    }
			else return 1;
		}
		else return ErrorMessages(playerid, 1);
	}
	if(strcmp(cmd, "/healteam", true) == 0)
	{
		if(AccInfo[playerid][Level] >= 3)
		{
		    new Index;
		    new tmp[256];  tmp  = strtok(params,Index);
			new string[500];
		    if(!strlen(tmp)) return
			SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /setteamhealth (teamid) ]") &&
			SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will heal the team specified. ]");
			if(!IsNumeric(tmp)) return
			SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /setteamhealth (teamid) ]") &&
			SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will heal the team specified. ]");
			if(IsPlayerConnected(playerid))
			{
				SendCommandToAdmins(playerid,"Healteam");
				format(string, sizeof(string), "[ ADMIN: You have healed team \"%d\". ]", strval(tmp));
				SendClientMessage(playerid,BlueMsg,string);
				format(string,sizeof(string),"[ Administrator \"%s\" have healed team '%d'. ]", pName(playerid), strval(tmp));
				SendClientMessageToAll(blue,string);
				for(new i; i < MAX_PLAYERS; i++)
				{
				if(GetPlayerTeam(i)==strval(tmp))
				{
				SetPlayerHealth(i,100.0);
				PlayerPlaySound(i,1057,0.0,0.0,0.0);
				}
				}
	   			return PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
		    }
			else return 1;
		}
		else return ErrorMessages(playerid, 1);
	}
	if(strcmp(cmd, "/armourteam", true) == 0)
	{
		if(AccInfo[playerid][Level] >= 3)
		{
		    new Index;
		    new tmp[256];  tmp  = strtok(params,Index);
			new string[500];
		    if(!strlen(tmp)) return
			SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /armorteam (teamid) ]") &&
			SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will armour the team specified. ]");
			if(!IsNumeric(tmp)) return
			SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /armorteam (teamid) ]") &&
			SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will armour the team specified. ]");
			if(IsPlayerConnected(playerid))
			{
				SendCommandToAdmins(playerid,"Healteam");
				format(string, sizeof(string), "[ ADMIN: You have armoured team \"%d\". ]", strval(tmp));
				SendClientMessage(playerid,BlueMsg,string);
				format(string,sizeof(string),"[ Administrator \"%s\" have armoured team '%d'. ]", pName(playerid), strval(tmp));
				SendClientMessageToAll(blue,string);
				for(new i; i < MAX_PLAYERS; i++)
				{
				if(GetPlayerTeam(i)==strval(tmp))
				{
				SetPlayerArmour(i,100.0);
				PlayerPlaySound(i,1057,0.0,0.0,0.0);
				}
				}
	   			return PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
		    }
			else return 1;
		}
		else return ErrorMessages(playerid, 1);
	}
	if(strcmp(cmd, "/disarmteam", true) == 0)
	{
		if(AccInfo[playerid][Level] >= 3)
		{
		    new Index;
		    new tmp[256];  tmp  = strtok(params,Index);
			new string[500];
		    if(!strlen(tmp)) return
			SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /disarmteam (teamid) ]") &&
			SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will disarm the team specified. ]");
			if(!IsNumeric(tmp)) return
			SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /disarmteam (teamid) ]") &&
			SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will disarm the team specified. ]");
			if(IsPlayerConnected(playerid))
			{
				SendCommandToAdmins(playerid,"Healteam");
				format(string, sizeof(string), "[ ADMIN: You have disarmed team \"%d\". ]", strval(tmp));
				SendClientMessage(playerid,BlueMsg,string);
				format(string,sizeof(string),"[ Administrator \"%s\" have disarmed team '%d'. ]", pName(playerid), strval(tmp));
				SendClientMessageToAll(blue,string);
				for(new i; i < MAX_PLAYERS; i++)
				{
				if(GetPlayerTeam(i)==strval(tmp))
				{
				ResetPlayerWeapons(i);
				PlayerPlaySound(i,1057,0.0,0.0,0.0);
				}
				}
	   			return PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
		    }
			else return 1;
		}
		else return ErrorMessages(playerid, 1);
	}
	if(strcmp(cmd, "/giveteamweapon", true) == 0)
	{
		if(AccInfo[playerid][Level] >= 3)
		{
			new Index;
		    new tmp[256];  tmp  = strtok(params,Index);
			new tmp2[256]; tmp2 = strtok(params,Index);
			new tmp3[256]; tmp3 = strtok(params,Index);

		    if(!strlen(tmp) || !strlen(tmp2)) return
		    SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /giveallweapon (teamid) (weaponID or weaponName) (ammo) ]") &&
			SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will give a specified weapon and ammo for mentioned team. ]");
			new team = strval(tmp);
			new weap, ammo, WeapName[32];
			new string[128];
			if(!strlen(tmp3) || !IsNumeric(tmp3) || strval(tmp3) <= 0 || strval(tmp3) > 99999) ammo = 500;
			else ammo = strval(tmp3);
			if(!IsNumeric(tmp2)) weap = GetWeaponIDFromName(tmp2);
			else weap = strval(tmp2);

			if(!IsValidWeapon(weap))
			return SendClientMessage(playerid,red,"[ ERROR: Invalid Weapon ID. ]");
	        SendCommandToAdmins(playerid,"Giveteamweapon");
			for(new i = 0; i < MAX_PLAYERS; i++)
			{
				if(GetPlayerTeam(i)==team)
				{
				PlayerPlaySound(i,1057,0.0,0.0,0.0);
				GivePlayerWeapon(i,weap,ammo);
				}
			}
			PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
	        GetWeaponName(weap, WeapName, sizeof(WeapName));
			format(string, sizeof(string), "[ ADMIN: You have given team '%d' weapon '%s [id: %d]' with '%d' rounds of Ammo. ]", team,WeapName, weap, ammo);
			SendClientMessage(playerid,BlueMsg,string);
			format(string,sizeof(string),"[ Administrator \"%s\" has given team '%d' weapon '%s [id: %d]' with '%d' rounds of Ammo. ]", pName(playerid), team, WeapName, weap, ammo);
			return SendClientMessageToAll(blue, string);
		}
		else return ErrorMessages(playerid, 1);
	}
	if(strcmp(cmd, "/spawnteam", true) == 0)
	{
		if(AccInfo[playerid][Level] >= 3)
		{
		    new Index;
		    new tmp[256];  tmp  = strtok(params,Index);
			new string[500];
		    if(!strlen(tmp)) return
			SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /spawnteam (teamid) ]") &&
			SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will re-spawn the team specified. ]");
			if(!IsNumeric(tmp)) return
			SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /spawnteam (teamid) ]") &&
			SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will re-spawn the team specified. ]");
			if(IsPlayerConnected(playerid))
			{
				SendCommandToAdmins(playerid,"Spawnteam");
				format(string, sizeof(string), "[ ADMIN: You have spawned team \"%d\". ]", strval(tmp));
				SendClientMessage(playerid,BlueMsg,string);
				format(string,sizeof(string),"[ Administrator \"%s\" have spawned team '%d'. ]", pName(playerid), strval(tmp));
				SendClientMessageToAll(blue,string);
				for(new i; i < MAX_PLAYERS; i++)
				{
				if(GetPlayerTeam(i)==strval(tmp) && AccInfo[i][Level] < AccInfo[playerid][Level])
				{
				SpawnPlayer(i);
				PlayerPlaySound(i,1057,0.0,0.0,0.0);
				}
				}
	   			return PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
		    }
			else return 1;
		}
		else return ErrorMessages(playerid, 1);
	}
	if(strcmp(cmd, "/giveteamcash", true) == 0)
	{
		if(AccInfo[playerid][Level] >= 3)
		{
		    new Index;
		    new tmp[256];  tmp  = strtok(params,Index);
		    new tmp2[256]; tmp2 = strtok(params,Index);

		    if(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp2)) return
		    SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /giveteamcash (teamid) (cash) ]") &&
			SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will give a specified ammount of cash-$ to the mentioned team. ]");
			new team = strval(tmp);
			new cash = strval(tmp2);
			new string[280];
			SendCommandToAdmins(playerid,"Giveteamcash");
			for(new i = 0; i < MAX_PLAYERS; i++)
			{
				if(GetPlayerTeam(i)==team)
				{
				PlayerPlaySound(i,1057,0.0,0.0,0.0);
				GivePlayerMoney(i,cash);
				}
			}
			format(string, sizeof(string), "[ ADMIN: You have given team '%d' cash of $%d. ]", team,strval(tmp2));
			SendClientMessage(playerid,BlueMsg,string);
			format(string,sizeof(string),"[ Administrator \"%s\" has given team '%d' cash of $%d. ]", pName(playerid), team, strval(tmp2));
			return SendClientMessageToAll(blue, string);
		}
		else return ErrorMessages(playerid, 1);
	}
	if(strcmp(cmd, "/giveteamscore", true) == 0)
	{
		if(AccInfo[playerid][Level] >= 3)
		{
		    new Index;
		    new tmp[256];  tmp  = strtok(params,Index);
		    new tmp2[256]; tmp2 = strtok(params,Index);

		    if(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp2)) return
		    SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /giveteamscore (teamid) (score) ]") &&
			SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will give a specified ammount of score to the mentioned team. ]");
			new team = strval(tmp);
			new cash = strval(tmp2);
			new string[280];
			SendCommandToAdmins(playerid,"Giveteamscore");
			for(new i = 0; i < MAX_PLAYERS; i++)
			{
				if(GetPlayerTeam(i)==team)
				{
				PlayerPlaySound(i,1057,0.0,0.0,0.0);
				SetPlayerScore(i,GetPlayerScore(i)+cash);
				}
			}
			format(string, sizeof(string), "[ ADMIN: You have given team '%d' score of '%d'. ]", strval(tmp),strval(tmp2));
			SendClientMessage(playerid,BlueMsg,string);
			format(string,sizeof(string),"[ Administrator \"%s\" has given team '%d' score of '%d'. ]", pName(playerid), strval(tmp), strval(tmp2));
			return SendClientMessageToAll(blue, string);
		}
		else return ErrorMessages(playerid, 1);
	}
	if(strcmp(cmd, "/killteam", true) == 0)
	{
		if(AccInfo[playerid][Level] >= 3)
		{
		    new Index;
		    new tmp[256];  tmp  = strtok(params,Index);
			new string[500];
		    if(!strlen(tmp)) return
			SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /killteam (teamid) ]") &&
			SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will kill the team specified. ]");
			if(!IsNumeric(tmp)) return
			SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /killteam (teamid) ]") &&
			SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will kill the team specified. ]");
			if(IsPlayerConnected(playerid))
			{
				SendCommandToAdmins(playerid,"Healteam");
				format(string, sizeof(string), "[ ADMIN: You have killed team \"%d\". ]", strval(tmp));
				SendClientMessage(playerid,BlueMsg,string);
				format(string,sizeof(string),"[ Administrator \"%s\" have killed team '%d'. ]", pName(playerid), strval(tmp));
				SendClientMessageToAll(blue,string);
				for(new i; i < MAX_PLAYERS; i++)
				{
				if(GetPlayerTeam(i)==strval(tmp) && AccInfo[i][Level] < AccInfo[playerid][Level])
				{
				SetPlayerArmour(i,0.0);
				SetPlayerHealth(i,0.0);
				PlayerPlaySound(i,1057,0.0,0.0,0.0);
				}
				}
	   			return PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
		    }
			else return 1;
		}
		else return ErrorMessages(playerid, 1);
	}

//==============================================================================
// Read Commands (View commands typed per players)
//==============================================================================
	if(ServerInfo[ReadCmds] == 1)
	{
		new string[256];
		format(string, sizeof(string), "* %s(%d) Command: %s *", pName(playerid),playerid,cmdtext);
		for(new i = 0; i < MAX_PLAYERS; i++)
		{
		if(IsPlayerConnected(i))
		{
		if( (AccInfo[i][Level] > AccInfo[playerid][Level]) && (AccInfo[i][Level] > 1) && (i != playerid))
		{
		SendClientMessage(i, grey, string);
		}
		}
		}
	}

//==============================================================================
// Commands
//==============================================================================
	if(strcmp(cmd, "/spam", true) == 0)
	 {
		if(AccInfo[playerid][Level] >= 5)
		{
			new string[256];
      		new tmp[256];
		    tmp = strtok(cmdtext, idx);
			if(!strlen(tmp))
			{
				SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /spam (color) (text)");
				SendClientMessage(playerid, LIGHTBLUE2, "[ COLOR: (0)Black, (1)White, (2)Red, (3)Orange, (4)Yellow, (5)Green, (6)Blue, (7)Purple, (8)Brown, (9)Pink ]");
                SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Will sending many messages in chat in specified Colour). ]");
				return 1;
			}
			new Colour = strval(tmp);
			if(Colour > 9 )
			return SendClientMessage(playerid, red, "[ COLORS: (0)Black, (1)White, (2)Red, (3)Orange, (4)Yellow, (5)Green, (6)Blue, (7)Purple, (8)Brown, (9)Pink ]");
			tmp = strtok(cmdtext, idx);

			format(string,sizeof(string),"%s",cmdtext[8]);

	        if(Colour == 0) 	 for(new i; i < 50; i++) SendClientMessageToAll(black,string);
	        else if(Colour == 1) for(new i; i < 50; i++) SendClientMessageToAll(COLOR_WHITE,string);
	        else if(Colour == 2) for(new i; i < 50; i++) SendClientMessageToAll(red,string);
	        else if(Colour == 3) for(new i; i < 50; i++) SendClientMessageToAll(orange,string);
	        else if(Colour == 4) for(new i; i < 50; i++) SendClientMessageToAll(yellow,string);
	        else if(Colour == 5) for(new i; i < 50; i++) SendClientMessageToAll(COLOR_GREEN1,string);
	        else if(Colour == 6) for(new i; i < 50; i++) SendClientMessageToAll(COLOR_BLUE,string);
	        else if(Colour == 7) for(new i; i < 50; i++) SendClientMessageToAll(COLOR_PURPLE,string);
	        else if(Colour == 8) for(new i; i < 50; i++) SendClientMessageToAll(COLOR_BROWN,string);
	        else if(Colour == 9) for(new i; i < 50; i++) SendClientMessageToAll(COLOR_PINK,string);
			return 1;
		}
		else return ErrorMessages(playerid, 9);
	}


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

	if(strcmp(cmd, "/tempban", true) == 0)
	{
		new tmp[256];
		new string[300];
		new e_name[MAX_PLAYER_NAME];
		new giveplayer[MAX_PLAYER_NAME];
		new giveplayerid;

		if(AccInfo[playerid][Level] >= 4)
		{
			tmp = strtok(cmdtext,idx);
			if(!strlen(tmp))
			{
  				SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /tempban (player<name/id>) (day(s)) (reason) ]");
				SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Temporarily bans a player for specified Days. ]");
				return 1;
			}
			giveplayerid = ReturnUser(tmp);
			if(IsPlayerConnected(giveplayerid))
			{
			    tmp = strtok(cmdtext, idx);
			    if (!strlen(tmp))
			    {
				SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /tempban (player<name/id>) (day(s)) (reason) ]");
				SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Temporarily bans a player for specified Days. ]");
				return 1;
				}
				new days = strval(tmp);
				if(!IsNumeric(tmp))
				return SendClientMessage(playerid, lightred, "[ ERROR: Invalid Day, Only Numbers. ]");

				if(strval(tmp) <= 0 || strval(tmp) > 1000)
				return SendClientMessage(playerid, lightred, "[ ERROR: Invalid Day, (1-1000). ]");

				new reason[128];
				reason = strtok2(cmdtext,idx);
				if (!strlen(reason))
				return SendClientMessage(playerid, lightred, "[ ERROR: Reason not Specified. ]");

				if (strlen(reason) <= 0 || strlen(reason) > 100)
				return SendClientMessage(playerid, lightred, "[ ERROR: Invalid Reason length. ]");

				new ip[15];
				GetPlayerIp(giveplayerid,ip,15);
				GetPlayerName(playerid, e_name, sizeof e_name);
				GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
				new File:tempban = fopen("/eAdmin/Config/TempBans.ban", io_append);
				if (tempban)
				{
				    new year,month,day;
				    getdate(year, month, day);
				    day += days;
				    if (IsMonth31(month))
				    {
				        if (day > 31)
				        {
				            month += 1;
				            if (month > 12)
				            {
				                year += 1;
				                while(day > 31) day -= 31;
				            }
				            else while(day > 31) day -= 31;
				        }
				    }
				    else if (!IsMonth31(month))
				    {
				        if (day > 30)
				        {
				            month += 1;
				            if (month > 12)
				            {
				                year += 1;
				                while(day > 30) day -= 30;
				            }
				            else while(day > 30) day -= 30;
				        }
				    }
				    else if (!IsMonth31(month) && IsMonth29(year) && month == 2)
				    {
				        if (day > 29)
				        {
				            month += 1;
				            if (month > 12)
				            {
				                year += 1;
				                while(day > 29) day -= 29;
				            }
				            else while(day > 29) day -= 29;
				        }
				    }
				    else if (!IsMonth31(month) && !IsMonth29(year) && month == 2)
				    {
				        if (day > 28)
				        {
				            month += 1;
				            if (month > 12)
				            {
				                year += 1;
				                while(day > 28) day -= 28;
				            }
				            else while(day > 28) day -= 28;
				        }
				    }
				    format(string, sizeof string, "%d|%d|%d|%s\n", day, month, year, ip);
				    fwrite(tempban, string);
				    fclose(tempban);
				}
				format(string,128,"[ Administrator %s Temporarily Banned %s for %d Day(s) | Reason: %s. ]",e_name,giveplayer,days,reason);
				SendClientMessageToAll(lightred,string);
				Kick(giveplayerid);

    			format(string, sizeof string, "[ Admin %s Temporarily Banned %s for %d Day(s) | Reason: %s. ]",e_name,giveplayer,days,reason);
			    SaveIn("TempBansLog",string);
			}
			else
			{
			ErrorMessages(playerid, 2);
			}
		}
		else return ErrorMessages(playerid, 1);
		return true;
	}
//------------------------------------------------------------------------------
	if(strcmp(cmd, "/write", true) == 0)
	 {
	new tmp[256];
	new string[256];
	if(AccInfo[playerid][Level] >= 2)
	{
	    tmp = strtok(cmdtext, idx);
		if(!strlen(tmp))
		{
			SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /write (color) (text) ]");
			SendClientMessage(playerid, LIGHTBLUE2, "[ COLOR: (0)Black, (1)White, (2)Red, (3)Orange, (4)Yellow, (5)Green, (6)Blue, (7)Purple, (8)Brown, (9)Pink ]");
            return SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Send message in a specified colour. ]");
		 }
		new Colour;
		Colour = strval(tmp);
		if(Colour > 9 )
		{
			SendClientMessage(playerid, LIGHTBLUE, "[ USAGE: /write (color) (text) ]");
			SendClientMessage(playerid, LIGHTBLUE2, "[ COLOR: (0)Black, (1)White, (2)Red, (3)Orange, (4)Yellow, (5)Green, (6)Blue, (7)Purple, (8)Brown, (9)Pink ]");
            return SendClientMessage(playerid, LIGHTBLUE2, "[ FUNCTION: Send message in a specified colour. ]");
		}
		tmp = strtok(cmdtext, idx);
        SendCommandToAdmins(playerid,"Write");

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

//==============================================================================
// ReturnUser (By ******)
//==============================================================================
ReturnUser(text[], playerid = INVALID_PLAYER_ID)
{
	new pos = 0;
	while (text[pos] < 0x21)
	{
		if (text[pos] == 0) return INVALID_PLAYER_ID;
		pos++;
	}
	new userid = INVALID_PLAYER_ID;
	if (IsNumeric(text[pos]))
	{
		userid = strval(text[pos]);
		if (userid >=0 && userid < MAX_PLAYERS)
		{
			if(!IsPlayerConnected(userid))
				userid = INVALID_PLAYER_ID;
			else return userid;
		}
	}
	new len = strlen(text[pos]);
	new count = 0;
	new pname[MAX_PLAYER_NAME];
	for (new i = 0; i < MAX_PLAYERS; i++)
	{
		if (IsPlayerConnected(i))
		{
			GetPlayerName(i, pname, sizeof (pname));
			if (strcmp(pname, text[pos], true, len) == 0)
			{
				if (len == strlen(pname)) return i;
				else
				{
					count++;
					userid = i;
				}
			}
		}
	}
	if (count != 1)
	{
		if (playerid != INVALID_PLAYER_ID)
		{
			if (count) SendClientMessage(playerid, red, "[ ERROR: There are multiple users, enter full playername. ]");
		}
		userid = INVALID_PLAYER_ID;
	}
	return userid;
}

//==============================================================================
// Server Info
//==============================================================================

//------------
//Players ON
//------------
public ConnectedPlayers()
{
	new Connected;
	for(new i = 0; i < MAX_PLAYERS; i++)
	if(IsPlayerConnected(i))
	Connected++;
	return Connected;
}
//------------
//Players Jailed
//------------
public JailedPlayers()
{
	new JailedCount;
	for(new i = 0; i < MAX_PLAYERS; i++)
	if(IsPlayerConnected(i) && AccInfo[i][Jailed] == 1)
	JailedCount++;
	return JailedCount;
}
//------------
//Players Muted
//------------
public MutedPlayers()
{
	new Count; for(new i = 0; i < MAX_PLAYERS; i++)
	if(IsPlayerConnected(i) && AccInfo[i][Muted] == 1)
	Count++;
	return Count;
}
//------------
//Players Freezed
//------------
public FrozenPlayers()
{
	new FrozenCount; for(new i = 0; i < MAX_PLAYERS; i++)
	if(IsPlayerConnected(i) && AccInfo[i][Frozen] == 1)
	FrozenCount++;
	return FrozenCount;
}
//------------
//In Vehicle Total
//------------
public InVehTotal()
{
	new InVeh; for(new i = 0; i < MAX_PLAYERS; i++)
	if(IsPlayerConnected(i) && IsPlayerInAnyVehicle(i))
	InVeh++;
	return InVeh;
}
//------------
//In Bike
//------------
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;
}

//------------
//In Car
//------------
public InCarCount()
{
	new PInCarCount;
	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:
		{
		}
		default: PInCarCount++;
		}
		}
	}
	return PInCarCount;
}
//------------
//Rcon Admins
//------------
public RconAdminTotal()
{
	new rAdminTotal;
	for(new i = 0; i < MAX_PLAYERS; i++)
	if(IsPlayerConnected(i) && IsPlayerAdmin(i))
	rAdminTotal++;
	return rAdminTotal;
}
//------------
//Admins
//------------
public AdminTotal()
{
	new AdminsCount;
	for(new i = 0; i < MAX_PLAYERS; i++)
	if(IsPlayerConnected(i) && AccInfo[i][Level] >= 1)
	AdminsCount++;
	return AdminsCount;
}
//==============================================================================
//-------------------------------------------------
// RCON Commands
//-------------------------------------------------
//==============================================================================
public OnRconCommand(cmd[])
{
	if( strlen(cmd) > 50 || strlen(cmd) == 1 )
	return print("[ ERROR: You can not exceed 50 characters. ]");

//===============================
// (Command) Commands
//===============================
	if(strcmp(cmd, "lrcon", true)==0)
	{
    	print("______________________");
    	print("                      ");
		print(" Rcon Commands        ");
		print(" -------------        ");
		print(" info, execcmd, pm, 	 ");
		print(" asay, uconfig, chat, ");
		print(" aka, ann			 ");
    	print("______________________");
		return true;
	}
//===============================
// (Command) Server Infomation
//===============================
	if(strcmp(cmd, "info", true)==0)
	{
	    new VehTotal = CreateVehicle(411,0,0,0,0,0,0,1000); DestroyVehicle(VehTotal);
		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<VehTotal;i++) model[GetVehicleModel(i)-400]++;

		for(new i=0;i<250;i++){
		if(model[i]!=0){
		nummodel++; }
		}
		new string[256];
	    print(" ________________________________________________________________\n");
	    print("                       Server Information                        ");
  	    print("                      --------------------\n");

		format(string,sizeof(string)," Player:\n Connected[%d], Maximum[%d], Ratio[%0.2f]\n",ConnectedPlayers(),GetMaxPlayers(),Float:ConnectedPlayers() / Float:GetMaxPlayers() );
		printf(string);
		format(string,sizeof(string)," Vehicles:\n Total[%d], Models[%d], In Vehicle[%d] (InCar[%d], OnBike[%d])\n",VehTotal-1,nummodel, InVehTotal(), InCarCount(),OnBikeCount());
		printf(string);
		format(string,sizeof(string)," Total:\n Objects[%d], Pickups[%d], GangZones[%d]\n",numo-1, nump, gz);
		printf(string);
		format(string,sizeof(string)," Player Stats:\n Jailed[%d], Frozen[%d], Muted[%d]\n",JailedPlayers(),FrozenPlayers(), MutedPlayers() );
		printf(string);
	    format(string,sizeof(string)," Administration:\n Rcon[%d], Online[%d]\n",AdminTotal(), RconAdminTotal() );
		printf(string);
	    print(" ________________________________________________________________\n");
		return true;
	}

//===============================
// (Command) Player/All execute cmd
//===============================

	if(!strcmp(cmd, "execcmd", .length = 3))
	{
		new	arg_1 = argpos(cmd);
		new arg_2 = argpos(cmd, arg_1);
		new targetid = strval(cmd[arg_1]);

		if (!strcmp(cmd[arg_1], "all", .length = 3) && cmd[arg_2])
		{
			if (cmd[arg_2] == '/')
			{
				for(new i = 0; i <= MAX_PLAYERS; i++)
				if (IsPlayerConnected(i))
				CallRemoteFunction("OnPlayerCommandText", "is", i, cmd[arg_2]);
			}
			else
			{
				for(new i = 0; i <= MAX_PLAYERS; i++)
				if (IsPlayerConnected(i))
				SendPlayerMessageToAll(i, cmd[arg_2]);
			}
			printf("\nRCON: Command \"%s\" executed on all players!\n", cmd[arg_2]);
		}

        else if(!cmd[arg_2] || cmd[arg_1] < '0' || cmd[arg_1] > '9' || targetid > MAX_PLAYERS || targetid < 0)

        print("\n--------------------------") 					 					||
		printf("[ USAGE: \"execcmd (PlayerID(0-%d)/All) (Command)\"",MAX_PLAYERS) 	||
		print("[ FUNCTION: Will force specified player execute command") 				||
		print("--------------------------\n");

		else if ( !IsPlayerConnected(targetid) )
		print("\n[ ERROR: This player is not connected!\n");

		else
		{
			if (cmd[arg_2] == '/')
			CallRemoteFunction("OnPlayerCommandText", "is", targetid, cmd[arg_2]);

			else
			SendPlayerMessageToAll(targetid, cmd[arg_2]);

			new targetname[24];
			GetPlayerName(targetid, targetname, 24);
			printf("Command \"%s\" executed on %s(%d)!",cmd[arg_2], targetname, targetid);
		}

		return true;
	}
//===============================
// (Command) Announce a Message
//===============================
	if(!strcmp(cmd, "ann", .length = 3))
	{
	    new arg_1 = argpos(cmd);
		new message[128];

    	if (!cmd[arg_1] || cmd[arg_1] < '0')
        print("\n--------------------------") 					 		 ||
		print("[ USAGE: \"ann  (Message)\"") 								 ||
		print("[ FUNCTION: Will Send a message in screen for all Players") ||
		print("--------------------------\n");
	    else
	    {
     	format(message, sizeof(message), "[RCON]: %s", cmd[arg_1]);
     	GameTextForAll(message,3000,3);
     	printf("Screen Message '%s' Sent!", cmd[arg_1] );
    	}
	    return true;
	}
//===============================
// (Command) Send Admnistration Msg
//===============================
	if(!strcmp(cmd, "asay", .length = 4))
	{
	    new arg_1 = argpos(cmd);
		new message[128];

    	if (!cmd[arg_1] || cmd[arg_1] < '0')
        print("\n--------------------------") 					 ||
		print("[ USAGE: \"asay  (Message)\"") 					 ||
		print("[ FUNCTION: Will Send a message for online Admins") ||
		print("--------------------------\n");
	    else
		{
     	format(message, sizeof(message), "[RCON] MessageToAdmins: %s", cmd[arg_1]);
      	MessageToAdmins(COLOR_WHITE, message);
        printf("Admin Message '%s' Sent!", cmd[arg_1] );
    	}
	    return true;
	}
//===============================
// (Command) Send Private Message
//===============================
	if(!strcmp(cmd, "pm", .length = 2))
	{
        new arg_1 = argpos(cmd);
		new arg_2 = argpos(cmd, arg_1);
		new targetid = strval(cmd[arg_1]);
		new message[128];

    	if (!cmd[arg_1] || cmd[arg_1] < '0' || cmd[arg_1] > '9' || targetid > MAX_PLAYERS || targetid < 0 || !cmd[arg_2])
        print("\n--------------------------") 								||
		print("[ USAGE: \"pm (PlayerID) (Message)\"") 						||
		print("[ FUNCTION: Will Send a private message for specified player") ||
		print("--------------------------\n");

	    else if(!IsPlayerConnected(targetid)) print("[ ERROR: Player not connected!");
    	else
	    {
     	format(message, sizeof(message), "[RCON] PM: %s", cmd[arg_2]);
   	 	SendClientMessage(targetid, COLOR_WHITE, message);
     	printf("Rcon PM '%s' Sent!", cmd[arg_1]);
    	}
	    return true;
	}
//===============================
// (Command) Verify player AKA
//===============================
	if(!strcmp(cmd, "aka", .length = 3))
	{
	    new arg_1 = argpos(cmd);
		new targetid = strval(cmd[arg_1]);

    	if (!cmd[arg_1] || cmd[arg_1] < '0' || cmd[arg_1] > '9' || targetid > MAX_PLAYERS || targetid < 0)
        print("\n--------------------------") 					 		   ||
		print("[ USAGE: \"aka  (PlayerID)\"") 							   ||
		print("[ FUNCTION: Will show other names used per Specified Player") ||
		print("--------------------------\n");

	    else if (!IsPlayerConnected(targetid) )
		print("[ ERROR: Player not Connected!");
    	else
	    {
		new tmp3[50], playername[MAX_PLAYER_NAME];
	  	GetPlayerIp(targetid,tmp3,50);
		GetPlayerName(targetid, playername, sizeof(playername));
		printf("AKA: [%s id:%d] [%s] %s", playername, targetid, tmp3, dini_Get("/eAdmin/Config/aka.txt",tmp3));
    	}
	    return true;
	}
//===============================
// (Command) Update Configuration
//===============================
	if(strcmp(cmd, "uconfig", true)==0)
	{
		UpdateConfig();
		print("Configuration Successfully Updated!");
		return true;
	}
//===============================
// (Command) Send RCON Message
//===============================
	if(!strcmp(cmd, "msg", .length = 3))
	{
	    new arg_1 = argpos(cmd);
		new message[128];

    	if (!cmd[arg_1] || cmd[arg_1] < '0')
        print("\n--------------------------") 					 		 ||
		print("[ USAGE: \"msg  (Message)\"") 								 ||
		print("[ FUNCTION: Will Send a message in Chat for all Players")   ||
		print("--------------------------\n");
	    else
	    {
     	format(message, sizeof(message), "[RCON]: %s", cmd[arg_1]);
      	SendClientMessageToAll(COLOR_WHITE, message);
      	printf("Message to All '%s' Sent!", cmd[arg_1] );
    	}
	    return true;
	}
//===============================
// (Command) View Game Chat
//===============================
	if(!strcmp(cmd, "chat", .length = 4))
	{
	for(new i = 1; i < MAX_CHAT_LINES; i++) print(Chat[i]);
    return true;
	}
	return 0;
}
//==============================================================================
// Spectate
//==============================================================================
#if EnableSpec == true

public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
{
	new x = 0;
	while(x!=MAX_PLAYERS)
	{
    if( IsPlayerConnected(x) &&	GetPlayerState(x) == PLAYER_STATE_SPECTATING &&
	AccInfo[x][SpecID] == playerid && AccInfo[x][SpecType] == ADMIN_SPEC_TYPE_PLAYER)
	{
    SetPlayerInterior(x,newinteriorid);
	}
	x++;
	}
}
//==============================================================================
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
	#if ExecuteCmdKey != 0
	if(newkeys == ExecuteCmdKey && AccInfo[playerid][Level] >= 2)
	{
	    return ShowPlayerDialog(playerid, DIALOGID+80, DIALOG_STYLE_INPUT, "/eAdmin - Execute Command",
		"Simple type a Command! \n\nFor eAdmin, for your GameMode, and for any other Filterscript! \n\nExemple: 'ban 0 cheats' (Without '/')", "Exec Cmd", "Cancel");
 	}
 	#endif
	if(GetPlayerState(playerid) == PLAYER_STATE_SPECTATING && AccInfo[playerid][SpecID] != INVALID_PLAYER_ID)
	{
	if(newkeys == KEY_JUMP) AdvanceSpectate(playerid);
	else if(newkeys == KEY_SPRINT) ReverseSpectate(playerid);
	}
	#if EnableCamHack == true
	if(AccInfo[playerid][InCamMod] == 1)
	{
		if(newkeys == KEY_CROUCH)
		{
		    KeyState[playerid] = 1;
		}
		else if(newkeys == KEY_SPRINT)
		{
		    KeyState[playerid] = 2;
		}
		else if(newkeys == (KEY_CROUCH+KEY_SPRINT))
		{
		    KeyState[playerid] = 3;
		}
		else if(newkeys == KEY_WALK)
		{
		    KeyState[playerid] = 4;
		}
		else if(newkeys == (KEY_WALK+KEY_SPRINT))
		{
		    KeyState[playerid] = 5;
		}
		else
		{
		    KeyState[playerid] = 0;
		}
	}
	#endif
	return 1;
}

//==============================================================================
public OnPlayerEnterVehicle(playerid, vehicleid)
{
	for(new x=0; x<MAX_PLAYERS; x++)
	{
	    if(GetPlayerState(x) == PLAYER_STATE_SPECTATING && AccInfo[x][SpecID] == playerid)
		{
  		TogglePlayerSpectating(x, 1);
  		PlayerSpectateVehicle(x, vehicleid);
  		AccInfo[x][SpecType] = ADMIN_SPEC_TYPE_VEHICLE;
		}
	}
	return 1;
}

//==============================================================================
public OnPlayerStateChange(playerid, newstate, oldstate)
{
	switch(newstate)
	{
		case PLAYER_STATE_ONFOOT:
		{
		switch(oldstate)
		{
			case PLAYER_STATE_DRIVER: OnPlayerExitVehicle(playerid,255);
			case PLAYER_STATE_PASSENGER: OnPlayerExitVehicle(playerid,255);
			}
		}
	}
	return 1;
}
#endif

//==============================================================================
public OnPlayerExitVehicle(playerid, vehicleid)
{
	if(AccInfo[playerid][DoorsLocked] == 1)
	SetVehicleParamsForPlayer(GetPlayerVehicleID(playerid),playerid,false,false);

	#if EnableSpec == true
	for(new x=0; x<MAX_PLAYERS; x++)
	{
	if(GetPlayerState(x) == PLAYER_STATE_SPECTATING && AccInfo[x][SpecID] == playerid && AccInfo[x][SpecType] == ADMIN_SPEC_TYPE_VEHICLE)
	{
	TogglePlayerSpectating(x, 1);
 	PlayerSpectatePlayer(x, playerid);
 	AccInfo[x][SpecType] = ADMIN_SPEC_TYPE_PLAYER;
	}
	}
	#endif
	return 1;
}

//==============================================================================

#if EnableSpec == true

stock StartSpectate(playerid, specplayerid)
{
	for(new x=0; x<MAX_PLAYERS; x++)
	{
	    if(GetPlayerState(x) == PLAYER_STATE_SPECTATING && AccInfo[x][SpecID] == playerid)
		{
  	     AdvanceSpectate(x);
		}
	}
	SetPlayerInterior(playerid,GetPlayerInterior(specplayerid));
	TogglePlayerSpectating(playerid, 1);

	if(IsPlayerInAnyVehicle(specplayerid))
	{
		PlayerSpectateVehicle(playerid, GetPlayerVehicleID(specplayerid));
		AccInfo[playerid][SpecID] = specplayerid;
		AccInfo[playerid][SpecType] = ADMIN_SPEC_TYPE_VEHICLE;
	}
	else
	{
		PlayerSpectatePlayer(playerid, specplayerid);
		AccInfo[playerid][SpecID] = specplayerid;
		AccInfo[playerid][SpecType] = ADMIN_SPEC_TYPE_PLAYER;
	}
	new string[128], Float:hp, Float:ar;
	GetPlayerName(specplayerid,string,sizeof(string));
	GetPlayerHealth(specplayerid, hp);
	GetPlayerArmour(specplayerid, ar);

	for(new i=0; i<MAX_PLAYERS; i++)
	{
		format(string, 256, "~w~- %s(%d) -~n~~n~~y~Health: ~w~%0.1f ~l~- ~y~Armour: ~w~%0.1f ~l~- ~y~Money: ~w~$%d~n~~n~~r~< Sprint - Jump >", string,specplayerid,hp,ar,GetPlayerMoney(specplayerid));
	 	TextDrawSetString(GpsTD[i], string);
 		return TextDrawShowForPlayer(playerid,GpsTD[i]);
  }
	return 1;
}

stock StopSpectate(playerid)
{
	TogglePlayerSpectating(playerid, 0);
	AccInfo[playerid][SpecID] = INVALID_PLAYER_ID;
	AccInfo[playerid][SpecType] = ADMIN_SPEC_TYPE_NONE;
	GameTextForPlayer(playerid,"~n~~n~~n~~n~~n~~n~~n~~w~~g~Spectate ~w~mode ~r~Ended",1000,3);
	for(new x=0; x<MAX_PLAYERS; x++) TextDrawHideForPlayer(playerid,GpsTD[x]);
	return 1;
}

stock AdvanceSpectate(playerid)
{
    if(ConnectedPlayers() == 2) { StopSpectate(playerid); return 1; }
	if(GetPlayerState(playerid) == PLAYER_STATE_SPECTATING && AccInfo[playerid][SpecID] != INVALID_PLAYER_ID)
	{
	    for(new x=AccInfo[playerid][SpecID]+1; x<=MAX_PLAYERS; x++)
		{
	    	if(x == MAX_PLAYERS) x = 0;
	        if(IsPlayerConnected(x) && x != playerid)
			{
				if(GetPlayerState(x) == PLAYER_STATE_SPECTATING && AccInfo[x][SpecID] != 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 && AccInfo[playerid][SpecID] != INVALID_PLAYER_ID)
	{
	    for(new x=AccInfo[playerid][SpecID]-1; x>=0; x--)
		{
	    	if(x == 0) x = MAX_PLAYERS;
	        if(IsPlayerConnected(x) && x != playerid)
			{
				if(GetPlayerState(x) == PLAYER_STATE_SPECTATING && AccInfo[x][SpecID] != INVALID_PLAYER_ID || (GetPlayerState(x) != 1 && GetPlayerState(x) != 2 && GetPlayerState(x) != 3))
				{
					continue;
				}
				else
				{
					StartSpectate(playerid, x);
					break;
				}
			}
		}
	}
	return 1;
}
//-------------------------------------------
public ReturnPosition(playerid)
{
	TogglePlayerControllable(playerid, 1);
	SetPlayerPos(playerid,Pos[playerid][0],Pos[playerid][1],Pos[playerid][2]);
	SetPlayerFacingAngle(playerid,Pos[playerid][3]);
	PlayerPlaySound(playerid,1137,0.0,0.0,0.0);
}
#endif

GetVehicleModelIDFromName(vname[])
{
	for(new i = 0; i < 211; i++)
	{
	if ( strfind(VehicleNames[i], vname, true) != -1 )
	return i + 400;
	}
	return -1;
}
//==============================================================================
// Vehicle Spawn/Delete
//==============================================================================
DelVehicle(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;
}


public CarSpawner(playerid,model)
{
	if(IsPlayerInAnyVehicle(playerid))
	SendClientMessage(playerid, red, "[ ERROR: You already have a car. ]");
	else
	{
	    new Float:x, Float:y, Float:z, Float:angle;
		GetPlayerPos(playerid, x, y, z);
	 	GetPlayerFacingAngle(playerid, angle);

		if(AccInfo[playerid][pCar] != -1)
		EraseVeh(AccInfo[playerid][pCar]);
	    new vehicleid=CreateVehicle(model, x, y, z, angle, -1, -1, -1);
		PutPlayerInVehicle(playerid, vehicleid, 0);
		SetVehicleVirtualWorld(vehicleid, GetPlayerVirtualWorld(playerid));
		LinkVehicleToInterior(vehicleid, GetPlayerInterior(playerid));
		ChangeVehicleColor(vehicleid,0,3);
        AccInfo[playerid][pCar] = vehicleid;
	}
	return 1;
}


public EraseVeh(vehicleid)
{
    for(new i=0;i<MAX_PLAYERS;i++)
	{
        new Float:X,Float:Y,Float:Z;
    	if(IsPlayerInVehicle(i, vehicleid))
		{
  		RemovePlayerFromVehicle(i);
  		GetPlayerPos(i,X,Y,Z);
 		SetPlayerPos(i,X,Y+3,Z);
	    }
	    SetVehicleParamsForPlayer(vehicleid,i,0,1);
	}
    SetTimerEx("VehRes",1500,0,"i",vehicleid);
}
public VehRes(vehicleid)
{
    DestroyVehicle(vehicleid);
}

public OnVehicleSpawn(vehicleid)
{
	for(new i=0;i<MAX_PLAYERS;i++)
	{
        if(vehicleid==AccInfo[i][pCar])
		{
		    EraseVeh(vehicleid);
	        AccInfo[i][pCar]=-1;
        }
	}
	return 1;
}

//==============================================================================

//==============================================================================
//-------------------------------------------------
// Dialog Response
//-------------------------------------------------
//==============================================================================
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
#if EnablePM_Cmd == true
	if (dialogid == DIALOG_TYPE_PM)
	{
 		if(response)
	    {
     		if (strlen(inputtext) < 1 || strlen(inputtext) > 80)
			return SendClientMessage(playerid, red, "[ ERROR: Invalid PM Lenght. ]");
            OnPlayerPrivmsg(playerid, PMplayer1, inputtext);
		}
		return 1;
	}
#endif
#if USE_DIALOGS == true
//==============================================================================
//---------------
// Dialog - SAFETY QUESTION
//---------------
//==============================================================================
	if (dialogid == DIALOG_TYPE_QUESTION)
	{
		if(response == 0)
		{
	 	AccInfo[playerid][NoQuestion] = dUserSetINT(PlayerName2(playerid)).("NoQuestion",1);
	 	}
 		if(response)
	    {
     		if (strlen(inputtext) < 5 || strlen(inputtext) > 60)
     		{
     		    return ShowPlayerDialog(playerid,DIALOG_TYPE_QUESTION,DIALOG_STYLE_INPUT,"Account Safety Question",""COL_GREY"Your security question must be b/w (5-40 char)\n\n"COL_WHITE"Type a security question, for when you forget\n\n"COL_WHITE"your password, you just answer this Question.","Next","Cancel");
     		}
			new file[256],e_name[MAX_PLAYER_NAME],rstring[500];
			AccInfo[playerid][NoQuestion] = dUserSetINT(PlayerName2(playerid)).("NoQuestion",0);
			GetPlayerName(playerid,e_name,sizeof(e_name));
			format(file,sizeof(file),"/eAdmin/Accounts/%s.sav",udb_encode(e_name));
			dini_Set(file,"Question",inputtext);
			format(rstring,sizeof(rstring),""COL_WHITE"Type a security answer, for your security question\n\n"COL_WHITE"Type the answer which you remember.\n\n"COL_GREY"Your question:\n\"%s\".",inputtext);
			ShowPlayerDialog(playerid,DIALOG_TYPE_QUESTION+1,DIALOG_STYLE_INPUT,"Account Safety Question",rstring,"Confirm","Back");
			PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
		}
		return 1;
	}

//==============================================================================
//---------------
// Dialog - SAFETY QUESTION (RESPONSE)
//---------------
//==============================================================================
	if (dialogid == DIALOG_TYPE_QUESTION+1)
	{
		if(response == 0)
		{
		ShowPlayerDialog(playerid,DIALOG_TYPE_QUESTION,DIALOG_STYLE_INPUT,"Account Safety Question",""COL_WHITE"Type a security question, for when you forget\n\n"COL_WHITE"your password, you just answer this Question.","Next","Cancel");
 		//AccInfo[playerid][NoQuestion] = dUserSetINT(PlayerName2(playerid)).("NoQuestion",1);
	 	}

 		if(response)
	    {
	        if(strlen(inputtext) < 1 || strlen(inputtext) > 40)
	        {
			new rstring[500];
			new file[256],e_name[MAX_PLAYER_NAME];
			GetPlayerName(playerid,e_name,sizeof(e_name));
			dini_Get(file,"Question");
			AccInfo[playerid][NoQuestion] = dUserSetINT(PlayerName2(playerid)).("NoQuestion",0);
			format(rstring,sizeof(rstring),""COL_GREY"Your answer must be b/w (1-40 char)\n\n"COL_WHITE"Type a security answer, for your security question\n\n"COL_WHITE"Type the answer which you remember.\n\n"COL_GREY"Your question:\n\"%s\".",file);
			return ShowPlayerDialog(playerid,DIALOG_TYPE_QUESTION+1,DIALOG_STYLE_INPUT,"Account Safety Question",rstring,"Confirm","Back");
			}

			new file[256],e_name[MAX_PLAYER_NAME],rstring[500];
			GetPlayerName(playerid,e_name,sizeof(e_name));
			format(file,sizeof(file),"/eAdmin/Accounts/%s.sav",udb_encode(e_name));
			new hashq[145];
			WP_Hash(hashq, sizeof(hashq), inputtext);
			dini_Set(file,"QuestionR",hashq);
			PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
			format(rstring,sizeof(rstring),"[ You have sucessfully register, ( Security Question: %s | Answer: %s ). ]",dini_Get(file, "Question"),inputtext);
			SendClientMessage(playerid,green,rstring);
		}
		return 1;
	}
//==============================================================================
//---------------
// Dialog - REGISTER
//---------------
//==============================================================================
	if (dialogid == DIALOGID+66)
	{
 		if(response == 0 && ServerInfo[MustRegister] == 1)
		{
			Kick(playerid);
		}
 		if(response)
	    {
			if (strlen(inputtext) < 4 || strlen(inputtext) > 20)
			{
				new rstring[500];
				format(rstring,sizeof(rstring),""COL_GREY"You must enter a complicated password of lenght b/w (4-20 char.)\n\n"COL_WHITE"Welcome to '%s'.\n\n"COL_WHITE"Your username "COL_BLUE"%s "COL_WHITE"is not registered yet,\n\n"COL_WHITE"Please insert a complicated password below to register.",GetServerHostName(),pName(playerid));
				return ShowPlayerDialog(playerid,DIALOGID+68,DIALOG_STYLE_INPUT,"Register Account",rstring,"Register","Cancel");
			}
 			if (udb_Create(PlayerName2(playerid)))
			{
				#if EnableSecurity == true
			    ShowPlayerDialog(playerid,DIALOG_TYPE_QUESTION,DIALOG_STYLE_INPUT,"Account Safety Question",""COL_WHITE"Type a security question, for when you forget\n\n"COL_WHITE"your password, you just answer this Question.","Next","Cancel");
				#else
				AccInfo[playerid][NoQuestion] = dUserSetINT(PlayerName2(playerid)).("NoQuestion",1);
				#endif
				new file[256],e_name[MAX_PLAYER_NAME], buf[145],tmp3[100];
	 			new strdate[20], year,month,day;
				getdate(year, month, day);
	  			WP_Hash(buf, sizeof(buf), inputtext);
				GetPlayerName(playerid,e_name,sizeof(e_name));
				format(file,sizeof(file),"/eAdmin/Accounts/%s.sav",udb_encode(e_name));
				GetPlayerIp(playerid,tmp3,100);
				dini_Set(file,"Password",buf);
				dini_Set(file,"Ip",tmp3);
				dUserSetINT(PlayerName2(playerid)).("Registered",1);
				format(strdate, sizeof(strdate), "%d/%d/%d",day,month,year);
				dini_Set(file,"RegisteredDate",strdate);
				dUserSetINT(PlayerName2(playerid)).("Loggedin",1);
				dUserSetINT(PlayerName2(playerid)).("Banned",0);
				dUserSet(PlayerName2(playerid)).("BannedBy","-");
				dUserSet(PlayerName2(playerid)).("BannedDate","-");
				dUserSet(PlayerName2(playerid)).("BannedReason","-");
				dUserSetINT(PlayerName2(playerid)).("Level",0);
				dUserSetINT(PlayerName2(playerid)).("AccountType",0);
				dini_Set(file,"LastOn",strdate);
				dUserSetINT(PlayerName2(playerid)).("Money",0);
				dUserSetINT(PlayerName2(playerid)).("Kills",0);
				dUserSetINT(PlayerName2(playerid)).("Deaths",0);
				dUserSetINT(PlayerName2(playerid)).("WantedLevel",0);
				#if SaveScore == true
				dUserSetINT(PlayerName2(playerid)).("Score",0);
				#endif
				dUserSetINT(PlayerName2(playerid)).("Hours",0);
				dUserSetINT(PlayerName2(playerid)).("Minutes",0);
				dUserSetINT(PlayerName2(playerid)).("Seconds",0);
				AccInfo[playerid][LoggedIn] = 1;
				AccInfo[playerid][Registered] = 1;
				SendClientMessage(playerid, green, "[ You are now Registered, and have been automaticaly Logged in. ]");
				PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
				return 1;
			}
		}
		return 1;
	}
//==============================================================================
//---------------
// Dialog - LOGIN
//---------------
//==============================================================================
	if (dialogid == DIALOGID+67)
	{
 		if(response == 0 && ServerInfo[MustLogin] == 1)
		{
			Kick(playerid);
		}
 		if(response)
		{
		    new lstring[500];
			new file[128], Pass[256];
			format(file,sizeof(file),"/eAdmin/Accounts/%s.sav",udb_encode(PlayerName2(playerid)));

			Pass = dini_Get(file, "Password");
		 	new buf[145];
		 	WP_Hash(buf, sizeof(buf), inputtext);

		 	AccInfo[playerid][NoQuestion] = dUserINT(PlayerName2(playerid)).("NoQuestion");

		    if(strcmp(Pass, buf, false) == 0)
			{
			    new tmp3[100], string[128];
			   	format(file,sizeof(file),"/eAdmin/Accounts/%s.sav",udb_encode(PlayerName2(playerid)));
				GetPlayerIp(playerid,tmp3,100);
				dini_Set(file,"Ip",tmp3);
				LoginPlayer(playerid);
				PlayerPlaySound(playerid,1057,0.0,0.0,0.0);

				if(AccInfo[playerid][Level] > 0)
				{
					switch(AccInfo[playerid][Level])
					{
					case 1: AdmRank = "Basic Moderator";
					case 2: AdmRank = "Moderator";
					case 3: AdmRank = "Master Moderator";
					case 4: AdmRank = "Administrator";
					case 5: AdmRank = "Master Administrator";
					}
					if(AccInfo[playerid][Level] > 5)
					{
						AdmRank = "Professional Admin";
					}
					if(AccInfo[playerid][pVip] > 0)
					{
						switch(AccInfo[playerid][pVip])
						{
						case 1: AccType = "Silver";
						case 2: AccType = "Gold";
						case 3: AccType = "Premium";
						}
						format(string,sizeof(string),"[ You have Successfully Logged. | Account: %s | Level %d ( %s ). ]", AccType, AccInfo[playerid][Level], AdmRank);
						return SendClientMessage(playerid,0x00C378AA,string);
					}
					else
					{
						format(string,sizeof(string),"[ You have Successfully Logged. | Level %d ( %s ). ]", AccInfo[playerid][Level], AdmRank);
						return SendClientMessage(playerid,green,string);
					}
				}
				else
				{
					if(AccInfo[playerid][pVip] > 0)
					{
						switch(AccInfo[playerid][pVip])
						{
						case 1: AccType = "Silver";
						case 2: AccType = "Gold";
						case 3: AccType = "Premium";
						}
						format(string,sizeof(string),"[ You have Successfully logged. | Account: %s ]", AccType);
						return SendClientMessage(playerid,0x00C896AA,string);
					}
					else return SendClientMessage(playerid,green,"[ You have Successfully logged. ]");
				}
			}
			else
			{
				AccInfo[playerid][FailLogin]++;
				printf("LOGIN: Failed Login: %s. Wrong password (%s) (%d)", PlayerName2(playerid), inputtext, AccInfo[playerid][FailLogin] );
				if(AccInfo[playerid][FailLogin] == MAX_FAIL_LOGINS)
				{
					new string[128]; format(string, sizeof(string), "[ Player %s has been automatically kicked (Reason: Many attempts Incorrect Passwords). ]", PlayerName2(playerid) );
					SendClientMessageToAll(red, string);
					print(string);
					Kick(playerid);
				}
				#if EnableSecurity == true
			    if(AccInfo[playerid][NoQuestion] == 1)
				{
					format(lstring,sizeof(lstring),""COL_GREY"Incorrect password.\n\n"COL_WHITE"Welcome to '%s'.\n\n"COL_WHITE"Your username "COL_BLUE"%s "COL_WHITE"is registered according to our database,\n\n"COL_WHITE"Please insert a complicated password below to register.",GetServerHostName(),pName(playerid));
					return ShowPlayerDialog(playerid,DIALOGID+69,DIALOG_STYLE_INPUT,"Login Error",lstring,"Login","Quit");
				}
			 	if(AccInfo[playerid][NoQuestion] == 0)
				{
					format(lstring,sizeof(lstring),""COL_GREY"Incorrect password.\n"COL_GREY"Please enter the correct password or fill in your answer to this:\n"COL_GREY"[Q] '%s'\n\n"COL_WHITE"Welcome to '%s'.\n\n"COL_WHITE"Your username "COL_BLUE"%s "COL_WHITE"is registered according to our database,\n\n"COL_WHITE"Please insert a complicated password below to register.",dini_Get(file, "Question"),GetServerHostName(),pName(playerid));
					return  ShowPlayerDialog(playerid,DIALOGID+69,DIALOG_STYLE_INPUT,"Login Error",lstring,"Login","Quit");
				}
				#else
				format(lstring,sizeof(lstring),""COL_GREY"Incorrect password.\n\n"COL_WHITE"Welcome to '%s'.\n\n"COL_WHITE"Your username "COL_BLUE"%s "COL_WHITE"is registered according to our database,\n\n"COL_WHITE"Please insert a complicated password below to register.",GetServerHostName(),pName(playerid));
				return ShowPlayerDialog(playerid,DIALOGID+69,DIALOG_STYLE_INPUT,"Login Error",lstring,"Login","Quit");
				#endif
			}
		}
	}
//==============================================================================
//---------------
// Dialog - ERROR PASSWORD
//---------------
//==============================================================================
	if (dialogid == DIALOGID+68)
	{
 		if(response == 0 && ServerInfo[MustRegister] == 1)
		{
			Kick(playerid);
		}
 		if(response)
	    {
			if(strlen(inputtext) < 4 || strlen(inputtext) > 20)
			{
				new rstring[500];
				format(rstring,sizeof(rstring),""COL_GREY"You must enter a complicated password of lenght b/w (4-20 char.)\n\n"COL_WHITE"Welcome to '%s'.\n\n"COL_WHITE"Your username "COL_BLUE"%s "COL_WHITE"is not registered yet,\n\n"COL_WHITE"Please insert a complicated password below to register.",GetServerHostName(),pName(playerid));
				return ShowPlayerDialog(playerid,DIALOGID+68,DIALOG_STYLE_INPUT,"Register Error",rstring,"Register","Cancel");
			}
   			if(udb_Create(PlayerName2(playerid)))
			{
			    #if EnableSecurity == true
			    ShowPlayerDialog(playerid,DIALOG_TYPE_QUESTION,DIALOG_STYLE_INPUT,"Account Safety Question",""COL_WHITE"Type a security question, for when you forget\n\n"COL_WHITE"your password, you just answer this Question.","Next","Cancel");
				#else
				AccInfo[playerid][NoQuestion] = dUserSetINT(PlayerName2(playerid)).("NoQuestion",1);
				#endif
				new file[256],e_name[MAX_PLAYER_NAME], buf[145],tmp3[100];
	    		new strdate[20], year,month,day;
				getdate(year, month, day);
	        	WP_Hash(buf, sizeof(buf), inputtext);
				GetPlayerName(playerid,e_name,sizeof(e_name));

				format(file,sizeof(file),"/eAdmin/Accounts/%s.sav",udb_encode(e_name));
	     		GetPlayerIp(playerid,tmp3,100);
	     		dini_Set(file,"Password",buf);
		    	dini_Set(file,"Ip",tmp3);
			    dUserSetINT(PlayerName2(playerid)).("Registered",1);
		   		format(strdate, sizeof(strdate), "%d/%d/%d",day,month,year);
				dini_Set(file,"RegisteredDate",strdate);
				dUserSetINT(PlayerName2(playerid)).("Loggedin",1);
				dUserSetINT(PlayerName2(playerid)).("Banned",0);
				dUserSet(PlayerName2(playerid)).("BannedBy","-");
				dUserSet(PlayerName2(playerid)).("BannedDate","-");
				dUserSet(PlayerName2(playerid)).("BannedReason","-");
				dUserSetINT(PlayerName2(playerid)).("Level",0);
				dUserSetINT(PlayerName2(playerid)).("AccountType",0);
			    dini_Set(file,"LastOn",strdate);
		    	dUserSetINT(PlayerName2(playerid)).("Money",0);
		    	dUserSetINT(PlayerName2(playerid)).("Kills",0);
			   	dUserSetINT(PlayerName2(playerid)).("Deaths",0);
	            dUserSetINT(PlayerName2(playerid)).("WantedLevel",0);
	            #if SaveScore == true
	            dUserSetINT(PlayerName2(playerid)).("Score",0);
	            #endif
			   	dUserSetINT(PlayerName2(playerid)).("Hours",0);
			   	dUserSetINT(PlayerName2(playerid)).("Minutes",0);
			   	dUserSetINT(PlayerName2(playerid)).("Seconds",0);
			    AccInfo[playerid][LoggedIn] = 1;
			    AccInfo[playerid][Registered] = 1;
			    SendClientMessage(playerid, green, "[ You are now Registered, and have been automaticaly Logged in. ]");
				PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
				return 1;
			}
		}
    	return 1;
	}
//==============================================================================
//---------------
// Dialog - INCORRECT PASSWORD
//---------------
//==============================================================================
	if (dialogid == DIALOGID+69)
	{
 		if(response == 0 && ServerInfo[MustLogin] == 1)
		{
			Kick(playerid);
		}
 		if(response)
		{
			new file[128], Pass[256], Question[256];
			new lstring[500];
			format(file,sizeof(file),"/eAdmin/Accounts/%s.sav",udb_encode(PlayerName2(playerid)));

			Pass = dini_Get(file, "Password");
		 	new buf[145];
		 	WP_Hash(buf, sizeof(buf), inputtext);

		 	Question = dini_Get(file, "QuestionR");
		 	new buf2[145];
		 	WP_Hash(buf2, sizeof(buf2), inputtext);

		 	AccInfo[playerid][NoQuestion] = dUserINT(PlayerName2(playerid)).("NoQuestion");

            if(AccInfo[playerid][NoQuestion] == 1)
			{
			    if(strcmp(Pass, buf, false) == 0)
				{
				    new tmp3[100], string[128];
				   	format(file,sizeof(file),"/eAdmin/Accounts/%s.sav",udb_encode(PlayerName2(playerid)));
					GetPlayerIp(playerid,tmp3,100);
					dini_Set(file,"Ip",tmp3);
					LoginPlayer(playerid);
					PlayerPlaySound(playerid,1057,0.0,0.0,0.0);

					if(AccInfo[playerid][Level] > 0)
					{
						switch(AccInfo[playerid][Level])
						{
						case 1: AdmRank = "Basic Moderator";
						case 2: AdmRank = "Moderator";
						case 3: AdmRank = "Master Moderator";
						case 4: AdmRank = "Administrator";
						case 5: AdmRank = "Master Administrator";
						}
						if(AccInfo[playerid][Level] > 5)
						{
							AdmRank = "Professional Admin";
						}
						if(AccInfo[playerid][pVip] > 0)
						{
							switch(AccInfo[playerid][pVip])
							{
							case 1: AccType = "Silver";
							case 2: AccType = "Gold";
							case 3: AccType = "Premium";
							}
							format(string,sizeof(string),"[ You have Successfully Logged. | Account: %s | Level %d ( %s ). ]", AccType, AccInfo[playerid][Level], AdmRank);
							return SendClientMessage(playerid,0x00C378AA,string);
						}
						else
						{
							format(string,sizeof(string),"[ You have Successfully Logged! | Level %d ( %s ). ]", AccInfo[playerid][Level], AdmRank);
							return SendClientMessage(playerid,green,string);
						}
					}
					else
					{
						if(AccInfo[playerid][pVip] > 0)
						{
							switch(AccInfo[playerid][pVip])
							{
							case 1: AccType = "Silver";
							case 2: AccType = "Gold";
							case 3: AccType = "Premium";
							}
							format(string,sizeof(string),"[ You have Successfully logged!. | Account: %s. ]", AccType);
							return SendClientMessage(playerid,0x00C896AA,string);
						}
						else return SendClientMessage(playerid,green,"[ You have Successfully logged. ]");
					}
				}
				else
				{
					AccInfo[playerid][FailLogin]++;
					printf("LOGIN: Failed Login: %s. Wrong password (%s) (%d)", PlayerName2(playerid), inputtext, AccInfo[playerid][FailLogin] );
					if(AccInfo[playerid][FailLogin] == MAX_FAIL_LOGINS)
					{
						new string[128]; format(string, sizeof(string), "[ Player %s has been automatically kicked (Reason: Many attempts Incorrect Passwords). ]", PlayerName2(playerid) );
						SendClientMessageToAll(red, string);
						print(string);
						Kick(playerid);
					}
					#if EnableSecurity == true
			    	if(AccInfo[playerid][NoQuestion] == 1)
					{
						format(lstring,sizeof(lstring),""COL_GREY"Incorrect password.\n\n"COL_WHITE"Welcome to '%s'.\n\n"COL_WHITE"Your username "COL_BLUE"%s "COL_WHITE"is registered according to our database,\n\n"COL_WHITE"Please insert a complicated password below to register.",GetServerHostName(),pName(playerid));
						return ShowPlayerDialog(playerid,DIALOGID+69,DIALOG_STYLE_INPUT,"Login Error",lstring,"Login","Quit");
					}
				 	if(AccInfo[playerid][NoQuestion] == 0)
					{
						format(lstring,sizeof(lstring),""COL_GREY"Incorrect password.\n"COL_GREY"Please enter the correct password or fill in your answer to this:\n"COL_GREY"[Q] '%s'\n\n"COL_WHITE"Welcome to '%s'.\n\n"COL_WHITE"Your username "COL_BLUE"%s "COL_WHITE"is registered according to our database,\n\n"COL_WHITE"Please insert a complicated password below to register.",dini_Get(file, "Question"),GetServerHostName(),pName(playerid));
						return  ShowPlayerDialog(playerid,DIALOGID+69,DIALOG_STYLE_INPUT,"Login Error",lstring,"Login","Quit");
					}
					#else
					format(lstring,sizeof(lstring),""COL_GREY"Incorrect password.\n\n"COL_WHITE"Welcome to '%s'.\n\n"COL_WHITE"Your username "COL_BLUE"%s "COL_WHITE"is registered according to our database,\n\n"COL_WHITE"Please insert a complicated password below to register.",GetServerHostName(),pName(playerid));
					return ShowPlayerDialog(playerid,DIALOGID+69,DIALOG_STYLE_INPUT,"Login Error",lstring,"Login","Quit");
					#endif
				}
			}
		 	else
			{
				if(strcmp(Pass, buf, false) == 0 || strcmp(Question, buf2, false) == 0)
				{
				    new tmp3[100], string[128];
				   	format(file,sizeof(file),"/eAdmin/Accounts/%s.sav",udb_encode(PlayerName2(playerid)));
					GetPlayerIp(playerid,tmp3,100);
					dini_Set(file,"Ip",tmp3);
					LoginPlayer(playerid);
					PlayerPlaySound(playerid,1057,0.0,0.0,0.0);

					if(AccInfo[playerid][Level] > 0)
					{
						switch(AccInfo[playerid][Level])
						{
						case 1: AdmRank = "Basic Moderator";
						case 2: AdmRank = "Moderator";
						case 3: AdmRank = "Master Moderator";
						case 4: AdmRank = "Administrator";
						case 5: AdmRank = "Master Administrator";
						}
						if(AccInfo[playerid][Level] > 5)
						{
							AdmRank = "Professional Admin";
						}
						if(AccInfo[playerid][pVip] > 0)
						{
							switch(AccInfo[playerid][pVip])
							{
							case 1: AccType = "Silver";
							case 2: AccType = "Gold";
							case 3: AccType = "Premium";
							}
							format(string,sizeof(string),"[ You have Successfully Logged! | Account: %s | Level %d ( %s ). ]", AccType, AccInfo[playerid][Level], AdmRank);
							return SendClientMessage(playerid,0x00C378AA,string);
						}
						else
						{
							format(string,sizeof(string),"[ You have Successfully Logged! | Level %d ( %s ). ]", AccInfo[playerid][Level], AdmRank);
							return SendClientMessage(playerid,green,string);
						}
					}
					else
					{
						if(AccInfo[playerid][pVip] > 0)
						{
							switch(AccInfo[playerid][pVip])
							{
							case 1: AccType = "Silver";
							case 2: AccType = "Gold";
							case 3: AccType = "Premium";
							}
							format(string,sizeof(string),"[ You have Successfully logged! | Account: %s. ]", AccType);
							return SendClientMessage(playerid,0x00C896AA,string);
						}
						else return SendClientMessage(playerid,green,"[ You have Successfully logged. ]");
					}
				}
				else
				{
					AccInfo[playerid][FailLogin]++;
					printf("LOGIN: Failed Login: %s. Wrong password (%s) (%d)", PlayerName2(playerid), inputtext, AccInfo[playerid][FailLogin] );
					if(AccInfo[playerid][FailLogin] == MAX_FAIL_LOGINS)
					{
						new string[128]; format(string, sizeof(string), "[ Player %s has been automatically kicked (Reason: Many attempts Incorrect Passwords). ]", PlayerName2(playerid) );
						SendClientMessageToAll(red, string);
						print(string);
						Kick(playerid);
					}
					#if EnableSecurity == true
			    	if(AccInfo[playerid][NoQuestion] == 1)
					{
						format(lstring,sizeof(lstring),""COL_GREY"Incorrect password.\n\n"COL_WHITE"Welcome to '%s'.\n\n"COL_WHITE"Your username "COL_BLUE"%s "COL_WHITE"is registered according to our database,\n\n"COL_WHITE"Please insert a complicated password below to register.",GetServerHostName(),pName(playerid));
						return ShowPlayerDialog(playerid,DIALOGID+69,DIALOG_STYLE_INPUT,"Login Error",lstring,"Login","Quit");
					}
				 	if(AccInfo[playerid][NoQuestion] == 0)
					{
						format(lstring,sizeof(lstring),""COL_GREY"Incorrect password.\n"COL_GREY"Please enter the correct password or fill in your answer to this:\n"COL_GREY"[Q] '%s'\n\n"COL_WHITE"Welcome to '%s'.\n\n"COL_WHITE"Your username "COL_BLUE"%s "COL_WHITE"is registered according to our database,\n\n"COL_WHITE"Please insert a complicated password below to register.",dini_Get(file, "Question"),GetServerHostName(),pName(playerid));
						return  ShowPlayerDialog(playerid,DIALOGID+69,DIALOG_STYLE_INPUT,"Login Error",lstring,"Login","Quit");
					}
					#else
					format(lstring,sizeof(lstring),""COL_GREY"Incorrect password.\n\n"COL_WHITE"Welcome to '%s'.\n\n"COL_WHITE"Your username "COL_BLUE"%s "COL_WHITE"is registered according to our database,\n\n"COL_WHITE"Please insert a complicated password below to register.",GetServerHostName(),pName(playerid));
					return ShowPlayerDialog(playerid,DIALOGID+69,DIALOG_STYLE_INPUT,"Login Error",lstring,"Login","Quit");
					#endif
				}
			}
		}
	}
#endif
//==============================================================================
	new string[128];
	new adminname[MAX_PLAYER_NAME];
	new file[256];
	GetPlayerName(playerid, adminname, sizeof(adminname));
	format(file,sizeof(file),"/eAdmin/Config/Config.ini");
//==============================================================================
#if USE_DIALOGS == true
//==============================================================================
//Teleport Main
//==============================================================================
	if (dialogid == DIALOGID+70)
	{
		if(response)
 		{
 			if(listitem == 0){ ShowPlayerDialog(playerid,DIALOGID+72,DIALOG_STYLE_INPUT,"Teleport System - Create Teleport","Put in Box the name of new Teleport","Create","Back");}
//-------------------------------------------
			if(listitem == 1)
		  	{
			  	new tcount = 0, tp=0,numrow = 0;
				for(new t=0;t<MAX_CTELES;t++)
				{
				if(CTeleInfo[t][TValid] == 1)
				{
	 			numrow++;
				}
				}
				if(numrow > 0)
				{
				for(new t=0;t<MAX_CTELES;t++)
				{
				if(CTeleInfo[t][TValid] == 1)
				{
				format(string,sizeof(string),"%s %s,",string,CTeleInfo[t][TName]);
				tp++;
				if(tp == CTELE_LINE || tcount == numrow-1)
				{
				strdel(string,strlen(string)-1,strlen(string));
				ShowPlayerDialog(playerid,DIALOGID+73,DIALOG_STYLE_INPUT,"Teleport System - Delete Teleport",string,"Delete","Back");
				format(string,sizeof(string),"%s,\n",string,CTeleInfo[t][TName]);
				tp = 0;
				}
				tcount++;
				}
				}
				} else {
 				GameTextForPlayer(playerid,"~w~~n~~n~~n~~n~~n~There is ~r~no ~w~Teleport created",3000,5);
 				ShowPlayerDialog(playerid,DIALOGID+70,DIALOG_STYLE_LIST,"Admin - Teleport System:","Create Tele\nDelete Tele\nTeleport","Ok","Cancel");
 				}
 			}
//-------------------------------------------
		  	if(listitem == 2)
	  		{
			  	new tcount = 0, tp=0,numrow = 0;
				for(new t=0;t<MAX_CTELES;t++)
				{
				if(CTeleInfo[t][TValid] == 1)
				{
	 			numrow++;
				}
				}
				if(numrow > 0)
				{
				for(new t=0;t<MAX_CTELES;t++)
				{
				if(CTeleInfo[t][TValid] == 1)
				{
				format(string,sizeof(string),"%s %s,",string,CTeleInfo[t][TName]);
				tp++;
				if(tp == CTELE_LINE || tcount == numrow-1)
				{
				strdel(string,strlen(string)-1,strlen(string));
				ShowPlayerDialog(playerid,DIALOGID+71,DIALOG_STYLE_INPUT,"Teleport System - Teleport:",string,"Tele","Back");
				format(string,sizeof(string),"%s,\n",string,CTeleInfo[t][TName]);
				tp = 0;
				}
				tcount++;
				}
				}
				} else {
				GameTextForPlayer(playerid,"~w~~n~~n~~n~~n~~n~There is ~r~no ~w~Teleport created",3000,5);
				ShowPlayerDialog(playerid,DIALOGID+70,DIALOG_STYLE_LIST,"Admin - Teleport System:","Create Tele\nDelete Tele\nTeleport","Ok","Cancel");
				}
 				}
			}
		return 1;
	}
//==============================================================================
//Go To Teleport
//==============================================================================
	if (dialogid == DIALOGID+71)
	{
		if(response == 0)
		{
			ShowPlayerDialog(playerid,DIALOGID+70,DIALOG_STYLE_LIST,"Admin - Teleport System:","Create Tele\nDelete Tele\nTeleport","Ok","Cancel");
		}
 		if(response)
	    {
  			for(new t=0;t<MAX_CTELES;t++)
			{
	    		if(!strlen(inputtext)) return
	    		SendClientMessage(playerid,lightred,"[ ERROR: Invalid Telepot. ]");

				if(CTeleInfo[t][TValid] == 0) return
   				SendClientMessage(playerid,lightred,"[ ERROR: Invalid Telepot. ]");

				if(strcmp(inputtext,CTeleInfo[t][TName],true) == 0)
	  			{
					if(IsPlayerInAnyVehicle(playerid))
					{
					    SetPlayerInterior(playerid, CTeleInfo[t][PosInt]);
						LinkVehicleToInterior(GetPlayerVehicleID(playerid), CTeleInfo[t][PosInt]);
						SetVehiclePos(GetPlayerVehicleID(playerid),CTeleInfo[t][PosX],CTeleInfo[t][PosY],CTeleInfo[t][PosZ]);
						SetVehicleZAngle(GetPlayerVehicleID(playerid),CTeleInfo[t][PosA]);
					}
					else
					{
					    SetPlayerInterior(playerid, CTeleInfo[t][PosInt]);
						SetPlayerPos(playerid,CTeleInfo[t][PosX],CTeleInfo[t][PosY],CTeleInfo[t][PosZ]);
						SetPlayerFacingAngle(playerid,CTeleInfo[t][PosA]);
					}
					format(string,sizeof(string),"~w~Welcome to ~g~%s",CTeleInfo[t][TName]);
					GameTextForPlayer(playerid,string,2000,5);
					return 1;
				}
			}
		}
		return 1;
	}
//==============================================================================
//Create Teleport
//==============================================================================
	if (dialogid == DIALOGID+72)
	{
		if(response == 0)
		{
		ShowPlayerDialog(playerid,DIALOGID+70,DIALOG_STYLE_LIST,"Admin - Teleport System:","Create Tele\nDelete Tele\nTeleport","Ok","Cancel");
		}
 		if(response)
	    {
  			for(new t=0;t<MAX_CTELES;t++)
			{
	    	if(!strlen(inputtext)) return
    		SendClientMessage(playerid,lightred,"[ ERROR: Invalid Telepot. ]");

            if(CTeleInfo[t][TValid] == 1)
			{
			    if(strcmp(inputtext,CTeleInfo[t][TName],true) == 0)
			    {
       			SendClientMessage(playerid,lightred,"[ ERROR: Teleportation already exist. ]");
		        return 1;
		    	}
			}
			new Float:x,Float:y,Float:z,Float:a;
			GetPlayerPos(playerid,x,y,z);
			GetPlayerFacingAngle(playerid,a);

			if(CTeleInfo[t][TValid] == 0)
  			{
				CTeleInfo[t][PosX] 	 = x;
		        CTeleInfo[t][PosY] 	 = y;
		        CTeleInfo[t][PosZ] 	 = z;
		        CTeleInfo[t][PosA] 	 = a;
		        CTeleInfo[t][PosInt] = GetPlayerInterior(playerid);
		        CTeleInfo[t][TValid] = 1;
		        strmid(CTeleInfo[t][TName],inputtext,0,strlen(inputtext),30);
		        GameTextForPlayer(playerid,"~w~~n~~n~~n~~n~~n~Teleport ~g~Created. ]",3000,5);
		        SaveTeleport();
		        ShowPlayerDialog(playerid,DIALOGID+70,DIALOG_STYLE_LIST,"Admin - Teleport System:","Create Tele\nDelete Tele\nTeleport","Ok","Cancel");

				new sstring[256];
				format(sstring, sizeof(sstring), "(Created) Tele: %s, Pos: X: %f,Y: %f,Z: %f,Ang:%f,Interior:%d",CTeleInfo[t][TName],CTeleInfo[t][PosX],CTeleInfo[t][PosY],CTeleInfo[t][PosZ],CTeleInfo[t][PosA],CTeleInfo[t][PosInt]);
				SaveIn("TelesLog",sstring);
				return 1;
				}
			}
		}
		return 1;
	}
//==============================================================================
//Delete Teleport
//==============================================================================
	if (dialogid == DIALOGID+73)
	{
		if(response == 0)
		{
		ShowPlayerDialog(playerid,DIALOGID+70,DIALOG_STYLE_LIST,"Admin - Teleport System:","Create Tele\nDelete Tele\nTeleport","Ok","Cancel");
		}
 		if(response)
	    {
  			for(new t=0;t<MAX_CTELES;t++)
			{
	    		if(!strlen(inputtext)) return
    			SendClientMessage(playerid,lightred,"[ ERROR: Invalid Telepot. ]");

	            if(CTeleInfo[t][TValid] == 1)
				{
				    if(strcmp(inputtext,CTeleInfo[t][TName],true) == 0)
				    {
	       				CTeleInfo[t][TValid] = 0;
			        	CTeleInfo[t][PosX] = 0;
			        	CTeleInfo[t][PosY] = 0;
			        	CTeleInfo[t][PosZ] = 0;
				        CTeleInfo[t][PosA] = 0;
				        CTeleInfo[t][PosInt] = 0;
				        GameTextForPlayer(playerid,"~w~~n~~n~~n~~n~~n~Teleport ~r~Deleted",3000,5);
				        SaveTeleport();
				        ShowPlayerDialog(playerid,DIALOGID+70,DIALOG_STYLE_LIST,"Admin - Teleport System:","Create Tele\nDelete Tele\nTeleport","Ok","Cancel");

	       				new sstring[256];
						format(sstring, sizeof(sstring), "(Deleted) Tele: %s",CTeleInfo[t][TName]);
						SaveIn("TelesLog",sstring);
			        	return 1;
	    			}
				}
			}
		}
		return 1;
	}
#endif
//==============================================================================
//---------------
// Dialog - Server Password
//---------------
//==============================================================================
	if (dialogid == DIALOG_TYPE_SERVUNLOCK)
	{
 		if(response)
	    {
			format(ServerLockPass, sizeof ServerLockPass, "%s", ServerInfo[Password]);
			ServerInfo[Locked] = 0;
			strmid(ServerInfo[Password], "", 0, strlen(""), 128);
			format(string, sizeof(string), "[ Administrator \"%s\" has Unlocked the Server. ]",adminname);
			SendClientMessageToAll(green,string);
			for(new i = 0; i <= MAX_PLAYERS; i++)
			if(IsPlayerConnected(i))
			{
				PlayerPlaySound(i,1057,0.0,0.0,0.0);
				AccInfo[i][AllowedIn] = true;
			}
			SendCommandToAdmins(playerid,"(Only Dialog)UnlockServer");
		}
  		return 1;
	}
//==============================================================================
	if (dialogid == DIALOG_TYPE_SERVLOCK)
	{
 		if(response)
	    {
			format(ServerLockPass, sizeof ServerLockPass, "%s", ServerInfo[Password]);
			ServerInfo[Locked] = 1;
			format(string, sizeof(string), "[ Administrator \"%s\" has Locked the Server. ]",adminname);
			SendClientMessageToAll(red,string);
			for(new i = 0; i <= MAX_PLAYERS; i++)
			if(IsPlayerConnected(i))
			{
			PlayerPlaySound(i,1057,0.0,0.0,0.0);
			AccInfo[i][AllowedIn] = true;
			}
			SendCommandToAdmins(playerid,"(Only Dialog)LockServer");
			format(string, sizeof(string), "[ Administrator \"%s\" has set the Server Password to '%s'. ]",adminname, ServerInfo[Password]);
		 	MessageToAdmins(COLOR_WHITE, string);
		}
        return 1;
	}
//==============================================================================

	if(dialogid == DIALOG_TYPE_SERVPASS)
	{
	    if (response)
	    {
        	if (!strcmp(ServerLockPass, inputtext) && !(!strlen(inputtext)))
			{
			KillTimer( LockKickTimer[playerid]);
			AccInfo[playerid][AllowedIn] = true;
			SendClientMessage(playerid,COLOR_WHITE,"SERVER: You have successsfully entered the server Password and may now Spawn. ");
			format(string, sizeof(string), "[ %s has Successfully entered server Password. ]",PlayerName2(playerid));
		    MessageToAdmins(COLOR_WHITE, string);
			} else {
	  		SendClientMessage(playerid, red, "[ Invalid server password, try again or cancel. ]");
	  		ShowPlayerDialog(playerid, DIALOG_TYPE_SERVPASS, DIALOG_STYLE_INPUT, "Server is currently locked.", "Enter the password to access it:", "Enter", "Cancel");
			}
		    } else {
			SendClientMessage(playerid, red, "[ You have no business here, then. ]");
	    	Kick(playerid);
	    }
	    return 1;
	}
 //=============================================================================
//---------------
// Dialog - SERVER TWO RCON
//---------------
//==============================================================================
#if EnableTwoRcon == true
	if(dialogid == DIALOG_TYPE_RCON2)
	{
	    if (response)
	    {
        	if (!strcmp(TwoRconPass, inputtext) && !(!strlen(inputtext)))
			{
				GameTextForPlayer(playerid, "~n~~n~~n~~n~~n~~g~Authorized ~w~Access~n~~y~Welcome Administrator",3000,3);
			}
			else
			{
				if(AccInfo[playerid][MaxRcon] == 3)
				{
					SendClientMessage(playerid, red, "[ You has been Automatically Kicked. | Reason: Maximum number of 'TwoRcon' attempts has reached. ]");
				 	Kick(playerid);
				}
				AccInfo[playerid][MaxRcon]++;
				new tmp[140];
	  			SendClientMessage(playerid, red, "[ Invalid Rcon Password. ]");
   				format(tmp,sizeof(tmp),"Invalid Password!. \n\nFor access the account, you must enter the CORRECT second password RCON.\n\nAttempts: %d/3", AccInfo[playerid][MaxRcon]);
				ShowPlayerDialog(playerid, DIALOG_TYPE_RCON2, DIALOG_STYLE_INPUT, "Admin - RCON!",tmp, "Enter", "Exit");
			}
   		}
		else
		{
			SendClientMessage(playerid, red, "[ ERROR: Kicked. ]");
	    	return Kick(playerid);
	    }
	    return 1;
	}
#endif

#if USE_DIALOGS == true
 //=============================================================================
//---------------
// Dialog - Main
//---------------
//==============================================================================
	if(dialogid == DIALOGID+1)
    {
        if(response == 0)
		{
		TogglePlayerControllable(playerid,true);
		}
		if(response)
		{

		    //---------------------------------------------------
		    // Enable
		    //---------------------------------------------------
		    if(listitem == 0) // Enable
			{
			if(AccInfo[playerid][Level] >= 4)
			ShowPlayerDialog(playerid, DIALOGID+2, DIALOG_STYLE_LIST,
			"Enable", "AntiSwear\nNameKick\nAntiSpam\nMaxPing\nReadCmds\nReadPMs\nNoCaps\nConnectMessages\nAdminCmdMessages\nAutoLogin\nAnti Forbidden Weaps\nAnti Advertisements\nAnnouncements", "Select", "Back") && TogglePlayerControllable(playerid,true);
   			else
			{
			ErrorMessages(playerid, 1);
			TogglePlayerControllable(playerid,true);
			}
			}
			//---------------------------------------------------
		    // Disable
		    //---------------------------------------------------
			if(listitem == 1) // Disable
			{
  	  	  	if(AccInfo[playerid][Level] >= 4)
			ShowPlayerDialog(playerid, DIALOGID+3, DIALOG_STYLE_LIST,
			"Disable", "AntiSwear\nNameKick\nAntiSpam\nMaxPing\nReadCmds\nReadPMs\nNoCaps\nConnectMessages\nAdminCmdMessages\nAutoLogin\nAnti Forbidden Weaps\nAnti Advertisements\nAnnouncements", "Select", "Back") && TogglePlayerControllable(playerid,true);
	        else
            {
			ErrorMessages(playerid, 1);
			TogglePlayerControllable(playerid,true);
			}
			}
			//---------------------------------------------------
		    // Server Weather
		    //---------------------------------------------------
			if(listitem == 2) //Server Weather
			{
			if(AccInfo[playerid][Level] >= 3)
			{
        	if(IsPlayerInAnyVehicle(playerid))
			{
			return ShowPlayerDialog(playerid, DIALOGID+16, DIALOG_STYLE_LIST,
			"Server Weather", "Blue Sky\nSand Storm\nThunderstorm\nFoggy\nCloudy\nHigh Tide\nPurple Sky\nBlack/White Sky\nDark, Green Sky\nHeatwave", "Select", "Back") &&
			TogglePlayerControllable(playerid,true);
        	}
			else
			return ShowPlayerDialog(playerid, DIALOGID+16, DIALOG_STYLE_LIST,
			"Server Weather", "Blue Sky\nSand Storm\nThunderstorm\nFoggy\nCloudy\nHigh Tide\nPurple Sky\nBlack/White Sky\nDark, Green Sky\nHeatwave", "Select", "Back") &&
			TogglePlayerControllable(playerid,true);
        	}
    		else return ErrorMessages(playerid, 1) && TogglePlayerControllable(playerid,true);
			}
			//---------------------------------------------------
		    // Server Time
		    //---------------------------------------------------
			if(listitem == 3) //Server Time
			{
			if(AccInfo[playerid][Level] >= 3)
			{
            if(IsPlayerInAnyVehicle(playerid))
		    {
            TogglePlayerControllable(playerid,true);
			return ShowPlayerDialog(playerid, DIALOGID+17, DIALOG_STYLE_LIST,
			"Server Time", "Morning\nMid day\nAfternoon\nEvening\nMidnight", "Select", "Back") &&
			TogglePlayerControllable(playerid,true);
            }
		    else
			return ShowPlayerDialog(playerid, DIALOGID+17, DIALOG_STYLE_LIST,
			"Server Time", "Morning\nMid day\nAfternoon\nEvening\nMidnight", "Select", "Back");
    		}
			else
			return ErrorMessages(playerid, 1) && TogglePlayerControllable(playerid,true);
			}
			//---------------------------------------------------
		    // Vehicles
		    //---------------------------------------------------
			if(listitem == 4) //Vehicles
			{
     	  	if(AccInfo[playerid][Level] >= 2)
			{
 			if(IsPlayerInAnyVehicle(playerid))
	   	    return TogglePlayerControllable(playerid,true) && SendClientMessage(playerid,red,"[ ERROR: You already have a car. ]");
        	else
			{
			ShowPlayerDialog(playerid, DIALOGID+40, DIALOG_STYLE_LIST,
			"Vehicles","Bicycles\nBikes\nMonster Trucks\nBoats\nHelicopters\nPlanes\nCars\nVehicles RC","Select", "Cancel");
			}
   			}
			else return ErrorMessages(playerid, 1);
            }
			//---------------------------------------------------
		    // Tune Menu
		    //---------------------------------------------------
			if(listitem == 5) //Tuning Menu
		    {
		 	if(AccInfo[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,true);
            ShowPlayerDialog(playerid, DIALOGID+13, DIALOG_STYLE_LIST, "Tune Menu",
	  	    "Nitrox\nHydraulics\nWheels\nPaint Jobs\nColours", "Select", "Back");
		    }
			else
			{
			SendClientMessage(playerid,red,"[ ERROR: You do not have a vehicle to tune. ]");
			TogglePlayerControllable(playerid,true);
			}
    	    }
			else
			{
			ErrorMessages(playerid, 1);
			TogglePlayerControllable(playerid,true);
			}
			}
			//---------------------------------------------------
		    // Choose Weapon
		    //---------------------------------------------------
			if(listitem == 6) //Choose Weapon
			{
		    if(AccInfo[playerid][Level] >= 3)
		    {
        	if(IsPlayerInAnyVehicle(playerid))
			{
        	TogglePlayerControllable(playerid,true);
			return ShowPlayerDialog(playerid, DIALOGID+20, DIALOG_STYLE_LIST,
			"Weapons", "Machine Guns\nPistols\nRifles\nShotguns\nHeavy Assault\nSpecial Weapons\nHand Held\nMelee \nProjectile", "Select", "Back");
        	}
			else
			return ShowPlayerDialog(playerid, DIALOGID+20, DIALOG_STYLE_LIST, "Weapons", "Machine Guns\nPistols\nRifles\nShotguns\nHeavy Assault\nSpecial Weapons\nHand Held\nMelee \nProjectile", "Select", "Back") && TogglePlayerControllable(playerid,true);
    		} else
			return
			ErrorMessages(playerid, 1) && TogglePlayerControllable(playerid,true);
			}
			//---------------------------------------------------
		    // Teleports
		    //---------------------------------------------------
			if(listitem == 7) //Teleports
			{
		    if(AccInfo[playerid][Level] >= 2)
		    {
        	if(IsPlayerInAnyVehicle(playerid))
			{
        	TogglePlayerControllable(playerid,true);
			return ShowPlayerDialog(playerid, DIALOGID+30, DIALOG_STYLE_LIST,
			"Select City", "Los Santos\nSan Fierro\nLas Venturas", "Select", "Back");
        	}
			else
			return ShowPlayerDialog(playerid, DIALOGID+30, DIALOG_STYLE_LIST, "Select City", "Los Santos\nSan Fierro\nLas Venturas", "Select", "Back") && TogglePlayerControllable(playerid,true);
    		}
			else
			return
			ErrorMessages(playerid, 1) && TogglePlayerControllable(playerid,true);
			}
   		}
		return 1;
  	}
//===============================
//---------------
// Dialog - Enable
//---------------
//===============================
	if(dialogid == DIALOGID+2)
	{
	    if(response == 0)
		{
        ShowPlayerDialog(playerid, DIALOGID+1, DIALOG_STYLE_LIST, "Admin Main Menu",
  		"Enable\nDisable\nServer Weather\nServer Time\nVehicles\nTuning Menu\nWeapons\nTeleports", "Select", "Cancel");
		}

		if(response)
		{
      		if(listitem == 0) // AntiSwear
			{
 	 			 ServerInfo[AntiSwear] = 1;
 	 			 dini_IntSet(file,"AntiSwear",1);
 	 			 format(string,sizeof(string),"[ Administrator %s has enabled AntiSwear. ]",adminname);
 	             SendClientMessageToAll(0x00A700FF,string);
            }
            if(listitem == 1) // NameKick
			{
	  			 ServerInfo[NameKick] = 1;
		 		 dini_IntSet(file,"NameKick",1);
	  			 format(string,sizeof(string),"[ Administrator %s has enabled NameKick. ]",adminname);
	  			 SendClientMessageToAll(0x00A700FF,string);
			}
			if(listitem == 2) //AntiSpam
			{
				 ServerInfo[AntiSpam] = 1;
				 dini_IntSet(file,"AntiSpam",1);
				 format(string,sizeof(string),"[ Administrator %s has enabled AntiSpam. ]",adminname);
				 SendClientMessageToAll(0x00A700FF,string);
			}
			if(listitem == 3) //MaxPing
			{
				 ServerInfo[MaxPing] = 1000;
				 dini_IntSet(file,"MaxPing",1000);
			     format(string,sizeof(string),"[ Administrator %s has enabled Ping Kick. ]",adminname);
				 SendClientMessageToAll(0x00A700FF,string);
			}
			if(listitem == 4) //Read Commands
			{
                 ServerInfo[ReadCmds] = 1;
				 dini_IntSet(file,"ReadCmds",1);
				 format(string,sizeof(string),"[ Administrator %s has enabled Reading Commands. ]",adminname);
				 MessageToAdmins(orange,string);
			}
			if(listitem == 5) //Read PM's
			{
				 ServerInfo[ReadPMs] = 1;
				 dini_IntSet(file,"ReadPMs",1);
				 format(string,sizeof(string),"[ Administrator %s has enabled Reading Pms. ]",adminname);
				 MessageToAdmins(orange,string);
			}
			if(listitem == 6) //Permit CapsLock
			{
				 ServerInfo[NoCaps] = 0;
				 dini_IntSet(file,"NoCaps",0);
				 format(string,sizeof(string),"[ Administrator %s has allowed Captial Letters in Chat. ]",adminname);
				 SendClientMessageToAll(0x00A700FF,string);
			}
			if(listitem == 7) //Connect/Disconnect Messages
			{
				 ServerInfo[ConnectMessages] = 1;
				 dini_IntSet(file,"ConnectMessages",1);
				 format(string,sizeof(string),"[ Administrator %s has enabled Connect Messages. ]",adminname);
				 SendClientMessageToAll(0x00A700FF,string);
			}
			if(listitem == 8) //Command Messages
			{
				 ServerInfo[AdminCmdMsg] = 1;
				 dini_IntSet(file,"AdminCmdMessages",1);
				 format(string,sizeof(string),"[ Administrator %s has enabled Admin Command messages. ]",adminname);
				 MessageToAdmins(orange,string);
			}
			if(listitem == 9) //Auto Login
			{
				 ServerInfo[AutoLogin] = 1;
				 dini_IntSet(file,"AutoLogin",1);
				 format(string,sizeof(string),"[ Administrator %s has enabled Auto Login. ]",adminname);
				 SendClientMessageToAll(0x00A700FF,string);
			}
  			if(listitem == 10) //Anti Forbidden Weapons
			{
				 ServerInfo[ForbiddenWeaps] = 1;
				 dini_IntSet(file,"ForbiddenWeapons",1);
				 format(string,sizeof(string),"[ Administrator %s has enabled Anti Forbidden Weapons. ]",adminname);
				 SendClientMessageToAll(0x00A700FF,string);
				 SendClientMessage(playerid, orange, "[ To update Forbidden Weapons File use: /uconfig. ]");
			}
  			if(listitem == 11) //Anti Advertisements
			{
				 ServerInfo[AntiAds] = 1;
				 dini_IntSet(file,"AntiAdvertisements",1);
				 format(string,sizeof(string),"[ Administrator %s has enabled Anti Advertisements. ]",adminname);
			     MessageToAdmins(orange,string);
			}
  			if(listitem == 12) //Announcements
			{
				 ServerInfo[AntiAds] = 1;
				 dini_IntSet(file,"Announcements",1);
				 format(string,sizeof(string),"[ Administrator %s has enabled Announcements. ]",adminname);
			     MessageToAdmins(orange,string);
			     OnPlayerCommandText(playerid,"/uconfig");
			     SetTimer("RandomMessage",ANNOUNCES_TIME,1);
			     for(new i = 0; i < MAX_PLAYERS; i++)
				 TextDrawShowForPlayer(i, Announcements);
			}
   		}
		return 1;
  	}
//===============================
//---------------
// Dialog - Console
//---------------
//===============================
	if(dialogid == DIALOGID+61)
	{
		if(response)
		{
  		if(listitem == 0) { ShowPlayerDialog(playerid,DIALOGID+62,DIALOG_STYLE_INPUT,"Admin Console","Load FilterScript:\n","Load!","Back");}
    	if(listitem == 1) { ShowPlayerDialog(playerid,DIALOGID+63,DIALOG_STYLE_INPUT,"Admin Console","Unload FilterScript:\n","Unload!","Back");}
    	if(listitem == 2) { ShowPlayerDialog(playerid,DIALOGID+64,DIALOG_STYLE_INPUT,"Admin Console","Changemode:\n","Unload!","Back");}
		if(listitem == 3) { OnFilterScriptExit(); SetTimer("RestartGM",5000,0); SendClientMessage(playerid,orange,"[ Console Command Sent! ]"); format(string,sizeof(string),"[ %s has been Restarted Server",pName(playerid),inputtext); SaveIn("ConsoleLog",string);}
		if(listitem == 4){  SendRconCommand("loadfs eAdmin"); return SendClientMessage(playerid,orange,"[ Console Command Sent! ]");}
		if(listitem == 5){  SendRconCommand("unloadfs eAdmin"); return SendClientMessage(playerid,orange,"[ Console Command Sent! ]");}
		if(listitem == 6){  SendRconCommand("reloadfs eAdmin"); return SendClientMessage(playerid,orange,"[ Console Command Sent! ]");}
		if(listitem == 7){  return ShowPlayerDialog(playerid,DIALOGID+65,DIALOG_STYLE_INPUT,"Admin Console","Unban IP:\n","Unban!","Back");}
		if(listitem == 8){  SendRconCommand("reloadbans"); SendClientMessage(playerid,orange,"[ Console Command Sent! ]"); }
		if(listitem == 9){  ShowPlayerDialog(playerid, DIALOGID+80, DIALOG_STYLE_INPUT, "Admin - Execute Command","Simple type a Command! \n\nFor eAdmin, for your GameMode, and for any other Filterscript! \n\nExemple: 'ban 0 cheats' (Without '/')", "Exec Cmd", "Cancel"); }
  		}
		return 1;
  	}
//===============================
// Dialog - LOADFS
//===============================
	if(dialogid == DIALOGID+62)
	{
 		if(response == 0) { ShowPlayerDialog(playerid, DIALOGID+61, DIALOG_STYLE_LIST, "Admin - Console", "Load Filterscript\nUnload Filterscript\nChange Mode\nRestart (Gmx)\nLoad eAdmin\nUnload eAdmin\nReload eAdmin\nUnban IP\nReload Bans\nExecute Command", "Select", "Cancel"); }
		if(response){
	 	new str[256];
		format(string,sizeof(string),"%s has been Loaded '%s' Filterscript",pName(playerid),inputtext); SaveIn("ConsoleLog",string);
	 	format(str,sizeof(string),"loadfs %s",inputtext);
	 	SendRconCommand(str);
	 	SendClientMessage(playerid,orange,"[ Console Command Sent. ]");
	 	ShowPlayerDialog(playerid, DIALOGID+61, DIALOG_STYLE_LIST, "Admin - Console", "Load Filterscript\nUnload Filterscript\nChange Mode\nRestart (Gmx)\nLoad eAdmin\nUnload eAdmin\nReload eAdmin\nUnban IP\nReload Bans\nExecute Command", "Select", "Cancel");
	 	}
		return 1;
  	}
 //===============================
// Dialog - UNLOADFS
//===============================
	if(dialogid == DIALOGID+63)
	{
  		if(response == 0) { ShowPlayerDialog(playerid, DIALOGID+61, DIALOG_STYLE_LIST, "Admin - Console", "Load Filterscript\nUnload Filterscript\nChange Mode\nRestart (Gmx)\nLoad eAdmin\nUnload eAdmin\nReload eAdmin\nUnban IP\nReload Bans\nExecute Command", "Select", "Cancel"); }
		if(response) {
	 	new str[256];
	 	format(string,sizeof(string),"%s has been Unloaded '%s' Filterscript",pName(playerid),inputtext); SaveIn("ConsoleLog",string);
	 	format(str,sizeof(string),"unloadfs %s",inputtext);
	 	SendRconCommand(str);
	 	SendClientMessage(playerid,orange,"[ Console Command Sent. ]");
	 	ShowPlayerDialog(playerid, DIALOGID+61, DIALOG_STYLE_LIST, "Admin - Console", "Load Filterscript\nUnload Filterscript\nChange Mode\nRestart (Gmx)\nLoad eAdmin\nUnload eAdmin\nReload eAdmin\nUnban IP\nReload Bans\nExecute Command", "Select", "Cancel");
	 	}
		return 1;
  	}
 //===============================
// Dialog - CHANGEMODE
//===============================
	if(dialogid == DIALOGID+64)
	{
 		if(response == 0) { ShowPlayerDialog(playerid, DIALOGID+61, DIALOG_STYLE_LIST, "Admin - Console", "Load Filterscript\nUnload Filterscript\nChange Mode\nRestart (Gmx)\nLoad eAdmin\nUnload eAdmin\nReload eAdmin\nUnban IP\nReload Bans\nExecute Command", "Select", "Cancel"); }
		if(response) {
	 	new str[256];
	 	format(string,sizeof(string),"%s has been Changed '%s' GameMode",pName(playerid),inputtext); SaveIn("ConsoleLog",string);
	 	format(str,sizeof(string),"changemode %s",inputtext);
	 	SendRconCommand(str);
	 	SendClientMessage(playerid,orange,"[ Console Command Sent. ]");
	 	}
		return 1;
  	}
//===============================
// Dialog - EXECUTE COMMAND
//===============================
	if(dialogid == DIALOGID+80)
	{
		if(response)
		{
		new str[128];
		format(str,sizeof(str),"/%s",inputtext);
		CallRemoteFunction("OnPlayerCommandText", "is",playerid, str);
	 	}
		return 1;
  	}
//===============================
// Dialog - UNBANIP
//===============================
	if(dialogid == DIALOGID+65)
	{
 		if(response == 0) { ShowPlayerDialog(playerid, DIALOGID+61, DIALOG_STYLE_LIST, "Admin - Console", "Load Filterscript\nUnload Filterscript\nChange Mode\nRestart (Gmx)\nLoad eAdmin\nUnload eAdmin\nReload eAdmin\nUnban IP\nReload Bans\nExecute Command", "Select", "Cancel"); }
		if(response) {
	 	new str[256];
		format(string,sizeof(string),"%s has been Unbaned '%s' Ip",pName(playerid),inputtext); SaveIn("ConsoleLog",string);
	 	format(str,sizeof(string),"unbanip %s",inputtext);
	 	SendRconCommand(str);
	 	SendClientMessage(playerid,orange,"[ Console Command Sent. ]");
		ShowPlayerDialog(playerid, DIALOGID+61, DIALOG_STYLE_LIST, "Admin - Console", "Load Filterscript\nUnload Filterscript\nChange Mode\nRestart (Gmx)\nLoad eAdmin\nUnload eAdmin\nReload eAdmin\nUnban IP\nReload Bans\nExecute Command", "Select", "Cancel");
	 	}
		return 1;
  	}

//===============================
//---------------
// Dialog - Fight Styles
//---------------
//===============================
	if(dialogid == DIALOGID+81)
	{
		if(response)
		{
			if(listitem == 0)
			{
				SetPlayerFightingStyle (playerid, FIGHT_STYLE_ELBOW);
				GameTextForPlayer(playerid, "~n~~n~~n~~n~~n~~n~~g~Elbow ~w~Style Changed",2000,3);
			}
			if(listitem == 1)
			{
				SetPlayerFightingStyle (playerid, FIGHT_STYLE_BOXING);
				GameTextForPlayer(playerid, "~n~~n~~n~~n~~n~~n~~g~Boxing ~w~Style Changed",2000,3);
			}
			if(listitem == 2)
			{
			    SetPlayerFightingStyle (playerid, FIGHT_STYLE_GRABKICK);
			    GameTextForPlayer(playerid, "~n~~n~~n~~n~~n~~n~~g~Grabkick ~w~Style Changed",2000,3);
			}
			if(listitem == 3)
			{
				SetPlayerFightingStyle (playerid, FIGHT_STYLE_KNEEHEAD);
				GameTextForPlayer(playerid, "~n~~n~~n~~n~~n~~n~~g~Nheehead ~w~Style Changed",2000,3);
			}
			if(listitem == 4)
			{
			    SetPlayerFightingStyle (playerid, FIGHT_STYLE_KUNGFU);
			    GameTextForPlayer(playerid, "~n~~n~~n~~n~~n~~n~~g~KungFu ~w~Style Changed",2000,3);
			}
			if(listitem == 5)
			{
				SetPlayerFightingStyle (playerid, FIGHT_STYLE_NORMAL);
				GameTextForPlayer(playerid, "~n~~n~~n~~n~~n~~n~~g~Normal ~w~Style Changed",2000,3);
			}
		}
		return 1;
	}
//===============================
//---------------
// Dialog - Disable
//---------------
//===============================
	if(dialogid == DIALOGID+3)
	{
	    if(response == 0)
		{
        ShowPlayerDialog(playerid, DIALOGID+1, DIALOG_STYLE_LIST, "Admin Main Menu",
  		"Enable\nDisable\nServer Weather\nServer Time\nVehicles\nTuning Menu\nWeapons\nTeleports", "Select", "Cancel");
		}

		if(response)
		{
		    if(listitem == 0) // AntiSwear
		    {
            	ServerInfo[AntiSwear] = 0;
				dini_IntSet(file,"AntiSwear",0);
            	format(string,sizeof(string),"[ Administrator %s has disabled AntiSwear. ]",adminname);
				SendClientMessageToAll(0x21DD00FF,string);
            }
            if(listitem == 1) // NameKick
			{
			    ServerInfo[NameKick] = 0;
				dini_IntSet(file,"NameKick",0);
				format(string,sizeof(string),"[ Administrator %s has disabled NameKick. ]",adminname);
				SendClientMessageToAll(0x21DD00FF,string);
			}
			if(listitem == 2) //AntiSpam
			{
				 ServerInfo[AntiSpam] = 0;
				 dini_IntSet(file,"AntiSpam",0);
				 format(string,sizeof(string),"[ Administrator %s has disabled AntiSpam. ]",adminname);
				 SendClientMessageToAll(0x21DD00FF,string);
			}
			if(listitem == 3) //MaxPing
			{
				 ServerInfo[MaxPing] = 0;
				 dini_IntSet(file,"MaxPing",0);
			     format(string,sizeof(string),"[ Administrator %s has disabled Ping Kick. ]",adminname);
				 SendClientMessageToAll(0x21DD00FF,string);
			}
			if(listitem == 4) //Read Commands
			{
                 ServerInfo[ReadCmds] = 0;
				 dini_IntSet(file,"ReadCmds",0);
				 format(string,sizeof(string),"[ Administrator %s has disabled Reading Commands. ]",adminname);
				 MessageToAdmins(orange,string);
			}
			if(listitem == 5) //Read PM's
			{
				 ServerInfo[ReadPMs] = 0;
				 dini_IntSet(file,"ReadPMs",0);
				 format(string,sizeof(string),"[ Administrator %s has disabled Reading Pms. ]",adminname);
				 MessageToAdmins(orange,string);
			}
			if(listitem == 6) //Permit CapsLock
			{
				 ServerInfo[NoCaps] = 1;
				 dini_IntSet(file,"NoCaps",1);
				 format(string,sizeof(string),"[ Administrator %s has prevented Captial Letters in Chat. ]",adminname);
				 SendClientMessageToAll(0x21DD00FF,string);
			}
			if(listitem == 7) //Connect/Disconnect Messages
			{
				 ServerInfo[ConnectMessages] = 0;
				 dini_IntSet(file,"ConnectMessages",0);
				 format(string,sizeof(string),"[ Administrator %s has disabled Connect Messages. ]",adminname);
				 SendClientMessageToAll(0x21DD00FF,string);
			}
			if(listitem == 8) //Command Messages
			{
				 ServerInfo[AdminCmdMsg] = 0;
				 dini_IntSet(file,"AdminCmdMessages",0);
				 format(string,sizeof(string),"[ Administrator %s has disabled Admin Command nessages. ]",adminname);
				 MessageToAdmins(orange,string);
			}
			if(listitem == 9) //Auto Login
			{
				 ServerInfo[AutoLogin] = 0;
				 dini_IntSet(file,"AutoLogin",0);
				 format(string,sizeof(string),"[ Administrator %s has disabled Auto Kogin. ]",adminname);
				 SendClientMessageToAll(0x21DD00FF,string);
			}
  			if(listitem == 10) //Anti Forbidden Weapons
			{
				 ServerInfo[ForbiddenWeaps] = 0;
				 dini_IntSet(file,"ForbiddenWeapons",0);
				 format(string,sizeof(string),"[ Administrator %s has disabled Anti Forbidden Weapons. ]",adminname);
				 SendClientMessageToAll(0x00A700FF,string);
			}
  			if(listitem == 11) //Anti Advertisements
			{
				 ServerInfo[AntiAds] = 0;
				 dini_IntSet(file,"AntiAdvertisements",0);
				 format(string,sizeof(string),"[ Administrator %s has disabled Anti Advertisements. ]",adminname);
				 MessageToAdmins(orange,string);
			}
  			if(listitem == 12) //Announcements
			{
				 ServerInfo[AntiAds] = 0;
				 dini_IntSet(file,"Announcements",0);
				 format(string,sizeof(string),"[ Administrator %s has disabled Announcements. ]",adminname);
				 for(new i = 0; i < MAX_PLAYERS; i++)
				 TextDrawHideForPlayer(i, Announcements);

				 MessageToAdmins(orange,string);
			}
		}
		return 1;
  	}
//==============================================================================
//---------------
// VEHICLES
//---------------
//==============================================================================

	if(dialogid == DIALOGID+40)
	{
	    if(response == 0){
		ShowPlayerDialog(playerid, DIALOGID+1, DIALOG_STYLE_LIST, "Admin Main Menu","Enable\nDisable\nServer Weather\nServer Time\nVehicles\nTuning Menu\nWeapons\nTeleports", "Select", "Cancel");}
		if(response)
        {
		if(listitem == 0){ ShowPlayerDialog(playerid, DIALOGID+41, DIALOG_STYLE_LIST, "Bicycles", "Bike\nBMX\nMountain Bike", "Select", "Back");}
		if(listitem == 1){ ShowPlayerDialog(playerid, DIALOGID+42, DIALOG_STYLE_LIST, "Bikes", "NRG-500\nFaggio\nFCR-900\nPCJ-600\nFreeway\nBF-400\nPizzaBoy\nWayfarer\nCop Bike\nSanchez\nQuad", "Select", "Back");}
		if(listitem == 2){ ShowPlayerDialog(playerid, DIALOGID+43, DIALOG_STYLE_LIST, "Monster Trucks", "Dumper\nDuneride\nMonster\nMonster A\nMonster B", "Select", "Back");}
 		if(listitem == 3){ ShowPlayerDialog(playerid, DIALOGID+44, DIALOG_STYLE_LIST, "Boats", "Coastguard\nDinghy\nJetmax\nLaunch\nMarquis\nPredator\nReefer\nSpeeder\nSqualo\nTropic", "Select", "Back");}
		if(listitem == 4){ ShowPlayerDialog(playerid, DIALOGID+45, DIALOG_STYLE_LIST, "Helicopters", "Cargobob\nHunter\nLeviathn\nMaverick\nPolmav\nRaindanc\nSeasparr\nSparrow\nVCN Helicopter", "Select", "Back");}
		if(listitem == 5){ ShowPlayerDialog(playerid, DIALOGID+46, DIALOG_STYLE_LIST, "Planes", "Hydra\nRustler\nDodo\nNevada\nSuntplane\nCropdust\nAT-400\nAndromeda\nBeagle\nVortex\nSkimmer\nShamal", "Select", "Back");}
		if(listitem == 6){ ShowPlayerDialog(playerid, DIALOGID+47, DIALOG_STYLE_LIST, "Cars", "Lowriders\nStreet Racers\nMuscle cars\nSuvs & Wagons\nSport Cars\nRecreational\nCivil\nGovernment\n4 door luxury\n2 door sedans\nHeavy trucks\nLight trucks", "Select", "Back");}
		if(listitem == 7){ ShowPlayerDialog(playerid, DIALOGID+48, DIALOG_STYLE_LIST, "Vehicles RC","RC Goblin\nRC Raider\nRC Barron \nRC Bandit\nRC Cam\nRC Tiger", "Select", "Back");}
		}
		return 1;
	}
//=====================
//-----------------
// Bicycles
//-----------------
//=====================
	if(dialogid == DIALOGID+41)
	{
	    if(response == 0){
	    ShowPlayerDialog(playerid, DIALOGID+40, DIALOG_STYLE_LIST, " Vehicles","Bicycles\nBikes\nMonster Trucks\nBoats\nHelicopters\nPlanes\nCars\nVehicles RC","Select", "Cancel");}
		if(response)
		{
		if(listitem == 0){ CarSpawner(playerid,509);}
		if(listitem == 1){ CarSpawner(playerid,481);}
		if(listitem == 2){ CarSpawner(playerid,510);}
		}
		return 1;
	}
//=====================
//-----------------
// Bikes
//-----------------
//=====================
	if(dialogid == DIALOGID+42)
	{
        if(response == 0){
	    ShowPlayerDialog(playerid, DIALOGID+40, DIALOG_STYLE_LIST, " Vehicles","Bicycles\nBikes\nMonster Trucks\nBoats\nHelicopters\nPlanes\nCars\nVehicles RC","Select", "Cancel");}
		if(response)
		{

  		if(listitem == 0){CarSpawner(playerid,522);}
  		if(listitem == 1){CarSpawner(playerid,462);}
  		if(listitem == 2){CarSpawner(playerid,521);}
  		if(listitem == 3){CarSpawner(playerid,461);}
  		if(listitem == 4){CarSpawner(playerid,463);}
  		if(listitem == 5){CarSpawner(playerid,581);}
  		if(listitem == 6){CarSpawner(playerid,448);}
  		if(listitem == 7){CarSpawner(playerid,586);}
  		if(listitem == 8){CarSpawner(playerid,523);}
  		if(listitem == 9){CarSpawner(playerid,468);}
  		if(listitem == 10){CarSpawner(playerid,471);}
		}
		return 1;
	}
//=====================
//-----------------
// Monster Trucks
//-----------------
//=====================
	if(dialogid == DIALOGID+43)
	{
        if(response == 0){
	    ShowPlayerDialog(playerid, DIALOGID+40, DIALOG_STYLE_LIST, " Vehicles","Bicycles\nBikes\nMonster Trucks\nBoats\nHelicopters\nPlanes\nCars\nVehicles RC","Select", "Cancel");}
		if(response)
		{
  		if(listitem == 0){ CarSpawner(playerid,406);}
  		if(listitem == 1){ CarSpawner(playerid,573);}
  		if(listitem == 2){ CarSpawner(playerid,444);}
  		if(listitem == 3){ CarSpawner(playerid,556);}
  		if(listitem == 4){ CarSpawner(playerid,557);}
		}
		return 1;
	}

//=====================
//-----------------
// Boats
//-----------------
//=====================
	if(dialogid == DIALOGID+44)
	{
	    if(response == 0){
	    ShowPlayerDialog(playerid, DIALOGID+40, DIALOG_STYLE_LIST, " Vehicles","Bicycles\nBikes\nMonster Trucks\nBoats\nHelicopters\nPlanes\nCars\nVehicles RC","Select", "Cancel");}
		if(response)
		{
  		if(listitem == 0){ CarSpawner(playerid,472);}
    	if(listitem == 1){ CarSpawner(playerid,473);}
    	if(listitem == 2){ CarSpawner(playerid,493);}
    	if(listitem == 3){ CarSpawner(playerid,595);}
    	if(listitem == 4){ CarSpawner(playerid,484);}
    	if(listitem == 5){ CarSpawner(playerid,430);}
    	if(listitem == 6){ CarSpawner(playerid,453);}
    	if(listitem == 7){ CarSpawner(playerid,452);}
    	if(listitem == 8){ CarSpawner(playerid,446);}
    	if(listitem == 9){ CarSpawner(playerid,454);}
		}
		return 1;
	}
//=====================
//-----------------
// Helicopters
//-----------------
//=====================
	if(dialogid == DIALOGID+45)
	{
	    if(response == 0){
	    ShowPlayerDialog(playerid, DIALOGID+40, DIALOG_STYLE_LIST, " Vehicles","Bicycles\nBikes\nMonster Trucks\nBoats\nHelicopters\nPlanes\nCars\nVehicles RC","Select", "Cancel");}
		if(response)
		{
  		if(listitem == 0){ CarSpawner(playerid,548);}
  		if(listitem == 1){ CarSpawner(playerid,425);}
  		if(listitem == 2){ CarSpawner(playerid,417);}
	    if(listitem == 3){ CarSpawner(playerid,487);}
	    if(listitem == 4){ CarSpawner(playerid,497);}
  		if(listitem == 5){ CarSpawner(playerid,563);}
  		if(listitem == 6){ CarSpawner(playerid,447);}
  		if(listitem == 7){ CarSpawner(playerid,469);}
		if(listitem == 8){ CarSpawner(playerid,488);}
		}
		return 1;
	}
//=====================
//-----------------
// Planes
//-----------------
//=====================
	if(dialogid == DIALOGID+46)
	{
	    if(response == 0){
	    ShowPlayerDialog(playerid, DIALOGID+40, DIALOG_STYLE_LIST, " Vehicles","Bicycles\nBikes\nMonster Trucks\nBoats\nHelicopters\nPlanes\nCars\nVehicles RC","Select", "Cancel");}
		if(response)
		{
        if(listitem == 0){ CarSpawner(playerid,520);}
        if(listitem == 1){ CarSpawner(playerid,476);}
        if(listitem == 2){ CarSpawner(playerid,593);}
        if(listitem == 3){ CarSpawner(playerid,553);}
        if(listitem == 4){ CarSpawner(playerid,513);}
        if(listitem == 5){ CarSpawner(playerid,512);}
        if(listitem == 6){ CarSpawner(playerid,577);}
        if(listitem == 7){ CarSpawner(playerid,592);}
        if(listitem == 8){ CarSpawner(playerid,511);}
        if(listitem == 9){ CarSpawner(playerid,539);}
        if(listitem == 10){ CarSpawner(playerid,460);}
        if(listitem == 11){ CarSpawner(playerid,519);}
		}
		return 1;
	}
//=====================
//-----------------
// Vehicles RC
//-----------------
//=====================
	if(dialogid == DIALOGID+48)
	{
	    if(response == 0){
	    ShowPlayerDialog(playerid, DIALOGID+40, DIALOG_STYLE_LIST, " Vehicles","Bicycles\nBikes\nMonster Trucks\nBoats\nHelicopters\nPlanes\nCars\nVehicles RC","Select", "Cancel");}
		if(response)
		{
	    if(listitem == 0){ CarSpawner(playerid,501);}
     	if(listitem == 0){ CarSpawner(playerid,465);}
     	if(listitem == 0){ CarSpawner(playerid,464);}
     	if(listitem == 0){ CarSpawner(playerid,441);}
     	if(listitem == 0){ CarSpawner(playerid,594);}
     	if(listitem == 0){ CarSpawner(playerid,564);}
		}
		return 1;
	}
//=====================
//-----------------
// Cars
//-----------------
//=====================
	if(dialogid == DIALOGID+47)
	{
		if(response == 0){
	    ShowPlayerDialog(playerid, DIALOGID+40, DIALOG_STYLE_LIST, " Vehicles","Bicycles\nBikes\nMonster Trucks\nBoats\nHelicopters\nPlanes\nCars\nVehicles RC","Select", "Cancel");}
		if(response)
        {
		if(listitem == 0){ ShowPlayerDialog(playerid, DIALOGID+4, DIALOG_STYLE_LIST, "Lowriders", "Blade\nBroadway\nRemmington\nSavanna\nSlamvan\nTornado\nVoodoo", "Select", "Back");}
		if(listitem == 1){ ShowPlayerDialog(playerid, DIALOGID+5, DIALOG_STYLE_LIST, "Street Racers","Elegy\nFlash\nJester\nStratum\nSultan\nUranus", "Select", "Back");}
		if(listitem == 2){ ShowPlayerDialog(playerid, DIALOGID+6, DIALOG_STYLE_LIST, "Muscle Cars", "Buffalo\nClover\nPhoenix\nSabre", "Select", "Back");}
 		if(listitem == 3){ ShowPlayerDialog(playerid, DIALOGID+7, DIALOG_STYLE_LIST, "Suvs & Wagons", "Huntley\nLandstalker\nPerenial\nRancher\nRegina\nRomero\nSolair", "Select", "Back");}
		if(listitem == 4){ ShowPlayerDialog(playerid, DIALOGID+8, DIALOG_STYLE_LIST, "Sport Cars", "Banshee\nBullet\nCheetah\nComet\nHotknife\nHotring Racer\nInfernus\nSuper GT\nTurismo\nWindsor\nZR-350", "Select", "Back");}
		if(listitem == 5){ ShowPlayerDialog(playerid, DIALOGID+9, DIALOG_STYLE_LIST, "Recreational", "Bandito\nBF Injection\nBloodring Banger\nCaddy\nCamper\nJourney\nKart\nMesa\nSandking\nVortex", "Select", "Back");}
		if(listitem == 6){ ShowPlayerDialog(playerid, DIALOGID+10, DIALOG_STYLE_LIST, "Civil", "Baggage\nBus\nCabbie\nCoach\nSweeper\nTaxi\nTowtruck\nTrashmaster\nUtiliy van", "Select", "Back");}
		if(listitem == 7){ ShowPlayerDialog(playerid, DIALOGID+11, DIALOG_STYLE_LIST, "Government", "Ambulance\nBarracks\nEnforcer\nFBI Rancher\nFBI Truck\nFiretruck\nPatriot\nPolite Car SF\nRanger\nSecuricar\nS.W.A.T", "Select", "Back");}
		if(listitem == 8){ ShowPlayerDialog(playerid, DIALOGID+12, DIALOG_STYLE_LIST, "4 Door luxury", "Admiral\nElegant\nEmperor\nEuros\nGlendale\nGreenwood\nIntruder\nMerit\nNebula\nOceanic\nPremier\nPrimo\nSentinel\nStretch\nSunrise\nTahoma\nVincent\nWashington\nWillard", "Select", "Back");}
		if(listitem == 9){ ShowPlayerDialog(playerid, DIALOGID+58, DIALOG_STYLE_LIST, "2 Door Sedans", "Alpha\nBlista Compact\nBravura\nBaccaneer\nCadrona\nClub\nEsperanto\nFeltzer\nFortune\nHermer\nHustler\nMagestic\nManana\nPicador\nPrevion\nStafford\nStallion\nTampa\nVirgo", "Select", "Back");}
		if(listitem == 10){ ShowPlayerDialog(playerid, DIALOGID+59, DIALOG_STYLE_LIST, "Heavy trucks", "Benson\nBoxville\nCement truck\nCombine Harvester\nDFT-30\nDozer\nFlatbed\nHotdog\nLinerunner\nMr Whoopee\nMule\nPacker\nRoadtrain\nTanker\nTractor\nYankee", "Select", "Back");}
 		if(listitem == 11){ ShowPlayerDialog(playerid, DIALOGID+60, DIALOG_STYLE_LIST, "Light trucks", "Berkley's RC van\nBobcat\nBurrito\nForklift\nMoonbeam\nMower\nNewsvan\nNext page\nPony\nRumpo\nSadler\nTug\nWalton\nYosemite", "Select", "Back");}
		}
		return 1;
	}
//=====================
//-----------------
// Lowriders
//-----------------
//=====================
	if(dialogid == DIALOGID+4)
	{
	    if(response == 0){
	    ShowPlayerDialog(playerid, DIALOGID+47, DIALOG_STYLE_LIST, "Cars", "Lowriders\nStreet Racers\nMuscle cars\nSuvs & Wagons\nSport Cars\nRecreational\nCivil\nGovernment\n4 door luxury\n2 door sedans\nHeavy trucks\nLight trucks", "Select", "Back");}
		if(response)
		{
	        if(listitem == 0){ CarSpawner(playerid,536);}
	        if(listitem == 1){ CarSpawner(playerid,575);}
	        if(listitem == 2){ CarSpawner(playerid,534);}
	        if(listitem == 3){ CarSpawner(playerid,567);}
	        if(listitem == 4){ CarSpawner(playerid,535);}
	        if(listitem == 5){ CarSpawner(playerid,576);}
	        if(listitem == 6){ CarSpawner(playerid,412);}
		}
		return 1;
	}
//=====================
//-----------------
// Street Racers
//-----------------
//=====================
	if(dialogid == DIALOGID+5)
	{
	    if(response == 0){
	    ShowPlayerDialog(playerid, DIALOGID+47, DIALOG_STYLE_LIST, "Cars", "Lowriders\nStreet Racers\nMuscle cars\nSuvs & Wagons\nSport Cars\nRecreational\nCivil\nGovernment\n4 door luxury\n2 door sedans\nHeavy trucks\nLight trucks", "Select", "Back");}
		if(response)
		{
	        if(listitem == 0){ CarSpawner(playerid,562);}
	        if(listitem == 1){ CarSpawner(playerid,565);}
	        if(listitem == 2){ CarSpawner(playerid,559);}
	        if(listitem == 3){ CarSpawner(playerid,561);}
	        if(listitem == 4){ CarSpawner(playerid,560);}
	        if(listitem == 5){ CarSpawner(playerid,558);}
		}
		return 1;
	}
//=====================
//-----------------
// Muscle Cars
//-----------------
//=====================
	if(dialogid == DIALOGID+6)
	{
	    if(response == 0){
	    ShowPlayerDialog(playerid, DIALOGID+47, DIALOG_STYLE_LIST, "Cars", "Lowriders\nStreet Racers\nMuscle cars\nSuvs & Wagons\nSport Cars\nRecreational\nCivil\nGovernment\n4 door luxury\n2 door sedans\nHeavy trucks\nLight trucks", "Select", "Back");}
		if(response)
		{
	        if(listitem == 0){ CarSpawner(playerid,402);}
	        if(listitem == 1){ CarSpawner(playerid,542);}
	        if(listitem == 2){ CarSpawner(playerid,603);}
	        if(listitem == 3){ CarSpawner(playerid,475);}
		}
		return 1;
	}
//=====================
//-----------------
// Suvs & Wagons
//-----------------
//=====================
	if(dialogid == DIALOGID+7)
	{
	    if(response == 0){
	    ShowPlayerDialog(playerid, DIALOGID+47, DIALOG_STYLE_LIST, "Cars", "Lowriders\nStreet Racers\nMuscle cars\nSuvs & Wagons\nSport Cars\nRecreational\nCivil\nGovernment\n4 door luxury\n2 door sedans\nHeavy trucks\nLight trucks", "Select", "Back");}
		if(response)
		{
	        if(listitem == 0){ CarSpawner(playerid,579);}
	        if(listitem == 1){ CarSpawner(playerid,400);}
	        if(listitem == 2){ CarSpawner(playerid,404);}
	        if(listitem == 3){ CarSpawner(playerid,489);}
	        if(listitem == 4){ CarSpawner(playerid,479);}
	        if(listitem == 5){ CarSpawner(playerid,442);}
	        if(listitem == 6){ CarSpawner(playerid,458);}
		}
		return 1;
	}
//=====================
//-----------------
// Sport Cars
//-----------------
//=====================
	if(dialogid == DIALOGID+8)
	{
	    if(response == 0){
	    ShowPlayerDialog(playerid, DIALOGID+47, DIALOG_STYLE_LIST, "Cars", "Lowriders\nStreet Racers\nMuscle cars\nSuvs & Wagons\nSport Cars\nRecreational\nCivil\nGovernment\n4 door luxury\n2 door sedans\nHeavy trucks\nLight trucks", "Select", "Back");}
		if(response)
		{
	        if(listitem == 0){ CarSpawner(playerid,429);}
	        if(listitem == 1){ CarSpawner(playerid,541);}
	        if(listitem == 2){ CarSpawner(playerid,415);}
	        if(listitem == 3){ CarSpawner(playerid,480);}
	        if(listitem == 4){ CarSpawner(playerid,434);}
	        if(listitem == 5){ CarSpawner(playerid,494);}
	        if(listitem == 6){ CarSpawner(playerid,411);}
	        if(listitem == 7){ CarSpawner(playerid,506);}
	        if(listitem == 8){ CarSpawner(playerid,451);}
	        if(listitem == 9){ CarSpawner(playerid,555);}
	        if(listitem == 10){ CarSpawner(playerid,477);}
		}
		return 1;
	}
//=====================
//-----------------
// Recreation
//-----------------
//=====================
	if(dialogid == DIALOGID+9)
	{
	    if(response == 0){
	    ShowPlayerDialog(playerid, DIALOGID+47, DIALOG_STYLE_LIST, "Cars", "Lowriders\nStreet Racers\nMuscle cars\nSuvs & Wagons\nSport Cars\nRecreational\nCivil\nGovernment\n4 door luxury\n2 door sedans\nHeavy trucks\nLight trucks", "Select", "Back");}
		if(response)
		{
	        if(listitem == 0){ CarSpawner(playerid,568);}
	        if(listitem == 1){ CarSpawner(playerid,424);}
	        if(listitem == 2){ CarSpawner(playerid,504);}
	        if(listitem == 3){ CarSpawner(playerid,457);}
	        if(listitem == 4){ CarSpawner(playerid,483);}
	        if(listitem == 5){ CarSpawner(playerid,508);}
	        if(listitem == 6){ CarSpawner(playerid,571);}
	        if(listitem == 7){ CarSpawner(playerid,500);}
	        if(listitem == 8){ CarSpawner(playerid,495);}
	        if(listitem == 9){ CarSpawner(playerid,539);}
		}
		return 1;
	}
//=====================
//-----------------
// Civil
//-----------------
//=====================
	if(dialogid == DIALOGID+10)
	{
	    if(response == 0){
	    ShowPlayerDialog(playerid, DIALOGID+47, DIALOG_STYLE_LIST, "Cars", "Lowriders\nStreet Racers\nMuscle cars\nSuvs & Wagons\nSport Cars\nRecreational\nCivil\nGovernment\n4 door luxury\n2 door sedans\nHeavy trucks\nLight trucks", "Select", "Back");}
		if(response)
		{
	        if(listitem == 0){ CarSpawner(playerid,485);}
	        if(listitem == 1){ CarSpawner(playerid,431);}
	        if(listitem == 2){ CarSpawner(playerid,438);}
	        if(listitem == 3){ CarSpawner(playerid,437);}
	        if(listitem == 4){ CarSpawner(playerid,574);}
	        if(listitem == 5){ CarSpawner(playerid,420);}
	        if(listitem == 6){ CarSpawner(playerid,525);}
	        if(listitem == 7){ CarSpawner(playerid,408);}
	        if(listitem == 8){ CarSpawner(playerid,552);}
		}
		return 1;
	}
//=====================
//-----------------
// Governament
//-----------------
//=====================
	if(dialogid == DIALOGID+11)
	{
	    if(response == 0){
	    ShowPlayerDialog(playerid, DIALOGID+47, DIALOG_STYLE_LIST, "Cars", "Lowriders\nStreet Racers\nMuscle cars\nSuvs & Wagons\nSport Cars\nRecreational\nCivil\nGovernment\n4 door luxury\n2 door sedans\nHeavy trucks\nLight trucks", "Select", "Back");}
		if(response)
		{
	        if(listitem == 0){ CarSpawner(playerid,416);}
	        if(listitem == 1){ CarSpawner(playerid,433);}
	        if(listitem == 2){ CarSpawner(playerid,427);}
	        if(listitem == 3){ CarSpawner(playerid,490);}
	        if(listitem == 4){ CarSpawner(playerid,528);}
	        if(listitem == 5){ CarSpawner(playerid,407);}
	        if(listitem == 6){ CarSpawner(playerid,570);}
	        if(listitem == 7){ CarSpawner(playerid,597);}
	        if(listitem == 8){ CarSpawner(playerid,599);}
	        if(listitem == 9){ CarSpawner(playerid,428);}
	        if(listitem == 10){ CarSpawner(playerid,601);}
		}
		return 1;
	}
//=====================
//-----------------
// 4 doors
//-----------------
//=====================
	if(dialogid == DIALOGID+12)
	{

	    if(response == 0){
	    ShowPlayerDialog(playerid, DIALOGID+47, DIALOG_STYLE_LIST, "Cars", "Lowriders\nStreet Racers\nMuscle cars\nSuvs & Wagons\nSport Cars\nRecreational\nCivil\nGovernment\n4 door luxury\n2 door sedans\nHeavy trucks\nLight trucks", "Select", "Back");}
		if(response)
		{
	        if(listitem == 0){ CarSpawner(playerid,445);}
	        if(listitem == 1){ CarSpawner(playerid,507);}
	        if(listitem == 2){ CarSpawner(playerid,585);}
	        if(listitem == 3){ CarSpawner(playerid,587);}
	        if(listitem == 4){ CarSpawner(playerid,466);}
	        if(listitem == 5){ CarSpawner(playerid,492);}
	        if(listitem == 6){ CarSpawner(playerid,546);}
	        if(listitem == 7){ CarSpawner(playerid,551);}
	        if(listitem == 8){ CarSpawner(playerid,516);}
	        if(listitem == 9){ CarSpawner(playerid,467);}
	        if(listitem == 10){ CarSpawner(playerid,426);}
	        if(listitem == 11){ CarSpawner(playerid,547);}
	        if(listitem == 12){ CarSpawner(playerid,405);}
	        if(listitem == 13){ CarSpawner(playerid,409);}
	        if(listitem == 14){ CarSpawner(playerid,550);}
	        if(listitem == 15){ CarSpawner(playerid,566);}
	        if(listitem == 16){ CarSpawner(playerid,540);}
	        if(listitem == 17){ CarSpawner(playerid,421);}
	        if(listitem == 18){ CarSpawner(playerid,529);}
		}
		return 1;
	}
//=====================
//-----------------
// 2 doors
//-----------------
//=====================
	if(dialogid == DIALOGID+58)
	{
	    if(response == 0){
	    ShowPlayerDialog(playerid, DIALOGID+47, DIALOG_STYLE_LIST, "Cars", "Lowriders\nStreet Racers\nMuscle cars\nSuvs & Wagons\nSport Cars\nRecreational\nCivil\nGovernment\n4 door luxury\n2 door sedans\nHeavy trucks\nLight trucks", "Select", "Back");}
		if(response)
		{
            if(listitem == 0){ CarSpawner(playerid,602);}
	        if(listitem == 1){ CarSpawner(playerid,496);}
	        if(listitem == 2){ CarSpawner(playerid,401);}
	        if(listitem == 3){ CarSpawner(playerid,518);}
	        if(listitem == 4){ CarSpawner(playerid,527);}
	        if(listitem == 5){ CarSpawner(playerid,589);}
	        if(listitem == 6){ CarSpawner(playerid,419);}
	        if(listitem == 7){ CarSpawner(playerid,533);}
	        if(listitem == 8){ CarSpawner(playerid,526);}
	        if(listitem == 9){ CarSpawner(playerid,474);}
	        if(listitem == 10){ CarSpawner(playerid,545);}
	        if(listitem == 11){ CarSpawner(playerid,517);}
	        if(listitem == 12){ CarSpawner(playerid,410);}
	        if(listitem == 13){ CarSpawner(playerid,600);}
	        if(listitem == 14){ CarSpawner(playerid,436);}
	        if(listitem == 15){ CarSpawner(playerid,580);}
	        if(listitem == 16){ CarSpawner(playerid,439);}
	        if(listitem == 17){ CarSpawner(playerid,549);}
	        if(listitem == 18){ CarSpawner(playerid,491);}
		}
		return 1;
	}
//=====================
//-----------------
// Heavy Trucks
//-----------------
//=====================
	if(dialogid == DIALOGID+59)
	{
	    if(response == 0){
	    ShowPlayerDialog(playerid, DIALOGID+47, DIALOG_STYLE_LIST, "Cars", "Lowriders\nStreet Racers\nMuscle cars\nSuvs & Wagons\nSport Cars\nRecreational\nCivil\nGovernment\n4 door luxury\n2 door sedans\nHeavy trucks\nLight trucks", "Select", "Back");}
		if(response)
		{
            if(listitem == 0){ CarSpawner(playerid,499);}
	        if(listitem == 1){ CarSpawner(playerid,498);}
	        if(listitem == 2){ CarSpawner(playerid,524);}
	        if(listitem == 3){ CarSpawner(playerid,532);}
	        if(listitem == 4){ CarSpawner(playerid,578);}
	        if(listitem == 5){ CarSpawner(playerid,486);}
	        if(listitem == 6){ CarSpawner(playerid,455);}
	        if(listitem == 7){ CarSpawner(playerid,588);}
	        if(listitem == 8){ CarSpawner(playerid,403);}
	        if(listitem == 9){ CarSpawner(playerid,423);}
	        if(listitem == 10){ CarSpawner(playerid,414);}
	        if(listitem == 11){ CarSpawner(playerid,443);}
	        if(listitem == 12){ CarSpawner(playerid,515);}
	        if(listitem == 13){ CarSpawner(playerid,514);}
	        if(listitem == 14){ CarSpawner(playerid,531);}
	        if(listitem == 15){ CarSpawner(playerid,456);}
		}
		return 1;
	}
//=====================
//-----------------
// Light Trucks
//-----------------
//=====================
	if(dialogid == DIALOGID+60)
	{
	    if(response == 0){
	    ShowPlayerDialog(playerid, DIALOGID+47, DIALOG_STYLE_LIST, "Cars", "Lowriders\nStreet Racers\nMuscle cars\nSuvs & Wagons\nSport Cars\nRecreational\nCivil\nGovernment\n4 door luxury\n2 door sedans\nHeavy trucks\nLight trucks", "Select", "Back");}
		if(response)
		{
            if(listitem == 0){ CarSpawner(playerid,459);}
	        if(listitem == 1){ CarSpawner(playerid,422);}
	        if(listitem == 2){ CarSpawner(playerid,482);}
	        if(listitem == 3){ CarSpawner(playerid,530);}
	        if(listitem == 4){ CarSpawner(playerid,418);}
	        if(listitem == 5){ CarSpawner(playerid,572);}
	        if(listitem == 6){ CarSpawner(playerid,582);}
	        if(listitem == 7){ CarSpawner(playerid,413);}
	        if(listitem == 8){ CarSpawner(playerid,440);}
	        if(listitem == 9){ CarSpawner(playerid,543);}
	        if(listitem == 10){ CarSpawner(playerid,583);}
	        if(listitem == 11){ CarSpawner(playerid,478);}
	        if(listitem == 12){ CarSpawner(playerid,554);}
		}
		return 1;
	}
//==============================================================================
//---------------
// TUNING
//---------------
//==============================================================================

//===============================
//---------------
// Tune Main
//---------------
//===============================
	if(dialogid == DIALOGID+13)
    {
	    if(response == 0)
		{
        ShowPlayerDialog(playerid, DIALOGID+1, DIALOG_STYLE_LIST, "Admin Main Menu",
		"Enable\nDisable\nServer Weather\nServer Time\nVehicles\nTuning Menu\nWeapons\nTeleports", "Select", "Cancel");
		}
		if(response)
		{
		    if(listitem == 0){ AddVehicleComponent(GetPlayerVehicleID(playerid),1010); StartTuneSound(playerid); SendClientMessage(playerid,blue,"Hydraulics Added to your Vehicle");}
            if(listitem == 1){ AddVehicleComponent(GetPlayerVehicleID(playerid),1087); StartTuneSound(playerid); SendClientMessage(playerid,blue,"Nitrox Added to your Vehicle");
            }
			if(listitem == 2){ ShowPlayerDialog(playerid, DIALOGID+14, DIALOG_STYLE_LIST, "Wheels","Wire\nTwist\nAccess\nMega\nImport\nAtomic\nOfTwistfroad\nClassic", "Select", "Back");}
			if(listitem == 3){ ShowPlayerDialog(playerid, DIALOGID+15, DIALOG_STYLE_LIST, "Paint Jobs","Style 1\nStyle 2\nStyle 3\nStyle 4\nStyle 5", "Select", "Back");}
			if(listitem == 4){ ShowPlayerDialog(playerid, DIALOGID+19, DIALOG_STYLE_LIST, "Vehicle Colours","Black \nWhite \nDark Blue \nLight Blue \nGreen \nRed \nYellow \nPink", "Select", "Back");}
		}
 		return 1;
  	}
//===============================
//---------------
// Wheels
//---------------
//===============================
	if(dialogid == DIALOGID+14)
    {
	    if(response == 0)
		{
        ShowPlayerDialog(playerid, DIALOGID+13, DIALOG_STYLE_LIST, "Tune Menu",
        "Nitrox\nHydraulics\nWheels\nPaint Jobs\nColours", "Select", "Back");
		}
		if(response)
		{
		    if(listitem == 0){ AddVehicleComponent(GetPlayerVehicleID(playerid),1081); StartTuneSound(playerid); SendClientMessage(playerid,blue,"Wire Wheels to your Vehicle");}
            if(listitem == 1){ AddVehicleComponent(GetPlayerVehicleID(playerid),1078); StartTuneSound(playerid); SendClientMessage(playerid,blue,"Twist Wheels Added to your Vehicle");}
			if(listitem == 2){ AddVehicleComponent(GetPlayerVehicleID(playerid),1098); StartTuneSound(playerid); SendClientMessage(playerid,blue,"Access Wheels Added to your Vehicle");}
			if(listitem == 3){ AddVehicleComponent(GetPlayerVehicleID(playerid),1074); StartTuneSound(playerid); SendClientMessage(playerid,blue,"Mega Wheels Added to your Vehicle");}
			if(listitem == 4){ AddVehicleComponent(GetPlayerVehicleID(playerid),1082); StartTuneSound(playerid); SendClientMessage(playerid,blue,"Import Wheels Added to your Vehicle");}
 			if(listitem == 5){ AddVehicleComponent(GetPlayerVehicleID(playerid),1085); StartTuneSound(playerid); SendClientMessage(playerid,blue,"Atomic Wheels Added to your Vehicle");}
			if(listitem == 6){ AddVehicleComponent(GetPlayerVehicleID(playerid),1025); StartTuneSound(playerid); SendClientMessage(playerid,blue,"OfTwistfroad Wheels Added to your Vehicle");}
 			if(listitem == 7){ AddVehicleComponent(GetPlayerVehicleID(playerid),1077); StartTuneSound(playerid); SendClientMessage(playerid,blue,"Classic Wheels Added to your Vehicle");}
		}
 		return 1;
  	}
//===============================
//---------------
// Paint Jobs
//---------------
//===============================
	if(dialogid == DIALOGID+15)
	{
	    if(response == 0)
		{
        ShowPlayerDialog(playerid, DIALOGID+13, DIALOG_STYLE_LIST, "Tune Menu",
        "Nitrox\nHydraulics\nWheels\nPaint Jobs\nColours", "Select", "Back");
		}
		if(response)
		{
		    if(listitem == 0){ ChangeVehiclePaintjob(GetPlayerVehicleID(playerid),0); StartTuneSound(playerid); SendClientMessage(playerid,blue,"Vehicle Paint Job changed to Paint Job Style 1"); }
            if(listitem == 1){ ChangeVehiclePaintjob(GetPlayerVehicleID(playerid),1); StartTuneSound(playerid); SendClientMessage(playerid,blue,"Vehicle Paint Job changed to Paint Job Style 2"); }
			if(listitem == 2){ ChangeVehiclePaintjob(GetPlayerVehicleID(playerid),2); StartTuneSound(playerid); SendClientMessage(playerid,blue,"Vehicle Paint Job changed to Paint Job Style 3"); }
			if(listitem == 3){ ChangeVehiclePaintjob(GetPlayerVehicleID(playerid),3); StartTuneSound(playerid); SendClientMessage(playerid,blue,"Vehicle Paint Job changed to Paint Job Style 4"); }
			if(listitem == 4){ ChangeVehiclePaintjob(GetPlayerVehicleID(playerid),4); StartTuneSound(playerid); SendClientMessage(playerid,blue,"Vehicle Paint Job changed to Paint Job Style 5"); }
		}
 		return 1;
  	}
//===============================
//---------------
// Vehicle Colours
//---------------
//===============================
	if(dialogid == DIALOGID+19)
    {
	    if(response == 0)
		{
        ShowPlayerDialog(playerid, DIALOGID+13, DIALOG_STYLE_LIST, "Tune Menu",
        "Nitrox\nHydraulics\nWheels\nPaint Jobs\nColours", "Select", "Back");
		}
		if(response)
		{
			if(listitem == 0){ ChangeVehicleColor(GetPlayerVehicleID(playerid),0,0);     StartTuneSound(playerid); SendClientMessage(playerid,blue,"Vehicle Paint changed to Black");      }
			if(listitem == 1){ ChangeVehicleColor(GetPlayerVehicleID(playerid),1,1);     StartTuneSound(playerid); SendClientMessage(playerid,blue,"Vehicle Paint changed to White");      }
			if(listitem == 2){ ChangeVehicleColor(GetPlayerVehicleID(playerid),425,425); StartTuneSound(playerid); SendClientMessage(playerid,blue,"Vehicle Paint changed to Dark Blue");  }
			if(listitem == 3){ ChangeVehicleColor(GetPlayerVehicleID(playerid),2,2);     StartTuneSound(playerid); SendClientMessage(playerid,blue,"Vehicle Paint changed to Light Blue"); }
			if(listitem == 4){ ChangeVehicleColor(GetPlayerVehicleID(playerid),16,16);   StartTuneSound(playerid); SendClientMessage(playerid,blue,"Vehicle Paint changed to Green");      }
			if(listitem == 5){ ChangeVehicleColor(GetPlayerVehicleID(playerid),3,3);     StartTuneSound(playerid); SendClientMessage(playerid,blue,"Vehicle Paint changed to Red");		 }
			if(listitem == 6){ ChangeVehicleColor(GetPlayerVehicleID(playerid),6,6);     StartTuneSound(playerid); SendClientMessage(playerid,blue,"Vehicle Paint changed to Yellow");	 }
			if(listitem == 7){ ChangeVehicleColor(GetPlayerVehicleID(playerid),146,146); StartTuneSound(playerid); SendClientMessage(playerid,blue,"Vehicle Paint changed to Pink");		 }
		}
 		return 1;
  	}
//===============================
//---------------
// Server Weather
//---------------
//===============================
	if(dialogid == DIALOGID+16)
    {
	    if(response == 0)
		{
        ShowPlayerDialog(playerid, DIALOGID+1, DIALOG_STYLE_LIST, "Admin Main Menu",
		"Enable\nDisable\nServer Weather\nServer Time\nVehicles\nTuning Menu\nWeapons\nTeleports", "Select", "Cancel");
		}
		if(response)
		{
		    if(listitem == 0)
		    {
				 SetWeather(5);
		 		 PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
				 SendCommandToAdmins(playerid,"SetWeather");
				 format(string,sizeof(string),"[ Administrator %s has changed the weather to 'Blue Sky'. ]",adminname);
				 SendClientMessageToAll(blue,string);
            }
            if(listitem == 1)
			{
 	        	 SetWeather(19);
		 		 PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
				 SendCommandToAdmins(playerid,"SetWeather");
				 format(string,sizeof(string),"[ Administrator %s has changed the weather to 'Sand Storm'. ]",adminname);
				 SendClientMessageToAll(blue,string);
            }
			if(listitem == 2)
			{
				 SetWeather(8);
		 		 PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
				 SendCommandToAdmins(playerid,"SetWeather");
				 format(string,sizeof(string),"[ Administrator %s has changed the weather to 'Thunderstorm'. ]",adminname);
				 SendClientMessageToAll(blue,string);
            }

			if(listitem == 3)
			{
 	             SetWeather(20);
		 		 PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
				 SendCommandToAdmins(playerid,"SetWeather");
				 format(string,sizeof(string),"[ Administrator %s has changed the weather to 'Foggy'. ]",adminname);
				 SendClientMessageToAll(blue,string);
            }
			if(listitem == 4)
			{
 	             SetWeather(9);
		 		 PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
				 SendCommandToAdmins(playerid,"SetWeather");
				 format(string,sizeof(string),"[ Administrator %s has changed the weather to 'Cloudy' ]",adminname);
				 SendClientMessageToAll(blue,string);
            }
 			if(listitem == 5)
			{
 	             SetWeather(16);
		 		 PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
				 SendCommandToAdmins(playerid,"SetWeather");
				 format(string,sizeof(string),"[ Administrator %s has changed the weather to 'High Tide'. ]",adminname);
				 SendClientMessageToAll(blue,string);
            }
			if(listitem == 6)
			{
 	             SetWeather(45);
		 		 PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
				 SendCommandToAdmins(playerid,"SetWeather");
				 format(string,sizeof(string),"[ Administrator %s has changed the weather to 'Purple Sky'. ]",adminname);
				 SendClientMessageToAll(blue,string);
            }
 			if(listitem == 7)
			{
 	             SetWeather(44);
		 		 PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
				 SendCommandToAdmins(playerid,"SetWeather");
				 format(string,sizeof(string),"[ Administrator %s has changed the weather to 'Black/White Sky'. ]",adminname);
				 SendClientMessageToAll(blue,string);
            }
  			if(listitem == 8)
			{
 	             SetWeather(22);
		 		 PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
				 SendCommandToAdmins(playerid,"SetWeather");
				 format(string,sizeof(string),"[ Administrator %s has changed the weather to 'Dark, Green Sky'. ]",adminname);
				 SendClientMessageToAll(blue,string);
            }
            if(listitem == 9)
			{
 	             SetWeather(11);
		 		 PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
				 SendCommandToAdmins(playerid,"SetWeather");
				 format(string,sizeof(string),"[ Administrator %s has changed the weather to 'Heatwave'. ]",adminname);
				 SendClientMessageToAll(blue,string);
            }
		}
 		return 1;
  	}

//===============================
//---------------
// Server Time
//---------------
//===============================
	if(dialogid == DIALOGID+17)
    {
	    if(response == 0)
		{
        ShowPlayerDialog(playerid, DIALOGID+1, DIALOG_STYLE_LIST, "Admin Main Menu",
		"Enable\nDisable\nServer Weather\nServer Time\nVehicles\nTuning Menu\nWeapons\nTeleports", "Select", "Cancel");
		}
		if(response)
		{
		    if(listitem == 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);
		   		 format(string,sizeof(string),"[ Administrator %s has changed the Time. ]",adminname);
				 SendClientMessageToAll(blue,string);
            }

            if(listitem == 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);
		   		 format(string,sizeof(string),"[ Administrator %s has changed the Time. ]",adminname);
		   		 SendClientMessageToAll(blue,string);
            }
			if(listitem == 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);
		   		 format(string,sizeof(string),"[ Administrator %s has changed the Time. ]",adminname);
		   		 SendClientMessageToAll(blue,string);
            }
			if(listitem == 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);
		   		 format(string,sizeof(string),"[ Administrator %s has changed the Time. ]",adminname);
		   		 SendClientMessageToAll(blue,string);
		   	 }
			if(listitem == 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);
		   		 format(string,sizeof(string),"[ Administrator %s has changed the Time. ]",adminname);
		   		 SendClientMessageToAll(blue,string);
            }
		}
 		return 1;
  	}


//=====================
//-----------------
// Teles (Main)
//-----------------
//=====================
	if(dialogid == DIALOGID+30)
    {
        if(response == 0){ ShowPlayerDialog(playerid, DIALOGID+1, DIALOG_STYLE_LIST, "Admin Main Menu","Enable\nDisable\nServer Weather\nServer Time\nVehicles\nTuning Menu\nWeapons\nTeleports", "Select", "Cancel"); }
		if(response)
		{
		if(listitem == 0){ ShowPlayerDialog(playerid, DIALOGID+31, DIALOG_STYLE_LIST, "Los Santos", "Los Santos Airport \nPershing Square \nVinewood \nGrove Street \nRichman \nSanta Maria Beach \nOcean Docks \nDillimore \nPalomino Creek \nBlueBerry \nMontGomery", "Select", "Back");}
		if(listitem == 1){ ShowPlayerDialog(playerid, DIALOGID+32, DIALOG_STYLE_LIST, "San Fierro", "San Fierro Airport \nGolden Gate Bridge \nMt. Chilliad \nCJ's garage \nSan Fierro Stadium \nOcean Flats \nMissionary Hill", "Select", "Back");}
		if(listitem == 2){ ShowPlayerDialog(playerid, DIALOGID+33, DIALOG_STYLE_LIST, "Las Venturas", "Las Venturas Airport \nArea51 \nFour Dragons Casino \nLas Venturas Police Department \nBayside \nBig Jump \nLas Barrancas \nFort Carson \nLas Venturas Stadium \nNorthern Las Venturas \nStarfish Casino", "Select", "Back");}
		}
		return 1;
	}
//=====================
//-----------------
// Teles (Los Santos)
//-----------------
//=====================
	if(dialogid == DIALOGID+31)
    {
		if(response == 0){ ShowPlayerDialog(playerid, DIALOGID+30, DIALOG_STYLE_LIST, "Select City", "Los Santos\nSan Fierro\nLas Venturas", "Select", "Back");}
		if(response)
		{
		if(listitem == 0){  SetPlayerInterior(playerid, 0); SetPlayerPos(playerid, 1642.3022,-2333.6287,13.5469); }
		if(listitem == 1){  SetPlayerInterior(playerid, 0); SetPlayerPos(playerid, 1511.8770,-1661.2853,13.5469); }
		if(listitem == 2){  SetPlayerInterior(playerid, 0); SetPlayerPos(playerid, 1382.6194,-888.5532,38.0863);  }
		if(listitem == 3){  SetPlayerInterior(playerid, 0); SetPlayerPos(playerid, 2485.2546,-1684.7223,13.5096); }
		if(listitem == 4){  SetPlayerInterior(playerid, 0); SetPlayerPos(playerid, 597.6629,-1241.3900,18.1275);  }
		if(listitem == 5){  SetPlayerInterior(playerid, 0); SetPlayerPos(playerid, 491.7868,-1823.2258,5.5028);   }
		if(listitem == 6){  SetPlayerInterior(playerid, 0); SetPlayerPos(playerid, 2771.1060,-2417.5828,13.6405); }
		if(listitem == 7){  SetPlayerInterior(playerid, 0); SetPlayerPos(playerid, 661.0361,-573.5891,16.3359);   }
		if(listitem == 8){  SetPlayerInterior(playerid, 0); SetPlayerPos(playerid, 2269.6877,-75.0973,26.7724);   }
		if(listitem == 9){  SetPlayerInterior(playerid, 0); SetPlayerPos(playerid, 198.4328,-252.1696,1.5781);    }
 	    if(listitem == 10){ SetPlayerInterior(playerid, 0); SetPlayerPos(playerid, 1242.2875,328.5506,19.7555);   }
		}
 	    return 1;
	}
//=====================
//-----------------
// Teles (San Fierro)
//-----------------
//=====================
	if(dialogid == DIALOGID+32)
    {
        if(response == 0){ ShowPlayerDialog(playerid, DIALOGID+30, DIALOG_STYLE_LIST, "Select City", "Los Santos\nSan Fierro\nLas Venturas", "Select", "Back");}
		if(response)
		{
		if(listitem == 0){ SetPlayerInterior(playerid, 0);SetPlayerPos(playerid, -1422.8820,-287.4992,14.1484);   }
		if(listitem == 1){ SetPlayerInterior(playerid, 0);SetPlayerPos(playerid, -2672.6116,1268.4943,55.9456);   }
		if(listitem == 2){ SetPlayerInterior(playerid, 0);SetPlayerPos(playerid, -2305.6143,-1626.0594,483.7662); }
		if(listitem == 3){ SetPlayerInterior(playerid, 0);SetPlayerPos(playerid, -2026.2843,156.4974,29.0391);    }
		if(listitem == 4){ SetPlayerInterior(playerid, 0);SetPlayerPos(playerid, -2159.3616,-407.8362,35.3359);   }
		if(listitem == 5){ SetPlayerInterior(playerid, 0);SetPlayerPos(playerid, -2648.7498,14.2868,6.1328);      }
		if(listitem == 6){ SetPlayerInterior(playerid, 0);SetPlayerPos(playerid, -2521.4055,-623.5245,132.7727);  }
		}
     	return 1;
	}
//=====================
//-----------------
// Teles (Las Venturas)
//-----------------
//=====================
	if(dialogid == DIALOGID+33)
    {
        if(response == 0){ ShowPlayerDialog(playerid, DIALOGID+30, DIALOG_STYLE_LIST, "Select City", "Los Santos\nSan Fierro\nLas Venturas", "Select", "Back");}
		if(response)
		{
		if(listitem == 0)  {SetPlayerInterior(playerid, 0); SetPlayerPos(playerid, 1679.3361,1448.6248,10.7744);  }
		if(listitem == 1)  {SetPlayerInterior(playerid, 0); SetPlayerPos(playerid, 95.7283,1920.3488,18.1163);    }
		if(listitem == 2)  {SetPlayerInterior(playerid, 0); SetPlayerPos(playerid, 2027.5721,1008.2877,10.8203);  }
		if(listitem == 3)  {SetPlayerInterior(playerid, 0); SetPlayerPos(playerid, 2287.0313,2431.0276,10.8203);  }
		if(listitem == 4)  {SetPlayerInterior(playerid, 0); SetPlayerPos(playerid, -2241.4238,2327.4290,4.9844);  }
		if(listitem == 5)  {SetPlayerInterior(playerid, 0); SetPlayerPos(playerid, -670.6358,2306.0559,135.2990); }
		if(listitem == 6)  {SetPlayerInterior(playerid, 0); SetPlayerPos(playerid, -761.5192,1552.1647,26.9609);  }
		if(listitem == 7)  {SetPlayerInterior(playerid, 0); SetPlayerPos(playerid, -143.5370,1217.8855,19.7352);  }
		if(listitem == 8)  {SetPlayerInterior(playerid, 0); SetPlayerPos(playerid, 1099.1533,1384.3300,10.8203);  }
		if(listitem == 9)  {SetPlayerInterior(playerid, 0); SetPlayerPos(playerid, 1614.2190,2334.9338,10.8203);  }
		if(listitem == 10) {SetPlayerInterior(playerid, 0); SetPlayerPos(playerid, 2572.6560,1818.1030,10.8203);  }
		}
		return 1;
    }
//==============================================================================
//----------------------------
// Weapons Main
//----------------------------
//==============================================================================
	if(dialogid == DIALOGID+20)
    {
	    if(response == 0)
		{
        ShowPlayerDialog(playerid, DIALOGID+1, DIALOG_STYLE_LIST, "Admin Main Menu",
		"Enable\nDisable\nServer Weather\nServer Time\nVehicles\nTuning Menu\nWeapons\nTeleports", "Select", "Cancel");
		}
		if(response)
		{
			if(listitem == 0){ShowPlayerDialog(playerid, DIALOGID+21, DIALOG_STYLE_LIST, "Machine Guns", "Micro SMG \nSMG \nAK47 \nM4 \nTec9", "Select", "Back");}
			if(listitem == 1){ShowPlayerDialog(playerid, DIALOGID+22, DIALOG_STYLE_LIST, "Pistols", "9mm \nSilenced 9mm \nDeagle", "Select", "Back");}
			if(listitem == 2){ShowPlayerDialog(playerid, DIALOGID+23, DIALOG_STYLE_LIST, "Rifles", "Country Rifle \nSniper Rifle", "Select", "Back");}
   			if(listitem == 3){ShowPlayerDialog(playerid, DIALOGID+24, DIALOG_STYLE_LIST, "Shotguns", "Shotgun \nSawnoff Shotgun \nCombat Shotgun", "Select", "Back");}
   			if(listitem == 4){ShowPlayerDialog(playerid, DIALOGID+25, DIALOG_STYLE_LIST, "Heavy Assaults", "Rocket Launcher \nHS Rocket Launcher \nFlamethrower \nMinigun", "Select", "Back");}
   		    if(listitem == 5){ShowPlayerDialog(playerid, DIALOGID+26, DIALOG_STYLE_LIST, "Special", "Camera \nNightvision Goggles \nInfared Vision \nParachute", "Select", "Back");}
   			if(listitem == 6){ShowPlayerDialog(playerid, DIALOGID+27, DIALOG_STYLE_LIST, "Hand Held", "Spraycan \nFire Extinguisher", "Select", "Back");}
   			if(listitem == 7){ShowPlayerDialog(playerid, DIALOGID+28, DIALOG_STYLE_LIST, "Melee","Brass Knuckles \nGolf Club \nNite Stick \nKnife \nBaseball Bat \nShovel \nPool Cue \nKatana \nChainsaw \nPurple Dildo \nSmall White Vibrator \nLarge White Vibrator \nSilver Vibrator \nFlowers \nCane", "Select", "Back");}
   			if(listitem == 8){ShowPlayerDialog(playerid, DIALOGID+29, DIALOG_STYLE_LIST, "Projetile", "Grenade \nTear Gas \nMolotov Cocktail \nSatchel Charge \nDetonator", "Select", "Back");}
   			}
		return 1;
  	}
//=====================
//-----------------
// Machine Guns
//-----------------
//=====================
	if(dialogid == DIALOGID+21)
	    {
        if(response == 0)
		{
        ShowPlayerDialog(playerid, DIALOGID+20, DIALOG_STYLE_LIST,
		"Weapons", "Machine Guns\nPistols\nRifles\nShotguns\nHeavy Assault\nSpecial Weapons\nHand Held\nMelee \nProjectile", "Select", "Back");
		}
		if(response)
		{
	 	if(listitem == 0){GivePlayerWeapon(playerid,28, 300);}
	 	if(listitem == 1){GivePlayerWeapon(playerid,29, 300);}
  		if(listitem == 2){GivePlayerWeapon(playerid,30, 300);}
		if(listitem == 3){GivePlayerWeapon(playerid,31, 300);}
		if(listitem == 4){GivePlayerWeapon(playerid,32, 300);}
   		}
		return 1;
  	}
//=====================
//-----------------
// Pistols
//-----------------
//=====================
	if(dialogid == DIALOGID+22)
	    {
        if(response == 0)
		{
        ShowPlayerDialog(playerid, DIALOGID+20, DIALOG_STYLE_LIST,
		"Weapons", "Machine Guns\nPistols\nRifles\nShotguns\nHeavy Assault\nSpecial Weapons\nHand Held\nMelee \nProjectile", "Select", "Back");
		}
		if(response)
		{
		if(listitem == 0){GivePlayerWeapon(playerid,22, 300);}
		if(listitem == 1){GivePlayerWeapon(playerid,23, 300);}
		if(listitem == 2){GivePlayerWeapon(playerid,24, 300);}
  		}
		return 1;
  	}
//=====================
//-----------------
// Rifles
//-----------------
//=====================
	if(dialogid == DIALOGID+23)
	    {
        if(response == 0)
		{
        ShowPlayerDialog(playerid, DIALOGID+20, DIALOG_STYLE_LIST,
		"Weapons", "Machine Guns\nPistols\nRifles\nShotguns\nHeavy Assault\nSpecial Weapons\nHand Held\nMelee \nProjectile", "Select", "Back");
		}
		if(response)
		{
		if(listitem == 0){GivePlayerWeapon(playerid,33, 300);}
		if(listitem == 1){GivePlayerWeapon(playerid,34, 300);}
  		}
		return 1;
  	}
//=====================
//-----------------
// Shotguns
//-----------------
//=====================
	if(dialogid == DIALOGID+24)
	    {
        if(response == 0)
		{
        ShowPlayerDialog(playerid, DIALOGID+20, DIALOG_STYLE_LIST,
		"Weapons", "Machine Guns\nPistols\nRifles\nShotguns\nHeavy Assault\nSpecial Weapons\nHand Held\nMelee \nProjectile", "Select", "Back");
		}
		if(response)
		{
		if(listitem == 0){GivePlayerWeapon(playerid,25, 300);}
		if(listitem == 1){GivePlayerWeapon(playerid,26, 300);}
		if(listitem == 2){GivePlayerWeapon(playerid,27, 300);}
	    }
		return 1;
  	}
AlberBM is offline   Reply With Quote
Old 08/05/2018, 02:49 PM   #8
TadePoleMG
Big Clucker
 
TadePoleMG's Avatar
 
Join Date: Apr 2018
Location: Uttar Pradesh, India
Posts: 163
Reputation: 2
Default Re: No Logs

Friend, COD7 script is fully error free so, if you uses unedited script, Then it works perfect.
__________________
-| Gaming 'N' Scripting |-
TadePoleMG is offline   Reply With Quote
Old 08/05/2018, 03:06 PM   #9
TadePoleMG
Big Clucker
 
TadePoleMG's Avatar
 
Join Date: Apr 2018
Location: Uttar Pradesh, India
Posts: 163
Reputation: 2
Default Re: No Logs

Something is wrong, If you want to fix then give me your correct script.
__________________
-| Gaming 'N' Scripting |-
TadePoleMG is offline   Reply With Quote
Old 08/05/2018, 03:38 PM   #10
AlberBM
Little Clucker
 
Join Date: May 2018
Posts: 21
Reputation: 0
Default Re: No Logs

Do you want to come as sub user in my server and fix it for me please .
AlberBM is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
[Ajuda] Logs Andinho PortuguÍs/Portuguese 7 21/08/2016 09:33 AM
Which is the best way to save chat logs/command logs, etc? BlackAnt Scripting Help 6 27/02/2014 09:09 PM
Logs. audriuxxx Scripting Help 1 12/02/2014 07:55 PM
IG logs MichaelWharton101 Scripting Help 1 09/04/2013 11:40 PM
[Ajuda] Logs s4kuL PortuguÍs/Portuguese 9 30/08/2012 04:41 PM


All times are GMT. The time now is 12:35 AM.


Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.