17.02.2017, 00:55
When he type /convoy (playerid) he get the mission well. when i went into the checkpoint. The second mission unload is bugged. the first load is right but not the second load. this what i got.
Only 2 works
General Store to K.A.C
it should be like
General Store to Los Santos Gas Station.
it don't catch the line 2nd load
Only 2 works
Код:
{0, 2054.6843,1928.2374,12.1540, "(LV) Book Store", "Books", 2492.5366,2773.2190,10.80422, "K.A.C", 1500}, {1, 2492.5366,2773.2190,10.80422, "K.A.C", "Books", 2054.6843,1928.2374,12.1540, "(LV) Book Store", 2500},
it should be like
General Store to Los Santos Gas Station.
it don't catch the line 2nd load
Код:
enum pInfo { pAdmin, pWork, StartingPoint, EndingPoint, MissionID, ID, Password[129], Score, Money, personalmsg[129], bool:LoggedIn } new PlayerInfo[MAX_PLAYERS][pInfo]; enum MissionData { mission_id, Float:lx, Float:ly, Float:lz, lpname[64], loadname[256], Float:ux, Float:uy, Float:uz, ulpname[256], cost, bool:IsLoaded } static const trucker[][MissionData] = { // Template: {lx, ly, lz, lpname, loadname, ux, uy, uz, upname, cost}, // Dont include comma on last!!!! {0, 2054.6843,1928.2374,12.1540, "(LV) Book Store", "Books", 2492.5366,2773.2190,10.80422, "K.A.C", 1500}, {1, 2492.5366,2773.2190,10.80422, "K.A.C", "Books", 2054.6843,1928.2374,12.1540, "(LV) Book Store", 2500}, {2, 2420.6235,-2464.2495,13.6250, "Los Santos Warehouse", "Weapons", 1538.4180,-1674.5314,13.5469, "Los Santos Police Station", 3000, false}, {3, 2244.0317,47.0715,26.4844, "General Store", "Food", 1931.9788,-1776.5302,13.3828, "Los Santos Gas Station", 3000}, {4, -2029.1902,-2403.2869,30.6250 , "Angel Pine Place", "Logs", 2208.2058,-2243.5767,13.5469, "Los Santos Warehouse", 3000, false} };
Код:
public OnPlayerEnterCheckpoint(playerid) { new loading[MAX_PLAYERS]; if(GetPlayerTeam(playerid) == 1) { if(IsPlayerInAnyVehicle(playerid)) { switch(truck_PlayerJob[playerid]) { case 1: { truck_PlayerJob[playerid] = -1; TogglePlayerControllable(playerid, 0); SetTimerEx("Trucker2", 30000, false, "i", playerid); format(loading,sizeof(loading), "~r~Loading... ~w~Please wait..."); PlayerTextDrawSetString(playerid, work[playerid], loading); new Message[100]; format(Message,sizeof(Message), "Loading..."); SendClientMessage(playerid, WORK, Message); format(Message,sizeof(Message), "Please wait"); SendClientMessage(playerid, WORK, Message); } case 2, 3: { truck_PlayerJob[playerid] = 3; TogglePlayerControllable(playerid, 0); SetTimerEx("Trucker3", 30000, false, "i", playerid); format(loading,sizeof(loading), "~r~Unloading... ~w~Please wait..."); PlayerTextDrawSetString(playerid, work[playerid], loading); new Message[100]; format(Message,sizeof(Message), "Unloading..."); SendClientMessage(playerid, WORK, Message); format(Message,sizeof(Message), "Please wait"); SendClientMessage(playerid, WORK, Message); } } return 1; } } return 1; }
Код:
forward Trucker1(playerid); public Trucker1(playerid) { new rand = random(sizeof(trucker)); new newtext2[MAX_PLAYERS]; PlayerInfo[playerid][MissionID] = trucker[rand][mission_id]; PlayerInfo[playerid][StartingPoint] = rand; DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid, trucker[rand][lx], trucker[rand][ly], trucker[rand][lz], 5.0); format(newtext2,sizeof(newtext2), "~w~Head to ~r~%s ~w~to load your trailer with ~y~%s", trucker[rand][lpname], trucker[rand][loadname]); PlayerTextDrawSetString(playerid, work[playerid],newtext2); } forward Trucker2(playerid); public Trucker2(playerid) { DisablePlayerCheckpoint(playerid); new missionid = PlayerInfo[playerid][MissionID]; TogglePlayerControllable(playerid, 1); SetPlayerCheckpoint(playerid, trucker[missionid][ux], trucker[missionid][uy], trucker[missionid][uz], 10); truck_PlayerJob[playerid] = 2; new workmission2[250]; format(workmission2,sizeof(workmission2), "~w~Now Head To ~r~%s ~w~To Unload The ~y~%s", trucker[missionid][ulpname], trucker[missionid][loadname]); PlayerTextDrawSetString(playerid, work[playerid], workmission2); } forward Trucker3(playerid); public Trucker3(playerid) { new End = PlayerInfo[playerid][StartingPoint]; new string[144]; format(string,sizeof(string),"%s has delivered %s from %s to %s", ReturnName(playerid), trucker[End][loadname], trucker[End][lpname], trucker[End][ulpname]); SendClientMessageToAll(-1, string); print(string); DisablePlayerCheckpoint(playerid); new Message[90]; if(TruckLoad[playerid] == 0) { SetPlayerScore(playerid, GetPlayerScore(playerid) + 1); format(Message, sizeof(Message), "You completed the mission and earned $%i and 1 points in a Roadtrain", trucker[End][cost]); SendClientMessage(playerid, -1, Message); GivePlayerMoney(playerid, trucker[End][cost]); } else if(TruckLoad[playerid] == 1) { SetPlayerScore(playerid, GetPlayerScore(playerid) + 2); format(Message, sizeof(Message), "You completed the mission and earned $%i and 2 points in a Roadtrain", trucker[End][cost]*2); SendClientMessage(playerid, -1, Message); GivePlayerMoney(playerid, trucker[End][cost]*2); print(Message); } PlayerInfo[playerid][MissionID] = -1; TruckLoad[playerid] = 0; TogglePlayerControllable(playerid, 1); truck_PlayerJob[playerid] = 0; new workmission[250]; format(workmission,sizeof(workmission), "~w~You Are Not On a Mission - Type ~r~/Work ~w~To Begin"); PlayerTextDrawSetString(playerid, work[playerid], workmission); } CMD:work(playerid, params[]) { SendMessageToAdmins(playerid, "/work", params); if (GetPlayerTeam(playerid) == 1) { new m = GetVehicleModel(GetPlayerVehicleID(playerid)); if(m == 455 || m == 515 || m == 403 || m == 514) { new t = GetVehicleModel(GetVehicleTrailer(GetPlayerVehicleID(playerid))); if( m == 455 || t == 435 || t == 450 || t == 584 ) { if (GetPlayerVehicleSeat(playerid) == 0) { Trucker1(playerid); truck_PlayerJob[playerid] = 1; //truckchecktime = SetTimerEx("TruckCheck", 1000, true, "i", giveplayerid); } else { SendClientMessage(playerid, WORK, "You are not the driver of this vehicle"); } } else { SendClientMessage(playerid, WORK, "You do not have a trailer, please go and ATTACH one!"); } } else { SendClientMessage(playerid, WORK, "You are not in a TRUCK, please go and get one!"); } } return 1; }
Код:
CMD:convoy(playerid, params[]) { new targetid; SendMessageToAdmins(playerid, "/convoy", params); if(sscanf(params, "u",targetid)) return SendClientMessage(playerid, -1, "{FF0000}USAGE: {FFFFFF}/convoy [playerid]"); //targetid = strval(params); new missionid = PlayerInfo[targetid][MissionID]; // add this after the "sscanf" if(GetPlayerTeam(playerid) == 1) { new m = GetVehicleModel(GetPlayerVehicleID(playerid)); if(m == 455 || m == 515 || m == 403 || m == 514) { new t = GetVehicleModel(GetVehicleTrailer(GetPlayerVehicleID(playerid))); if( m == 455 || t == 435 || t == 450 || t == 584 ) { if (GetPlayerVehicleSeat(playerid) == 0) { new string[128]; format(string,sizeof(string),"%s has joined your convoy", ReturnName(playerid)); SendClientMessage(targetid,-1,string); format(string,sizeof(string),"You joined %s convoy", ReturnName(targetid)); SendClientMessage(playerid,-1,string); new ConvoyDisplay[MAX_PLAYERS]; truck_PlayerJob[playerid] = 1; SetPlayerCheckpoint(playerid, trucker[missionid][lx], trucker[missionid][ly], trucker[missionid][lz], 10); format(ConvoyDisplay,sizeof(ConvoyDisplay), "~w~Head to ~r~%s ~w~to load your trailer with ~y~%s", trucker[missionid][lpname], trucker[missionid][loadname]); PlayerTextDrawSetString(playerid, work[playerid], ConvoyDisplay); } else { SendClientMessage(playerid, WORK, "You are not the driver of this vehicle"); } } else { SendClientMessage(playerid, WORK, "You do not have the correct trailer, please go and attach one!"); } } else { SendClientMessage(playerid, WORK, "You are not in a truck, please go and get one!"); } } return 1; }