[FREE] Bus Job (Level System)

Hello, we are sharing our free and completely open source bus job project with you.

Ingame Photos


Infos

  • New stops can be easily added
  • With the level system, you can make players work towards a goal
  • You can easily configure language options,
  • Simple interface

Showcase

Configrations
Config = {}

Config.NPCLocation = vector4(453.6513, -600.5350, 28.5929, 261.0228)
Config.NPCModel = "s_m_m_gentransport"

Config.MaxLevel = 10
Config.LevelXP = {
    [1] = 0,
    [2] = 1500,
    [3] = 3000,
    [4] = 5000,
    [5] = 7500,
    [6] = 10000,
    [7] = 15000,
    [8] = 20000,
    [9] = 25000,
    [10] = 30000,
}

Config.VehicleMaxPassengers = {
    ["bus"] = 11,
    ["tourbus"] = 9,
    ["coach"] = 9
}

Config.NPCSpawnDistance = 250.0 
Config.NPCModels = {
    "a_f_y_hipster_01",
    "a_f_y_tourist_01", 
    "a_f_y_business_01",
    "a_f_m_beach_01",
    "a_f_y_eastsa_01",
    "a_f_y_bevhills_01",
    "a_f_y_bevhills_02",
    "a_m_y_hipster_01", 
    "a_m_y_hipster_02",
    "a_m_y_skater_01", 
    "a_m_m_tourist_01",
    "a_m_y_business_01",
    "a_m_y_bevhills_01",
    "a_m_y_eastsa_01"
}

Config.Stops = {
    downtown_stops = {
        {name = "[1] Strawberry Ave", coords = vector3(308.80, -767.40, 29.31), npcCoords = vector4(305.25, -765.16, 29.17, 267.40)},
        {name = "[2] San Andreas Ave", coords = vector3(113.59, -785.58, 31.40), npcCoords = vector4(115.37, -782.26, 31.40, 162.98)},
        {name = "[3] Peaceful St", coords = vector3(-243.86, -715.07, 33.45), npcCoords = vector4(-246.97, -713.39, 33.54, 265.25)},
        {name = "[4] San Andreas Ave", coords = vector3(-505.57, -667.47, 33.02), npcCoords = vector4(-505.16, -669.88, 33.10, 1.44)},
        {name = "[5] San Andreas Ave", coords = vector3(228.26, -853.57, 29.92), npcCoords = vector4(223.89, -856.82, 30.15, 347.88)},
        {name = "[6] Little Bighorn Ave", coords = vector3(471.13, -610.07, 28.50), npcCoords = vector4(471.13, -610.07, 28.50, 355.71)},
    },
    town_stops = {
        {name = "[1] Elgin Ave", coords = vector3(282.46, -568.26, 43.14), npcCoords = vector4(288.07, -571.87, 43.18, 59.55)},
        {name = "[2] Los Santos Freeway", coords = vector3(576.44, -371.45, 43.54), npcCoords = vector4(578.60, -378.68, 43.54, 355.98)},
        {name = "[3] Panorama Dr", coords = vector3(1696.94, 3266.76, 41.03), npcCoords = vector4(1696.94, 3266.76, 41.03, 102.21)},
        {name = "[4] Little Bighorn Ave", coords = vector3(470.03, -603.94, 28.53), npcCoords = vector4(470.03, -603.94, 28.53, 351.60)},
    }
}



Config.Missions = {
    {
        id = "downtown_route",
        name = "Downtown Express",
        difficulty = "easy",
        minLevel = 1,
        payment = 15000,
        xp = 250,
        stops = "downtown_stops",
        vehicleModel = "bus",
        vehicleSpawn = vector4(462.2318, -612.0518, 28.4997, 224.4843)
    },
    {
        id = "town_stops",
        name = "Town Express",
        difficulty = "medium",
        minLevel = 2,
        payment = 19000,
        xp = 350,
        stops = "town_stops",
        vehicleModel = "coach",
        vehicleSpawn = vector4(462.2318, -612.0518, 28.4997, 224.4843)
    },
}


Config.DifficultyColors = {
    ["easy"] = "#3BF287",
    ["medium"] = "#F2D53B",
    ["hard"] = "#F25B3B"
}



