All pastes #998138 Raw Edit

Tec9 LS RPG

public text v1 · immutable
#998138 ·published 2008-04-26 06:15 UTC
rendered paste body
////////////////////////////////////////////////////////////////////////////////
//////////////////// LSRPG 0.2.0  coded by ryder ///////////////////////////////
////////////////////////////////////////////////////////////////////////////////
#include <a_samp>
#include <core>
#include <float>
#include <dini>
#include <dudb>
#define COLOR_BRIGHTRED 0xFF000096
#define COLOR_SYSTEM 0xF5FF9FAA
#define COLOR_ADMINISTRATOR 0xa0d3ffAA
#define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
#define KICKPORTAL "KickedNames.txt"
#define ADMIN_SPEC_TYPE_NONE 0
#define ADMIN_SPEC_TYPE_PLAYER 1
#define ADMIN_SPEC_TYPE_VEHICLE 2
//Color Defines
#define COLOR_GREY 0xAFAFAFAA
#define COLOR_GREEN 0x33AA33AA
#define COLOR_MARON 0x80800096
#define COLOR_BLACK 0x00000000
#define COLOR_PURPLE 0xC2A2DAAA
#define COLOR_CYAN 0xFF8282AA
#define COLOR_RED 0xAA3333AA
#define COLOR_YELLOW 0xFFFF00AA
#define COLOR_PINK 0xFF66FFAA
#define COLOR_BLUE 0x0000BBAA
#define COLOR_WHITE 0xFFFFFFAA
#define COLOR_LIGHTBLUE 0x33CCFFAA
#define COLOR_DARKRED 0x660000AA
#define COLOR_ORANGE 0xFF9900AA
#define COLOR_AZTECA 0x00FFFFFF
#define COLOR_MAFIA 0x790000FF
#define COLOR_DEALERS 0x717100FF
#define COLOR_TAXI 0xFF8000FF
#define COLOR_AGENTS 0x000075FF
#define COLOR_ME[DIC 0xFF3C3CFF
#define COLOR_FIREMAN 0x804040FF
#define COLOR_TRIADS 0xFFFFFFFF
#define COLOR_CIVS 0x2B2BFFFF
////////////////////////////////////////////////////////////////////////////////
//-------------------[TEAM DEFINES]-------------------------------------------//
#define TEAM_GSF 1
#define TEAM_SBF 2
#define TEAM_TDF 3
#define TEAM_IB 4
#define TEAM_JB 5
#define TEAM_GPB 6
#define TEAM_VAGOS 7
#define TEAM_VLA 8
#define TEAM_MAFIA 9
#define TEAM_DEALERS 10
#define TEAM_TAXI 11
#define TEAM_AGENT 12
#define TEAM_MEDICS 13
#define TEAM_FIREMAN 14
#define TEAM_CIVS 15
#define TEAM_TRIADS 16
#define TEAM_GOG 17
#define TEAM_RAPPERS 18

////////////////////////////////////////////////////////////////////////////////
#define COLOR_GSF 0x00EA00FF
#define COLOR_SBF 0x008040FF
#define COLOR_TDF 0x004F00FF
#define COLOR_IB 0xD700D7FF
#define COLOR_JB 0xA600A6FF
#define COLOR_GPB 0x5B005BFF
#define COLOR_VAGOS 0xF9F900FF
#define COLOR_VLA 0x06FFFFFF
#define COLOR_MAFIAs 0x910000FF
#define COLOR_DEALER 0x808040FF
#define COLOR_TAXIs 0xFF8040FF
#define COLOR_AGENTs 0x0000A0FF
#define COLOR_MEDIC 0xFF0000FF
#define COLOR_FIREMANs 0xFF0000FF
#define COLOR_CIV 0x2B2BFFFF
#define COLOR_TRIAD 0xFFFFFFFF
////////////////////////////////////////////////////////////////////////////////
////////////////--------PRAFMA CONTENTS-----------/////////////////////
#pragma tabsize 0
#pragma unused strtok
#pragma unused ret_memcpy
#define PayDay_Amount 3000
///////////////-----------FINSIH-----------------///////////////////////////////
//////////////--------FORWARD STUFFs-------------///////////////////////////////
forward MoneyGrubScoreUpdate();
forward Givecashdelaytimer(playerid);
forward PayDay(playerid);
////////////////////////////////////////////////////////////////////////////////
forward Restart();
forward IsPlayerInArea(playerid,Float:xmax,Float:xmin,Float:ymax,Float:ymin);
new IsPlayerMuted[MAX_PLAYERS];
new gtmp[MAX_STRING];
new giveplayerid;
new bool:IsServerLocked;
new gSpectateID[MAX_PLAYERS];
new gSpectateType[MAX_PLAYERS];
new Player_Logged[MAX_PLAYERS];
new Free[MAX_PLAYERS];
new Spawned[MAX_PLAYERS];
new gPlayerClass[MAX_PLAYERS];
new fuel[MAX_VEHICLES] = {100,...};
new offerweed[MAX_PLAYERS];
new haveweed[MAX_PLAYERS];
new jailed[MAX_PLAYERS];
new gPlayerUsingLoopingAnim[MAX_PLAYERS];
new gPlayerAnimLibsPreloaded[MAX_PLAYERS];
new Text:txtAnimHelper;
// DONE
static gTeam[MAX_PLAYERS]; // Tracks the team assignment for each player
stock IsVehicleConnected(vehicleid) //By Sacky (edited by Gabriel "Larcius" Cordes)
{
	new Float:x1,Float:y1,Float:z1;
	GetVehiclePos(vehicleid,x1,y1,z1);
	if(x1==0.0 && y1==0.0 && z1==0.0)
	{
		return 0;
	}
	return 1;
}
// ADMIN COMMANDS

dcmd_kick(playerid, params[])
{
	if (!IsPlayerAdmin(playerid))
		return SystemMessage(playerid, "You are not Administrator.");
 	new index = 0;
    gtmp = strtok(params, index);
    if(!strlen(gtmp))
		return SystemMessage(playerid, "Correct usage: '/kick [playername] [reason]'");
	new string[MAX_STRING], second, minute, hour, day, month, year;
    giveplayerid = ReturnUser(gtmp);
	if (!IsPlayerConnected(giveplayerid))
	    return SystemMessage(playerid, "That player is not active.");

	gtmp = strtok(params,index);
    format(string, sizeof(string), "Player %s has been kicked by Administrator %s. (Reason: \"%s\")", PlayerName(giveplayerid), PlayerName(playerid), gtmp);
    SystemMessageToAll(string);
	format(string, sizeof(string), "%s has been kicked by Administrator %s. (Reason: \"%s\")", PlayerName(giveplayerid), PlayerName(playerid), gtmp);
	print(string);
	gettime(hour, minute, second);
	getdate(year, month, day);
	format(string, sizeof(string), "Player %s kicked player %s on %d/%d/%d at %d:%d:%d. (Reason: \"%s\")", PlayerName(playerid), PlayerName(giveplayerid), month, day, year, hour, minute, second, gtmp);
	ServerLog(string);
 	format(string, sizeof(string), "You have been kicked by Administrator %s. (Reason: \"%s\")", PlayerName(playerid), gtmp);
	KickPlayer(giveplayerid, string);
    return 1;
}



dcmd_ban(playerid, params[])
{
	new index = 0;
    gtmp = strtok(params, index);
	if (!IsPlayerAdmin(playerid))
	{
	SystemMessage(playerid, "You are not Administrator.");
	return 1;
	}
    if(!strlen(gtmp))
	{
	SystemMessage(playerid, "Correct usage: '/ban [playername] [reason]'");
	return 1;
	}
	new string[MAX_STRING];
	new second, minute, hour, day, month, year;
    giveplayerid = ReturnUser(gtmp);
    gtmp = strtok(params, index);
	if (IsPlayerConnected(giveplayerid))
	{
	format(string, sizeof(string), "You have been banned by Administrator %s. (Reason: \"%s\")", PlayerName(playerid), gtmp);
	SystemMessage(giveplayerid, string);
    if(dini_Exists(KICKPORTAL))
    {
    new File:fhandle;
    new temp[256];
    fhandle = fopen(KICKPORTAL, io_append);
    format(temp, sizeof(temp), "\n%s", PlayerName(giveplayerid));
    fwrite(fhandle, temp);
    fclose(fhandle);
    }
	format(string, sizeof(string), "Player %s has been banned by Administrator %s. (Reason: \"%s\")", PlayerName(giveplayerid), PlayerName(playerid), gtmp);
	SystemMessageToAll(string);
	format(string, sizeof(string), "%s has been banned by Administrator %s. (Reason: \"%s\")", PlayerName(giveplayerid), PlayerName(playerid), gtmp);
	print(string);
	gettime(hour, minute, second);
	getdate(year, month, day);
	format(string, sizeof(string), "Player %s banned player %s on %d/%d/%d at %d:%d:%d. (Reason: \"%s\")", PlayerName(playerid), PlayerName(giveplayerid), month, day, year, hour, minute, second, gtmp);
	ServerLog(string);
	KickPlayer(giveplayerid, "");
    }
   	else
    {
	format(string, sizeof(string), "That player is not active.");
	SystemMessage(playerid, string);
	}
    return 1;
}



dcmd_say(playerid, params[])
{
	if (!IsPlayerAdmin(playerid))
	{
	SystemMessage(playerid, "You are not Administrator.");
	return 1;
	}
	new string[MAX_STRING];
    strmid(gtmp, params, 4, strlen(params));
	if(!strlen(gtmp))
	SendClientMessage(playerid, COLOR_SYSTEM, "Correct usage: '/say [text]'");
    else
	{
    format(string, sizeof(string), "%s: %s", PlayerName(playerid), gtmp);
    printf(string);
    SendClientMessageToAll(COLOR_ADMINISTRATOR, string);
	}
    return 1;
}



dcmd_banip(playerid, params[])
{
	new index = 0;
    gtmp = strtok(params, index);
	if (!IsPlayerAdmin(playerid))
	{
	SystemMessage(playerid, "You are not Administrator.");
	return 1;
	}
    if(!strlen(gtmp))
	{
	SystemMessage(playerid, "Correct usage: '/banip [playername] [reason]'");
	return 1;
	}
	new string[MAX_STRING];
	new second, minute, hour, day, month, year;
	giveplayerid = ReturnUser(gtmp);
	gtmp = strtok(params, index);
	if (IsPlayerConnected(giveplayerid))
	{
	format(string, sizeof(string), "You have been IP banned by Administrator %s. (Reason: \"%s\")", PlayerName(playerid), gtmp);
	SendClientMessage(giveplayerid, COLOR_SYSTEM, string);
	format(string, sizeof(string), "Player %s has been IP banned by Administrator %s. (Reason: \"%s\")", PlayerName(giveplayerid), PlayerName(playerid), gtmp);
	SendClientMessageToAll(COLOR_SYSTEM, string);
	format(string, sizeof(string), "%s has been IP banned by Administrator %s. (Reason: \"%s\")", PlayerName(giveplayerid), PlayerName(playerid), gtmp);
	print(string);
	gettime(hour, minute, second);
	getdate(year, month, day);
	format(string,sizeof(string),"Player %s IP banned player %s on %d/%d/%d at %d:%d:%d. (Reason: \"%s\")", PlayerName(playerid), PlayerName(giveplayerid), month, day, year, hour, minute, second, gtmp);
	ServerLog(string);
	BanPlayer(giveplayerid, "");
    }
   	else
    {
	format(string, sizeof(string), "That player is not active.");
	SendClientMessage(playerid, COLOR_SYSTEM, string);
	}
    return 1;
}



dcmd_unbanip(playerid, params[])
{
	if (!IsPlayerAdmin(playerid))
	{
	SystemMessage(playerid, "You are not Administrator.");
	return 1;
	}
    if(!strlen(params)) return SystemMessage(playerid, "Correct usage: '/unbanip [ip]'");
    new string[MAX_STRING];
	format(string, sizeof(string), "IP %s unbanned.", params);
    SystemMessage(playerid, string);
    format(string, sizeof(string), "unbanip %s", params);
	SendRconCommandEx(0, string);
	return 1;
}



dcmd_freeze(playerid, params[])
{
	new index = 0;
    gtmp = strtok(params, index);
	if (!IsPlayerAdmin(playerid))
	{
	SystemMessage(playerid, "You are not Administrator.");
	return 1;
	}
    if(!strlen(gtmp))
	{
	SystemMessage(playerid, "Correct usage: '/freeze [playername] [reason]'");
	return 1;
	}
	new string[MAX_STRING];
	new second, minute, hour, day, month, year;
    giveplayerid = ReturnUser(gtmp);
    gtmp = strtok(params, index);
	if (IsPlayerConnected(giveplayerid))
	{
    format(string, sizeof(string), "You have been freezed by Administrator %s. (Reason: \"%s\")", PlayerName(playerid), gtmp);
    SystemMessage(giveplayerid, string);
	FreezePlayer(giveplayerid, "");
    format(string, sizeof(string), "Player %s has been freezed by Administrator %s. (Reason: \"%s\")", PlayerName(giveplayerid), PlayerName(playerid), gtmp);
    SystemMessageToAll(string);
	format(string, sizeof(string), "%s has been freezed by Administrator %s. (Reason: \"%s\")", PlayerName(giveplayerid), PlayerName(playerid), gtmp);
	print(string);
	gettime(hour, minute, second);
	getdate(year, month, day);
	format(string, sizeof(string), "Player %s freezed player %s on %d/%d/%d at %d:%d:%d. (Reason: \"%s\")", PlayerName(playerid), PlayerName(giveplayerid), month, day, year, hour, minute, second, gtmp);
	ServerLog(string);
    }
   	else
    {
	format(string, sizeof(string), "That player is not active.");
	SystemMessage(playerid, string);
	}
    return 1;
}



dcmd_unfreeze(playerid, params[])
{
	new index = 0;
    gtmp = strtok(params, index);
	if (!IsPlayerAdmin(playerid))
	{
	SystemMessage(playerid, "You are not Administrator.");
	return 1;
	}
    if(!strlen(gtmp))
	{
	SystemMessage(playerid, "Correct usage: '/unfreeze [playername] [reason]'");
	return 1;
	}
	new string[MAX_STRING];
	new second, minute, hour, day, month, year;
    giveplayerid = ReturnUser(gtmp);
    gtmp = strtok(params, index);
	if (IsPlayerConnected(giveplayerid))
	{
    format(string, sizeof(string), "You have been unfreezed by Administrator %s. (Reason: \"%s\")", PlayerName(playerid), gtmp);
    SystemMessage(giveplayerid, string);
	UnfreezePlayer(giveplayerid, "");
    format(string, sizeof(string), "Player %s has been unfreezed by Administrator %s. (Reason: \"%s\")", PlayerName(giveplayerid), PlayerName(playerid), gtmp);
    SystemMessageToAll(string);
	format(string, sizeof(string), "%s has been unfreezed by Administrator %s. (Reason: \"%s\")", PlayerName(giveplayerid), PlayerName(playerid), gtmp);
	print(string);
	gettime(hour, minute, second);
	getdate(year, month, day);
	format(string, sizeof(string), "Player %s unfreezed player %s on %d/%d/%d at %d:%d:%d. (Reason: \"%s\")", PlayerName(playerid), PlayerName(giveplayerid), month, day, year, hour, minute, second, gtmp);
	ServerLog(string);
    }
   	else
    {
	format(string, sizeof(string), "That player is not active.");
	SystemMessage(playerid, string);
	}
    return 1;
}



dcmd_killplayer(playerid, params[])
{
	new index = 0;
    gtmp = strtok(params, index);
	if (!IsPlayerAdmin(playerid))
	{
	SystemMessage(playerid, "You are not Administrator.");
	return 1;
	}
    if(!strlen(gtmp))
	{
	SystemMessage(playerid, "Correct usage: '/killplayer [playername] [reason]'");
	return 1;
	}
	new string[MAX_STRING];
	new second, minute, hour, day, month, year;
    giveplayerid = ReturnUser(gtmp);
	gtmp = strtok(params, index);
	if (IsPlayerConnected(giveplayerid))
	{
    format(string, sizeof(string), "You have been killed by Administrator %s. (Reason: \"%s\")", PlayerName(playerid), gtmp);
    SystemMessage(giveplayerid, string);
	KillPlayer(giveplayerid, "");
    format(string, sizeof(string), "Player %s has been killed by Administrator %s. (Reason: \"%s\")", PlayerName(giveplayerid), PlayerName(playerid), gtmp);
    SystemMessageToAll(string);
	format(string, sizeof(string), "%s has been killed by Administrator %s. (Reason: \"%s\")", PlayerName(giveplayerid), PlayerName(playerid), gtmp);
	print(string);
	gettime(hour, minute, second);
	getdate(year, month, day);
	format(string, sizeof(string), "Player %s killed player %s on %d/%d/%d at %d:%d:%d. (Reason: \"%s\")", PlayerName(playerid), PlayerName(giveplayerid), month, day, year, hour, minute, second, gtmp);
	ServerLog(string);
    }
   	else
    {
	format(string, sizeof(string), "That player is not active.");
	SystemMessage(playerid, string);
	}
    return 1;
}



dcmd_jail(playerid, params[])
{
	new index = 0;
    gtmp = strtok(params, index);
	if (!IsPlayerAdmin(playerid))
	{
	SystemMessage(playerid, "You are not Administrator.");
	return 1;
	}
    if(!strlen(gtmp))
	{
	SystemMessage(playerid, "Correct usage: '/jail [playername] [reason]'");
	return 1;
	}
	new string[MAX_STRING];
	new second, minute, hour, day, month, year;
    giveplayerid = ReturnUser(gtmp);
	gtmp = strtok(params, index);
	if (IsPlayerConnected(giveplayerid))
	{
    format(string, sizeof(string), "You have been jailed by Administrator %s. (Reason: \"%s\")", PlayerName(playerid), gtmp);
    SystemMessage(giveplayerid, string);
	JailPlayer(giveplayerid, "");
    format(string, sizeof(string), "Player %s has been jailed by Administrator %s. (Reason: \"%s\")", PlayerName(giveplayerid), PlayerName(playerid), gtmp);
    SystemMessageToAll(string);
	format(string, sizeof(string), "%s has been jailed by Administrator %s. (Reason: \"%s\")", PlayerName(giveplayerid), PlayerName(playerid), gtmp);
	print(string);
	gettime(hour, minute, second);
	getdate(year, month, day);
	format(string, sizeof(string), "Player %s jailed player %s on %d/%d/%d at %d:%d:%d. (Reason: \"%s\")", PlayerName(playerid), PlayerName(giveplayerid), month, day, year, hour, minute, second, gtmp);
	ServerLog(string);
    }
   	else
    {
	format(string, sizeof(string), "That player is not active.");
	SystemMessage(playerid, string);
	}
    return 1;
}



dcmd_unjail(playerid, params[])
{
	new index = 0;
    gtmp = strtok(params, index);
	if (!IsPlayerAdmin(playerid))
	{
	SystemMessage(playerid, "You are not Administrator.");
	return 1;
	}
    if(!strlen(gtmp))
	{
	SystemMessage(playerid, "Correct usage: '/unjail [playername] [reason]'");
	return 1;
	}
	new string[MAX_STRING];
	new second, minute, hour, day, month, year;
    giveplayerid = ReturnUser(gtmp);
	gtmp = strtok(params, index);
	if (IsPlayerConnected(giveplayerid))
	{
    format(string, sizeof(string), "You have been unjailed by Administrator %s. (Reason: \"%s\")", PlayerName(playerid), gtmp);
    SystemMessage(giveplayerid, string);
	UnjailPlayer(giveplayerid, "");
    format(string, sizeof(string), "Player %s has been unjailed by Administrator %s. (Reason: \"%s\")", PlayerName(giveplayerid), PlayerName(playerid), gtmp);
    SystemMessageToAll(string);
	format(string, sizeof(string), "%s has been unjailed by Administrator %s. (Reason: \"%s\")", PlayerName(giveplayerid), PlayerName(playerid), gtmp);
	print(string);
	gettime(hour, minute, second);
	getdate(year, month, day);
	format(string, sizeof(string), "Player %s unjailed player %s on %d/%d/%d at %d:%d:%d. (Reason: \"%s\")", PlayerName(playerid), PlayerName(giveplayerid), month, day, year, hour, minute, second, gtmp);
	ServerLog(string);
    }
   	else
    {
	format(string, sizeof(string), "That player is not active.");
	SystemMessage(playerid, string);
	}
    return 1;
}



dcmd_slap(playerid, params[])
{
	new index = 0;
    gtmp = strtok(params, index);
	if (!IsPlayerAdmin(playerid))
	{
	SystemMessage(playerid, "You are not Administrator.");
	return 1;
	}
    if(!strlen(gtmp))
	{
	SystemMessage(playerid, "Correct usage: '/slap [playername] [reason]'");
	return 1;
	}
	new string[MAX_STRING];
	new second, minute, hour, day, month, year;
    giveplayerid = ReturnUser(gtmp);
	gtmp = strtok(params, index);
	if (IsPlayerConnected(giveplayerid))
	{
    format(string, sizeof(string), "You have been slapped by Administrator %s. (Reason: \"%s\")", PlayerName(playerid), gtmp);
    SystemMessage(giveplayerid, string);
	SlapPlayer(giveplayerid, "");
    format(string, sizeof(string), "Player %s has been slapped by Administrator %s. (Reason: \"%s\")", PlayerName(giveplayerid), PlayerName(playerid), gtmp);
    SystemMessageToAll(string);
	format(string, sizeof(string), "%s has been slapped by Administrator %s. (Reason: \"%s\")", PlayerName(giveplayerid), PlayerName(playerid), gtmp);
	print(string);
	gettime(hour, minute, second);
	getdate(year, month, day);
	format(string, sizeof(string), "Player %s slapped player %s on %d/%d/%d at %d:%d:%d. (Reason: \"%s\")", PlayerName(playerid), PlayerName(giveplayerid), month, day, year, hour, minute, second, gtmp);
	ServerLog(string);
    }
   	else
    {
	format(string, sizeof(string), "That player is not active.");
	SystemMessage(playerid, string);
	}
    return 1;
}



dcmd_mute(playerid, params[])
{
	new index = 0;
    gtmp = strtok(params, index);
	if (!IsPlayerAdmin(playerid))
	{
	SystemMessage(playerid, "You are not Administrator.");
	return 1;
	}
    if(!strlen(gtmp))
	{
	SystemMessage(playerid, "Correct usage: '/mute [playername] [reason]'");
	return 1;
	}
	new string[MAX_STRING];
	new second, minute, hour, day, month, year;
    giveplayerid = ReturnUser(gtmp);
	gtmp = strtok(params, index);
	if (IsPlayerConnected(giveplayerid))
	{
    format(string, sizeof(string), "You have been muted by Administrator %s. (Reason: \"%s\")", PlayerName(playerid), gtmp);
    SystemMessage(giveplayerid, string);
	MutePlayer(giveplayerid, "");
    format(string, sizeof(string), "Player %s has been muted by Administrator %s. (Reason: \"%s\")", PlayerName(giveplayerid), PlayerName(playerid), gtmp);
    SystemMessageToAll(string);
	format(string, sizeof(string), "%s has been muted by Administrator %s. (Reason: \"%s\")", PlayerName(giveplayerid), PlayerName(playerid), gtmp);
	print(string);
	gettime(hour, minute, second);
	getdate(year, month, day);
	format(string, sizeof(string), "Player %s muted player %s on %d/%d/%d at %d:%d:%d. (Reason: \"%s\")", PlayerName(playerid), PlayerName(giveplayerid), month, day, year, hour, minute, second, gtmp);
	ServerLog(string);
    }
   	else
    {
	format(string, sizeof(string), "That player is not active.");
	SystemMessage(playerid, string);
	}
    return 1;
}



dcmd_unmute(playerid, params[])
{
	new index = 0;
    gtmp = strtok(params, index);
	if (!IsPlayerAdmin(playerid))
	{
	SystemMessage(playerid, "You are not Administrator.");
	return 1;
	}
    if(!strlen(gtmp))
	{
	SystemMessage(playerid, "Correct usage: '/unmute [playername] [reason]'");
	return 1;
	}
	new string[MAX_STRING];
	new second, minute, hour, day, month, year;
    giveplayerid = ReturnUser(gtmp);
	gtmp = strtok(params, index);
	if (IsPlayerConnected(giveplayerid))
	{
    format(string, sizeof(string), "You have been unmuted by Administrator %s. (Reason: \"%s\")", PlayerName(playerid), gtmp);
    SystemMessage(giveplayerid, string);
	UnmutePlayer(giveplayerid, "");
    format(string, sizeof(string), "Player %s has been unmuted by Administrator %s. (Reason: \"%s\")", PlayerName(giveplayerid), PlayerName(playerid), gtmp);
    SystemMessageToAll(string);
	format(string, sizeof(string), "%s has been unmuted by Administrator %s. (Reason: \"%s\")", PlayerName(giveplayerid), PlayerName(playerid), gtmp);
	print(string);
	gettime(hour, minute, second);
	getdate(year, month, day);
	format(string, sizeof(string), "Player %s unmuted player %s on %d/%d/%d at %d:%d:%d. (Reason: \"%s\")", PlayerName(playerid), PlayerName(giveplayerid), month, day, year, hour, minute, second, gtmp);
	ServerLog(string);
    }
   	else
    {
	format(string, sizeof(string), "That player is not active.");
	SystemMessage(playerid, string);
	}
    return 1;
}



dcmd_explodeplayer(playerid, params[])
{
	new index = 0;
    gtmp = strtok(params, index);
	if (!IsPlayerAdmin(playerid))
	{
	SystemMessage(playerid, "You are not Administrator.");
	return 1;
	}
    if(!strlen(gtmp))
	{
	SystemMessage(playerid, "Correct usage: '/explodeplayer [playername] [reason]'");
	return 1;
	}
	new string[MAX_STRING];
	new second, minute, hour, day, month, year;
    giveplayerid = ReturnUser(gtmp);
	gtmp = strtok(params, index);
	if (IsPlayerConnected(giveplayerid))
	{
    format(string, sizeof(string), "You have been exploded by Administrator %s. (Reason: \"%s\")", PlayerName(playerid), gtmp);
    SystemMessage(giveplayerid, string);
	ExplodePlayer(giveplayerid, "");
    format(string, sizeof(string), "Player %s has been exploded by Administrator %s. (Reason: \"%s\")", PlayerName(giveplayerid), PlayerName(playerid), gtmp);
    SystemMessageToAll(string);
	format(string, sizeof(string), "%s has been exploded by Administrator %s. (Reason: \"%s\")", PlayerName(giveplayerid), PlayerName(playerid), gtmp);
	print(string);
	gettime(hour, minute, second);
	getdate(year, month, day);
	format(string, sizeof(string), "Player %s exploded player %s on %d/%d/%d at %d:%d:%d. (Reason: \"%s\")", PlayerName(playerid), PlayerName(giveplayerid), month, day, year, hour, minute, second, gtmp);
	ServerLog(string);
    }
   	else
    {
	format(string, sizeof(string), "That player is not active.");
	SystemMessage(playerid, string);
	}
    return 1;
}



