Why I Can't Compile? Its Always Error? Help Please!
#1

Code:
#if false == true
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
											           zTDM
											Gamemode created by djcabo
											   Mapping by Nikz
 												   Gm:TDM
                                                    Lines: 1.604
                                                   Mode:RP|Freeroam|Fun Gaming|TDM
                                                   Map: Los Santos
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
												 IMPORTANT NOTE:
						                     Lines which are comments
					                      	 should remain like that
					                      	   or may be removed
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
												Authors' Notes
								Scripter djcabo: You can freely edit this gamemode as long as you keep the credits
								Mapper Nikz: Have Fun with the gamemode
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
#endif

//=-=-=-=-=-=-=-=-=-=-=-=-=INCLUDES=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
#include <a_samp>
#include <SpikeStrip>
//#include <dini>
//#include <YSI\y_ini>
//#include <dudb>
#include <SII> // < Best INI Reading/Writing System I found >
//=-=-=-=-=-=-=-=-=-=-=-=-=PRAGMAS=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
#pragma tabsize 0
//#pragma unused ret_memcpy
//=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

//=-=-=-=-=-=-=-=-=-=-=-=-=DEFINES=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

//=-=-=-=-=-=-=-=-=-=-=-=-=TEAMS & GANGS=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
#define TEAM_BALLAS ( 0 )
#define TEAM_GROVE ( 1 )
#define TEAM_POLICE ( 2 )
//=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

//=-=-=-=-=-=-=-=-=-=-=-=-=DIALOG DEFINES=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
#define DIALOG_REGISTER 1
#define DIALOG_LOGIN 2
#define DIALOG_SUCCESS_1 3
#define DIALOG_SUCCESS_2 4
#define DIALOG_SHOP 5
#define DIALOG_VIPSHOP 6
#define DIALOG_VEHVIPSHOP 7
#define DIALOG_POLICEHELP 8
#define DIALOG_POLICEHELP2 9
//=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

//=-=-=-=-=-=-=-=-=-=-=-=-=ACCOUNT SAVING & LOADING PATH=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
#define SAVE "zTDM/%s.ini"
//=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

//=-=-=-=-=-=-=-=-=-=-=-=-=COLORS=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
#define COLOR_GROVE                       0x00FF80FF
#define COLOR_BALLAS                      0x8000FFFF
#define COLOR_TKS                         0x867F8CFF
#define BLACK                             0x000000FF
#define COLOR_NG                          0x04078AFF
#define COLOR_TM                          0xFFAC38FF
#define COLOR_PRIMAR                      0xB9F558FF
#define COLOR_HITMEN                      0xFF030300
#define COLOR_TAXI                        0xF7FF00FF
#define COLOR_SCHOOL                      0x66CCFFFF
#define COLOR_REPORTER                    0xC2A2DAFF
#define COLOR_SYSTEM                      0xEFEFF7AA
#define COLOR_ALBASTRU                    0x52FFE8AA
#define COLOR_PINK                        0xFF66FFAA
#define COLOR_SEA                         0x00808000
#define COLOR_BLUE                        0x2641FEAA
#define COLOR_NICERED                     0xFF0000FF
#define COLOR_ORANGE                      0xFF9900AA
#define COLOR_GRAD1                       0xC8D2AEFF
#define COLOR_GRAD2                       0xBFC0C2FF
#define COLOR_GRAD3                       0xCBCCCEFF
#define COLOR_GRAD4                       0xD8D8D8FF
#define COLOR_GRAD5                       0xE3E3E3FF
#define COLOR_GRAD6                       0xF0F0F0FF
#define COLOR_GREY                        0xAFAFAFAA
#define COLOR_GREEN                       0x33AA33AA
#define COLOR_RED                         0xAA3333AA
#define COLOR_LIGHTRED                    0xFF6347AA
#define COLOR_LIGHTBLUE                   0x33CCFFAA
#define COLOR_LIGHTGREEN                  0x9ACD32AA
#define YELLOW                            0xFFFF00AA
#define COLOR_YELLOW2                     0xF5DEB3AA
#define COLOR_WHITE                       0xFFFFFFAA
#define WHITE                             0xFFFFFFAA
#define COLOR_FADE1                       0xE6E6E6E6
#define COLOR_FADE2                       0xC8C8C8C8
#define COLOR_FADE3                       0xAAAAAAAA
#define COLOR_FADE4                       0x8C8C8C8C
#define COLOR_FADE5                       0x6E6E6E6E
#define COLOR_PURPLE                      0xC2A2DAAA
#define COLOR_DBLUE                       0x2641FEAA
#define COLOR_ALLDEPT                     0xFF8282AA
#define COLOR_NEWS                        0xFFA500AA
#define COLOR_OOC                         0xE0FFFFAA
#define TEAM_CYAN                         1
#define TEAM_BLUE                         2
#define TEAM_GREEN                        3
#define TEAM_ORANGE                       4
#define TEAM_COR                          5
#define TEAM_BAR                          6
#define TEAM_TAT                          7
#define TEAM_CUN                          8
#define TEAM_STR                          9
#define TEAM_HIT                          10
#define TEAM_ADMIN                        11
#define COLOR_Ballas                      0xBF15EAFF
#define COLOR_Grove                       0xFF8000FF
#define COLOR_yakuza                     0x4992B4FF
#define COLOR_HITMAN                      0xEA0000FF
#define COLOR_MAYOR                       0xB3F856FF
#define COLOR_YELLOW                      0xFFF700FF
#define COLOR_MEDIC                       0xB0514FFF
#define COLOR_PD                          0x4855F9FF
#define OBJECTIVE_COLOR                   0x64000064
#define TEAM_GREEN_COLOR                  0xFFFFFFAA
#define TEAM_JOB_COLOR                    0xFFB6C1AA
#define TEAM_HIT_COLOR                    0xFFFFFF00
#define TEAM_BLUE_COLOR                   0x8D8DFF00
#define COLOR_ADD                         0x63FF60AA
#define TEAM_Grove_COLOR                  0x00D900C8
#define TEAM_GROVE_COLOR                  0x00D900C8
#define TEAM_VAGOS_COLOR                  0xFFC801C8
#define TEAM_Ballas_COLOR                 0xD900D3C8
#define TEAM_BALLAS_COLOR                 0xD900D3C8
#define TEAM_AZTECAS_COLOR                0x01FCFFC8
#define TEAM_CYAN_COLOR                   0xFF8282AA
#define TEAM_ORANGE_COLOR                 0xFF830000
#define TEAM_COR_COLOR                    0x39393900
#define TEAM_BAR_COLOR                    0x00D90000
#define TEAM_TAT_COLOR                    0xBDCB9200
#define TEAM_CUN_COLOR                    0xD900D300
#define TEAM_STR_COLOR                    0x01FCFF00
#define TEAM_ADMIN_COLOR                  0x00808000
#define COLOR_INVIS                       0xAFAFAF00
#define COLOR_SPEC                        0xBFC0C200
//=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

//=-=-=-=-=-=-=-=-=-=-=-=-=FORWARDS=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
forward JailTimer(playerid);
forward Send();
//=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

//=-=-=-=-=-=-=-=-=-=-=-=-=ENUMS=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
enum pInfo
{
	AdminLevel,
	Money,
	Rank,
	Kills,
	Deaths,
	Gang,
	Password,
	VIP,
}
new pStats[MAX_PLAYERS][pInfo];
//=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

//=-=-=-=-=-=-=-=-=-=-=-=-=GLOBAL NEWs=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
new LoggedIn[MAX_PLAYERS];
new Jailed[MAX_PLAYERS];
new sirenon[MAX_PLAYERS];
new	PolicePursuitVeh1;
new	PolicePursuitVeh2;
new	PolicePursuitVeh3;
new PolicePrisonierTransport;
new L1;
new	L2;
new	L3;
new	L4;
new	L5;
new	L6;
new	L7;
new	L8;
new	L9;
new B1;
new	B2;
new	B3;
new	B4;
new G1;
new	G2;
new	G3;
new sirenturn[4];
new Killstreak[MAX_PLAYERS];
new MSGs[][] =
{
    "Gamemode created by djcabo (www.djcabofreeroam.com)",
    "Mapping done by Nikz (www.djcabofreeroam.com)",
    "Type /shop to open the Shop !",
    "Dj Cabo's Freeroam Forum(www.djcabofreeroam.com)"
};
//=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

//=-=-=-=-=-=-=-=-=-=-=-=-=MAIN FUNCTION=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
main()
{
	print("\n----------------------------------");
	print(" Dj Cabo's Freeroam");
	print("----------------------------------\n");
}
//=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-


