Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include a_samp
- #include streamer
- #include pawn.cmd
- #define function%0(%1) \
- forward%0(%1); public%0(%1)
- static const TRUCKER_DELIVERIES = 5; // Número de entregas
- static const MONEY_PER_DELIVERY = 250; // Dinheiro por entrega
- static TruckerCP[MAX_PLAYERS];
- static TruckerDeliveriesCount[MAX_PLAYERS];
- static TruckerTruckID[MAX_PLAYERS] = {INVALID_VEHICLE_ID, ...};
- static TruckerTrailerID[MAX_PLAYERS] = {INVALID_VEHICLE_ID, ...};
- static bool:TruckerLoaded[MAX_PLAYERS];
- static const Float:TruckSpawns[][] =
- {
- {-495.2845, -485.3680, 26.5557, 180.0000},
- {-500.3450, -485.3680, 26.5557, 180.0000},
- {-505.1847, -485.3680, 26.5557, 180.0000}
- };
- static const Float:TrailerSpawns[][] =
- {
- {-495.2845, -475.5900, 26.9940, 180.0000},
- {-500.3450, -475.5900, 26.9940, 180.0000},
- {-505.1847, -475.5900, 26.9940, 180.0000}
- };
- static const Float:TruckerDeliveries[][] =
- {
- {-470.80325, -522.95642, 24.56000},
- {-488.50168, -536.69739, 24.56000},
- {-501.66617, -517.13409, 24.56000}
- };
- main(){}
- public OnPlayerDisconnect(playerid, reason)
- {
- if(TruckerLoaded[playerid])
- {
- DestroyVehicle(TruckerTruckID[playerid]);
- TruckerTruckID[playerid] = INVALID_VEHICLE_ID;
- DestroyVehicle(TruckerTrailerID[playerid]);
- TruckerTrailerID[playerid] = INVALID_VEHICLE_ID;
- DestroyDynamicRaceCP(TruckerCP[playerid]);
- TruckerDeliveriesCount[playerid] = 0;
- TruckerLoaded[playerid] = false;
- }
- return 1;
- }
- public OnPlayerDeath(playerid, killerid, reason)
- {
- if(TruckerLoaded[playerid])
- {
- DestroyVehicle(TruckerTruckID[playerid]);
- TruckerTruckID[playerid] = INVALID_VEHICLE_ID;
- DestroyVehicle(TruckerTrailerID[playerid]);
- TruckerTrailerID[playerid] = INVALID_VEHICLE_ID;
- TruckerLoaded[playerid] = false;
- TruckerDeliveriesCount[playerid] = 0;
- DestroyDynamicRaceCP(TruckerCP[playerid]);
- SendClientMessage(playerid, -1, "* Você não conseguiu entregar todas as cargas e foi cancelado o serviço.");
- }
- return 1;
- }
- public OnPlayerEnterDynamicRaceCP(playerid, checkpointid)
- {
- if(checkpointid == TruckerCP[playerid])
- {
- if(TruckerLoaded[playerid])
- {
- DestroyDynamicRaceCP(TruckerCP[playerid]);
- TogglePlayerControllable(playerid, false);
- GameTextForPlayer(playerid, "~w~DESCARREGANDO...", 3000, 3);
- SetTimerEx("OnUnloadTruck", 3000, false, "i", playerid);
- }
- }
- return 1;
- }
- function OnLoadTruck(playerid)
- {
- if(!TruckerLoaded[playerid])
- {
- new rand = random(sizeof(TruckerDeliveries));
- TruckerCP[playerid] = CreateDynamicRaceCP(1, TruckerDeliveries[rand][0], TruckerDeliveries[rand][1], TruckerDeliveries[rand][2], 0.0, 0.0, 0.0, 5.0, .playerid = playerid);
- GameTextForPlayer(playerid, "~g~CARREGADO!", 3000, 3);
- TogglePlayerControllable(playerid, true);
- TruckerLoaded[playerid] = true;
- }
- return 1;
- }
- function OnUnloadTruck(playerid)
- {
- if(TruckerLoaded[playerid])
- {
- if(++TruckerDeliveriesCount[playerid] >= TRUCKER_DELIVERIES)
- {
- new string[80];
- format(string, sizeof(string), "* Você entregou todas as cargas com sucesso ({008000}$%i{FFFFFF}).", TruckerDeliveriesCount[playerid] * MONEY_PER_DELIVERY);
- SendClientMessage(playerid, -1, string);
- format(string, sizeof(string), "~w~DESCARREGADO!~n~~g~+$%i", TruckerDeliveriesCount[playerid] * MONEY_PER_DELIVERY);
- GameTextForPlayer(playerid, string, 5000, 3);
- TogglePlayerControllable(playerid, true);
- DestroyVehicle(TruckerTrailerID[playerid]);
- TruckerTrailerID[playerid] = INVALID_VEHICLE_ID;
- TruckerDeliveriesCount[playerid] = 0;
- TruckerLoaded[playerid] = false;
- }
- else
- {
- new string[80];
- format(string, sizeof(string), "* Foi marcado outro local para você descarregar (Entregas: %i/%i).", TruckerDeliveriesCount[playerid], TRUCKER_DELIVERIES);
- SendClientMessage(playerid, -1, string);
- format(string, sizeof(string), "~w~DESCARREGADO!~n~~g~+$%i ~r~- ~y~%i/%i", MONEY_PER_DELIVERY, TruckerDeliveriesCount[playerid], TRUCKER_DELIVERIES);
- GameTextForPlayer(playerid, string, 3000, 3);
- new rand = random(sizeof(TruckerDeliveries));
- TruckerCP[playerid] = CreateDynamicRaceCP(1, TruckerDeliveries[rand][0], TruckerDeliveries[rand][1], TruckerDeliveries[rand][2], 0.0, 0.0, 0.0, 5.0, .playerid = playerid);
- TogglePlayerControllable(playerid, true);
- }
- }
- return 1;
- }
- CMD:carregar(playerid)
- {
- if(TruckerLoaded[playerid])
- return SendClientMessage(playerid, -1, "* Você já está carregado.");
- new rand = random(sizeof(TruckSpawns));
- TruckerTruckID[playerid] = CreateVehicle(515, TruckSpawns[rand][0], TruckSpawns[rand][1], TruckSpawns[rand][2], TruckSpawns[rand][3], -1, -1, -1);
- TruckerTrailerID[playerid] = CreateVehicle(435, TrailerSpawns[rand][0], TrailerSpawns[rand][1], TrailerSpawns[rand][2], TrailerSpawns[rand][3], -1, -1, -1);
- AttachTrailerToVehicle(TruckerTruckID[playerid], TruckerTruckID[playerid]);
- PutPlayerInVehicle(playerid, TruckerTruckID[playerid], 0);
- GameTextForPlayer(playerid, "~g~CARREGANDO...", 5000, 3);
- SetTimerEx("OnLoadTruck", 5000, false, "i", playerid);
- TogglePlayerControllable(playerid, false);
- return 1;
- }
Add Comment
Please, Sign In to add comment