dcmd_resetweapons(playerid, params[])
{
	new index = 0;
    gtmp = strtok(params, index);
	if (!IsPlayerAdmin(playerid))
	{
	SystemMessage(playerid, "You are not Administrator.");
	return 1;
	}
    if(!strlen(gtmp))
	{
	SystemMessage(playerid, "Correct usage: '/resetweapons [playername] [reason]'");
	return 1;
	}
	new string[MAX_STRING];
	new second, minute, hour, day, month, year;
    giveplayerid = ReturnUser(gtmp);
	gtmp = strtok(params, index);
	if (IsPlayerConnected(giveplayerid))
	{
    format(string, sizeof(string), "Your all weapons have been reseted by Administrator %s. (Reason: \"%s\")", PlayerName(playerid), gtmp);
    SystemMessage(giveplayerid, string);
	ResetPlayerWeapons(giveplayerid);
    format(string, sizeof(string), "Administrator %s reseted all weapons on player %s. (Reason: \"%s\")", PlayerName(playerid), PlayerName(giveplayerid), gtmp);
    SystemMessageToAll(string);
	format(string, sizeof(string), "Administrator %s reseted all weapons on player %s. (Reason: \"%s\")", PlayerName(playerid), PlayerName(giveplayerid), gtmp);
	print(string);
	gettime(hour, minute, second);
	getdate(year, month, day);
	format(string, sizeof(string), "Player %s reseted all weapons to player %s on %d/%d/%d at %d:%d:%d. (Reason: \"%s\")", PlayerName(playerid), PlayerName(giveplayerid), month, day, year, hour, minute, second, gtmp);
	ServerLog(string);
    }
   	else
    {
	format(string, sizeof(string), "That player is not active.");
	SystemMessage(playerid, string);
	}
    return 1;
}



dcmd_restart(playerid, params[])
{
	#pragma unused params
	if (!IsPlayerAdmin(playerid))
	{
	SystemMessage(playerid, "You are not Administrator.");
	return 1;
	}
	SystemMessageToAll("Current gamemode will restart in 5 seconds.");
	SetTimer("Restart", 5000, 0);
    return 1;
}



dcmd_lockserver(playerid, params[])
{
	#pragma unused params
	if (!IsPlayerAdmin(playerid))
	{
	SystemMessage(playerid, "You are not Administrator.");
	return 1;
	}
	new string[MAX_STRING];
    IsServerLocked = true;
    format(string, sizeof(string), "Server has been locked by Administrator %s.", PlayerName(playerid));
   	SystemMessageToAll(string);
	print(string);
    return 1;
}



dcmd_unlockserver(playerid, params[])
{
	#pragma unused params
	if (!IsPlayerAdmin(playerid))
	{
	SystemMessage(playerid, "You are not Administrator.");
	return 1;
	}
	new string[MAX_STRING];
	IsServerLocked = false;
    format(string, sizeof(string), "Server has been unlocked by Administrator %s.", PlayerName(playerid));
   	SystemMessageToAll(string);
	print(string);
    return 1;
}



dcmd_specplayer(playerid, params[])
{
	new index = 0;
    gtmp = strtok(params, index);
	if (!IsPlayerAdmin(playerid))
	{
	SystemMessage(playerid, "You are not Administrator.");
	return 1;
	}
    if(!strlen(gtmp))
	{
	SystemMessage(playerid, "Correct usage: '/specplayer [playername]'");
	return 1;
	}
	new string[MAX_STRING];
	new second, minute, hour, day, month, year;
	giveplayerid = ReturnUser(gtmp);
	if(IsPlayerConnected(giveplayerid))
	{
	TogglePlayerSpectating(playerid, 1);
	PlayerSpectatePlayer(playerid, giveplayerid);
	SetPlayerInterior(playerid, GetPlayerInterior(giveplayerid));
	gSpectateID[playerid] = giveplayerid;
	gSpectateType[playerid] = ADMIN_SPEC_TYPE_PLAYER;
	gettime(hour, minute, second);
	getdate(year, month, day);
	format(string, sizeof(string), "Player %s started spectating player %s on %d/%d/%d at %d:%d:%d.", PlayerName(playerid), PlayerName(giveplayerid), month, day, year, hour, minute, second);
	ServerLog(string);
	printf(string);
	}
   	else
    {
	format(string, sizeof(string), "That player is not active.");
	SystemMessage(playerid, string);
	}
	return 1;
}



dcmd_specvehicle(playerid, params[])
{
	new index = 0;
    gtmp = strtok(params, index);
    new specvehicleid;
	if (!IsPlayerAdmin(playerid))
	{
	SystemMessage(playerid, "You are not Administrator.");
	return 1;
	}
	if(!strlen(gtmp))
	{
	SystemMessage(playerid, "Correct usage: '/specvehicle [vehicleid]'");
	return 1;
	}
	specvehicleid = strval(gtmp);
	if(specvehicleid < MAX_VEHICLES)
	{
	TogglePlayerSpectating(playerid, 1);
	PlayerSpectateVehicle(playerid, specvehicleid);
	gSpectateID[playerid] = specvehicleid;
	gSpectateType[playerid] = ADMIN_SPEC_TYPE_VEHICLE;
	}
	else
	{
	SystemMessage(playerid, "Correct usage: '/specvehicle [vehicleid]'");
	}
	return 1;
}



dcmd_specoff(playerid, params[])
{
	#pragma unused params
	if (!IsPlayerAdmin(playerid))
	{
	SystemMessage(playerid, "You are not Administrator.");
	return 1;
	}
    TogglePlayerSpectating(playerid, 0);
    gSpectateID[playerid] = INVALID_PLAYER_ID;
    gSpectateType[playerid] = ADMIN_SPEC_TYPE_NONE;
	return 1;
}



dcmd_settime(playerid, params[])
{
	new index = 0;
    gtmp = strtok(params, index);
    new time;
	if (!IsPlayerAdmin(playerid))
	{
	SystemMessage(playerid, "You are not Administrator.");
	return 1;
	}
	if(!strlen(gtmp) || !IsNumeric(gtmp))
	{
	SendClientMessage(playerid, COLOR_SYSTEM, "Correct usage: '/settime [hour]'");
	return 1;
	}
	time = strval(gtmp);
	SetWorldTime(time);
	SystemMessage(playerid, "New time setted.");
	return 1;
}



dcmd_cs(playerid, params[])
{
	new index = 0;
    gtmp = strtok(params, index);
    new skin;
	if (!IsPlayerAdmin(playerid))
	{
	SystemMessage(playerid, "You are not Administrator.");
	return 1;
	}
	if(!strlen(gtmp) || !IsNumeric(gtmp) || IsInvalidSkin(skin))
	{
	SystemMessage(playerid, "Correct usage: '/cs [skinid]'");
	return 1;
	}
	if(skin > 299 || skin < 0)
	{
	SystemMessage(playerid, "Pick a skin from 0-299.");
	return 1;
	}
	skin = strval(gtmp);
	SetPlayerSkin(playerid, skin);
	SystemMessage(playerid, "Skin changed.");
	return 1;
}



dcmd_setweather(playerid, params[])
{
	if (!IsPlayerAdmin(playerid))
	{
	SystemMessage(playerid, "You are not Administrator.");
	return 1;
	}
    if(!strlen(params)) return SystemMessage(playerid, "Correct usage: '/setweather [weatherid]'");
    new string[MAX_STRING];
    new index = 0;
    gtmp = strtok(params, index);
    new toweatherid = strval(gtmp);
    if(toweatherid < 41 && toweatherid > -1)
    {
	format(string, sizeof(string), "Setted new weather. (%d)", toweatherid);
    SystemMessage(playerid, string);
    format(string, sizeof(string), "weather %d", toweatherid);
	SendRconCommandEx(0, string);
	}
	else
	{
	SystemMessage(playerid, "Enter weather id from 0 to 40.");
	}
	return 1;
}



dcmd_setgravity(playerid, params[])
{
	if (!IsPlayerAdmin(playerid))
	{
	SystemMessage(playerid, "You are not Administrator.");
	return 1;
	}
    if(!strlen(params)) return SystemMessage(playerid, "Correct usage: '/setgravity [gravity]'");
    new string[MAX_STRING];
    new index = 0;
    gtmp = strtok(params, index);
    new Float:togravityid = floatstr(gtmp);
    if(togravityid < 41 && togravityid > -1)
    {
	format(string, sizeof(string), "Setted new gravity. (%f)", togravityid);
    SystemMessage(playerid, string);
    format(string, sizeof(string), "gravity %f", togravityid);
	SendRconCommandEx(0, string);
	}
	else
	{
	SystemMessage(playerid, "Enter gravity id from 0 to 40.");
	}
	return 1;
}



dcmd_whois(playerid, params[])
{
    new index = 0;
	new playermoney;
    gtmp = strtok(params, index);
	if (!IsPlayerAdmin(playerid))
	{
	SystemMessage(playerid, "You are not Administrator.");
	return 1;
	}
    if(!strlen(gtmp))
	{
	SystemMessage(playerid, "Correct usage: '/whois [playername]'");
	return 1;
	}
	new string[MAX_STRING];
	giveplayerid = ReturnUser(gtmp);
	if (IsPlayerConnected(giveplayerid))
	{
	playermoney = GetPlayerMoney(giveplayerid);
	format(string, sizeof(string), "Whois (Name: %s, ID: %d, money: $%d)", PlayerName(giveplayerid), giveplayerid, playermoney);
	SystemMessage(playerid, string);
	}
	else
    {
	format(string, sizeof(string), "That player is not active.");
	SystemMessage(playerid, string);
	}
	return 1;
}



dcmd_skick(playerid, params[])
{
	new index = 0;
    gtmp = strtok(params, index);
	if (!IsPlayerAdmin(playerid))
	{
	SystemMessage(playerid, "You are not Administrator.");
	return 1;
	}
    if(!strlen(gtmp))
	{
	SystemMessage(playerid, "Correct usage: '/skick [playername] [reason]'");
	return 1;
	}
	new string[MAX_STRING];
	new second, minute, hour, day, month, year;
    giveplayerid = ReturnUser(gtmp);
	gtmp = strtok(params, index);
	if (IsPlayerConnected(giveplayerid))
	{
    format(string, sizeof(string), "You have been silently kicked by Administrator %s. (Reason: \"%s\")", PlayerName(playerid), gtmp);
    SystemMessage(giveplayerid, string);
	format(string, sizeof(string), "%s has been silently kicked by Administrator %s. (Reason: \"%s\")", PlayerName(giveplayerid), PlayerName(playerid), gtmp);
	print(string);
	gettime(hour, minute, second);
	getdate(year, month, day);
	format(string, sizeof(string), "Player %s silently kicked player %s on %d/%d/%d at %d:%d:%d. (Reason: \"%s\")", PlayerName(playerid), PlayerName(giveplayerid), month, day, year, hour, minute, second, gtmp);
	ServerLog(string);
	KickPlayer(giveplayerid, "");
    }
   	else
    {
	format(string, sizeof(string), "That player is not active.");
	SystemMessage(playerid, string);
	}
    return 1;
}



dcmd_sban(playerid, params[])
{
	new index = 0;
    gtmp = strtok(params, index);
	if (!IsPlayerAdmin(playerid))
	{
	SystemMessage(playerid, "You are not Administrator.");
	return 1;
	}
    if(!strlen(gtmp))
	{
	SystemMessage(playerid, "Correct usage: '/sban [playername] [reason]'");
	return 1;
	}
	new string[MAX_STRING];
	new second, minute, hour, day, month, year;
    giveplayerid = ReturnUser(gtmp);
	gtmp = strtok(params, index);
	if (IsPlayerConnected(giveplayerid))
	{
	format(string, sizeof(string), "You have been silently banned by Administrator %s. (Reason: \"%s\")", PlayerName(playerid), gtmp);
	SystemMessage(giveplayerid, string);
    if(dini_Exists(KICKPORTAL))
    {
    new File:fhandle;
    new temp[256];
    fhandle = fopen(KICKPORTAL, io_append);
    format(temp, sizeof(temp), "\n%s", PlayerName(giveplayerid));
    fwrite(fhandle, temp);
    fclose(fhandle);
    }
	format(string, sizeof(string), "%s has been silently banned by Administrator %s. (Reason: \"%s\")", PlayerName(giveplayerid), PlayerName(playerid), gtmp);
	print(string);
	gettime(hour, minute, second);
	getdate(year, month, day);
	format(string, sizeof(string), "Player %s silently banned player %s on %d/%d/%d at %d:%d:%d. (Reason: \"%s\")", PlayerName(playerid), PlayerName(giveplayerid), month, day, year, hour, minute, second, gtmp);
	ServerLog(string);
	KickPlayer(giveplayerid, "");
    }
   	else
    {
	format(string, sizeof(string), "That player is not active.");
	SystemMessage(playerid, string);
	}
    return 1;
}



dcmd_sbanip(playerid, params[])
{
	new index = 0;
    gtmp = strtok(params, index);
	if (!IsPlayerAdmin(playerid))
	{
	SystemMessage(playerid, "You are not Administrator.");
	return 1;
	}
    if(!strlen(gtmp))
	{
	SystemMessage(playerid, "Correct usage: '/sbanip [playername] [reason]'");
	return 1;
	}
	new string[MAX_STRING];
	new second, minute, hour, day, month, year;
	giveplayerid = ReturnUser(gtmp);
	gtmp = strtok(params, index);
	if (IsPlayerConnected(giveplayerid))
	{
	format(string, sizeof(string), "You have been silently IP banned by Administrator %s. (Reason: \"%s\")", PlayerName(playerid), gtmp);
	SendClientMessage(giveplayerid, COLOR_SYSTEM, string);
	format(string, sizeof(string), "%s has been silently IP banned by Administrator %s. (Reason: \"%s\")", PlayerName(giveplayerid), PlayerName(playerid), gtmp);
	print(string);
	gettime(hour, minute, second);
	getdate(year, month, day);
	format(string,sizeof(string),"Player %s silently IP banned player %s on %d/%d/%d at %d:%d:%d. (Reason: \"%s\")", PlayerName(playerid), PlayerName(giveplayerid), month, day, year, hour, minute, second, gtmp);
	ServerLog(string);
	BanPlayer(giveplayerid, "");
    }
   	else
    {
	format(string, sizeof(string), "That player is not active.");
	SendClientMessage(playerid, COLOR_SYSTEM, string);
	}
    return 1;
}



dcmd_sfreeze(playerid, params[])
{
	new index = 0;
    gtmp = strtok(params, index);
	if (!IsPlayerAdmin(playerid))
	{
	SystemMessage(playerid, "You are not Administrator.");
	return 1;
	}
    if(!strlen(gtmp))
	{
	SystemMessage(playerid, "Correct usage: '/sfreeze [playername] [reason]'");
	return 1;
	}
	new string[MAX_STRING];
	new second, minute, hour, day, month, year;
    giveplayerid = ReturnUser(gtmp);
	gtmp = strtok(params, index);
	if (IsPlayerConnected(giveplayerid))
	{
    format(string, sizeof(string), "You have been silently freezed by Administrator %s. (Reason: \"%s\")", PlayerName(playerid), gtmp);
    SystemMessage(giveplayerid, string);
	FreezePlayer(giveplayerid, "");
	format(string, sizeof(string), "%s has been silently freezed by Administrator %s. (Reason: \"%s\")", PlayerName(giveplayerid), PlayerName(playerid), gtmp);
	print(string);
	gettime(hour, minute, second);
	getdate(year, month, day);
	format(string, sizeof(string), "Player %s silently freezed player %s on %d/%d/%d at %d:%d:%d. (Reason: \"%s\")", PlayerName(playerid), PlayerName(giveplayerid), month, day, year, hour, minute, second, gtmp);
	ServerLog(string);
    }
   	else
    {
	format(string, sizeof(string), "That player is not active.");
	SystemMessage(playerid, string);
	}
    return 1;
}



dcmd_sunfreeze(playerid, params[])
{
	new index = 0;
    gtmp = strtok(params, index);
	if (!IsPlayerAdmin(playerid))
	{
	SystemMessage(playerid, "You are not Administrator.");
	return 1;
	}
    if(!strlen(gtmp))
	{
	SystemMessage(playerid, "Correct usage: '/sunfreeze [playername] [reason]'");
	return 1;
	}
	new string[MAX_STRING];
	new second, minute, hour, day, month, year;
    giveplayerid = ReturnUser(gtmp);
	gtmp = strtok(params, index);
	if (IsPlayerConnected(giveplayerid))
	{
    format(string, sizeof(string), "You have been silently unfreezed by Administrator %s. (Reason: \"%s\")", PlayerName(playerid), gtmp);
    SystemMessage(giveplayerid, string);
	UnfreezePlayer(giveplayerid, "");
	format(string, sizeof(string), "%s has been silently unfreezed by Administrator %s. (Reason: \"%s\")", PlayerName(giveplayerid), PlayerName(playerid), gtmp);
	print(string);
	gettime(hour, minute, second);
	getdate(year, month, day);
	format(string, sizeof(string), "Player %s silently unfreezed player %s on %d/%d/%d at %d:%d:%d. (Reason: \"%s\")", PlayerName(playerid), PlayerName(giveplayerid), month, day, year, hour, minute, second, gtmp);
	ServerLog(string);
    }
   	else
    {
	format(string, sizeof(string), "That player is not active.");
	SystemMessage(playerid, string);
	}
    return 1;
}



dcmd_skillplayer(playerid, params[])
{
	new index = 0;
    gtmp = strtok(params, index);
	if (!IsPlayerAdmin(playerid))
	{
	SystemMessage(playerid, "You are not Administrator.");
	return 1;
	}
    if(!strlen(gtmp))
	{
	SystemMessage(playerid, "Correct usage: '/skillplayer [playername] [reason]'");
	return 1;
	}
	new string[MAX_STRING];
	new second, minute, hour, day, month, year;
    giveplayerid = ReturnUser(gtmp);
	gtmp = strtok(params, index);
	if (IsPlayerConnected(giveplayerid))
	{
    format(string, sizeof(string), "You have been silently killed by Administrator %s. (Reason: \"%s\")", PlayerName(playerid), gtmp);
    SystemMessage(giveplayerid, string);
	KillPlayer(giveplayerid, "");
	format(string, sizeof(string), "%s has been silently killed by Administrator %s. (Reason: \"%s\")", PlayerName(giveplayerid), PlayerName(playerid), gtmp);
	print(string);
	gettime(hour, minute, second);
	getdate(year, month, day);
	format(string, sizeof(string), "Player %s silently killed player %s on %d/%d/%d at %d:%d:%d. (Reason: \"%s\")", PlayerName(playerid), PlayerName(giveplayerid), month, day, year, hour, minute, second, gtmp);
	ServerLog(string);
    }
   	else
    {
	format(string, sizeof(string), "That player is not active.");
	SystemMessage(playerid, string);
	}
    return 1;
}



dcmd_sjail(playerid, params[])
{
	new index = 0;
    gtmp = strtok(params, index);
	if (!IsPlayerAdmin(playerid))
	{
	SystemMessage(playerid, "You are not Administrator.");
	return 1;
	}
    if(!strlen(gtmp))
	{
	SystemMessage(playerid, "Correct usage: '/sjail [playername] [reason]'");
	return 1;
	}
	new string[MAX_STRING];
	new second, minute, hour, day, month, year;
    giveplayerid = ReturnUser(gtmp);
	gtmp = strtok(params, index);
	if (IsPlayerConnected(giveplayerid))
	{
    format(string, sizeof(string), "You have been silently jailed by Administrator %s. (Reason: \"%s\")", PlayerName(playerid), gtmp);
    SystemMessage(giveplayerid, string);
	JailPlayer(giveplayerid, "");
	format(string, sizeof(string), "%s has been silently jailed by Administrator %s. (Reason: \"%s\")", PlayerName(giveplayerid), PlayerName(playerid), gtmp);
	print(string);
	gettime(hour, minute, second);
	getdate(year, month, day);
	format(string, sizeof(string), "Player %s silently jailed player %s on %d/%d/%d at %d:%d:%d. (Reason: \"%s\")", PlayerName(playerid), PlayerName(giveplayerid), month, day, year, hour, minute, second, gtmp);
	ServerLog(string);
    }
   	else
    {
	format(string, sizeof(string), "That player is not active.");
	SystemMessage(playerid, string);
	}
    return 1;
}



dcmd_sunjail(playerid, params[])
{
	new index = 0;
    gtmp = strtok(params, index);
	if (!IsPlayerAdmin(playerid))
	{
	SystemMessage(playerid, "You are not Administrator.");
	return 1;
	}
    if(!strlen(gtmp))
	{
	SystemMessage(playerid, "Correct usage: '/sunjail [playername] [reason]'");
	return 1;
	}
	new string[MAX_STRING];
	new second, minute, hour, day, month, year;
    giveplayerid = ReturnUser(gtmp);
	gtmp = strtok(params, index);
	if (IsPlayerConnected(giveplayerid))
	{
    format(string, sizeof(string), "You have been silently unjailed by Administrator %s. (Reason: \"%s\")", PlayerName(playerid), gtmp);
    SystemMessage(giveplayerid, string);
	UnjailPlayer(giveplayerid, "");
	format(string, sizeof(string), "%s has been silently unjailed by Administrator %s. (Reason: \"%s\")", PlayerName(giveplayerid), PlayerName(playerid), gtmp);
	print(string);
	gettime(hour, minute, second);
	getdate(year, month, day);
	format(string, sizeof(string), "Player %s silently unjailed player %s on %d/%d/%d at %d:%d:%d. (Reason: \"%s\")", PlayerName(playerid), PlayerName(giveplayerid), month, day, year, hour, minute, second, gtmp);
	ServerLog(string);
    }
   	else
    {
	format(string, sizeof(string), "That player is not active.");
	SystemMessage(playerid, string);
	}
    return 1;
}



dcmd_sslap(playerid, params[])
{
	new index = 0;
    gtmp = strtok(params, index);
	if (!IsPlayerAdmin(playerid))
	{
	SystemMessage(playerid, "You are not Administrator.");
	return 1;
	}
    if(!strlen(gtmp))
	{
	SystemMessage(playerid, "Correct usage: '/sslap [playername] [reason]'");
	return 1;
	}
	new string[MAX_STRING];
	new second, minute, hour, day, month, year;
    giveplayerid = ReturnUser(gtmp);
	gtmp = strtok(params, index);
	if (IsPlayerConnected(giveplayerid))
	{
    format(string, sizeof(string), "You have been silently slapped by Administrator %s. (Reason: \"%s\")", PlayerName(playerid), gtmp);
    SystemMessage(giveplayerid, string);
	SlapPlayer(giveplayerid, "");
	format(string, sizeof(string), "%s has been silently slapped by Administrator %s. (Reason: \"%s\")", PlayerName(giveplayerid), PlayerName(playerid), gtmp);
	print(string);
	gettime(hour, minute, second);
	getdate(year, month, day);
	format(string, sizeof(string), "Player %s silently slapped player %s on %d/%d/%d at %d:%d:%d. (Reason: \"%s\")", PlayerName(playerid), PlayerName(giveplayerid), month, day, year, hour, minute, second, gtmp);
	ServerLog(string);
    }
   	else
    {
	format(string, sizeof(string), "That player is not active.");
	SystemMessage(playerid, string);
	}
    return 1;
}



dcmd_smute(playerid, params[])
{
	new index = 0;
    gtmp = strtok(params, index);
	if (!IsPlayerAdmin(playerid))
	{
	SystemMessage(playerid, "You are not Administrator.");
	return 1;
	}
    if(!strlen(gtmp))
	{
	SystemMessage(playerid, "Correct usage: '/smute [playername] [reason]'");
	return 1;
	}
	new string[MAX_STRING];
	new second, minute, hour, day, month, year;
    giveplayerid = ReturnUser(gtmp);
	gtmp = strtok(params, index);
	if (IsPlayerConnected(giveplayerid))
	{
    format(string, sizeof(string), "You have been silently muted by Administrator %s. (Reason: \"%s\")", PlayerName(playerid), gtmp);
    SystemMessage(giveplayerid, string);
	MutePlayer(giveplayerid, "");
	format(string, sizeof(string), "%s has been silently muted by Administrator %s. (Reason: \"%s\")", PlayerName(giveplayerid), PlayerName(playerid), gtmp);
	print(string);
	gettime(hour, minute, second);
	getdate(year, month, day);
	format(string, sizeof(string), "Player %s silently muted player %s on %d/%d/%d at %d:%d:%d. (Reason: \"%s\")", PlayerName(playerid), PlayerName(giveplayerid), month, day, year, hour, minute, second, gtmp);
	ServerLog(string);
    }
   	else
    {
	format(string, sizeof(string), "That player is not active.");
	SystemMessage(playerid, string);
	}
    return 1;
}



dcmd_sunmute(playerid, params[])
{
	new index = 0;
    gtmp = strtok(params, index);
	if (!IsPlayerAdmin(playerid))
	{
	SystemMessage(playerid, "You are not Administrator.");
	return 1;
	}
    if(!strlen(gtmp))
	{
	SystemMessage(playerid, "Correct usage: '/sunmute [playername] [reason]'");
	return 1;
	}
	new string[MAX_STRING];
	new second, minute, hour, day, month, year;
    giveplayerid = ReturnUser(gtmp);
	gtmp = strtok(params, index);
	if (IsPlayerConnected(giveplayerid))
	{
    format(string, sizeof(string), "You have been silently unmuted by Administrator %s. (Reason: \"%s\")", PlayerName(playerid), gtmp);
    SystemMessage(giveplayerid, string);
	UnmutePlayer(giveplayerid, "");
	format(string, sizeof(string), "%s has been silently unmuted by Administrator %s. (Reason: \"%s\")", PlayerName(giveplayerid), PlayerName(playerid), gtmp);
	print(string);
	gettime(hour, minute, second);
	getdate(year, month, day);
	format(string, sizeof(string), "Player %s silently unmuted player %s on %d/%d/%d at %d:%d:%d. (Reason: \"%s\")", PlayerName(playerid), PlayerName(giveplayerid), month, day, year, hour, minute, second, gtmp);
	ServerLog(string);
    }
   	else
    {
	format(string, sizeof(string), "That player is not active.");
	SystemMessage(playerid, string);
	}
    return 1;
}