public OnGameModeInit()
{
	// Set the GameMode Text
	SetGameModeText("RP|Freeroam|Fun Gaming|TDM");
	SetTimer("Send", 60000, true);
//=-=-=-=-=-=-=-=-=-=-=-=-=TEAM CLASSES=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
	AddPlayerClass(105,2526.2942,-1676.6444,19.9302,87.8721,24,200,0,0,0,0); // Grove [ID 0]
    AddPlayerClass(106,2526.2942,-1676.6444,19.9302,87.8721,24,200,0,0,0,0); // Grove [ID 1]
    AddPlayerClass(107,2526.2942,-1676.6444,19.9302,87.8721,24,200,0,0,0,0); // Grove [ID 2]
    AddPlayerClass( 102, 2165.0474,-1674.9874,15.0859, 269.1425, 5, 0, 22, 100, 32, 50 ); // Ballas [ID 3]
    AddPlayerClass(281,1527.4945,-1678.1912,5.8906,80.0,24,24,25,25,26,26); // Police [ID 4]
//=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

    new siren1 = CreateObject( 19420,0,0,0,0,0,0,80 );
    new siren2 = CreateObject( 19420,0,0,0,0,0,0,80 );
    new siren3 = CreateObject( 19420,0,0,0,0,0,0,80 );
    new siren4 = CreateObject( 19420,0,0,0,0,0,0,80 );
	SetWeather(2);
	PolicePrisonierTransport = AddStaticVehicle(428,1585.2485,-1667.6521,6.0162,269.8068,4,75); // Police Prisonier Transport <Securicar>
	PolicePursuitVeh1 = AddStaticVehicle(541,1546.0282,-1676.0120,5.5156,91.2819,0,0); // Bullet
	PolicePursuitVeh2 = AddStaticVehicle(559,1546.1516,-1684.7251,5.5469,88.0085,0,0); // Jester
	PolicePursuitVeh3 = AddStaticVehicle(415,1546.5760,-1680.2844,5.6629,88.5523,0,0); // Cheetah
	AttachObjectToVehicle( siren1, PolicePursuitVeh1, 0.000000, -0.200000, 0.599999, 0.000000, 0.000000, 0.000000 ); // Attach Siren to Bullet Police Pursuit Vehicle
	AttachObjectToVehicle( siren2, PolicePursuitVeh2, 0.000000, -0.300000, 0.699999, 0.000000, 0.000000, 0.000000 ); // Attach Siren to Jester Police Pursuit Vehicle
	AttachObjectToVehicle( siren3, PolicePursuitVeh3, -0.000000, -0.400000, 0.600000, 0.000000, 0.000000, 0.000000 ); // Attach Siren to Cheetah Police Pursuit Vehicle
	AttachObjectToVehicle( siren4, PolicePrisonierTransport, 0.000000, 1.100000, 1.400000, 0.000000, 0.000000, 0.000000 ); // Attach Siren To Police Prisonier Transport <Securicar>
	//L1 = AddStaticVehicle(596,1537.4346,-1667.9000,13.1842,0.1255,0,1); // LSPD POLICE 1
	//L2 = AddStaticVehicle(596,1537.2668,-1677.6361,13.1840,0.4512,0,1); // LSPD POLICE 2
	L3 = AddStaticVehicle(596,1601.1913,-1692.0131,5.6120,91.0192,0,1); // LSPD POLICE 3
	L4 = AddStaticVehicle(596,1600.2858,-1687.8815,5.6110,90.0246,0,1); // LSPD POLICE 4
	L5 = AddStaticVehicle(596,1600.6755,-1684.0406,5.6095,90.7031,0,1); // LSPD POLICE 5
	L6 = AddStaticVehicle(596,1602.0184,-1696.0391,5.6115,90.3589,0,1); // LSPD POLICE 6
	L7 = AddStaticVehicle(596,1602.1854,-1700.3385,5.6106,90.0405,0,1); // LSPD POLICE 7
	L8 = AddStaticVehicle(596,1595.3568,-1709.7322,5.6109,0.7877,0,1); // LSPD POLICE 8
	L9 = AddStaticVehicle(596,1591.3458,-1710.2609,5.6107,359.8351,0,1); // LSPD POLICE 9
	B1 = AddStaticVehicle(517,2183.5488,-1680.4927,13.8720,349.5660,126,126); // BALLAS 1
	B2 = AddStaticVehicle(517,2187.6731,-1662.8025,14.7008,347.1707,126,126); // BALLAS 2
	B3 = AddStaticVehicle(518,2164.3962,-1684.3077,14.7567,320.1696,126,126); // BALLAS 3
	B4 = AddStaticVehicle(518,2166.4600,-1686.0868,14.7567,341.5892,126,126); // BALLAS 4
	G1 = AddStaticVehicle(517,2509.6941,-1668.0394,13.3056,6.9947,86,86); // GROVE 1
	G2 = AddStaticVehicle(517,2497.8762,-1683.5112,13.2356,281.1148,86,86); // GROVE 2
	G3 = AddStaticVehicle(517,2500.9380,-1655.1943,13.3001,69.3356,86,86); // GROVE 3
//=-=-=-=-=-=-=-=-=-=-=-=-=MAPS BY Nikz=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    CreateObject(2924,266.20001221,83.80000305,1001.20001221,0.00000000,0.00000000,92.00000000); //object(kmb_crash3door) (1)
	CreateObject(2924,266.29998779,88.50000000,1001.20001221,0.00000000,0.00000000,92.00000000); //object(kmb_crash3door) (2)
	CreateObject(2603,263.20001221,85.80000305,1000.50000000,0.00000000,0.00000000,0.00000000); //object(police_cell_bed) (2)
	CreateObject(2602,263.00000000,87.80000305,1000.59997559,0.00000000,0.00000000,89.99993896); //object(police_cell_toilet) (1)
	CreateObject(2603,263.29998779,81.19999695,1000.50000000,0.00000000,0.00000000,0.00000000); //object(police_cell_bed) (3)
	CreateObject(2602,263.00000000,83.40000153,1000.59997559,0.00000000,0.00000000,0.00000000); //object(police_cell_toilet) (2)
	CreateObject(1499,1582.59997559,-1637.80004883,12.50000000,0.00000000,0.00000000,0.00000000); //object(gen_doorint05) (2)
	CreateObject(970,1535.40002441,-1664.00000000,12.89999962,0.00000000,0.00000000,0.00000000); //object(fencesmallb) (1)
	CreateObject(970,1535.30004883,-1681.40002441,12.89999962,0.00000000,0.00000000,0.00000000); //object(fencesmallb) (2)
	CreateObject(970,1537.40002441,-1679.19995117,12.89999962,0.00000000,0.00000000,90.00000000); //object(fencesmallb) (3)
	CreateObject(970,1537.40002441,-1674.80004883,12.89999962,0.00000000,0.00000000,90.00000000); //object(fencesmallb) (4)
	CreateObject(970,1537.40002441,-1670.50000000,12.89999962,0.00000000,0.00000000,90.00000000); //object(fencesmallb) (6)
	CreateObject(970,1537.40002441,-1666.19995117,12.89999962,0.00000000,0.00000000,90.00000000); //object(fencesmallb) (7)
	CreateObject(970,1533.19995117,-1666.09997559,12.89999962,0.00000000,0.00000000,90.00000000); //object(fencesmallb) (8)
	CreateObject(970,1533.19995117,-1670.40002441,12.89999962,0.00000000,0.00000000,90.00000000); //object(fencesmallb) (9)
	CreateObject(970,1533.19995117,-1674.69995117,12.89999962,0.00000000,0.00000000,90.00000000); //object(fencesmallb) (10)
	CreateObject(970,1533.19995117,-1679.09997559,12.89999962,0.00000000,0.00000000,90.00000000); //object(fencesmallb) (11)
	CreateObject(8990,1536.50000000,-1674.40002441,13.10000038,0.00000000,0.00000000,270.00000000); //object(bush11_lvs) (1)
	CreateObject(8991,1536.50000000,-1671.09997559,13.10000038,0.00000000,0.00000000,270.00000000); //object(bush12_lvs) (1)
	CreateObject(8991,1535.80004883,-1671.69995117,13.10000038,0.00000000,0.00000000,269.99450684); //object(bush12_lvs) (2)
	CreateObject(8990,1535.80004883,-1674.30004883,13.10000038,0.00000000,0.00000000,269.99450684); //object(bush11_lvs) (2)
	CreateObject(8990,1535.00000000,-1671.30004883,13.10000038,0.00000000,0.00000000,269.99450684); //object(bush11_lvs) (3)
	CreateObject(8991,1535.30004883,-1674.50000000,13.10000038,0.00000000,0.00000000,269.99450684); //object(bush12_lvs) (3)
	CreateObject(8990,1534.09997559,-1671.19995117,13.10000038,0.00000000,0.00000000,269.99450684); //object(bush11_lvs) (4)
	CreateObject(8991,1534.50000000,-1674.59997559,13.10000038,0.00000000,0.00000000,269.99450684); //object(bush12_lvs) (4)
	CreateObject(8990,1533.90002441,-1671.50000000,13.10000038,0.00000000,0.00000000,269.99450684); //object(bush11_lvs) (5)
	CreateObject(8991,1533.90002441,-1674.09997559,13.10000038,0.00000000,0.00000000,269.99450684); //object(bush12_lvs) (5)

//=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

	return 1;
}

