#define CHECKPOINT_NONE 0 #define CHECKPOINT_RALLY 1 #define CHECKPOINT_REAL 2 new gPlayerClass[MAX_PLAYERS]; new gPlayerCheckpointStatus[MAX_PLAYERS]; public OnPlayerEnterCheckpoint(playerid) { switch (gPlayerCheckpointStatus[playerid]) { case CHECKPOINT_RALLY: { GameTextForPlayer(playerid, "~r~Crash Race!", 2000, 5); SetPlayerInterior(playerid,15); SetPlayerFacingAngle(playerid,86.5767); SetPlayerPos(playerid, -1396.0618,987.7252,1023.9644); // Teleport to RALLY SetPlayerCheckpoint(playerid,-1444.7665,994.5327,1024.1747, 5.0); // CP on Rally to Real gPlayerCheckpointStatus[playerid] = CHECKPOINT_REAL; } case CHECKPOINT_REAL: { GameTextForPlayer(playerid, "~r~Drift Race!", 2000, 5); SetPlayerInterior(playerid,0); SetPlayerFacingAngle(playerid,271.4329); SetPlayerPos(playerid, 2263.4680,1508.3948,42.5629); // Teleport to REAL SetPlayerCheckpoint(playerid,2327.5012,1437.2390,42.8203, 5.0); // CP on Real to Rally gPlayerCheckpointStatus[playerid] = CHECKPOINT_RALLY; } default: { DisablePlayerCheckpoint(playerid); } } return 1; } public OnPlayerSpawn(playerid) { GivePlayerMoney(playerid, 100000); switch (gPlayerClass[playerid]) { case 0: { gPlayerCheckpointStatus[playerid] = CHECKPOINT_NONE; GameTextForPlayer(playerid, "(SRT) Street Racing Server", 3000, 5); SetPlayerInterior(playerid,0); } case 1, 2: { gPlayerCheckpointStatus[playerid] = CHECKPOINT_RALLY; SetPlayerCheckpoint(playerid,2327.5012,1437.2390,42.8203,5.0); SetPlayerInterior(playerid,0); GameTextForPlayer(playerid, "(SRT) Street Racing Server", 3000, 5); } } return 1; }