All pastes #640381 Raw Edit

Untitled

public text v1 · immutable
#640381 ·published 2007-07-31 11:08 UTC
rendered paste body
//                             Sunday Drivers GM 0.1
//                              Coded by Chiarboss
//                                     ©2007
//                 Dont edit code or part of it without my permission
//                To get permission contact: marco.chiarelli@hotmail.it


#include <a_samp>
#include <DUDB>
#pragma tabsize 0

#define SLOTS 28

  new Float:xdeath;
  new Float:ydeath;
  new Float:zdeath;
  new Float:zangledeath;
  
  new death[MAX_PLAYERS];

  new gBestTime[256];
  new gTime1;
  new gTime2;
  new gTime3;
  new gTimeConfirm;
  new gTimerConfirm;
  new gTimer1;
  new gTimer2;
  new gTimer3;
  
enum VehicleSpawnInfo {
	Float:VehicleX,
	Float:VehicleY,
	Float:VehicleZ,
	Float:VehicleAngle
}

enum CheckpointSpawnInfo {
	Float:CheckpointX,
	Float:CheckpointY,
	Float:CheckpointZ
}

enum PlayerSpawnInfo {
	Float:PlayerX,
	Float:PlayerY,
	Float:PlayerZ,
	Float:PlayerAngle
}

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

new SavePlayerPos[SLOTS][SavePlayerPosEnum];
new UpdateSeconds = 1;
new speedo[MAX_PLAYERS];
new confirmspeedo[MAX_PLAYERS];

new Float:gRandomSpawns1[][PlayerSpawnInfo] =
{
	{2676.937744,-1676.754028,9.395504,180.584396},
	{2681.757568,-1676.853515,9.414299,180.271057},
	{2686.958251,-1676.917968,9.434563,180.271057},
	{2691.945068,-1676.909667,9.460366,180.271057},
	{2696.875732,-1676.905151,9.480960,178.077697}
};

new Float:gRandomSpawns2[][PlayerSpawnInfo] =
{
	{-2136.811035,-434.725463,35.335937,82.600234},
	{-2136.489013,-453.924713,35.335937,89.661941},
	{-2133.929687,-417.722503,35.335937,64.450073},
	{-2133.393798,-470.977630,35.335937,106.002189},
	{-2131.027099,-444.089447,35.335937,91.878692}
};

new Float:gRandomSpawns3[][PlayerSpawnInfo] =
{
	{1106.813598,1599.803222,12.546875,346.204132},
	{1092.991699,1600.526245,12.546875,347.457489},
	{1098.506103,1622.588989,12.472934,182.642593},
	{1101.149658,1619.867553,12.541040,183.895950},
	{1094.546997,1619.659179,12.546875,180.762588}
};

new Float:gCheckpointsForRace2[][CheckpointSpawnInfo] =
{
	{-1470.9136,998.1561,1025.7649},
	{-1400.8170,963.2554,1024.9896},
	{-1402.8594,1025.9514,1025.8073},
	{-1329.1379,996.8182,1025.2683},
	{-1390.2383,994.8713,1024.0824}
};

new Float:gRandomSpawnsForRace1[][VehicleSpawnInfo] =
{
	{-1396.8491,-246.3267,1043.3564,7.8819},
	{-1390.9253,-245.2419,1043.3894,10.2592},
	{-1392.4800,-236.4703,1043.2261,7.9450},
	{-1398.3811,-236.9867,1043.1925,6.1090},
	{-1399.4519,-229.0525,1043.0984,6.1542},
	{-1393.4663,-228.6423,1043.1230,5.1674},
	{-1394.0245,-221.0631,1043.0620,4.3254},
	{-1400.2006,-221.4413,1043.0475,4.1833},
	{-1400.6215,-214.4108,1043.0013,4.2405},
	{-1394.4856,-214.2294,1043.0110,0.9812},
	{-1394.7896,-206.2953,1042.9962,2.4756},
	{-1400.9303,-206.4480,1042.9899,1.9514}
};

new Float:gRandomSpawnsForRace2[][VehicleSpawnInfo] =
{
	{-1280.1362,1004.3162,1037.1838,95.5025},
	{-1298.6917,1036.1210,1037.7518,133.4157},
	{-1369.9214,1060.1604,1038.2769,180.2394},
	{-1423.4309,1059.2825,1038.3510,183.3923},
	{-1468.9451,1051.0233,1038.2924,203.1746},
	{-1503.6855,1027.9991,1037.9669,223.6128},
	{-1514.7773,977.5159,1037.1515,295.4512},
	{-1462.0406,938.2718,1036.3964,346.7521},
	{-1443.4236,933.2932,1036.2913,350.9616},
	{-1423.9279,931.9630,1036.1986,356.6953},
	{-1328.9915,940.5508,1036.2107,22.7611},
	{-1280.5862,975.8303,1036.7107,68.6068}
};

new Float:gRandomSpawnsForRace3[][VehicleSpawnInfo] =
{
	{-1328.5686,-600.8107,1055.8990,15.7509},
	{-1327.2466,-594.8192,1055.1273,349.1079},
	{-1326.4751,-602.5625,1055.9860,61.6707},
	{-1325.1632,-599.6118,1055.5294,61.1199},
	{-1323.8273,-597.4049,1055.2023,57.3242},
	{-1327.4403,-595.8212,1055.2218,67.5982},
	{-1328.2390,-597.9185,1055.5051,65.7001},
	{-1328.8540,-600.3713,1055.8595,64.6020},
	{-1331.7448,-599.2414,1055.8987,63.9833},
	{-1330.8213,-596.3272,1055.4635,68.2218},
	{-1330.1205,-594.2647,1055.1913,71.5963},
	{-1333.1525,-593.1984,1055.2179,72.4794}
};

new playerColors[100] = {
0xFF8C13FF,0xC715FFFF,0x20B2AAFF,0xDC143CFF,0x6495EDFF,0xf0e68cFF,0x778899FF,0xFF1493FF,0xF4A460FF,0xEE82EEFF,0xFFD720FF,
0x8b4513FF,0x4949A0FF,0x148b8bFF,0x14ff7fFF,0x556b2fFF,0x0FD9FAFF,0x10DC29FF,0x534081FF,0x0495CDFF,0xEF6CE8FF,0xBD34DAFF,
0x247C1BFF,0x0C8E5DFF,0x635B03FF,0xCB7ED3FF,0x65ADEBFF,0x5C1ACCFF,0xF2F853FF,0x11F891FF,0x7B39AAFF,0x53EB10FF,0x54137DFF,
0x275222FF,0xF09F5BFF,0x3D0A4FFF,0x22F767FF,0xD63034FF,0x9A6980FF,0xDFB935FF,0x3793FAFF,0x90239DFF,0xE9AB2FFF,0xAF2FF3FF,
0x057F94FF,0xB98519FF,0x388EEAFF,0x028151FF,0xA55043FF,0x0DE018FF,0x93AB1CFF,0x95BAF0FF,0x369976FF,0x18F71FFF,0x4B8987FF,
0x491B9EFF,0x829DC7FF,0xBCE635FF,0xCEA6DFFF,0x20D4ADFF,0x2D74FDFF,0x3C1C0DFF,0x12D6D4FF,0x48C000FF,0x2A51E2FF,0xE3AC12FF,
0xFC42A8FF,0x2FC827FF,0x1A30BFFF,0xB740C2FF,0x42ACF5FF,0x2FD9DEFF,0xFAFB71FF,0x05D1CDFF,0xC471BDFF,0x94436EFF,0xC1F7ECFF,
0xCE79EEFF,0xBD1EF2FF,0x93B7E4FF,0x3214AAFF,0x184D3BFF,0xAE4B99FF,0x7E49D7FF,0x4C436EFF,0xFA24CCFF,0xCE76BEFF,0xA04E0AFF,
0x9F945CFF,0xDCDE3DFF,0x10C9C5FF,0x70524DFF,0x0BE472FF,0x8A2CD7FF,0x6152C2FF,0xCF72A9FF,0xE59338FF,0xEEDC2DFF,0xD8C762FF,
0x3FE65CFF
};

//colori
#define COLOR_SYSTEM 0xEFEFF7AA
#define COLOR_GREY 0xAFAFAFAA
#define COLOR_GREEN 0x33AA33AA
#define COLOR_YELLOW 0xFFFF00AA
#define COLOR_BLUE 0x1111AAFF
#define COLOR_PINK 0xFF66FFAA
#define COLOR_LIGHTBLUE 0x33CCFFAA
#define COLOR_DARKRED 0x660000AA
#define COLOR_ORANGE 0xFF9900AA
#define COLOR_RED 0xAA3333AA
#define COLOR_GREENYELLOW 0xADFF2FAA
#define COLOR_YELLOWGREEN 0x9ACD32AA //- like military green
#define NICE_BLUE 0xa0d3ffAA

#define CHECK_INITIAL 1
#define CHECK_INITIAL_DD 2
#define CHECK_INITIAL_DR 3

#define CHECK_DD 1

#define HotRace 1
#define BloodRing 2
#define DirtRace 3
//-------------------------------------------------------------------------
new checkstatusText[MAX_PLAYERS][256];
new gPlayerCheckpointStatus[MAX_PLAYERS];
new gPlayerCheckpointStatusForDD[MAX_PLAYERS];
new kills[MAX_PLAYERS];
new consecutive[MAX_PLAYERS];
new checkrace1[MAX_PLAYERS];
new checkrace3[MAX_PLAYERS];
new HighestScore;
new HighestScorers[MAX_PLAYERS];
new status = 1;
new countdown;
new timercheckpoint;
new gRoundTimerHud;
new confirm;
new confirmex;
new confirmhud[MAX_PLAYERS];
new soundplayer[MAX_PLAYERS];
new pidplayer;
new sound;
new confirmrace[MAX_PLAYERS];
new confirm1[MAX_PLAYERS];
new confirm2[MAX_PLAYERS];
new confirm3[MAX_PLAYERS];
new confirmecho[MAX_PLAYERS];
new playerdeath[MAX_PLAYERS];
new restart;
new shop;
new races;
new inarmory[MAX_PLAYERS];
new Text:www;
new players;
new playersmax;
new playersindd;
new vehicle;
new systemrc;
new vehicles;
new objects;

new TIMELIMIT;
new PLAYERSLIMIT;
new STARTRACE;
new RESTART;
new SHOWMARKERS;
new SHOWNAMES;
new RANDOMW;
new SHOUR;
new SWEATHER;
new VEHICLES;
new OBJECTS;
new SPEEDO;
new VOTERCSYSTEM;
new SYSTEMSAVESCORE;