public JailTimer(playerid)
{
	SpawnPlayer(playerid);
    GameTextForPlayer(playerid,"~w~Released~r~From~n~~g~Jail",3000,1);
    SetPlayerPos(playerid,1537.7169,-1675.8016,13.5469);
    Jailed[playerid] = 0;
}
public Send()
{
    new MSG = random(sizeof(MSGs));
	SendClientMessageToAll(COLOR_LIGHTBLUE, MSGs[MSG]);
}
public OnGameModeExit()
{
	return 1;
}

public OnPlayerRequestClass(playerid, classid)
{
	switch ( classid )
    {
        case 0: // [CLASSID 0]
        {
            SetPlayerPos(playerid,2526.2942,-1676.6444,19.9302);
            SetPlayerFacingAngle(playerid,87.8270);
			SetPlayerCameraPos(playerid,2526.2942,-1676.6444,19.9302);
			SetPlayerCameraLookAt(playerid,2526.2942,-1676.6444,19.9302);
            GameTextForPlayer( playerid, "~r~Grove", 300, 3 );
            SetPlayerTeam( playerid, TEAM_GROVE );
        }

        case 1: // [CLASSID 1]
        {
            SetPlayerPos(playerid,2526.2942,-1676.6444,19.9302);
            SetPlayerFacingAngle(playerid,87.8270);
			SetPlayerCameraPos(playerid,2526.2942,-1676.6444,19.9302);
			SetPlayerCameraLookAt(playerid,2526.2942,-1676.6444,19.9302);
            GameTextForPlayer( playerid, "~g~GROVE", 300, 3 );
            SetPlayerTeam( playerid, TEAM_GROVE );
        }

        case 2: // [CLASSID 2]
        {
            SetPlayerPos(playerid,2526.2942,-1676.6444,19.9302);
            SetPlayerFacingAngle(playerid,87.8270);
			SetPlayerCameraPos(playerid,2526.2942,-1676.6444,19.9302);
			SetPlayerCameraLookAt(playerid,2526.2942,-1676.6444,19.9302);
            GameTextForPlayer( playerid, "~g~GROVE", 300, 3 );
            SetPlayerTeam( playerid, TEAM_GROVE );
        }
        case 3: // [CLASSID 3]
        {
            SetPlayerPos(playerid,2165.0474,-1674.9874,15.0859);
            SetPlayerFacingAngle(playerid,87.8270);
			SetPlayerCameraPos(playerid,2165.0474,-1674.9874,15.0859);
			SetPlayerCameraLookAt(playerid,2165.0474,-1674.9874,15.0859);
            GameTextForPlayer( playerid, "~p~BALLAS", 300, 3 );
            SetPlayerTeam( playerid, TEAM_BALLAS );
        }
        case 4: // [CLASSID 4]
        {
            SetPlayerPos(playerid,1537.7169,-1675.8016,13.5469);
            SetPlayerFacingAngle(playerid,87.8270);
            SetPlayerCameraPos(playerid,1537.7169,-1675.8016,13.5469);
            SetPlayerCameraLookAt(playerid,1537.7169,-1675.8016,13.5469);
            GameTextForPlayer(playerid,"~b~POLICE",300,3);
            SetPlayerTeam(playerid,TEAM_POLICE);
		}
    }
	return 1;
}

public OnPlayerConnect(playerid)
{
	new string[128];
	format(string,sizeof(string),"[JOIN] %s has joined the server !",PlayerName(playerid));
	SendClientMessageToAll(COLOR_NICERED,string);
//=-=-=-=-=-=-=-=-=-=-=-=-=REGISTER & LOGIN=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
	LoggedIn[playerid] = 0;
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, sizeof(name));
    if(fexist(SAVE_PATH(playerid)))
    {
        ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT, "Login", "This Account name is registered , input the password below to log in !", "Login", "Leave");
    }
    else
    {
        ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, "Register Account", "This Account name is not registered, input a password below to register !", "Register", "Leave");
	}
	return 1;
}
//=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-


public OnPlayerDisconnect(playerid, reason)
{
    new string[128];
	format(string,sizeof(string),"[LEAVE] %s has left the server !",PlayerName(playerid));
	SendClientMessageToAll(COLOR_NICERED,string);
	if(INI_Open(SAVE_PATH(playerid))) {
    INI_WriteInt("Money",GetPlayerMoney(playerid));
    INI_WriteInt("AdminLevel",pStats[playerid][AdminLevel]);
    INI_WriteInt("VIP",pStats[playerid][VIP]);
    INI_WriteInt("Kills",pStats[playerid][Kills]);
    INI_WriteInt("Deaths",pStats[playerid][Deaths]);
    INI_WriteInt("Rank",pStats[playerid][Rank]);
    INI_Save();
    INI_Close();
    LoggedIn[playerid] = 0;
    }
	return 1;
}

