// 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 #include #pragma tabsize 0 #define SLOTS 28 new Float:xdeath; new Float:ydeath; new Float:zdeath; new Float:zangledeath; 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_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 stringconnect[256]; new checkstatusText[256]; new stringhud2[256]; new stringhud[256]; new gPlayerCheckpointStatus[MAX_PLAYERS]; new gPlayerCheckpointStatusForDD[MAX_PLAYERS]; new kills[MAX_PLAYERS]; new checkrace1[MAX_PLAYERS]; new checkrace3[MAX_PLAYERS]; new confirmdd[MAX_PLAYERS]; new HighestScore; new HighestScorers[MAX_PLAYERS]; new confirmtext[MAX_PLAYERS]; new status = 1; new countdown; new timercountdown; new timercheckpoint; new gRoundTimerHud; new confirm; new confirmhud[MAX_PLAYERS]; new pidadmin; new confirmrace[MAX_PLAYERS]; new confirm1[MAX_PLAYERS]; new confirm2[MAX_PLAYERS]; new confirm3[MAX_PLAYERS]; new playerdeath[MAX_PLAYERS]; new restart; new shop; new races; new inarmory[MAX_PLAYERS]; new confirmexit[MAX_PLAYERS]; new Text:www; new Text:txtObsHelper; new Text:txtHudStar; new Text:txtHudProgress; new players; new playersindd; //------------------------------------------------------------------------- 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 TextCancel(playerid); forward GameText(playerid); forward sd(playerid); //------------------------------------------------------------------------- main() { print("\n----------------------------------"); print("Sunday Drivers GM 0.1 by Chiarboss"); print("----------------------------------\n"); } //------------------------------------------------------------------------- public OnGameModeInit() { shop = 1; restart = 1; confirm = 0; gTime1 = 0; gTime2 = 0; gTime3 = 0; races = HotRace; players = 0; playersindd = 12; UsePlayerPedAnims(); SetGameModeText("Sunday Drivers GM 0.1"); ShowPlayerMarkers(0); ShowNameTags(1); SetTimer("UpdateSpeed", UpdateSeconds*1000, 1); AddPlayerClass(0,0.0,0.0,0.0,0.0,0,0,0,0,0,0); AddStaticVehicle(494,2857.4268,-1871.0320,10.9988,136.2380,2,16); 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(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,-2160.1582,-409.1746,35.1283,230.6400,77,77); 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(573,1092.2767,1612.4164,13.1973,151.3612,3,4); AddStaticVehicle(424,1103.4581,1615.7324,12.3282,209.1826,2,3); 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); SetWorldTime(12); 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]; new Text:Clock; TextDrawDestroy(Clock); TextDrawHideForAll(Clock); Clock=TextDrawCreate(549,24,string); TextDrawLetterSize(Clock,0.55,2); TextDrawFont(Clock,3); TextDrawBackgroundColor(Clock,0x000000AA); TextDrawSetOutline(Clock,2); for(new i=0; i 1){ value = floatround(value / UpdateSeconds); } if(speedo[i] == 1){ format(string,sizeof(string),"~r~%d MPH",floatround(value/1600)); TextDrawShowForPlayer(i,Clock); } else if(speedo[i] == 2) { format(string,sizeof(string),"~g~%d~b~KM/H",floatround(value/1000)); TextDrawShowForPlayer(i,Clock); } SavePlayerPos[i][LastX] = x; SavePlayerPos[i][LastY] = y; SavePlayerPos[i][LastZ] = z; } } } //------------------------------------------------------------------------- public OnPlayerConnect(playerid) { confirmspeedo[playerid] = 1; confirmtext[playerid] = 0; confirmrace[playerid] = 0; inarmory[playerid] = 0; confirm1[playerid] = 0; confirm2[playerid] = 0; confirm3[playerid] = 0; checkrace1[playerid] = 0; checkrace3[playerid] = 0; confirmexit[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 /help for knowing the rules of GM"); SendClientMessage(playerid,COLOR_RED,"Choice a character!"); new string[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~Welcome, ~y~%s",Pname); txtObsHelper = TextDrawCreate(20.0, 400.0,stringconnect); TextDrawUseBox(txtObsHelper, 0); TextDrawFont(txtObsHelper, 2); TextDrawSetShadow(txtObsHelper,0); TextDrawSetOutline(txtObsHelper,1); TextDrawBackgroundColor(txtObsHelper,0x000000FF); TextDrawColor(txtObsHelper,0xFFFFFFFF); TextDrawShowForPlayer(playerid, txtObsHelper); SetTimer("TextCancel",5000,0); SetTimer("sd",1,1); GameTextForPlayer(playerid, "~g~- ~r~Sunday Drivers ~g~-", 6000, 1); GivePlayerMoney(playerid, 10000); SetPlayerColor(playerid, COLOR_GREY); // Set the player's color to inactive players++; return 1; } //------------------------------------------------------------------------- public sd(playerid) { TextDrawShowForPlayer(playerid,www); return 1; } //------------------------------------------------------------------------- public TextCancel(playerid) { TextDrawHideForPlayer(playerid, txtObsHelper); return 1; } //------------------------------------------------------------------------- public OnPlayerDisconnect(playerid, reason) { new string[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); } } 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) { return 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)); SetPlayerInterior(playerid,0); GetPlayerPos(playerid,x,y,z); GetPlayerFacingAngle(playerid,zangle); TextDrawHideForPlayer(playerid,txtHudStar); if(confirm1[playerid] == 1) { PutPlayerInVehicle(playerid,CreateVehicle(494,x+5,y,z,zangle,-1,-1,0),0); SetVehiclePos(GetPlayerVehicleID(playerid),xdeath,ydeath,zdeath); SetVehicleZAngle(GetPlayerVehicleID(playerid),zangledeath); LinkVehicleToInterior(GetPlayerVehicleID(playerid),7); } else if(confirm2[playerid] == 1) { PutPlayerInVehicle(playerid,CreateVehicle(504,x+5,y,z,zangle,-1,-1,0),0); SetVehiclePos(GetPlayerVehicleID(playerid),xdeath,ydeath,zdeath); SetVehicleZAngle(GetPlayerVehicleID(playerid),zangledeath); LinkVehicleToInterior(GetPlayerVehicleID(playerid),14); } else if(confirm3[playerid] == 1) { PutPlayerInVehicle(playerid,CreateVehicle(468,x+5,y,z,zangle,-1,-1,0),0); SetVehiclePos(GetPlayerVehicleID(playerid),x,y,z); SetVehicleZAngle(GetPlayerVehicleID(playerid),zangledeath); LinkVehicleToInterior(GetPlayerVehicleID(playerid),4); } 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) { 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)); GetPlayerPos(playerid,xdeath,ydeath,zdeath); GetPlayerFacingAngle(playerid,zangledeath); if(confirm1[playerid] == 1 || confirm2[playerid] == 1|| confirm3[playerid] == 1) { GetPlayerPos(playerid,xdeath,ydeath,zdeath); GetPlayerFacingAngle(playerid,zangledeath); } 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); SetPlayerColor(playerid,playerColors[playerid]); SetPlayerPos(playerid,gRandomSpawns2[randPLAYER2][PlayerX],gRandomSpawns2[randPLAYER2][PlayerY],gRandomSpawns2[randPLAYER2][PlayerZ]); SetPlayerFacingAngle(playerid,gRandomSpawns2[randPLAYER2][PlayerAngle]); } } if(killerid == INVALID_PLAYER_ID) { SendDeathMessage(INVALID_PLAYER_ID,playerid,reason); } else { 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) { 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); return; } //------------------------------------------------------------------------- public OnPlayerRequestClass(playerid, classid) { printf("OnPlayerRequestClass(%d, %d)", playerid, classid); SetupPlayerForClassSelection(playerid); return 1; } //------------------------------------------------------------------------- public OnPlayerEnterCheckpoint(playerid) { DisablePlayerCheckpoint(playerid); 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; } //------------------------------------------------------------------------- public OnPlayerEnterRaceCheckpoint(playerid) { new sentence1[256]; new sentence3[256]; new checkstatus1[128]; new checkstatus3[128]; DisablePlayerRaceCheckpoint(playerid); if(checkrace1[playerid] < 59 || checkrace3[playerid] < 59) { PlayerPlaySound(playerid,1139,0,0,0); } else { PlayerPlaySound(playerid,1137,0,0,0); } txtHudStar = TextDrawCreate(20.0, 400.0,stringhud); TextDrawUseBox(txtObsHelper, 0); TextDrawFont(txtObsHelper, 2); TextDrawSetShadow(txtObsHelper,0); TextDrawSetOutline(txtObsHelper,1); TextDrawBackgroundColor(txtObsHelper,0x000000FF); TextDrawColor(txtObsHelper,0xFFFFFFFF); txtHudProgress = TextDrawCreate(20.0, 400.0,stringhud); TextDrawUseBox(txtObsHelper, 0); TextDrawFont(txtObsHelper, 2); TextDrawSetShadow(txtObsHelper,0); TextDrawSetOutline(txtObsHelper,1); TextDrawBackgroundColor(txtObsHelper,0x000000FF); TextDrawColor(txtObsHelper,0xFFFFFFFF); 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,0,-1418.4945,-136.2858,1044.7006,-1529.2603,-186.7520,1050.8276,5.0); } case 60: { new name[MAX_PLAYER_NAME]; new Float:fMinutes; new Minutes; new Seconds; if(status == 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) { PlayerPlaySound(playerid, 1183,0,0,0); fMinutes = gTime1/60; Minutes = floatround(fMinutes, floatround_floor); Seconds = gTime1-(Minutes*60); GetPlayerName(playerid, name, 256); KillTimer(gTimer1); if(status == 1 || status == 2 || status == 3) { format(sentence1, 256, "~r~%s ~n~~r~finished ~y~%d'. ~n~~b~%d ~w~min(s) & ~b~%d ~w~sec(s).", name, status, Minutes, Seconds); GameTextForAll(sentence1,5000,6); } else { format(sentence1, 256, "RACENEWS: %s finished %d'. TIME: %d min(s) %d sec(s).", name, status, Minutes, Seconds); SendClientMessageToAll(COLOR_GREEN,sentence1); } } status = status + 1; SetPlayerColor(playerid,playerColors[playerid]); confirmtext[playerid] = 0; checkstatusText = ""; if(status == players || gTimeConfirm >= 600) { KillTimer(gTimer1); KillTimer(gTimerConfirm); KillTimer(gRoundTimerHud); gTimeConfirm = 0; confirm = 0; races = BloodRing; status = 0; for (new i=0; i= 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: { new name[MAX_PLAYER_NAME]; new Float:fMinutes; new Minutes; new Seconds; 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) { PlayerPlaySound(playerid, 1183,0,0,0); fMinutes = gTime1/60; Minutes = floatround(fMinutes, floatround_floor); Seconds = gTime3-(Minutes*60); GetPlayerName(playerid, name, 256); KillTimer(gTimer3); if(status == 1 || status == 2 || status == 3) { format(sentence3, 256, "~r~%s ~n~~r~finished ~y~%d'. ~n~~b~%d ~w~min(s) & ~b~%d ~w~sec(s).", name, status, Minutes, Seconds); GameTextForAll(sentence3,5000,6); } else { format(sentence3, 256, "RACENEWS: %s finished %d'. TIME: %d min(s) %d sec(s).", name, status, Minutes, Seconds); SendClientMessageToAll(COLOR_GREEN,sentence3); } } SetPlayerColor(playerid,playerColors[playerid]); status = status + 1; confirmtext[playerid] = 0; checkstatusText = ""; if(restart == 2) { if(status == players || gTimeConfirm >= 600) { KillTimer(gTimer3); for (new i=0; i= 2 && confirm2[playerid] == 1 && confirmdd[playerid] < 3) { SendClientMessage(playerid,COLOR_RED,"n00b, you have already participated at the DD!"); confirmdd[playerid]++; SpawnPlayer(playerid); if(confirmdd[playerid] == 2) { SendClientMessage(playerid,COLOR_DARKRED,"Stop to try bugusing... n00b"); } else if(confirmdd[playerid] == 3) { format(string,sizeof(string),"%s kicked for tried bugusing"); SendClientMessageToAll(0xC10000AA,string); Kick(playerid); } } if(confirm == 1) { format(string,sizeof(string),"%s has started the race (%d)",name,races); SendClientMessageToAll(0xFF8A00AA,string); } if(races == HotRace) { confirm1[playerid] = 1; SetVehiclePos(GetPlayerVehicleID(playerid),gRandomSpawnsForRace1[randRACE1][VehicleX],gRandomSpawnsForRace1[randRACE1][VehicleY],gRandomSpawnsForRace1[randRACE1][VehicleZ]); SetVehicleZAngle(GetPlayerVehicleID(playerid),gRandomSpawnsForRace1[randRACE1][VehicleAngle]); LinkVehicleToInterior(GetPlayerVehicleID(playerid),7); GameTextForPlayer(playerid,"8Track",6000,2); } else if(races == BloodRing) { confirm2[playerid] = 1; SetVehiclePos(GetPlayerVehicleID(playerid),gRandomSpawnsForRace2[randRACE2][VehicleX],gRandomSpawnsForRace2[randRACE2][VehicleY],gRandomSpawnsForRace2[randRACE2][VehicleZ]); SetVehicleZAngle(GetPlayerVehicleID(playerid),gRandomSpawnsForRace2[randRACE2][VehicleAngle]); LinkVehicleToInterior(GetPlayerVehicleID(playerid),14); GameTextForPlayer(playerid,"Blood Ring DD",6000,2); } else if(races == DirtRace) { confirm3[playerid] = 1; SetVehiclePos(GetPlayerVehicleID(playerid),gRandomSpawnsForRace3[randRACE3][VehicleX],gRandomSpawnsForRace1[randRACE3][VehicleY],gRandomSpawnsForRace1[randRACE3][VehicleZ]); SetVehicleZAngle(GetPlayerVehicleID(playerid),gRandomSpawnsForRace3[randRACE3][VehicleAngle]); LinkVehicleToInterior(GetPlayerVehicleID(playerid),4); GameTextForPlayer(playerid,"Dirt Ring",6000,2); } SetCameraBehindPlayer(playerid); format(string, 256, "%s joined the race (%d) (Before continuum)", name, races); SendClientMessageToAll(COLOR_ORANGE,string); SetPlayerColor(playerid,COLOR_ORANGE); TogglePlayerControllable(playerid,0); SendClientMessage(playerid,COLOR_RED,"Attend that finish the confirm timer..."); if(confirm == 1) { SetTimer("ConfirmTimer",60000,0); gTimerConfirm=SetTimer("ConfirmTimerStatus",pidadmin*60000,1); } } else { GameTextForPlayer(playerid,"~w~Take a ~y~vehicle ~w~and ~r~turn back!",5000,3); } } 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 have disabled the restart mode.", pname); SendClientMessageToAll(0xFF8A00AA,string); } else { restart = 1; format(string, sizeof(string), "The Admin %s have 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(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."); } 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, 0xFF8A00AA, "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, 0xFF8A00AA, "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, 0xFF8A00AA, "You dont have enough money! Win more races and come back!"); } return 1; } } if(strcmp(cmd,"/hud",true)==0) { new tmp[256]; new pid; 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; } case 4: { confirmhud[playerid] = 4; } } if(pid < 1 || pid > 4) { 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); } 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."); return 1; } pidadmin = strval(tmp); format(string,sizeof(string),"The Admin %d have setted the RT to %d minutes.",name,pidadmin); SendClientMessageToAll(NICE_BLUE,string); } else { SendClientMessage(playerid,COLOR_RED,"You are not admin!!!"); } 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 have restarted this race/stadium continuum (%d)",name,races); SendClientMessageToAll(0xFF8A00AA,string); 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) { SendClientMessage(playerid,COLOR_RED,"Invalid race ID!"); ResetAdvise(playerid); } else { ResetVariables(); format(stringforadvise,sizeof(stringforadvise),"The Admin %s have loaded the follow race: (%d)",name,races); SendClientMessageToAll(0xFF8A00AA,stringforadvise); } } else { SendClientMessage(playerid,COLOR_RED,"You are not admin!!!"); } 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 have disabled the /shop command.", pname); SendClientMessageToAll(0xFF8A00AA,string); } else { shop = 1; format(string, sizeof(string), "The Admin %s have 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 have 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,"/continuum",true)==0) { if(IsPlayerAdmin(playerid)) { new name[MAX_PLAYER_NAME]; GetPlayerName(playerid,name,sizeof(name)); format(string,sizeof(string),"The Admin %s have enabled the continuum variable."); SendClientMessageToAll(0xFF8A00AA,string); restart = 2; } else { SendClientMessage(playerid,COLOR_RED,"You are not admin!!!"); } return 1; } if(strcmp(cmd,"/exit",true)==0) { new name[MAX_PLAYER_NAME]; ResetVariablesForPlayer(playerid); GetPlayerName(playerid,name,sizeof(name)); format(string,sizeof(string),"%s left the race",name); SendClientMessageToAll(COLOR_GREY,string); return 1; } if(strcmp(cmd,"/win",true)==0) { if(playersindd == 0) { 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); 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); SetTimer("AfterDD",10000,0); gTimeConfirm = 0; KillTimer(gTimerConfirm); KillTimer(timercheckpoint); for (new i=0; i HighestScore){ for (new i=0; i 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 0){ for (new i=0; i %s e' stata caricata.Record: %dmin(s) %dsec(s) Di: %s <>\n", gTrackName, Minutes, Seconds, racer); } else { format(gBestTime,sizeof(gBestTime),"Non ci sono punteggi!", gTrackName); } } else { format(gBestTime,sizeof(gBestTime),"Il salvataggio tempi non e' abilitato", gTrackName); } }*/