No Logs
#1

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
Reply
#2

Hi

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

Thank You.
Reply
#3

http://www.mediafire.com/file/b2qsacs321re034/COD7.zip
Reply
#4

Try latest include files to compile it.
Reply
#5

Links please
Reply
#6

tell me your you uses edited script of eAdmin by you or original.
Reply
#7

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;
  	}
Reply
#8

Friend, COD7 script is fully error free so, if you uses unedited script, Then it works perfect.
Reply
#9

Something is wrong, If you want to fix then give me your correct script.
Reply
#10

Do you want to come as sub user in my server and fix it for me please .
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)