public OnPlayerSpawn(playerid)
{
    new string[128];
	new idx;
	new sendername[ MAX_PLAYER_NAME ];
	#pragma unused idx
	#pragma unused sendername
	ResetPlayerWeapons(playerid);
	if(GetPlayerTeam(playerid) == TEAM_BALLAS)
	{
	    SendClientMessage(playerid,COLOR_PINK,"You have spawned as Ballas !");
	    SendClientMessage(playerid,COLOR_PINK,"You have been given a Deagle !");
	    GivePlayerWeapon(playerid,24,24);
	    SetPlayerHealth(playerid,100);
	    SetPlayerColor(playerid,COLOR_PURPLE);
	    for(new i = 0; i < MAX_PLAYERS; i++)
	    {
	        if(pStats[i][AdminLevel] >= 1)
	        {
	            format(string,sizeof(string),"[ADMIN] %s has spawned as Ballas !",PlayerName(playerid));
	            SendClientMessage(i,COLOR_LIGHTBLUE,string);
			}
		}
	}
	if(GetPlayerTeam(playerid) == TEAM_GROVE)
	{
	    SendClientMessage(playerid,COLOR_GREEN,"You have spawned as Grove !");
	    SendClientMessage(playerid,COLOR_GREEN,"You have been given a Deagle !");
	    GivePlayerWeapon(playerid,24,24);
	    SetPlayerHealth(playerid,100);
	    SetPlayerColor(playerid,COLOR_GREEN);
	    for(new i = 0; i < MAX_PLAYERS; i++)
	    {
	        if(pStats[i][AdminLevel] >= 1)
	        {
	            format(string,sizeof(string),"[ADMIN] %s has spawned as Grove !",PlayerName(playerid));
	            SendClientMessage(i,COLOR_LIGHTBLUE,string);
			}
		}
	}
	if(GetPlayerTeam(playerid) == TEAM_POLICE)
	{
	    SendClientMessage(playerid,COLOR_LIGHTBLUE,"You have spawned as Police !");
	    SendClientMessage(playerid,COLOR_LIGHTBLUE,"You have been given Police Equipment !");
	    SendClientMessage(playerid,COLOR_LIGHTBLUE,"Type /policehelp for information & help about your duty !");
	    GivePlayerWeapon(playerid,24,200);
	    GivePlayerWeapon(playerid,31,500);
	    GivePlayerWeapon(playerid,25,100);
	    GivePlayerWeapon(playerid,29,500);
	    GivePlayerWeapon(playerid,17,50);
	    GivePlayerWeapon(playerid,3,999);
	    SetPlayerHealth(playerid,100);
	    SetPlayerArmour(playerid,100);
	    SetPlayerColor(playerid,COLOR_BLUE);
	    for(new i = 0; i < MAX_PLAYERS; i++)
	    {
	        if(pStats[i][AdminLevel] >= 1)
	        {
	            format(string,sizeof(string),"[ADMIN] %s has spawned as Police !",PlayerName(playerid));
	            SendClientMessage(i,COLOR_LIGHTBLUE,string);
			}
		}
	}
	return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{
	if(Jailed[playerid] == 1)
	{
	    SetPlayerPos(playerid,264.6237,86.1668,1001.0391);
    	SetPlayerInterior(playerid,6);
    	SendClientMessage(playerid,COLOR_NICERED,"You haven't finished your jail time !");
	}
	SetPlayerWantedLevel(killerid,6);
	SendClientMessage(killerid,COLOR_PURPLE,"You have committed a Crime: First Degree Murder");
	SendClientMessage(killerid,COLOR_PURPLE,"Your Current Wanted Level: 6");
	SetPlayerColor(playerid,COLOR_NICERED);
	if(GetPlayerWantedLevel(playerid) >= 1)
	{
	    if(GetPlayerTeam(killerid) == TEAM_POLICE)
	    {
	        new SuspectDeath[128];
			SendClientMessage(killerid,COLOR_LIGHTBLUE,"Congratulations! You have killed a Suspect !");
			SendClientMessage(killerid,COLOR_LIGHTBLUE,"You receive 5000$ for killing a Suspect !");
			format(SuspectDeath, 128, "~w~Suspect~r~Killed~n~Bonus~g~$5000");
			GameTextForPlayer(killerid, SuspectDeath, 5000, 1);
			SendClientMessage(playerid,COLOR_NICERED,"You have been killed by an Officer. You are jailed for 300 Seconds");
			SetTimer("JailTimer",300000,false); // Jailed for 300 seconds
   			new Skill[128];
      		format(Skill,128,"Police Officer %s has neutralized Suspect %s",PlayerName(killerid),PlayerName(playerid));
        	SendClientMessageToAll(COLOR_PURPLE,Skill);
        	SetPlayerPos(playerid,264.6237,86.1668,1001.0391);
        	SetPlayerInterior(playerid,6);
        	Jailed[playerid] = 1;
		}
	}

	pStats[playerid][Deaths]++;
	pStats[killerid][Kills]++;
	SendClientMessage(killerid,COLOR_LIGHTBLUE,"INFO: You killed an enemy and you've been rewarded 2000$ !");
	pStats[killerid][Money]+=2000;
	GivePlayerMoney(killerid,2000);
	Killstreak[killerid]++;
	Killstreak[playerid] = 0;
	if(Killstreak[killerid] == 3)
	{
		new string[128];
		format(string,128,"INFO: %s has made a Killstreak of 3 and has been rewarded 5000$ !",PlayerName(killerid));
		SendClientMessageToAll(COLOR_LIGHTBLUE,string);
		pStats[killerid][Money]+=5000;
		GivePlayerMoney(killerid,5000);
		Killstreak[killerid]++;
		Killstreak[playerid] = 0;
	}
	if(Killstreak[killerid] == 6)
	{
		new string[128];
		format(string,128,"INFO: %s has made a Killstreak of 6 and has been rewarded 10000$ !",PlayerName(killerid));
		SendClientMessageToAll(COLOR_LIGHTBLUE,string);
		pStats[killerid][Money]+=10000;
		GivePlayerMoney(killerid,10000);
		Killstreak[killerid]++;
		Killstreak[playerid] = 0;
	}
	return 1;
}

public OnVehicleSpawn(vehicleid)
{
	return 1;
}

public OnVehicleDeath(vehicleid, killerid)
{
	if(vehicleid == PolicePursuitVeh1)
	{
	    DestroyObject(sirenturn[0]);
	}
	if(vehicleid == PolicePursuitVeh2)
	{
	    DestroyObject(sirenturn[1]);
 	}
	if(vehicleid == PolicePursuitVeh3)
	{
	    DestroyObject(sirenturn[2]);
 	}
	return 1;
}

public OnPlayerText(playerid, text[])
{
	return 1;
}

public OnPlayerCommandText(playerid, cmdtext[])
{
	/*new tmp[128];
	new idx;
	new giveplayer[MAX_PLAYER_NAME];
	new para1;*/
	new string[128];
	//new sendername[MAX_PLAYER_NAME];
	new cmd[256], idx;
	cmd = strtok(cmdtext, idx);
	new sendername[ MAX_PLAYER_NAME ];
	if (strcmp("/makeadmin", cmd, true) == 0)
	{
		//new string[128];
       new tmp[256];
       new player[MAX_PLAYER_NAME], giveplayer[MAX_PLAYER_NAME];
       new giveplayerid;
       if (pStats[playerid][AdminLevel] >= 8)
       {
               tmp = strtok(cmdtext, idx);
               if(!strlen(tmp))
               {
                       SendClientMessage(playerid, COLOR_ORANGE, "USAGE: /makeadmin [playerid] [level]");
                       SendClientMessage(playerid, COLOR_ORANGE, "FUNCTION: Set the admin level of a player.");
                       return 1;
               }
               giveplayerid = ReturnUser(tmp);
               tmp = strtok(cmdtext, idx);
               new level = strval(tmp);
               if(giveplayerid != INVALID_PLAYER_ID)
               {
                       GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
                       GetPlayerName(playerid, player, sizeof(player));
                       pStats[giveplayerid][AdminLevel] = level;
                       printf("Admin %s made %s a level %d admin.", player, giveplayer, level);
                       format(string, sizeof(string), "You have been promoted to admin level %d by %s.", level,  player);
                       SendClientMessage(giveplayerid, 0x00C2ECFF, string);
                       format(string, sizeof(string), "You have given %s level %d admin.",  giveplayer,pStats[giveplayerid][AdminLevel]);
                       SendClientMessage(playerid, 0x00C2ECFF, string);
               }
               else if(giveplayerid == INVALID_PLAYER_ID)
               {
                       format(string, sizeof(string), "%i is not an active player.", giveplayerid);
                       SendClientMessage(playerid, 0xE60000FF, string);
               }
       }
       else
       {
           SendClientMessage(playerid, 0xE60000FF, "You are not the server owner!");
       }
		return 1;
	}
	if(strcmp("/spikestrip",cmd,true) == 0)
	{
	    if(GetPlayerTeam(playerid) == TEAM_POLICE)
	    {
			new Float:plocx,Float:plocy,Float:plocz,Float:ploca;
        	GetPlayerPos(playerid, plocx, plocy, plocz);
        	GetPlayerFacingAngle(playerid,ploca);
        	CreateStrip(plocx,plocy,plocz,ploca);
			SendClientMessage(playerid,COLOR_LIGHTBLUE,"INFO: You have placed a spike strip at your position");
            for(new i = 0; i < MAX_PLAYERS; i++)
            {
                if(GetPlayerTeam(i) == TEAM_POLICE)
                {
					format(string,sizeof(string),"Police Officer %s has placed a spikestrip !",PlayerName(playerid));
					SendClientMessage(i,COLOR_PURPLE,string);
				}
			}
		}
		return 1;
}
	if(strcmp("/removespikestrip",cmd,true) == 0)
	{
	    DeleteClosestStrip(playerid);
	    return 1;
	}
	if(strcmp("/kick",cmd,true) == 0)
	{
	    new tmp[256];
       	new giveplayer[MAX_PLAYER_NAME];
       	new giveplayerid;
	    if(pStats[playerid][AdminLevel] >= 1)
	    {
	        tmp = strtok(cmdtext, idx);
	        giveplayerid = ReturnUser(tmp),	GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
			if(!strlen(tmp))
			{
				SendClientMessage(playerid, COLOR_GRAD2, "{00FF00}Correct Usage:{FFFFFF} /kick [playerid/PartOfName] [reason]");
				return 1;
			}
				new length = strlen(cmdtext);
							while ((idx < length) && (cmdtext[idx] <= ' '))
							{
								idx++;
							}
							new offset = idx;
							new result[64];
							while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
							{
								result[idx - offset] = cmdtext[idx];
								idx++;
							}
        		result[idx - offset] = EOS;
							if(!strlen(result))
							{
								SendClientMessage(playerid, COLOR_GRAD2, "{00FF00}Correct Usage:{FFFFFF} /kick [playerid/PartOfName] [reason]");
								return 1;
							}
                format(string, sizeof(string), "%s was kicked by Admin %s, reason: %s", giveplayer,PlayerName(playerid), (result));
				SendClientMessageToAll(COLOR_LIGHTRED, string);
				Kick(giveplayerid);
		}
				return 1;
			}
    if(strcmp("/ban",cmd,true) == 0)
	{
	    new tmp[256];
       	new giveplayer[MAX_PLAYER_NAME];
       	new giveplayerid;
	    if(pStats[playerid][AdminLevel] >= 1)
	    {
	        tmp = strtok(cmdtext, idx);
	        giveplayerid = ReturnUser(tmp),	GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
			if(!strlen(tmp))
			{
				SendClientMessage(playerid, COLOR_GRAD2, "{00FF00}Correct Usage:{FFFFFF} /ban [playerid/PartOfName] [reason]");
				return 1;
			}
				new length = strlen(cmdtext);
							while ((idx < length) && (cmdtext[idx] <= ' '))
							{
								idx++;
							}
							new offset = idx;
							new result[64];
							while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
							{
								result[idx - offset] = cmdtext[idx];
								idx++;
							}
        		result[idx - offset] = EOS;
							if(!strlen(result))
							{
								SendClientMessage(playerid, COLOR_GRAD2, "{00FF00}Correct Usage:{FFFFFF} /ban [playerid/PartOfName] [reason]");
								return 1;
							}
                format(string, sizeof(string), "%s was banned by Admin %s, reason: %s", giveplayer, PlayerName(playerid), (result));
				SendClientMessageToAll(COLOR_LIGHTRED, string);
				Ban(giveplayerid);
		}
				return 1;
			}
	if(strcmp("/policehelp",cmd,true) == 0)
	{
	    ShowPlayerDialog(playerid,DIALOG_POLICEHELP,DIALOG_STYLE_MSGBOX,"Police Help","In your Police Officer Duty you must remember:\n{FC0000}RED{FFFFFF}- Wanted Player you must kill him/her\n{11BF11}Green{FFFFFF}- Player is in Grove Gang\n{CB18DB}Purple{FFFFFF}- Player is in Ballas Gang","OK","Police Commands");
	    return 1;
 }
	if(strcmp("/getmypos",cmd,true) == 0)       // This Command
	{                                           // Is for testing
		new Float:x;                            // You can delete/comment it
		new Float:y;
		new Float:z;
		GetPlayerPos(playerid,x,y,z);
		format(string,sizeof(string),"%f,%f,%f",x,y,z);
		SendClientMessage(playerid,COLOR_NICERED,string);
		printf(string);
		return 1;
 }
    if(strcmp("/pd",cmd,true) == 0) // This command is for testing
    {                               // You can delete/comment it
        SetPlayerPos(playerid,1546.0282,-1676.0120,5.5156);
        return 1;
	}
	if(strcmp("/vspawn",cmd,true) == 0)     // This command is for testing
	{                                       // You can delete/comment it
	    new tmp[256];
	    tmp = strtok(cmdtext,idx);
	    new id = strval(tmp);
	      new Float:x;
	       new Float:y;
	        new Float:z;
		GetPlayerPos(playerid,x,y,z);
		CreateVehicle(id,x,y,z,80.0,1,1,999999999);
	return 1;
}
	if(strcmp("/r",cmd,true) == 0 || strcmp("/radio",cmd,true) == 0)
	{
	    if(GetPlayerTeam(playerid) != TEAM_POLICE) return SendClientMessage(playerid,COLOR_NICERED,"You're not a Cop !");
	    new length = strlen(cmdtext);
		while ((idx < length) && (cmdtext[idx] <= ' '))
		{
			idx++;
		}
	  	new offset = idx;
		new result[64];
	    while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
			{
				result[idx - offset] = cmdtext[idx];
				idx++;
			}
        result[idx - offset] = EOS;
	    if(!strlen(result)) return SendClientMessage(playerid,COLOR_LIGHTBLUE,"Correct Usage: /radio [TEXT]");
	    for(new i = 0; i < MAX_PLAYERS; i++)
	    {
	        if(GetPlayerTeam(i) == TEAM_POLICE)
	        {
	            format(string,sizeof(string),"[POLICE RADIO] Police Officer %s : %s",PlayerName(playerid),result);
	            SendClientMessage(i,COLOR_LIGHTBLUE,string);
			}
		}
		return 1;
 }
 if(strcmp("/gc",cmd,true) == 0 || strcmp("/gangchat",cmd,true) == 0)
	{
	    if(GetPlayerTeam(playerid) == TEAM_POLICE) return SendClientMessage(playerid,COLOR_NICERED,"You're not a Gang Member ! Use /radio instead !");
	    new length = strlen(cmdtext);
		while ((idx < length) && (cmdtext[idx] <= ' '))
		{
			idx++;
		}
	  	new offset = idx;
		new result[64];
	    while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
			{
				result[idx - offset] = cmdtext[idx];
				idx++;
			}
        result[idx - offset] = EOS;
	    if(!strlen(result)) return SendClientMessage(playerid,COLOR_LIGHTBLUE,"Correct Usage: /gangchat [TEXT]");
	    for(new i = 0; i < MAX_PLAYERS; i++)
	    {
			if(GetPlayerTeam(playerid) == TEAM_GROVE)
			{
	        if(GetPlayerTeam(i) == TEAM_GROVE)
	        {
	            format(string,sizeof(string),"[GANG CHAT] Gang Member %s : %s",PlayerName(playerid),result);
	            SendClientMessage(i,COLOR_GREEN,string);
			}
			}
			if(GetPlayerTeam(playerid) == TEAM_BALLAS)
			{
			if(GetPlayerTeam(i) == TEAM_BALLAS)
			{
			    format(string,sizeof(string),"[GANG CHAT] Gang Member %s : %s",PlayerName(playerid),result);
	            SendClientMessage(i,COLOR_PURPLE,string);
			}
			}
		}
		return 1;
 }
    if(strcmp("/setweather",cmd,true) == 0)
	{
	    new tmp[256];
	    tmp = strtok(cmdtext,idx);
	    new id = strval(tmp);
		SetPlayerWeather(playerid,id);
	return 1;
}

	if (strcmp("/setmoney",cmd,true) == 0)
	{
 		new tmp[256];
       new player[MAX_PLAYER_NAME], giveplayer[MAX_PLAYER_NAME];
       new giveplayerid;
       if(pStats[playerid][AdminLevel] >=2)
       {
			   tmp = strtok(cmdtext, idx);
               if(!strlen(tmp))
               {
                       SendClientMessage(playerid, COLOR_ORANGE, "USAGE: /setmoney [playerid] [money]");
                       SendClientMessage(playerid, COLOR_ORANGE, "FUNCTION: Set the money of a player.");
                       return 1;
               }
			   giveplayerid = ReturnUser(tmp);
               tmp = strtok(cmdtext, idx);
               new money = strval(tmp);
               if(giveplayerid != INVALID_PLAYER_ID)
               {
                       GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
                       GetPlayerName(playerid, player, sizeof(player));
                       pStats[giveplayerid][Money] = money;
                       ResetPlayerMoney(giveplayerid);
                       GivePlayerMoney(playerid,money);
                       printf("Admin %s has set %s's money to %d.", player, giveplayer, money);
                       format(string, sizeof(string), "Your money has been set to %d by %s.", money,  player);
                       SendClientMessage(giveplayerid, 0x00C2ECFF, string);
                       format(string, sizeof(string), "You have set %s's money to %d.",  giveplayer,pStats[giveplayerid][Money]);
                       SendClientMessage(playerid, 0x00C2ECFF, string);
               }
               else if(giveplayerid == INVALID_PLAYER_ID)
               {
                       format(string, sizeof(string), "%i is not an active player.", giveplayerid);
                       SendClientMessage(playerid, 0xE60000FF, string);
               }
       }
       else
       {
           SendClientMessage(playerid, 0xE60000FF, "You are not a Regular Admin!");
       }
		return 1;
	}

	if (strcmp("/admins", cmdtext, true) == 0)
	{
	    SendClientMessage(playerid,COLOR_GREEN,"Administrators Online:");
	    for(new i = 0; i < MAX_PLAYERS; i++)
	    {
	        if(pStats[i][AdminLevel] == 1)
	        {
	            GetPlayerName(i, sendername, sizeof(sendername));
				format(string, 128, "Trial Admin - %s[ID: %d]", sendername,i);
				SendClientMessage(playerid, 0xFFD500FF, string);
			}
			if(pStats[i][AdminLevel] == 2)
			{
			    GetPlayerName(i, sendername, sizeof(sendername));
				format(string, 128, "Regular Admin - %s[ID: %d]", sendername,i);
				SendClientMessage(playerid, 0x4EB1CFFF, string);
			}
			if(pStats[i][AdminLevel] == 3)
			{
				GetPlayerName(i, sendername, sizeof(sendername));
				format(string, 128, "Super Admin - %s[ID: %d]", sendername,i);
				SendClientMessage(playerid, 0xB966DCFF, string);
			}
			if(pStats[i][AdminLevel] == 4)
			{
			    GetPlayerName(i, sendername, sizeof(sendername));
				format(string, 128, "Lead Admin - %s[ID: %d]", sendername,i);
				SendClientMessage(playerid, 0x6ADC66FF, string);
			}
			if(pStats[i][AdminLevel] == 5)
			{
			    GetPlayerName(i, sendername, sizeof(sendername));
				format(string, 128, "Super Lead Admin - %s[ID: %d]", sendername,i);
				SendClientMessage(playerid, 0xFF6A6AFF, string);
			}
			if(pStats[i][AdminLevel] == 6)
			{
   				GetPlayerName(i, sendername, sizeof(sendername));
				format(string, 128, "Head Admin - %s[ID: %d]", sendername,i);
				SendClientMessage(playerid, 0x6AFFF0FF, string);
			}
			if(pStats[i][AdminLevel] == 7)
			{
			    GetPlayerName(i, sendername, sizeof(sendername));
				format(string, 128, "Co-Owner - %s[ID: %d]", sendername,i);
				SendClientMessage(playerid, COLOR_BLUE, string);
			}
			if(pStats[i][AdminLevel] == 8)
			{
			    GetPlayerName(i, sendername, sizeof(sendername));
				format(string, 128, "Owner - %s[ID: %d]", sendername,i);
				SendClientMessage(playerid, 0xFF0000FF, string);
			}
		}
		return 1;
 }
    if(strcmp("/shop",cmd,true) == 0)
    {
        ShowPlayerDialog(playerid,DIALOG_SHOP,DIALOG_STYLE_LIST,"Weapons Shop","AK-47							$5000\nM4							$4500\nDeagle							$2000\nMP5							$2500\nUzi							$3000\nVIP Shop","Buy","Exit");
	return 1;
}
    if (strcmp("/makevip", cmd, true) == 0)
	{
		//new string[128];
       new tmp[256];
       new player[MAX_PLAYER_NAME], giveplayer[MAX_PLAYER_NAME];
       new giveplayerid;
       if (pStats[playerid][AdminLevel] >= 4)
       {
               tmp = strtok(cmdtext, idx);
               if(!strlen(tmp))
               {
                       SendClientMessage(playerid, COLOR_ORANGE, "USAGE: /makevip [playerid] [level]");
                       SendClientMessage(playerid, COLOR_ORANGE, "FUNCTION: Set the VIP level of a player.");
                       return 1;
               }
               giveplayerid = ReturnUser(tmp);
               tmp = strtok(cmdtext, idx);
               new level = strval(tmp);
               if(giveplayerid != INVALID_PLAYER_ID)
               {
                       GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
                       GetPlayerName(playerid, player, sizeof(player));
                       pStats[giveplayerid][VIP] = level;
                       printf("Admin %s made %s a level %d VIP.", player, giveplayer, level);
                       format(string, sizeof(string), "You have been promoted to VIP level %d by %s.", level,  player);
                       SendClientMessage(giveplayerid, 0x00C2ECFF, string);
                       format(string, sizeof(string), "You have given %s level %d VIP.",  giveplayer,pStats[giveplayerid][VIP]);
                       SendClientMessage(playerid, 0x00C2ECFF, string);
               }
               else if(giveplayerid == INVALID_PLAYER_ID)
               {
                       format(string, sizeof(string), "%i is not an active player.", giveplayerid);
                       SendClientMessage(playerid, 0xE60000FF, string);
               }
       }
       else
       {
           SendClientMessage(playerid, 0xE60000FF, "You are not a Lead Admin!");
       }
		return 1;
	}
	if (strcmp("/vips", cmdtext, true) == 0)
	{
	    SendClientMessage(playerid,COLOR_GREEN,"VIPs Online:");
	    for(new i = 0; i < MAX_PLAYERS; i++)
	    {
	        if(pStats[i][VIP] == 1)
	        {
	            GetPlayerName(i, sendername, sizeof(sendername));
				format(string, 128, "Simple VIP - %s[ID: %d]", sendername,i);
				SendClientMessage(playerid, 0xFFD500FF, string);
			}
			if(pStats[i][VIP] == 2)
			{
			    GetPlayerName(i, sendername, sizeof(sendername));
				format(string, 128, "Regular VIP - %s[ID: %d]", sendername,i);
				SendClientMessage(playerid, 0x4EB1CFFF, string);
			}
			if(pStats[i][VIP] == 3)
			{
				GetPlayerName(i, sendername, sizeof(sendername));
				format(string, 128, "Super VIP - %s[ID: %d]", sendername,i);
				SendClientMessage(playerid, 0xB966DCFF, string);
			}
			
		}
		return 1;
 }
	return 0;
}

public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
	new veh = GetPlayerVehicleID(playerid);
	if(veh == PolicePursuitVeh1 || veh == PolicePursuitVeh2 || veh == PolicePursuitVeh3 && GetPlayerTeam(playerid) != TEAM_POLICE)
	{
	    RemovePlayerFromVehicle(playerid);
	    SendClientMessage(playerid,COLOR_NICERED,"You're not a Cop!");
	}
	return 1;
}

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