dcmd_sexplodeplayer(playerid, params[])
{
	new index = 0;
    gtmp = strtok(params, index);
	if (!IsPlayerAdmin(playerid))
	{
	SystemMessage(playerid, "You are not Administrator.");
	return 1;
	}
    if(!strlen(gtmp))
	{
	SystemMessage(playerid, "Correct usage: '/sexplodeplayer [playername] [reason]'");
	return 1;
	}
	new string[MAX_STRING];
	new second, minute, hour, day, month, year;
    giveplayerid = ReturnUser(gtmp);
	gtmp = strtok(params, index);
	if (IsPlayerConnected(giveplayerid))
	{
    format(string, sizeof(string), "You have been silently exploded by Administrator %s. (Reason: \"%s\")", PlayerName(playerid), gtmp);
    SystemMessage(giveplayerid, string);
	ExplodePlayer(giveplayerid, "");
	format(string, sizeof(string), "%s has been silently exploded by Administrator %s. (Reason: \"%s\")", PlayerName(giveplayerid), PlayerName(playerid), gtmp);
	print(string);
	gettime(hour, minute, second);
	getdate(year, month, day);
	format(string, sizeof(string), "Player %s silently exploded player %s on %d/%d/%d at %d:%d:%d. (Reason: \"%s\")", PlayerName(playerid), PlayerName(giveplayerid), month, day, year, hour, minute, second, gtmp);
	ServerLog(string);
    }
   	else
    {
	format(string, sizeof(string), "That player is not active.");
	SystemMessage(playerid, string);
	}
    return 1;
}



dcmd_sresetweapons(playerid, params[])
{
	new index = 0;
    gtmp = strtok(params, index);
	if (!IsPlayerAdmin(playerid))
	{
	SystemMessage(playerid, "You are not Administrator.");
	return 1;
	}
    if(!strlen(gtmp))
	{
	SystemMessage(playerid, "Correct usage: '/sresetweapons [playername] [reason]'");
	return 1;
	}
	new string[MAX_STRING];
	new second, minute, hour, day, month, year;
    giveplayerid = ReturnUser(gtmp);
	gtmp = strtok(params, index);
	if (IsPlayerConnected(giveplayerid))
	{
    format(string, sizeof(string), "Your all weapons have been silently reseted by Administrator %s. (Reason: \"%s\")", PlayerName(playerid), gtmp);
    SystemMessage(giveplayerid, string);
	ResetPlayerWeapons(giveplayerid);
	format(string, sizeof(string), "Administrator %s silently reseted all weapons on player %s. (Reason: \"%s\")", PlayerName(playerid), PlayerName(giveplayerid), gtmp);
	print(string);
	gettime(hour, minute, second);
	getdate(year, month, day);
	format(string, sizeof(string), "Player %s silently reseted all weapons to player %s on %d/%d/%d at %d:%d:%d. (Reason: \"%s\")", PlayerName(playerid), PlayerName(giveplayerid), month, day, year, hour, minute, second, gtmp);
	ServerLog(string);
    }
   	else
    {
	format(string, sizeof(string), "That player is not active.");
	SystemMessage(playerid, string);
	}
    return 1;
}



dcmd_createmoney(playerid, params[])
{
	new index = 0;
    gtmp = strtok(params, index);
    new createmoney;
    new string[MAX_STRING];
	if (!IsPlayerAdmin(playerid))
	{
	SystemMessage(playerid, "You are not Administrator.");
	return 1;
	}
	if(!strlen(params))
	{
	SystemMessage(playerid, "Correct usage: '/createmoney [amount]'");
	return 1;
	}
	if (createmoney < 0)
	{
    SystemMessage(playerid, "Correct usage: '/createmoney [amount]'");
    return 1;
	}
	createmoney = strval(gtmp);
    format(string, sizeof(string), "You created $%d.", createmoney);
    SystemMessage(playerid, string);
    GivePlayerMoney(playerid, createmoney);
    return 1;
}



dcmd_deletemoney(playerid, params[])
{
	new index = 0;
    gtmp = strtok(params, index);
    new deletemoney;
    new string[MAX_STRING];
	if (!IsPlayerAdmin(playerid))
	{
	SystemMessage(playerid, "You are not Administrator.");
	return 1;
	}
	if(!strlen(params))
	{
	SystemMessage(playerid, "Correct usage: '/deletemoney [amount]'");
	return 1;
	}
	if (deletemoney < 0)
	{
    SystemMessage(playerid, "Correct usage: '/deletemoney [amount]'");
    return 1;
	}
	if (deletemoney > GetPlayerMoney(playerid))
	{
    SystemMessage(playerid, "You don't have that much money to delete.");
	return 1;
	}
	deletemoney = strval(gtmp);
    format(string, sizeof(string), "You deleted $%d.", deletemoney);
    SystemMessage(playerid, string);
    GivePlayerMoney(playerid, -deletemoney);
    return 1;
}



dcmd_srestart(playerid, params[])
{
	#pragma unused params
	if (!IsPlayerAdmin(playerid))
	{
	SystemMessage(playerid, "You are not Administrator.");
	return 1;
	}
	SystemMessage(playerid, "Current server gamemode will now silently restart in 5 seconds.");
	SetTimer("Restart", 5000, 0);
    return 1;
}



dcmd_slockserver(playerid, params[])
{
	#pragma unused params
	if (!IsPlayerAdmin(playerid))
	{
	SystemMessage(playerid, "You are not Administrator.");
	return 1;
	}
    IsServerLocked = true;
	SystemMessage(playerid, "You have silently locked server.");
    return 1;
}



dcmd_sunlockserver(playerid, params[])
{
	#pragma unused params
	if (!IsPlayerAdmin(playerid))
	{
	SystemMessage(playerid, "You are not Administrator.");
	return 1;
	}
	IsServerLocked = false;
    SystemMessage(playerid, "You have silently unlocked server.");
    return 1;
}



dcmd_report(playerid, params[])
{
	new index = 0;
    gtmp = strtok(params, index);
    if(!strlen(gtmp))
	{
	SystemMessage(playerid, "Correct usage: '/report [playername] [reason]'");
	return 1;
	}
	new string[MAX_STRING];
	new second, minute, hour, day, month, year;
    giveplayerid = ReturnUser(gtmp);
	gtmp = strtok(params, index);
	if (IsPlayerConnected(giveplayerid))
	{
    format(string, sizeof(string), "Report was sent to currently administrators/moderators online.");
    SystemMessage(giveplayerid, string);
	format(string, sizeof(string), "Report: %s has reported %s. (Reason: \"%s\")", PlayerName(playerid), PlayerName(giveplayerid), gtmp);
    SendMessageToAdministrators(string);
	print(string);
	gettime(hour, minute, second);
	getdate(year, month, day);
	format(string, sizeof(string), "Player %s reported player %s on %d/%d/%d at %d:%d:%d. (Reason: \"%s\")", PlayerName(playerid), PlayerName(giveplayerid), month, day, year, hour, minute, second, gtmp);
	ServerLog(string);
    }
   	else
    {
	format(string, sizeof(string), "That player is not active.");
	SystemMessage(playerid, string);
	}
    return 1;
}



dcmd_changemode(playerid, params[])
{
	if (!IsPlayerAdmin(playerid))
	{
	SystemMessage(playerid, "You are not Administrator.");
	return 1;
	}
	if(!strlen(params)) return SystemMessage(playerid, "Correct usage: '/changemode [gamemodename]'");
    new string[MAX_STRING];
    format(string, sizeof(string), "Changing gamemode to %s.amx", params);
    SystemMessage(playerid, string);
    format(string, sizeof(string), "changemode %s", params);
	SendRconCommandEx(2000, string);
	return 1;
}



dcmd_reloadbans(playerid, params[])
{
    #pragma unused params
	if (!IsPlayerAdmin(playerid))
	{
	SystemMessage(playerid, "You are not Administrator.");
	return 1;
	}
    new string[MAX_STRING];
    format(string, sizeof(string), "samp.ban log reseted.");
    SystemMessage(playerid, string);
    format(string, sizeof(string), "reloadbans");
	SendRconCommandEx(0, string);
	return 1;
}



dcmd_reloadlog(playerid, params[])
{
    #pragma unused params
	if (!IsPlayerAdmin(playerid))
	{
	SystemMessage(playerid, "You are not Administrator.");
	return 1;
	}
    new string[MAX_STRING];
    format(string, sizeof(string), "server_log.txt log reseted.");
    SystemMessage(playerid, string);
    format(string, sizeof(string), "reloadlog");
	SendRconCommandEx(0, string);
	return 1;
}



dcmd_players(playerid, params[])
{
    #pragma unused params
	if (!IsPlayerAdmin(playerid))
	{
	SystemMessage(playerid, "You are not Administrator.");
	return 1;
	}
    new string[MAX_STRING];
	SendRconCommand("players");
	for(new i = 0; i < MAX_PLAYERS; i++)
	{
	if(IsPlayerConnected(i))
    {
	SystemMessageEx(playerid, 0, "     ID     Name   Ping   IP");
	format(string, sizeof(string), "     %d     %s     %d     %s", i, PlayerName(i), PlayerPing(i), PlayerIp(i));
	SystemMessageEx(playerid, 2000, string);
	}
	}
	return 1;
}



dcmd_loadfs(playerid, params[])
{
	if (!IsPlayerAdmin(playerid))
	{
	SystemMessage(playerid, "You are not Administrator.");
	return 1;
	}
    if(!strlen(params)) return SystemMessage(playerid, "Correct usage: '/loadfs [filterscriptname]'");
    new string[MAX_STRING];
	format(string, sizeof(string), "Filterscript %s.amx loaded.", params);
    SystemMessage(playerid, string);
    format(string, sizeof(string), "loadfs %s", params);
	SendRconCommandEx(0, string);
	return 1;
}



dcmd_unloadfs(playerid, params[])
{
	if (!IsPlayerAdmin(playerid))
	{
	SystemMessage(playerid, "You are not Administrator.");
	return 1;
	}
	if(!strlen(params)) return SystemMessage(playerid, "Correct usage: '/unloadfs [filterscriptname]'");
    new string[MAX_STRING];
    format(string, sizeof(string), "Filterscript %s.amx unloaded.", params);
    SystemMessage(playerid, string);
    format(string, sizeof(string), "unloadfs %s", params);
	SendRconCommandEx(0, string);
	return 1;
}

dcmd_reloadfs(playerid, params[])
{
	if (!IsPlayerAdmin(playerid))
	{
	SystemMessage(playerid, "You are not Administrator.");
	return 1;
	}
    if(!strlen(params)) return SystemMessage(playerid, "Correct usage: '/reloadfs [filterscriptname]'");
    new string[MAX_STRING];
    format(string, sizeof(string), "Filterscript %s.amx reloaded.", params);
    SystemMessage(playerid, string);
    format(string, sizeof(string), "reloadfs %s", params);
	SendRconCommandEx(0, string);
	return 1;
}

dcmd_login(playerid, params[]) {
if (!udb_Exists(PlayerName(playerid)))
		return SendClientMessage(playerid,COLOR_SYSTEM,"Account doesn't exist, please use \"/register |password| |number|\"");
if(Player_Logged[playerid])
		return SendClientMessage(playerid,COLOR_SYSTEM,"You are already logged in!");
if (!strlen(params))
		return SendClientMessage(playerid,COLOR_SYSTEM,"Correct usage: \"/login |password|\"");
if (udb_CheckLogin(PlayerName(playerid),params)) {
	Player_Logged[playerid] = 1;
	Free[playerid] = 0;
	Give(playerid);
	return SendClientMessage(playerid,COLOR_SYSTEM,"Successfully authed!");
}
return SendClientMessage(playerid,COLOR_SYSTEM,"Login failed! If you forgot your password use /changepass");
}

dcmd_logout(playerid, params[]) {
if (!udb_Exists(PlayerName(playerid)))
		return SendClientMessage(playerid,COLOR_SYSTEM,"Account doesn't exist, please use \"/register |password| |number|\"");
if(!Player_Logged[playerid])
		return SendClientMessage(playerid,COLOR_SYSTEM,"You arent logged in!");
if (!strlen(params))
		return SendClientMessage(playerid,COLOR_SYSTEM,"Correct usage: \"/logout |password|\"");
if (udb_CheckLogin(PlayerName(playerid),params)) {
	Player_Logged[playerid] = 0;
	Free[playerid] = 1;
	Save(playerid);
	return SendClientMessage(playerid,COLOR_SYSTEM,"Successfully logged out!");
}
return SendClientMessage(playerid,COLOR_SYSTEM,"Logout failed! Wrong password!");
}

dcmd_deleteaccount(playerid, params[]) {
if (!udb_Exists(PlayerName(playerid)))
		return SendClientMessage(playerid,COLOR_SYSTEM,"Account doesn't exist, please use \"/register |password| |number|\"");
if(!Player_Logged[playerid])
		return SendClientMessage(playerid,COLOR_SYSTEM,"You arent logged in!");
if (!strlen(params))
		return SendClientMessage(playerid,COLOR_SYSTEM,"Correct usage: \"/deleteaccount |number|\"");
if (strval(Number(params)) == udb_UserInt(PlayerName(playerid),"Number")) {
	Player_Logged[playerid] = 0;
	Free[playerid] = 1;
	udb_Remove(PlayerName(playerid));
	return SendClientMessage(playerid,COLOR_SYSTEM,"Account deleted!");
}
return SendClientMessage(playerid,COLOR_SYSTEM,"Error! Wrong Number!");
}

dcmd_register(playerid, params[]) {
if (udb_Exists(PlayerName(playerid)))
		return SendClientMessage(playerid,COLOR_SYSTEM,"Account already exists, please use \"/login |password|\"");
new password[256],index;
password = strtok(params,index);
new number[256];
number = strtok(params,index);
if ((!strlen(password)) || (!strlen(number))) {
        SendClientMessage(playerid,COLOR_SYSTEM,"Correct usage: \"/register |password| |number|\"");
        SendClientMessage(playerid,COLOR_SYSTEM,"You need the \"number\" to change your password with \"/changepass\"");
        SendClientMessage(playerid,COLOR_SYSTEM,"Write your number somewhere down, not to forgot it");
        SendClientMessage(playerid,COLOR_SYSTEM,"But you can still change it with \"/changenumber\"");
        return 1; }
udb_Create(PlayerName(playerid),password);
udb_UserSet(PlayerName(playerid),"Number",Number(number));
return SendClientMessage(playerid,COLOR_SYSTEM,"Account successfully created. Login with \"/login |password|\" now.");
}

stock Number(numbers[]) {
new length = strlen(numbers);
new number = 0, numb = 0, nu = 1;
for(new i = 0; i < length; i++)
{
number = number + numbers[i];
numb = number * number / 256;
nu = (numb + number) * nu;
}
new fnumb = nu;
if(fnumb <= 0) {
fnumb = nu - nu - nu; }
new string[128];
format(string,128,"%d",fnumb);
return string;
}

stock Save(playerid) {
if(!Player_Logged[playerid]) return 0;
new string[128];
format(string,sizeof(string),"Team%d_Saved",gTeam[playerid]);
udb_UserSetInt(PlayerName(playerid),string,1);
format(string,sizeof(string),"Team%d_Money",gTeam[playerid]);
udb_UserSetInt(PlayerName(playerid),string,GetPlayerMoney(playerid));
new Weapon[12],WeaponAmmo[12];
for(new i=0;i<12;i++) {
GetPlayerWeaponData(playerid, i, Weapon[i], WeaponAmmo[i]);
format(string,sizeof(string),"Team%d_Weapon%d",gTeam[playerid],i);
udb_UserSetInt(PlayerName(playerid),string,Weapon[i]);
format(string,sizeof(string),"Team%d_Ammo%d",gTeam[playerid],i);
udb_UserSetInt(PlayerName(playerid),string,WeaponAmmo[i]); }
return 1; }

stock Give(playerid) {
if(!Player_Logged[playerid]) return 0;
new string[128];
format(string,sizeof(string),"Team%d_Saved",gTeam[playerid]);
if(!udb_UserInt(PlayerName(playerid),string)) return 0;
udb_UserSetInt(PlayerName(playerid),string,0);
ResetPlayerMoney(playerid);
format(string,sizeof(string),"Team%d_Money",gTeam[playerid]);
GivePlayerMoney(playerid,udb_UserInt(PlayerName(playerid),string));
ResetPlayerWeapons(playerid);
new Weapon[12],WeaponAmmo[12];
for(new i=0;i<12;i++) {
format(string,sizeof(string),"Team%d_Weapon%d",gTeam[playerid],i);
Weapon[i] = udb_UserInt(PlayerName(playerid),string);
format(string,sizeof(string),"Team%d_Ammo%d",gTeam[playerid],i);
WeaponAmmo[i] = udb_UserInt(PlayerName(playerid),string);
GivePlayerWeapon(playerid, Weapon[i], WeaponAmmo[i]); }
return 1; }

public Restart()
{
    GameModeExit();
}



stock SystemMessage(playerid, message[])
{
    if ((IsPlayerConnected(playerid)) && (strlen(message) > 0))
	{
    SendClientMessage(playerid, COLOR_SYSTEM, message);
    }
    return 1;
}



stock SystemMessageEx(playerid, time, message[])
{
    if ((IsPlayerConnected(playerid)) && (strlen(message) > 0))
	{
	Wait(time);
    SystemMessage(playerid, message);
    }
    return 1;
}



stock SystemMessageToAll(message[])
{
    for(new i=0; i<MAX_PLAYERS; i++)
	{
    if ((IsPlayerConnected(i)) && (strlen(message) > 0))
	{
    SendClientMessage(i, COLOR_SYSTEM, message);
    }
    }
    return 1;
}



stock SendMessageToAdministrators(string[])
{
   	for (new i = 0; i < MAX_PLAYERS; i++)
	{
	if (IsPlayerConnected(i))
	{
    if (IsPlayerAdmin(i))
	{
	SystemMessage(i, string);
	}
	}
	}
	return 1;
}



stock PlayerName(playerid)
{
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, MAX_PLAYER_NAME);
    return name;
}



stock PlayerIp(playerid)
{
   	new ip[16];
	GetPlayerIp(playerid, ip, sizeof(ip));
	return ip;
}



stock PlayerPing(playerid)
{
    if (!IsPlayerConnected(playerid)) return 0;
	new ping = GetPlayerPing(playerid);
	return ping;
}



stock ServerLog(message[])
{
    new File:fhnd;
    if (fexist("ServerLog.log.txt"))
	fhnd = fopen("ServerLog.log.txt", io_append);
	else
    fhnd = fopen("ServerLog.log.txt", io_write);
    fwrite(fhnd, message);
    fputchar(fhnd, 13);
    fputchar(fhnd, 10);
    fclose(fhnd);
}



stock KickPlayer(playerid, reason[])
{
    if (IsPlayerConnected(playerid))
	{
    SystemMessage(playerid, reason);
    TogglePlayerControllable(playerid, 0);
    Kick(playerid);
    }
	return 1;
}



stock BanPlayer(playerid, reason[])
{
    if (IsPlayerConnected(playerid))
	{
    SystemMessage(playerid, reason);
    TogglePlayerControllable(playerid, 0);
    Ban(playerid);
    }
	return 1;
}



stock FreezePlayer(playerid, reason[])
{
    if (IsPlayerConnected(playerid))
	{
    SystemMessage(playerid, reason);
    TogglePlayerControllable(playerid, 0);
    }
	return 1;
}



stock UnfreezePlayer(playerid, reason[])
{
    if (IsPlayerConnected(playerid))
	{
    SystemMessage(playerid, reason);
    TogglePlayerControllable(playerid, 1);
    }
	return 1;
}



stock KillPlayer(playerid, reason[])
{
    if (IsPlayerConnected(playerid))
	{
    SystemMessage(playerid, reason);
    SetPlayerHealth(playerid, 0.0);
    }
	return 1;
}



stock JailPlayer(playerid, reason[])
{
    if (IsPlayerConnected(playerid))
	{
	SystemMessage(playerid, reason);
	SetPlayerFacingAngle(playerid, 177.0350);
	SetCameraBehindPlayer(playerid);
	SetPlayerInterior(playerid, 3);
	SetPlayerPos(playerid, 197.7029,174.8801,1003.0234);
    }
	return 1;
}



stock UnjailPlayer(playerid, reason[])
{
    if (IsPlayerConnected(playerid))
	{
	SystemMessage(playerid, reason);
	SpawnPlayer(playerid);
    }
	return 1;
}



stock SlapPlayer(playerid, reason[])
{
    if (IsPlayerConnected(playerid))
	{
	SystemMessage(playerid, reason);
	new Float:phealth;
	GetPlayerHealth(playerid, phealth);
	SetPlayerHealth(playerid, phealth-20);
    }
	return 1;
}



stock MutePlayer(playerid, reason[])
{
    if (IsPlayerConnected(playerid))
	{
	SystemMessage(playerid, reason);
	IsPlayerMuted[playerid] = true;
    }
	return 1;
}



stock UnmutePlayer(playerid, reason[])
{
    if (IsPlayerConnected(playerid))
	{
	SystemMessage(playerid, reason);
	IsPlayerMuted[playerid] = false;
    }
	return 1;
}



stock ExplodePlayer(playerid, reason[])
{
    if (IsPlayerConnected(playerid))
	{
	SystemMessage(playerid, reason);
	new Float:XPOS;
	new Float:YPOS;
	new Float:ZPOS;
	GetPlayerPos(playerid, XPOS, YPOS, ZPOS);
	CreateExplosion(XPOS, YPOS, ZPOS, 3, 5);
    }
	return 1;
}



stock fsearch(filename[], search[], bool:caps = false)
{
    new File:fhandle = fopen(filename, io_read);
	new temp[255];
	while(fread(fhandle, temp))
	{
	StripNewLine(temp);
	if(equal(temp, search, caps)) return true;
	}
	return false;
}



stock IsNumeric(const string[])
{
	for (new i = 0, j = strlen(string); i < j; i++)
	if (string[i] > '9' || string[i] < '0')
    return 0;
	return 1;
}



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 name[MAX_PLAYER_NAME];
	for (new i = 0; i < MAX_PLAYERS; i++)
	{
	if (IsPlayerConnected(i))
	{
	GetPlayerName(i, name, sizeof (name));
	if (strcmp(name, text[pos], true, len) == 0)
	{
	if (len == strlen(name))
	{
	return i;
	}
	else
	{
	count++;
	userid = i;
	}
	}
	}
	}
	if (count != 1)
	{
	if (playerid != INVALID_PLAYER_ID)
	{
	if (count)
	{
	SendClientMessage(playerid, COLOR_SYSTEM, "There are multiple users, enter full playername.");
	}
	else
	{
	SendClientMessage(playerid, COLOR_SYSTEM, "Playername not found.");
	}
	}
	userid = INVALID_PLAYER_ID;
	}
	return userid;
}



stock IsInvalidSkin(skinid)
{
	#define	MAX_BAD_SKINS   22
	new badSkins[MAX_BAD_SKINS] =
	{
	3, 4, 5, 6, 8, 42, 65, 74, 86,
	119, 149, 208, 265, 266, 267,
	268, 269, 270, 271, 272, 273, 289
	};
	for (new i = 0; i < MAX_BAD_SKINS; i++)
	{
    if (skinid == badSkins[i]) return true;
	}
	return false;
}



stock Wait(time)
{
    new stamp = tickcount();
    while (tickcount() - stamp < time){}
    return 1;
}



stock SendRconCommandEx(time, command[])
{
	Wait(time);
    SendRconCommand(command);
	return 1;
}
IsKeyJustDown(key, newkeys, oldkeys)
{
	if((newkeys & key) && !(oldkeys & key)) return 1;
	return 0;
}

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

OnePlayAnim(playerid,animlib[],animname[], Float:Speed, looping, lockx, locky, lockz, lp)
{
	ApplyAnimation(playerid, animlib, animname, Speed, looping, lockx, locky, lockz, lp);
}

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

LoopingAnim(playerid,animlib[],animname[], Float:Speed, looping, lockx, locky, lockz, lp)
{
    gPlayerUsingLoopingAnim[playerid] = 1;
    ApplyAnimation(playerid, animlib, animname, Speed, looping, lockx, locky, lockz, lp);
    TextDrawShowForPlayer(playerid,txtAnimHelper);
}

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

StopLoopingAnim(playerid)
{
	gPlayerUsingLoopingAnim[playerid] = 0;
    ApplyAnimation(playerid, "CARRY", "crry_prtial", 4.0, 0, 0, 0, 0, 0);
}

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

PreloadAnimLib(playerid, animlib[])
{
	ApplyAnimation(playerid,animlib,"null",0.0,0,0,0,0,0);
}

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

//GANG ZONES//////////////////
enum GangZone
{
	gzID,
	Float: gzPos[4],
	gzColor
}
new GangZones[][ GangZone ] = {
	{ INVALID_GANG_ZONE, {2215.0, -1888.0, 2647.0, -1613.0}, 0x7FFF00AA },
	{ INVALID_GANG_ZONE, {2216.0, -2155.0, 2842.0, -1895.0}, 0x228B22AA },
	{ INVALID_GANG_ZONE, {1930.0, -1895.0, 2373.0, -1143.0}, 0x9400D3BE },
	{ INVALID_GANG_ZONE, {1936.0, -1750.0, 2210.0, -1612.0}, 0x9400D3BE },
	{ INVALID_GANG_ZONE, {1854.0, -1612.0, 1930.0, -1146.0}, 0x9400D3BE },
	{ INVALID_GANG_ZONE, {2379.0, -1611.0, 2914.0, -1155.0}, 0xFFD700BE },
	{ INVALID_GANG_ZONE, {2640.0, -1891.0, 2917.0, -1606.0}, 0x7FFF00AA },
	{ INVALID_GANG_ZONE, {1643.0, -2191.0, 2210.0, -1916.0}, 0x00FFFFAA },
	{ INVALID_GANG_ZONE, {1689.0, -1930.0, 1917.0, -1726.0}, 0x00FFFFAA },
	{ INVALID_GANG_ZONE, {1378.0, -1884.0, 1682.0, -1593.0}, 0xF8F8FFAA },
	{ INVALID_GANG_ZONE, {1059.0, -2362.0, 1622.0, -1880.0}, 0xB2180EAA },
	{ INVALID_GANG_ZONE, {800.0, -1316.0, 1164.0, -948.0}, 0x006400AA }
};

////////////////------------FINISH-------------------///////////////////////////


// This is a comment
// uncomment the line below if you want to write a filterscript
//#define FILTERSCRIPT

#if defined FILTERSCRIPT

public OnFilterScriptInit()
{
	print("\n--------------------------------------");
	print(" lsrpg 2.0 by ryder");
	print("--------------------------------------\n");
	return 1;
}

public OnFilterScriptExit()
{
	return 1;
}

#else

main()
{
	print("\n----------------------------------");
	print(" lsrpg 2.0");
	print("----------------------------------\n");
}

#endif

forward UpdateSpeed(); //Speedo
forward checkvehicles(); //fuelsystem out 9z

