//------------------------------------------------------------------------------ // // Tour miniMission Filter Script v1.0 // Designed for SA-MP v0.2.1 // // Created by zeruel_angel // altered for busses buy c-middia // and to work with other racecheckpoint systems //------------------------------------------------------------------------------ #include enum bus_stops { Float:Size, Float:X, Float:Y, Float:Z } #define COACH 437 #define BONUS 500 #define MAX_CASH 2000 #define MIN_CASH 1000 #define MAX_ESTACIONES 100 new EDSbus[MAX_ESTACIONES][bus_stops]; new busDestinations[]="busstops.txt"; new playerInbusMission[MAX_PLAYERS]; new Cantbusstop; new buscontador[MAX_PLAYERS]; new busdest[MAX_PLAYERS]; new avisadobus[MAX_PLAYERS]; new buslinea[255]; forward terminarMission(playerid); //------------------------------------------------------------------------------------------------------ public OnFilterScriptInit() { print("\n Tour Filter Script v1.0 Loading...\n***********************************\n (Zeruel_Angel)\n"); //cargo los checkpoints desde el archivo new File:file1; new j=0; new idx; file1 = fopen(busDestinations,io_readwrite); while ((fread(file1,buslinea,sizeof(buslinea),false))&&(j ' ') && ((index - offset) < (sizeof(result) - 1))) { result[index - offset] = string[index]; index++; } result[index - offset] = EOS; return result; } //------------------------------------------------------------------------------------------------------ public terminarMission(playerid) { // GameTextForPlayer(playerid,"~r~Coach ~n~ ~w~MiniMision ~n~~w~cancelled",3000,4); SendClientMessage(playerid,0xFF0000FF,"Coach MiniMision cancelled"); // DestroyVehicle(playerInbusMission[playerid]); playerInbusMission[playerid]=0; avisadobus[playerid]=-1; DisablePlayerRaceCheckpoint(playerid); buscontador[playerid]=0; return 1; } //------------------------------------------------------------------------------------------------------ public OnPlayerStateChange(playerid, newstate, oldstate) { if (newstate==PLAYER_STATE_DRIVER && GetVehicleModel(GetPlayerVehicleID(playerid)) == 437 && avisadobus[playerid]==-1) { // if (GetVehicleModel(GetPlayerVehicleID(playerid)) == 437) // { // if (avisadobus[playerid]==-1) // { // GameTextForPlayer(playerid,"~w~Press ~b~Buttom 2~n~~w~to start ~r~Xoomer~n~~w~Minimission",3000,5);//SetTimerEx("MandarMensaje",5500,0,"%d",playerid); SendClientMessage(playerid,0x00FF00FF,"Press Buttom 2 to start Coach Minimission"); } else { KillTimer(avisadobus[playerid]); avisadobus[playerid]=-1; // } // } } if (newstate==PLAYER_STATE_ONFOOT) { if ((playerInbusMission[playerid]!=0)&&(avisadobus[playerid]==-1)) { // GameTextForPlayer(playerid,"~You have ~r~10 sec ~n~~w~ to get a Truck",3000,4); SendClientMessage(playerid,0xFF0000FF,"You have 10 sec to get a Coach"); avisadobus[playerid]=SetTimerEx("terminarMission",10000,0,"%d",playerid); } } return 1; } //------------------------------------------------------------------------------------------------------ /* ProximaEstacion(playerid) { new index = busdest[playerid]; DisablePlayerRaceCheckpoint(playerid); // playerInbusMission[playerid]=CreateVehicle(584,0.0,0.0,0.0,0.0,0,1,-1); // AttachTrailerToVehicle(playerInbusMission[playerid],GetPlayerVehicleID(playerid)); playerInbusMission[playerid]=1; SetPlayerRaceCheckpoint(playerid,0,EDSbus[index][X],EDSbus[index][Y],EDSbus[index][Z],1716.7765,1391.4298,10.2873,EDSbus[index][Size]); //FALTA LO DEL TRAILER return 1; } */ //------------------------------------------------------------------------------------------------------ Refineria(playerid) { DisablePlayerRaceCheckpoint(playerid); new index = random(Cantbusstop); busdest[playerid]=index; SetPlayerRaceCheckpoint(playerid,0,1716.7765,1391.4298,10.2873,EDSbus[index][X],EDSbus[index][Y],EDSbus[index][Z],EDSbus[index][Size]); return 1; } //------------------------------------------------------------------------------------------------------ MissionIni(playerid) { // GameTextForPlayer(playerid,"~r~Coach ~w~MiniMision ~w~starts!~n~ go to the ~n~~r~LV Coach Station",3000,4); SendClientMessage(playerid,0x00FF00FF,"Coach MiniMision starts! go to the LV Coach Station"); Refineria(playerid); playerInbusMission[playerid]=-1; return 1; } //------------------------------------------------------------------------------------------------------ public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) { if ((newkeys==KEY_SUBMISSION)&&(IsPlayerInAnyVehicle(playerid))&&(GetPlayerState(playerid)==PLAYER_STATE_DRIVER)) { if (GetVehicleModel(GetPlayerVehicleID(playerid)) == 437) { if (playerInbusMission[playerid]==0) { MissionIni(playerid); } else { terminarMission(playerid); } } } } //------------------------------------------------------------------------------------------------------ public OnPlayerEnterRaceCheckpoint(playerid) { new vid = GetPlayerVehicleID(playerid); if (playerInbusMission[playerid]==-1 && GetVehicleModel(GetPlayerVehicleID(playerid)) == 437) { SendClientMessage(playerid,0x00FF00FF,"The passangers are on the Coach Take it to the Destination"); // ProximaEstacion(playerid); // new index = busdest[playerid]; DisablePlayerRaceCheckpoint(playerid); playerInbusMission[playerid]=1; SetPlayerRaceCheckpoint(playerid,0,EDSbus[index][X],EDSbus[index][Y],EDSbus[index][Z],1716.7765,1391.4298,10.2873,EDSbus[index][Size]); // // } // else // { // SendClientMessage(playerid,0xFF0000FF,"You need a Coach"); // } return 1; } // GetVehicleModel(vid) == COACH // if (GetVehicleModel(GetPlayerVehicleID(playerid) == 437) && playerInbusMission[playerid]!=0) if ((GetVehicleModel(vid) == COACH) && playerInbusMission[playerid]==1) { // if (IsPlayerInAnyVehicle(playerid)) // { // if ((GetVehicleModel(GetPlayerVehicleID(playerid)) == 437)) // &&(IsTrailerAttachedToVehicle(GetPlayerVehicleID(playerid))) // &&(GetVehicleTrailer(GetPlayerVehicleID(playerid))==playerInbusMission[playerid])) // { buscontador[playerid]++; new cash=(random(MAX_CASH-MIN_CASH)+MIN_CASH); GivePlayerMoney(playerid,cash); // DestroyVehicle(playerInbusMission[playerid]); playerInbusMission[playerid]=-1; Refineria(playerid); if ((((buscontador[playerid]/5)*5)==buscontador[playerid])&&(buscontador[playerid]!=0)) { new string[255]; format(string,sizeof(string),"You get a ~r~BONUS ~w~ every 5 times!.~n~You made %d tours, your bonus is ~n~~b~$%d",buscontador[playerid],buscontador[playerid]*BONUS); // SendClientMessage(playerid,0x0000FFFF,"You need a truck"); GameTextForPlayer(playerid,string,3000,3); } else { GameTextForPlayer(playerid,"~w~Passengers deployed ! Here is your cash! ~n~Go back to ~r~Las Venturas",5000,3); SendClientMessage(playerid,0x0000FFFF,"Passengers deployed ! Here is your cash ! Go back to Las Venturas"); } } // } // } return 1; } //------------------------------------------------------------------------------------------------------ public OnPlayerDisconnect(playerid) { if (playerInbusMission[playerid]!=0) { terminarMission(playerid); } return 1; }