public OnPlayerStateChange(playerid, newstate, oldstate)
{
    if(newstate == PLAYER_STATE_DRIVER)
    {
        new veh = GetPlayerVehicleID(playerid);
        new gang = GetPlayerTeam(playerid);
        if(veh == PolicePursuitVeh1 || veh == PolicePursuitVeh2 || veh == PolicePursuitVeh3 || veh == PolicePrisonierTransport || veh == L1 || veh == L2 || veh == L3 || veh == L4 || veh == L5 || veh == L6 || veh == L7 || veh == L8 || veh == L9)
        {
            if(gang != TEAM_POLICE)
            {
                RemovePlayerFromVehicle(playerid);
                SendClientMessage(playerid,COLOR_PURPLE,"You have committed a Crime: Stealing A Police Vehicle");
				SendClientMessage(playerid,COLOR_PURPLE,"Your Current Wanted Level: 3");
				SetPlayerWantedLevel(playerid,3);
				SetPlayerColor(playerid,COLOR_NICERED);
                SendClientMessage(playerid,COLOR_NICERED,"You're not a Cop!");
			}
		}
		if(veh == G1 || veh == G2 || veh == G3)
		{
			if(gang != TEAM_GROVE)
			{
			    RemovePlayerFromVehicle(playerid);
			    SendClientMessage(playerid,COLOR_NICERED,"You're not in Grove Gang !");
			}
		}
		if(veh == B1 || veh == B2 || veh == B3 || veh == B4)
		{
		    if(gang != TEAM_BALLAS)
		    {
		        RemovePlayerFromVehicle(playerid);
			    SendClientMessage(playerid,COLOR_NICERED,"You're not in Ballas Gang !");
			}
		}
	}
	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 OnPlayerRequestSpawn(playerid)
{
	return 1;
}

public OnObjectMoved(objectid)
{
	return 1;
}

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

public OnPlayerPickUpPickup(playerid, pickupid)
{
	return 1;
}

public OnVehicleMod(playerid, vehicleid, componentid)
{
	return 1;
}

public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
{
	return 1;
}

public OnVehicleRespray(playerid, vehicleid, color1, color2)
{
	return 1;
}

public OnPlayerSelectedMenuRow(playerid, row)
{
	return 1;
}

public OnPlayerExitedMenu(playerid)
{
	return 1;
}

public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
{
	return 1;
}

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
	if (newkeys & KEY_CROUCH)
	{
    	new veh = GetPlayerVehicleID(playerid);
        if(veh == PolicePursuitVeh1)
        {
            if(sirenon[playerid] == 1)
            {
               	DestroyObject(sirenturn[0]);
                //SendClientMessage(playerid,COLOR_RED,"Destroyed");
                sirenon[playerid] = 0;
			}
			else
			{
			sirenturn[0] = CreateObject( 19419,0,0,0,0,0,0,80 );
            AttachObjectToVehicle( sirenturn[0], PolicePursuitVeh1, 0.000000, -0.200000, 0.599999, 0.000000, 0.000000, 0.000000 );  // Turn on The Siren on the Bullet Police Pursuit Vehicle
            sirenon[playerid] = 1;
            }
		}
		else if(veh == PolicePursuitVeh2)
		{
 			/*new sirenturn2; sirenturn2 = */
		    if(sirenon[playerid] == 1)
		    {
		        DestroyObject(sirenturn[1]);
		        sirenon[playerid] = 0;
			}
			else
			{
			    sirenturn[1] = CreateObject( 19419,0,0,0,0,0,0,80 );
			    AttachObjectToVehicle( sirenturn[1], PolicePursuitVeh2, 0.000000, -0.300000, 0.699999, 0.000000, 0.000000, 0.000000 ); // Attach Siren to Jester Police Pursuit Vehicle
            	sirenon[playerid] = 1;
			}
		}
	 	else if(veh == PolicePursuitVeh3)
		{
		    /*new sirenturn3; sirenturn3 = */
		    if(sirenon[playerid] == 1)
		    {
		        DestroyObject(sirenturn[2]);
		        sirenon[playerid] = 0;
			}
			else
			{
			    sirenturn[2] = CreateObject( 19419,0,0,0,0,0,0,80 );
				AttachObjectToVehicle( sirenturn[2], PolicePursuitVeh3, -0.000000, -0.400000, 0.600000, 0.000000, 0.000000, 0.000000 ); // Attach Siren to Cheetah Police Pursuit Vehicle
			    sirenon[playerid] = 1;
			}
		}
		else if(veh == PolicePrisonierTransport)
		{
		    /*new sirenturn3; sirenturn3 = */
		    if(sirenon[playerid] == 1)
		    {
		        DestroyObject(sirenturn[3]);
		        sirenon[playerid] = 0;
			}
			else
			{
			    sirenturn[3] = CreateObject( 19419,0,0,0,0,0,0,80 );
				AttachObjectToVehicle( sirenturn[3], PolicePrisonierTransport, 0.000000, 1.100000, 1.400000, 0.000000, 0.000000, 0.000000 ); // Attach Siren to Cheetah Police Pursuit Vehicle
			    sirenon[playerid] = 1;
			}
		}
	}
	return 1;
}