#define RESPAWN_DELAY 1000*60*60*24*7 //that is the millyseconds time from a week

public OnGameModeInit()
{
SetTimer("UpdateSpeed",1000, 1);
SetTimer("checkvehicles",10*1000,1);
dini_Create(KICKPORTAL);
for( new gz = 0; gz < sizeof( GangZones ); gz ++ )
GangZones[ gz ][ gzID ] = GangZoneCreate( GangZones[ gz ][ gzPos ][ 0 ], GangZones[ gz ][ gzPos ][ 1 ], GangZones[ gz ][ gzPos ][ 2 ], GangZones[ gz ][ gzPos ][ 3 ]);
AllowInteriorWeapons(1);
ShowNameTags(1);
ShowPlayerMarkers(1);
LimitGlobalChatRadius(20);
SetGameModeText("Los Santos RPG ");
/////////--------------------------------------- PLAYERS AND VEHICLES ---------------------------------------
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
//GSF
AddPlayerClassEx(TEAM_GSF,107,2504.8635,-1681.5569,13.5469,43.6004,5,1,22,1000,0,0); // GROVE 1         0
AddPlayerClassEx(TEAM_GSF,105,2507.7454,-1656.2866,13.5938,140.7148,5,1,22,1000,0,0); // GROVE 2        1
AddPlayerClassEx(TEAM_GSF,106,2471.9355,-1686.7643,13.5078,318.0416,5,1,22,1000,0,0); // GROVE 3         2
AddPlayerClassEx(TEAM_GSF,0,2402.1687,-1720.7233,13.6129,173.4200,5,1,22,1000,0,0); // GROVE denise      3
AddPlayerClassEx(TEAM_GSF,269,2520.0242,-1678.6260,14.9160,89.9041,5,1,22,1000,0,0); // smoke             4
AddPlayerClassEx(TEAM_GSF,270,2521.0171,-1660.8926,14.5228,89.5674,5,1,22,1000,0,0); // sweet            5
AddPlayerClassEx(TEAM_GSF,271,2486.7397,-1648.8441,13.7364,182.6049,5,1,22,1000,0,0); // ryder             6
// SBF
AddPlayerClassEx(TEAM_SBF,105,2757.3625,-1973.6833,13.5491,249.2766,5,1,22,1000,0,0); // SBF             7
AddPlayerClassEx(TEAM_SBF,106,2781.1648,-1969.7759,13.5469,95.1883,5,1,22,1000,0,0); // SBF            8
//TDF
AddPlayerClassEx(TEAM_TDF,107,816.9675,-1102.7007,25.7918,270.0667,5,1,22,1000,0,0); // TDF           9
AddPlayerClassEx(TEAM_TDF,195,816.9675,-1102.7007,25.7918,270.0667,5,1,22,1000,0,0); // TDF          10
//IB
AddPlayerClassEx(TEAM_IB,102,2148.9341,-1590.6155,14.3516,229.8826,5,1,22,1000,0,0); // IB           11
AddPlayerClassEx(TEAM_IB,104,2154.8113,-1590.1639,14.3404,211.3958,5,1,22,1000,0,0); // IB           12
AddPlayerClassEx(TEAM_IB,25,2154.8113,-1590.1639,14.3404,211.3958,5,1,22,1000,0,0); // IB leader       13
//JB
AddPlayerClassEx(TEAM_JB,103,2222.3970,-1162.3694,25.7331,0.6266,5,1,22,1000,0,0); // JB         14
AddPlayerClassEx(TEAM_JB,104,2222.3857,-1161.3032,25.7331,0.6266,5,1,22,1000,0,0); // JB       15
AddPlayerClassEx(TEAM_JB,21,2222.3857,-1161.3032,25.7331,0.6266,5,1,22,1000,0,0); // JB leader         16
//GPB
AddPlayerClassEx(TEAM_GPB,104,1893.6083,-1267.6418,13.5483,301.6991,5,1,22,1000,0,0); // GPB         17
AddPlayerClassEx(TEAM_GPB,102,1896.9882,-1245.1707,14.6015,332.4061,5,1,22,1000,0,0); // GPB        18
AddPlayerClassEx(TEAM_GPB,22,1896.9882,-1245.1707,14.6015,332.4061,5,1,22,1000,0,0); // GPB leader          19
//VAGOS
AddPlayerClassEx(TEAM_VAGOS,108,2812.9231,-1181.1145,25.2773,261.4674,5,1,22,1000,0,0); // VA{GOS        20
AddPlayerClassEx(TEAM_VAGOS,109,2828.1106,-1176.8861,24.9823,176.8666,5,1,22,1000,0,0); // VA{GOS        21
AddPlayerClassEx(TEAM_VAGOS,110,2808.3313,-1186.7542,25.3492,283.0876,5,1,22,1000,0,0); // VA{GOS        22
AddPlayerClassEx(TEAM_VAGOS,67,2808.3313,-1186.7542,25.3492,283.0876,5,1,22,1000,0,0); // VA{GOS leader        23
//VLA
AddPlayerClassEx(TEAM_VLA,114,1875.2196,-2032.3409,13.5469,262.6701,5,1,22,1000,0,0); // VLA         24
AddPlayerClassEx(TEAM_VLA,115,1882.6469,-2015.7955,13.5469,172.7425,5,1,22,1000,0,0); // VLA      25
AddPlayerClassEx(TEAM_VLA,116,1891.2505,-2028.2875,13.5469,77.7291,5,1,22,1000,0,0); // VLA       26
AddPlayerClassEx(TEAM_VLA,292,1803.9237,-2120.7065,13.5543,348.7318,4,1,22,1000,0,0); // VLA caesar        27
//MAFIA
AddPlayerClassEx(TEAM_MAFIA,112,1133.0685,-2036.7955,69.0078,271.8445,5,1,22,1000,0,0); // MAFIA        28
AddPlayerClassEx(TEAM_MAFIA,125,1128.4366,-2030.7986,69.5522,229.9180,5,1,22,1000,0,0); // MAFIA      29
AddPlayerClassEx(TEAM_MAFIA,127,1142.0017,-2034.1729,69.3950,219.2188,5,1,22,1000,0,0); // MAFIA       30
AddPlayerClassEx(TEAM_MAFIA,113,1142.0017,-2034.1729,69.3950,219.2188,5,1,22,1000,0,0); // MAFIA leader      31
//DEALERS
AddPlayerClassEx(TEAM_DEALERS,28,2072.7671,-1706.9442,13.5547,276.8531,5,1,22,1110,0,0); // DEALERS       32
AddPlayerClassEx(TEAM_DEALERS,30,2070.4534,-1698.4158,13.5469,217.8966,5,1,22,1110,0,0); // DEALERS      33
AddPlayerClassEx(TEAM_DEALERS,29,2070.7581,-1698.2499,13.5469,258.0262,5,1,22,2220,0,0); // DEALERS       34
//TAXI DRIVERS
AddPlayerClassEx(TEAM_TAXI,47,1771.1969,-1896.0669,13.5553,271.7669,0,0,0,0,0,0); // taxi driver         35
AddPlayerClassEx(TEAM_TAXI,48,1765.3810,-1895.2075,13.5623,274.0575,0,0,0,0,0,0); // {{TAXI DRIVER     36
//AGENTS
AddPlayerClassEx(TEAM_AGENT,280,1548.6659,-1675.5718,14.6243,92.1933,0,0,0,0,0,0); // cop          37
AddPlayerClassEx(TEAM_AGENT,286,1539.7017,-1685.0393,5.8906,225.5384,0,0,0,0,0,0); // fbi        38
AddPlayerClassEx(TEAM_AGENT,285,1542.0367,-1707.9775,5.8906,5.9933,0,0,0,0,0,0); // swat       39
AddPlayerClassEx(TEAM_AGENT,265,1541.4971,-1675.7941,13.5527,88.7466,0,0,0,0,0,0); // tempenny....-cop leader...       40
AddPlayerClassEx(TEAM_AGENT,266,1541.4971,-1675.7941,13.5527,88.7466,0,0,0,0,0,0); // pulaski fbi leader       41
AddPlayerClassEx(TEAM_AGENT,267,1541.4971,-1675.7941,13.5527,88.7466,0,0,0,0,0,0); // hernandez swat leader      42
//MEDIC
AddPlayerClassEx(TEAM_MEDICS,274,2028.3730,-1420.7222,16.9922,180.0000,22,11111110,0,0,0,0); // medic       43
//FIREMAN
AddPlayerClassEx(TEAM_FIREMAN,277,1754.3419,-1456.8888,13.5469,0.0215,22,1111110,0,0,0,0); // fireman      44
//Civil
AddPlayerClass(19,1022.0859,-1131.8976,23.8281,182.7467,0,0,0,0,0,0); // civ         45
AddPlayerClass(21,1022.0859,-1131.8976,23.8281,182.7467,0,0,0,0,0,0); // civ       46
AddPlayerClass(23,-2073.8828,-2305.8289,30.6250,73.9203,0,0,0,0,0,0); // civ        47
AddPlayerClass(56,1022.0859,-1131.8976,23.8281,182.7467,0,0,0,0,0,0); // civ        48
AddPlayerClass(67,1022.0977,-1132.1409,23.8281,182.7467,0,0,0,0,0,0); // civ         49
AddPlayerClass(93,-2073.8828,-2305.8289,30.6250,73.9203,0,0,0,0,0,0); // civ      50
AddPlayerClass(100,1022.0977,-1132.1409,23.8281,182.7467,0,0,0,0,0,0); // civ       51
AddPlayerClass(293,1022.0977,-1132.1409,23.8281,182.7467,0,0,0,0,0,0); // civ         52
AddPlayerClass(296,1022.0977,-1132.1409,23.8281,182.7467,0,0,0,0,0,0); // civ        53
//TRIADS
AddPlayerClassEx(TEAM_TRIADS,117,1776.2922,-2060.3223,13.5969,253.8613,5,1,22,1000,0,0); // 9z 54
AddPlayerClassEx(TEAM_TRIADS,120,1776.2922,-2060.3223,13.5969,253.8613,5,1,22,1000,0,0); // 9z 55
AddPlayerClassEx(TEAM_TRIADS,121,1776.2922,-2060.3223,13.5969,253.8613,5,1,22,1000,0,0); // 9z 56
AddPlayerClassEx(TEAM_TRIADS,122,1776.2922,-2060.3223,13.5969,253.8613,5,1,22,1000,0,0); // 9z 57
AddPlayerClassEx(TEAM_TRIADS,123,1283.0187,-831.2125,83.1406,167.5786,5,1,22,1000,0,0); // 9z 58[
//GOG
AddPlayerClass(120,2743.8376,-2453.2925,13.8623,270.9513,29,300,23,30000,30,100000); // gog player 1
AddPlayerClass(118,2750.3086,-2453.5171,13.8623,88.4446,29,300,23,30000,30,100000); // gog player 2
AddPlayerClass(294,2750.3086,-2453.5171,13.8623,88.4446,29,300000000,23,300000,30,100000); // Gog player 3
//RAPPERS
AddPlayerClassEx(TEAM_RAPPERS,293,1776.2922,-2060.3223,13.5969,253.8613,5,1,22,1000,0,0); // rappers
AddPlayerClassEx(TEAM_RAPPERS,297,1776.2922,-2060.3223,13.5969,253.8613,5,1,22,1000,0,0); // rappers
AddPlayerClassEx(TEAM_RAPPERS,143,1776.2922,-2060.3223,13.5969,253.8613,5,1,22,1000,0,0); // rappers
AddStaticVehicleEx(415,2787.8628,-2409.9304,13.4040,180.0386,0,0,-1); // gog Cheetah 1
AddStaticVehicleEx(415,2787.8726,-2423.9670,13.4053,358.6582,0,0,-1); // gog Cheetah 2
AddStaticVehicleEx(579,2768.7659,-2394.8320,13.5708,179.6194,0,0,-1); // gog Huntley
AddStaticVehicleEx(415,2779.2996,-2425.4001,13.4066,1.5343,0,0,-1); // gogCheetah 3
AddStaticVehicleEx(415,2779.1997,-2409.9880,13.4077,178.9850,0,0,-1); // gog Cheetah 4
AddStaticVehicleEx(451,-2069.1460,-2307.6436,30.3318,56.2642,3,3,-1); // RYDER AND ANGEL TURISMO
AddStaticVehicleEx(522,-2067.7852,-2304.5940,30.1967,56.1770,3,0,-1); // RYDER AND ANGEL NRG-500
AddStaticVehicleEx(492,2396.5425,-1718.5740,13.3933,178.2665,77,26,RESPAWN_DELAY); // denise car
AddStaticVehicleEx(492,2390.0869,-1717.4995,13.3846,0.5289,77,26,RESPAWN_DELAY); // denise car
AddStaticVehicleEx(402,2433.9395,-1223.2955,24.9976,179.7309,22,22,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(402,2426.0176,-1223.6011,25.1504,356.1075,22,22,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(402,2413.3420,-1222.7642,24.7995,175.6471,22,22,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(402,2417.9009,-1223.3092,24.9240,355.1198,22,22,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(507,1010.0806,-1122.1390,23.7243,182.7661,53,53,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(507,1033.4128,-1124.7350,23.7150,173.3834,53,53,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(522,1015.4860,-1137.7081,23.1892,181.6760,39,106,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(522,1019.7894,-1137.4663,23.2168,238.5446,39,106,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(522,1014.0588,-1137.1908,23.1564,122.5976,39,106,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(558,1255.5413,-1567.0249,13.0989,266.1339,117,1,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(536,2769.4087,-2409.0215,13.3403,91.1774,86,86,RESPAWN_DELAY); // CU car
AddStaticVehicleEx(536,2770.1533,-2427.1802,13.3790,91.4486,86,86,RESPAWN_DELAY); // CU car
AddStaticVehicleEx(536,2767.2708,-2387.6130,13.3442,177.8063,86,86,RESPAWN_DELAY); // CU car
AddStaticVehicleEx(536,2763.1218,-2386.2783,13.3703,182.1283,86,86,RESPAWN_DELAY); // CU car
AddStaticVehicleEx(484,2758.6570,-2585.1941,0.3876,88.3847,86,86,RESPAWN_DELAY); // CU boat
AddStaticVehicleEx(493,2735.1343,-2584.2954,0.0245,95.3313,1,86,RESPAWN_DELAY); // CU jetmax
AddStaticVehicleEx(558,1237.3530,-1567.5299,13.0968,268.7478,117,1,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(560,2758.6001,-2385.3948,13.3382,181.0967,86,86,RESPAWN_DELAY); // CU sultan
AddStaticVehicleEx(560,2751.2654,-2386.8269,13.3524,91.5089,86,86,RESPAWN_DELAY); // CU sultan
AddStaticVehicleEx(560,2735.6169,-2385.2646,13.3382,84.2530,86,86,RESPAWN_DELAY); // CU sultan
AddStaticVehicleEx(493,2717.9583,-2575.3406,0.2102,182.4455,1,86,RESPAWN_DELAY); // CU jetmax 2
AddStaticVehicleEx(558,1350.2471,-1592.1581,13.1136,345.2943,117,1,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(492,2509.4736,-1671.9489,13.2100,346.2102,77,26,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(492,2503.2410,-1680.4686,13.2341,304.1318,77,26,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(452,-647.4509,865.9659,-0.4840,222.2812,0,1,RESPAWN_DELAY); // my house boat
AddStaticVehicleEx(473,-661.7325,876.4396,-0.2208,225.0287,0,5,RESPAWN_DELAY); // my houses boat
AddStaticVehicleEx(506,-710.6799,940.0555,12.1172,86.9393,6,6,RESPAWN_DELAY); // my houses car
AddStaticVehicleEx(487,-671.2629,950.9543,12.3103,87.4203,26,57,RESPAWN_DELAY); // my houses helicopter
AddStaticVehicleEx(581,-704.9951,943.3447,12.0115,87.2701,58,1,RESPAWN_DELAY); // my houses bike
AddStaticVehicleEx(560,-699.5308,971.2503,12.0022,89.1755,1,1,RESPAWN_DELAY); // my houses car
AddStaticVehicleEx(603,-699.8239,960.4799,12.1732,88.2002,18,1,RESPAWN_DELAY); // my houses car phoex
AddStaticVehicleEx(600,2473.2542,-1694.8076,13.2268,0.2611,32,8,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(492,2481.7488,-1749.6366,13.3679,179.6749,24,55,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(412,2185.0552,-1672.4351,14.2248,346.6241,9,1,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(522,2065.2112,-1919.8438,13.1082,359.3012,8,82,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(522,2061.6035,-1919.6749,13.1381,358.7743,36,105,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(522,2059.1333,-1904.5369,13.1141,180.0664,7,79,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(522,2056.1875,-1904.6534,13.1137,180.0014,6,25,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(522,2052.7546,-1903.9202,13.1176,190.0316,6,25,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(463,1778.2463,-1933.3545,12.9001,17.1633,22,22,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(463,1783.5579,-1933.9890,12.9072,340.6100,19,19,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(463,1789.3726,-1933.9818,12.9160,344.1854,11,11,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(463,1799.7192,-1933.9382,12.9143,14.3657,7,7,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(463,1804.2371,-1933.9073,12.9352,2.9981,84,84,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(420,1777.1263,-1914.5627,13.1761,268.5413,6,1,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(420,1777.4238,-1908.3613,13.1669,270.4548,6,1,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(420,1790.6564,-1887.4019,13.1806,185.3167,6,1,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(522,1362.1049,-1299.4346,12.9229,1.9685,6,25,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(522,1362.3126,-1287.4401,12.9433,1.0249,6,25,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(522,1361.9771,-1268.7168,12.9518,1.0270,6,25,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(411,2095.2598,-1816.8915,13.1099,91.3783,64,1,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(411,2096.0801,-1796.5238,13.1130,92.0036,64,1,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(411,2306.8801,-1672.6086,13.9234,1.9341,64,1,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(411,1041.0049,-1053.4695,31.4302,358.1641,86,1,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(411,2480.1567,-1654.2008,13.1171,89.4203,86,1,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(411,2468.2600,-1654.0465,13.1213,90.2590,86,1,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(507,1467.0616,-1737.8209,13.2867,270.4333,0,53,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(507,1500.4504,-1737.3063,13.2875,268.7834,0,53,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(507,1245.6056,-2042.4135,59.6631,271.6053,0,53,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(507,1245.6853,-2030.7070,59.6608,272.1241,0,53,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(412,2730.4990,-1969.2571,13.3845,93.4275,25,8,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(412,2685.3926,-2018.1790,13.3799,358.6017,25,8,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(412,2684.9404,-1991.0355,13.3905,176.1313,25,8,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(412,2645.1685,-1988.8271,13.3907,181.1885,25,8,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(507,1245.7789,-2025.7737,59.6573,267.9813,0,53,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(507,1245.5681,-2019.7970,59.6630,274.6642,0,53,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(507,1245.7529,-2014.3885,59.6585,268.1952,0,53,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(507,1245.6136,-2009.4916,59.6568,268.4240,0,53,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(507,1278.0127,-2012.9108,58.7351,177.2117,0,53,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(507,1277.8994,-2025.5847,58.7770,180.2386,0,53,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(507,1277.9633,-2041.8345,58.8394,180.0902,0,53,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(507,1421.8026,-1897.3334,13.5966,267.6123,0,53,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(507,1431.0376,-1894.8718,13.5871,93.9105,0,53,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(507,1154.5386,-2020.0546,68.8249,274.4378,0,53,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(507,1196.3558,-2019.3011,68.8300,270.8478,0,53,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(507,1150.2074,-2052.5823,68.8237,271.4042,0,53,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(507,1193.3081,-2054.4944,68.8292,267.4916,0,53,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(507,1303.4390,-1871.3048,13.3749,3.3129,0,53,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(522,1230.6094,-1285.5740,13.0157,86.1650,6,25,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(522,1190.9436,-1136.7208,23.2766,89.7687,6,25,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(522,2158.7854,-1804.0933,12.9477,269.6484,6,25,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(522,2158.0198,-1798.3594,12.9267,271.3267,6,25,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(522,2156.4324,-1792.8213,12.9618,124.7061,6,25,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(522,1972.0088,-2261.6963,13.1163,166.6745,1,1,RESPAWN_DELAY); // airport stunter bike
AddStaticVehicleEx(522,1969.0459,-2263.5039,13.1167,171.1957,1,1,RESPAWN_DELAY); // airport stunter bike
AddStaticVehicleEx(522,1976.6311,-2264.7188,13.1148,151.7469,1,1,RESPAWN_DELAY); // airport stunter bike
AddStaticVehicleEx(522,2298.4800,-1771.1615,13.1212,2.8443,6,25,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(492,1784.3458,-1888.2610,13.1742,180.1388,77,26,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(492,1777.1033,-1903.8136,13.1689,270.7585,77,26,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(492,1354.0901,-1753.8790,13.1407,358.5203,77,26,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(507,1347.5269,-1753.9019,13.1817,358.6396,118,53,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(439,1862.0162,-1615.9841,13.3213,90.8054,65,79,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(439,1833.0117,-1616.1946,13.2829,88.2063,65,79,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(439,1742.1029,-1628.1204,13.4472,270.7336,65,79,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(439,1766.6711,-1692.0347,13.3305,90.1919,43,21,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(567,1764.9250,-1700.7059,13.2951,89.3460,97,1,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(567,1673.9342,-1596.3551,13.2845,268.6042,97,1,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(439,1585.2043,-1596.4220,13.3877,90.5294,43,21,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(439,1553.4742,-1596.0156,13.2789,91.5402,43,21,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(497,1556.8464,-1609.8888,13.5745,89.4261,0,1,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(497,1576.9924,-1610.0094,13.5555,90.1014,0,0,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(497,1593.9246,-1609.9436,13.5794,88.1628,0,0,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(461,1413.3169,-1648.1896,12.9372,264.1776,32,1,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(461,1408.0234,-1647.6500,12.9641,264.1797,32,1,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(461,1402.5439,-1647.0920,12.9617,264.1815,32,1,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(461,1228.0603,-1707.9194,12.9794,93.5091,32,1,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(461,1137.4686,-1621.5248,13.4971,267.2563,32,1,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(462,1136.7219,-1625.3635,13.4650,268.9567,1,3,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(462,1135.3617,-1627.1108,13.4646,265.3320,1,3,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(462,1135.3783,-1628.7764,13.4290,271.9916,1,3,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(507,1560.2490,-1575.7097,13.3727,177.2830,118,53,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(507,2092.8877,-2501.8928,13.3635,79.1115,118,53,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(507,2099.2581,-2510.1284,13.3654,125.1275,118,53,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(507,2116.1768,-2532.8899,13.3737,103.9700,118,53,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(507,2098.4409,-2562.0129,13.3725,110.0523,118,53,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(507,2107.9873,-2574.6924,13.3700,127.1739,118,53,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(481,2051.7856,-1112.9802,24.9489,179.8708,14,1,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(412,2148.9551,-1138.5386,25.3207,267.7213,25,8,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(412,2495.1807,-1996.6882,13.3633,176.8587,25,8,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(412,2451.0613,-2022.8345,13.3840,357.1911,25,8,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(412,2485.6880,-2005.8859,13.1186,90.0161,25,8,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(466,2352.1001,-1159.5697,27.0686,269.6566,68,76,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(466,2469.2915,-1191.9403,37.5264,260.0082,68,76,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(466,2426.1243,-1224.0791,25.0348,358.2866,68,76,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(466,2414.6230,-1223.3635,24.6759,173.1727,68,76,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(404,2429.8784,-1224.2936,25.0696,358.9781,95,105,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(404,2410.7813,-1222.7010,24.6721,169.8056,95,105,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(492,2229.4092,-1341.9756,23.7973,269.5313,71,107,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(492,2229.7498,-1359.5009,23.7702,89.9992,52,69,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(412,2148.5063,-1295.7987,23.7404,87.8968,11,1,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(416,2034.0922,-1447.9608,17.3628,89.9608,1,3,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(481,1945.7159,-1382.5726,18.0875,165.5971,3,3,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(560,1826.8835,-2530.6458,13.2511,109.7617,3,3,RESPAWN_DELAY); // airport
AddStaticVehicleEx(560,1806.9398,-2537.4626,13.2526,20.9488,7,7,RESPAWN_DELAY); // airport
AddStaticVehicleEx(560,1819.5140,-2557.1023,13.2519,263.1807,37,37,RESPAWN_DELAY); // airport
AddStaticVehicleEx(560,1829.4414,-2568.2219,13.2517,127.6986,86,86,RESPAWN_DELAY); // airport
AddStaticVehicleEx(560,1806.6211,-2577.6548,13.2518,230.3935,96,96,RESPAWN_DELAY); // airport
AddStaticVehicleEx(481,1947.5398,-1382.7998,18.0832,185.9267,3,3,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(412,2166.7234,-1680.1931,14.9226,314.8347,9,1,RESPAWN_DELAY); // dealers car
AddStaticVehicleEx(522,1882.4030,-2543.1396,16.7993,270.1660,86,86,RESPAWN_DELAY); // airport nrg
AddStaticVehicleEx(522,1884.8586,-2552.6150,16.8139,84.3065,86,86,RESPAWN_DELAY); // airport nrg
AddStaticVehicleEx(522,1884.9199,-2533.3982,16.8002,90.3405,86,86,RESPAWN_DELAY); // airport nrg
AddStaticVehicleEx(522,1811.6781,-2559.0090,13.1167,149.2181,86,86,RESPAWN_DELAY); // airport nrg
AddStaticVehicleEx(522,1805.9447,-2541.4580,13.1246,330.3124,86,86,RESPAWN_DELAY); // airport nrg
AddStaticVehicleEx(522,1821.1311,-2517.8376,13.1112,54.1908,86,86,RESPAWN_DELAY); // airport nrg
AddStaticVehicleEx(522,1483.2770,-2485.9548,13.1116,207.6182,86,86,RESPAWN_DELAY); // airport nrg
AddStaticVehicleEx(522,1484.2854,-2496.8987,13.1059,184.4272,86,86,RESPAWN_DELAY); // airport nrg
AddStaticVehicleEx(522,1485.2468,-2509.3357,13.2598,184.4222,86,86,RESPAWN_DELAY); // airport nrg
AddStaticVehicleEx(522,1490.9606,-2507.4924,13.1048,12.0836,86,86,RESPAWN_DELAY); // airport nrg
AddStaticVehicleEx(522,1489.4154,-2500.2517,13.1127,12.0281,86,86,RESPAWN_DELAY); // airport nrg
AddStaticVehicleEx(522,1486.7013,-2487.5178,13.2167,12.0357,86,86,RESPAWN_DELAY); // airport nrg
AddStaticVehicleEx(522,1490.6407,-2481.3140,13.0942,267.9429,86,86,RESPAWN_DELAY); // airport nrg
AddStaticVehicleEx(489,1928.4427,-2141.6973,13.7055,181.1695,8,8,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(489,1932.1703,-2141.9907,13.7053,179.5412,37,37,RESPAWN_DELAY); // rancher outside airport
AddStaticVehicleEx(489,1938.0876,-2142.6365,13.7046,177.5321,46,46,RESPAWN_DELAY); // rancher outside airport
AddStaticVehicleEx(489,1942.0961,-2141.7178,13.6993,177.4282,85,85,RESPAWN_DELAY); // rancher outside airport
AddStaticVehicleEx(481,1950.5659,-1384.9231,18.0747,261.2366,3,3,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(481,1953.6101,-1384.8289,18.0911,273.3566,3,3,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(481,1957.3654,-1384.6088,18.0925,273.3641,3,3,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(481,1960.4899,-1387.2046,17.7313,180.7917,3,3,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(481,1957.3607,-1409.8252,13.1248,168.1332,3,3,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(481,1955.4321,-1409.3096,13.1178,184.9360,3,3,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(481,1953.9037,-1408.5774,13.0952,159.4593,3,3,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(462,550.5469,-1738.1912,12.0809,79.4933,1,3,RESPAWN_DELAY); // scuter
AddStaticVehicleEx(462,525.7677,-1734.8905,11.5800,79.7393,1,3,RESPAWN_DELAY); // scuter
AddStaticVehicleEx(462,510.0741,-1733.0361,11.2473,81.2849,1,3,RESPAWN_DELAY); // scuter
AddStaticVehicleEx(462,426.5062,-1816.3809,6.2538,269.2956,1,3,RESPAWN_DELAY); // scuter
AddStaticVehicleEx(462,426.4825,-1813.5914,6.2610,320.4734,1,3,RESPAWN_DELAY); // scuter
AddStaticVehicleEx(462,424.0016,-1813.7693,6.2650,8.0237,1,3,RESPAWN_DELAY); // scuter
AddStaticVehicleEx(462,321.1784,-1809.3850,4.0779,355.8589,1,3,RESPAWN_DELAY); // scuter
AddStaticVehicleEx(462,324.4482,-1809.4653,4.0742,356.5863,1,3,RESPAWN_DELAY); // scuter
AddStaticVehicleEx(462,327.6695,-1808.8711,4.0888,357.5052,1,3,RESPAWN_DELAY); // scuter
AddStaticVehicleEx(462,321.4203,-1789.0562,4.3289,344.2658,1,3,RESPAWN_DELAY); // scuter
AddStaticVehicleEx(462,318.0989,-1788.6653,4.2658,171.8823,1,3,RESPAWN_DELAY); // scuter
AddStaticVehicleEx(462,328.2059,-1788.8815,4.4380,14.8443,1,3,RESPAWN_DELAY); // scuter
AddStaticVehicleEx(462,311.4467,-1808.6483,4.0786,191.3276,1,3,RESPAWN_DELAY); // scuter
AddStaticVehicleEx(462,309.7997,-1808.7791,4.0549,358.3889,1,3,RESPAWN_DELAY); // scuter
AddStaticVehicleEx(462,147.7900,-1878.0256,3.3719,178.7906,1,3,RESPAWN_DELAY); // scuter
AddStaticVehicleEx(462,147.7845,-1884.4702,3.3712,179.3619,1,3,RESPAWN_DELAY); // scuter
AddStaticVehicleEx(466,2066.0945,-1694.4648,13.2637,270.0697,16,76,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(466,2051.4482,-1694.8894,13.2966,271.3654,16,76,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(466,2120.4861,-1780.2268,13.1314,87.3046,16,76,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(466,2120.5957,-1772.4337,13.1337,87.7341,16,76,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(466,2049.3582,-1804.3816,14.5916,87.1614,16,76,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(596,1535.9639,-1675.2435,13.1193,359.6750,0,1,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(427,1585.5477,-1671.9486,6.0148,270.2343,0,1,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(481,1357.5211,-1745.0040,13.0648,348.0356,46,46,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(426,1359.5228,-1748.6891,13.2159,87.3609,7,7,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(426,1280.6613,-1811.0928,13.1269,268.3046,7,7,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(426,1279.6100,-1830.2267,13.1297,89.8411,53,53,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(426,1239.2275,-1817.7532,13.1441,90.0021,62,62,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(437,1158.5135,-1752.7218,13.7490,269.8571,87,7,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(483,1099.0107,-1766.6277,13.3403,270.0108,1,31,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(560,2818.5754,-1182.4656,24.9477,270.7102,6,6,RESPAWN_DELAY); // vago id 3 car
AddStaticVehicleEx(560,2829.2053,-1200.4393,24.3722,4.0435,6,6,RESPAWN_DELAY); // vago id 3 car
AddStaticVehicleEx(560,2828.2378,-1172.5742,24.6939,180.3555,6,6,RESPAWN_DELAY); // vago id 3 car
AddStaticVehicleEx(483,1078.3622,-1760.8436,13.3706,90.8944,1,31,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(542,1077.7792,-1757.8734,13.1441,90.4139,31,93,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(404,1061.9918,-1760.8813,13.1265,90.0074,119,50,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(404,1062.2050,-1746.1315,13.1761,270.0762,123,92,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(558,2500.4966,-1954.1791,13.0501,0.0543,117,1,RESPAWN_DELAY); // near azteca
AddStaticVehicleEx(405,2495.6917,-1953.2698,13.2866,358.9286,25,72,RESPAWN_DELAY); // near azteca
AddStaticVehicleEx(492,2388.9890,-1967.8282,13.2202,271.1953,24,55,RESPAWN_DELAY); // ammunation
AddStaticVehicleEx(561,2366.8191,-1968.5431,13.1147,269.4003,65,79,RESPAWN_DELAY); // ammunation
AddStaticVehicleEx(542,711.8798,-1773.3021,13.3976,72.3889,45,92,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(542,706.5467,-1745.3523,13.7680,70.3432,45,92,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(542,324.9895,-1787.9264,4.5356,359.1671,113,92,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(559,331.1252,-1789.5177,4.5173,180.5318,60,1,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(559,317.9511,-1809.5297,4.1421,359.7718,58,8,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(404,314.5824,-1809.5354,4.2071,359.2963,101,101,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(507,888.9601,-1246.4001,15.4791,275.0970,1,53,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(507,903.5284,-1245.4373,15.4683,273.3017,1,53,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(507,915.5472,-1199.0972,16.8050,171.6797,1,53,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(507,905.6637,-1205.2205,16.8023,89.9397,1,53,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(507,882.9848,-1199.8579,16.8013,177.4649,1,53,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(507,864.3351,-1236.1747,14.6984,342.6369,1,53,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(507,782.9418,-1630.1167,13.2088,272.9499,1,53,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(507,782.6135,-1619.4047,13.2248,270.0449,1,53,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(507,782.7982,-1605.2480,13.2016,271.1443,1,53,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(507,757.0347,-1663.3534,3.9713,178.5611,1,53,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(507,760.2742,-1688.4005,4.0857,80.0338,1,53,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(507,1239.4059,-1813.3901,13.2520,267.7943,1,53,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(507,1289.8888,-1872.0663,13.3708,359.2238,1,53,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(507,1484.4293,-1737.3303,13.2865,269.0813,1,53,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(596,1536.0176,-1665.8423,13.1140,359.6756,0,1,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(596,1604.0659,-1613.2446,13.2296,89.5921,0,1,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(596,1603.5742,-1620.0659,13.2258,87.7646,0,1,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(596,1603.6655,-1627.3278,13.2263,90.3116,0,1,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(596,1585.5762,-1679.2623,5.6193,267.6518,0,1,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(596,1601.1292,-1688.0186,5.6121,86.7144,0,1,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(596,1600.6542,-1696.3505,5.6099,92.2041,0,1,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(596,1595.5790,-1710.2955,5.6096,180.9388,0,1,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(596,1587.1731,-1710.4810,5.6116,177.3497,0,1,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(596,1578.9629,-1710.3514,5.6104,174.0417,0,1,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(427,1559.1625,-1709.8892,6.0225,357.7537,0,1,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(427,1530.4419,-1645.2693,6.0232,180.0288,0,1,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(427,1539.1390,-1645.5629,6.0220,182.4922,0,1,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(427,1534.8289,-1644.7675,6.0223,181.3313,0,1,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(427,1543.9906,-1668.1088,6.0221,90.7110,0,1,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(427,1529.3927,-1685.3884,6.0222,269.2911,0,1,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(420,2360.8904,2169.6528,10.4575,182.1987,79,1,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(420,2360.7083,2161.3828,10.5179,175.5907,79,1,RESPAWN_DELAY); // Unknow
AddStaticVehicleEx(567,2008.7622,-1068.0752,24.4060,242.9323,5,5,RESPAWN_DELAY); // balla low rider
AddStaticVehicleEx(567,2108.1760,-1099.7430,25.0423,249.7168,5,5,RESPAWN_DELAY); // balla low rider
AddStaticVehicleEx(567,2148.6335,-1148.0773,24.3112,274.0414,5,5,RESPAWN_DELAY); // balla low rider
AddStaticVehicleEx(567,2161.2881,-1152.8759,23.8064,88.3823,5,5,RESPAWN_DELAY); // balla low rider
AddStaticVehicleEx(567,2227.8545,-1166.3199,25.6134,95.0130,5,5,RESPAWN_DELAY); // balla low rider
AddStaticVehicleEx(567,2205.9688,-1164.7510,25.5969,87.2466,5,5,RESPAWN_DELAY); // balla low rider
AddStaticVehicleEx(567,2217.0632,-1170.7185,25.5976,268.4218,5,5,RESPAWN_DELAY); // balla low rider
AddStaticVehicleEx(567,2228.9595,-1173.7795,25.6086,268.9460,5,5,RESPAWN_DELAY); // balla low rider
AddStaticVehicleEx(567,2206.0583,-1156.7537,25.6044,268.7458,5,5,RESPAWN_DELAY); // balla low rider
AddStaticVehicleEx(522,-2350.3613,-1604.4323,483.1694,231.8369,0,0,RESPAWN_DELAY); // mt chilliad nrg
AddStaticVehicleEx(522,-2348.9321,-1601.9147,483.1988,254.6339,0,0,RESPAWN_DELAY); // mt chilliad nrg
AddStaticVehicleEx(522,-2347.9502,-1598.6038,483.1813,256.3156,0,0,RESPAWN_DELAY); // mt chilliad nrg
AddStaticVehicleEx(522,-2350.1851,-1611.4749,483.2116,259.7856,0,0,RESPAWN_DELAY); // mt chilliad nrg
AddStaticVehicleEx(522,-2352.3562,-1617.2560,483.2226,265.5250,0,0,RESPAWN_DELAY); // mt chilliad nrg
AddStaticVehicleEx(411,-2343.8997,-1590.8428,483.2981,245.4282,0,0,RESPAWN_DELAY); // mt chilliad infernus
AddStaticVehicleEx(411,-2335.9224,-1581.2151,483.2964,205.9012,0,0,RESPAWN_DELAY); // mt chilliad infernus
AddStaticVehicleEx(411,-2324.7410,-1580.7118,482.9924,159.4174,0,0,RESPAWN_DELAY); // mt chilliad infernus
AddStaticVehicleEx(411,-2320.3435,-1592.3385,483.5248,198.8322,0,0,RESPAWN_DELAY); // mt chilliad infernus
AddStaticVehicleEx(411,-2329.6162,-1671.4810,482.7892,292.6478,0,0,RESPAWN_DELAY); // mt chilliad infernus
AddStaticVehicleEx(411,-2332.5559,-1664.0887,483.2543,295.2818,0,0,RESPAWN_DELAY); // mt chilliad infernus
AddStaticVehicleEx(411,-2319.5718,-1679.9288,482.1171,304.8152,0,0,RESPAWN_DELAY); // mt chilliad infernus
AddStaticVehicleEx(522,1242.2294,-802.8764,83.7129,182.8960,1,1,RESPAWN_DELAY); // triad bike
AddStaticVehicleEx(522,1246.2797,-801.9937,83.7096,168.9569,1,1,RESPAWN_DELAY); // triad bike
AddStaticVehicleEx(522,1251.7448,-803.7132,83.7108,173.9864,1,1,RESPAWN_DELAY); // triad bike
AddStaticVehicleEx(522,1251.9094,-803.4573,83.7135,174.7175,1,1,RESPAWN_DELAY); // triad bike
AddStaticVehicleEx(522,1254.8685,-802.1474,83.7090,179.1199,1,1,RESPAWN_DELAY); // triad bike
AddStaticVehicleEx(448,2106.9031,-1789.3190,13.1519,358.2150,3,6,RESPAWN_DELAY); // pizza
AddStaticVehicleEx(448,2105.0227,-1789.0607,13.1570,358.0796,3,6,RESPAWN_DELAY); // pizza
AddStaticVehicleEx(448,2103.2197,-1789.8490,13.1460,0.0408,3,6,RESPAWN_DELAY); // pizza
AddStaticVehicleEx(593,-1312.7688,-351.5457,14.6150,3.2626,0,1,RESPAWN_DELAY); // plane
AddStaticVehicleEx(513,-1296.6776,-346.6859,14.6893,316.8463,21,36,RESPAWN_DELAY); // plane
AddStaticVehicleEx(513,-1278.4210,-344.4956,14.6868,356.3266,21,34,RESPAWN_DELAY); // plane
AddStaticVehicleEx(592,-1209.9679,-365.7631,15.3583,324.9923,1,1,RESPAWN_DELAY); // plane
AddStaticVehicleEx(577,-1330.4445,-237.2720,14.0721,301.0864,8,7,RESPAWN_DELAY); // plane
AddStaticVehicleEx(511,-1507.0541,-210.2058,15.5268,28.3184,4,90,RESPAWN_DELAY); // plane
AddStaticVehicleEx(553,-1301.1248,-13.8756,15.4515,130.0032,61,74,RESPAWN_DELAY); // plane
AddStaticVehicleEx(425,-1185.4777,25.8169,14.7275,40.8217,43,0,RESPAWN_DELAY); // helicopter
AddStaticVehicleEx(563,-1223.2317,-12.2888,14.8536,42.9915,1,6,RESPAWN_DELAY); // helicopter
AddStaticVehicleEx(488,-1247.3689,-30.1994,14.3259,44.6666,2,26,RESPAWN_DELAY); // helicopter
AddStaticVehicleEx(407,1707.1375,-1880.4851,13.8030,358.7370,0,1,RESPAWN_DELAY); // Fireman
AddStaticVehicleEx(407,1715.1674,-1880.6558,13.8042,0.4868,0,1,RESPAWN_DELAY); // Fireman
AddStaticVehicleEx(407,1723.1316,-1880.9922,13.7983,358.3455,0,1,RESPAWN_DELAY); // Fireman
AddStaticVehicleEx(416,2002.0166,-1415.9475,17.1415,178.8373,1,3,RESPAWN_DELAY); // Medic car pos
AddStaticVehicleEx(416,1999.5286,-1447.6718,13.7099,180.8121,1,3,RESPAWN_DELAY); // Medic Car Pos
////////////////////////////////////////////////////////////////////////////////////////
AddStaticVehicleEx(405,2749.9055,-1944.3514,13.4192,270.2492,25,72,RESPAWN_DELAY); // SBF CARS
AddStaticVehicleEx(405,2789.0710,-1944.6254,13.4192,89.8124,25,72,RESPAWN_DELAY); // SBF CARS
AddStaticVehicleEx(405,2774.6714,-1958.2850,13.2790,358.6135,25,72,RESPAWN_DELAY); // SBF CARS
AddStaticVehicleEx(405,2774.3635,-1974.8141,13.3172,358.8106,25,72,RESPAWN_DELAY); // SBF CARS
AddStaticVehicleEx(405,2764.7920,-1960.2313,13.2851,180.1022,25,72,RESPAWN_DELAY); // SBF CARS
AddStaticVehicleEx(405,2764.6377,-1973.3301,13.3134,180.7366,25,72,RESPAWN_DELAY); // SBF CARS
AddStaticVehicleEx(492,841.7800,-1107.9669,24.0409,268.1334,52,51,RESPAWN_DELAY); // TDF cars
AddStaticVehicleEx(492,826.7529,-1116.1721,23.8404,269.6248,52,69,RESPAWN_DELAY); // TDF cars
AddStaticVehicleEx(412,826.4153,-1119.9208,23.8269,266.8371,51,51,RESPAWN_DELAY); // TDF cars
AddStaticVehicleEx(492,826.7070,-1090.5864,24.0371,268.5440,52,69,RESPAWN_DELAY); // TDF cars
AddStaticVehicleEx(492,846.4177,-1090.5952,24.0822,267.9980,52,69,RESPAWN_DELAY); // TDF cars
AddStaticVehicleEx(412,859.0115,-1108.2073,24.0989,269.2705,51,69,RESPAWN_DELAY); // TDF cars
AddStaticVehicleEx(412,879.3654,-1108.4360,24.0625,269.4043,51,69,RESPAWN_DELAY); // TDF cars
AddStaticVehicleEx(492,929.3876,-1082.3567,24.0959,90.3149,52,69,RESPAWN_DELAY); // TDF cars
AddStaticVehicleEx(412,929.0203,-1074.5577,24.1521,89.8061,52,51,RESPAWN_DELAY); // TDF cars
AddStaticVehicleEx(492,930.2562,-1066.9530,24.0977,90.6516,51,69,RESPAWN_DELAY); // TDF cars
AddStaticVehicleEx(412,930.5954,-1112.5671,24.0239,358.7614,52,69,RESPAWN_DELAY); // TDF cars
AddStaticVehicleEx(412,935.6783,-1124.4586,23.8290,359.9500,52,51,RESPAWN_DELAY); // TDF cars
AddStaticVehicleEx(492,925.2986,-1124.6670,23.7689,359.9592,52,69,RESPAWN_DELAY); // TDF cars
AddStaticVehicleEx(517,2140.2898,-1296.8726,23.6994,270.0907,37,36,RESPAWN_DELAY); // GPB car
AddStaticVehicleEx(517,2096.0037,-1320.4563,25.0015,0.1556,47,41,RESPAWN_DELAY); // GPB car
AddStaticVehicleEx(517,2003.5481,-1265.9197,23.7531,93.3413,47,41,RESPAWN_DELAY); // GPB car
AddStaticVehicleEx(517,1890.5645,-1255.5747,13.3223,90.4237,47,41,RESPAWN_DELAY); // GPB car
AddStaticVehicleEx(517,1925.9803,-1130.5183,24.8973,87.8764,51,72,RESPAWN_DELAY); // GPB car
AddStaticVehicleEx(517,1920.2222,-1202.6964,19.8059,183.6786,51,72,RESPAWN_DELAY); // GPB car
AddStaticVehicleEx(535,1886.6602,-2021.4132,13.1650,179.4555,97,1,RESPAWN_DELAY); // VLA Car
AddStaticVehicleEx(567,1887.3606,-2034.3295,13.3389,176.9685,118,118,RESPAWN_DELAY); // VLA Car
AddStaticVehicleEx(536,1879.2140,-2021.3356,13.1374,180.2649,97,1,RESPAWN_DELAY); // VLA Car
AddStaticVehicleEx(536,1826.7422,-2021.6102,13.1237,180.1522,71,96,RESPAWN_DELAY); // VLA Car
AddStaticVehicleEx(535,1819.3323,-2021.0568,13.1577,180.6327,97,1,RESPAWN_DELAY); // VLA Car
AddStaticVehicleEx(567,1793.5605,-2129.0671,13.3034,1.6550,3,3,RESPAWN_DELAY); // VLA Car
AddStaticVehicleEx(510,1318.0968,1571.5688,10.4061,264.2781,39,106,RESPAWN_DELAY); // MTB
AddStaticVehicleEx(510,1313.4844,1572.0309,10.4127,264.2781,39,106,RESPAWN_DELAY); // MTB
AddStaticVehicleEx(510,1308.8375,1572.4960,10.4129,264.2781,39,106,RESPAWN_DELAY); // MTB
AddStaticVehicleEx(510,1320.4626,1574.2860,10.4105,270.2254,39,106,RESPAWN_DELAY); // MTB
AddStaticVehicleEx(510,1316.3022,1574.4329,10.4129,260.0628,39,106,RESPAWN_DELAY); // MTB
AddStaticVehicleEx(510,1309.9208,1575.5518,10.4126,260.0607,39,106,RESPAWN_DELAY); // MTB
AddStaticVehicleEx(510,1321.1290,1578.6682,10.4109,264.0579,39,106,RESPAWN_DELAY); // MTB
AddStaticVehicleEx(510,1318.1262,1578.9803,10.4121,264.0570,39,106,RESPAWN_DELAY); // MTB
AddStaticVehicleEx(510,1313.2716,1579.4849,10.4127,264.0570,39,106,RESPAWN_DELAY); // MTB
AddStaticVehicleEx(510,1321.7632,1583.7825,10.3984,288.8374,39,106,RESPAWN_DELAY); // MTB
AddStaticVehicleEx(510,1314.3760,1584.6433,10.4124,259.6135,39,106,RESPAWN_DELAY); // MTB
AddStaticVehicleEx(510,1308.0930,1585.6625,10.4127,262.4604,39,106,RESPAWN_DELAY); // MTB
AddStaticVehicleEx(510,1959.5135,-1398.9009,13.9662,120.1702,3,3,RESPAWN_DELAY); // MTB
AddStaticVehicleEx(510,1954.2911,-1396.7449,13.9739,56.8054,3,3,RESPAWN_DELAY); // MTB
AddStaticVehicleEx(510,1949.2919,-1394.3101,14.3596,68.4576,3,3,RESPAWN_DELAY); // MTB
AddStaticVehicleEx(510,1943.9386,-1382.3313,18.1121,150.4486,3,3,RESPAWN_DELAY); // MTB
AddStaticVehicleEx(510,1943.7755,-1377.9335,18.1209,180.8729,3,3,RESPAWN_DELAY); // MTB
AddStaticVehicleEx(510,1952.6382,-1381.5995,18.1140,229.7330,3,3,RESPAWN_DELAY); // MTB
AddStaticVehicleEx(510,1961.2625,-1383.1212,18.1004,212.2775,3,3,RESPAWN_DELAY); // MTB
/////////////////////////----------PICKUPS------------------////////////////////////////
AddStaticPickup(1239,2,2486.2549,-1645.6023,14.0772);//GS GANG HOUSE!
AddStaticPickup(1239,2,228.1979,1024.0778,1084.0078);//GS GANG HOUSE EXIT!
AddStaticPickup(1239,2,1894.8296,-2020.7561,13.5469);//AZTECA GANG HOUSE ENTER PICKUP
AddStaticPickup(1239,2,234.3373,1064.5544,1084.2111); // AZTECAS GANG HOUSE EXIT PICKUP
AddStaticPickup(1239,2,2149.8740,-1585.2020,14.3438);//BALLAS GANGHOUSE PICKUP ENTER
AddStaticPickup(1239,2,965.4288,-53.0039,1001.1246); // BALLAS GANG HOUSE EXIT PICKUP
AddStaticPickup(1239,2,2521.0132,-1323.5347,33.6023); // VAGOS ENTER PICKUP
AddStaticPickup(1239,2,140.0936,1369.3534,1083.8644); // VAGOS EXIT PICKUP
AddStaticPickup(1271,2,241.9594,1019.6509,1084.0177); // GSF HOUSE PICKUP
AddStaticPickup(1239,2,1498.6069,-1580.9783,13.5498);//TRIADS CASINO ENTER PICKUP
AddStaticPickup(1239,2,2007.8716,1018.0707,994.4688);//TRIADS CASINO EXIT PICKUP
AddStaticPickup(1239,2,2523.1733,-1679.1488,15.4970); // SWEE{T enter PICKUP
AddStaticPickup(1239,2,2524.4021,-1679.4211,1015.4986);//SWEET EXIT PICKUP
AddStaticPickup(1239,2,2459.5112,-1690.1550,13.5439); // ryder house [enter pickup
AddStaticPickup(1239,2,2464.4436,-1698.2927,1013.5078); // ryder house exit pickup
AddStaticPickup(1239,2,2402.3733,-1716.4259,13.7037); // DENISE HOUSE ENTER PICKUP
AddStaticPickup(1239,2,243.8228,306.6342,999.1558); // DENISE HOUSE EXIT PICKUP
AddStaticPickup(1239,2,1942.1545,-2061.5940,13.5469); // VLA BAR enter pickup
AddStaticPickup(1239,2,1211.8986,-27.8601,1000.9531);// VLA BAR exit pickup
AddStaticPickup(1239,2,2751.9456,-1962.5953,13.5469);//SBF chillin place enter pickup
AddStaticPickup(1239,2,-100.5115,-23.6495,1000.7188);//SBF chillin place exit pickup
AddStaticPickup(1239,2,1884.0795,-1271.2534,13.5469); // GPB enter pickup
AddStaticPickup(1239,2,1205.1818,-11.6377,1000.9219); // GPB place exit pickup
AddStaticPickup(1239,2,2101.0144,-1360.9211,23.9844);//GPB bar
AddStaticPickup(1239,2,2865.4785,-1457.8939,10.9566);//Vagos Bar
AddStaticPickup(1239,2,1804.1438,-2124.2046,13.9424); // CV enter pickup
AddStaticPickup(1239,2,2324.4163,-1148.9089,1050.7101); // VLA exit pickup
AddStaticPickup(1239,2,2065.4148,-1703.6320,14.1484); // BS enter pickup
AddStaticPickup(1239,2,328.0313,1477.9677,1084.4375); // BS exit pickup
AddStaticPickup(1239,2,1038.3016,-1340.7271,13.7412); // CRASH enter pickup
AddStaticPickup(1239,2,377.2334,-192.4911,1000.6328); // CRASH exit pickup
AddStaticPickup(1239,2,1481.0181,-1770.8140,18.7958); // BANK ICON
AddStaticPickup(1239,2,390.5215,173.8381,1008.3828); // BANK EXIT PICKUP
///////////////////////////-----------------FINISH---------------///////////////////////////////////
SetTimer("PayDay", 3600000, 1);
SetTimer("MoneyGrubScoreUpdate", 1000, 1);
SetTimer("UpdateScores", 10000, 1);
return 1;
}

//-------------------------Speedo----------edited--------------------by R@f A^©---

enum SavePlayerPosEnum {
Float:LastX,
Float:LastY,
Float:LastZ
}

new SavePlayerPos[MAX_PLAYERS][SavePlayerPosEnum];
new Text:Speedo[MAX_PLAYERS];
new UpdateSeconds;

new CarName[][] =
{
    "Landstalker", "Bravura", "Buffalo", "Linerunner", "Perrenial", "Sentinel",
	"Dumper", "Firetruck", "Trashmaster", "Stretch", "Manana", "Infernus",
	"Voodoo", "Pony", "Mule", "Cheetah", "Ambulance", "Leviathan", "Moonbeam",
    "Esperanto", "Taxi", "Washington", "Bobcat", "Whoopee", "BF Injection",
	"Hunter", "Premier", "Enforcer", "Securicar", "Banshee", "Predator", "Bus",
	"Rhino", "Barracks", "Hotknife", "Trailer", "Previon", "Coach", "Cabbie",
	"Stallion", "Rumpo", "RC Bandit", "Romero", "Packer", "Monster", "Admiral",
	"Squalo", "Seasparrow", "Pizzaboy", "Tram", "Trailer", "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", "Boxvillde", "Benson", "Mesa", "RC Goblin",
	"Hotring Racer A", "Hotring Racer B", "Bloodring Banger", "Rancher", "Super GT",
	"Elegant", "Journey", "Bike", "Mountain Bike", "Beagle", "Cropduster", "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", "Hustler", "Intruder", "Primo",
	"Cargobob", "Tampa", "Sunrise", "Merit", "Utility", "Nevada", "Yosemite",
	"Windsor", "Monster", "Monster", "Uranus", "Jester", "Sultan", "Stratium",
	"Elegy", "Raindance", "RC Tiger", "Flash", "Tahoma", "Savanna", "Bandito",
    "Freight Flat", "Streak Carriage", "Kart", "Mower", "Dune", "Sweeper",
	"Broadway", "Tornado", "AT-400", "DFT-30", "Huntley", "Stafford", "BF-400",
	"News Van", "Tug", "Trailer", "Emperor", "Wayfarer", "Euros", "Hotdog", "Club",
	"Freight Box", "Trailer", "Andromada", "Dodo", "RC Cam", "Launch", "Police Car",
 	"Police Car", "Police Car", "Police Ranger", "Picador", "S.W.A.T", "Alpha",
 	"Phoenix", "Glendale", "Sadler", "Luggage", "Luggage", "Stairs", "Boxville",
 	"Tiller", "Utility Trailer"
};

stock SpeedoText(playerid) {
Speedo[playerid] = TextDrawCreate(320.00, 380.00,"\
						\n\n   \n\n~n~\
						\n\n   \n\n~n~\
						\n\n   \n\n");
TextDrawSetOutline(Speedo[playerid], 1);
TextDrawFont(Speedo[playerid], 3);
TextDrawSetProportional(Speedo[playerid], 2);
TextDrawAlignment(Speedo[playerid], 2); }
stock SpeedoTextShow(playerid) {
TextDrawShowForPlayer(playerid, Speedo[playerid]); }
stock SpeedoTextDestroy(playerid) {
TextDrawDestroy(Speedo[playerid]); }
stock SpeedoTextHide(playerid) {
TextDrawHideForPlayer(playerid,Speedo[playerid]); }

public UpdateSpeed()
{
	new Float:x,Float:y,Float:z;
	new Float:distance,value,string[256];
	new Float:health;

	for(new i=0; i<=MAX_PLAYERS; i++)
	{
		if(IsPlayerConnected(i))
		{
			if(IsPlayerInAnyVehicle(i))
			{
				GetPlayerPos(i, x, y, z);
				GetVehicleHealth(GetPlayerVehicleID(i), health);
				distance = floatsqroot(floatpower(floatabs(floatsub(x,SavePlayerPos[i][LastX])),2)+floatpower(floatabs(floatsub(y,SavePlayerPos[i][LastY])),2)+floatpower(floatabs(floatsub(z,SavePlayerPos[i][LastZ])),2));
				value = floatround(distance * 5000);
				if(UpdateSeconds > 1)
				{
					value = floatround(value / UpdateSeconds);
				}
				new Float:vpercent = 100*(health-250)/750;
				if(vpercent < 0) vpercent = 0.00;
				format(string,sizeof(string),"\
							~g~~h~Vehicle : ~w~~h~%s ~n~\
							~b~~h~MPH : ~w~~h~%d ~y~~h~/ ~b~~h~KM/H : ~w~~h~%d ~n~\
							~r~~h~Vehicle Health: ~w~~h~%.2f ~n~\
							~y~~h~Fuel: ~w~~h~%d",
				CarName[GetVehicleModel(GetPlayerVehicleID(i))-400],floatround(value/1600),floatround(value/1000),vpercent,fuel[GetPlayerVehicleID(i)]);
            	TextDrawSetString(Speedo[i],string);
			}
		}
	SavePlayerPos[i][LastX] = x;
	SavePlayerPos[i][LastY] = y;
	SavePlayerPos[i][LastZ] = z;
	}
}

public OnGameModeExit()
{
	for(new i=0; i<=MAX_PLAYERS; i++)
	{
		if(IsPlayerConnected(i) && IsPlayerInAnyVehicle(i))
		{
			TextDrawDestroy(Speedo[i]);
		}
	}
	return 1;
}

//------------------------Fuel_System-------------------------------------------

public checkvehicles()
{
	for(new i=0;i<=MAX_PLAYERS;i++) {
	    if(IsPlayerConnected(i)) {
	        if((GetPlayerVehicleID(i)!=INVALID_VEHICLE_ID) && (GetPlayerState(i)==PLAYER_STATE_DRIVER)) {
				if(GetVehicleModel(GetPlayerVehicleID(i))!=537&&GetVehicleModel(GetPlayerVehicleID(i))!=481&&GetVehicleModel(GetPlayerVehicleID(i))!=469&&GetVehicleModel(GetPlayerVehicleID(i))!=593&&GetVehicleModel(GetPlayerVehicleID(i))!=519&&GetVehicleModel(GetPlayerVehicleID(i))!=487&&GetVehicleModel(GetPlayerVehicleID(i))!=497) {
				    if(fuel[GetPlayerVehicleID(i)]<=0) {
					    RemovePlayerFromVehicle(i);
					    GameTextForPlayer(i,"~w~Your vehicle ran out of fuel.",5000,3);
				    }

				    else {
				        fuel[GetPlayerVehicleID(i)]--;
				        if(fuel[GetPlayerVehicleID(i)]<=0) {
				        	RemovePlayerFromVehicle(i);
					    	GameTextForPlayer(i,"~w~Your vehicle ran out of fuel.",5000,3);
						}
			        }
				}
		    }
	    }
	}
}

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

public OnPlayerRequestSpawn(playerid)
{
if((Free[playerid]) || (Player_Logged[playerid])) return 1;
else if(udb_Exists(PlayerName(playerid))) {
		GameTextForPlayer(playerid,"Please Login \"/login\"~n~or play free \"/free\"",5000,3);
		return 0; }
else if(!udb_Exists(PlayerName(playerid))) {
		GameTextForPlayer(playerid,"Please Register\"/register\"~n~or play free \"/free\"",5000,3);
		return 0; }

if(GetPlayerSkin(playerid) == 23) {
GameTextForPlayer(playerid, "~r~Ryder only!-Server Owner",2500, 3);
new pname[MAX_PLAYER_NAME];
GetPlayerName(playerid,pname,MAX_PLAYER_NAME);
if(!strcmp("ryder",pname)) return 1;
else return 0; }
if(GetPlayerSkin(playerid) == 93) {
GameTextForPlayer(playerid, "~r~Angel only!",2500, 3);
new pname[MAX_PLAYER_NAME];
GetPlayerName(playerid,pname,MAX_PLAYER_NAME);
if(!strcmp("Angel",pname)) return 1;
else return 0; }
if(GetPlayerSkin(playerid) == 292) {
GameTextForPlayer(playerid, "~r~VLA leader only ~n~ ~r~ [VLA]Francis only!",2500, 3);
new pname[MAX_PLAYER_NAME];
GetPlayerName(playerid,pname,MAX_PLAYER_NAME);
if(!strcmp("[VLA]Francis",pname)) return 1;
else return 0; }
if(GetPlayerSkin(playerid) == 269) {
GameTextForPlayer(playerid, "~r~[GSF]Cripty only!",2500, 3);
new pname[MAX_PLAYER_NAME];
GetPlayerName(playerid,pname,MAX_PLAYER_NAME);
if(!strcmp("[GSF]Cripty",pname)) return 1;
else return 0; }
if(GetPlayerSkin(playerid) == 113) {
GameTextForPlayer(playerid, "~r~[Mafia]John_Doe only!Respected Godfather of Tec9",2500, 3);
new pname[MAX_PLAYER_NAME];
GetPlayerName(playerid,pname,MAX_PLAYER_NAME);
if(!strcmp("[Mafia]John_Doe",pname)) return 1;
else return 0; }
return 1;
}

public OnPlayerConnect(playerid)
{
SpeedoText(playerid);
Player_Logged[playerid] = false;
Free[playerid] = false;
GameTextForPlayer(playerid, "~y~ Welcome to ~r~[]Tec9 ~g~ LS RPG[] ",1700, 3);
SendClientMessage(playerid,COLOR_YELLOW,"Welcome to [..:..Tec9 LS-RolePlaying..:..] ");
SendClientMessage(playerid,COLOR_YELLOW,"If you are new check /tutorial /modhelp /about and /rules");
SendClientMessage(playerid,COLOR_YELLOW,"If you want to join official Gangs post on GANGS sections on forum");
SendClientMessage(playerid,COLOR_YELLOW,"If you dont have an account please /register.If you have just /login");
SendClientMessage(playerid,COLOR_YELLOW,"You better check forum at www.tec9clan.tk");
SetPlayerColor(playerid,COLOR_GREY);
/////////MAP ICON////////
SetPlayerMapIcon( playerid, 31, 2486.2549,-1645.6023,14.0772, 62, 0 );//GROVE FAMILLIES
SetPlayerMapIcon( playerid, 30, 1552.0612,-1674.5983,16.1183, 30, 0 );//POLICE HQ
SetPlayerMapIcon( playerid, 29, 1042.5638,-1028.8495,32.1016, 27, 0 );//MOD SHOP
SetPlayerMapIcon( playerid, 27, 1874.1501,-2026.7532,13.5469, 58, 0 );//AZTECAS HQ
SetPlayerMapIcon( playerid, 28, 2149.8740,-1585.2020,14.3438, 59, 0 );//BALLAS
SetPlayerMapIcon( playerid, 26, 2521.0132,-1323.5347,33.6023, 60, 0 );//VAGOS HQ
SetPlayerMapIcon( playerid, 25, 2523.2705,-1679.2445,15.4970, 38, 0 );//sweet house icon
SetPlayerMapIcon( playerid, 24, 2459.6199,-1691.6606,13.5433, 34, 0 );//ryder house icon
SetPlayerMapIcon( playerid, 23, 2402.5566,-1714.2225,14.1328, 21, 0 );//Girlfriend house icon
SetPlayerMapIcon( playerid, 22, 2315.5122,-1645.7513,14.8270, 49, 0 );//GSF bar icon
SetPlayerMapIcon( playerid, 21, 2247.5034,-1666.3179,15.4766, 45, 0 );//binco map icon
SetPlayerMapIcon( playerid, 20, 1834.0580,-1681.6860,13.4474, 48, 0 );//alhambra map icon
SetPlayerMapIcon( playerid, 19, 1498.1639,-1580.7520,13.5498, 44, 0 );//triads casino
SetPlayerMapIcon( playerid, 18, 1133.0685,-2036.7955,69.0078, 25, 0 );//mafia map icon
SetPlayerMapIcon( playerid, 17, 2065.1052,-1703.3047,14.1484, 8 , 0 );//BIG SMOKE MAP ICON
SetPlayerMapIcon( playerid, 16, 2494.2561,-1690.2721,21.8193, 15, 0 );//CJ HOUSE MAP ICON
SetPlayerMapIcon( playerid, 15, 1884.1925,-1271.5706,13.5469, 59, 0 );//BALLAS
SetPlayerMapIcon( playerid, 14, 2222.4700,-1167.6641,25.7331, 59, 0 );//BALLAS
SetPlayerMapIcon( playerid, 13, 2752.6179,-1963.0188,13.5469, 62, 0 );//GROVE FAMILLIES
SetPlayerMapIcon( playerid, 12, 816.9675,-1102.7007,25.7918, 62, 0  );//TDF FAMILLIES
SetPlayerMapIcon( playerid, 11, 1942.1545,-2061.5940,13.5469, 49, 0  );//vla bar
SetPlayerMapIcon( playerid, 10, 1801.2740,-2124.8215,13.5469, 13, 0 );//AZTECAS HQ
SetPlayerMapIcon( playerid, 9 , 2101.0425,-1360.4677,23.9844, 49, 0 );//GPB bar
SetPlayerMapIcon( playerid, 8, 2809.8613,-1183.5681,25.3167, 60, 0  );//VAGOS HQ 2
SetPlayerMapIcon( playerid, 7, 2865.4785,-1457.8939,10.9566, 49, 0  );//vagos bar
SetPlayerMapIcon( playerid, 6, 1038.3016,-1340.7271,13.7412, 16, 0  );//CRASH map icon
SetPlayerMapIcon( playerid, 5, 1481.0181,-1770.8140,18.7958, 52, 0  );//CRASH map icon
gPlayerUsingLoopingAnim[playerid] = 0;
gPlayerAnimLibsPreloaded[playerid] = 0;
///////////////////////////
new pName[30], string[256];
GetPlayerName(playerid, pName, 30);
format(string, 256,"*** %s has joined [..:..Tec9 LS-RolePlaying..:..] ***.", pName);
SendClientMessageToAll(COLOR_GREEN,string);
if(udb_Exists(PlayerName(playerid))) format(string,sizeof(string),"Your name \"%s\" is already registered! Please Login",pName);
else format(string,sizeof(string),"Welcome \"%s\"! We hope you have great fun here",pName);
SendClientMessage(playerid,COLOR_WHITE,string);

    new second, minute, hour, day, month, year;
    IsPlayerMuted[playerid] = 0;

   	if(fsearch("KickedNames.txt", PlayerName(playerid), true))
    {
    SystemMessage(playerid, "Your name has been banned on this server.");
	gettime(hour, minute, second);
	getdate(year, month, day);
	format(string, sizeof(string), "Player %s tried to join server with banned name on %d/%d/%d at %d:%d:%d.", PlayerName(playerid), month, day, year, hour, minute, second);
	ServerLog(string);
	KickPlayer(playerid, "");
	}
	else if(IsServerLocked == true)
    {
    SystemMessage(playerid, "    Server is currently locked down by Administrator.");
    SystemMessage(playerid, "    Please try connecting later.");
    KickPlayer(playerid, "");
    }
	return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
	SpeedoTextDestroy(playerid);
	if(Spawned[playerid]) Save(playerid);
	Player_Logged[playerid] = false;
	Free[playerid] = false;
	switch(reason)
		{
			case 0:
					{
                        new pName[30], string[256];
                        GetPlayerName(playerid, pName, 30);
                        format(string, 256,"*** %s has left [..:..Tec9 LS-RolePlaying..:..] (Timeout)***", pName);
                        SendClientMessageToAll(COLOR_GREEN, string);
                	}
			case 1:
                	{
                        new pName[30], string[256];
                        GetPlayerName(playerid, pName, 30);
                        format(string, 256, "*** %s has left [..:..Tec9 LS-RolePlaying..:..] (Quit)***", pName);
                        SendClientMessageToAll(COLOR_GREEN, string);
                	}
			case 2:
                	{
                        new pName[30], string[256];
                        GetPlayerName(playerid, pName, 30);
                        format(string, 256,"*** %s has left [..:..Tec9 LS-RolePlaying..:..] (Kicked)***", pName);
                        SendClientMessageToAll(COLOR_GREEN, string);
                	}
		}
	IsPlayerMuted[playerid] = 0;
	return 1;
}

SetPlayerToTeamColor(playerid) {
	switch(gTeam[playerid]) {
		case TEAM_GSF: SetPlayerColor(playerid,COLOR_GSF);
		case TEAM_SBF: SetPlayerColor(playerid,COLOR_SBF);
		case TEAM_TDF: SetPlayerColor(playerid,COLOR_TDF);
		case TEAM_IB: SetPlayerColor(playerid,COLOR_IB);
		case TEAM_JB: SetPlayerColor(playerid,COLOR_JB);
		case TEAM_GPB: SetPlayerColor(playerid,COLOR_GPB);
		case TEAM_VAGOS: SetPlayerColor(playerid,COLOR_VAGOS);
		case TEAM_VLA: SetPlayerColor(playerid,COLOR_VLA);
		case TEAM_MAFIA: SetPlayerColor(playerid,COLOR_MAFIA);
		case TEAM_DEALERS: SetPlayerColor(playerid,COLOR_DEALER);
		case TEAM_TAXI:SetPlayerColor(playerid,COLOR_TAXI);
		case TEAM_AGENT: SetPlayerColor(playerid,COLOR_AGENTS);
		case TEAM_MEDICS: SetPlayerColor(playerid,COLOR_ME[DIC);
		case TEAM_FIREMAN: SetPlayerColor(playerid,COLOR_FIREMANs);
		case TEAM_CIVS: SetPlayerColor(playerid,COLOR_CIV);
		case TEAM_TRIADS: SetPlayerColor(playerid,COLOR_TRIAD);
        case TEAM_GOG: SetPlayerColor(playerid,COLOR_CYAN);
        case TEAM_RAPPERS: SetPlayerColor(playerid,COLOR_LIGHTBLUE);
		}
}

public OnPlayerSpawn(playerid)
{
Spawned[playerid] = true;
Give(playerid);
SendClientMessage(playerid,COLOR_YELLOW,"You're spawned.Try to dont get back to the hospital bed");
for( new gz = 0; gz < sizeof( GangZones ); gz ++ )
GangZoneShowForPlayer( playerid, GangZones[ gz ][ gzID ], GangZones[ gz ][ gzColor ]);
///////////////-------------SKIN PASSWORD-------------------------------------//////////////
new Float:x,Float:y,Float:z;
GetPlayerPos(playerid,x,y,z);
PlayerPlaySound(playerid,1063,floatround(x),floatround(y),floatround(z));
SetPlayerToTeamColor(playerid);
SetPlayerInterior(playerid,0);
////////////////////////////////////////////////////////////////////////////////////////////////
	if(!gPlayerAnimLibsPreloaded[playerid]) {
   		PreloadAnimLib(playerid,"BOMBER");
   		PreloadAnimLib(playerid,"RAPPING");
    	PreloadAnimLib(playerid,"SHOP");
   		PreloadAnimLib(playerid,"BEACH");
   		PreloadAnimLib(playerid,"SMOKING");
    	PreloadAnimLib(playerid,"FOOD");
    	PreloadAnimLib(playerid,"ON_LOOKERS");
    	PreloadAnimLib(playerid,"DEALER");
		PreloadAnimLib(playerid,"CRACK");
		PreloadAnimLib(playerid,"CARRY");
		PreloadAnimLib(playerid,"COP_AMBIENT");
		PreloadAnimLib(playerid,"PARK");
		PreloadAnimLib(playerid,"INT_HOUSE");
		PreloadAnimLib(playerid,"FOOD");
		gPlayerAnimLibsPreloaded[playerid] = 1;
	}
	return 1;
	}

public OnPlayerDeath(playerid, killerid, reason)
{
	Save(playerid);
	Spawned[playerid] = false;
// if they die whilst performing a looping anim, we should reset the state
	if(gPlayerUsingLoopingAnim[playerid]) {
        gPlayerUsingLoopingAnim[playerid] = 0;
        TextDrawHideForPlayer(playerid,txtAnimHelper);
	}
	GameTextForPlayer(playerid, "~w~ Wasted", 2600, 3);
	if(killerid == INVALID_PLAYER_ID) {
        SendDeathMessage(INVALID_PLAYER_ID,playerid,reason);
	} else {
        if(gTeam[killerid] != gTeam[playerid]) {
			// Valid kill
	    	SendDeathMessage(killerid,playerid,reason);
			SetPlayerScore(killerid,GetPlayerScore(killerid)+1);
			GivePlayerMoney(killerid, 3500);
		} else {
			//Team Killer!
			new warning[256];
			format(warning, sizeof(warning), "Be careful! You have been punished for teamkilling.");
			SendClientMessage(killerid, 0xFFFF00AA, warning);
			SendDeathMessage(killerid,playerid,reason);
			GivePlayerMoney(killerid, -1000);
			SetPlayerScore(killerid, GetPlayerScore(killerid) - 1);
		}
	}
	SetPlayerColor(playerid,COLOR_GREY);
 	return 1;
}

public OnVehicleSpawn(vehicleid)
{
	return 1;
}

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

public OnPlayerText(playerid, text[])
{
	ApplyAnimation(playerid,"PED","IDLE_CHAT",4.0,0,1,1,1,1);
	if (IsPlayerMuted[playerid] == 1)
	{
	SystemMessage(playerid, "You can't speak while you are muted!");
	return 0;
	}
	return 1;
}


public OnPlayerPrivmsg(playerid, recieverid, text[])
{

return 1;
}

public OnPlayerCommandText(playerid, cmdtext[])
{
new tmp[256];
new string[256];
new sendername[MAX_PLAYER_NAME];
new giveplayer[MAX_PLAYER_NAME];
new cmd[256];
new playermoney;
new giver;
new moneys, idx;
cmd = strtok(cmdtext, idx);
new dancestyle;
//--------------------------------[dcmd]----------------------------------------
dcmd(deleteaccount, 13, cmdtext);
dcmd(logout, 6, cmdtext);
dcmd(register, 8, cmdtext);
dcmd(login, 5, cmdtext);
dcmd(kick, 4, cmdtext);
dcmd(ban, 3, cmdtext);
dcmd(say, 3, cmdtext);
dcmd(banip, 5, cmdtext);
dcmd(unbanip, 7, cmdtext);
dcmd(freeze, 6, cmdtext);
dcmd(unfreeze, 8, cmdtext);
dcmd(killplayer, 10, cmdtext);
dcmd(jail, 4, cmdtext);
dcmd(unjail, 6, cmdtext);
dcmd(slap, 4, cmdtext);
dcmd(mute, 4, cmdtext);
dcmd(unmute, 6, cmdtext);
dcmd(explodeplayer, 13, cmdtext);
dcmd(resetweapons, 12, cmdtext);
dcmd(restart, 7, cmdtext);
dcmd(lockserver, 10, cmdtext);
dcmd(unlockserver, 12, cmdtext);
dcmd(specplayer, 10, cmdtext);
dcmd(specvehicle, 11, cmdtext);
dcmd(specoff, 7, cmdtext);
dcmd(settime, 7, cmdtext);
dcmd(cs, 2, cmdtext);
dcmd(setweather, 10, cmdtext);
dcmd(setgravity, 10, cmdtext);
dcmd(whois, 5, cmdtext);
dcmd(skick, 5, cmdtext);
dcmd(sban, 4, cmdtext);
dcmd(sbanip, 6, cmdtext);
dcmd(sfreeze, 7, cmdtext);
dcmd(sunfreeze, 9, cmdtext);
dcmd(skillplayer, 11, cmdtext);
dcmd(sjail, 5, cmdtext);
dcmd(sunjail, 7, cmdtext);
dcmd(sslap, 5, cmdtext);
dcmd(smute, 5, cmdtext);
dcmd(sunmute, 7, cmdtext);
dcmd(sexplodeplayer, 14, cmdtext);
dcmd(sresetweapons, 13, cmdtext);
dcmd(createmoney, 11, cmdtext);
dcmd(deletemoney, 11, cmdtext);
dcmd(srestart, 8, cmdtext);
dcmd(slockserver, 11, cmdtext);
dcmd(sunlockserver, 13, cmdtext);
dcmd(report, 6, cmdtext);
dcmd(changemode, 10, cmdtext);
dcmd(reloadbans, 10, cmdtext);
dcmd(reloadlog, 9, cmdtext);
dcmd(players, 7, cmdtext);
dcmd(loadfs, 6, cmdtext);
dcmd(unloadfs, 8, cmdtext);
dcmd(reloadfs, 8, cmdtext);
//------------------------------------[change]----------------------------------
if(!strcmp("/changepass",cmd,true)) {
if (!udb_Exists(PlayerName(playerid)))
		return SendClientMessage(playerid,COLOR_SYSTEM,"Account doesn't exist, please use \"/register |password|\"");
if(!Player_Logged[playerid])
		return SendClientMessage(playerid,COLOR_SYSTEM,"You are not logged in!");
new number[256],newpw[256];
number = strtok(cmdtext,idx);
newpw = strtok(cmdtext,idx);
if((!strlen(number)) || (!strlen(newpw)))
		return SendClientMessage(playerid,COLOR_SYSTEM,"Correct usage: \"/changepass |number| |new_password|\"");
if(strval(Number(number)) != udb_UserInt(PlayerName(playerid),"Number"))
		return SendClientMessage(playerid,COLOR_SYSTEM,"Error! Wrong number");
udb_UserSetInt(PlayerName(playerid),"password_hash",udb_hash(newpw));
format(string,128,"You changed your password to \"%s\"",newpw);
return SystemMessage(playerid,string);
}
if(!strcmp("/changenumber",cmd,true)) {
if (!udb_Exists(PlayerName(playerid)))
		return SendClientMessage(playerid,COLOR_SYSTEM,"Account doesn't exist, please use \"/register |password|\"");
if(!Player_Logged[playerid])
		return SendClientMessage(playerid,COLOR_SYSTEM,"You are not logged in!");
new oldnu[256],newnu[256];
oldnu = strtok(cmdtext,idx);
newnu = strtok(cmdtext,idx);
if((!strlen(oldnu)) || (!strlen(newnu)))
		return SendClientMessage(playerid,COLOR_SYSTEM,"Correct usage: \"/changenumber |old_number| |new_number|\"");
if(strval(Number(oldnu)) != udb_UserInt(PlayerName(playerid),"Number"))
		return SendClientMessage(playerid,COLOR_SYSTEM,"Error! Wrong number");
udb_UserSet(PlayerName(playerid),"Number",Number(newnu));
format(string,128,"You changed your old_number(%d) to %d",strval(oldnu),strval(newnu));
return SystemMessage(playerid,string);
}
//-------------------------[free]-----------------------------------------------
if(!strcmp("/free",cmdtext,true)) {
if(Player_Logged[playerid])
		return SendClientMessage(playerid,COLOR_SYSTEM,"You are already logged in!");
SendClientMessage(playerid,COLOR_SYSTEM,"You play for free now!");
if(!udb_Exists(PlayerName(playerid))) {
SendClientMessage(playerid,COLOR_SYSTEM,"You can still register \"/register\" if you want!");
SendClientMessage(playerid,COLOR_SYSTEM,"When you are registered your weapons for each Team will be always saved!");
SendClientMessage(playerid,COLOR_SYSTEM,"Also you dont get the weapons who you had as cop if you are now grove!");
}
else SendClientMessage(playerid,COLOR_SYSTEM,"You can still login \"/login\" if you want!");
Free[playerid] = 1;
return 1; }
//-----------------------[other]------------------------------------------------
if(!strcmp("/lock",cmdtext,true)) {
SetVehicleParamsForPlayer(GetPlayerVehicleID(playerid),playerid,false,true);
return SendClientMessage(playerid,COLOR_SYSTEM,"Car successfully locked"); }
if(!strcmp("/unlock",cmdtext,true)) {
SetVehicleParamsForPlayer(GetPlayerVehicleID(playerid),playerid,false,false);
return SendClientMessage(playerid,COLOR_SYSTEM,"Car successfully unlocked"); }
//--------------------[GIVECASH]------------------------------------------------
if(strcmp(cmd, "/pay", true) == 0) {
	    tmp = strtok(cmdtext, idx);
		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_WHITE, "USAGE: /pay [playerid] [amount]");
			return 1;
		}
		giveplayerid = strval(tmp);
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_WHITE, "USAGE: /pay [playerid] [amount]");
			return 1;
		}
 		moneys = strval(tmp);
		//printf("givecash_command: %d %d",giveplayerid,moneys);
		if (IsPlayerConnected(giveplayerid)) {
			GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
			GetPlayerName(playerid, sendername, sizeof(sendername));
			playermoney = GetPlayerMoney(playerid);
			if (moneys > 0 && playermoney >= moneys) {
				GivePlayerMoney(playerid, (0 - moneys));
				GivePlayerMoney(giveplayerid, moneys);
				format(string, sizeof(string), "You have sent %s(player: %d), $%d.", giveplayer,giveplayerid, moneys);
				SendClientMessage(playerid, COLOR_YELLOW, string);
				format(string, sizeof(string), "You have recieved $%d from %s(player: %d).", moneys, sendername, playerid);
				SendClientMessage(giveplayerid, COLOR_YELLOW, string);
				printf("%s(playerid:%d) has transfered %d to %s(playerid:%d)",sendername, playerid, moneys, giveplayer, giveplayerid);
			} else { SendClientMessage(playerid, COLOR_YELLOW, "Invalid transaction amount."); }
		} else {
		format(string, sizeof(string), "%d is not an active player.", giveplayerid);
		SendClientMessage(playerid, COLOR_YELLOW, string); }
		return 1;
}

//------------------------------------------------------------------------------
if(strcmp(cmdtext, "/po", true) == 0) { //Displays the text: "This is the PolicE!!, Pullover Immedietly" to all players
	if(gTeam[playerid] == TEAM_AGENT )
			SendClientMessageToAll(COLOR_WHITE, "This Is The LAW!!, Pull Over Now or You will Be Jailed!!");
	else
			SendClientMessage(playerid, COLOR_RED, "You Are NOT official AGENT!!");
	return 1;
}

if(strcmp(cmdtext,"/duty")==0) {
if(gTeam[playerid] != TEAM_AGENT)
	return SendClientMessage(playerid, COLOR_YELLOW,"You aren't a AGENT");
SendClientMessage(playerid, COLOR_YELLOW,"Good to see you officer");
SendClientMessage(playerid, COLOR_YELLOW,"Your commands as AGENT are:/jail /unjail /suspect /unsuspect /crimlock /crimunlock /po");
GivePlayerWeapon(playerid, 24, 10001);
GivePlayerWeapon(playerid, 3, 1);
GivePlayerWeapon(playerid, 25, 10001);
GivePlayerWeapon(playerid, 29, 10001);
GivePlayerWeapon(playerid, 31, 10001);
return 1; }
if(!strcmp(cmdtext,"/modhelp",true)) {
SendClientMessage(playerid, COLOR_WHITE,"Welcome to [..:..Tec9 LS-RolePlaying..:..]");
SendClientMessage(playerid, COLOR_WHITE,"Server is using on LS-RPG GM coded by ryder");
SendClientMessage(playerid, COLOR_WHITE,"If you are new let's take some tutorial");
SendClientMessage(playerid, COLOR_WHITE,"This server use local chat ( this means you can only talk to players near you)");
SendClientMessage(playerid, COLOR_WHITE,"If you want to talk to other people type /ooc");
SendClientMessage(playerid, COLOR_WHITE,"You can join a gang.Buy a house.Order a car for your house.");
SendClientMessage(playerid, COLOR_WHITE,"Be a taxi driver.Earn some money.Or just be a dealer(sell some weed).");
SendClientMessage(playerid, COLOR_WHITE,"Civilian: get a job or organise some stunts competition.");
SendClientMessage(playerid, COLOR_WHITE,"Be a medic.Search the city for injured people and heal them ( /heal ).");
SendClientMessage(playerid, COLOR_WHITE,"Be a fireman.Search the city for fire emergency.");
SendClientMessage(playerid, COLOR_WHITE,"Be a mafia member.Protect local gangs for paytax.");
SendClientMessage(playerid, COLOR_WHITE,"Be a agent:Arrest people.Hunt them down.Get bribed and let them escape.You decide");
SendClientMessage(playerid, COLOR_WHITE,"This is Tec9 LS-RolePlaying server.You decide what you want to do");
return 1; }
if(!strcmp(cmdtext,"/rules",true)) {
SendClientMessage(playerid, COLOR_WHITE,"Welcome to [..:..Tec9 LS-RolePlaying..:..]");
SendClientMessage(playerid, COLOR_WHITE,"1.Dont DM. It will teleport you into a kick");
SendClientMessage(playerid, COLOR_WHITE,"2.Dont evade death.This means if you get killed dont close the game and rejoin.This will teleport you into a 3 days ban");
SendClientMessage(playerid, COLOR_WHITE,"3.Dont swear");
SendClientMessage(playerid, COLOR_WHITE,"4.Dont TK.TK = Team killing. Dont kill your team players.You will receive kick for this");
SendClientMessage(playerid, COLOR_WHITE,"5.Dont ignore admins.This means you must do what admins say. And dont use restricted skins");
SendClientMessage(playerid, COLOR_WHITE,"6.The most important,dont use hacks,cheats,camhacks,etc.This will give you a warning kick");
SendClientMessage(playerid, COLOR_WHITE,"7.Dont Drive by as Driver(only as passanger).");
SendClientMessage(playerid, COLOR_WHITE,"8.Talk english on /ooc.If you dont you get kicked");
return 1; }

if((!strcmp(cmdtext,"/commands",true))  || (!strcmp(cmdtext,"/cmds",true))) {
SendClientMessage(playerid, COLOR_WHITE,"Registration:/register /login /changepass /changenumber /deleteaccount");
SendClientMessage(playerid, COLOR_WHITE,"Admin commands: /kick /ban /freeze /unfreeze");
SendClientMessage(playerid, COLOR_WHITE,"Admin commands: /jail /unjail /goto /bring /v(ehicle) /weapon ");
SendClientMessage(playerid, COLOR_WHITE,"Agents commands:/duty /jail /unjail /suspect /unsuspect /crimlock /crimunlock /po(pull over)");
SendClientMessage(playerid, COLOR_WHITE,"Cell phone commands:use /SMS to sms to your friend in private");
SendClientMessage(playerid, COLOR_WHITE,"Cell phone commands:use /pb or /phonebook to see the phonenumbers of the online players");
SendClientMessage(playerid, COLOR_WHITE,"Cell phone commands:use /mpn or /myphonenumber to see your own phonenumber");
SendClientMessage(playerid, COLOR_WHITE,"Cell phone commands:use /pc or /phonecredits to see the credits");
SendClientMessage(playerid, COLOR_WHITE,"type /commands2 for next page");
return 1; }

if((!strcmp(cmdtext,"/commands2",true)) || (!strcmp(cmdtext,"/cmds2",true))) {
SendClientMessage(playerid,COLOR_WHITE,"Others: /handsup /drunk /bomb /getarrested /laugh /lookout /robman");
SendClientMessage(playerid,COLOR_WHITE,"Others: /crossarms /lay /hide /vomit /eat /wave /taichi");
SendClientMessage(playerid,COLOR_WHITE,"Others: /deal /crack /smokem /smokef /groundsit /chat /dance /fuckku");
SendClientMessage(playerid,COLOR_WHITE,"House commands: /buyhouse /sellhouse /lockhouse /unlockhouse /ordercar");
SendClientMessage(playerid,COLOR_WHITE,"Car commands: /lock /unlock /purchase /sellmycar /callmycar /eject /ejectall ");
SendClientMessage(playerid,COLOR_WHITE,"Weed Commands /sellweed /useweed /refuseweed /acceptweed ");
SendClientMessage(playerid,COLOR_WHITE,"Medic commands: /heal ");
SendClientMessage(playerid,COLOR_WHITE,"Money transfer: /pay");
return 1; }

// ________________________________________________________________
//COP commands
if(strcmp(cmd, "/jail", true) == 0) {//UPDATED JAIL CMD ONlY JAILS IF THE SPECIFIED PERSON ISNT JAILED!
	gtmp = strtok(cmdtext, idx);
	if(!strlen(gtmp)) {
		SendClientMessage(playerid, COLOR_GREEN, "Usage: /jail [Player ID]");
		return 1;
		}
	giveplayerid = strval(gtmp);
	if(jailed[giveplayerid]==0) {
        if (gTeam[playerid] == TEAM_AGENT) {
            if (IsPlayerConnected(giveplayerid)) {
				GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
				GetPlayerName(playerid, sendername, sizeof(sendername));
				format(string, sizeof(string), "You have been jailed by %s!", sendername, playerid);
   				SendClientMessage(giveplayerid, COLOR_RED, string);
				format(string, sizeof(string), "%s has been jailed by %s!", giveplayer, giveplayerid, sendername, playerid);
                SendClientMessageToAll(COLOR_RED, string);
                printf(string);
                SetPlayerInterior(giveplayerid,6);
				jailed[giveplayerid] = 1;
 				SetPlayerPos(giveplayerid,264.7763,77.9077,1001.0391);
     			SetPlayerScore(giver, GetPlayerScore(giver) + 5);
        		GivePlayerMoney(giver,1000);
				PlayerPlaySound(giveplayerid,1082,198.3797,160.8905,1003.0300);
  				TogglePlayerControllable(giveplayerid,0);   //So the player that is jailed can't use
    			return 1;
			 } else {
        	format(string, sizeof(string), "id %d is not an active player.", giveplayerid);
			SendClientMessage(playerid, COLOR_YELLOW, string); }
		 } else {
        format(string, sizeof(string), "You are not a cop why are you trying to jail", giveplayerid);
        SendClientMessage(playerid, COLOR_YELLOW, string); }
	} else {
	format(string, sizeof(string), "Someone already jailed that player", giveplayerid);
	SendClientMessage(playerid, COLOR_YELLOW, string); }
	return 1;
}

if(strcmp(cmd, "/unjail", true) == 0) {//UPDATED UNJAIL CMD ONly UNJAILS IF THE SPECIFIED PERSON IS JAILED!
	gtmp = strtok(cmdtext, idx);
	if(!strlen(gtmp)) {
		SendClientMessage(playerid, COLOR_GREEN, "Usage: /unjail [Player ID]");
		return 1;
		}
	giveplayerid = strval(gtmp);
	if(jailed[giveplayerid]==1) {
        if (gTeam[playerid] == TEAM_AGENT) {
            if (IsPlayerConnected(giveplayerid)) {
				GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
				GetPlayerName(playerid, sendername, sizeof(sendername));
				format(string, sizeof(string), "You have been unjailed by %s (ID:%d)!", sendername, playerid);
				SendClientMessage(giveplayerid, COLOR_GREEN, string);
				format(string, sizeof(string), "%s (ID:%d) has been unjailed by %s (ID:%d)", giveplayer, giveplayerid, sendername, playerid);
				SendClientMessageToAll(COLOR_GREEN, string);
				printf(string);
				jailed[giveplayerid] = 0;
				SetPlayerInterior(giveplayerid,0);
				SetPlayerPos(giveplayerid,1541.5916,-1676.3271,13.5528);
				SetPlayerFacingAngle(giveplayerid,177.0350);
				SetCameraBehindPlayer(giveplayerid);
				TogglePlayerControllable(giveplayerid,1);
				return 1;
			} else {
        format(string, sizeof(string), "id %d Is not even online Dumbass!!", giveplayerid);
		SendClientMessage(playerid, COLOR_YELLOW, string); }
		} else {
        format(string, sizeof(string), "You Can't unjail when your not a cop", giveplayerid);
        SendClientMessage(playerid, COLOR_WHITE, string); }
	} else {
	format(string, sizeof(string), "This person Is already unjailed", giveplayerid);
	SendClientMessage(playerid, COLOR_WHITE, string); }
	return 1;
}

if(strcmp(cmd, "/crimlock", true) == 0) {//UPDATED JAIL CMD ONlY JAILS IF THE SPECIFIED PERSON ISNT JAILED!
	gtmp = strtok(cmdtext, idx);
	if(!strlen(gtmp)) {
		SendClientMessage(playerid, COLOR_GREEN, "Usage: /crimlock [Player ID]");
		return 1;
		}
	giveplayerid = strval(gtmp);
	if(jailed[giveplayerid]==0) {
        if (gTeam[playerid] == TEAM_AGENT) {
            if (IsPlayerInAnyVehicle(giveplayerid)) {
				GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
				GetPlayerName(playerid, sendername, sizeof(sendername));
				format(string, sizeof(string), "You have been locked in the car by %s!", sendername, playerid);
   				SendClientMessage(giveplayerid, COLOR_RED, string);
                format(string, sizeof(string), "%s has been locked in the car by %s!", giveplayer, giveplayerid, sendername, playerid);
                SendClientMessageToAll(COLOR_RED, string);
                printf(string);
                TogglePlayerControllable(giveplayerid,0);   //So the player that is jailed can't use /kill
               	return 1;
			} else {
			format(string, sizeof(string), "id %d is not an active player.", giveplayerid);
			SendClientMessage(playerid, COLOR_YELLOW, string); }
		 } else {
        format(string, sizeof(string), "You are not a cop why are you trying to lock someone in your car", giveplayerid);
        SendClientMessage(playerid, COLOR_YELLOW, string); }
	} else {
	format(string, sizeof(string), "You have already locked him in the car", giveplayerid);
	SendClientMessage(playerid, COLOR_YELLOW, string); }
	return 1;
}

if(strcmp(cmd, "/suspect", true) == 0) {
	gtmp = strtok(cmdtext, idx);
	if(!strlen(gtmp)) {
		SendClientMessage(playerid, COLOR_GREEN, "Usage: /suspect [Player ID]");
		return 1;
		}
	giveplayerid = strval(gtmp);
	if(jailed[giveplayerid]==0) {
		if (gTeam[playerid] == TEAM_AGENT) {
			if (IsPlayerConnected(giveplayerid)) {
				GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
				GetPlayerName(playerid, sendername, sizeof(sendername));
				format(string, sizeof(string), "You have been Suspected by the Cop Member %s!", sendername, playerid);
				SendClientMessage(giveplayerid, COLOR_RED, string);
				format(string, sizeof(string), "%s has been Suspected by the Cop Member %s!", giveplayer, giveplayerid, sendername, playerid);
				SendClientMessageToAll(COLOR_GREEN, string);
				printf(string);
				SetPlayerColor(giveplayerid, COLOR_ORANGE);
				SetPlayerWantedLevel(giveplayerid, 6); //Put here the wantedlevel 1-6
				return 1;
			} else {
        format(string, sizeof(string), "id %d is not an active player.", giveplayerid);
      	SendClientMessage(playerid, COLOR_YELLOW, string); }
		} else {
        format(string, sizeof(string), "You are not a cop why are you trying to Suspect this player", giveplayerid);
        SendClientMessage(playerid, COLOR_YELLOW, string); }
	} else {
	format(string, sizeof(string), "This person isn't even Suspected in a car", giveplayerid);
	SendClientMessage(playerid, COLOR_YELLOW, string); }
	return 1;
}

if(strcmp(cmd, "/unsuspect", true) == 0) {
	gtmp = strtok(cmdtext, idx);
	if(!strlen(gtmp)) {
		SendClientMessage(playerid, COLOR_GREEN, "Usage: /unsuspect [Player ID]");
		return 1;
		}
	giveplayerid = strval(gtmp);
	if(jailed[giveplayerid]==0) {
		if (gTeam[playerid] == TEAM_AGENT) {
			if (IsPlayerConnected(giveplayerid)) {
				GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
				GetPlayerName(playerid, sendername, sizeof(sendername));
				format(string, sizeof(string), "You have been UnSupected by the Cop Member %s!", sendername, playerid);
				SendClientMessage(giveplayerid, COLOR_RED, string);
				format(string, sizeof(string), "%s has been UnSuspected by the Cop Member %s!", giveplayer, giveplayerid, sendername, playerid);
				SendClientMessageToAll(COLOR_GREEN, string);
				printf(string);
				SetPlayerColor(giveplayerid, COLOR_GREY);
				SetPlayerWantedLevel(giveplayerid, 0);
				return 1;
			} else {
        	format(string, sizeof(string), "id %d is not an active player.", giveplayerid);
      		SendClientMessage(playerid, COLOR_YELLOW, string); }
		} else {
        format(string, sizeof(string), "You are not a cop why are you trying to UnSuspect this player", giveplayerid);
        SendClientMessage(playerid, COLOR_YELLOW, string); }
	} else {
	format(string, sizeof(string), "This person isn't even Suspected in a car", giveplayerid);
	SendClientMessage(playerid, COLOR_YELLOW, string); }
	return 1;
}

if(strcmp(cmd, "/crimunlock", true) == 0) {//UPDATED JAIL CMD ONlY JAILS IF THE SPECIFIED PERSON ISNT JAILED!
	gtmp = strtok(cmdtext, idx);
	if(!strlen(gtmp)) {
		SendClientMessage(playerid, COLOR_GREEN, "Usage: /crimunlock [Player ID]");
		return 1;
		}
	giveplayerid = strval(gtmp);
	if(jailed[giveplayerid]==0) {
		if (gTeam[playerid] == TEAM_AGENT) {
			if (IsPlayerInAnyVehicle(giveplayerid)) {
					GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
					GetPlayerName(playerid, sendername, sizeof(sendername));
					format(string, sizeof(string), "You have been unlocked by %s!", sendername, playerid);
     				SendClientMessage(giveplayerid, COLOR_RED, string);
                    format(string, sizeof(string), "%s has been unlocked and let out the car by %s!", giveplayer, giveplayerid, sendername, playerid);
                    SendClientMessageToAll(COLOR_GREEN, string);
                    printf(string);
                    TogglePlayerControllable(giveplayerid,1);   //So the player that is jailed can't use /kill
                 	return 1;
			} else {
   			format(string, sizeof(string), "id %d is not an active player.", giveplayerid);
			SendClientMessage(playerid, COLOR_YELLOW, string); }
		} else {
        format(string, sizeof(string), "You are not a cop why are you trying to unlock this player", giveplayerid);
        SendClientMessage(playerid, COLOR_YELLOW, string); }
	} else {
	format(string, sizeof(string), "This person isn't even locked in a car", giveplayerid);
	SendClientMessage(playerid, COLOR_YELLOW, string); }
	return 1;
}

if(strcmp(cmd,"/announce",true) == 0) {
    gtmp = strtok(cmdtext, idx);
	if(!strlen(gtmp)) {
		SendClientMessage(playerid,COLOR_WHITE,"SERVER: /announce [message]");
		return 1;
		}
	format(string,sizeof(string),"~w~%s",gtmp);
	GameTextForAll(string,2000,5);
	return 1;
	}


// _________________________________________________________________


// _____________________________________________________________
// medics commands
if(strcmp(cmdtext, "/heal", true, 3)==0) {
	if (gTeam[playerid] == TEAM_MEDICS) {
        gtmp = strtok(cmdtext, idx);
		if(!strlen(gtmp)) {
         	SendClientMessage(playerid, COLOR_WHITE, "USAGE: /heal [ID]");
         	return 1;
     		}
 		new pid = strval(gtmp);
		if (IsPlayerConnected(pid)) {
         	SetPlayerHealth(pid,100);
         	SetPlayerScore(giver, GetPlayerScore(giver) + 5);
         	GivePlayerMoney(giver,500);
         	SendClientMessage(playerid, COLOR_LIGHTBLUE,"You got 500$ Good Job!");
			}
	}
	return 1;
}



// ___________________________________________________________

// ___________________________________________________________
//_____________________________________________________________
// ___________________________________________DEALERS commands
if(strcmp(cmd, "/sellweed", true) == 0) {
	if (gTeam[playerid] != TEAM_DEALERS) {
		SendClientMessage(playerid,COLOR_WHITE,"SERVER: You don't have permission to use this command.");
		return 1;
		}
	gtmp = strtok(cmdtext, idx);
	giver = playerid;
	if(!strlen(gtmp)) {
		SendClientMessage(playerid, COLOR_WHITE, "USAGE: /sellweed [playerid].");
		return 1;
		}
	giveplayerid = strval(gtmp);
	if (!IsPlayerConnected(giveplayerid)) {
		SendClientMessage(playerid, COLOR_WHITE, "SERVER: Invalid playerid.");
		return 1;
		}
	if (GetDistanceBetweenPlayers(playerid,giveplayerid) >5) {
		SendClientMessage(playerid, COLOR_WHITE, "SERVER: You are to far away from a player.");
		return 1;
		}
	offerweed[giveplayerid] = 1;
	GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
	GetPlayerName(playerid, sendername, sizeof(sendername));
	format(string, sizeof(string), "|__________________Offered Weed__________________|");
	SendClientMessage(playerid, COLOR_MARON, string);
	format(string, sizeof(string), "SERVER: You have offered 1 gram of weed to %s.", giveplayer, giveplayerid);
	SendClientMessage(playerid, COLOR_MARON, string);
	format(string, sizeof(string), "|__________________Offered Weed__________________|");
	SendClientMessage(giveplayerid, COLOR_MARON, string);
	format(string, sizeof(string), "SERVER: You have been offered weed by %s, type /acceptweed or /refuseweed, $1000.", sendername, giver);
	SendClientMessage(giveplayerid, COLOR_MARON, string);
	format(string, sizeof(string), "SERVER: You have 15 seconds to accept or refuse the weed.");
	SendClientMessage(giveplayerid, COLOR_MARON, string);
	SetTimer("removeweedoffer",15000,0);
	return 1;
}

if (!strcmp(cmdtext, "/acceptweed", true)) {
	if (offerweed[playerid] == 0) {
		SendClientMessage(playerid,COLOR_WHITE,"SERVER: Nobody has offered you any weed.");
		return 1;
		}
	GetPlayerName(playerid, sendername, sizeof(sendername));
	SetPlayerScore(giver, GetPlayerScore(giver) + 5);
	GivePlayerMoney(giver,2000);
	GivePlayerMoney(playerid,-1000);
	SendClientMessage(playerid, COLOR_MARON, "|__________________Bought Weed__________________|");
	SendClientMessage(playerid, COLOR_MARON, "SERVER: You have bought 1 gram of weed for $1000.");
	SendClientMessage(playerid, COLOR_MARON, "SERVER: You can smoke it by typing /useweed.");
	SendClientMessage(playerid, COLOR_MARON, "SERVER: Type /weedstats to see how much weed you have.");
	SendClientMessage(giver, COLOR_MARON, "|__________________Sold Weed__________________|");
	SendClientMessage(giver, COLOR_MARON, "SERVER: You have sold 1 gram of weed for $1000.");
	format(string, sizeof(string), "%s has bought 1 gram of weed from the West Side Gang.", sendername);
	SendClientMessageToAll(COLOR_YELLOW, string);
	offerweed[playerid] = 0;
	haveweed[playerid] = 1;
	return 1;
}

if (!strcmp(cmdtext, "/refuseweed", true)) {
	if (offerweed[playerid] == 0) {
		SendClientMessage(playerid,COLOR_WHITE,"SERVER: Nobody has offered you any weed.");
		return 1;
		}
	GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
	SendClientMessage(playerid, COLOR_MARON, "|__________________Refused Weed__________________|");
	SendClientMessage(playerid, COLOR_MARON, "SERVER: You have refused the weed.");
	SendClientMessage(giver, COLOR_MARON, "|__________________Refused Weed__________________|");
	format(string, sizeof(string), "SERVER: %s has refused the weed.", giveplayer, giveplayerid);
	SendClientMessage(playerid, COLOR_MARON, string);
	offerweed[playerid] = 0;
	return 1;
}

if (!strcmp(cmdtext, "/useweed", true)) {
	if (haveweed[playerid] == 0) {
		SendClientMessage(playerid,COLOR_WHITE,"SERVER: You don't have any weed.");
		return 1;
		}
	if (haveweed[playerid] == 1) {
		SetPlayerHealth(playerid,100);
		GetPlayerName(playerid, sendername, sizeof(sendername));
		GameTextForPlayer(playerid, "You are~n~~g~stoned!", 5000, 5);
		SendClientMessage(playerid,COLOR_MARON, "|__________________Smoked Weed__________________|");
		SendClientMessage(playerid, COLOR_MARON, "SERVER: You smoked weed, health restored.");
		format(string, sizeof(string), "%s has smoked 1 gram of weed and is very stoned.", sendername);
		SendClientMessageToAll(COLOR_YELLOW, string);
		haveweed[playerid] = 0;
		}
	return 1;
}
//// -------------------------------[CASINO]------------------------------------

else if(strcmp(cmd,"/about",true)==0)
	{
		SendClientMessage(playerid,COLOR_WHITE,"GameMode Made by ryder.");
		SendClientMessage(playerid,COLOR_WHITE,"The objective of this mod depends on what you are:");
		SendClientMessage(playerid,COLOR_WHITE,"If you're a cop, S.W.A.T. or F.B.I., you need to hunt criminals down and put the in jail.");
		SendClientMessage(playerid,COLOR_WHITE,"If you're a medic, you need to heal people when they are hurt.");
		SendClientMessage(playerid,COLOR_WHITE,"Talking to all players on this mod is disabled.");
		SendClientMessage(playerid,COLOR_WHITE,"If you just say something, the players that are");
		SendClientMessage(playerid,COLOR_WHITE,"close enough to you will only recieve that message.");
		SendClientMessage(playerid,COLOR_WHITE,"But don't worry you can still call or just use /ooc");
		SendClientMessage(playerid,COLOR_WHITE,"people on their cellphone, send an sms or advertise.");
		return 1;
	}

////////////////////////////////////////////////////////////////////////////////

// _____________________________________________________________
if( !strcmp(cmdtext, "/me", true, 3) ) // 3 is the length of /me
{
	new str[128], pname[MAX_PLAYER_NAME];
	GetPlayerName(playerid, pname, MAX_PLAYER_NAME);
	if((!strlen(cmdtext[3])) && (!strlen(cmdtext[4])))
	    return SendClientMessage(playerid,0xFFFFFFAA,"Correct Usage: /me text");
	format(str, 128, "%s %s", pname,cmdtext[4]);
	return SendClientMessageToAll(GetPlayerColor(playerid), str);
}

if( !strcmp(cmdtext, "/ooc", true, 3) ) // 3 is the length of /me
{
	new str[128], pname[MAX_PLAYER_NAME];
	GetPlayerName(playerid, pname, MAX_PLAYER_NAME);
	if((!strlen(cmdtext[4])) && (!strlen(cmdtext[5])))
	    return SendClientMessage(playerid,0xFFFFFFAA,"Correct Usage: /ooc text");
	format(str, 128, "((OOC  %s: %s ))", pname,cmdtext[5]);
	return SendClientMessageToAll(COLOR_GREEN, str);
}

if(!strcmp(cmd,"/fillup",true))
	{
	    if((PlayerToPoint(25,playerid,1938.0710,-1774.2367,13.1118)) || (PlayerToPoint(25,playerid,1002.5931,-933.6596,41.9068))) {
	        if(IsPlayerInAnyVehicle(playerid)) {
	            if(GetPlayerMoney(playerid)>=10) {
	                GivePlayerMoney(playerid,-100);
		            fuel[GetPlayerVehicleID(playerid)] = 100;
		            SendClientMessage(playerid,0xFFFF00AA,"You have refueled your car.");
				}
				else SendClientMessage(playerid,0xFFFF00AA,"You must have $100 to refuel your car.");
	        }
	        else SendClientMessage(playerid,0xFFFF00AA,"You need to be in a car to refuel.");
	    }
	    else SendClientMessage(playerid,0xFFFF00AA,"You need to be at a gasstation to refuel.");
	return 1;
	}

//=========================END OF THE JOBS=========================
	if(strcmp(cmd,"/animlist",true)==0)
	{
		SendClientMessage(playerid,0xAFAFAFAA,"Available Animations:");
	    SendClientMessage(playerid,0xAFAFAFAA,"/handsup /drunk /bomb /getarrested /laugh /lookout /robman");
        SendClientMessage(playerid,0xAFAFAFAA,"/crossarms /lay /hide /vomit /eat /wave /taichi");
        SendClientMessage(playerid,0xAFAFAFAA,"/deal /crack /smokem /smokef /groundsit /chat /dance /f**ku");
        return 1;
	}

	if(GetPlayerState(playerid) != PLAYER_STATE_ONFOOT) return 0; //commands under this line can only be used on foot

	// HANDSUP
 	if(strcmp(cmd, "/handsup", true) == 0) {
		SetPlayerSpecialAction(playerid,SPECIAL_ACTION_HANDSUP);
        return 1;
    }

    // CELLPHONE IN
 	if(strcmp(cmd, "/cellin", true) == 0) {
		SetPlayerSpecialAction(playerid,SPECIAL_ACTION_USECELLPHONE);
        return 1;
    }

    // CELLPHONE OUT
 	if(strcmp(cmd, "/cellout", true) == 0) {
		SetPlayerSpecialAction(playerid,SPECIAL_ACTION_STOPUSECELLPHONE);
        return 1;
    }

    // Drunk
    if(strcmp(cmd, "/drunk", true) == 0) {
		LoopingAnim(playerid,"PED","WALK_DRUNK",4.0,0,1,1,1,1);
		return 1;
    }

	// Place a Bomb
    if (strcmp("/bomb", cmdtext, true) == 0) {
		ClearAnimations(playerid);
		OnePlayAnim(playerid, "BOMBER", "BOM_Plant", 4.0, 0, 0, 0, 0, 0); // Place Bomb
		return 1;
	}
	// Police Arrest
    if (strcmp("/getarrested", cmdtext, true, 7) == 0) {
	      LoopingAnim(playerid,"ped", "ARRESTgun", 4.0, 0, 1, 1, 1, -1); // Gun Arrest
		  return 1;
    }
	// Laugh
    if (strcmp("/laugh", cmdtext, true) == 0) {
          OnePlayAnim(playerid, "RAPPING", "Laugh_01", 4.0, 0, 0, 0, 0, 0); // Laugh
		  return 1;
	}
	// Rob Lookout
    if (strcmp("/lookout", cmdtext, true) == 0) {
          OnePlayAnim(playerid, "SHOP", "ROB_Shifty", 4.0, 0, 0, 0, 0, 0); // Rob Lookout
		  return 1;
	}
	// Rob Threat
    if (strcmp("/robman", cmdtext, true) == 0) {
          LoopingAnim(playerid, "SHOP", "ROB_Loop_Threat", 4.0, 1, 0, 0, 0, 0); // Rob
		  return 1;
	}
	// Arms crossed
    if (strcmp("/crossarms", cmdtext, true) == 0) {
          LoopingAnim(playerid, "COP_AMBIENT", "Coplook_loop", 4.0, 0, 1,1,1,1); // Arms crossed
		  return 1;
	}
	// Lay Down
    if (strcmp("/lay", cmdtext, true, 6) == 0) {
          LoopingAnim(playerid,"BEACH", "bather", 4.0, 1, 0, 0, 0, 0); // Lay down
		  return 1;
    }
	// Take Cover
    if (strcmp("/hide", cmdtext, true, 3) == 0) {
          LoopingAnim(playerid, "ped", "cower", 3.0, 1, 0, 0, 0, 0); // Taking Cover
		  return 1;
	}
	// Vomit
    if (strcmp("/vomit", cmdtext, true) == 0) {
	      OnePlayAnim(playerid, "FOOD", "EAT_Vomit_P", 3.0, 0, 0, 0, 0, 0); // Vomit BAH!
		  return 1;
	}
	// Eat Burger
    if (strcmp("/eat", cmdtext, true) == 0) {
	      OnePlayAnim(playerid, "FOOD", "EAT_Burger", 3.0, 0, 0, 0, 0, 0); // Eat Burger
		  return 1;
	}
	// Wave
    if (strcmp("/wave", cmdtext, true) == 0) {
	      LoopingAnim(playerid, "ON_LOOKERS", "wave_loop", 4.0, 1, 0, 0, 0, 0); // Wave
		  return 1;
	}
	// Slap Ass
    if (strcmp("/slapass", cmdtext, true) == 0) {
         OnePlayAnim(playerid, "SWEET", "sweet_ass_slap", 4.0, 0, 0, 0, 0, 0); // Ass Slapping
		  return 1;
	}
	// Dealer
    if (strcmp("/deal", cmdtext, true) == 0) {
          OnePlayAnim(playerid, "DEALER", "DEALER_DEAL", 4.0, 0, 0, 0, 0, 0); // Deal Drugs
		  return 1;
	}
	// Crack Dieing
    if (strcmp("/crack", cmdtext, true, 6) == 0) {
          LoopingAnim(playerid, "CRACK", "crckdeth2", 4.0, 1, 0, 0, 0, 0); // Dieing of Crack
		  return 1;
	}
	// Male Smoking
    if (strcmp("/smokem", cmdtext, true, 4) == 0) {
          LoopingAnim(playerid,"SMOKING", "M_smklean_loop", 4.0, 1, 0, 0, 0, 0); // Smoke
		  return 1;
	}
	// Female Smoking
    if (strcmp("/smokef", cmdtext, true) == 0) {
          LoopingAnim(playerid, "SMOKING", "F_smklean_loop", 4.0, 1, 0, 0, 0, 0); // Female Smoking
		  return 1;
	}
	// Sit
    if (strcmp("/groundsit", cmdtext, true, 4) == 0) {
          LoopingAnim(playerid,"BEACH", "ParkSit_M_loop", 4.0, 1, 0, 0, 0, 0); // Sit
		  return 1;
    }
    	// KISS
    if (strcmp("/kiss", cmdtext, true, 100) == 0) {
		ApplyAnimation(playerid, "KISSING", "Playa_Kiss_02", 100.0, 0, 0, 0, 0, 0); // Kiss
		SendClientMessage(playerid, 0xFF0000FF, "You are kissing someone");
		return 1;
		}

    // Idle Chat
    if(strcmp(cmd, "/chat", true) == 0) {
		 OnePlayAnim(playerid,"PED","IDLE_CHAT",4.0,0,0,0,0,0);
         return 1;
    }
    // Fucku
    if(strcmp(cmd, "/fucku", true) == 0) {
		 OnePlayAnim(playerid,"PED","fucku",4.0,0,0,0,0,0);
         return 1;
    }
    // TaiChi
    if(strcmp(cmd, "/taichi", true) == 0) {
		 LoopingAnim(playerid,"PARK","Tai_Chi_Loop",4.0,1,0,0,0,0);
         return 1;
    }

    // ChairSit
    if(strcmp(cmd, "/chairsit", true) == 0) {
		 LoopingAnim(playerid,"BAR","dnk_stndF_loop",4.0,1,0,0,0,0);
         return 1;
    }

    /* Would allow people to troll... but would be cool as a script
	   controlled function
    // Bed Sleep R
    if(strcmp(cmd, "/inbedright", true) == 0) {
		 LoopingAnim(playerid,"INT_HOUSE","BED_Loop_R",4.0,1,0,0,0,0);
         return 1;
    }
    // Bed Sleep L
    if(strcmp(cmd, "/inbedleft", true) == 0) {
		 LoopingAnim(playerid,"INT_HOUSE","BED_Loop_L",4.0,1,0,0,0,0);
         return 1;
    }*/


	// START DANCING
 	if(strcmp(cmd, "/dance", true) == 0) {


			// Get the dance style param
      		gtmp = strtok(cmdtext, idx);
			if(!strlen(gtmp)) {
				SendClientMessage(playerid,0xFF0000FF,"USAGE: /dance [style 1-4]");
				return 1;
			}

			dancestyle = strval(gtmp);
			if(dancestyle < 1 || dancestyle > 4) {
			    SendClientMessage(playerid,0xFF0000FF,"USAGE: /dance [style 1-4]");
			    return 1;
			}

			if(dancestyle == 1) {
			    SetPlayerSpecialAction(playerid,SPECIAL_ACTION_DANCE1);
			} else if(dancestyle == 2) {
			    SetPlayerSpecialAction(playerid,SPECIAL_ACTION_DANCE2);
			} else if(dancestyle == 3) {
			    SetPlayerSpecialAction(playerid,SPECIAL_ACTION_DANCE3);
			} else if(dancestyle == 4) {
			    SetPlayerSpecialAction(playerid,SPECIAL_ACTION_DANCE4);
			}
 	  		return 1;
	}
	return 0;
}
//-------------------------------------------------
// EOF


public OnPlayerInfoChange(playerid)
{
	return 1;
}

public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
    SpeedoTextShow(playerid);
	return 1;
}

public OnPlayerExitVehicle(playerid, vehicleid)
{
	return 1;
}

public OnPlayerStateChange(playerid, newstate, oldstate)
{
	if((newstate == PLAYER_STATE_DRIVER) || (newstate == PLAYER_STATE_PASSENGER)) {
    SpeedoTextHide(playerid);
	SpeedoTextShow(playerid); }
    if((newstate != PLAYER_STATE_DRIVER) && (newstate != PLAYER_STATE_PASSENGER)) {
    SpeedoTextHide(playerid);
    TextDrawSetString(Speedo[playerid],"\n\n  \n\n~n~\n\n   \n\n~n~\n\n   \n\n"); }
	return 1;
}

public OnPlayerEnterCheckpoint(playerid)
{
	return 1;
}

public OnPlayerLeaveCheckpoint(playerid)
{
	return 1;
}

public OnPlayerEnterRaceCheckpoint(playerid)
{
	return 1;
}

public OnPlayerLeaveRaceCheckpoint(playerid)
{
	return 1;
}

public OnRconCommand(cmd[])
{
	return 1;
}

public OnObjectMoved(objectid)
{
	return 1;
}

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

public OnPlayerPickUpPickup(playerid, pickupid)
{
///////[--------------------GANG HOUSES-----------------------------------------
////////////////////////////////////////////////////////////////////////////////
	switch(pickupid) {
	    case 0:	{
				GameTextForPlayer(playerid, "~g~ GROVE STREET GANG HOUSE", 3500, 3);
				SetPlayerInterior(playerid,7);
				SetPlayerPos(playerid,225.8888,1028.3981,1084.0132);
				return 1;
				}
		case 1: {
				SetPlayerInterior(playerid,0);
				SetPlayerPos(playerid,2486.5610,-1651.7820,13.4831);
				return 1;
				}
		case 2: {
				GameTextForPlayer(playerid, "~b~ VARRIOS LOS AZTECAS GANG HOUSE", 3500, 3);
				SetPlayerInterior(playerid,6);
				SetPlayerPos(playerid,234.5062,1069.1062,1084.1932);
				return 1;
				}
		case 3: {
				SetPlayerInterior(playerid,0);
				SetPlayerPos(playerid,1889.8258,-2023.7972,13.5391);
				return 1;
				}
		case 4: {
				if (gTeam[playerid] != TEAM_DEALERS) {
					SetPlayerInterior(playerid,3);
					SetPlayerPos(playerid,962.2022,-53.3769,1001.1246);
					GameTextForPlayer(playerid, "~p~ BALLAS GANG HOUSE", 3500, 3);
					}
				return 1;
				}
		case 5: {
		        SetPlayerInterior(playerid,0);
				SetPlayerPos(playerid,965.4288,-53.0039,1001.1246);
				return 1;
				}
		case 6: {
				SetPlayerInterior(playerid,5);
				SetPlayerPos(playerid,140.0996,1375.2472,1086.6292);
				GameTextForPlayer(playerid, "~y~ VAGOS GANG HOUSE", 3500, 3);
				return 1;
				}
		case 7: {
				SetPlayerInterior(playerid,0);
				SetPlayerPos(playerid,2519.7959,-1324.1169,33.4679);
				return 1;
				}
		case 9: {
				SetPlayerInterior(playerid,10);
				SetPlayerPos(playerid,1992.8822,1017.4771,994.8906);
				GameTextForPlayer(playerid, "~y~ Welcome to ~w~ Triads ~r~ CASINO", 3500, 3);
				return 1;
				}
		case 10: {
				SetPlayerInterior(playerid,0);
				SetPlayerPos(playerid,1498.3578,-1584.8083,13.5469);
				return 1;
				}
		case 11: {
				SetPlayerInterior(playerid,1);
				SetPlayerPos(playerid,2527.4158,-1679.6664,1015.4986);
				GameTextForPlayer(playerid, "~g~ GSF leader house ~n~ ~r~ [GSF]TheGame", 3500, 3);
				return 1;
				}
        case 12: {
				SetPlayerInterior(playerid,0);
				SetPlayerPos(playerid,2518.2305,-1678.6154,14.4960);
				return 1;
				}
        case 13: {
				SetPlayerInterior(playerid,2);
				SetPlayerPos(playerid,2449.0347,-1703.2432,1013.5078);
				GameTextForPlayer(playerid, "~g~ GSF OG house ~n~ ~r~ [GSFMansy", 3500, 3);
				return 1;
				}
        case 14: {
				SetPlayerInterior(playerid,0);
				SetPlayerPos(playerid,2460.2639,-1686.7626,13.5424);
				return 1;
				}
		case 15: {
				SetPlayerInterior(playerid,1);
				SetPlayerPos(playerid,248.5125,302.8324,999.1484);
				GameTextForPlayer(playerid, " ~r~ Denise Robinson House", 3500, 3);
				return 1;
				}
        case 16: {
				SetPlayerInterior(playerid,0);
				SetPlayerPos(playerid,2401.7778,-1719.3260,13.6176);
				return 1;
				}
		case 17: {
				SetPlayerInterior(playerid,3);
				SetPlayerPos(playerid,1211.4104,-33.3027,1000.9531);
				GameTextForPlayer(playerid, " ~b~ VLA Hood Bar", 3500, 3);
				return 1;
				}
        case 18: {
				SetPlayerInterior(playerid,0);
				SetPlayerPos(playerid,1941.5819,-2058.8853,13.5469);
				return 1;
				}
        case 19: {
				SetPlayerInterior(playerid,3);
				SetPlayerPos(playerid,-103.7484,-17.5396,1000.7188);
				GameTextForPlayer(playerid, " ~g~ Seville Bulevard ~r~Chillin' Place", 3500, 3);
				return 1;
				}
        case 20: {
				SetPlayerInterior(playerid,0);
				SetPlayerPos(playerid,2760.8230,-1962.0841,13.5434);
				return 1;
				}
		 case 21: {
				SetPlayerInterior(playerid,2);
				SetPlayerPos(playerid,1205.6704,-5.9983,1000.9219);
				GameTextForPlayer(playerid, " ~w~ Glen Park Ballas ~r~Chillin' Den", 3500, 3);
				return 1;
				}
        case 22: {
				SetPlayerInterior(playerid,0);
				SetPlayerPos(playerid,1883.9451,-1268.0723,13.5469);
				return 1;
				}
		case 23: {

				GameTextForPlayer(playerid, "The Bar is in construction ~n~ Come back later ", 3500, 3);
				return 1;
				}
		case 24: {

				GameTextForPlayer(playerid, "The Bar is in construction ~n~ Come back later  ", 3500, 3);
				return 1;
				}
		case 25: {
				SetPlayerInterior(playerid,12);
				SetPlayerPos(playerid,2323.7029,-1145.7701,1050.7101);
				GameTextForPlayer(playerid, " ~y~ VLA OG house ~r~[VLA]Francis", 3500, 3);
				return 1;
				}
		case 26: {
				SetPlayerInterior(playerid,0);
				SetPlayerPos(playerid,1803.9817,-2119.8884,13.5543);
				return 1;
				}
		case 27: {
				SetPlayerInterior(playerid,15);
				SetPlayerPos(playerid,328.5761,1481.6941,1084.4375);
				GameTextForPlayer(playerid, " ~g~ GSF OG Crib ~n~ ~g~[GSF]Rudeboy", 3500, 3);
				return 1;
				}
		case 28: {
				SetPlayerInterior(playerid,0);
				SetPlayerPos(playerid,2072.5674,-1702.6449,13.5547);
				return 1;
				}
		case 29: {
				SetPlayerInterior(playerid,17);
				SetPlayerPos(playerid,374.7057,-188.1980,1000.6401);
				GameTextForPlayer(playerid, "~g~ C.R.A.S.H place ", 3500, 3);
				return 1;
				}
		case 30: {
				SetPlayerInterior(playerid,0);
				SetPlayerPos(playerid,1035.6832,-1333.6796,13.5478);
				return 1;
				}
		case 31: {
				SetPlayerInterior(playerid,3);
				SetPlayerPos(playerid,382.7045,173.6603,1008.3828);
				GameTextForPlayer(playerid, "~w~ Welcome to LS ~r~ Bank ", 3500, 3);
				return 1;
				}
		case 32: {
				SetPlayerInterior(playerid,0);
				SetPlayerPos(playerid,1481.5300,-1762.5135,18.7958);
				return 1;
				}
	}
	return 0;
}
/////////////////////////////////////////////////////////////////////////////////
public OnPlayerSelectedMenuRow(playerid, row)
{
	return 1;
}

public OnPlayerExitedMenu(playerid)
{
	return 1;
}
/////////////////////////////////////-----------------------TEAMS SPECIFY----------------------------------///////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////


public OnPlayerRequestClass(playerid, classid)
{
    PlayerPlaySound(playerid,1185,0,0,0);
	SetupPlayerForClassSelection(playerid);
	SetPlayerClass(playerid, classid);
	SelectionGameText(playerid,classid);
	gPlayerClass[playerid] = classid;

for(new i=0; i<MAX_VEHICLES; i++)
	{
		if(IsVehicleConnected(i) && GetVehicleModel(i)==427 && GetVehicleModel(i)==497 && GetVehicleModel(i)==596)
		{
			if(GetPlayerTeam(playerid)==TEAM_AGENT) // replace SWAT_TEAM with the classid of the Swat-Team
			{
				SetVehicleParamsForPlayer(i, playerid, 0, 0); //unlocks the car if player is in Swat-Team
			}
			else
			{
				RemovePlayerFromVehicle(playerid);
				GameTextForPlayer(playerid, "~r~ Dont steal AGENTS cars",3000,3);
			}
		}
	}
	return 1;
}
stock SetupPlayerForClassSelection(playerid)
{
	SetPlayerInterior(playerid,14);
	SetPlayerPos(playerid,258.4893,-41.4008,1002.0234);
	SetPlayerFacingAngle(playerid, 90.0);
	SetPlayerCameraPos(playerid,256.0815,-43.0475,1003.0234);
	SetPlayerCameraLookAt(playerid,258.4893,-41.4008,1002.0234);
}

stock SetPlayerClass(playerid, classid) {
	switch(classid) {
		case 0..6: gTeam[playerid] = TEAM_GSF;
		case 7,8: gTeam[playerid] = TEAM_SBF;
		case 9,10: gTeam[playerid] = TEAM_TDF;
		case 11..13: gTeam[playerid] = TEAM_IB;
		case 14..16: gTeam[playerid] = TEAM_JB;
		case 17..19: gTeam[playerid] = TEAM_GPB;
		case 20..23: gTeam[playerid] = TEAM_VAGOS;
		case 24..27: gTeam[playerid] = TEAM_VLA;
		case 28..31: gTeam[playerid] = TEAM_MAFIA;
		case 32..34: gTeam[playerid] = TEAM_DEALERS;
		case 35..36: gTeam[playerid] = TEAM_TAXI;
		case 37..42: gTeam[playerid] = TEAM_AGENT;
		case 43: gTeam[playerid] = TEAM_MEDICS;
        case 44: gTeam[playerid] = TEAM_FIREMAN;
        case 45..53: gTeam[playerid] = TEAM_CIVS;
        case 54..58: gTeam[playerid] = TEAM_TRIADS;
        case 59..61: gTeam[playerid] = TEAM_GOG;
        case 62..64: gTeam[playerid] = TEAM_RAPPERS;
		}
}

stock SelectionGameText(playerid,classid) {
	switch (classid) {
	    case 0..6:	GameTextForPlayer(playerid, "~r~[]GROVE STREET FAMILLIES[]", 500, 3);
	    case 7,8:	GameTextForPlayer(playerid, "~r~[]Seville Bulevard FAMILLIES[]", 500, 3);
	    case 9,10:	GameTextForPlayer(playerid, "~r~[]Temple Drive FAMILLIES[]", 500, 3);
	    case 11..13:	GameTextForPlayer(playerid, "~r~[]Idlewood Ballas[]", 500, 3);
	    case 14..16:	GameTextForPlayer(playerid, "~r~[]Jefferson Ballas[]", 500, 3);
	    case 17..19:	GameTextForPlayer(playerid, "~r~[]Glen Park Ballas[]", 500, 3);
	    case 20..23:	GameTextForPlayer(playerid, "~r~[]East Los Santos Vagos[]", 500, 3);
	    case 24..27:	GameTextForPlayer(playerid, "~r~[]Varrios Los Aztecas[]", 500, 3);
	    case 28..31:	GameTextForPlayer(playerid, "~r~[]The Mafia[]", 500, 3);
	    case 32..34:	GameTextForPlayer(playerid, "~r~[]Los Santos Dealers[]", 500, 3);
	    case 35,36:	GameTextForPlayer(playerid, "~r~[]Los Santos Taxi Company[]", 500, 3);
	    case 37..42:	GameTextForPlayer(playerid, "~r~[]Law Agents[]", 500, 3);
	    case 43:	GameTextForPlayer(playerid, "~r~[]Medic[]", 500, 3);
	    case 44:	GameTextForPlayer(playerid, "~r~[]Fireman[]", 500, 3);
	    case 45..53:	GameTextForPlayer(playerid, "~r~[]City Civilians[]", 500, 3);
	    case 54..58:	GameTextForPlayer(playerid, "~r~[]Los Santos Triads[]", 500, 3);
	    case 59..61:	GameTextForPlayer(playerid, "~r~[]The ~w~ GOG'z[]", 500, 3);
	    case 62..64:	GameTextForPlayer(playerid, "~r~[]The ~w~ RAPPERz[]", 500, 3);
		}
}

///////////////////- MONEY SCORE -/////////////////////////////////////////////

forward Float:GetDistanceBetweenPlayers(p1,p2);
public Float:GetDistanceBetweenPlayers(p1,p2){
new Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2;
if (!IsPlayerConnected(p1) || !IsPlayerConnected(p2)){
return -1.00;
}
GetPlayerPos(p1,x1,y1,z1);
GetPlayerPos(p2,x2,y2,z2);
return floatsqroot(floatpower(floatabs(floatsub(x2,x1)),2)+floatpower(floatabs(floatsub(y2,y1)),2)+floatpower(floatabs(floatsub(z2,z1)),2));
}

public IsPlayerInArea(playerid,Float:xmax,Float:xmin,Float:ymax,Float:ymin) {
	new Float:xpos;
	new Float:ypos;
	new Float:zpos;

	GetPlayerPos(playerid,xpos,ypos,zpos);

	if(xpos < xmax && xpos > xmin && ypos < ymax && ypos > ymin) {
	    return 1;
	}
	return 0;
}

forward PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z);
public PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z)
{
    if(IsPlayerConnected(playerid))
	{
		new Float:oldposx, Float:oldposy, Float:oldposz;
		new Float:tempposx, Float:tempposy, Float:tempposz;
		GetPlayerPos(playerid, oldposx, oldposy, oldposz);
		tempposx = (oldposx -x);
		tempposy = (oldposy -y);
		tempposz = (oldposz -z);
		if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
		{
			return 1;
		}
	}
	return 0;
}

//-------------------------------------------------[TEAMS FINNISHED]---------------------------------------------------
stock LimitChatArea(playerid, text[], Float:radius) {
new Float:X,Float:Y,Float:Z;
new Float:pX, Float:pY, Float:pZ;
for(new i; i < MAX_PLAYERS; i++) {
if(IsPlayerConnected(i)) {
GetPlayerPos(i,X,Y,Z);
GetPlayerPos(playerid, pX, pY, pZ);
if (pX >= X-radius && pX <= X+radius && pY >= Y-radius && pY <= Y+radius && pZ >= Z-radius && pZ <= Z+radius) {
SendPlayerMessageToPlayer(i,playerid,text);
}}}
return 1;
}

///////////////////////- FINISH -///////////////////////////////////////////////
public MoneyGrubScoreUpdate() {
for(new i=0; i<MAX_PLAYERS; i++) {
SetPlayerScore(i,GetPlayerMoney(i)); }}
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
	if(!gPlayerUsingLoopingAnim[playerid]) return;

	if(IsKeyJustDown(KEY_SPRINT,newkeys,oldkeys)) {
	    StopLoopingAnim(playerid);
        TextDrawHideForPlayer(playerid,txtAnimHelper);
    }
}
public PayDay() {
new string[256];
for(new i=0; i<=MAX_PLAYERS; i++)
GivePlayerMoney(i,PayDay_Amount);
format(string, sizeof(string),"~w~Pay~y~Day ~n~ ~n~ ~b~%d $",PayDay_Amount);
GameTextForAll(string, 1000, 1);
}