Config.Language = {
    ["bus_job"] = "Bus Jobs",
    ["search_mission"] = "Search Mission...",
    ["accept_mission"] = "Accept Mission",
    ["close"] = "Close",
    ["level"] = "Level",
    ["xp"] = "XP",
    ["next_stop"] = "Next Stop",
    ["passenger_status"] = "Passenger Status",
    ["remaining_stops"] = "Remaining Stops",
    ["stops"] = "Stops",
    ["passengers"] = "Passengers",
    
    ["difficulty_easy"] = "Easy",
    ["difficulty_medium"] = "Medium", 
    ["difficulty_hard"] = "Hard",
    ["difficulty_unknown"] = "Unknown",
    
    ["mission_locked"] = "Unlocks at Level %s",
    ["mission_level_required"] = "Level %s+",
    ["mission_reward"] = "Reward",
    
    ["mission_started"] = "Mission started. Proceed to the first stop.",
    ["mission_cancelled"] = "Mission cancelled! You left the bus for too long.",
    ["level_up"] = "Congratulations! You leveled up in the bus job. New level: %s",
    
    ["stop_approaching"] = "Stop approaching, passengers waiting...",
    ["stop_arrived"] = "You have arrived at the last stop! Come to a complete stop.",
    ["stop_waiting"] = "%s passengers waiting at the stop. Approach and press [E] or honk the horn.",
    
    ["bus_full"] = "Bus is full! Passengers will disembark at the stop...",
    ["bus_full_move"] = "Bus is full! Proceed to the next stop to unload passengers.",
    ["passenger_unloading"] = "Passengers disembarking...",
    ["passenger_loading"] = "Passengers boarding...",
    ["passenger_unloaded"] = "Passenger disembarked. Remaining: %s",
    ["passengers_unloaded"] = "%s passengers disembarked. Remaining passengers: %s",
    
    ["enter_bus"] = "You need to enter the bus!",
    ["stop_bus"] = "Come to a complete stop to load and unload passengers!",
    ["bus_moving"] = "Bus is moving! Stop at the stop to unload passengers.",
    ["return_to_bus"] = "Return to the bus! The mission will be cancelled if you don't return within 30 seconds.",
    
    ["parking_stop"] = "PARKING STOP",
    ["heading_to_parking"] = "All passengers disembarked! Proceed to the last stop (parking point).",
    
    ["stop_action_text"] = "Unload/Load Passengers",
    ["stop_vehicle_text"] = "Brake to Stop",
    ["last_stop_text"] = "Last Stop - Park"
}
Code is accessible Full accessible
Subscription-based No
Lines (approximately) 1000+
Requirements esx or qb
Support No (Only Bug)

Download
debux-busjob.zip (4.3 MB)

Discord
DebuX Workshop | debux.tebex.io

Other Scripts
https://debux.tebex.io

10 Likes

Very clean job, and nice UI !

1 Like

interesting!
is there a file to change the stops? where and how many? thanks :wink:

Config.Stops = {
    downtown_stops = {
        {name = "[1] Strawberry Ave", coords = vector3(308.80, -767.40, 29.31), npcCoords = vector4(305.25, -765.16, 29.17, 267.40)},
        {name = "[2] San Andreas Ave", coords = vector3(113.59, -785.58, 31.40), npcCoords = vector4(115.37, -782.26, 31.40, 162.98)},
        {name = "[3] Peaceful St", coords = vector3(-243.86, -715.07, 33.45), npcCoords = vector4(-246.97, -713.39, 33.54, 265.25)},
        {name = "[4] San Andreas Ave", coords = vector3(-505.57, -667.47, 33.02), npcCoords = vector4(-505.16, -669.88, 33.10, 1.44)},
        {name = "[5] San Andreas Ave", coords = vector3(228.26, -853.57, 29.92), npcCoords = vector4(223.89, -856.82, 30.15, 347.88)},
        {name = "[6] Little Bighorn Ave", coords = vector3(471.13, -610.07, 28.50), npcCoords = vector4(471.13, -610.07, 28.50, 355.71)},
    },
    town_stops = {
        {name = "[1] Elgin Ave", coords = vector3(282.46, -568.26, 43.14), npcCoords = vector4(288.07, -571.87, 43.18, 59.55)},
        {name = "[2] Los Santos Freeway", coords = vector3(576.44, -371.45, 43.54), npcCoords = vector4(578.60, -378.68, 43.54, 355.98)},
        {name = "[3] Panorama Dr", coords = vector3(1696.94, 3266.76, 41.03), npcCoords = vector4(1696.94, 3266.76, 41.03, 102.21)},
        {name = "[4] Little Bighorn Ave", coords = vector3(470.03, -603.94, 28.53), npcCoords = vector4(470.03, -603.94, 28.53, 351.60)},
    }
}

You can configure the stops via the configuration!

1 Like

really great, thank you :stuck_out_tongue_winking_eye: :muscle:

1 Like

Nice script, great ui. The only thing I recommend is that you throw this onto GitHub so people can make pull requests and issues, and so on. Other than that, great work!

3 Likes