public OnRconLoginAttempt(ip[], password[], success)
{
	return 1;
}

public OnPlayerUpdate(playerid)
{
    if(pStats[playerid][Kills] == 50)
	{
	    SendClientMessage(playerid,COLOR_LIGHTBLUE,"INFO: Because you made 50 kils you have been promoted to Rank 2 !");
	    new string[128];
	    format(string,128,"INFO: %s has made 50 kills and has been promoted to Rank 2 !",PlayerName(playerid));
	    SendClientMessageToAll(COLOR_LIGHTBLUE,string);
	    pStats[playerid][Rank] = 2;
	}
if(!IsPlayerConnected(playerid)) return 0;

    if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
    {
        for(new i = 0; i < sizeof(SpikeInfo); i++)
  	    {
  	        if(IsPlayerInRangeOfPoint(playerid, 3.0, SpikeInfo[i][sX], SpikeInfo[i][sY], SpikeInfo[i][sZ]))
            {
  	            if(SpikeInfo[i][sCreated] == 1)
  	            {
  	                new panels, doors, lights, tires;
  	                new carid = GetPlayerVehicleID(playerid);
		            GetVehicleDamageStatus(carid, panels, doors, lights, tires);
		            tires = encode_tires(1, 1, 1, 1);
		            UpdateVehicleDamageStatus(carid, panels, doors, lights, tires);
  	                return 0;
  	            }
  	        }
  	    }
  	}

	return 1;
}

