rendered paste body#include <a_samp>new Veicolo[MAX_PLAYERS];new gara[MAX_PLAYERS];new Comprata[MAX_VEHICLES];new posti = 1;main(){ print("\n----------------------------------"); print(" San Fierro Street Race by TommyLR "); print("----------------------------------\n");}public OnGameModeInit(){ print("GameModeInit()"); SetGameModeText("Blank Script");AddStaticVehicle(555,-1989.7498,243.5580,34.8580,87.2092,58,1); // Windsor 1AddStaticVehicle(401,-1991.4071,249.0986,34.9512,78.0993,87,87); // Bravura 2AddStaticVehicle(402,-1975.0883,243.5105,35.0049,173.9056,90,90); // Buffalo 3AddStaticVehicle(405,-1991.4279,254.9322,35.0463,83.9965,40,1); // Sentinel 4AddStaticVehicle(410,-1990.1094,259.3609,34.8320,78.5972,10,1); // Manana 5AddStaticVehicle(411,-1945.2988,274.0035,40.7757,268.4767,112,1); // Infernus 6AddStaticVehicle(419,-1989.9133,264.2216,34.9748,83.7142,13,76); // esperanto 7AddStaticVehicle(421,-1989.5709,269.1728,35.0578,87.6150,36,1); // washington 8AddStaticVehicle(426,-1987.6793,274.8651,34.9187,56.1747,62,62); // premium 9AddStaticVehicle(415,-1945.4063,268.0475,40.8254,269.2043,36,1); // cheetah 10AddStaticVehicle(429,-1955.9673,257.7826,40.7268,176.5828,14,14); // banshee 11AddStaticVehicle(445,-1977.8107,304.3246,35.0467,184.9591,43,43); // admiral 12AddStaticVehicle(451,-1946.1738,259.8581,40.7537,238.5270,16,16); // TUrismo 13AddStaticVehicle(477,-1957.8619,296.3947,35.2209,349.6366,121,1); // zr 350 14AddStaticVehicle(480,-1944.7468,268.6469,35.2465,270.3976,6,6); // comet 15AddStaticVehicle(494,-1953.5420,258.0640,35.3664,179.5071,54,36); // hotring 16AddStaticVehicle(506,-1959.1681,257.9241,35.1753,186.7476,52,52); // supergt 17AddStaticVehicle(474,-1969.2283,243.8422,34.9380,177.7150,91,1); // hermes 18AddStaticVehicle(533,-1944.3674,262.3931,35.1777,273.5196,77,1); // feltzer 19AddStaticVehicle(541,-1948.2213,256.4031,35.0938,178.3115,2,1); // bullet 20AddStaticVehicle(587,-1961.1329,268.5175,35.1958,89.1846,53,1); // euros 21AddStaticVehicle(602,-1970.9441,304.7362,34.9785,172.7708,32,1); // alpha 22AddPlayerClass(1,-1976.4758,269.5956,35.1719,161.5001,0,0,0,0,0,0); //AddPlayerClass(48,-1976.4758,269.5956,35.1719,161.5001,0,0,0,0,0,0); //AddPlayerClass(58,-1976.4758,269.5956,35.1719,161.5001,0,0,0,0,0,0); //AddPlayerClass(59,-1976.4758,269.5956,35.1719,161.5001,0,0,0,0,0,0); //AddPlayerClass(60,-1976.4758,269.5956,35.1719,161.5001,0,0,0,0,0,0); //AddPlayerClass(67,-1976.4758,269.5956,35.1719,161.5001,0,0,0,0,0,0); //AddPlayerClass(72,-1976.4758,269.5956,35.1719,161.5001,0,0,0,0,0,0); //AddPlayerClass(84,-1976.4758,269.5956,35.1719,161.5001,0,0,0,0,0,0); //AddPlayerClass(98,-1976.4758,269.5956,35.1719,161.5001,0,0,0,0,0,0); //AddPlayerClass(102,-1976.4758,269.5956,35.1719,161.5001,0,0,0,0,0,0); //AddPlayerClass(109,-1976.4758,269.5956,35.1719,161.5001,0,0,0,0,0,0); //AddPlayerClass(112,-1976.4758,269.5956,35.1719,161.5001,0,0,0,0,0,0); // return 1;}public OnPlayerConnect(playerid){GivePlayerMoney(playerid, 50000);}public OnPlayerRequestClass(playerid, classid){ SetPlayerInterior(playerid,0); SetPlayerFacingAngle(playerid,23.1364); SetPlayerPos(playerid,1787.8250,-1898.4103,13.3950); SetPlayerCameraPos(playerid,1785.5365,-1895.8412,13.3919); SetPlayerCameraLookAt(playerid,1787.8250,-1898.4103,13.3950); return 1;}public OnPlayerStateChange(playerid, newstate, oldstate){new veicoloid = GetPlayerVehicleID(playerid); if(newstate == PLAYER_STATE_DRIVER){ if(veicoloid == Veicolo[playerid]) { } else {TogglePlayerControllable(playerid,0); switch(veicoloid){case 1: {GameTextForPlayer(playerid, "Windsor~n~Max Speed: 180 KM/h ~n~ Cost: 50000$ ~n~ Type /buy to buy it ~n~ or /exit to exit from the vehicle",10000,3); }case 2: {GameTextForPlayer(playerid, "Bravura~n~Max Speed: 160 KM/h ~n~ Cost: 30000$ ~n~ Type /buy to buy it ~n~ or /exit to exit from the vehicle",10000,3); }case 3: {GameTextForPlayer(playerid, "Buffalo~n~Max Speed: 200 KM/h ~n~ Cost: 80000$ ~n~ Type /buy to buy it ~n~ or /exit to exit from the vehicle",10000,3); }case 4: {GameTextForPlayer(playerid, "Sentinel~n~Max Speed: 165 KM/h ~n~ Cost: 32000$ ~n~ Type /buy to buy it ~n~ or /exit to exit from the vehicle",10000,3); }case 5: {GameTextForPlayer(playerid, "Manana~n~Max Speed: 160 KM/h ~n~ Cost: 27000$ ~n~ Type /buy to buy it ~n~ or /exit to exit from the vehicle",10000,3); }case 6: {GameTextForPlayer(playerid, "Infernus~n~Max Speed: 240 KM/h ~n~ Cost: 120000$ ~n~ Type /buy to buy it ~n~ or /exit to exit from the vehicle",10000,3); }case 7: {GameTextForPlayer(playerid, "Esperanto~n~Max Speed: 160 KM/h ~n~ Cost: 30000$ ~n~ Type /buy to buy it ~n~ or /exit to exit from the vehicle",10000,3); }case 8: {GameTextForPlayer(playerid, "Washington~n~Max Speed: 180 KM/h ~n~ Cost: 45000$ ~n~ Type /buy to buy it ~n~ or /exit to exit from the vehicle",10000,3); }case 9: {GameTextForPlayer(playerid, "Premier~n~Max Speed: 200 KM/h ~n~ Cost: 80000$ ~n~ Type /buy to buy it ~n~ or /exit to exit from the vehicle",10000,3); }case 10: {GameTextForPlayer(playerid, "Cheetah~n~Max Speed: 230 KM/h ~n~ Cost: 100000$ ~n~ Type /buy to buy it ~n~ or /exit to exit from the vehicle",10000,3); }case 11: {GameTextForPlayer(playerid, "Banshee~n~Max Speed: 200 KM/h ~n~ Cost: 85000$ ~n~ Type /buy to buy it ~n~ or /exit to exit from the vehicle",10000,3); }case 12: {GameTextForPlayer(playerid, "Admiral~n~Max Speed: 165 KM/h ~n~ Cost: 30000$ ~n~ Type /buy to buy it ~n~ or /exit to exit from the vehicle",10000,3); }case 13: {GameTextForPlayer(playerid, "Turismo~n~Max Speed: 240 KM/h ~n~ Cost: 140000$ ~n~ Type /buy to buy it ~n~ or /exit to exit from the vehicle",10000,3); }case 14: {GameTextForPlayer(playerid, "zr350~n~Max Speed: 200 KM/h ~n~ Cost: 90000$ ~n~ Type /buy to buy it ~n~ or /exit to exit from the vehicle",10000,3); }case 15: {GameTextForPlayer(playerid, "comet~n~Max Speed: 200 KM/h ~n~ Cost: 85000$ ~n~ Type /buy to buy it ~n~ or /exit to exit from the vehicle",10000,3); }case 16: {GameTextForPlayer(playerid, "hotring racer~n~Max Speed: 220 KM/h ~n~ Cost: 100000$ ~n~ Type /buy to buy it ~n~ or /exit to exit from the vehicle",10000,3); }case 17: {GameTextForPlayer(playerid, "supergt~n~Max Speed: 230 KM/h ~n~ Cost: 80000$ ~n~ Type /buy to buy it ~n~ or /exit to exit from the vehicle",10000,3); }case 18: {GameTextForPlayer(playerid, "hermes~n~Max Speed: 160 KM/h ~n~ Cost: 30000$ ~n~ Type /buy to buy it ~n~ or /exit to exit from the vehicle",10000,3); }case 19: {GameTextForPlayer(playerid, "feltzer~n~Max Speed: 200 KM/h ~n~ Cost: 80000$ ~n~ Type /buy to buy it ~n~ or /exit to exit from the vehicle",10000,3); }case 20: {GameTextForPlayer(playerid, "bullet~n~Max Speed: 230 KM/h ~n~ Cost: 110000$ ~n~ Type /buy to buy it ~n~ or /exit to exit from the vehicle",10000,3); }case 21: {GameTextForPlayer(playerid, "euros~n~Max Speed: 200 KM/h ~n~ Cost: 80000$ ~n~ Type /buy to buy it ~n~ or /exit to exit from the vehicle",10000,3); }case 22: {GameTextForPlayer(playerid, "alpha~n~Max Speed: 200 KM/h ~n~ Cost: 80000$ ~n~ Type /buy to buy it ~n~ or /exit to exit from the vehicle",10000,3); } } } }return 1;}public OnPlayerEnterCheckpoint(playerid){ printf("OnPlayerEnterCheckpoint(%d)", playerid); return 1;}public OnPlayerCommandText(playerid, cmdtext[],is, i){ new cmd[256]; new idx; cmd = strtok(cmdtext, idx);if(strcmp(cmd, "/buy", true) == 0){new vehicleid = GetPlayerVehicleID(playerid);if(vehicleid == Veicolo[playerid]){GameTextForPlayer(playerid, "That's your car!", 2000, 3);}if(Comprata[vehicleid] == 1){GameTextForPlayer(playerid, "Already bought car!", 2000, 3);}else{switch(vehicleid){case 1: { if(GetPlayerMoney(playerid) >= 50000){ GameTextForPlayer(playerid, "purchased!", 3000, 3); GivePlayerMoney(playerid, -50000); TogglePlayerControllable(playerid, 1); Comprata[vehicleid] = 1; Veicolo[playerid] = vehicleid; }else{ GameTextForPlayer(playerid, "not enough money!", 3000, 3); } }case 2: { if(GetPlayerMoney(playerid) >= 30000){ GameTextForPlayer(playerid, "purchased!", 3000, 3); GivePlayerMoney(playerid, -30000); TogglePlayerControllable(playerid, 1); Comprata[vehicleid] = 1; Veicolo[playerid] = vehicleid; }else{ GameTextForPlayer(playerid, "not enough money!", 3000, 3); } }case 3: { if(GetPlayerMoney(playerid) >= 80000){ GameTextForPlayer(playerid, "purchased!", 3000, 3); GivePlayerMoney(playerid, -80000); TogglePlayerControllable(playerid, 1); Comprata[vehicleid] = 1; Veicolo[playerid] = vehicleid; }else{ GameTextForPlayer(playerid, "not enough money!", 3000, 3); } }case 4: { if(GetPlayerMoney(playerid) >= 32000){ GameTextForPlayer(playerid, "purchased!", 3000, 3); GivePlayerMoney(playerid, -32000); TogglePlayerControllable(playerid, 1); Comprata[vehicleid] = 1; Veicolo[playerid] = vehicleid; }else{ GameTextForPlayer(playerid, "not enough money!", 3000, 3); } }case 5: { if(GetPlayerMoney(playerid) >= 27000){ GameTextForPlayer(playerid, "purchased!", 3000, 3); GivePlayerMoney(playerid, -27000); TogglePlayerControllable(playerid, 1); Comprata[vehicleid] = 1; Veicolo[playerid] = vehicleid; }else{ GameTextForPlayer(playerid, "not enough money!", 3000, 3); } }case 6: { if(GetPlayerMoney(playerid) >= 120000){ GameTextForPlayer(playerid, "purchased!", 3000, 3); GivePlayerMoney(playerid, -120000); TogglePlayerControllable(playerid, 1); Comprata[vehicleid] = 1; Veicolo[playerid] = vehicleid; }else{ GameTextForPlayer(playerid, "not enough money!", 3000, 3); } }case 7: { if(GetPlayerMoney(playerid) >= 30000){ GameTextForPlayer(playerid, "purchased!", 3000, 3); GivePlayerMoney(playerid, -30000); TogglePlayerControllable(playerid, 1); Comprata[vehicleid] = 1; Veicolo[playerid] = vehicleid; }else{ GameTextForPlayer(playerid, "not enough money!", 3000, 3); } }case 8: { if(GetPlayerMoney(playerid) >= 45000){ GameTextForPlayer(playerid, "purchased!", 3000, 3); GivePlayerMoney(playerid, -45000); TogglePlayerControllable(playerid, 1); Comprata[vehicleid] = 1; Veicolo[playerid] = vehicleid; }else{ GameTextForPlayer(playerid, "not enough money!", 3000, 3); } }case 9: { if(GetPlayerMoney(playerid) >= 80000){ GameTextForPlayer(playerid, "purchased!", 3000, 3); GivePlayerMoney(playerid, -80000); TogglePlayerControllable(playerid, 1); Comprata[vehicleid] = 1; Veicolo[playerid] = vehicleid; }else{ GameTextForPlayer(playerid, "not enough money!", 3000, 3); } }case 10: { if(GetPlayerMoney(playerid) >= 100000){ GameTextForPlayer(playerid, "purchased!", 3000, 3); GivePlayerMoney(playerid, -100000); TogglePlayerControllable(playerid, 1); Comprata[vehicleid] = 1; Veicolo[playerid] = vehicleid; }else{ GameTextForPlayer(playerid, "not enough money!", 3000, 3); } }case 11: { if(GetPlayerMoney(playerid) >= 85000){ GameTextForPlayer(playerid, "purchased!", 3000, 3); GivePlayerMoney(playerid, -85000); TogglePlayerControllable(playerid, 1); Comprata[vehicleid] = 1; Veicolo[playerid] = vehicleid; }else{ GameTextForPlayer(playerid, "not enough money!", 3000, 3); } }case 12: { if(GetPlayerMoney(playerid) >= 30000){ GameTextForPlayer(playerid, "purchased!", 3000, 3); GivePlayerMoney(playerid, -30000); TogglePlayerControllable(playerid, 1); Comprata[vehicleid] = 1; Veicolo[playerid] = vehicleid; }else{ GameTextForPlayer(playerid, "not enough money!", 3000, 3); } }case 13: { if(GetPlayerMoney(playerid) >= 140000){ GameTextForPlayer(playerid, "purchased!", 3000, 3); GivePlayerMoney(playerid, -140000); TogglePlayerControllable(playerid, 1); Comprata[vehicleid] = 1; Veicolo[playerid] = vehicleid; }else{ GameTextForPlayer(playerid, "not enough money!", 3000, 3); } }case 14: { if(GetPlayerMoney(playerid) >= 90000){ GameTextForPlayer(playerid, "purchased!", 3000, 3); GivePlayerMoney(playerid, -90000); TogglePlayerControllable(playerid, 1); Comprata[vehicleid] = 1; Veicolo[playerid] = vehicleid; }else{ GameTextForPlayer(playerid, "not enough money!", 3000, 3); } }case 15: { if(GetPlayerMoney(playerid) >= 85000){ GameTextForPlayer(playerid, "purchased!", 3000, 3); GivePlayerMoney(playerid, -85000); TogglePlayerControllable(playerid, 1); Comprata[vehicleid] = 1; Veicolo[playerid] = vehicleid; }else{ GameTextForPlayer(playerid, "not enough money!", 3000, 3); } }case 16: { if(GetPlayerMoney(playerid) >= 100000){ GameTextForPlayer(playerid, "purchased!", 3000, 3); GivePlayerMoney(playerid, -100000); TogglePlayerControllable(playerid, 1); Comprata[vehicleid] = 1; Veicolo[playerid] = vehicleid; }else{ GameTextForPlayer(playerid, "not enough money!", 3000, 3); } }case 17: { if(GetPlayerMoney(playerid) >= 80000){ GameTextForPlayer(playerid, "purchased!", 3000, 3); GivePlayerMoney(playerid, -80000); TogglePlayerControllable(playerid, 1); Comprata[vehicleid] = 1; Veicolo[playerid] = vehicleid; }else{ GameTextForPlayer(playerid, "not enough money!", 3000, 3); } }case 18: { if(GetPlayerMoney(playerid) >= 30000){ GameTextForPlayer(playerid, "purchased!", 3000, 3); GivePlayerMoney(playerid, -30000); TogglePlayerControllable(playerid, 1); Comprata[vehicleid] = 1; Veicolo[playerid] = vehicleid; }else{ GameTextForPlayer(playerid, "not enough money!", 3000, 3); } }case 19: { if(GetPlayerMoney(playerid) >= 80000){ GameTextForPlayer(playerid, "purchased!", 3000, 3); GivePlayerMoney(playerid, -80000); TogglePlayerControllable(playerid, 1); Comprata[vehicleid] = 1; Veicolo[playerid] = vehicleid; }else{ GameTextForPlayer(playerid, "not enough money!", 3000, 3); } }case 20: { if(GetPlayerMoney(playerid) >= 110000){ GameTextForPlayer(playerid, "purchased!", 3000, 3); GivePlayerMoney(playerid, -110000); TogglePlayerControllable(playerid, 1); Comprata[vehicleid] = 1; Veicolo[playerid] = vehicleid; }else{ GameTextForPlayer(playerid, "not enough money!", 3000, 3); } }case 21: { if(GetPlayerMoney(playerid) >= 80000){ GameTextForPlayer(playerid, "purchased!", 3000, 3); GivePlayerMoney(playerid, -80000); TogglePlayerControllable(playerid, 1); Comprata[vehicleid] = 1; Veicolo[playerid] = vehicleid; }else{ GameTextForPlayer(playerid, "not enough money!", 3000, 3); } }case 22: { if(GetPlayerMoney(playerid) >= 80000){ GameTextForPlayer(playerid, "purchased!", 3000, 3); GivePlayerMoney(playerid, -80000); TogglePlayerControllable(playerid, 1); Comprata[vehicleid] = 1; Veicolo[playerid] = vehicleid; }else{ GameTextForPlayer(playerid, "not enough money!", 3000, 3); } }}}return 1;}if(strcmp(cmd, "/exit", true) == 0){RemovePlayerFromVehicle(playerid);TogglePlayerControllable(playerid, 1);return 1;}if(strcmp(cmd, "/racestart", true) == 0){ for(i=0;i<MAX_PLAYERS;i++) { if(gara[i] == 1 && IsPlayerConnected(i)){ TogglePlayerControllable(i, 1); GameTextForPlayer(i, "GO!", 3000, 3); } }return 1;}if(strcmp(cmd, "/joinrace", true) == 0){ switch(posti){ case 1:{ SetVehiclePos(GetPlayerVehicleID(playerid),-2128.1206,205.8878,35.1096); SetVehicleZAngle(GetPlayerVehicleID(playerid), 90); posti++; TogglePlayerControllable(playerid, 0); gara[playerid] = 1; } case 2:{ SetVehiclePos(GetPlayerVehicleID(playerid),-2127.2351,210.5291,35.1139); SetVehicleZAngle(GetPlayerVehicleID(playerid), 90); TogglePlayerControllable(playerid, 0); gara[playerid] = 1; posti++; } case 3:{ SetVehiclePos(GetPlayerVehicleID(playerid),-2117.9382,210.8565,35.0589); SetVehicleZAngle(GetPlayerVehicleID(playerid), 90); TogglePlayerControllable(playerid, 0); gara[playerid] = 1; posti++; } case 4:{ SetVehiclePos(GetPlayerVehicleID(playerid),-2116.2883,205.7404,35.0577); SetVehicleZAngle(GetPlayerVehicleID(playerid), 90); gara[playerid] = 1; TogglePlayerControllable(playerid, 0); posti++; } case 5:{ SetVehiclePos(GetPlayerVehicleID(playerid),-2105.7163,206.0818,35.0994); SetVehicleZAngle(GetPlayerVehicleID(playerid), 90); gara[playerid] = 1; TogglePlayerControllable(playerid, 0); posti++; } case 6:{ SetVehiclePos(GetPlayerVehicleID(playerid),-2105.5632,210.2761,35.0944); SetVehicleZAngle(GetPlayerVehicleID(playerid), 90); gara[playerid] = 1; TogglePlayerControllable(playerid, 0); posti++; } case 7:{ GameTextForPlayer(playerid, "the race is full.", 3000, 3); } }return 1;}return 1;}strtok(const string[], &index){ new length = strlen(string); while ((index < length) && (string[index] <= ' ')) {index++; } new offset = index; new result[20]; while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1))) {result[index - offset] = string[index]; index++;}result[index - offset] = EOS;return result;} public OnPlayerExitVehicle(playerid){TogglePlayerControllable(playerid,1);}