new Pvotes = 0;
new Nvotes = 0;
new VoteStatus = 0;
new Voted[MAX_PLAYERS] = 0;
new vtimer;
//-------------------------------------------------------------------------
forward GameModeExitFunc();
forward GameModeExitFuncRestart();
forward UpdateSpeed();
forward Podius();
forward ConfirmTimer();
forward ConfirmTimerStatus();
forward ForCountdown();
forward Countdown();
forward Checkpoints();
forward RaceTimer1();
forward RaceTimer2();
forward RaceTimer3();
forward DisableCheckpoint();
forward AfterDD();
forward votetimer();
forward sd(playerid);
forward Vehicle(playerid);
forward Sound(playerid);
//-------------------------------------------------------------------------
main()
{
        print("\n----------------------------------");
        print("Sunday Drivers GM 0.1 by Chiarboss");
        print("Compatibility: SA-MP v0.2 or Higher.");
        print("----------------------------------\n");
}
//-------------------------------------------------------------------------
public OnGameModeInit()
{

    if (dini_Exists("sundaydrivers/SD_settings.ini") == 1)
	{
		TIMELIMIT = 	dini_Int("sundaydrivers/SD_settings.ini", "TIMELIMIT");
		PLAYERSLIMIT =  dini_Int("sundaydrivers/SD_settings.ini", "PLAYERSLIMIT");
		STARTRACE = 	dini_Int("sundaydrivers/SD_settings.ini", "STARTRACE");
		SHOWMARKERS =   dini_Int("sundaydrivers/SD_settings.ini", "SHOWMARKERS");
		SHOWNAMES =     dini_Int("sundaydrivers/SD_settings.ini", "SHOWNAMES");
		RANDOMW = dini_Int("sundaydrivers/SD_settings.ini", "RANDOMIZEWEATHER");
		SWEATHER =      dini_Int("sundaydrivers/SD_settings.ini", "STARTWEATHER");
		SHOUR =         dini_Int("sundaydrivers/SD_settings.ini", "STARTHOUR");
		VEHICLES =      dini_Int("sundaydrivers/SD_settings.ini", "VEHICLES");
		OBJECTS =       dini_Int("sundaydrivers/SD_settings.ini", "OBJECTS");
		SPEEDO =        dini_Int("sundaydrivers/SD_settings.ini", "SPEEDO");
		VOTERCSYSTEM =  dini_Int("sundaydrivers/SD_settings.ini", "VOTERCSYSTEM");
		SYSTEMSAVESCORE = dini_Int("sundaydrivers/SD_settings.ini", "SYSTEMSAVESCORE");
		RESTART =       dini_Int("sundaydrivers/SD_settings.ini", "RESTART");

		new tmp[256];
		new tmp1[256];

		format(tmp, sizeof(tmp), "\n*** Your Sunday-Drivers settings ***\n Time limit: %d\n Players limit: %d\n Randomize weather every race: %d\n Starting weather: %d\n Starting hour: %d\n Starting race: %d", TIMELIMIT, PLAYERSLIMIT, RANDOMW, SWEATHER, SHOUR, STARTRACE);
		format(tmp1, sizeof(tmp1), " Show Markers: %d\n Show Names: %d\n Vehicles mode: %d\n Objects mode: %d\n Speedo system: %d\n VCRS system: %d\n SSS system: %d", SHOWMARKERS, SHOWNAMES, VEHICLES, OBJECTS, SPEEDO, VOTERCSYSTEM, SYSTEMSAVESCORE);
		print(tmp);
		print(tmp1);
	}
	else
	{
		print("Error: cannot find SD_settings.ini in scriptfiles/sundaydrivers folder");
	}
	
	if(SHOWMARKERS == 0)
	{
		ShowPlayerMarkers(0);
	}

	if(SHOWNAMES == 0)
	{
		ShowNameTags(0);
	}

	SetWorldTime(SHOUR);
if(RANDOMW == 1)
        {
                new w = random(45);
                SetWeather(w);
        }
        else
        {
            SetWeather(SWEATHER);
        }
	
	switch(STARTRACE) {
	case 1: {
	races = HotRace;
	}
	case 2: {
	races = BloodRing;
	}
	case 3: {
	races = DirtRace;
	}
	}
	
	switch(RESTART) {
	case 0: {
	restart = 0;
	print("\nRestart Mode setted to OFF");
	}
	case 1: {
	restart = 1;
	print("\nRestart Mode setted to ON");
	}
	case 2: {
	restart = 2;
	print("\nContinuum Mode setted to ON");
	}
    }
    
    if(PLAYERSLIMIT == 1) {
    playersmax = 1;
    } else {
	playersmax = 0;
	}
	
	if(VOTERCSYSTEM == 1) {
	systemrc = 1;
	} else {
	systemrc = 0;
	}
	
	if(SPEEDO == 1) {
	SetTimer("UpdateSpeed", UpdateSeconds*1000, 1);
	}
	
	if(fexist("sundaydrivers/hotrace.txt") && fexist("sundaydrivers/bloodring.txt") && fexist("sundaydrivers/dirtring.txt")) {
	print("\nFile Loadeds (3)");
	} else {
	print("Number of File doesnt match. SSS Error (404)");
	}
	
	print("\nOnGameModeInit()");
	shop = 1;
	confirmex = 0;
	confirm = 0;
	gTime1 = 0;
	gTime2 = 0;
	gTime3 = 0;
	players = 0;
	playersindd = 0;
	UsePlayerPedAnims();
    SetGameModeText("Sunday Drivers GM 0.1");

    AddPlayerClass(0,0.0,0.0,0.0,0.0,0,0,0,0,0,0);

    AddStaticVehicle(494,2676.7234,-1672.3975,9.2934,179.9965,2,3);
    AddStaticVehicle(444,2686.7639,-1671.8143,9.8168,179.0177,79,3);
    AddStaticVehicle(504,-2160.1582,-409.1746,35.1283,230.6400,77,77);
    AddStaticVehicle(573,1092.2767,1612.4164,13.1973,151.3612,3,4);
    AddStaticVehicle(424,1103.4581,1615.7324,12.3282,209.1826,2,3);
    
    if(VEHICLES == 1) {
    AddStaticVehicle(494,2657.4302,-1691.9403,9.2098,271.0485,-1,-1);
    AddStaticVehicle(494,2657.4551,-1697.0164,9.2118,269.9745,-1,-1);
    AddStaticVehicle(494,2657.4424,-1701.9327,9.2117,269.7704,-1,-1);
    AddStaticVehicle(494,2657.3088,-1707.0720,9.2127,269.3252,-1,-1);
    AddStaticVehicle(494,2657.8540,-1711.8798,9.2138,269.3959,-1,-1);
    AddStaticVehicle(494,2657.8936,-1797.4159,9.1982,272.6050,-1,-1);
    AddStaticVehicle(494,2657.7500,-1802.7197,9.1962,273.4662,-1,-1);
    AddStaticVehicle(494,2657.8950,-1807.7926,9.1966,274.0525,-1,-1);
    AddStaticVehicle(494,2658.6101,-1812.8348,9.2015,278.5288,-1,-1);
    AddStaticVehicle(494,2659.3052,-1817.7943,9.2036,281.2562,-1,-1);
    AddStaticVehicle(494,2660.2214,-1822.8424,9.2013,281.1157,-1,-1);
    AddStaticVehicle(494,2661.5574,-1828.9178,9.2045,287.7770,-1,-1);
    AddStaticVehicle(494,2664.1047,-1833.9069,9.2121,293.9963,-1,-1);
    AddStaticVehicle(494,2676.1936,-1821.7805,9.2692,128.9249,-1,-1);
    AddStaticVehicle(494,2679.5317,-1825.6537,9.2821,127.6328,-1,-1);
    AddStaticVehicle(494,2682.7834,-1830.0123,9.2981,137.7449,-1,-1);
    AddStaticVehicle(494,2687.1802,-1833.0249,9.3178,145.1366,-1,-1);
    AddStaticVehicle(494,2691.0295,-1836.0249,9.3349,148.2618,-1,-1);
    AddStaticVehicle(494,2695.4365,-1838.0490,9.3515,147.7731,-1,-1);
    AddStaticVehicle(494,2701.0098,-1841.0892,9.3709,158.8108,-1,-1);
    AddStaticVehicle(494,2706.5286,-1843.1526,9.3903,158.8043,-1,-1);
    AddStaticVehicle(494,2711.0559,-1844.8551,9.4055,159.1338,-1,-1);
    AddStaticVehicle(494,2715.9304,-1846.4456,9.4213,161.0680,-1,-1);
    AddStaticVehicle(494,2727.9265,-1876.2178,9.4683,358.9196,-1,-1);
    AddStaticVehicle(494,2732.8816,-1876.2985,9.4911,0.1795,-1,-1);
    AddStaticVehicle(494,2738.1094,-1876.0620,9.5143,358.2287,-1,-1);
    AddStaticVehicle(494,2742.8850,-1875.6405,9.5375,0.2576,-1,-1);
    AddStaticVehicle(494,2747.9968,-1876.4258,9.5578,359.9487,-1,-1);
    AddStaticVehicle(494,2752.9285,-1876.4219,9.5770,359.3030,-1,-1);
    AddStaticVehicle(494,2757.9861,-1876.1254,9.5979,359.9707,-1,-1);
    AddStaticVehicle(494,2762.9438,-1876.1414,9.6180,359.1446,-1,-1);
    AddStaticVehicle(494,2768.1377,-1875.9906,9.6399,359.7998,-1,-1);
    AddStaticVehicle(494,2772.6965,-1876.2081,9.6608,359.0302,-1,-1);
    AddStaticVehicle(494,2777.8113,-1876.5840,9.6861,1.7872,-1,-1);
    AddStaticVehicle(494,2782.9980,-1876.4041,9.7075,0.3765,-1,-1);
    AddStaticVehicle(494,2788.2349,-1875.9457,9.7277,1.2514,-1,-1);
    AddStaticVehicle(494,2793.1633,-1876.3110,9.7481,0.0172,-1,-1);
    AddStaticVehicle(494,2797.9434,-1876.2402,9.7658,0.6759,-1,-1);
    AddStaticVehicle(494,2802.8694,-1876.1327,9.7853,359.9715,-1,-1);
    AddStaticVehicle(494,2741.6460,-1851.1934,9.5361,180.4083,-1,-1);
    AddStaticVehicle(494,2747.7285,-1850.4552,9.5582,192.2457,-1,-1);
    AddStaticVehicle(494,2753.1465,-1848.5200,9.5842,196.8706,-1,-1);
    AddStaticVehicle(494,2757.8652,-1846.7821,9.6049,198.4232,-1,-1);
    AddStaticVehicle(494,2762.1807,-1845.2701,9.6254,198.7941,-1,-1);
    AddStaticVehicle(494,2767.0723,-1843.5389,9.6410,198.9184,-1,-1);
    AddStaticVehicle(494,2771.5100,-1841.7369,9.6560,199.1967,-1,-1);
    AddStaticVehicle(494,2776.3613,-1839.9814,9.6736,200.1438,-1,-1);
    AddStaticVehicle(494,2780.9204,-1838.1604,9.6864,210.2694,-1,-1);
    AddStaticVehicle(494,2784.8201,-1834.9185,9.7090,219.9627,-1,-1);
    AddStaticVehicle(494,2809.7383,-1837.0414,9.8167,88.5468,-1,-1);
    AddStaticVehicle(494,2810.1211,-1832.0221,9.8193,86.9948,-1,-1);
    AddStaticVehicle(494,2810.5938,-1827.1202,9.8215,87.3319,-1,-1);
    AddStaticVehicle(494,2810.7991,-1822.1289,9.8250,87.8446,-1,-1);
    AddStaticVehicle(494,2823.9624,-1723.4052,9.8996,79.0611,-1,-1);
    AddStaticVehicle(494,2825.3611,-1718.7465,9.9023,77.5213,-1,-1);
    AddStaticVehicle(494,2825.8503,-1714.1124,9.9041,77.3868,-1,-1);
    AddStaticVehicle(494,2827.3562,-1709.1260,9.8996,75.7392,-1,-1);
    AddStaticVehicle(494,2828.4224,-1704.2609,9.8952,76.5805,-1,-1);
    AddStaticVehicle(494,2829.2300,-1699.4203,9.8913,76.1593,-1,-1);
    AddStaticVehicle(494,2830.9197,-1694.5520,9.8944,74.6891,-1,-1);
    AddStaticVehicle(494,2831.9480,-1689.8146,9.8931,73.7990,-1,-1);
    AddStaticVehicle(494,2827.8010,-1672.4968,9.8693,179.4928,-1,-1);
    AddStaticVehicle(494,2822.6592,-1672.3254,9.8554,179.7763,-1,-1);
    AddStaticVehicle(494,2817.6580,-1672.1666,9.8419,179.3247,-1,-1);
    AddStaticVehicle(494,2812.9927,-1672.8624,9.8320,181.3207,-1,-1);
    AddStaticVehicle(494,2807.8594,-1671.8036,9.8280,179.4332,-1,-1);
    AddStaticVehicle(494,2802.7737,-1671.6464,9.8197,178.9692,-1,-1);
    AddStaticVehicle(494,2797.7681,-1671.8566,9.8052,180.7539,-1,-1);
    AddStaticVehicle(494,2792.7153,-1671.7783,9.7923,179.9045,-1,-1);
    AddStaticVehicle(494,2787.7898,-1672.0775,9.7700,178.3382,-1,-1);
    AddStaticVehicle(504,-2133.5378,-435.0716,35.1284,81.4936,-1,-1);
    AddStaticVehicle(504,-2133.2305,-432.4738,35.1284,82.0117,-1,-1);
    AddStaticVehicle(504,-2132.7981,-429.6905,35.1285,81.9744,-1,-1);
    AddStaticVehicle(504,-2132.4780,-427.1351,35.1279,81.3609,-1,-1);
    AddStaticVehicle(504,-2132.1711,-424.3226,35.1284,82.0235,-1,-1);
    AddStaticVehicle(504,-2131.5835,-421.5876,35.1286,77.6163,-1,-1);
    AddStaticVehicle(504,-2130.6384,-418.8047,35.1281,72.1152,-1,-1);
    AddStaticVehicle(504,-2129.7397,-416.2472,35.1284,71.3947,-1,-1);
    AddStaticVehicle(504,-2128.7610,-413.5724,35.1285,71.4492,-1,-1);
    AddStaticVehicle(504,-2127.9094,-410.8508,35.1285,71.0971,-1,-1);
    AddStaticVehicle(504,-2126.9270,-408.1972,35.1284,69.6979,-1,-1);
    AddStaticVehicle(504,-2125.6807,-405.4483,35.1284,64.0657,-1,-1);
    AddStaticVehicle(504,-2133.1904,-453.5941,35.1284,96.8648,-1,-1);
    AddStaticVehicle(504,-2132.9060,-456.2692,35.1285,96.8977,-1,-1);
    AddStaticVehicle(504,-2132.5034,-459.0496,35.1283,99.0267,-1,-1);
    AddStaticVehicle(504,-2132.0354,-461.7968,35.1295,100.5006,-1,-1);
    AddStaticVehicle(504,-2131.5254,-464.4614,35.1309,102.0812,-1,-1);
    AddStaticVehicle(504,-2130.8616,-467.1248,35.1319,104.6905,-1,-1);
    AddStaticVehicle(504,-2129.9624,-469.9738,35.1315,108.2642,-1,-1);
    AddStaticVehicle(504,-2129.2622,-472.7121,35.1316,109.8431,-1,-1);
    AddStaticVehicle(504,-2128.0283,-475.4022,35.1345,113.9697,-1,-1);
    AddStaticVehicle(504,-2127.0918,-478.4668,35.1355,119.2266,-1,-1);
    AddStaticVehicle(504,-2126.0144,-481.2338,35.1356,114.3974,-1,-1);
    AddStaticVehicle(504,-2124.7444,-483.8293,35.1355,116.3322,-1,-1);
    AddStaticVehicle(468,1078.4895,1600.0778,12.2160,27.7301,-1,-1);
    AddStaticVehicle(468,1077.6520,1599.5469,12.2157,35.5050,-1,-1);
    AddStaticVehicle(468,1076.8423,1599.0785,12.2154,34.4441,-1,-1);
    AddStaticVehicle(468,1076.2213,1598.6139,12.2159,39.9685,-1,-1);
    AddStaticVehicle(468,1075.5127,1597.9473,12.2152,44.0492,-1,-1);
    AddStaticVehicle(468,1074.8951,1597.2598,12.2159,49.8840,-1,-1);
    AddStaticVehicle(468,1074.0717,1596.8270,12.2148,47.8889,-1,-1);
    AddStaticVehicle(468,1073.1863,1596.0118,12.2155,44.7564,-1,-1);
    AddStaticVehicle(468,1072.3514,1595.4784,12.2158,41.7029,-1,-1);
    AddStaticVehicle(468,1071.7710,1594.9167,12.2156,47.3763,-1,-1);
    AddStaticVehicle(468,1071.0951,1594.2548,12.2159,42.9456,-1,-1);
    AddStaticVehicle(468,1070.0392,1593.6407,12.2159,36.2484,-1,-1);
    AddStaticVehicle(468,1116.2870,1600.3636,12.2198,333.5197,-1,-1);
    AddStaticVehicle(468,1117.1973,1599.9658,12.2190,334.6485,-1,-1);
    AddStaticVehicle(468,1117.7184,1599.3870,12.2174,334.9947,-1,-1);
    AddStaticVehicle(468,1118.6207,1598.6100,12.2161,322.7865,-1,-1);
    AddStaticVehicle(468,1119.2236,1598.1572,12.2158,318.2094,-1,-1);
    AddStaticVehicle(468,1119.7817,1597.3749,12.2148,323.3851,-1,-1);
    AddStaticVehicle(468,1120.6411,1596.9292,12.2156,335.5393,-1,-1);
    AddStaticVehicle(468,1121.2776,1596.3806,12.2151,325.7973,-1,-1);
    AddStaticVehicle(468,1121.8617,1596.0977,12.2151,330.8820,-1,-1);
    AddStaticVehicle(468,1122.4949,1595.7805,12.2157,324.8096,-1,-1);
    AddStaticVehicle(468,1123.2504,1595.0442,12.2155,317.9193,-1,-1);
    AddStaticVehicle(468,1123.7864,1594.6935,12.2154,326.5702,-1,-1);
    vehicles = 1;
    }
    
    if(OBJECTS == 1) {
    CreateObject(994, 2654.181885, -1678.670410, 9.981256, 0, 0, 19.0622);
    CreateObject(994, 2661.810547, -1674.773804, 9.985649, 0, 0, 65.7812);
    CreateObject(994, 2814.177979, -1849.008545, 10.171831, 0, 0, 87.4217);
    CreateObject(994, 2813.925781, -1856.633911, 10.171585, 0, 0, 87.4217);
    CreateObject(994, 2713.500000, -1875.860962, 10.155005, 0, 0, 162.8112);
    CreateObject(994, 2706.101807, -1873.590698, 10.155005, 0, 0, 162.8112);
    CreateObject(994, 2699.680420, -1871.579712, 10.160988, 0, 0, 149.8423);
    CreateObject(994, 2693.305664, -1867.815918, 10.155005, 0, 0, 149.8423);
    CreateObject(994, 2687.075684, -1864.180542, 10.163026, 0, 0, 140.3112);
    CreateObject(994, 2680.961426, -1859.158447, 10.189794, 0, 0, 140.3112);
    CreateObject(994, 2675.518311, -1854.633301, 10.204638, 0, 0, 127.3423);
    CreateObject(994, 2671.135010, -1848.843750, 10.152251, 0, 0, 127.3423);
    CreateObject(989, 1098.304565, 1618.728516, 13.367681, 0, 0, 286.4066);
    CreateObject(1225, 1094.245605, 1619.216431, 11.952630, 0, 0, 0);
    CreateObject(1225, 1095.049316, 1618.674194, 11.952630, 0, 0, 0);
    CreateObject(1225, 1101.594604, 1618.932617, 11.952630, 0, 0, 0);
    CreateObject(1225, 1102.163330, 1619.606079, 11.952680, 0, 0, 0);
    CreateObject(980, 1057.409302, 1591.753296, 14.320267, 0, 0, 315);
    CreateObject(1225, 1062.995117, 1587.477295, 11.952630, 0, 0, 0);
    CreateObject(1225, 1062.069458, 1587.717529, 11.952630, 0, 0, 0);
    CreateObject(980, 1057.569092, 1599.846191, 14.320267, 0, 0, 225);
    CreateObject(980, 1066.452759, 1607.154297, 14.320267, 0, 0, 213.75);
    CreateObject(980, 1076.927856, 1611.437500, 14.320267, 0, 0, 191.25);
    CreateObject(980, 1087.848511, 1614.833984, 14.320267, 0, 0, 202.5);
    CreateObject(1225, 1093.229492, 1617.584229, 11.952630, 0, 0, 0);
    CreateObject(1225, 1094.262573, 1618.000244, 11.952630, 0, 0, 0);
    CreateObject(980, 1136.491089, 1592.403198, 14.320267, 0, 0, 33.75);
    CreateObject(1225, 1130.917358, 1587.667969, 11.952630, 0, 0, 0);
    CreateObject(1225, 1131.266235, 1588.682373, 11.952630, 0, 0, 0);
    CreateObject(980, 1137.247681, 1599.732544, 14.320267, 0, 0, 135);
    CreateObject(980, 1128.406372, 1606.929688, 14.324032, 0, 0, 146.25);
    CreateObject(980, 1117.923096, 1611.251587, 14.320267, 0, 0, 168.75);
    CreateObject(980, 1107.494019, 1615.545532, 14.320267, 0, 0, 146.25);
    CreateObject(980, -2118.276611, -388.634460, 37.109329, 0, 0, 168.75);
    CreateObject(980, -2129.163330, -389.699646, 37.109329, 0, 0, 203.4367);
    CreateObject(980, -2139.076660, -395.231689, 37.116405, 0, 0, 214.6867);
    CreateObject(980, -2149.450684, -397.459839, 37.116405, 0, 0, 169.6867);
    CreateObject(980, -2160.865234, -396.470520, 37.109329, 0, 0, 180.9367);
    CreateObject(980, -2168.676514, -401.856964, 37.109329, 0, 0, 248.4367);
    CreateObject(980, -2169.630127, -412.873810, 37.109329, 0, 0, 282.1867);
    CreateObject(980, -2166.156982, -423.789124, 37.109329, 0, 0, 293.4367);
    CreateObject(980, -2159.758545, -433.168304, 37.109329, 0, 0, 315.9367);
    CreateObject(980, -2153.362549, -442.461426, 37.116405, 0, 0, 293.4367);
    CreateObject(980, -2148.912354, -452.938843, 37.109329, 0, 0, 293.4367);
    CreateObject(980, -2145.408203, -463.868713, 37.109329, 0, 0, 282.1867);
    CreateObject(980, -2143.263428, -474.888428, 37.587891, 0, 0, 282.1867);
    CreateObject(980, -2137.276123, -483.483673, 39.061974, 0, 0, 327.1867);
    CreateObject(980, -2128.686279, -491.136993, 38.011517, 0, 0, 315.9367);
    CreateObject(980, -2120.389648, -499.286163, 37.517864, 0, 0, 315.9367);
    CreateObject(980, -2110.794678, -501.183441, 37.109329, 0, 0, 23.4368);
    objects = 1;
    }
    
        www = TextDrawCreate(19.8, 423.0,"~y~www.gta-expert.com ~n~ ~b~Sunday Drivers ~r~GM 0.1");
		TextDrawLetterSize(www,0.5,1.2);
		TextDrawFont(www,1);
		TextDrawBackgroundColor(www,40);

    return 1;
}
//-------------------------------------------------------------------------
public UpdateSpeed(){
new Float:x,Float:y,Float:z;
new Float:distance,value,string[256];
for(new i=0; i<SLOTS; i++){
if(IsPlayerConnected(i) && confirm1[i] == 1 || confirm2[i] == 1 || confirm3[i] == 1 && IsPlayerInAnyVehicle(i)){
GetPlayerPos(i, x, y, z);
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 * 3600);
if(UpdateSeconds > 1){
value = floatround(value / UpdateSeconds);
}
if(speedo[i] == 1){
if(confirm2[i] != 1) {
if(confirmhud[i] == 2) {
format(string,sizeof(string),"~n~~n~~n~~n~~n~~n~~n~~n~~n~~w~MpH: ~h~~y~%d~n~~w~Current Race: ~y~(%d)~n~~r~%s x 10",floatround(value/1600),races,checkstatusText[i]);
}
else if(confirmhud[i] == 1) {
if(confirm1[i] == 1) {
format(string,sizeof(string),"~n~~n~~n~~n~~n~~n~~n~~n~~n~~w~MpH: ~h~~y~%d~n~~y~STATUS: ~r~%d of 5 x 12~n~~w~Current Race: ~y~(%d)",floatround(value/1600),checkrace1[i],races);
}
else if(confirm3[i] == 1) {
format(string,sizeof(string),"~n~~n~~n~~n~~n~~n~~n~~n~~n~~w~MpH: ~h~~y~%d~n~~y~STATUS: ~r~%d of 5 x 12~n~~w~Current Race: ~y~(%d)",floatround(value/1600),checkrace3[i],races);
}
}
} else {
if(playersindd > 1) {
format(string,sizeof(string),"~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~w~MpH: ~h~~y~%d~n~~w~Current Race: ~y~(%d)",floatround(value/1600),races);
} else if(playersindd == 1) {
format(string,sizeof(string),"~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~w~MpH: ~h~~y~%d~n~~w~Current Race: ~y~(%d)~n~~r~TYPE /WIN, TYPE /WIN!",floatround(value/1600),races);
}
}
GameTextForPlayer(i, string, 1100, 3);
}
else if(speedo[i] == 2)
{
if(confirm2[i] != 1) {
if(confirmhud[i] == 2) {
format(string,sizeof(string),"~n~~n~~n~~n~~n~~n~~n~~n~~n~~w~KM/H: ~h~~y~%d~n~~w~Current Race: ~y~(%d)~n~~r~%s x 10",floatround(value/1000),races,checkstatusText[i]);
}
else if(confirmhud[i] == 1) {
if(confirm1[i] == 1) {
format(string,sizeof(string),"~n~~n~~n~~n~~n~~n~~n~~n~~n~~w~KM/H: ~h~~y~%d~n~~y~STATUS: ~r~%d of 5 x 12~n~~w~Current Race: ~y~(%d)",floatround(value/1000),checkrace1[i],races);
} else if(confirm3[i] == 1) {
format(string,sizeof(string),"~n~~n~~n~~n~~n~~n~~n~~n~~n~~w~KM/H: ~h~~y~%d~n~~y~STATUS: ~r~%d of 5 x 12~n~~w~Current Race: ~y~(%d)",floatround(value/1000),checkrace3[i],races);
}
}
} else {
if(playersindd > 1) {
format(string,sizeof(string),"~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~w~KM/H: ~h~~y~%d~n~~w~Current Race: ~y~(%d)",floatround(value/1000),races);
} else if(playersindd == 1) {
format(string,sizeof(string),"~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~w~KM/H: ~h~~y~%d~n~~w~Current Race: ~y~(%d)~n~~r~TYPE /WIN, TYPE /WIN!",floatround(value/1000),races);
}
}
GameTextForPlayer(i, string, 1100, 3);
}
SavePlayerPos[i][LastX] = x;
SavePlayerPos[i][LastY] = y;
SavePlayerPos[i][LastZ] = z;
}
}
}
//-------------------------------------------------------------------------
public OnPlayerConnect(playerid) {

	soundplayer[playerid] = 1;
	speedo[playerid] = 1;
    confirmspeedo[playerid] = 1;
    confirmhud[playerid] = 1;
    confirmecho[playerid] = 0;
    death[playerid] = 0;
	confirmrace[playerid] = 0;
	inarmory[playerid] = 0;
	confirm1[playerid] = 0;
	confirm2[playerid] = 0;
	confirm3[playerid] = 0;
    checkrace1[playerid] = 0;
    checkrace3[playerid] = 0;
    SendClientMessage(playerid, 0xFF8A00AA, "Welcome to Sunday Drivers GM 0.1 [coded by Chiarboss]");
    SendClientMessage(playerid, 0xFFFFFFAA, "Type /about if you don't now how this mode work");
    SendClientMessage(playerid, 0xFFFF00AA, "Type /cmdlist for see the list of Commands...");
    new string[256];
    new stringconnect[256];
    new Pname[MAX_PLAYER_NAME];
    GetPlayerName(playerid,Pname, sizeof(Pname));
    format(string, sizeof(string), "%s joined the server", Pname);
    SendClientMessageToAll(COLOR_GREY,string);
    format(stringconnect,sizeof(stringconnect),"~n~~n~~n~~w~Welcome, ~n~~y~%s",Pname);
    GameTextForPlayer(playerid,stringconnect,6000,1);
    SetTimer("sd",1,1);
    SetPlayerColor(playerid, COLOR_GREY); // Set the player's color to inactive
    players++;
    if(races == HotRace) {
    vehicle=CreateVehicle(494,2857.4268,-1871.0320,10.9988,136.2380,2,16,0);
    }
    
	return 1;
}
//-------------------------------------------------------------------------
public sd(playerid) {
TextDrawShowForPlayer(playerid,www);
return 1;
}
//-------------------------------------------------------------------------
public OnVehicleSpawn(vehicleid) {
SetVehicleNumberPlate(vehicleid,"S.DRIVER");
AddVehicleComponent(vehicleid,1086);
return 1;
}
//-------------------------------------------------------------------------
public OnPlayerDisconnect(playerid, reason) {
new string[256];
new stringname[256];
new Pname[MAX_PLAYER_NAME];
GetPlayerName(playerid,Pname, sizeof(Pname));
switch(reason) {
case 0: {
format(string, sizeof(string), "%s left the server (TimeOut)", Pname);
SendClientMessageToAll(COLOR_GREY,string);
}
case 1: {
format(string, sizeof(string), "%s left the server (Leaving)", Pname);
SendClientMessageToAll(COLOR_GREY,string);
}
case 2: {
format(string, sizeof(string), "%s left the server (Kicked)", Pname);
SendClientMessageToAll(COLOR_GREY,string);
}
}
if(races == BloodRing && confirm2[playerid] == 1) {
playersindd--;
format(stringname,sizeof(stringname),"%s is out from DD.");
SendClientMessageToAll(0xC10000AA,stringname);
}
players--;
  return 1;
}
//-------------------------------------------------------------------------
public OnPlayerText(playerid)
{
printf("OnPlayerText(%d)", playerid);
return 1;
}
//-------------------------------------------------------------------------
public OnPlayerInfoChange(playerid)
{
printf("OnPlayerInfoChange(%d)");
return 1;
}
//-------------------------------------------------------------------------
public OnPlayerExitVehicle(playerid,vehicleid) {
if(races == HotRace && confirm1[playerid] == 1 || races == BloodRing && confirm2[playerid] == 1|| races == DirtRace && confirm3[playerid] == 1) {
SetPlayerHealth(playerid,0);
}
return 1;
}
//-------------------------------------------------------------------------
public OnPlayerSpawn(playerid)