public OnPlayerStreamIn(playerid, forplayerid)
{
	return 1;
}

public OnPlayerStreamOut(playerid, forplayerid)
{
	return 1;
}

public OnVehicleStreamIn(vehicleid, forplayerid)
{
	return 1;
}

public OnVehicleStreamOut(vehicleid, forplayerid)
{
	return 1;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
	switch(dialogid)
	{
	
	case DIALOG_REGISTER:
    {
        if (!response) return Kick(playerid);
            if(response)
            {
                if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, "Registering...","You have entered an invalid password.\nType your password below to register a new account.","Register","Quit");
                if(INI_Open(SAVE_PATH(playerid))) {
                INI_WriteString("Password",inputtext);
                INI_WriteInt("Money",0);
                INI_WriteInt("AdminLevel",0);
                INI_WriteInt("VIP",0);
                INI_WriteInt("Kills",0);
                INI_WriteInt("Deaths",0);
                //INI_WriteString("Gang","None");
                INI_WriteInt("Rank",1);
                INI_Save();
                INI_Close();
				}
                SetSpawnInfo(playerid, 0, 0, 1958.33, 1343.12, 15.36, 269.15, 0, 0, 0, 0, 0, 0);
                SpawnPlayer(playerid);
                ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT, "Login", "This Account name is registered , input the password below to log in !", "Login", "Leave");
                ForceClassSelection(playerid);
                SetPlayerHealth(playerid,0);
                GivePlayerMoney(playerid,7000);
                SendClientMessage(playerid,COLOR_LIGHTBLUE,"INFO: You have been given $7000 start bonus !");
                pStats[playerid][Money] = GetPlayerMoney(playerid);
                //ShowPlayerDialog(playerid, DIALOG_SUCCESS_1, DIALOG_STYLE_MSGBOX,"Success!","Great! Your Y_INI system works perfectly. Relog to save your stats!","Ok","");
            }
        }
	case DIALOG_SHOP:
	{
	    if(!response) { }
    	if(response)
	    {
	    switch(listitem)
	    {
	        case 0:
	        {
	            if(GetPlayerMoney(playerid) < 5000) return SendClientMessage(playerid,COLOR_RED,"You do not have enough money !");
	            GivePlayerMoney(playerid,-5000);
	            GivePlayerWeapon(playerid,30,500);
	            SendClientMessage(playerid,COLOR_LIGHTBLUE,"INFO: You have bought an AK-47 for 5000$ !");
			}
			case 1:
	        {
	            if(GetPlayerMoney(playerid) < 4500) return SendClientMessage(playerid,COLOR_RED,"You do not have enough money !");
	            GivePlayerMoney(playerid,-4500);
	            GivePlayerWeapon(playerid,31,500);
	            SendClientMessage(playerid,COLOR_LIGHTBLUE,"INFO: You have bought a M4 for 4500$ !");
			}
			case 2:
	        {
	            if(GetPlayerMoney(playerid) < 2000) return SendClientMessage(playerid,COLOR_RED,"You do not have enough money !");
	            GivePlayerMoney(playerid,-2000);
	            GivePlayerWeapon(playerid,24,100);
	            SendClientMessage(playerid,COLOR_LIGHTBLUE,"INFO: You have bought a Deagle for 2000$ !");
			}
			case 3:
	        {
	            if(GetPlayerMoney(playerid) < 2500) return SendClientMessage(playerid,COLOR_RED,"You do not have enough money !");
	            GivePlayerMoney(playerid,-2500);
	            GivePlayerWeapon(playerid,29,300);
	            SendClientMessage(playerid,COLOR_LIGHTBLUE,"INFO: You have bought a MP5 for 2500$ !");
			}
			case 4:
	        {
	            if(GetPlayerMoney(playerid) < 3000) return SendClientMessage(playerid,COLOR_RED,"You do not have enough money !");
	            GivePlayerMoney(playerid,-3000);
	            GivePlayerWeapon(playerid,28,300);
	            SendClientMessage(playerid,COLOR_LIGHTBLUE,"INFO: You have bought an UZI for 3000$ !");
			}
			case 5:
	        {
	            if(pStats[playerid][VIP] >= 1)
	            {
	            ShowPlayerDialog(playerid,DIALOG_VIPSHOP,DIALOG_STYLE_LIST,"VIP SHOP","Grenades\t$5000\nMolotovs\t$4000\nSawn-off Shotgun\t$3500\nRPG\t$10000\nHS RPG\t$12000\nFlamethrower\t$20000\nVIP Vehicle Shop\tVIP Level 2","Buy","Exit");
	            } else return SendClientMessage(playerid,COLOR_RED,"You are not a VIP !");
			}
		}
	}
}
	case DIALOG_VIPSHOP:
	{
	    if(!response) { }
	    if(response)
	    {
	    switch(listitem)
	    {
	        case 0:
	        {
	            if(GetPlayerMoney(playerid) < 5000) return SendClientMessage(playerid,COLOR_NICERED,"You do not have enough money !");
	            GivePlayerMoney(playerid,-5000);
	            GivePlayerWeapon(playerid,16,10);
	            SendClientMessage(playerid,COLOR_LIGHTBLUE,"INFO: You have bought 10 Grenades for 5000$ !");
			}
			case 1:
	        {
	            if(GetPlayerMoney(playerid) < 4000) return SendClientMessage(playerid,COLOR_NICERED,"You do not have enough money !");
	            GivePlayerMoney(playerid,-4000);
	            GivePlayerWeapon(playerid,18,10);
	            SendClientMessage(playerid,COLOR_LIGHTBLUE,"INFO: You have bought 10 Molotovs for 4000$ !");
			}
			case 2:
	        {
	            if(GetPlayerMoney(playerid) < 3500) return SendClientMessage(playerid,COLOR_NICERED,"You do not have enough money !");
	            GivePlayerMoney(playerid,-3500);
	            GivePlayerWeapon(playerid,26,100);
	            SendClientMessage(playerid,COLOR_LIGHTBLUE,"INFO: You have bought a Sawn-off Shotgun for 3500$ !");
			}
			case 3:
	        {
	            if(GetPlayerMoney(playerid) < 10000) return SendClientMessage(playerid,COLOR_NICERED,"You do not have enough money !");
	            GivePlayerMoney(playerid,-10000);
	            GivePlayerWeapon(playerid,35,10);
	            SendClientMessage(playerid,COLOR_LIGHTBLUE,"INFO: You have bought a RPG for 10000$ !");
			}
			case 4:
	        {
	            if(GetPlayerMoney(playerid) < 12000) return SendClientMessage(playerid,COLOR_NICERED,"You do not have enough money !");
	            GivePlayerMoney(playerid,-12000);
	            GivePlayerWeapon(playerid,36,10);
	            SendClientMessage(playerid,COLOR_LIGHTBLUE,"INFO: You have bought a HS RPG for 12000$ !");
			}
			case 5:
	        {
	            if(GetPlayerMoney(playerid) < 20000) return SendClientMessage(playerid,COLOR_NICERED,"You do not have enough money !");
	            GivePlayerMoney(playerid,-20000);
	            GivePlayerWeapon(playerid,37,200);
	            SendClientMessage(playerid,COLOR_LIGHTBLUE,"INFO: You have bought a Flamethrower for 20000$ !");
			}
			case 6:
			{
			    if(pStats[playerid][VIP] < 2) return SendClientMessage(playerid,COLOR_RED,"You are not VIP Level 2 !");
			    ShowPlayerDialog(playerid,DIALOG_VEHVIPSHOP,DIALOG_STYLE_LIST,"VIP Vehicle Shop","Infernus\t8000$\nGreenwood\t5000$\nMajestic\t4000$\nNRG-500\t10000$\nHydra\t12000$\nTank\t15000$","Buy","Exit");
			}
		}
	}
}
	case DIALOG_VEHVIPSHOP:
	{
	    if(!response) return SendClientMessage(playerid,COLOR_LIGHTBLUE,"INFO: You have closed the VIP Vehicle Shop !");
	    if(response)
		{
	        switch(listitem)
	        {

	            case 0:
	            {
	                  new Float:x;
	            new Float:y;
	            new Float:z;
	                GetPlayerPos(playerid,x,y,z);
	                CreateVehicle(411,x,y,z,80.0,1,1,99999999999);
	                GivePlayerMoney(playerid,-8000);
	                SendClientMessage(playerid,COLOR_LIGHTBLUE,"INFO: You have spawned an Infernus for 8000$ ! ");
				}
				case 1:
				{
				      new Float:x;
	            new Float:y;
	            new Float:z;
				    GetPlayerPos(playerid,x,y,z);
				    CreateVehicle(492,x,y,z,80.0,1,1,99999999999);
				    GivePlayerMoney(playerid,-5000);
				    SendClientMessage(playerid,COLOR_LIGHTBLUE,"INFO: You have spawned a Greenwood for 5000$ ! ");
				}
				case 2:
				{
				      new Float:x;
	            new Float:y;
	            new Float:z;
				    GetPlayerPos(playerid,x,y,z);
				    CreateVehicle(517,x,y,z,80.0,1,1,99999999999);
				    GivePlayerMoney(playerid,-4000);
				    SendClientMessage(playerid,COLOR_LIGHTBLUE,"INFO: You have spawned a Majestic for 4000$ ! ");
				}
				case 3:
				{
				      new Float:x;
	            new Float:y;
	            new Float:z;
				    GetPlayerPos(playerid,x,y,z);
				    CreateVehicle(522,x,y,z,80.0,1,1,99999999999);
				    GivePlayerMoney(playerid,-10000);
				    SendClientMessage(playerid,COLOR_LIGHTBLUE,"INFO: You have spawned a NRG-500 for 10000$ ! ");
				}
				case 4:
				{
				      new Float:x;
	            new Float:y;
	            new Float:z;
				    GetPlayerPos(playerid,x,y,z);
				    CreateVehicle(520,x,y,z,80.0,1,1,99999999999);
				    GivePlayerMoney(playerid,-12000);
				    SendClientMessage(playerid,COLOR_LIGHTBLUE,"INFO: You have spawned a Hydra for 12000$ ! ");
				}
				case 5:
				{
				      new Float:x;
	            new Float:y;
	            new Float:z;
				    GetPlayerPos(playerid,x,y,z);
				    CreateVehicle(432,x,y,z,80.0,1,1,99999999999);
				    GivePlayerMoney(playerid,-15000);
				    SendClientMessage(playerid,COLOR_LIGHTBLUE,"INFO: You have spawned a Tank for 15000$ ! ");
				}
			}
		}
	}
	case DIALOG_POLICEHELP:
	{
	    if(response == 1)
	    {
	        ShowPlayerDialog(playerid,DIALOG_POLICEHELP2,DIALOG_STYLE_MSGBOX,"Police Commands","{FFFFFF}/[r]adio - A Police radio\nspikestrip - Place a spikestrip\nremovespikestrip - Remove a spikestrip","OK","");
		}
	}
    case DIALOG_LOGIN:
    {
            if ( !response ) return Kick ( playerid );
            if( response )
            {
                //INI_ParseFile(SAVE_PATH(playerid),"LoadStats_%s", .bExtra = true, .extra = playerid); print("Stats Loaded !");
                if(INI_Open(SAVE_PATH(playerid))) {
                INI_ReadString(pStats[playerid][Password],"Password",20);
                
				if(inputtext[playerid] == pStats[playerid][Password])
                {
                    
                    GivePlayerMoney(playerid, INI_ReadInt("Money"));
                    pStats[playerid][AdminLevel] = INI_ReadInt("AdminLevel");
                    pStats[playerid][Kills] = INI_ReadInt("Kills");
                    pStats[playerid][Deaths] = INI_ReadInt("Deaths");
                    pStats[playerid][VIP] = INI_ReadInt("VIP");
                    pStats[playerid][Money] = INI_ReadInt("Money");
                    pStats[playerid][Rank] = INI_ReadInt("Rank");
                    INI_Close();
                    LoggedIn[playerid] = 1;
                    ShowPlayerDialog(playerid, DIALOG_SUCCESS_2, DIALOG_STYLE_MSGBOX,"Success!","You have successfully logged in!","Ok","");
                }
                else
                {
                    ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT,"Login","You have entered an incorrect password.\nType your password below to login.","Login","Quit");
                }
                }
                return 1;
            }
        }
    }
    return 1;
}
    

