rendered paste body#include <a_samp>#include <string>#include <float>#include <core>#include <file>#include <time>#include <dutils>#define TEKST_KLEUR 0xC0C0C0FFnew Float:checksrace1[12][3] = { {-2279.5854,-1738.3087,465.5179}, {-2445.7930,-1719.6721,432.1588}, {-2439.3467,-1810.4872,411.3665}, {-2548.9229,-1661.4214,400.1917}, {-2525.6580,-1803.0920,376.7867}, {-2590.5862,-1624.3649,344.4003}, {-2517.1013,-1879.7583,299.1414}, {-2648.2183,-1728.0834,258.3443}, {-2426.3318,-2091.2939,122.5877}, {-2103.7813,-1884.2252,110.1914}, {-2265.5054,-2143.1125,55.9790}, {-2376.1038,-2196.3413,33.3367}};new motor[MAX_PLAYERS];new race1;new race[MAX_PLAYERS];new motors1[4];new bmotors1[4];new Countdown = 3;new afteltimer;new NuCheck[MAX_PLAYERS];new winnaar1[4];main(){ print("\n----------------------------------"); print(" Conquer the Ultimate "); print("----------------------------------\n");}public OnGameModeInit(){ bmotors1[1] = -1; bmotors1[2] = -1; bmotors1[3] = -1; print("GameModeInit()"); SetGameModeText("Conquer the Ultimate"); AddPlayerClass(1,-2319.5225,-1619.5889,483.7194,198.8530,0,0,0,0,0,0); // Class Spawn AddStaticVehicle(468,-2288.3022,-1692.2214,480.3661,200.5540,-1,-1); // Motor1 AddStaticVehicle(468,-2290.9290,-1691.7557,480.4484,201.3642,-1,-1); // Motor2 AddStaticVehicle(468,-2293.5376,-1691.0653,480.8770,205.7569,-1,-1); // Motor3 return 1;}public OnPlayerRequestClass(playerid, classid){ printf("OnPlayerRequestClass(%d, %d)", playerid, classid); SetPlayerPos(playerid,-2236.2231,-1720.7653,480.8783); SetPlayerCameraPos(playerid,-2238.4153,-1721.0360,480.8230); SetPlayerCameraLookAt(playerid,-2236.2231,-1720.7653,480.8783); return 1;}public OnGameModeExit(){ print("GameModeExit()"); return 1;}public OnPlayerConnect(playerid){ printf("OnPlayerConnect(%d)", playerid); return 1;}public OnPlayerDisconnect(playerid){ printf("OnPlayerDisconnect(%d)", playerid); return 1;}public OnPlayerSpawn(playerid){ motor[playerid] = 0; printf("OnPlayerSpawn(%d)", playerid); return 1;}public OnPlayerDeath(playerid, killerid, reason){ printf("OnPlayerDeath(%d, %d, %d)", playerid, killerid, reason); return 1;}public OnVehicleSpawn(vehicleid){ printf("OnVehicleSpawn(%d)", vehicleid); return 1;}public OnVehicleDeath(vehicleid, killerid){ printf("OnVehicleDeath(%d, %d)", vehicleid, killerid); return 1;}public OnPlayerText(playerid){ printf("OnPlayerText(%d)", playerid); return 1;}public OnPlayerCommandText(playerid, cmdtext[]){ if (strcmp(cmdtext, "/race", true)==0) { if(race1 == 3){ SendClientMessage(playerid,TEKST_KLEUR,"De race zit al vol, je moet nog even wachten."); return 1; } else if(race[playerid] > 0){ SendClientMessage(playerid,TEKST_KLEUR,"U doet al mee aan een race"); return 1; } if(motors1[1] == 0){ motor[playerid] = 1; } if(motors1[2] == 0 && motor[playerid] == 0){ motor[playerid] = 2; } if(motors1[3] == 0 && motor[playerid] == 0){ motor[playerid] = 3; } race1++; race[playerid] = 1; SendClientMessage(playerid,TEKST_KLEUR,"U zit nu op een motor."); PutPlayerInVehicle(playerid,motor[playerid],0); motors1[motor[playerid]] = 1; bmotors1[motor[playerid]] = playerid; TogglePlayerControllable(playerid,0); SetCameraBehindPlayer(playerid); if(race1 == 2){ SendClientMessage(playerid,TEKST_KLEUR,"Aftellen begint"); afteltimer = SetTimer("raceCountDown",1000,0); } return 1; } if (strcmp(cmdtext, "/reset", true)==0){ TogglePlayerControllable(bmotors1[1],1); TogglePlayerControllable(bmotors1[2],1); TogglePlayerControllable(bmotors1[3],1); if(IsPlayerInVehicle(bmotors1[1],1) || IsPlayerInVehicle(bmotors1[1],2) || IsPlayerInVehicle(bmotors1[1],3)){ RemovePlayerFromVehicle(bmotors1[1]); } if(IsPlayerInVehicle(bmotors1[2],1) || IsPlayerInVehicle(bmotors1[2],2) || IsPlayerInVehicle(bmotors1[2],3)){ RemovePlayerFromVehicle(bmotors1[2]); } if(IsPlayerInVehicle(bmotors1[3],1) || IsPlayerInVehicle(bmotors1[3],2) || IsPlayerInVehicle(bmotors1[3],3)){ RemovePlayerFromVehicle(bmotors1[3]); } SetVehicleToRespawn(1); SetVehicleToRespawn(2); SetVehicleToRespawn(3); motor[bmotors1[1]] = 0; motor[bmotors1[2]] = 0; motor[bmotors1[3]] = 0; race[bmotors1[1]] = 0; race[bmotors1[2]] = 0; race[bmotors1[3]] = 0; race1 = 0; motors1[1] = 0; motors1[2] = 0; motors1[3] = 0; bmotors1[1] = -1; bmotors1[2] = -1; bmotors1[3] = -1; return 1; } if (strcmp(cmdtext, "/check", true)==0){ new vehic; vehic = GetPlayerVehicleID(playerid); printf("Vehicle id: (%d)", vehic); return 1; } if(!checksrace1[1]){ } return 0;}public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger){ if(playerid != bmotors1[vehicleid]){ SendClientMessage(playerid,TEKST_KLEUR,"Deze motor is gereserveerd voor een race."); new Float:X; new Float:Y; new Float:Z; GetPlayerPos(playerid, X, Y, Z); SetPlayerPos(playerid,X,Y,Z); } printf("OnPlayerEnterVehicle(%d, %d, %d)", playerid, vehicleid, ispassenger); return 1;}public OnPlayerExitVehicle(playerid, vehicleid){ printf("OnPlayerExitVehicle(%d, %d)", playerid, vehicleid); return 1;}public OnPlayerEnterCheckpoint(playerid){ NuCheck[playerid]++; if(race[playerid] == 1){ if(NuCheck[playerid] < 12){ SetPlayerCheckpoint(playerid,checksrace1[NuCheck[playerid]][0],checksrace1[NuCheck[playerid]][1],checksrace1[NuCheck[playerid]][2],10); } else{ DisablePlayerCheckpoint(playerid); new text[256]; if(winnaar1[1] == -1){ winnaar1[1] = playerid; text = "Je bent als 1e binnen!"; new uitslagtext[256]; new winnaar11[256],winnaar2[256],winnaar3[256]; GetPlayerName(winnaar1[1],winnaar11,20); GetPlayerName(winnaar1[2],winnaar2,20); GetPlayerName(winnaar1[3],winnaar3,20); format(uitslagtext,sizeof(uitslagtext),"Uitlsag:\n1. %d\n2. %d\n3. %d",winnaar11,winnaar2,winnaar3); SendClientMessage(winnaar1[1],TEKST_KLEUR,uitslagtext); SendClientMessage(winnaar1[2],TEKST_KLEUR,uitslagtext); SendClientMessage(winnaar1[3],TEKST_KLEUR,uitslagtext); } else if(winnaar1[2] == -1){ winnaar1[2] = playerid; text = "Je bent als 2e binnen!"; } else if(winnaar1[3] == -1){ winnaar1[3] = playerid; text = "Je bent als 3e binnen!"; new uitslagtext[256]; new winnaar11[256],winnaar2[256],winnaar3[256]; GetPlayerName(winnaar1[1],winnaar11,20); GetPlayerName(winnaar1[2],winnaar2,20); GetPlayerName(winnaar1[3],winnaar3,20); format(uitslagtext,sizeof(uitslagtext),"Uitlsag:\n1. %6 \n2. %6\n3. %6",winnaar11,winnaar2,winnaar3); SendClientMessage(winnaar1[1],TEKST_KLEUR,uitslagtext); SendClientMessage(winnaar1[2],TEKST_KLEUR,uitslagtext); SendClientMessage(winnaar1[3],TEKST_KLEUR,uitslagtext); } GameTextForPlayer(playerid,text,3000,4); } } printf("OnPlayerEnterCheckpoint(%d)", playerid); return 1;}public OnPlayerLeaveCheckpoint(playerid){ printf("OnPlayerLeaveCheckpoint(%d)", playerid); return 1;}public raceCountDown(){ winnaar1[1] = -1; winnaar1[2] = -1; winnaar1[3] = -1; if(Countdown > 0){ if(Countdown == 3){ GameTextForPlayer(bmotors1[1],"3",1000,4); GameTextForPlayer(bmotors1[2],"3",1000,4); GameTextForPlayer(bmotors1[3],"3",1000,4); } if(Countdown == 2){ GameTextForPlayer(bmotors1[1],"2",1000,4); GameTextForPlayer(bmotors1[2],"2",1000,4); GameTextForPlayer(bmotors1[3],"2",1000,4); } if(Countdown == 1){ GameTextForPlayer(bmotors1[1],"1",1000,4); GameTextForPlayer(bmotors1[2],"1",1000,4); GameTextForPlayer(bmotors1[3],"1",1000,4); } Countdown--; afteltimer = SetTimer("raceCountDown",1000,0); } else{ KillTimer(afteltimer); TogglePlayerControllable(bmotors1[1],1); TogglePlayerControllable(bmotors1[2],1); TogglePlayerControllable(bmotors1[3],1); GameTextForPlayer(bmotors1[1],"Go!",1000,4); GameTextForPlayer(bmotors1[2],"Go!",1000,4); GameTextForPlayer(bmotors1[3],"Go!",1000,4); SetPlayerCheckpoint(bmotors1[1],checksrace1[0][0],checksrace1[0][1],checksrace1[0][2],10); SetPlayerCheckpoint(bmotors1[2],checksrace1[0][0],checksrace1[0][1],checksrace1[0][2],10); SetPlayerCheckpoint(bmotors1[3],checksrace1[0][0],checksrace1[0][1],checksrace1[0][2],10); NuCheck[bmotors1[1]] = 0; NuCheck[bmotors1[2]] = 0; NuCheck[bmotors1[3]] = 0; } }