#include #include #include #define COLOR_YELLOW 0xFFFF00AA #define COLOR_WHITE 0xFFFFFFAA #undef MAX_PLAYERS #define MAX_PLAYERS 600 #define STATS 100 forward FinalTime(); forward Count(); forward Count2(); forward Count3(); forward Count4(); new Float:RandSpawns[10][3] = { {1368.6777,-15.4862,33.8990}, {1371.0537,-17.4600,33.8313}, {1373.3427,-19.3955,33.9005}, {1375.2017,-20.8951,33.9141}, {1371.0170,-21.7205,33.9920}, {1369.2084,-19.0554,33.8998}, {1367.6494,-16.6513,33.9402}, {1366.2527,-18.7893,34.0003}, {1368.3834,-21.3142,33.9923}, {1375.0396,-13.5648,33.6829} }; enum cInfo { cPoint, cVehicle, cFinals, cFinalist, cJoined }; new Check[MAX_PLAYERS][cInfo]; enum eInfo { ePlayers, eWinner, eWinner2, eWinner3, eGrandWinner, eTopTen, eTopTen2, eTopTen3, eFinalsStarted, eFinalPlayers, eStarted }; new Event[eInfo]; public OnFilterScriptInit() { SetTimer("FinalTimer", 1000, true); Event[ePlayers] = 0; Event[eWinner] = 0; Event[eWinner2] = 0; Event[eWinner3] = 0; Event[eGrandWinner] = 0; Event[eTopTen] = 0; Event[eTopTen2] = 0; Event[eTopTen3] = 0; Event[eFinalsStarted] = 0; Event[eFinalPlayers] = 0; SpawnObjects(); } CMD:startfinal(playerid, params[]) { if(IsPlayerAdmin(playerid)) { Event[eTopTen] = 0; Event[eWinner] = 0; SendClientMessage(playerid, COLOR_YELLOW, " ** You have started the finals"); for(new i;i= 100 && Event[ePlayers] <= 199)// Allows it to cap at 200 { SendClientMessage(playerid, COLOR_YELLOW, " ** You have joined the Triathlon Event (/triathleave) to leave. "); Check[playerid][cJoined] = 1; Event[ePlayers] += 1; new rand = random(sizeof(RandSpawns)); SetPlayerPos(playerid, RandSpawns[rand][0], RandSpawns[rand][1], RandSpawns[rand][2]); // SetPlayerFacingAngle(playerid, 312.0006); SetPlayerVirtualWorld(playerid, 1); Check[playerid][cPoint] = 1; SetPlayerHealth(playerid, 100); SetPlayerColor(playerid, 0xFB333300); } else if(Event[ePlayers] >= 200 && Event[ePlayers] <= 299)// Allows it to cap at 300 { SendClientMessage(playerid, COLOR_YELLOW, " ** You have joined the Triathlon Event (/triathleave) to leave. "); Check[playerid][cJoined] = 1; Event[ePlayers] += 1; new rand = random(sizeof(RandSpawns)); SetPlayerPos(playerid, RandSpawns[rand][0], RandSpawns[rand][1], RandSpawns[rand][2]); // SetPlayerFacingAngle(playerid, 312.0006); SetPlayerVirtualWorld(playerid, 2); Check[playerid][cPoint] = 1; SetPlayerHealth(playerid, 100); SetPlayerColor(playerid, 0xFB333300); } else { SendClientMessage(playerid, COLOR_WHITE, " ** All Virtual Worlds are full."); } } else { SendClientMessage(playerid, COLOR_WHITE, " ** Your already in the event !"); } } else { SendClientMessage(playerid, COLOR_WHITE, " ** You are not near the fair grounds !"); } } else { SendClientMessage(playerid, COLOR_WHITE, " ** You may not do that at this time."); } return 1; } CMD:info(playerid, params[]) { new string[164]; format(string,sizeof(string),"{FFFFFF}Event Amount: {00C0FF}%d\n{FFFFFF}Top 10(VW0): {00C0FF}%d\n{FFFFFF}Top 10(VW1): {00C0FF}%d\n{FFFFFF}Top 10(VW2): {00C0FF}%d\n{FFFFFF}Final Players: {00C0FF}%d", Event[ePlayers], Event[eTopTen], Event[eTopTen2], Event[eTopTen3], Event[eFinalPlayers]); ShowPlayerDialog(playerid, STATS, DIALOG_STYLE_MSGBOX, "{00C0FF}Race Information ", string, "Okay", ""); return 1; } public OnPlayerStateChange(playerid, newstate, oldstate) { if(Check[playerid][cPoint] > 19 && (newstate == PLAYER_STATE_DRIVER || newstate == PLAYER_STATE_PASSENGER)) { if(GetVehicleModel(GetPlayerVehicleID(playerid)) != 510) { new Float:X, Float:Y, Float:Z; GetPlayerPos(playerid, X, Y, Z); SetPlayerPos(playerid, X, Y, Z+5); SendClientMessage(playerid, 0xFFFFFFF, "Vehicles are not allowed in the triathalon."); } } if((Check[playerid][cPoint] >= 1 && Check[playerid][cPoint] < 19) && (newstate == PLAYER_STATE_DRIVER || newstate == PLAYER_STATE_PASSENGER)) { new Float:X, Float:Y, Float:Z; GetPlayerPos(playerid, X, Y, Z); SetPlayerPos(playerid, X, Y, Z+5); SendClientMessage(playerid, 0xFFFFFFF, "Vehicles are not allowed in the triathalon."); } } public OnPlayerEnterCheckpoint(playerid) { PlayerPlaySound(playerid, 1058, 0.0, 0.0, 0.0); if(Check[playerid][cPoint] == 1) { SetPlayerCheckpoint(playerid, 1741.8051,103.0313,32.7262, 10.0); Check[playerid][cPoint] = 2; } else if(Check[playerid][cPoint] == 2) { SetPlayerCheckpoint(playerid, 1947.8402,41.0180,32.8339, 10.0); Check[playerid][cPoint] = 3; } else if(Check[playerid][cPoint] == 3) { SetPlayerCheckpoint(playerid, 2218.5305,39.0527,25.9439, 10.0); Check[playerid][cPoint] = 4; } else if(Check[playerid][cPoint] == 4) { SetPlayerCheckpoint(playerid, 2294.3740,45.2020,25.9425, 10.0); Check[playerid][cPoint] = 5; } else if(Check[playerid][cPoint] == 5) { SetPlayerCheckpoint(playerid, 2295.7424,89.7945,25.9439, 10.0); Check[playerid][cPoint] = 6; } else if(Check[playerid][cPoint] == 6) { SetPlayerCheckpoint(playerid, 2339.7527,90.7219,25.9381, 10.0); Check[playerid][cPoint] = 7; } else if(Check[playerid][cPoint] == 7) { SetPlayerCheckpoint(playerid, 2340.7100,209.4803,25.9435, 10.0); Check[playerid][cPoint] = 8; } else if(Check[playerid][cPoint] == 8) { SetPlayerCheckpoint(playerid, 2183.1121,233.9390,14.1485, 10.0); Check[playerid][cPoint] = 9; } else if(Check[playerid][cPoint] == 9) { SetPlayerCheckpoint(playerid, 1859.2255,364.1655,19.6282, 10.0); Check[playerid][cPoint] = 10; } else if(Check[playerid][cPoint] == 10) { SetPlayerCheckpoint(playerid, 1627.4449,380.5849,19.8536, 10.0); Check[playerid][cPoint] = 11; } else if(Check[playerid][cPoint] == 11) { SetPlayerCheckpoint(playerid, 1635.3680,541.5301,-0.4650, 10.0); Check[playerid][cPoint] = 12; SendClientMessage(playerid, COLOR_WHITE, " ** You've reached the water! Start Swimming !"); } else if(Check[playerid][cPoint] == 12) { SetPlayerCheckpoint(playerid, 1459.7528,575.5743,-0.6064, 10.0); Check[playerid][cPoint] = 13; } else if(Check[playerid][cPoint] == 13) { SetPlayerCheckpoint(playerid, 1215.7406,622.8767,-0.3497, 10.0); Check[playerid][cPoint] = 14; } else if(Check[playerid][cPoint] == 14) { SetPlayerCheckpoint(playerid, 1002.9628,624.5873,-0.4021, 10.0); Check[playerid][cPoint] = 15; } else if(Check[playerid][cPoint] == 15) { SetPlayerCheckpoint(playerid, 797.2114,557.0652,-0.7513, 10.0); Check[playerid][cPoint] = 16; } else if(Check[playerid][cPoint] == 16) { SetPlayerCheckpoint(playerid, 677.2833,575.5888,-0.5745, 10.0); Check[playerid][cPoint] = 17; } else if(Check[playerid][cPoint] == 17) { SetPlayerCheckpoint(playerid, 588.7811,603.7844,-0.5786, 10.0); Check[playerid][cPoint] = 18; } else if(Check[playerid][cPoint] == 18) { SetPlayerCheckpoint(playerid, 506.1274,639.9700,4.5897, 10.0); Check[playerid][cPoint] = 19; } else if(Check[playerid][cPoint] == 19)// Bike Start { SetPlayerCheckpoint(playerid, 451.3434,728.3683,5.7113, 10.0); new Float:pX, Float:pY, Float:pZ, Float:pA, world; GetPlayerPos(playerid, pX, pY, pZ); GetPlayerFacingAngle(playerid, pA); world = GetPlayerVirtualWorld(playerid); Check[playerid][cVehicle] = CreateVehicle(510, pX, pY, pZ, pA, -1, -1, 600000); SetVehicleVirtualWorld(Check[playerid][cVehicle], world); PutPlayerInVehicle(playerid, Check[playerid][cVehicle], 0); new engine,lights,alarm,doors,bonnet,boot,objective; GetVehicleParamsEx(Check[playerid][cVehicle],engine,lights,alarm,doors,bonnet,boot,objective); SetVehicleParamsEx(Check[playerid][cVehicle],VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective); SendClientMessage(playerid, COLOR_WHITE, " ** You have reached the bikes! Start Cycling !"); Check[playerid][cPoint] = 20; } else if(Check[playerid][cPoint] == 20) { SetPlayerCheckpoint(playerid, 436.0333,590.8746,18.6277, 10.0); Check[playerid][cPoint] = 21; } else if(Check[playerid][cPoint] == 21) { SetPlayerCheckpoint(playerid, 616.3361,312.7630,19.3701, 10.0); Check[playerid][cPoint] = 22; } else if(Check[playerid][cPoint] == 22) { SetPlayerCheckpoint(playerid, 520.0988,148.9618,23.5657, 10.0); Check[playerid][cPoint] = 23; } else if(Check[playerid][cPoint] == 23) { SetPlayerCheckpoint(playerid, 524.8806,-136.6934,37.5619, 10.0); Check[playerid][cPoint] = 24; } else if(Check[playerid][cPoint] == 24) { SetPlayerCheckpoint(playerid, 803.8380,-168.4362,18.2193, 10.0); Check[playerid][cPoint] = 25; } else if(Check[playerid][cPoint] == 25) { SetPlayerCheckpoint(playerid, 1018.6838,-185.1656,24.7855, 10.0); Check[playerid][cPoint] = 26; } else if(Check[playerid][cPoint] == 26) { SetPlayerCheckpoint(playerid, 1160.9331,-173.8525,40.8081, 10.0); Check[playerid][cPoint] = 27; } else if(Check[playerid][cPoint] == 27) { SetPlayerCheckpoint(playerid, 1298.6567,-80.0261,36.1955, 10.0); Check[playerid][cPoint] = 28; } else if(Check[playerid][cPoint] == 28) { SetPlayerCheckpoint(playerid, 1377.4449,-11.0428,33.3127, 10.0); Check[playerid][cPoint] = 29; } else if(Check[playerid][cPoint] == 29)// Race End { new string[128]; SendClientMessage(playerid, COLOR_WHITE, " ** You have finished the race !" ); Check[playerid][cPoint] = 0; Check[playerid][cJoined] = 0; DisablePlayerCheckpoint(playerid); DestroyVehicle(Check[playerid][cVehicle]); SetPlayerColor(playerid, 0xFFFFFF00); new World; World = GetPlayerVirtualWorld(playerid); if(Event[eTopTen] <= 9 && World == 0) { if(Event[eWinner] == 0) { if(Check[playerid][cFinalist] == 1) { format(string,sizeof(string)," ** %s has placed 1st in the final triathlon race!", PlayerName(playerid)); SendClientMessageToAll(COLOR_YELLOW, string); SendClientMessage(playerid, COLOR_YELLOW, " ** Thanks for playing! **"); SetPlayerPos(playerid, 1368.6777,-15.4862,33.8990); DisablePlayerCheckpoint(Check[playerid][cPoint]); DestroyVehicle(Check[playerid][cVehicle]); Check[playerid][cFinals] = 0; Check[playerid][cFinalist] = 0; Event[ePlayers] -= 1; Check[playerid][cJoined] = 0; SetPlayerColor(playerid, 0xFFFFFF00); Event[eWinner] = 1; Event[eTopTen] += 1; } else { format(string,sizeof(string)," ** %s has placed first in the triathlon race! (World 0)", PlayerName(playerid)); SendClientMessageToAll(COLOR_YELLOW, string); Event[eWinner] = 1; Event[eTopTen] += 1; Check[playerid][cFinals] = 1; SetPlayerPos(playerid, 1378.6199,-17.3583,33.7817); // SetPlayerFacingAngle(playerid, 312.0006); SetPlayerVirtualWorld(playerid, 0); SendClientMessage(playerid, COLOR_WHITE, " ** Waiting for other contenders to finish."); SendClientMessage(playerid, COLOR_YELLOW, " ** You're a finalist! You will be in the Championship round, please wait here!"); Check[playerid][cFinalist] = 1; SetCameraBehindPlayer(playerid); Event[eFinalPlayers] += 1; Check[playerid][cJoined] = 1; SetPlayerColor(playerid, 0xC2A2DA00); } } else { if(Check[playerid][cFinalist] == 1) { format(string,sizeof(string)," ** %s has placed in %d place in the final triathlon race!", PlayerName(playerid), Event[eTopTen]+1); SendClientMessageToAll(COLOR_YELLOW, string); SendClientMessage(playerid, COLOR_YELLOW, " ** Thanks for playing! **"); SetPlayerPos(playerid, 1368.6777,-15.4862,33.8990); DisablePlayerCheckpoint(Check[playerid][cPoint]); DestroyVehicle(Check[playerid][cVehicle]); Check[playerid][cFinals] = 0; Check[playerid][cFinalist] = 0; Event[ePlayers] -= 1; Check[playerid][cJoined] = 0; SetPlayerColor(playerid, 0xFFFFFF00); Event[eTopTen] += 1; } else { Event[eTopTen] += 1; Check[playerid][cFinals] = 1; if(Event[eTopTen] == 2) { SetPlayerPos(playerid, 1376.9570,-18.7578,33.8463); // SetPlayerFacingAngle(playerid, 312.0006); SendClientMessage(playerid, COLOR_WHITE, " ** Waiting for other contenders to finish."); SendClientMessage(playerid, COLOR_YELLOW, " ** You're a finalist! You will be in the Championship round, please wait here!"); Check[playerid][cFinalist] = 1; SetCameraBehindPlayer(playerid); Event[eFinalPlayers] += 1; Check[playerid][cJoined] = 1; SetPlayerColor(playerid, 0xC2A2DA00); } else if(Event[eTopTen] == 3) { SetPlayerPos(playerid, 1375.0167,-20.0327,33.9030); // SetPlayerFacingAngle(playerid, 312.0006); SendClientMessage(playerid, COLOR_WHITE, " ** Waiting for other contenders to finish."); SendClientMessage(playerid, COLOR_YELLOW, " ** You're a finalist! You will be in the Championship round, please wait here!"); Check[playerid][cFinalist] = 1; SetCameraBehindPlayer(playerid); Event[eFinalPlayers] += 1; Check[playerid][cJoined] = 1; SetPlayerColor(playerid, 0xC2A2DA00); } else if(Event[eTopTen] == 4) { SetPlayerPos(playerid, 1372.7197,-21.9141,33.9810); // SetPlayerFacingAngle(playerid, 312.0006); SendClientMessage(playerid, COLOR_WHITE, " ** Waiting for other contenders to finish."); SendClientMessage(playerid, COLOR_YELLOW, " ** You're a finalist! You will be in the Championship round, please wait here!"); Check[playerid][cFinalist] = 1; SetCameraBehindPlayer(playerid); Event[eFinalPlayers] += 1; Check[playerid][cJoined] = 1; SetPlayerColor(playerid, 0xC2A2DA00); } else if(Event[eTopTen] == 5) { SetPlayerPos(playerid, 1371.1647,-21.3493,33.9795); // SetPlayerFacingAngle(playerid, 312.0006); SendClientMessage(playerid, COLOR_WHITE, " ** Waiting for other contenders to finish."); SendClientMessage(playerid, COLOR_YELLOW, " ** You're a finalist! You will be in the Championship round, please wait here!"); Check[playerid][cFinalist] = 1; SetCameraBehindPlayer(playerid); Event[eFinalPlayers] += 1; Check[playerid][cJoined] = 1; SetPlayerColor(playerid, 0xC2A2DA00); } else if(Event[eTopTen] == 6) { SetPlayerPos(playerid, 1373.4471,-19.2163,33.8942); // SetPlayerFacingAngle(playerid, 312.0006); SendClientMessage(playerid, COLOR_WHITE, " ** Waiting for other contenders to finish."); SendClientMessage(playerid, COLOR_YELLOW, " ** You're a finalist! You will be in the Championship round, please wait here!"); Check[playerid][cFinalist] = 1; SetCameraBehindPlayer(playerid); Event[eFinalPlayers] += 1; Check[playerid][cJoined] = 1; SetPlayerColor(playerid, 0xC2A2DA00); } else if(Event[eTopTen] == 7) { SetPlayerPos(playerid, 1375.5750,-17.2278,33.8146); // SetPlayerFacingAngle(playerid, 312.0006); SendClientMessage(playerid, COLOR_WHITE, " ** Waiting for other contenders to finish."); SendClientMessage(playerid, COLOR_YELLOW, " ** You're a finalist! You will be in the Championship round, please wait here!"); Check[playerid][cFinalist] = 1; SetCameraBehindPlayer(playerid); Event[eFinalPlayers] += 1; Check[playerid][cJoined] = 1; SetPlayerColor(playerid, 0xC2A2DA00); } else if(Event[eTopTen] == 8) { SetPlayerPos(playerid, 1377.2094,-15.7003,33.7535); // SetPlayerFacingAngle(playerid, 312.0006); SendClientMessage(playerid, COLOR_WHITE, " ** Waiting for other contenders to finish."); SendClientMessage(playerid, COLOR_YELLOW, " ** You're a finalist! You will be in the Championship round, please wait here!"); Check[playerid][cFinalist] = 1; SetCameraBehindPlayer(playerid); Event[eFinalPlayers] += 1; Check[playerid][cJoined] = 1; SetPlayerColor(playerid, 0xC2A2DA00); } else if(Event[eTopTen] == 9) { SetPlayerPos(playerid, 1378.6268,-14.3757,33.6892); // SetPlayerFacingAngle(playerid, 312.0006); SendClientMessage(playerid, COLOR_WHITE, " ** Waiting for other contenders to finish."); SendClientMessage(playerid, COLOR_YELLOW, " ** You're a finalist! You will be in the Championship round, please wait here!"); Check[playerid][cFinalist] = 1; SetCameraBehindPlayer(playerid); Event[eFinalPlayers] += 1; Check[playerid][cJoined] = 1; SetPlayerColor(playerid, 0xC2A2DA00); } else if(Event[eTopTen] == 10) { SetPlayerPos(playerid, 1377.6050,-12.7168,33.6252); // SetPlayerFacingAngle(playerid, 312.0006); SendClientMessage(playerid, COLOR_WHITE, " ** Waiting for other contenders to finish."); SendClientMessage(playerid, COLOR_YELLOW, " ** You're a finalist! You will be in the Championship round, please wait here!"); Check[playerid][cFinalist] = 1; SetCameraBehindPlayer(playerid); Event[eFinalPlayers] += 1; Check[playerid][cJoined] = 1; SetPlayerColor(playerid, 0xC2A2DA00); SendClientMessageToAll(COLOR_YELLOW, " ** The Top Ten have finished in world 2 !"); } } SetPlayerVirtualWorld(playerid,0); } } else if(Event[eTopTen2] <= 9 && World == 1) { if(Event[eWinner2] == 0) { format(string,sizeof(string)," ** %s has placed first in the triathlon race! (World 1) ", PlayerName(playerid)); SendClientMessageToAll(COLOR_YELLOW, string); Event[eWinner2] = 1; Event[eTopTen2] += 1; Check[playerid][cFinals] = 1; SetPlayerPos(playerid, 1376.4937,-13.7607,33.6698); // SetPlayerFacingAngle(playerid, 312.0006); SetPlayerVirtualWorld(playerid, 0); SendClientMessage(playerid, COLOR_WHITE, " ** Waiting for other contenders to finish."); SendClientMessage(playerid, COLOR_YELLOW, " ** You're a finalist! You will be in the Championship round, please wait here!"); Check[playerid][cFinalist] = 1; SetCameraBehindPlayer(playerid); Event[eFinalPlayers] += 1; Check[playerid][cJoined] = 1; SetPlayerColor(playerid, 0xC2A2DA00); } else { SendClientMessage(playerid, COLOR_YELLOW, " ** You have made it to the finals !"); Event[eTopTen2] += 1; Check[playerid][cFinals] = 1; if(Event[eTopTen2] == 2) { SetPlayerPos(playerid, 1375.2175,-14.8114,33.7150); // SetPlayerFacingAngle(playerid, 312.0006); SendClientMessage(playerid, COLOR_WHITE, " ** Waiting for other contenders to finish."); SendClientMessage(playerid, COLOR_YELLOW, " ** You're a finalist! You will be in the Championship round, please wait here!"); Check[playerid][cFinalist] = 1; SetCameraBehindPlayer(playerid); Event[eFinalPlayers] += 1; Check[playerid][cJoined] = 1; SetPlayerColor(playerid, 0xC2A2DA00); } else if(Event[eTopTen2] == 3) { SetPlayerPos(playerid, 1373.8109,-16.2772,33.7772); // SetPlayerFacingAngle(playerid, 312.0006); SendClientMessage(playerid, COLOR_WHITE, " ** Waiting for other contenders to finish."); SendClientMessage(playerid, COLOR_YELLOW, " ** You're a finalist! You will be in the Championship round, please wait here!"); Check[playerid][cFinalist] = 1; SetCameraBehindPlayer(playerid); Event[eFinalPlayers] += 1; Check[playerid][cJoined] = 1; SetPlayerColor(playerid, 0xC2A2DA00); } else if(Event[eTopTen2] == 4) { SetPlayerPos(playerid, 1372.2452,-17.2904,33.8216); // SetPlayerFacingAngle(playerid, 312.0006); SendClientMessage(playerid, COLOR_WHITE, " ** Waiting for other contenders to finish."); SendClientMessage(playerid, COLOR_YELLOW, " ** You're a finalist! You will be in the Championship round, please wait here!"); Check[playerid][cFinalist] = 1; SetCameraBehindPlayer(playerid); Event[eFinalPlayers] += 1; Check[playerid][cJoined] = 1; SetPlayerColor(playerid, 0xC2A2DA00); } else if(Event[eTopTen2] == 5) { SetPlayerPos(playerid, 1371.4664,-15.8160,33.8129); // SetPlayerFacingAngle(playerid, 312.0006); SendClientMessage(playerid, COLOR_WHITE, " ** Waiting for other contenders to finish."); SendClientMessage(playerid, COLOR_YELLOW, " ** You're a finalist! You will be in the Championship round, please wait here!"); Check[playerid][cFinalist] = 1; SetCameraBehindPlayer(playerid); Event[eFinalPlayers] += 1; Check[playerid][cJoined] = 1; SetPlayerColor(playerid, 0xC2A2DA00); } else if(Event[eTopTen2] == 6) { SetPlayerPos(playerid, 1372.6976,-14.6656,33.7653); // SetPlayerFacingAngle(playerid, 312.0006); SendClientMessage(playerid, COLOR_WHITE, " ** Waiting for other contenders to finish."); SendClientMessage(playerid, COLOR_YELLOW, " ** You're a finalist! You will be in the Championship round, please wait here!"); Check[playerid][cFinalist] = 1; SetCameraBehindPlayer(playerid); Event[eFinalPlayers] += 1; Check[playerid][cJoined] = 1; SetPlayerColor(playerid, 0xC2A2DA00); } else if(Event[eTopTen2] == 7) { SetPlayerPos(playerid, 1374.0262,-13.4242,33.7140); // SetPlayerFacingAngle(playerid, 312.0006); SendClientMessage(playerid, COLOR_WHITE, " ** Waiting for other contenders to finish."); SendClientMessage(playerid, COLOR_YELLOW, " ** You're a finalist! You will be in the Championship round, please wait here!"); Check[playerid][cFinalist] = 1; SetCameraBehindPlayer(playerid); Event[eFinalPlayers] += 1; Check[playerid][cJoined] = 1; SetPlayerColor(playerid, 0xC2A2DA00); } else if(Event[eTopTen2] == 8) { SetPlayerPos(playerid, 1375.1516,-12.3724,33.6706); // SetPlayerFacingAngle(playerid, 312.0006); SendClientMessage(playerid, COLOR_WHITE, " ** Waiting for other contenders to finish."); SendClientMessage(playerid, COLOR_YELLOW, " ** You're a finalist! You will be in the Championship round, please wait here!"); Check[playerid][cFinalist] = 1; SetCameraBehindPlayer(playerid); Event[eFinalPlayers] += 1; Check[playerid][cJoined] = 1; SetPlayerColor(playerid, 0xC2A2DA00); } else if(Event[eTopTen2] == 9) { SetPlayerPos(playerid, 1376.1416,-11.4472,33.6324); // SetPlayerFacingAngle(playerid, 312.0006); SendClientMessage(playerid, COLOR_WHITE, " ** Waiting for other contenders to finish."); SendClientMessage(playerid, COLOR_YELLOW, " ** You're a finalist! You will be in the Championship round, please wait here!"); Check[playerid][cFinalist] = 1; SetCameraBehindPlayer(playerid); Event[eFinalPlayers] += 1; Check[playerid][cJoined] = 1; SetPlayerColor(playerid, 0xC2A2DA00); } else if(Event[eTopTen2] == 10) { SetPlayerPos(playerid, 1375.3090,-10.0130,33.6482); // SetPlayerFacingAngle(playerid, 312.0006); SendClientMessage(playerid, COLOR_WHITE, " ** Waiting for other contenders to finish."); SendClientMessage(playerid, COLOR_YELLOW, " ** You're a finalist! You will be in the Championship round, please wait here!"); Check[playerid][cFinalist] = 1; SetCameraBehindPlayer(playerid); Event[eFinalPlayers] += 1; Check[playerid][cJoined] = 1; SetPlayerColor(playerid, 0xC2A2DA00); SendClientMessageToAll(COLOR_YELLOW, " ** The Top Ten have finished in world 3 !"); } SetPlayerVirtualWorld(playerid, 0); } } else if(Event[eTopTen3] <= 9 && World == 2) { if(Event[eWinner3] == 0) { format(string,sizeof(string)," ** %s has placed first in the triathlon race! (World 2) ", PlayerName(playerid)); SendClientMessageToAll(COLOR_YELLOW, string); Event[eWinner3] = 3; Event[eTopTen3] += 1; Check[playerid][cFinals] = 1; SetPlayerPos(playerid, 1373.9121,-11.2033,33.6995); // SetPlayerFacingAngle(playerid, 312.0006); SetPlayerVirtualWorld(playerid, 0); SendClientMessage(playerid, COLOR_WHITE, " ** Waiting for other contenders to finish."); SendClientMessage(playerid, COLOR_YELLOW, " ** You're a finalist! You will be in the Championship round, please wait here!"); Check[playerid][cFinalist] = 1; SetCameraBehindPlayer(playerid); Event[eFinalPlayers] += 1; Check[playerid][cJoined] = 1; SetPlayerColor(playerid, 0xC2A2DA00); } else { SendClientMessage(playerid, COLOR_YELLOW, " ** You have made it to the finals !"); Event[eTopTen3] += 1; Check[playerid][cFinals] = 1; if(Event[eTopTen3] == 2) { SetPlayerPos(playerid, 1372.7495,-12.0258,33.7429); // SetPlayerFacingAngle(playerid, 312.0006); SendClientMessage(playerid, COLOR_WHITE, " ** Waiting for other contenders to finish."); SendClientMessage(playerid, COLOR_YELLOW, " ** You're a finalist! You will be in the Championship round, please wait here!"); Check[playerid][cFinalist] = 1; SetCameraBehindPlayer(playerid); Event[eFinalPlayers] += 1; Check[playerid][cJoined] = 1; SetPlayerColor(playerid, 0xC2A2DA00); } else if(Event[eTopTen3] == 3) { SetPlayerPos(playerid, 1371.4868,-12.9587,33.7899); // SetPlayerFacingAngle(playerid, 312.0006); SendClientMessage(playerid, COLOR_WHITE, " ** Waiting for other contenders to finish."); SendClientMessage(playerid, COLOR_YELLOW, " ** You're a finalist! You will be in the Championship round, please wait here!"); Check[playerid][cFinalist] = 1; SetCameraBehindPlayer(playerid); Event[eFinalPlayers] += 1; Check[playerid][cJoined] = 1; SetPlayerColor(playerid, 0xC2A2DA00); } else if(Event[eTopTen3] == 4) { SetPlayerPos(playerid, 1370.2292,-14.5464,33.8429); // SetPlayerFacingAngle(playerid, 312.0006); SendClientMessage(playerid, COLOR_WHITE, " ** Waiting for other contenders to finish."); SendClientMessage(playerid, COLOR_YELLOW, " ** You're a finalist! You will be in the Championship round, please wait here!"); Check[playerid][cFinalist] = 1; SetCameraBehindPlayer(playerid); Event[eFinalPlayers] += 1; Check[playerid][cJoined] = 1; SetPlayerColor(playerid, 0xC2A2DA00); } else if(Event[eTopTen3] == 5) { SetPlayerPos(playerid, 1368.0095,-14.4614,33.9233); // SetPlayerFacingAngle(playerid, 312.0006); SendClientMessage(playerid, COLOR_WHITE, " ** Waiting for other contenders to finish."); SendClientMessage(playerid, COLOR_YELLOW, " ** You're a finalist! You will be in the Championship round, please wait here!"); Check[playerid][cFinalist] = 1; SetCameraBehindPlayer(playerid); Event[eFinalPlayers] += 1; Check[playerid][cJoined] = 1; SetPlayerColor(playerid, 0xC2A2DA00); } else if(Event[eTopTen3] == 6) { SetPlayerPos(playerid, 1369.1237,-13.4426,33.8827); // SetPlayerFacingAngle(playerid, 312.0006); SendClientMessage(playerid, COLOR_WHITE, " ** Waiting for other contenders to finish."); SendClientMessage(playerid, COLOR_YELLOW, " ** You're a finalist! You will be in the Championship round, please wait here!"); Check[playerid][cFinalist] = 1; SetCameraBehindPlayer(playerid); Event[eFinalPlayers] += 1; Check[playerid][cJoined] = 1; SetPlayerColor(playerid, 0xC2A2DA00); } else if(Event[eTopTen3] == 7) { SetPlayerPos(playerid, 1370.3534,-12.3183,33.8378); // SetPlayerFacingAngle(playerid, 312.0006); SendClientMessage(playerid, COLOR_WHITE, " ** Waiting for other contenders to finish."); SendClientMessage(playerid, COLOR_YELLOW, " ** You're a finalist! You will be in the Championship round, please wait here!"); Check[playerid][cFinalist] = 1; SetCameraBehindPlayer(playerid); Event[eFinalPlayers] += 1; Check[playerid][cJoined] = 1; SetPlayerColor(playerid, 0xC2A2DA00); } else if(Event[eTopTen3] == 8) { SetPlayerPos(playerid, 1371.5422,-11.2314,33.7944); // SetPlayerFacingAngle(playerid, 312.0006); SendClientMessage(playerid, COLOR_WHITE, " ** Waiting for other contenders to finish."); SendClientMessage(playerid, COLOR_YELLOW, " ** You're a finalist! You will be in the Championship round, please wait here!"); Check[playerid][cFinalist] = 1; SetCameraBehindPlayer(playerid); Event[eFinalPlayers] += 1; Check[playerid][cJoined] = 1; SetPlayerColor(playerid, 0xC2A2DA00); } else if(Event[eTopTen3] == 9) { SetPlayerPos(playerid, 1373.0571,-9.4526,33.7406); // SetPlayerFacingAngle(playerid, 312.0006); SendClientMessage(playerid, COLOR_WHITE, " ** Waiting for other contenders to finish."); SendClientMessage(playerid, COLOR_YELLOW, " ** You're a finalist! You will be in the Championship round, please wait here!"); Check[playerid][cFinalist] = 1; SetCameraBehindPlayer(playerid); Event[eFinalPlayers] += 1; Check[playerid][cJoined] = 1; SetPlayerColor(playerid, 0xC2A2DA00); } else if(Event[eTopTen3] == 10) { SetPlayerPos(playerid, 1369.1237,-13.4426,33.8827); // SetPlayerFacingAngle(playerid, 312.0006); SendClientMessage(playerid, COLOR_WHITE, " ** Waiting for other contenders to finish."); SendClientMessage(playerid, COLOR_YELLOW, " ** You're a finalist! You will be in the Championship round, please wait here!"); Check[playerid][cFinalist] = 1; SetCameraBehindPlayer(playerid); Event[eFinalPlayers] += 1; Check[playerid][cJoined] = 1; SetPlayerColor(playerid, 0xC2A2DA00); SendClientMessageToAll(COLOR_YELLOW, " ** The Top Ten have finished in world 4 !"); } SetPlayerVirtualWorld(playerid, 0); } } else if(Event[eFinalsStarted] == 1) { if(Event[eGrandWinner] == 0 && World == 0) { format(string,sizeof(string)," ** %s has placed first in the triathlon race ! They've won the grand prize ! ", PlayerName(playerid)); SendClientMessageToAll(COLOR_YELLOW, string); Event[eGrandWinner] += 1; } else if(Event[eGrandWinner] == 1) { format(string,sizeof(string)," ** %s has placed third in the triathlon race ! They've won the secondary prize ! ", PlayerName(playerid)); SendClientMessageToAll(COLOR_YELLOW, string); Event[eGrandWinner] += 1; } else if(Event[eGrandWinner] == 2) { format(string,sizeof(string)," ** %s has placed first in the triathlon race ! They've won the third prize ! ", PlayerName(playerid)); SendClientMessageToAll(COLOR_YELLOW, string); } } } return 1; } forward FinalTimer(); public FinalTimer() { for(new i;i= 19 && GetVehicleModel(GetPlayerVehicleID(i)) == 510) { new engine,lights,alarm,doors,bonnet,boot,objective; GetVehicleParamsEx(GetPlayerVehicleID(i),engine,lights,alarm,doors,bonnet,boot,objective); SetVehicleParamsEx(GetPlayerVehicleID(i),VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective); } } if(Event[eFinalsStarted] == 0 && Event[eFinalPlayers] >= 30) { for(new i;i