public OnPlayerClickPlayer(playerid, clickedplayerid, source)
{
	return 1;
}
//=-=-=-=-=-=-=-=-=-=-=-=-=STOCKS=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
stock PlayerName(playerid)
{
	new name[MAX_PLAYER_NAME];
	GetPlayerName(playerid,name,sizeof(name));
	return name;
}
stock SAVE_PATH(playerid)
{
    new string[128],playername[MAX_PLAYER_NAME];
    GetPlayerName(playerid,playername,sizeof(playername));
    format(string,sizeof(string),SAVE,playername);
    return string;
}
stock udb_hash(buf[]) {
    new length=strlen(buf);
    new s1 = 1;
    new s2 = 0;
    new n;
    for (n=0; n<length; n++)
    {
       s1 = (s1 + buf[n]) % 65521;
       s2 = (s2 + s1)     % 65521;
    }
    return (s2 << 16) + s1;
}
ReturnUser(text[], playerid = INVALID_PLAYER_ID)
{
    new pos = 0;
    while (text[pos] < 0x21) // Strip out leading spaces
    {
        if (text[pos] == 0) return INVALID_PLAYER_ID; // No passed text
        pos++;
    }
    new userid = INVALID_PLAYER_ID;
    if (IsNumeric(text[pos])) // Check whole passed string
    {
        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, 0xFF0000AA, "Multiple users found, please narrow earch");
            } else { SendClientMessage(playerid, 0xFF0000AA, "No matching user found");}
                } userid = INVALID_PLAYER_ID; } return userid;
}
strtok(const string[], &index)
{
    new length = strlen(string);
    while ((index < length) && (string[index] <= ' '))
    {
        index++;
    }

    new offset = index;
    new result[20];
    while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
    {
        result[index - offset] = string[index];
        index++;
    }
    result[index - offset] = EOS;
    return result;
}
stock IsNumeric(str[])
{
	new
		ch,
		i;
	while ((ch = str[i++])) if (ch < '0' || ch > '9') return 0;
	return 1;
}
And When I Compile It.....It Came Out This 1 Error

Code:
D:\TDM.pwn(1194) : error 021: symbol already defined: "OnPlayerUpdate"
Pawn compiler 3.2.3664	 	 	Copyright © 1997-2006, ITB CompuPhase


1 Error.
Please Help Me Guys!
Reply
#2

OnPlayerUpdate maybe already in your SpikeStrip include
Reply
#3

Go to that line and remove the "onplayerupdate"
Reply
#4

Please Help Me! Post The PWN Here!
Reply
#5

the problem is caming from includes not in gamemode.
Reply
#6

The problem is not in your script, but in one of the includes (most likely SpikeStrip, like has been mentioned already).
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)