{
new Float:x;
new Float:y;
new Float:z;
new Float:zangle;
new randPLAYER1=random(sizeof(gRandomSpawns1));
new randPLAYER2=random(sizeof(gRandomSpawns2));
new randPLAYER3=random(sizeof(gRandomSpawns3));
SetVehicleParamsForPlayer(1,playerid,0,1);
SetVehicleParamsForPlayer(2,playerid,0,1);
SetVehicleParamsForPlayer(3,playerid,0,1);
SetVehicleParamsForPlayer(4,playerid,0,1);
SetVehicleParamsForPlayer(5,playerid,0,1);
GetPlayerPos(playerid,x,y,z);
GetPlayerFacingAngle(playerid,zangle);
consecutive[playerid] = 0;
if(confirm1[playerid] == 0 && confirm2[playerid] == 0 && confirm3[playerid] == 0) {
SetPlayerInterior(playerid,0);
}
else if(confirm1[playerid] == 1 || confirm2[playerid] == 1 || confirm3[playerid] == 1) {
if(races == HotRace) {
PutPlayerInVehicle(playerid,CreateVehicle(494,x,y,z,zangle,-1,-1,0),0);
SetTimer("Vehicle",1,0);
}
else if(races == BloodRing) {
SendClientMessage(playerid,0xFF8A00AA,"Type /shop to enter in your Personal Shop.");
PutPlayerInVehicle(playerid,CreateVehicle(504,x,y,z,zangle,-1,-1,0),0);
SetTimer("Vehicle",1,0);
}
else if(races == DirtRace) {
PutPlayerInVehicle(playerid,CreateVehicle(468,x,y,z,zangle,-1,-1,0),0);
SetTimer("Vehicle",1,0);
}
}

if(races == HotRace && confirm1[playerid] == 0) {
SetPlayerCheckpoint(playerid,2695.5122,-1704.6002,11.8438,2.5);
gPlayerCheckpointStatus[playerid] = CHECK_INITIAL;
SetPlayerPos(playerid,gRandomSpawns1[randPLAYER1][PlayerX],gRandomSpawns1[randPLAYER1][PlayerY],gRandomSpawns1[randPLAYER1][PlayerZ]);
SetPlayerFacingAngle(playerid,gRandomSpawns1[randPLAYER1][PlayerAngle]);
}
else if(races == BloodRing && confirm2[playerid] == 0) {
SetPlayerCheckpoint(playerid,-2119.3237,-444.3518,35.5313,2.5);
gPlayerCheckpointStatus[playerid] = CHECK_INITIAL_DD;
SetPlayerPos(playerid,gRandomSpawns2[randPLAYER2][PlayerX],gRandomSpawns2[randPLAYER2][PlayerY],gRandomSpawns2[randPLAYER2][PlayerZ]);
SetPlayerFacingAngle(playerid,gRandomSpawns2[randPLAYER2][PlayerAngle]);
}
else if(races == DirtRace && confirm3[playerid] == 0) {
SetPlayerCheckpoint(playerid,1099.5503,1601.7217,12.5469,2.5);
gPlayerCheckpointStatus[playerid] = CHECK_INITIAL_DR;
SetPlayerPos(playerid,gRandomSpawns3[randPLAYER3][PlayerX],gRandomSpawns3[randPLAYER3][PlayerY],gRandomSpawns3[randPLAYER3][PlayerZ]);
SetPlayerFacingAngle(playerid,gRandomSpawns3[randPLAYER3][PlayerAngle]);
}
if(players < 2 && playersmax == 1) {
GameTextForPlayer(playerid,"~r~Wait ~w~for other ~r~players...",5000,3);
}

return 1;

}
//-------------------------------------------------------------------------
public OnPlayerDeath(playerid,killerid,reason) {
new string[256];
new name[MAX_PLAYER_NAME];
new randPLAYER2=random(sizeof(gRandomSpawns2));

if(confirm1[playerid] == 1 || confirm2[playerid] == 1 || confirm3[playerid] == 1) {
GetPlayerPos(playerid,xdeath,ydeath,zdeath);
GetPlayerFacingAngle(playerid,zangledeath);
death[playerid] = 1;
}

if(races == BloodRing && confirm2[playerid] == 1) {
playerdeath[playerid]++;
if(playerdeath[playerid] == 3) {
playersindd--;
GetPlayerName(playerid,name,sizeof(name));
format(string,sizeof(string),"%s is out from DD.");
SendClientMessageToAll(0xC10000AA,string);
confirm2[playerid] = 0;
ResetVariablesForPlayer(playerid);
SetPlayerColor(playerid,playerColors[playerid]);
SetPlayerPos(playerid,gRandomSpawns2[randPLAYER2][PlayerX],gRandomSpawns2[randPLAYER2][PlayerY],gRandomSpawns2[randPLAYER2][PlayerZ]);
SetPlayerFacingAngle(playerid,gRandomSpawns2[randPLAYER2][PlayerAngle]);
}
if((IsPlayerInAnyVehicle(killerid))&&(reason==WEAPON_MP5||reason==WEAPON_UZI||reason==WEAPON_TEC9)&&((IsPlayerInAnyVehicle(playerid)))) {
consecutive[killerid]++;
GetPlayerName(playerid,name,sizeof(name));
if(consecutive[killerid] == 5) {
format(string,sizeof(string),"~n~~n~~n~~r~%s ~w~is on a ~y~Destruction Spree!",name);
GameTextForAll(string,5000,1);
}
else if(consecutive[killerid] == 10) {
format(string,sizeof(string),"~n~~n~~n~~r~%s ~n~~w~owned the ~r~entire server...!",name);
}
else if(consecutive[killerid] >= 15) {
format(string,sizeof(string),"~n~~n~~n~~y~Carmageddon... ~n~~r~%s",name);
GameTextForAll(string,5000,1);
}
}
}

if(killerid == INVALID_PLAYER_ID) {

       SendDeathMessage(INVALID_PLAYER_ID,playerid,reason);
   } else {
   if(confirm1[killerid] == 0 && confirm2[killerid] == 0 && confirm3[killerid] == 0) {
	if(kills[killerid]>=1)
	{
       	Kick(killerid);
       	GetPlayerName(killerid,name, sizeof(name));
		format(string, sizeof(string), "%s, the n00b killer got kicked! Have a good gaming!",name);
        SendClientMessageToAll(0xFFF600AA, string);
	}
	else
		{
 			GivePlayerMoney(killerid, -50000);
			SetPlayerScore(killerid, GetPlayerScore(killerid) - 1);
			SendClientMessage(killerid, 0xC10000AA, "No killing here! Once again and you will be kicked!");
			SendClientMessage(playerid, 0xC10000AA, "Dont worry! One more kill and he/she will be kicked!");
			SendDeathMessage(killerid, playerid, reason);
			kills[killerid]++;
		}
		}
	}
return 1;
}
//-------------------------------------------------------------------------
stock SetupPlayerForClassSelection(playerid) {
if(races == HotRace) {
SetPlayerPos(playerid,2854.0945,-1872.6759,11.1011);
SetPlayerFacingAngle(playerid, 83.9659);
SetPlayerCameraPos(playerid,2851.1353,-1872.3503,11.0972);
SetPlayerCameraLookAt(playerid,2851.1353,-1872.3503,11.0972);
SetVehicleParamsForPlayer(vehicle,playerid,0,1);
}
else if(races == BloodRing) {
SetPlayerPos(playerid,-2163.3831,-410.2421,35.3359);
SetPlayerFacingAngle(playerid,94.7725);
SetPlayerCameraPos(playerid,-2167.8147,-409.4305,35.3359);
SetPlayerCameraLookAt(playerid,-2167.8147,-409.4305,35.3359);
}
else if(races == DirtRace) {
SetPlayerPos(playerid,1101.4702,1615.4115,12.5469);
SetPlayerFacingAngle(playerid,76.5991);
SetPlayerCameraPos(playerid,1098.9720,1615.8281,12.5469);
SetPlayerCameraLookAt(playerid,1098.9720,1615.8281,12.5469);
}
return;
}
//-------------------------------------------------------------------------
public OnPlayerRequestClass(playerid, classid)
{
printf("OnPlayerRequestClass(%d, %d)", playerid, classid);
SetupPlayerForClassSelection(playerid);
return 1;
}
//-------------------------------------------------------------------------
public OnPlayerRequestSpawn(playerid) {
DestroyVehicle(vehicle);
return 1;
}
//-------------------------------------------------------------------------
public OnPlayerEnterCheckpoint(playerid) {

   switch(gPlayerCheckpointStatus[playerid]) {
   default: {
   StoreHighScore();
   SendClientMessage(playerid,NICE_BLUE, gBestTime);
   }
   }
   
   switch(gPlayerCheckpointStatusForDD[playerid]) {
   case CHECK_DD: {
   if(GetPlayerMoney(playerid) > 5000) {
   ChangeVehicleColor(GetPlayerVehicleID(playerid),-1,-1);
   SetPlayerHealth(GetPlayerVehicleID(playerid),100);
   } else {
   SendClientMessage(playerid,COLOR_RED,"You dont have enough money for restore the health of your vehicle. (MIN. 5000$)");
   }
}
}

return 1;
}
//-------------------------------------------------------------------------
PlaySoundForPlayer(playerid, soundid)
{
	new Float:pX, Float:pY, Float:pZ;
	GetPlayerPos(playerid, pX, pY, pZ);
	PlayerPlaySound(playerid, soundid,pX, pY, pZ);
}
//-------------------------------------------------------------------------
public OnPlayerEnterRaceCheckpoint(playerid) {
new sentence1[256];
new sentence3[256];
DisablePlayerRaceCheckpoint(playerid);
if(checkrace1[playerid] < 59 || checkrace3[playerid] < 59) {
PlaySoundForPlayer(playerid,1139);
} else {
PlaySoundForPlayer(playerid,1137);
}
new name[MAX_PLAYER_NAME];
new Float:fMinutes;
new Minutes;
new Seconds;

if(races == HotRace) {
checkrace1[playerid]++;
switch(checkrace1[playerid]) {
case 0: {
SetPlayerRaceCheckpoint(playerid,0,-1529.2603,-186.7520,1050.8276,-1442.5808,-283.6490,1051.0698,5.0);
}
case 1: {
SetPlayerRaceCheckpoint(playerid,0,-1442.5808,-283.6490,1051.0698,-1317.8530,-138.0648,1050.2100,5.0);
}
case 2: {
SetPlayerRaceCheckpoint(playerid,0,-1317.8530,-138.0648,1050.2100,-1342.9248,-282.7149,1046.4097,5.0);
}
case 3: {
SetPlayerRaceCheckpoint(playerid,0,-1342.9248,-282.7149,1046.4097,-1418.4945,-136.2858,1044.7006,5.0);
}
case 4: {
SetPlayerRaceCheckpoint(playerid,0,-1418.4945,-136.2858,1044.7006,-1529.2603,-186.7520,1050.8276,5.0);
}
case 5: {
SetPlayerRaceCheckpoint(playerid,0,-1529.2603,-186.7520,1050.8276,-1442.5808,-283.6490,1051.0698,5.0);
}
case 6: {
SetPlayerRaceCheckpoint(playerid,0,-1442.5808,-283.6490,1051.0698,-1317.8530,-138.0648,1050.2100,5.0);
}
case 7: {
SetPlayerRaceCheckpoint(playerid,0,-1317.8530,-138.0648,1050.2100,-1342.9248,-282.7149,1046.4097,5.0);
}
case 8: {
SetPlayerRaceCheckpoint(playerid,0,-1342.9248,-282.7149,1046.4097,-1418.4945,-136.2858,1044.7006,5.0);
}
case 9: {
SetPlayerRaceCheckpoint(playerid,0,-1418.4945,-136.2858,1044.7006,-1529.2603,-186.7520,1050.8276,5.0);
}
case 10: {
SetPlayerRaceCheckpoint(playerid,0,-1529.2603,-186.7520,1050.8276,-1442.5808,-283.6490,1051.0698,5.0);
}
case 11: {
SetPlayerRaceCheckpoint(playerid,0,-1442.5808,-283.6490,1051.0698,-1317.8530,-138.0648,1050.2100,5.0);
}
case 12: {
SetPlayerRaceCheckpoint(playerid,0,-1317.8530,-138.0648,1050.2100,-1342.9248,-282.7149,1046.4097,5.0);
}
case 13: {
SetPlayerRaceCheckpoint(playerid,0,-1342.9248,-282.7149,1046.4097,-1418.4945,-136.2858,1044.7006,5.0);
}
case 14: {
SetPlayerRaceCheckpoint(playerid,0,-1418.4945,-136.2858,1044.7006,-1529.2603,-186.7520,1050.8276,5.0);
}
case 15: {
SetPlayerRaceCheckpoint(playerid,0,-1529.2603,-186.7520,1050.8276,-1442.5808,-283.6490,1051.0698,5.0);
}
case 16: {
SetPlayerRaceCheckpoint(playerid,0,-1442.5808,-283.6490,1051.0698,-1317.8530,-138.0648,1050.2100,5.0);
}
case 17: {
SetPlayerRaceCheckpoint(playerid,0,-1317.8530,-138.0648,1050.2100,-1342.9248,-282.7149,1046.4097,5.0);
}
case 18: {
SetPlayerRaceCheckpoint(playerid,0,-1342.9248,-282.7149,1046.4097,-1418.4945,-136.2858,1044.7006,5.0);
}
case 19: {
SetPlayerRaceCheckpoint(playerid,0,-1418.4945,-136.2858,1044.7006,-1529.2603,-186.7520,1050.8276,5.0);
}
case 20: {
if(GetPlayerMoney(playerid) >= 3000) {
AddVehicleComponent(GetPlayerVehicleID(playerid),1008);
ChangeVehicleColor(GetPlayerVehicleID(playerid),-1,-1);
} else {
SendClientMessage(playerid,COLOR_RED,"You dont have enough money for install a Nitro5x shoots on your vehicle!");
}
SetPlayerRaceCheckpoint(playerid,0,-1529.2603,-186.7520,1050.8276,-1442.5808,-283.6490,1051.0698,5.0);
}
case 21: {
SetPlayerRaceCheckpoint(playerid,0,-1442.5808,-283.6490,1051.0698,-1317.8530,-138.0648,1050.2100,5.0);
}
case 22: {
SetPlayerRaceCheckpoint(playerid,0,-1317.8530,-138.0648,1050.2100,-1342.9248,-282.7149,1046.4097,5.0);
}
case 23: {
SetPlayerRaceCheckpoint(playerid,0,-1342.9248,-282.7149,1046.4097,-1418.4945,-136.2858,1044.7006,5.0);
}
case 24: {
SetPlayerRaceCheckpoint(playerid,0,-1418.4945,-136.2858,1044.7006,-1529.2603,-186.7520,1050.8276,5.0);
}
case 25: {
SetPlayerRaceCheckpoint(playerid,0,-1529.2603,-186.7520,1050.8276,-1442.5808,-283.6490,1051.0698,5.0);
}
case 26: {
SetPlayerRaceCheckpoint(playerid,0,-1442.5808,-283.6490,1051.0698,-1317.8530,-138.0648,1050.2100,5.0);
}
case 27: {
SetPlayerRaceCheckpoint(playerid,0,-1317.8530,-138.0648,1050.2100,-1342.9248,-282.7149,1046.4097,5.0);
}
case 28: {
SetPlayerRaceCheckpoint(playerid,0,-1342.9248,-282.7149,1046.4097,-1418.4945,-136.2858,1044.7006,5.0);
}
case 29: {
SetPlayerRaceCheckpoint(playerid,0,-1418.4945,-136.2858,1044.7006,-1529.2603,-186.7520,1050.8276,5.0);
}
case 30: {
SetPlayerRaceCheckpoint(playerid,0,-1529.2603,-186.7520,1050.8276,-1442.5808,-283.6490,1051.0698,5.0);
}
case 31: {
SetPlayerRaceCheckpoint(playerid,0,-1442.5808,-283.6490,1051.0698,-1317.8530,-138.0648,1050.2100,5.0);
}
case 32: {
SetPlayerRaceCheckpoint(playerid,0,-1317.8530,-138.0648,1050.2100,-1342.9248,-282.7149,1046.4097,5.0);
}
case 33: {
SetPlayerRaceCheckpoint(playerid,0,-1342.9248,-282.7149,1046.4097,-1418.4945,-136.2858,1044.7006,5.0);
}
case 34: {
SetPlayerRaceCheckpoint(playerid,0,-1418.4945,-136.2858,1044.7006,-1529.2603,-186.7520,1050.8276,5.0);
}
case 35: {
SetPlayerRaceCheckpoint(playerid,0,-1529.2603,-186.7520,1050.8276,-1442.5808,-283.6490,1051.0698,5.0);
}
case 36: {
SetPlayerRaceCheckpoint(playerid,0,-1442.5808,-283.6490,1051.0698,-1317.8530,-138.0648,1050.2100,5.0);
}
case 37: {
SetPlayerRaceCheckpoint(playerid,0,-1317.8530,-138.0648,1050.2100,-1342.9248,-282.7149,1046.4097,5.0);
}
case 38: {
SetPlayerRaceCheckpoint(playerid,0,-1342.9248,-282.7149,1046.4097,-1418.4945,-136.2858,1044.7006,5.0);
}
case 39: {
SetPlayerRaceCheckpoint(playerid,0,-1418.4945,-136.2858,1044.7006,-1529.2603,-186.7520,1050.8276,5.0);
}
case 40: {
if(GetPlayerMoney(playerid) >= 3000) {
AddVehicleComponent(GetPlayerVehicleID(playerid),1008);
ChangeVehicleColor(GetPlayerVehicleID(playerid),-1,-1);
} else {
SendClientMessage(playerid,COLOR_RED,"You dont have enough money for install a Nitro5x shoots on your vehicle!");
}
SetPlayerRaceCheckpoint(playerid,0,-1529.2603,-186.7520,1050.8276,-1442.5808,-283.6490,1051.0698,5.0);
}
case 41: {
SetPlayerRaceCheckpoint(playerid,0,-1442.5808,-283.6490,1051.0698,-1317.8530,-138.0648,1050.2100,5.0);
}
case 42: {
SetPlayerRaceCheckpoint(playerid,0,-1317.8530,-138.0648,1050.2100,-1342.9248,-282.7149,1046.4097,5.0);
}
case 43: {
SetPlayerRaceCheckpoint(playerid,0,-1342.9248,-282.7149,1046.4097,-1418.4945,-136.2858,1044.7006,5.0);
}
case 44: {
SetPlayerRaceCheckpoint(playerid,0,-1418.4945,-136.2858,1044.7006,-1529.2603,-186.7520,1050.8276,5.0);
}
case 45: {
SetPlayerRaceCheckpoint(playerid,0,-1529.2603,-186.7520,1050.8276,-1442.5808,-283.6490,1051.0698,5.0);
}
case 46: {
SetPlayerRaceCheckpoint(playerid,0,-1442.5808,-283.6490,1051.0698,-1317.8530,-138.0648,1050.2100,5.0);
}
case 47: {
SetPlayerRaceCheckpoint(playerid,0,-1317.8530,-138.0648,1050.2100,-1342.9248,-282.7149,1046.4097,5.0);
}
case 48: {
SetPlayerRaceCheckpoint(playerid,0,-1342.9248,-282.7149,1046.4097,-1418.4945,-136.2858,1044.7006,5.0);
}
case 49: {
SetPlayerRaceCheckpoint(playerid,0,-1418.4945,-136.2858,1044.7006,-1529.2603,-186.7520,1050.8276,5.0);
}
case 50: {
SetPlayerRaceCheckpoint(playerid,0,-1529.2603,-186.7520,1050.8276,-1442.5808,-283.6490,1051.0698,5.0);
}
case 51: {
SetPlayerRaceCheckpoint(playerid,0,-1442.5808,-283.6490,1051.0698,-1317.8530,-138.0648,1050.2100,5.0);
}
case 52: {
SetPlayerRaceCheckpoint(playerid,0,-1317.8530,-138.0648,1050.2100,-1342.9248,-282.7149,1046.4097,5.0);
}
case 53: {
SetPlayerRaceCheckpoint(playerid,0,-1342.9248,-282.7149,1046.4097,-1418.4945,-136.2858,1044.7006,5.0);
}
case 54: {
SetPlayerRaceCheckpoint(playerid,0,-1418.4945,-136.2858,1044.7006,-1529.2603,-186.7520,1050.8276,5.0);
}
case 55: {
SetPlayerRaceCheckpoint(playerid,0,-1529.2603,-186.7520,1050.8276,-1442.5808,-283.6490,1051.0698,5.0);
}
case 56: {
SetPlayerRaceCheckpoint(playerid,0,-1442.5808,-283.6490,1051.0698,-1317.8530,-138.0648,1050.2100,5.0);
}
case 57: {
SetPlayerRaceCheckpoint(playerid,0,-1317.8530,-138.0648,1050.2100,-1342.9248,-282.7149,1046.4097,5.0);
}
case 58: {
SetPlayerRaceCheckpoint(playerid,0,-1342.9248,-282.7149,1046.4097,-1418.4945,-136.2858,1044.7006,5.0);
}
case 59: {
SetPlayerRaceCheckpoint(playerid,1,-1418.4945,-136.2858,1044.7006,-1529.2603,-186.7520,1050.8276,5.0);
}
case 60: {
    if(status == 1){
    if(SYSTEMSAVESCORE == 1) {
    CheckAgainstHighScore(playerid, gTime1);
    }
    SetPlayerScore(playerid,GetPlayerScore(playerid)+10);
    GivePlayerMoney(playerid, 10000);
    SendClientMessage(playerid,COLOR_YELLOW,"You have arrived 1st! You have received 10000$!!!");
    }
    if(status == 2){
    SetPlayerScore(playerid,GetPlayerScore(playerid)+8);
    GivePlayerMoney(playerid, 5000);
    SendClientMessage(playerid,COLOR_GREENYELLOW,"You have arrived 2nd! You have received 5000$!!!");
    }
    if(status == 3){
    SetPlayerScore(playerid,GetPlayerScore(playerid)+2);
    GivePlayerMoney(playerid, 2000);
    SendClientMessage(playerid,COLOR_YELLOWGREEN,"You have arrived 3rd! You have received 2000$!!!");
    }
  	 if (gTime1 != 0) {
    PlaySoundForPlayer(playerid,1183);
    fMinutes = gTime1/60;
    Minutes = floatround(fMinutes, floatround_floor);
    Seconds = gTime1-(Minutes*60);
     GetPlayerName(playerid, name, 256);
     KillTimer(gTimer1);
     if(status == 1) {
	 format(sentence1, 256, "~r~%s ~w~win the ~y~RACE!!!", name);
	 GameTextForAll(sentence1,5000,6);
	 }
	 format(sentence1, 256, "RACENEWS (%d): %s finished %d'. TIME: %d min(s) %d sec(s).",races, name, status, Minutes, Seconds);
	 SendClientMessageToAll(COLOR_GREEN,sentence1);
	 }
     status = status + 1;
     SetPlayerColor(playerid,playerColors[playerid]);
     checkstatusText[playerid] = "";
     if(status == players || gTimeConfirm >= TIMELIMIT*60) {
     gTime1=0;
     confirmex = 0;
     KillTimer(gTimer1);
     KillTimer(gTimerConfirm);
     KillTimer(gRoundTimerHud);
     SetWorldTime(15);
     gTimeConfirm = 0;
     confirm = 0;
	 races = BloodRing;
	 status = 0;
     for (new i=0; i<MAX_PLAYERS; i++) {
     death[i] = 0;
     confirm1[i] = 0;
     playerdeath[i] = 0;
     SetPlayerHealth(i,0);
     SetPlayerWantedLevel(i,0);
     DisablePlayerCheckpoint(i);
     ForceClassSelection(i);
     }
     } else {
	 death[playerid] = 0;
     confirm1[playerid] = 0;
     playerdeath[playerid] = 0;
     SetPlayerHealth(playerid,0);
     DisablePlayerCheckpoint(playerid);
     ForceClassSelection(playerid);
     }
}
}
}

if(races == DirtRace) {
checkrace3[playerid]++;
switch(checkrace3[playerid]) {
case 0: {
SetPlayerRaceCheckpoint(playerid,0,-1389.4087,-743.1297,1051.6444,-1484.7751,-627.9208,1051.7911,5.0);
}
case 1: {
SetPlayerRaceCheckpoint(playerid,0,-1484.7751,-627.9208,1051.7911,-1411.5774,-720.7286,1056.0182,5.0);
}
case 2: {
SetPlayerRaceCheckpoint(playerid,0,-1411.5774,-720.7286,1056.0182,-1349.2864,-629.5939,1053.6517,5.0);
}
case 3: {
SetPlayerRaceCheckpoint(playerid,0,-1349.2864,-629.5939,1053.6517,-1524.5768,-612.2890,1055.2369,5.0);
}
case 4: {
SetPlayerRaceCheckpoint(playerid,0,-1524.5768,-612.2890,1055.2369,-1389.4087,-743.1297,1051.6444,5.0);
}
case 5: {
SetPlayerRaceCheckpoint(playerid,0,-1389.4087,-743.1297,1051.6444,-1484.7751,-627.9208,1051.7911,5.0);
}
case 6: {
SetPlayerRaceCheckpoint(playerid,0,-1484.7751,-627.9208,1051.7911,-1411.5774,-720.7286,1056.0182,5.0);
}
case 7: {
SetPlayerRaceCheckpoint(playerid,0,-1411.5774,-720.7286,1056.0182,-1349.2864,-629.5939,1053.6517,5.0);
}
case 8: {
SetPlayerRaceCheckpoint(playerid,0,-1349.2864,-629.5939,1053.6517,-1524.5768,-612.2890,1055.2369,5.0);
}
case 9: {
SetPlayerRaceCheckpoint(playerid,0,-1524.5768,-612.2890,1055.2369,-1389.4087,-743.1297,1051.6444,5.0);
}
case 10: {
if(GetPlayerMoney(playerid) >= 2500) {
SetPlayerHealth(GetPlayerVehicleID(playerid),1000.0);
ChangeVehicleColor(GetPlayerVehicleID(playerid),-1,-1);
} else {
SendClientMessage(playerid,COLOR_RED,"You dont have enough money for restore the health of your vehicle!");
}
SetPlayerRaceCheckpoint(playerid,0,-1389.4087,-743.1297,1051.6444,-1484.7751,-627.9208,1051.7911,5.0);
}
case 11: {
SetPlayerRaceCheckpoint(playerid,0,-1484.7751,-627.9208,1051.7911,-1411.5774,-720.7286,1056.0182,5.0);
}
case 12: {
SetPlayerRaceCheckpoint(playerid,0,-1411.5774,-720.7286,1056.0182,-1349.2864,-629.5939,1053.6517,5.0);
}
case 13: {
SetPlayerRaceCheckpoint(playerid,0,-1349.2864,-629.5939,1053.6517,-1524.5768,-612.2890,1055.2369,5.0);
}
case 14: {
SetPlayerRaceCheckpoint(playerid,0,-1524.5768,-612.2890,1055.2369,-1389.4087,-743.1297,1051.6444,5.0);
}
case 15: {
SetPlayerRaceCheckpoint(playerid,0,-1389.4087,-743.1297,1051.6444,-1484.7751,-627.9208,1051.7911,5.0);
}
case 16: {
SetPlayerRaceCheckpoint(playerid,0,-1484.7751,-627.9208,1051.7911,-1411.5774,-720.7286,1056.0182,5.0);
}
case 17: {
SetPlayerRaceCheckpoint(playerid,0,-1411.5774,-720.7286,1056.0182,-1349.2864,-629.5939,1053.6517,5.0);
}
case 18: {
SetPlayerRaceCheckpoint(playerid,0,-1349.2864,-629.5939,1053.6517,-1524.5768,-612.2890,1055.2369,5.0);
}
case 19: {
SetPlayerRaceCheckpoint(playerid,0,-1524.5768,-612.2890,1055.2369,-1389.4087,-743.1297,1051.6444,5.0);
}
case 20: {
if(GetPlayerMoney(playerid) >= 2500) {
SetPlayerHealth(GetPlayerVehicleID(playerid),1000.0);
ChangeVehicleColor(GetPlayerVehicleID(playerid),-1,-1);
} else {
SendClientMessage(playerid,COLOR_RED,"You dont have enough money for restore the health of your vehicle!");
}
SetPlayerRaceCheckpoint(playerid,0,-1389.4087,-743.1297,1051.6444,-1484.7751,-627.9208,1051.7911,5.0);
}
case 21: {
SetPlayerRaceCheckpoint(playerid,0,-1484.7751,-627.9208,1051.7911,-1411.5774,-720.7286,1056.0182,5.0);
}
case 22: {
SetPlayerRaceCheckpoint(playerid,0,-1411.5774,-720.7286,1056.0182,-1349.2864,-629.5939,1053.6517,5.0);
}
case 23: {
SetPlayerRaceCheckpoint(playerid,0,-1349.2864,-629.5939,1053.6517,-1524.5768,-612.2890,1055.2369,5.0);
}
case 24: {
SetPlayerRaceCheckpoint(playerid,0,-1524.5768,-612.2890,1055.2369,-1389.4087,-743.1297,1051.6444,5.0);
}
case 25: {
SetPlayerRaceCheckpoint(playerid,0,-1389.4087,-743.1297,1051.6444,-1484.7751,-627.9208,1051.7911,5.0);
}
case 26: {
SetPlayerRaceCheckpoint(playerid,0,-1484.7751,-627.9208,1051.7911,-1411.5774,-720.7286,1056.0182,5.0);
}
case 27: {
SetPlayerRaceCheckpoint(playerid,0,-1411.5774,-720.7286,1056.0182,-1349.2864,-629.5939,1053.6517,5.0);
}
case 28: {
SetPlayerRaceCheckpoint(playerid,0,-1349.2864,-629.5939,1053.6517,-1524.5768,-612.2890,1055.2369,5.0);
}
case 29: {
SetPlayerRaceCheckpoint(playerid,0,-1524.5768,-612.2890,1055.2369,-1389.4087,-743.1297,1051.6444,5.0);
}
case 30: {
if(GetPlayerMoney(playerid) >= 2500) {
SetPlayerHealth(GetPlayerVehicleID(playerid),1000.0);
ChangeVehicleColor(GetPlayerVehicleID(playerid),-1,-1);
} else {
SendClientMessage(playerid,COLOR_RED,"You dont have enough money for restore the health of your vehicle!");
}
SetPlayerRaceCheckpoint(playerid,0,-1389.4087,-743.1297,1051.6444,-1484.7751,-627.9208,1051.7911,5.0);
}
case 31: {
SetPlayerRaceCheckpoint(playerid,0,-1484.7751,-627.9208,1051.7911,-1411.5774,-720.7286,1056.0182,5.0);
}
case 32: {
SetPlayerRaceCheckpoint(playerid,0,-1411.5774,-720.7286,1056.0182,-1349.2864,-629.5939,1053.6517,5.0);
}
case 33: {
SetPlayerRaceCheckpoint(playerid,0,-1349.2864,-629.5939,1053.6517,-1524.5768,-612.2890,1055.2369,5.0);
}
case 34: {
SetPlayerRaceCheckpoint(playerid,0,-1524.5768,-612.2890,1055.2369,-1389.4087,-743.1297,1051.6444,5.0);
}
case 35: {
SetPlayerRaceCheckpoint(playerid,0,-1389.4087,-743.1297,1051.6444,-1484.7751,-627.9208,1051.7911,5.0);
}
case 36: {
SetPlayerRaceCheckpoint(playerid,0,-1484.7751,-627.9208,1051.7911,-1411.5774,-720.7286,1056.0182,5.0);
}
case 37: {
SetPlayerRaceCheckpoint(playerid,0,-1411.5774,-720.7286,1056.0182,-1349.2864,-629.5939,1053.6517,5.0);
}
case 38: {
SetPlayerRaceCheckpoint(playerid,0,-1349.2864,-629.5939,1053.6517,-1524.5768,-612.2890,1055.2369,5.0);
}
case 39: {
SetPlayerRaceCheckpoint(playerid,0,-1524.5768,-612.2890,1055.2369,-1389.4087,-743.1297,1051.6444,5.0);
}
case 40: {
if(GetPlayerMoney(playerid) >= 2500) {
SetPlayerHealth(GetPlayerVehicleID(playerid),1000.0);
ChangeVehicleColor(GetPlayerVehicleID(playerid),-1,-1);
} else {
SendClientMessage(playerid,COLOR_RED,"You dont have enough money for restore the health of your vehicle!");
}
SetPlayerRaceCheckpoint(playerid,0,-1389.4087,-743.1297,1051.6444,-1484.7751,-627.9208,1051.7911,5.0);
}
case 41: {
SetPlayerRaceCheckpoint(playerid,0,-1484.7751,-627.9208,1051.7911,-1411.5774,-720.7286,1056.0182,5.0);
}
case 42: {
SetPlayerRaceCheckpoint(playerid,0,-1411.5774,-720.7286,1056.0182,-1349.2864,-629.5939,1053.6517,5.0);
}
case 43: {
SetPlayerRaceCheckpoint(playerid,0,-1349.2864,-629.5939,1053.6517,-1524.5768,-612.2890,1055.2369,5.0);
}
case 44: {
SetPlayerRaceCheckpoint(playerid,0,-1524.5768,-612.2890,1055.2369,-1389.4087,-743.1297,1051.6444,5.0);
}
case 45: {
SetPlayerRaceCheckpoint(playerid,0,-1389.4087,-743.1297,1051.6444,-1484.7751,-627.9208,1051.7911,5.0);
}
case 46: {
SetPlayerRaceCheckpoint(playerid,0,-1484.7751,-627.9208,1051.7911,-1411.5774,-720.7286,1056.0182,5.0);
}
case 47: {
SetPlayerRaceCheckpoint(playerid,0,-1411.5774,-720.7286,1056.0182,-1349.2864,-629.5939,1053.6517,5.0);
}
case 48: {
SetPlayerRaceCheckpoint(playerid,0,-1349.2864,-629.5939,1053.6517,-1524.5768,-612.2890,1055.2369,5.0);
}
case 49: {
SetPlayerRaceCheckpoint(playerid,0,-1524.5768,-612.2890,1055.2369,-1389.4087,-743.1297,1051.6444,5.0);
}
case 50: {
if(GetPlayerMoney(playerid) >= 2500) {
SetPlayerHealth(GetPlayerVehicleID(playerid),1000.0);
ChangeVehicleColor(GetPlayerVehicleID(playerid),-1,-1);
} else {
SendClientMessage(playerid,COLOR_RED,"You dont have enough money for restore the health of your vehicle!");
}
SetPlayerRaceCheckpoint(playerid,0,-1389.4087,-743.1297,1051.6444,-1484.7751,-627.9208,1051.7911,5.0);
}
case 51: {
SetPlayerRaceCheckpoint(playerid,0,-1484.7751,-627.9208,1051.7911,-1411.5774,-720.7286,1056.0182,5.0);
}
case 52: {
SetPlayerRaceCheckpoint(playerid,0,-1411.5774,-720.7286,1056.0182,-1349.2864,-629.5939,1053.6517,5.0);
}
case 53: {
SetPlayerRaceCheckpoint(playerid,0,-1349.2864,-629.5939,1053.6517,-1524.5768,-612.2890,1055.2369,5.0);
}
case 54: {
SetPlayerRaceCheckpoint(playerid,0,-1524.5768,-612.2890,1055.2369,-1389.4087,-743.1297,1051.6444,5.0);
}
case 55: {
SetPlayerRaceCheckpoint(playerid,0,-1389.4087,-743.1297,1051.6444,-1484.7751,-627.9208,1051.7911,5.0);
}
case 56: {
SetPlayerRaceCheckpoint(playerid,0,-1484.7751,-627.9208,1051.7911,-1411.5774,-720.7286,1056.0182,5.0);
}
case 57: {
SetPlayerRaceCheckpoint(playerid,0,-1411.5774,-720.7286,1056.0182,-1349.2864,-629.5939,1053.6517,5.0);
}
case 58: {
SetPlayerRaceCheckpoint(playerid,0,-1349.2864,-629.5939,1053.6517,-1524.5768,-612.2890,1055.2369,5.0);
}
case 59: {
SetPlayerRaceCheckpoint(playerid,1,-1524.5768,-612.2890,1055.2369,-1389.4087,-743.1297,1051.6444,5.0);
}
case 60: {
    if(status == 1){
    SetPlayerScore(playerid,GetPlayerScore(playerid)+10);
    GivePlayerMoney(playerid, 10000);
    SendClientMessage(playerid,COLOR_YELLOW,"You have arrived 1st! You have received 10000$!!!");
    }
    if(status == 2){
    SetPlayerScore(playerid,GetPlayerScore(playerid)+8);
    GivePlayerMoney(playerid, 5000);
    SendClientMessage(playerid,COLOR_GREENYELLOW,"You have arrived 2nd! You have received 5000$!!!");
    }
    if(status == 3){
    SetPlayerScore(playerid,GetPlayerScore(playerid)+2);
    GivePlayerMoney(playerid, 2000);
    SendClientMessage(playerid,COLOR_YELLOWGREEN,"You have arrived 3rd! You have received 2000$!!!");
    }
  	 if (gTime3 != 0) {
    PlaySoundForPlayer(playerid, 1183);
    fMinutes = gTime1/60;
    Minutes = floatround(fMinutes, floatround_floor);
    Seconds = gTime3-(Minutes*60);
     GetPlayerName(playerid, name, 256);
     KillTimer(gTimer3);
     SetWorldTime(0);
     if(status == 1) {
	 format(sentence1, 256, "~r~%s ~w~win the ~y~RACE!!!", name);
	 GameTextForAll(sentence3,5000,6);
	 if(SYSTEMSAVESCORE == 1) {
     CheckAgainstHighScore(playerid, gTime3);
     }
	 }
	 format(sentence3, 256, "RACENEWS (%d): %s finished %d'. TIME: %d min(s) %d sec(s).",races, name, status, Minutes, Seconds);
	 SendClientMessageToAll(COLOR_GREEN,sentence3);
	 }
	 SetPlayerColor(playerid,playerColors[playerid]);
     status = status + 1;
     checkstatusText[playerid] = "";
     if(restart == 2) {
     if(status == players || gTimeConfirm >= TIMELIMIT*60) {
     confirmex = 0;
     KillTimer(gTimer3);
     gTime3=0;
     for (new i=0; i<MAX_PLAYERS; i++) {
     death[i] = 0;
     confirm3[i] = 0;
     playerdeath[i] = 0;
     SetPlayerHealth(i,0);
     SetPlayerWantedLevel(i,0);
     DisablePlayerCheckpoint(i);
     ForceClassSelection(i);
     }
     confirm = 0;
     status = 0;
     races = HotRace;
     KillTimer(gTimerConfirm);
     KillTimer(gRoundTimerHud);
     gTimeConfirm = 0;
     } else {
     death[playerid] = 0;
     confirm3[playerid] = 0;
     playerdeath[playerid] = 0;
     SetPlayerHealth(playerid,0);
     DisablePlayerCheckpoint(playerid);
     ForceClassSelection(playerid);
     }
     } else {
     for (new i=0; i<MAX_PLAYERS; i++) {
     TogglePlayerControllable(i,0);
     }
     SetTimer("Podius",5000,0);
     }
}
}
}


if(races == HotRace || races == DirtRace) {
if(confirmhud[playerid] == 3) {
switch(checkrace1[playerid]) {
case 10: {
SetPlayerWantedLevel(playerid,1);
}
case 20: {
SetPlayerWantedLevel(playerid,2);
}
case 30: {
SetPlayerWantedLevel(playerid,3);
}
case 40: {
SetPlayerWantedLevel(playerid,4);
}
case 50: {
SetPlayerWantedLevel(playerid,5);
}
case 55..59: {
SetPlayerWantedLevel(playerid,6);
}
}
switch(checkrace3[playerid]) {
case 10: {
SetPlayerWantedLevel(playerid,1);
}
case 20: {
SetPlayerWantedLevel(playerid,2);
}
case 30: {
SetPlayerWantedLevel(playerid,3);
}
case 40: {
SetPlayerWantedLevel(playerid,4);
}
case 50: {
SetPlayerWantedLevel(playerid,5);
}
case 55..59: {
SetPlayerWantedLevel(playerid,6);
}
}
}
else if(confirmhud[playerid] == 2) {
switch(checkrace1[playerid]) {
case 10: {
checkstatusText[playerid] = "[]";
}
case 20: {
checkstatusText[playerid] = "[][]";
}
case 30: {
checkstatusText[playerid] = "[][][]";
}
case 40: {
checkstatusText[playerid] = "[][][][]";
}
case 50: {
checkstatusText[playerid] = "[][][][][]";
}
case 55.59: {
checkstatusText[playerid] = "[][][][][][]";
}
}
switch(checkrace3[playerid]) {
case 10: {
checkstatusText[playerid] = "[]";
}
case 20: {
checkstatusText[playerid] = "[][]";
}
case 30: {
checkstatusText[playerid] = "[][][]";
}
case 40: {
checkstatusText[playerid] = "[][][][]";
}
case 50: {
checkstatusText[playerid] = "[][][][][]";
}
case 55.59: {
checkstatusText[playerid] = "[][][][][][]";
}
}
}
}

return 1;
}
//-------------------------------------------------------------------------
public ConfirmTimer() {
for (new i=0; i<MAX_PLAYERS; i++) {
speedo[i] = 0;
}
countdown = 4;
GameTextForAll("At places...",3000,6);
SetTimer("ForCountdown",5000,0);
return 1;
}
//-------------------------------------------------------------------------
public ForCountdown() {
SetTimer("Countdown",1000,1);
return 1;
}
//-------------------------------------------------------------------------
public Countdown() {
new string[256];
countdown--;
if(countdown == 3 || countdown == 2 || countdown == 1) {
format(string,256,"~r~%d",countdown);
for (new i=0; i<MAX_PLAYERS; i++) {
GameTextForPlayer(i,string,1000,3);
PlaySoundForPlayer(i,1056);
}
}
else if(countdown == 0) {
for (new i=0; i<MAX_PLAYERS; i++) {
speedo[i] = 1;
GameTextForPlayer(i,"~g~GO!!!",3000,3);
PlaySoundForPlayer(i,1057);
TogglePlayerControllable(i,1);
confirmecho[i] = 0;
confirmex = 1;
}
if(races == HotRace ) {
gTimer1=SetTimer("RaceTimer1", 1000, 1);
for (new i=0; i<MAX_PLAYERS; i++) {
SetPlayerRaceCheckpoint(i,0,-1418.4945,-136.2858,1044.7006,-1529.2603,-186.7520,1050.8276,5.0);
}
}
else if(races == BloodRing) {
gTimer2=SetTimer("RaceTimer2", 1000, 1);
timercheckpoint=SetTimer("Checkpoints", 180000, 1);
for (new i=0; i<MAX_PLAYERS; i++) {
if(confirm2[i] == 2) {
SendClientMessage(i,0xFF8A00AA,"Type /shop to enter in your Personal Shop.");
return true;
}
}
}
else if(races == DirtRace) {
gTimer3=SetTimer("RaceTimer3", 1000, 1);
for (new i=0; i<MAX_PLAYERS; i++) {
SetPlayerRaceCheckpoint(i,0,-1524.5768,-612.2890,1055.2369,-1389.4087,-743.1297,1051.6444,5.0);
}
}
}
return 1;
}
//-------------------------------------------------------------------------
public Checkpoints() {
new randCHECK=random(sizeof(gCheckpointsForRace2));
for (new i=0; i<MAX_PLAYERS; i++) {
SetPlayerCheckpoint(i,gCheckpointsForRace2[randCHECK][CheckpointX],gCheckpointsForRace2[randCHECK][CheckpointY],gCheckpointsForRace2[randCHECK][CheckpointZ],2.5);
gPlayerCheckpointStatusForDD[i] = CHECK_DD;
}
SetTimer("DisableCheckpoint",5000,0);
return 1;
}
//-------------------------------------------------------------------------
public DisableCheckpoint() {
for (new i=0; i<MAX_PLAYERS; i++) {
if(gPlayerCheckpointStatusForDD[i] == CHECK_DD) {
DisablePlayerCheckpoint(i);
return true;
}
}
return 1;
}
//-------------------------------------------------------------------------
public RaceTimer1() {
gTime1++;
}
//-------------------------------------------------------------------------
public RaceTimer2() {
gTime2++;
}
//-------------------------------------------------------------------------
public RaceTimer3() {
gTime3++;
}
//-------------------------------------------------------------------------
public OnPlayerCommandText(playerid, cmdtext[])
{

 new string[256];
 new cmd[256];
 new idx;
 
 new reason[256];
 
 cmd = strtok(cmdtext, idx);
 
 if(strcmp(cmd,"/about",true)==0) {
 SendClientMessage(playerid,0xFFFFFFAA,"Sunday Drivers GM 0.1");
 SendClientMessage(playerid,0xFFFFFFAA,"This gamemode was created by Chiarboss");
 SendClientMessage(playerid,0xFFFFFFAA,"Do NOT copy this gamemode code or part of it.");
return 1;
}

  if(strcmp(cmd,"/cmdlist",true)==0) {
  SendClientMessage(playerid,0xFFFF00AA,"/cmdlist /admcmdlist /about /hud /shop /race");
  SendClientMessage(playerid,0xFFFF00AA,"/startvote /shophelp /speedo /sound /kill /exit");
return 1;
}

  if(strcmp(cmd,"/admcmdlist",true)==0) {
  SendClientMessage(playerid,0xFFFF00AA,"/shoplock /restart /racetime /racetype /info");
  SendClientMessage(playerid,0xFFFF00AA,"/hudlock /hudunlock /vehicles /bounds /out ;");
return 1;
}

  if(strcmp(cmd,"/shophelp",true)==0) {
  SendClientMessage(playerid,0xFFFF00AA,"If you are spawned and if you are in the Stadium Interior of BloodRing DD,");
  SendClientMessage(playerid,0xFFFF00AA,"press /shop for enter in your Personal Shop");
  SendClientMessage(playerid,0xFFFF00AA,"Type /mac10 for buy a Mac10 for 1000$;");
  SendClientMessage(playerid,0xFFFF00AA,"type /tec9 for buy a Tec9 Mitra for 1200$;");
  SendClientMessage(playerid,0xFFFF00AA,"type /MP5 for buy a MP5 for 200$");
  SendClientMessage(playerid,0xFFFF00AA,"P.S.:Every time that you choose an option,");
  SendClientMessage(playerid,0xFFFF00AA,"you will newly press /shop.");
return 1;
}

 if(strcmp(cmd,"/out",true)==0) {
 if(IsPlayerAdmin(playerid)) {
 new tmp[256];
 new pid;
 new name[MAX_PLAYER_NAME];
 tmp = strtok(cmdtext,idx);
 if(!strlen(tmp)) {
 SendClientMessage(playerid,COLOR_RED,"Usage: /out [playerid]");
 }
 pid = strval(tmp);
 GetPlayerName(pid,name,sizeof(name));
 reason = "Kicked";
 format(string,sizeof(string),"%s left the race (%d) (%d)",name,races,reason);
 SendClientMessageToAll(0xFF8A00AA,string);
 ResetVariablesForPlayer(pid);
 } else {
 SendClientMessage(playerid,COLOR_RED,"You are not admin!!!");
 }
 return 1;
 }
  
  if(strcmp(cmd,"/hudlock",true)==0) {
  if(IsPlayerAdmin(playerid)) {
  new pid;
  new tmp[256];
  new name[MAX_PLAYER_NAME];
  new playername[MAX_PLAYER_NAME];
  GetPlayerName(playerid,name,sizeof(name));
  if(!strlen(tmp)) {
  format(string,sizeof(string),"The Admin %s have disabled the speedometer function.",name);
  SendClientMessageToAll(0xFF8A00AA,string);
  for(new i=0; i<MAX_PLAYERS; i++) {
  speedo[i] = 0;
  }
  }
  pid = strval(tmp);
  speedo[pid] = 0;
  GetPlayerName(pid,playername,sizeof(playername));
  if(pid != INVALID_PLAYER_ID) {
  format(string,sizeof(string),"You have disabled the speedometer function to %s",playername);
  SendClientMessage(playerid,0xFF8A00AA,string);
  } else {
  SendClientMessage(playerid,COLOR_RED,"Invalid player ID. Press TAB for see all valid playerID");
  }
  } else {
  SendClientMessage(playerid,COLOR_RED,"You are not admin!!!");
  }
  return 1;
  }
  
  if(strcmp(cmd,"/hudunlock",true)==0) {
  if(IsPlayerAdmin(playerid)) {
  new name[MAX_PLAYER_NAME];
  new playername[MAX_PLAYER_NAME];
  new pid;
  new tmp[256];
  tmp = strtok(cmdtext,idx);
  GetPlayerName(playerid,name,sizeof(name));
  if(!strlen(tmp)) {
  format(string,sizeof(name),"The Admin %s have enabled the speedometer function.",name);
  SendClientMessageToAll(0xFF8A00AA,string);
  for(new i=0; i<MAX_PLAYERS; i++) {
  speedo[i] = 1;
  }
  }
  pid = strval(tmp);
  GetPlayerName(pid,playername,sizeof(playername));
  if(pid != INVALID_PLAYER_ID) {
  format(string,sizeof(string),"You have enabled the speedometer function to %s",playername);
  SendClientMessage(playerid,0xFF8A00AA,string);
  speedo[pid] = 1;
  } else {
  SendClientMessage(playerid,COLOR_RED,"Invalid player ID. Press TAB for see all valid playerID");
  }
  } else {
  SendClientMessage(playerid,COLOR_RED,"You are not admin!!!");
  }
  return 1;
  }
  
  if(strcmp(cmd,"/speedo",true)==0) {
  if(speedo[playerid] > 0) {
  if(speedo[playerid] == 1) {
  speedo[playerid] = 2;
  SendClientMessage(playerid,0xFF8A00AA,"You have choiced the KM/H speedometer.");
  }
  else if(speedo[playerid] == 2) {
  speedo[playerid] = 1;
  SendClientMessage(playerid,0xFF8A00AA,"You have choiced the MpH (default) speedometer.");
  }
  } else {
  SendClientMessage(playerid,COLOR_RED,"One admin has disabled this command.");
  }
  return 1;
  }

  if(strcmp(cmd,"/race",true)==0) {
  #if defined playersmax 1
   if(players == 1) {
   GameTextForPlayer(playerid,"~r~Wait ~w~for other ~r~players...",5000,3);
   } else {
  #endif
  #if defined vehicles 1
   if(!IsPlayerInAnyVehicle(playerid)) {
   GameTextForPlayer(playerid,"~r~Take ~w~a ~y~vehicle!",5000,3);
   } else {
   #endif
   new name[MAX_PLAYER_NAME];
   new Float:x;
   new Float:y;
   new Float:z;
   new Float:zangle;
   GetPlayerName(playerid,name,sizeof(name));
   GetPlayerPos(playerid,x,y,z);
   GetPlayerFacingAngle(playerid,zangle);
   confirm++;
   confirmrace[playerid]++;
   if(confirmrace[playerid] >= 2 && confirm2[playerid] == 1) {
   SendClientMessage(playerid,COLOR_RED,"n00b, you have already participated at the DD!");
   SetPlayerHealth(playerid,0);
   }
   if(races == HotRace) {
   PutPlayerInVehicle(playerid,CreateVehicle(494,x,y,z,zangle,-1,-1,0),0);
   confirm1[playerid] = 1;
   SetTimer("Vehicle",1,0);
   GameTextForPlayer(playerid,"8-Track",6000,1);
   }
   else if(races == BloodRing) {
   playersindd++;
   SendClientMessage(playerid,0xFF8A00AA,"Type /shop to enter in your Personal Shop.");
   GivePlayerWeapon(playerid,29,3000);
   PutPlayerInVehicle(playerid,CreateVehicle(504,x,y,z,zangle,-1,-1,0),0);
   confirm2[playerid] = 1;
   SetTimer("Vehicle",1,0);
   GameTextForPlayer(playerid,"Blood Ring",6000,1);
   }
   else if(races == DirtRace) {
   PutPlayerInVehicle(playerid,CreateVehicle(468,x,y,z,zangle,-1,-1,0),0);
   confirm3[playerid] = 1;
   SetTimer("Vehicle",1,0);
   GameTextForPlayer(playerid,"Dirt Track",6000,1);
   }
   if(confirm == 1 && confirmex == 0) {
   format(string,sizeof(string),"%s has started the race (%d)",name,races);
   SendClientMessageToAll(0xFF8A00AA,string);
   SetTimer("ConfirmTimer",60000,0);
   gTimerConfirm=SetTimer("ConfirmTimerStatus",TIMELIMIT*60000,0);
   }
   if(countdown != 0) {
   format(string, 256, "%s joined the race (%d) (Before countdown)", name, races);
   SendClientMessageToAll(COLOR_ORANGE,string);
   } else {
   format(string, 256, "%s joined the race (%d) (After countdown)", name, races);
   }
   SetPlayerColor(playerid,COLOR_ORANGE);
   if(confirmex == 0) {
   TogglePlayerControllable(playerid,0);
   SendClientMessage(playerid,COLOR_RED,"Attend that finish the confirm timer...");
   if(confirm1[playerid] == 1 || confirm2[playerid] == 1) {
   SendClientMessage(playerid,COLOR_RED,"WARNING: Do not type /race or /exit during the confirm timer!");
   } else if(confirm3[playerid] == 1) {
   confirmecho[playerid]++;
   if(confirmecho[playerid] < 2) {
   SendClientMessage(playerid,COLOR_RED,"ADVISE: Type newly /race for fix the camera.");
   SendClientMessage(playerid,COLOR_RED,"WARNING: Do not type /exit during the confirm timer!");
   } else {
   SendClientMessage(playerid,COLOR_RED,"WARNING: Do not type /race or /exit during the confirm timer!");
   }
   }
   SendClientMessage(playerid,COLOR_RED,"WARNING: Do not use the /hud command during the race!");
   }
   #if defined vehicles 1
   }
   #endif
   #if defined playersmax 1
   }
   #endif
return 1;
}

if(strcmp(cmd, "/restart", true)==0) {
if(IsPlayerAdmin(playerid) == 1) {
new pname[MAX_PLAYER_NAME];
GetPlayerName(playerid,pname, sizeof(pname));
 if(restart == 1) {
 restart = 0;
 format(string, sizeof(string), "The Admin %s has disabled the restart mode.", pname);
 SendClientMessageToAll(0xFF8A00AA,string);
} else {
restart = 1;
format(string, sizeof(string), "The Admin %s has enabled the restart mode.", pname);
SendClientMessageToAll(0xFF8A00AA,string);
}
} else {
SendClientMessage(playerid,COLOR_RED,"You are not admin!!!");
}
return 1;
}

if(strcmp(cmd, "/shop", true)==0)
{
 if(confirm2[playerid] == 1) {
 if(shop == 1) {
inarmory[playerid] ++;
new pname[MAX_PLAYER_NAME];
  GetPlayerName(playerid,pname, sizeof(pname));
  format(string, sizeof(string), "- Welcome to your Personal Armory, %s; -", pname);
  SendClientMessage(playerid, 0xFF8A00AA, string);
  SendClientMessage(playerid, 0xFF8A00AA, "Here you can buy:");
  SendClientMessage(playerid, 0xFF8A00AA, "----------------------------------");
  SendClientMessage(playerid, 0xFF8A00AA, "/mac10[1000$]");
  SendClientMessage(playerid, 0xFF8A00AA, "/tec9 [1200$]");
  SendClientMessage(playerid, 0xFF8A00AA, "/MP5 [2000$]");
  SendClientMessage(playerid, 0xFF8A00AA, "----------------------------------");
} else {
SendClientMessage(playerid,0xFF8A00AA,"This command has been disabled.");
}
} else {
GameTextForPlayer(playerid,"~r~DD ~w~isnt currently ~r~initialized.",3000,3);
}
return 1;
}

if (strcmp(cmd, "/mac10", true)==0) {
 if (inarmory[playerid] == 1) {
  if(GetPlayerMoney(playerid) >= 1000){
  SendClientMessage(playerid, 0xFF8A00AA, "- You have bought a Mac-10 for 1200$. -");
  GivePlayerWeapon(playerid, 28, 999999);
  GivePlayerMoney(playerid, -1000);
  inarmory[playerid] = 0;
} else {
 SendClientMessage(playerid, COLOR_RED, "You dont have enough money! Win more races and come back!");
}
return 1;
}
}

if(strcmp(cmd,"/tec9", true)==0) {
 if (inarmory[playerid] == 1) {
  if(GetPlayerMoney(playerid) >= 1200){
  SendClientMessage(playerid, 0xFF8A00AA, "- You have bought a Tec9 Mitra for 1200$. -");
  GivePlayerWeapon(playerid, 32, 999999);
  GivePlayerMoney(playerid, -1200);
  inarmory[playerid] = 0;
} else {
 SendClientMessage(playerid, COLOR_RED, "You dont have enough money! Win more races and come back!");
}
return 1;
}
}

if(strcmp(cmd,"/MP5", true)==0) {
 if (inarmory[playerid] == 1) {
  if(GetPlayerMoney(playerid) >= 2000){
  SendClientMessage(playerid, 0xFF8A00AA, "- You have bought a MP5 for 1200$. -");
  GivePlayerWeapon(playerid, 29, 999999);
  GivePlayerMoney(playerid, -2000);
  inarmory[playerid] = 0;
} else {
 SendClientMessage(playerid, COLOR_RED, "You dont have enough money! Win more races and come back!");
}
return 1;
}
}

if(strcmp(cmd,"/hud",true)==0) {
if(confirm1[playerid] == 0 && confirm2[playerid] == 0 && confirm3[playerid] == 0) {
if(GetPlayerMoney(playerid) >= 1000) {
new name[MAX_PLAYER_NAME];
new tmp[256];
new pid;
GetPlayerName(playerid,name,sizeof(name));
tmp = strtok(cmdtext,idx);
if(!strlen(tmp)) {
SendClientMessage(playerid,COLOR_RED,"Usage: /hud [hudid]");
ResetForAdvise(playerid);
return 1;
}
pid = strval(tmp);
switch(pid) {
case 1: {
confirmhud[playerid] = 1;
}
case 2: {
confirmhud[playerid] = 2;
}
case 3: {
confirmhud[playerid] = 3;
}
default: {
GivePlayerMoney(playerid,-1000);
}
}
if(pid < 1 || pid > 3) {
SendClientMessage(playerid,COLOR_RED,"Invalid HUD ID!");
ResetForAdvise(playerid);
} else {
format(string,sizeof(string),"You have choiced the %d' hud",pid);
SendClientMessage(playerid,0xFF8A00AA,string);
}
} else {
 SendClientMessage(playerid, COLOR_RED, "You dont have enough money! Win more races and come back!");
}
} else {
new stringhud[256];
Kick(playerid);
format(stringhud,sizeof(stringhud),"%s kicked for tried crashing server.");
SendClientMessageToAll(0xC10000AA,stringhud);
}
return 1;
}

if(strcmp(cmd,"/racetime", true)==0) {
if(IsPlayerAdmin(playerid)==1) {
	new name[MAX_PLAYER_NAME];
	new tmp[256];
	GetPlayerName(playerid,name,sizeof(name));
	tmp = strtok(cmdtext,idx);
    if(!strlen(tmp)) {
    SendClientMessage(playerid,0xFF8A00AA,"You have setted the default RT.");
    TIMELIMIT = 5;
    return 1;
    }
    TIMELIMIT = strval(tmp);
    format(string,sizeof(string),"The Admin %d has setted the RT to %d minutes.",name,TIMELIMIT);
    SendClientMessageToAll(NICE_BLUE,string);
    } else {
    SendClientMessage(playerid,COLOR_RED,"You are not admin!!!");
	}
	return 1;
	}

if(strcmp(cmd,"/sound",true)==0) {
 if(soundplayer[playerid] == 1) {
 soundplayer[playerid] = 0;
 sound=SetTimer("Sound",1,1);
 SendClientMessage(playerid,0xFF8A00AA,"You have disabled any sound.");
 } else {
 soundplayer[playerid] = 1;
 SendClientMessage(playerid,0xFF8A00AA,"You have enabled any sound.");
 KillTimer(sound);
 }
return 1;
}

if(strcmp(cmd,"/racetype", true)==0) {
 if(IsPlayerAdmin(playerid)) {
 new name[MAX_PLAYER_NAME];
 new tmp[256];
 new stringforadvise[256];
 new pid;
 tmp = strtok(cmdtext,idx);
 GetPlayerName(playerid,name,sizeof(name));
 if(!strlen(tmp)) {
 format(string,sizeof(string),"The Admin %s has restarted this race. (%d)",name,races);
 SendClientMessageToAll(0xFF8A00AA,string);
 printf("Restarted currently race: (%d)",races);
 ResetVariables();
return 1;
}
pid = strval(tmp);
switch(pid) {
case 1: {
races = HotRace;
}
case 2: {
races = BloodRing;
}
case 3: {
races = DirtRace;
}
}
if(pid < 1 || pid > 3) {
ResetAdvise(playerid);
} else {
ResetVariables();
format(stringforadvise,sizeof(stringforadvise),"The Admin %s have loaded the follow race: (%d)",name,races);
printf("Loaded Race: (%d)",races);
SendClientMessageToAll(0xFF8A00AA,stringforadvise);
}
} else {
SendClientMessage(playerid,COLOR_RED,"You are not admin!!!");
}
return 1;
}

if(strcmp(cmd,"/kill",true)==0) {
 if(confirm1[playerid] == 0 && confirm2[playerid] == 0 && confirm3[playerid] == 0) {
 SetPlayerHealth(playerid,0);
 }
 else if(confirm1[playerid] == 1 || confirm2[playerid] == 1 || confirm3[playerid] == 1) {
 SendClientMessage(playerid,0xC10000AA,"During the races, the command /kill is disabled.");
 }
return 1;
}

if(strcmp(cmd,"/shoplock", true)==0) {
 if(IsPlayerAdmin(playerid)) {
 if(races == BloodRing) {
 new pname[MAX_PLAYER_NAME];
 new playername[MAX_PLAYER_NAME];
 new tmp[256];
 new pid;
 GetPlayerName(playerid,pname, sizeof(pname));
 tmp = strtok(cmdtext,idx);
 if(!strlen(tmp)) {
 if(shop == 1) {
 shop = 0;
 format(string, sizeof(string), "The Admin %s has disabled the /shop command.", pname);
 SendClientMessageToAll(0xFF8A00AA,string);
} else {
shop = 1;
format(string, sizeof(string), "The Admin %s has enabled the /shop command.", pname);
SendClientMessageToAll(0xFF8A00AA,string);
}
return 1;
}
pid = strval(tmp);
GetPlayerName(pid,playername, sizeof(playername));
inarmory[pid] = -999;
if(pid != INVALID_PLAYER_ID) {
format(string, sizeof(string), "The Admin %s has disabled the /shop command to %s.", pname, playername);
SendClientMessageToAll(0xFF8A00AA,string);
} else {
SendClientMessage(playerid,COLOR_RED,"Invalid player ID. Press TAB for see all valid playerID");
}
} else {
SendClientMessage(playerid,COLOR_RED,"The current race isnt BloodRing");
}
} else {
SendClientMessage(playerid,COLOR_RED,"You are not admin!!!");
}
return 1;
}

if(strcmp(cmd,"/exit",true)==0) {
if(confirm1[playerid] == 1 || confirm2[playerid] == 1 || confirm3[playerid] == 1) {
new name[MAX_PLAYER_NAME];
reason = "Leaving";
ResetVariablesForPlayer(playerid);
GetPlayerName(playerid,name,sizeof(name));
format(string,sizeof(string),"%s left the race (%d) (%d)",name,races,reason);
SendClientMessageToAll(COLOR_GREY,string);
} else {
SendClientMessage(playerid,COLOR_RED,"You are already out from stadium interior!");
}
return 1;
}

 if(strcmp(cmd,"/vehicles",true)==0) {
  if(IsPlayerAdmin(playerid)) {
   new name[MAX_PLAYER_NAME];
   GetPlayerName(playerid,name,sizeof(name));
    if(vehicles == 0) {
    vehicles = 1;
    CreateVehicle(494,2657.4302,-1691.9403,9.2098,271.0485,-1,-1,0);
    CreateVehicle(494,2657.4551,-1697.0164,9.2118,269.9745,-1,-1,0);
    CreateVehicle(494,2657.4424,-1701.9327,9.2117,269.7704,-1,-1,0);
    CreateVehicle(494,2657.3088,-1707.0720,9.2127,269.3252,-1,-1,0);
    CreateVehicle(494,2657.8540,-1711.8798,9.2138,269.3959,-1,-1,0);
    CreateVehicle(494,2657.8936,-1797.4159,9.1982,272.6050,-1,-1,0);
    CreateVehicle(494,2657.7500,-1802.7197,9.1962,273.4662,-1,-1,0);
    CreateVehicle(494,2657.8950,-1807.7926,9.1966,274.0525,-1,-1,0);
    CreateVehicle(494,2658.6101,-1812.8348,9.2015,278.5288,-1,-1,0);
    CreateVehicle(494,2659.3052,-1817.7943,9.2036,281.2562,-1,-1,0);
    CreateVehicle(494,2660.2214,-1822.8424,9.2013,281.1157,-1,-1,0);
    CreateVehicle(494,2661.5574,-1828.9178,9.2045,287.7770,-1,-1,0);
    CreateVehicle(494,2664.1047,-1833.9069,9.2121,293.9963,-1,-1,0);
    CreateVehicle(494,2676.1936,-1821.7805,9.2692,128.9249,-1,-1,0);
    CreateVehicle(494,2679.5317,-1825.6537,9.2821,127.6328,-1,-1,0);
    CreateVehicle(494,2682.7834,-1830.0123,9.2981,137.7449,-1,-1,0);
    CreateVehicle(494,2687.1802,-1833.0249,9.3178,145.1366,-1,-1,0);
    CreateVehicle(494,2691.0295,-1836.0249,9.3349,148.2618,-1,-1,0);
    CreateVehicle(494,2695.4365,-1838.0490,9.3515,147.7731,-1,-1,0);
    CreateVehicle(494,2701.0098,-1841.0892,9.3709,158.8108,-1,-1,0);
    CreateVehicle(494,2706.5286,-1843.1526,9.3903,158.8043,-1,-1,0);
    CreateVehicle(494,2711.0559,-1844.8551,9.4055,159.1338,-1,-1,0);
    CreateVehicle(494,2715.9304,-1846.4456,9.4213,161.0680,-1,-1,0);
    CreateVehicle(494,2727.9265,-1876.2178,9.4683,358.9196,-1,-1,0);
    CreateVehicle(494,2732.8816,-1876.2985,9.4911,0.1795,-1,-1,0);
    CreateVehicle(494,2738.1094,-1876.0620,9.5143,358.2287,-1,-1,0);
    CreateVehicle(494,2742.8850,-1875.6405,9.5375,0.2576,-1,-1,0);
    CreateVehicle(494,2747.9968,-1876.4258,9.5578,359.9487,-1,-1,0);
    CreateVehicle(494,2752.9285,-1876.4219,9.5770,359.3030,-1,-1,0);
    CreateVehicle(494,2757.9861,-1876.1254,9.5979,359.9707,-1,-1,0);
    CreateVehicle(494,2762.9438,-1876.1414,9.6180,359.1446,-1,-1,0);
    CreateVehicle(494,2768.1377,-1875.9906,9.6399,359.7998,-1,-1,0);
    CreateVehicle(494,2772.6965,-1876.2081,9.6608,359.0302,-1,-1,0);
    CreateVehicle(494,2777.8113,-1876.5840,9.6861,1.7872,-1,-1,0);
    CreateVehicle(494,2782.9980,-1876.4041,9.7075,0.3765,-1,-1,0);
    CreateVehicle(494,2788.2349,-1875.9457,9.7277,1.2514,-1,-1,0);
    CreateVehicle(494,2793.1633,-1876.3110,9.7481,0.0172,-1,-1,0);
    CreateVehicle(494,2797.9434,-1876.2402,9.7658,0.6759,-1,-1,0);
    CreateVehicle(494,2802.8694,-1876.1327,9.7853,359.9715,-1,-1,0);
    CreateVehicle(494,2741.6460,-1851.1934,9.5361,180.4083,-1,-1,0);
    CreateVehicle(494,2747.7285,-1850.4552,9.5582,192.2457,-1,-1,0);
    CreateVehicle(494,2753.1465,-1848.5200,9.5842,196.8706,-1,-1,0);
    CreateVehicle(494,2757.8652,-1846.7821,9.6049,198.4232,-1,-1,0);
    CreateVehicle(494,2762.1807,-1845.2701,9.6254,198.7941,-1,-1,0);
    CreateVehicle(494,2767.0723,-1843.5389,9.6410,198.9184,-1,-1,0);
    CreateVehicle(494,2771.5100,-1841.7369,9.6560,199.1967,-1,-1,0);
    CreateVehicle(494,2776.3613,-1839.9814,9.6736,200.1438,-1,-1,0);
    CreateVehicle(494,2780.9204,-1838.1604,9.6864,210.2694,-1,-1,0);
    CreateVehicle(494,2784.8201,-1834.9185,9.7090,219.9627,-1,-1,0);
    CreateVehicle(494,2809.7383,-1837.0414,9.8167,88.5468,-1,-1,0);
    CreateVehicle(494,2810.1211,-1832.0221,9.8193,86.9948,-1,-1,0);
    CreateVehicle(494,2810.5938,-1827.1202,9.8215,87.3319,-1,-1,0);
    CreateVehicle(494,2810.7991,-1822.1289,9.8250,87.8446,-1,-1,0);
    CreateVehicle(494,2823.9624,-1723.4052,9.8996,79.0611,-1,-1,0);
    CreateVehicle(494,2825.3611,-1718.7465,9.9023,77.5213,-1,-1,0);
    CreateVehicle(494,2825.8503,-1714.1124,9.9041,77.3868,-1,-1,0);
    CreateVehicle(494,2827.3562,-1709.1260,9.8996,75.7392,-1,-1,0);
    CreateVehicle(494,2828.4224,-1704.2609,9.8952,76.5805,-1,-1,0);
    CreateVehicle(494,2829.2300,-1699.4203,9.8913,76.1593,-1,-1,0);
    CreateVehicle(494,2830.9197,-1694.5520,9.8944,74.6891,-1,-1,0);
    CreateVehicle(494,2831.9480,-1689.8146,9.8931,73.7990,-1,-1,0);
    CreateVehicle(494,2827.8010,-1672.4968,9.8693,179.4928,-1,-1,0);
    CreateVehicle(494,2822.6592,-1672.3254,9.8554,179.7763,-1,-1,0);
    CreateVehicle(494,2817.6580,-1672.1666,9.8419,179.3247,-1,-1,0);
    CreateVehicle(494,2812.9927,-1672.8624,9.8320,181.3207,-1,-1,0);
    CreateVehicle(494,2807.8594,-1671.8036,9.8280,179.4332,-1,-1,0);
    CreateVehicle(494,2802.7737,-1671.6464,9.8197,178.9692,-1,-1,0);
    CreateVehicle(494,2797.7681,-1671.8566,9.8052,180.7539,-1,-1,0);
    CreateVehicle(494,2792.7153,-1671.7783,9.7923,179.9045,-1,-1,0);
    CreateVehicle(494,2787.7898,-1672.0775,9.7700,178.3382,-1,-1,0);
    CreateVehicle(504,-2133.5378,-435.0716,35.1284,81.4936,-1,-1,0);
    CreateVehicle(504,-2133.2305,-432.4738,35.1284,82.0117,-1,-1,0);
    CreateVehicle(504,-2132.7981,-429.6905,35.1285,81.9744,-1,-1,0);
    CreateVehicle(504,-2132.4780,-427.1351,35.1279,81.3609,-1,-1,0);
    CreateVehicle(504,-2132.1711,-424.3226,35.1284,82.0235,-1,-1,0);
    CreateVehicle(504,-2131.5835,-421.5876,35.1286,77.6163,-1,-1,0);
    CreateVehicle(504,-2130.6384,-418.8047,35.1281,72.1152,-1,-1,0);
    CreateVehicle(504,-2129.7397,-416.2472,35.1284,71.3947,-1,-1,0);
    CreateVehicle(504,-2128.7610,-413.5724,35.1285,71.4492,-1,-1,0);
    CreateVehicle(504,-2127.9094,-410.8508,35.1285,71.0971,-1,-1,0);
    CreateVehicle(504,-2126.9270,-408.1972,35.1284,69.6979,-1,-1,0);
    CreateVehicle(504,-2125.6807,-405.4483,35.1284,64.0657,-1,-1,0);
    CreateVehicle(504,-2133.1904,-453.5941,35.1284,96.8648,-1,-1,0);
    CreateVehicle(504,-2132.9060,-456.2692,35.1285,96.8977,-1,-1,0);
    CreateVehicle(504,-2132.5034,-459.0496,35.1283,99.0267,-1,-1,0);
    CreateVehicle(504,-2132.0354,-461.7968,35.1295,100.5006,-1,-1,0);
    CreateVehicle(504,-2131.5254,-464.4614,35.1309,102.0812,-1,-1,0);
    CreateVehicle(504,-2130.8616,-467.1248,35.1319,104.6905,-1,-1,0);
    CreateVehicle(504,-2129.9624,-469.9738,35.1315,108.2642,-1,-1,0);
    CreateVehicle(504,-2129.2622,-472.7121,35.1316,109.8431,-1,-1,0);
    CreateVehicle(504,-2128.0283,-475.4022,35.1345,113.9697,-1,-1,0);
    CreateVehicle(504,-2127.0918,-478.4668,35.1355,119.2266,-1,-1,0);
    CreateVehicle(504,-2126.0144,-481.2338,35.1356,114.3974,-1,-1,0);
    CreateVehicle(504,-2124.7444,-483.8293,35.1355,116.3322,-1,-1,0);
    CreateVehicle(468,1078.4895,1600.0778,12.2160,27.7301,-1,-1,0);
    CreateVehicle(468,1077.6520,1599.5469,12.2157,35.5050,-1,-1,0);
    CreateVehicle(468,1076.8423,1599.0785,12.2154,34.4441,-1,-1,0);
    CreateVehicle(468,1076.2213,1598.6139,12.2159,39.9685,-1,-1,0);
    CreateVehicle(468,1075.5127,1597.9473,12.2152,44.0492,-1,-1,0);
    CreateVehicle(468,1074.8951,1597.2598,12.2159,49.8840,-1,-1,0);
    CreateVehicle(468,1074.0717,1596.8270,12.2148,47.8889,-1,-1,0);
    CreateVehicle(468,1073.1863,1596.0118,12.2155,44.7564,-1,-1,0);
    CreateVehicle(468,1072.3514,1595.4784,12.2158,41.7029,-1,-1,0);
    CreateVehicle(468,1071.7710,1594.9167,12.2156,47.3763,-1,-1,0);
    CreateVehicle(468,1071.0951,1594.2548,12.2159,42.9456,-1,-1,0);
    CreateVehicle(468,1070.0392,1593.6407,12.2159,36.2484,-1,-1,0);
    CreateVehicle(468,1116.2870,1600.3636,12.2198,333.5197,-1,-1,0);
    CreateVehicle(468,1117.1973,1599.9658,12.2190,334.6485,-1,-1,0);
    CreateVehicle(468,1117.7184,1599.3870,12.2174,334.9947,-1,-1,0);
    CreateVehicle(468,1118.6207,1598.6100,12.2161,322.7865,-1,-1,0);
    CreateVehicle(468,1119.2236,1598.1572,12.2158,318.2094,-1,-1,0);
    CreateVehicle(468,1119.7817,1597.3749,12.2148,323.3851,-1,-1,0);
    CreateVehicle(468,1120.6411,1596.9292,12.2156,335.5393,-1,-1,0);
    CreateVehicle(468,1121.2776,1596.3806,12.2151,325.7973,-1,-1,0);
    CreateVehicle(468,1121.8617,1596.0977,12.2151,330.8820,-1,-1,0);
    CreateVehicle(468,1122.4949,1595.7805,12.2157,324.8096,-1,-1,0);
    CreateVehicle(468,1123.2504,1595.0442,12.2155,317.9193,-1,-1,0);
    CreateVehicle(468,1123.7864,1594.6935,12.2154,326.5702,-1,-1,0);
    format(string,sizeof(string),"The Admin %s has enabled the Vehicles Mode.",name);
    SendClientMessageToAll(0xFF8A00AA,string);
    } else {
    vehicles = 0;
    format(string,sizeof(string),"The Admin %s has disabled the Vehicles Mode.",name);
    SendClientMessageToAll(0xFF8A00AA,string);
    for(new i=0; i<MAX_VEHICLES; i++) {
    DestroyVehicle(i);
    }
    CreateVehicle(494,2676.7234,-1672.3975,9.2934,179.9965,2,3,0);
    CreateVehicle(444,2686.7639,-1671.8143,9.8168,179.0177,79,3,0);
    CreateVehicle(504,-2160.1582,-409.1746,35.1283,230.6400,77,77,0);
    CreateVehicle(573,1092.2767,1612.4164,13.1973,151.3612,3,4,0);
    CreateVehicle(424,1103.4581,1615.7324,12.3282,209.1826,2,3,0);
    for(new p=0; p<MAX_PLAYERS; p++) {
    SetVehicleParamsForPlayer(1,p,0,1);
    SetVehicleParamsForPlayer(2,p,0,1);
    SetVehicleParamsForPlayer(3,p,0,1);
    SetVehicleParamsForPlayer(4,p,0,1);
    SetVehicleParamsForPlayer(5,p,0,1);
    }
    }
	} else {
	SendClientMessage(playerid,COLOR_RED,"You are not admin!!!");
	}
	return 1;
	}
	
if(strcmp(cmd,"/bounds",true)==0) {
if(IsPlayerAdmin(playerid)) {
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
 if(objects == 0) {
 objects = 1;
 CreateObject(994, 2654.181885, -1678.670410, 9.981256, 0, 0, 19.0622);
 CreateObject(994, 2661.810547, -1674.773804, 9.985649, 0, 0, 65.7812);
 CreateObject(994, 2814.177979, -1849.008545, 10.171831, 0, 0, 87.4217);
 CreateObject(994, 2813.925781, -1856.633911, 10.171585, 0, 0, 87.4217);
 CreateObject(994, 2713.500000, -1875.860962, 10.155005, 0, 0, 162.8112);
 CreateObject(994, 2706.101807, -1873.590698, 10.155005, 0, 0, 162.8112);
 CreateObject(994, 2699.680420, -1871.579712, 10.160988, 0, 0, 149.8423);
 CreateObject(994, 2693.305664, -1867.815918, 10.155005, 0, 0, 149.8423);
 CreateObject(994, 2687.075684, -1864.180542, 10.163026, 0, 0, 140.3112);
 CreateObject(994, 2680.961426, -1859.158447, 10.189794, 0, 0, 140.3112);
 CreateObject(994, 2675.518311, -1854.633301, 10.204638, 0, 0, 127.3423);
 CreateObject(994, 2671.135010, -1848.843750, 10.152251, 0, 0, 127.3423);
 CreateObject(989, 1098.304565, 1618.728516, 13.367681, 0, 0, 286.4066);
 CreateObject(1225, 1094.245605, 1619.216431, 11.952630, 0, 0, 0);
 CreateObject(1225, 1095.049316, 1618.674194, 11.952630, 0, 0, 0);
 CreateObject(1225, 1101.594604, 1618.932617, 11.952630, 0, 0, 0);
 CreateObject(1225, 1102.163330, 1619.606079, 11.952680, 0, 0, 0);
 CreateObject(980, 1057.409302, 1591.753296, 14.320267, 0, 0, 315);
 CreateObject(1225, 1062.995117, 1587.477295, 11.952630, 0, 0, 0);
 CreateObject(1225, 1062.069458, 1587.717529, 11.952630, 0, 0, 0);
 CreateObject(980, 1057.569092, 1599.846191, 14.320267, 0, 0, 225);
 CreateObject(980, 1066.452759, 1607.154297, 14.320267, 0, 0, 213.75);
 CreateObject(980, 1076.927856, 1611.437500, 14.320267, 0, 0, 191.25);
 CreateObject(980, 1087.848511, 1614.833984, 14.320267, 0, 0, 202.5);
 CreateObject(1225, 1093.229492, 1617.584229, 11.952630, 0, 0, 0);
 CreateObject(1225, 1094.262573, 1618.000244, 11.952630, 0, 0, 0);
 CreateObject(980, 1136.491089, 1592.403198, 14.320267, 0, 0, 33.75);
 CreateObject(1225, 1130.917358, 1587.667969, 11.952630, 0, 0, 0);
 CreateObject(1225, 1131.266235, 1588.682373, 11.952630, 0, 0, 0);
 CreateObject(980, 1137.247681, 1599.732544, 14.320267, 0, 0, 135);
 CreateObject(980, 1128.406372, 1606.929688, 14.324032, 0, 0, 146.25);
 CreateObject(980, 1117.923096, 1611.251587, 14.320267, 0, 0, 168.75);
 CreateObject(980, 1107.494019, 1615.545532, 14.320267, 0, 0, 146.25);
 CreateObject(980, -2118.276611, -388.634460, 37.109329, 0, 0, 168.75);
 CreateObject(980, -2129.163330, -389.699646, 37.109329, 0, 0, 203.4367);
 CreateObject(980, -2139.076660, -395.231689, 37.116405, 0, 0, 214.6867);
 CreateObject(980, -2149.450684, -397.459839, 37.116405, 0, 0, 169.6867);
 CreateObject(980, -2160.865234, -396.470520, 37.109329, 0, 0, 180.9367);
 CreateObject(980, -2168.676514, -401.856964, 37.109329, 0, 0, 248.4367);
 CreateObject(980, -2169.630127, -412.873810, 37.109329, 0, 0, 282.1867);
 CreateObject(980, -2166.156982, -423.789124, 37.109329, 0, 0, 293.4367);
 CreateObject(980, -2159.758545, -433.168304, 37.109329, 0, 0, 315.9367);
 CreateObject(980, -2153.362549, -442.461426, 37.116405, 0, 0, 293.4367);
 CreateObject(980, -2148.912354, -452.938843, 37.109329, 0, 0, 293.4367);
 CreateObject(980, -2145.408203, -463.868713, 37.109329, 0, 0, 282.1867);
 CreateObject(980, -2143.263428, -474.888428, 37.587891, 0, 0, 282.1867);
 CreateObject(980, -2137.276123, -483.483673, 39.061974, 0, 0, 327.1867);
 CreateObject(980, -2128.686279, -491.136993, 38.011517, 0, 0, 315.9367);
 CreateObject(980, -2120.389648, -499.286163, 37.517864, 0, 0, 315.9367);
 CreateObject(980, -2110.794678, -501.183441, 37.109329, 0, 0, 23.4368);
 format(string,sizeof(string),"The Admin %s has enabled the World Bounds Modes.",name);
 SendClientMessageToAll(0xFF8A00AA,string);
 } else {
 for(new i=0; i<MAX_OBJECTS; i++) {
 DestroyObject(i);
 }
 objects = 0;
 format(string,sizeof(string),"The Admin %s has disabled the World Bounds Modes.",name);
 SendClientMessageToAll(0xFF8A00AA,string);
 }
 } else {
 SendClientMessage(playerid,COLOR_RED,"You are not admin!!!");
 }
return 1;
}
 
 if(strcmp(cmd,"/win",true)==0) {
 if(playersindd == 1) {
 new sentence2[256];
 new Float:fMinutes;
 new Minutes;
 new Seconds;
 new name[MAX_PLAYER_NAME];
 fMinutes = gTime1/60;
 Minutes = floatround(fMinutes, floatround_floor);
 Seconds = gTime1-(Minutes*60);
 GetPlayerName(playerid, name, 256);
 KillTimer(gTimer2);
 SetWorldTime(20);
 playersindd=0;
 ResetVariablesForPlayer(playerid);
 GetPlayerName(playerid,name,sizeof(name));
 format(string,sizeof(string),"~r~%s ~w~win the ~y~DD!!!",name);
 GameTextForAll(string,5000,6);
 format(sentence2,256,"DDNEWS: %s win the DD. TIME: %d min(s) %d sec(s).", name, Minutes, Seconds);
 SendClientMessageToAll(COLOR_GREEN,sentence2);
 SendClientMessage(playerid,COLOR_YELLOW,"You have win the DD! You have received 10000$!!!");
 GivePlayerMoney(playerid,10000);
 SetPlayerScore(playerid,GetPlayerScore(playerid)+10);
 if(SYSTEMSAVESCORE == 1 && gTime2 != 0) {
 CheckAgainstHighScore(playerid, gTime2);
 }
 SetTimer("AfterDD",10000,0);
 gTimeConfirm = 0;
 confirm = 0;
 confirmex = 0;
 KillTimer(gTimerConfirm);
 KillTimer(timercheckpoint);
 for (new i=0; i<MAX_PLAYERS; i++) {
 TogglePlayerControllable(i,0);
 }
} else {
SendClientMessage(playerid,COLOR_DARKRED,"In the BR arena there are still pilots! Kill them!");
}
return 1;
}

if(strcmp(cmd,"/info",true)==0) {
if(IsPlayerAdmin(playerid)) {
new tmp[256];
new tmp1[256];
new tmp2[256];
SendClientMessage(playerid,0xFF8A00AA,"Current Sunday-Drivers Settings (Getting .INI configuration).");
format(tmp,sizeof(tmp),"Time limit: %d Players limit: %d Show Markers: %d Show Names: %d", TIMELIMIT, PLAYERSLIMIT, SHOWMARKERS, SHOWNAMES);
format(tmp1,sizeof(tmp1)," Starting weather: %d Starting hour: %d Starting race: %d Vehicles mode: %d Objects mode: %d",SWEATHER, SHOUR, STARTRACE, VEHICLES,OBJECTS);
format(tmp2, sizeof(tmp2),"Speedo system: %d\n VCRS system: %d\n SSS system: %d RWS system: %d",SPEEDO, VOTERCSYSTEM, SYSTEMSAVESCORE, RANDOMW);
SendClientMessage(playerid,0xFF8A00AA,tmp);SendClientMessage(playerid,0xFF8A00AA,tmp1);SendClientMessage(playerid,0xFF8A00AA,tmp2);
} else {
SendClientMessage(playerid,COLOR_RED,"You are not admin!!!");
}
return 1;
}

if(systemrc == 1) {
if (strcmp(cmd, "/startvote", true)==0)
{
new name[MAX_PLAYER_NAME];
new tmp[256];
GetPlayerName(playerid,name,sizeof(name));
tmp = strtok(cmdtext,idx);
if(!strlen(tmp)) {
SendClientMessage(playerid,COLOR_RED,"Usage: /startvote [raceid]");
}
pidplayer = strval(tmp);
if(pidplayer > 0 && pidplayer < 4) {
    if (VoteStatus == 0)
	{
		GivePlayerMoney(playerid, -5);
		format(string, sizeof(string), "%s has started a StadiumRace change vote! (%d)", name, pidplayer);
		SendClientMessageToAll(COLOR_SYSTEM,string);
		SendClientMessageToAll(COLOR_SYSTEM, "Poll Duration = 60 sec./1 minute");
		SendClientMessageToAll(COLOR_SYSTEM, "Type /Yes to vote Yes or /No to vote No.");
		VoteStatus = 1;
		vtimer = SetTimer("votetimer",60000,0);
	}
	else if (VoteStatus == 1)
	{
	    SendClientMessage(playerid, COLOR_SYSTEM, "Another poll is already in progress!");
	}
} else {
ResetAdvise(playerid);
}

	return 1;
}


if (strcmp(cmd, "/votes", true)==0)
{
		format(string, sizeof(string), "Race choiced: %d | Positive votes: %d | Negative votes: %d | Total: %d",pidplayer, Pvotes, Nvotes, Pvotes + Nvotes);
		SendClientMessage(playerid, COLOR_SYSTEM, string);
		return 1;
}

if (strcmp(cmd, "/killvote", true)==0)
{
    if (IsPlayerAdmin(playerid) == 1 && VoteStatus == 1)
	{
		KillTimer(vtimer);
		ResetVoteStats();
		SendClientMessageToAll(COLOR_SYSTEM, "An admin has cancelled the poll!");
	}
	else if (VoteStatus == 0)
	{
	    SendClientMessage(playerid, COLOR_SYSTEM, "There are no active polls!");
	}
	else if (IsPlayerAdmin(playerid) == 0)
	{
		SendClientMessage(playerid,COLOR_SYSTEM, "Only Admins can use this!");
	}

	return 1;
}


if (strcmp(cmd, "/votehelp", true)==0)
{
		SendClientMessage(playerid, COLOR_YELLOW, "This poll system will allow you to change the gamemode SR.");
		SendClientMessage(playerid, COLOR_YELLOW, "Type /startvote to begin the poll.");
		SendClientMessage(playerid, COLOR_YELLOW, "Type /Yes to vote Yes.");
		SendClientMessage(playerid, COLOR_YELLOW, "Type /No to vote No.");
		SendClientMessage(playerid, COLOR_YELLOW, "Type /votes to see the current total number of votes casted.");
		SendClientMessage(playerid, COLOR_YELLOW, "Type /killvote to disable any current polls (Admins only).");
		return 1;
}


if (strcmp(cmd, "/Yes", true)==0)
{
    if (VoteStatus == 1 && Voted[playerid] == 0)
	{
		Pvotes++;
		SendClientMessage(playerid, COLOR_SYSTEM, "Your vote has been succesfully casted!");
		Voted[playerid] = 1;
	}
    else if (Voted[playerid] == 1)
	{
	    SendClientMessage(playerid, COLOR_SYSTEM, "You have already voted for this poll!");
	}
	else if (VoteStatus == 0)
	{
	    SendClientMessage(playerid, COLOR_SYSTEM, "There are no active polls!");
	}

	return 1;
	}


if (strcmp(cmd, "/No", true)==0)
{
    if (VoteStatus == 1 && Voted[playerid] == 0)
	{
		Nvotes++;
		SendClientMessage(playerid, COLOR_SYSTEM, "Your vote has been succesfully casted!");
		Voted[playerid] = 1;
	}
    else if (Voted[playerid] == 1)
	{
	    SendClientMessage(playerid, COLOR_SYSTEM, "You have already voted for this poll!");
	}
	else if (VoteStatus == 0)
	{
	    SendClientMessage(playerid, COLOR_SYSTEM, "There are no active polls!");
	}

	return 1;
	}
} else {
SendClientMessage(playerid,COLOR_RED,"VCRS is disabled via INI");
}

return 0;
}
//-------------------------------------------------------------------------
public Sound(playerid) {
PlaySoundForPlayer(playerid, 1098);
return 1;
}
//-------------------------------------------------------------------------
public Vehicle(playerid) {
new randRACE1=random(sizeof(gRandomSpawnsForRace1));
new randRACE2=random(sizeof(gRandomSpawnsForRace2));
new randRACE3=random(sizeof(gRandomSpawnsForRace3));
SetCameraBehindPlayer(playerid);
if(confirm1[playerid] == 1 || confirm2[playerid] == 1 || confirm3[playerid] == 1) {
if(death[playerid] == 0) {
if(races == HotRace){
SetVehiclePos(GetPlayerVehicleID(playerid),gRandomSpawnsForRace1[randRACE1][VehicleX],gRandomSpawnsForRace1[randRACE1][VehicleY],gRandomSpawnsForRace1[randRACE1][VehicleZ]);
SetVehicleZAngle(GetPlayerVehicleID(playerid),gRandomSpawnsForRace1[randRACE1][VehicleAngle]);}
else if(races == BloodRing){
SetVehiclePos(GetPlayerVehicleID(playerid),gRandomSpawnsForRace2[randRACE2][VehicleX],gRandomSpawnsForRace2[randRACE2][VehicleY],gRandomSpawnsForRace2[randRACE2][VehicleZ]);
SetVehicleZAngle(GetPlayerVehicleID(playerid),gRandomSpawnsForRace2[randRACE2][VehicleAngle]);}
else if(races == DirtRace){
SetVehiclePos(GetPlayerVehicleID(playerid),gRandomSpawnsForRace3[randRACE3][VehicleX],gRandomSpawnsForRace3[randRACE3][VehicleY],gRandomSpawnsForRace3[randRACE3][VehicleZ]);
SetVehicleZAngle(GetPlayerVehicleID(playerid),gRandomSpawnsForRace3[randRACE3][VehicleAngle]);}
} else {
SetVehiclePos(GetPlayerVehicleID(playerid),xdeath,ydeath,zdeath);
SetVehicleZAngle(GetPlayerVehicleID(playerid),zangledeath);
}
if(races == HotRace) {SetPlayerInterior(playerid,7);LinkVehicleToInterior(GetPlayerVehicleID(playerid),7);}
else if(races == BloodRing) {SetPlayerInterior(playerid,15);LinkVehicleToInterior(GetPlayerVehicleID(playerid),15);}
else if(races == DirtRace) {SetPlayerInterior(playerid,4);LinkVehicleToInterior(GetPlayerVehicleID(playerid),4);}
}
return 1;
}
//-------------------------------------------------------------------------
public OnGameModeExit() {
print("OnGameModeExit()");
print("Sunday Drivers GM 0.1 Unloaded.");
return 1;
}
//-------------------------------------------------------------------------
stock ResetForAdvise(playerid) {
  SendClientMessage(playerid,0xFF8A00AA,"You can choice:");
  SendClientMessage(playerid, 0xFF8A00AA, "----------------------------------");
  SendClientMessage(playerid, 0xFF8A00AA, "- Default Hud (1)");
  SendClientMessage(playerid, 0xFF8A00AA, "- Stars Progress Hud (2)");
  SendClientMessage(playerid, 0xFF8A00AA, "- Stars Hud (3)");
  SendClientMessage(playerid, 0xFF8A00AA, "----------------------------------");
}
//-------------------------------------------------------------------------
public ConfirmTimerStatus() {
gTimeConfirm++;
}
//-------------------------------------------------------------------------
stock ResetAdvise(playerid) {
SendClientMessage(playerid,COLOR_RED,"Invalid race ID!");
  SendClientMessage(playerid, 0xFF8A00AA, "You can choice:");
  SendClientMessage(playerid, 0xFF8A00AA, "----------------------------------");
  SendClientMessage(playerid, 0xFF8A00AA, "- HotRace (1)");
  SendClientMessage(playerid, 0xFF8A00AA, "- BloodRing (2)");
  SendClientMessage(playerid, 0xFF8A00AA, "- DirtRace (3)");
  SendClientMessage(playerid, 0xFF8A00AA, "----------------------------------");
}
//-------------------------------------------------------------------------
stock ResetVariablesForPlayer(playerid) {
SetPlayerHealth(playerid,0);
SetPlayerColor(playerid,playerColors[playerid]);
ResetPlayerWeapons(playerid);
checkrace1[playerid] = 0;
checkrace3[playerid] = 0;
confirm1[playerid] = 0;
confirm2[playerid] = 0;
confirm3[playerid] = 0;
confirmecho[playerid] = 0;
playerdeath[playerid] = 0;
checkstatusText[playerid] = "";
KillTimer(gRoundTimerHud);
}
//-------------------------------------------------------------------------
stock ResetVariables() {
for (new i=0; i<MAX_PLAYERS; i++) {
 SetPlayerHealth(i,0);
 checkrace1[i] = 0;
 checkrace3[i] = 0;
 confirm1[i] = 0;
 confirm2[i] = 0;
 confirm3[i] = 0;
 playerdeath[i] = 0;
 confirmrace[i] = 0;
 confirmecho[i] = 0;
 checkstatusText[i] = "";
 KillTimer(gRoundTimerHud);
 }
KillTimer(timercheckpoint);
KillTimer(gTimerConfirm);
KillTimer(gTimer1);
KillTimer(gTimer2);
KillTimer(gTimer3);
gTime1 = 0;
gTime2 = 0;
gTime3 = 0;
confirm = 0;
confirmex = 0;
}
//-------------------------------------------------------------------------
public AfterDD() {
races = DirtRace;
playersindd = 0;
for (new i=0; i<MAX_PLAYERS; i++) {
SetPlayerHealth(i,0);
DisablePlayerCheckpoint(i);
ForceClassSelection(i);
confirm2[i] = 0;
}
return 1;
}
//-------------------------------------------------------------------------
stock CheckPlayerScore(){
   new score;
   new numberscorers;

   for (new playerid = 0; playerid<MAX_PLAYERS; playerid++){
      if(IsPlayerConnected(playerid)){
         score=GetPlayerScore(playerid);
         if(score > HighestScore){
            for (new i=0; i<MAX_PLAYERS; i++){
               HighestScorers[i] = 0;
            }
            HighestScorers[0]=playerid;
            HighestScore=score;
            numberscorers=1;
            score=0;
         } else {
            if(score == HighestScore && HighestScore > 0){
               HighestScorers[numberscorers]=playerid;
               numberscorers++;
            }
            score=0;
         }
      }
   }
   return numberscorers;
}
//-------------------------------------------------------------------------
//In the routine where you make the call for the highest score:
public Podius(){
new numberscorers=CheckPlayerScore();  //not sure if the () should be attached
new giveplayername[MAX_PLAYER_NAME];
new string[256];
for (new i=0; i<MAX_PLAYERS; i++) {
    if (IsPlayerConnected(i)) {
	     TogglePlayerControllable(i,0);
	   }
	 }
if(restart == 0) {
SetTimer("GameModeExitFunc",5000,0);
}
else if(restart == 1) {
SetTimer("GameModeExitFuncRestart",5000,0);
}
if(numberscorers > 0){
   for (new i=0; i<numberscorers; i++){
      GetPlayerName(HighestScorers[i], giveplayername, sizeof(giveplayername));
      format(string, sizeof(string), "~r~%s ~n~~w~is ~y~the SUNDAY DRIVER!!!", giveplayername);
      GameTextForAll(string,5000,6);
   }
}
}
//-------------------------------------------------------------------------
public GameModeExitFunc() {
SendClientMessageToAll(COLOR_ORANGE,"Thanks for have played at Sunday Drivers GM 0.1");
print("Restart Mode = OFF");
GameModeExit();
return 1;
}
//-------------------------------------------------------------------------
public GameModeExitFuncRestart() {
SendClientMessageToAll(COLOR_ORANGE,"Thanks for have played at Sunday Drivers GM 0.1");
SendClientMessageToAll(COLOR_ORANGE,"Restart Mode = ON");
print("Restart Mode = ON");
return GameModeExit();
}
//-------------------------------------------------------------------------
CheckAgainstHighScore(playerid, time) {

	new recordtimestr[20], recordtime;
	//new racer[256];
	new recordmessage[256];

	new tmp1[255];
	new tmp2[255];
	new tmp3[255];
	if(races == HotRace) {
	format(tmp1,sizeof(tmp1),"sundaydrivers/hotrace.txt");
	}
	else if(races == BloodRing) {
    format(tmp2,sizeof(tmp2),"sundaydrivers/bloodring.txt");
	}
	else if(races == DirtRace) {
	format(tmp3,sizeof(tmp2),"sundaydrivers/dirtring.txt");
	}


	switch(races) {
	case HotRace: {
	if(fexist(tmp1)) {
	  new File: file = fopen(tmp1, io_read);

		new line[256];
		new track[256];
		new idx;

		fread(file, line, sizeof (line));
		track = strtok(line, idx);
		recordtimestr = strtok(line, idx);
		fclose (file);

		//eg line = "MSR 300 switch";
		//racer = strtok(line, idx);
		if (strlen(recordtimestr) != 0) {
		recordtime = strval(recordtimestr);

	} else {
		recordtime = 3000;
	}

	if (time < recordtime) {
		//new record
		new File: file2 = fopen(tmp1, io_write);

		new playername2[MAX_PLAYER_NAME];
		GetPlayerName(playerid, playername2, MAX_PLAYER_NAME);

		format(recordmessage, sizeof(recordmessage),"8Track Data: %d %s\n %s\n" ,time, playername2, line);
		//format(recordmessage, sizeof(recordmessage),"Hello\n");
		fwrite(file2,recordmessage);
		//fwrite(file2,recordmessage);
		fclose(file2);

		new newrecordmessage[256];
		format(newrecordmessage, sizeof(newrecordmessage),"New record on 8Track race by %s\n" , playername2);
		SendClientMessageToAll(COLOR_YELLOW, newrecordmessage);
		PlaySoundForPlayer(playerid, 1185);
	}



	} else {
	  	SendClientMessageToAll(COLOR_GREY, tmp1);
}
}

case BloodRing: {
	if(fexist(tmp2)) {
	  new File: file = fopen(tmp2, io_read);

		new line[256];
		new track[256];
		new idx;

		fread(file, line, sizeof (line));
		track = strtok(line, idx);
		recordtimestr = strtok(line, idx);
		fclose (file);

		//eg line = "MSR 300 switch";
		//racer = strtok(line, idx);
		if (strlen(recordtimestr) != 0) {
		recordtime = strval(recordtimestr);

	} else {
		recordtime = 3000;
	}

	if (time < recordtime) {
		//new record
		new File: file2 = fopen(tmp2, io_write);

		new playername2[MAX_PLAYER_NAME];
		GetPlayerName(playerid, playername2, MAX_PLAYER_NAME);

		format(recordmessage, sizeof(recordmessage),"BloodRing Data: %d %s\n %s\n" ,time, playername2, line);
		//format(recordmessage, sizeof(recordmessage),"Hello\n");
		fwrite(file2,recordmessage);
		//fwrite(file2,recordmessage);
		fclose(file2);

		new newrecordmessage[256];
		format(newrecordmessage, sizeof(newrecordmessage),"New record on BloodRing race by %s\n" , playername2);
		SendClientMessageToAll(COLOR_YELLOW, newrecordmessage);
		PlaySoundForPlayer(playerid, 1185);
	}



	} else {
	  	SendClientMessageToAll(COLOR_GREY, tmp2);
}
}

case DirtRace: {
	if(fexist(tmp3)) {
	  new File: file = fopen(tmp3, io_read);

		new line[256];
		new track[256];
		new idx;

		fread(file, line, sizeof (line));
		track = strtok(line, idx);
		recordtimestr = strtok(line, idx);
		fclose (file);

		//eg line = "MSR 300 switch";
		//racer = strtok(line, idx);
		if (strlen(recordtimestr) != 0) {
		recordtime = strval(recordtimestr);

	} else {
		recordtime = 3000;
	}

	if (time < recordtime) {
		//new record
		new File: file2 = fopen(tmp3, io_write);

		new playername2[MAX_PLAYER_NAME];
		GetPlayerName(playerid, playername2, MAX_PLAYER_NAME);

		format(recordmessage, sizeof(recordmessage),"DirtRing Data: %d %s\n %s\n" ,time, playername2, line);
		//format(recordmessage, sizeof(recordmessage),"Hello\n");
		fwrite(file2,recordmessage);
		//fwrite(file2,recordmessage);
		fclose(file2);

		new newrecordmessage[256];
		format(newrecordmessage, sizeof(newrecordmessage),"New record on DirtRing race by %s\n" , playername2);
		SendClientMessageToAll(COLOR_YELLOW, newrecordmessage);
		PlaySoundForPlayer(playerid, 1185);
	}
 }	else {
	SendClientMessageToAll(COLOR_GREY,tmp3);
	}

}

}


//new tmp[255];
//format(tmp,sizeof(tmp),"info1: %s info2: %s info3: %s \n", info, info2, info3);
//SendClientMessage(playerid, COLOR_YELLOW, tmp);

}
//-------------------------------------------------------------------------
stock StoreHighScore()
{

	new recordtimestr[20], recordtime;
	new racer[256];


	new tmp1[255];
	new tmp2[255];
	new tmp3[255];
	format(tmp1,sizeof(tmp1),"sundaydrivers/hotrace.txt");
	format(tmp2,sizeof(tmp2),"sundaydrivers/bloodring.txt");
	format(tmp3,sizeof(tmp3),"sundaydrivers/dirtring.txt");

	switch(races) {
	case HotRace: {
	if(fexist(tmp1)) {
	  new File: file = fopen(tmp1, io_read);

	new line[256];
	new track[256];
	new idx;

	fread(file, line, sizeof (line));
	track = strtok(line, idx);
	recordtimestr = strtok(line, idx);
	racer = strtok(line, idx);
	fclose (file);
	recordtime = strval(recordtimestr);


	new Float:fMinutes;
	new Minutes;
	new Seconds;



	if (recordtime != 0) {
	    fMinutes = recordtime/60;
	    Minutes = floatround(fMinutes, floatround_floor);
	    Seconds = recordtime-(Minutes*60);


		format(gBestTime,sizeof(gBestTime),"<> 8Track Data Opened. Record: %dmin(s) %dsec(s) by: %s <>\n", Minutes, Seconds, racer);
		} else {
		format(gBestTime,sizeof(gBestTime),"<> 8Track Data Opened. There isn' t any record <>\n");
		}
} else {
  format(gBestTime,sizeof(gBestTime),"<> SSS system dont find the race file. (404) <>\n");
}

}
case BloodRing: {
	if(fexist(tmp2)) {
	  new File: file = fopen(tmp2, io_read);

	new line[256];
	new track[256];
	new idx;

	fread(file, line, sizeof (line));
	track = strtok(line, idx);
	recordtimestr = strtok(line, idx);
	racer = strtok(line, idx);
	fclose (file);
	recordtime = strval(recordtimestr);


	new Float:fMinutes;
	new Minutes;
	new Seconds;



	if (recordtime != 0) {
	    fMinutes = recordtime/60;
	    Minutes = floatround(fMinutes, floatround_floor);
	    Seconds = recordtime-(Minutes*60);


		format(gBestTime,sizeof(gBestTime),"<> BloodRing Data Opened. Record: %dmin(s) %dsec(s) by: %s <>\n", Minutes, Seconds, racer);
		} else {
		format(gBestTime,sizeof(gBestTime),"<> BloodRing Data Opened. There isn' t any record <>\n");
		}
} else {
  format(gBestTime,sizeof(gBestTime),"<> SSS system dont find the race file. (404) <>\n");
}

}

case DirtRace: {
	if(fexist(tmp3)) {
	  new File: file = fopen(tmp3, io_read);

	new line[256];
	new track[256];
	new idx;

	fread(file, line, sizeof (line));
	track = strtok(line, idx);
	recordtimestr = strtok(line, idx);
	racer = strtok(line, idx);
	fclose (file);
	recordtime = strval(recordtimestr);


	new Float:fMinutes;
	new Minutes;
	new Seconds;



	if (recordtime != 0) {
	    fMinutes = recordtime/60;
	    Minutes = floatround(fMinutes, floatround_floor);
	    Seconds = recordtime-(Minutes*60);


		format(gBestTime,sizeof(gBestTime),"<> DirtRing Data Opened. Record: %dmin(s) %dsec(s) by: %s <>\n", Minutes, Seconds, racer);
		} else {
		format(gBestTime,sizeof(gBestTime),"<> DirtRing Data Opened. There isn' t any record <>\n");
		}
} else {
  format(gBestTime,sizeof(gBestTime),"<> SSS system dont find the race file. (404) <>\n");
}
}

}
}
//-------------------------------------------------------------------------
public votetimer()
{
	new string[256];

	if (Pvotes - Nvotes >= 1)
	{
		ResetVoteStats();
		races = pidplayer;
		ResetVariables();
		printf("Loaded Race: (%d)",pidplayer);
		format(string, sizeof(string), "The poll succeded with %d positive and %d negative votes!", Pvotes, Nvotes);
		SendClientMessageToAll(COLOR_SYSTEM, string);
	}
	else if (Pvotes - Nvotes < 1)
	{
		format(string, sizeof(string), "The poll failed with %d positive and %d negative votes!", Pvotes, Nvotes);
		SendClientMessageToAll(COLOR_SYSTEM, string);
		ResetVoteStats();
	}
	return 1;
}
//-------------------------------------------------------------------------
ResetVoteStats()
{
	for(new i=0; i<MAX_PLAYERS; i++)
	{
	Pvotes = 0;
   	Nvotes = 0;
	VoteStatus = 0;
	Voted[i] = 0;
	}
	return 1;
}