Skip to content

Configuration

All of lo_balloon's configuration lives in config.lua (a shared script). This file is escrow-ignored, so you can edit it freely. This page covers the main options.

Main options

OptionTypeDefaultDescription
Config.Langstring"fr"Active language. Values: en, fr, pt_br, de, ru.
Config.Commandstring"balloon"Staff command to spawn a balloon for free.
Config.Modeltable{ "hotairballoon01", ... }Recognized balloon models (the first is used for spawning).
Config.DummyObjectstring"p_ambfloorscrub01x"Invisible object used to stabilize network sync.
Config.SpawnOffsetnumber5.0Spawn offset.
Config.SpeedBasenumber0.05Base movement speed.
Config.SpeedSprintnumber0.15Sprint speed.
Config.ControlTickMsnumber25Control loop interval (ms).
Config.AutoEnterAsDriverboolfalseAutomatically enter as the driver.
Config.MaxPassengersnumber3Maximum number of passengers.
Config.BoardingRangenumber4.0Boarding range (m).
Config.BoardingKeystring"INPUT_LOOK_BEHIND"Boarding key (C by default on PC).
Config.RentalSpawnClearRadiusnumber5.0Radius (m) preventing a 2nd spawn at the same spot.
Config.ShowPromptsbooltrueShows the help prompts in the bottom-right.

Piloting

Piloting relies on two speeds and a set of visual options.

lua
Config.SpeedBase   = 0.05   -- normal movement speed
Config.SpeedSprint = 0.15   -- speed while holding the sprint key

Config.PilotAnimation = true   -- pilot animation (chain)
Config.PilotRope      = true   -- rope linking the pilot
Config.RopeLength     = 0.7
Config.SyncRope       = true   -- syncs the rope for other players

Piloting keys are defined in Config.Inputs:

ActionControlDefault value
ForwardForwardINPUT_VEH_MOVE_UP_ONLY
BackwardBackwardINPUT_VEH_MOVE_DOWN_ONLY
LeftLeftINPUT_VEH_MOVE_LEFT_ONLY
RightRightINPUT_VEH_MOVE_RIGHT_ONLY
Ascend (chain)ThrottleINPUT_VEH_FLY_THROTTLE_UP
Slow downBrakeINPUT_CONTEXT_X
Lock altitudeLockAltitudeINPUT_CONTEXT_A
SprintSprintINPUT_VEH_TRAVERSAL
Orbit cameraCameraINPUT_VEH_HEADLIGHT

Orbit camera (optional)

The orbit camera is not forced: the player keeps the game's default camera (and can go first-person). They switch to the distant camera only when pressing the camera key.

lua
Config.PilotCam       = true
Config.PilotCamOffset = { x = 0.0, y = -8.0, z = 4.0 } -- (behind, above)

TIP

If the camera key icon (INPUT_VEH_HEADLIGHT) doesn't suit you, remap Config.Inputs.Camera to another control.

Passengers

A balloon holds up to Config.MaxPassengers passengers. Boarding is done with the Config.BoardingKey key when the player is within Config.BoardingRange meters. Placement positions are defined by the offsets below.

lua
Config.MaxPassengers = 3
Config.BoardingRange = 4.0
Config.BoardingKey   = "INPUT_LOOK_BEHIND" -- C by default on PC

Config.PassengerOffsets = {
    {x =  0.55, y = -0.45, z = 0.5},
    {x = -0.55, y = -0.45, z = 0.5},
    {x =  0.00, y =  0.45, z = 0.5},
}

NOTE

Provide as many offsets as MaxPassengers so each passenger has a placement position.

Rental points (Config.Rentals)

Config.Rentals is a list of rental points. Each entry describes:

KeyDescription
npc.modelRenter NPC model.
npc.coordsvec4(x, y, z, heading) — NPC position and heading.
spawnvec3(x, y, z) — where the balloon appears on rent.
priceCash price to pay.
range3D radius (m) around the NPC to rent/return the balloon.

Example (Strawberry point):

lua
Config.Rentals = {
    { -- strawberry
        npc = {
            model  = "A_M_M_UniBoatCrew_01",
            coords = vec4(-1831.70, -596.88, 154.55, 287.23),
        },
        spawn = vec3(-1821.89, -599.09, 154.71),
        price = 15,
        range = 2.0,
    },
    -- Add more rental points here:
    -- {
    --     npc   = { model = "...", coords = vec4(x, y, z, h) },
    --     spawn = vec3(x, y, z),
    --     price = 50,
    --     range = 2.5,
    -- },
}

By default the resource ships with 6 rental points (Strawberry, Annesburg, Armadillo, the north, etc.), all priced at 15 with a range of 2.0.

TIP

A range of 2.0 to 4.0 is usually ideal: wide enough to stay lenient on uneven terrain, but not so wide as to cause accidental triggers.

A map blip can be shown for each point:

lua
Config.RentalBlip = {
    sprite = -1595467349,
    scale  = 0.2,
}
-- Set Config.RentalBlip = nil to disable blips.

Languages

The active language is set by Config.Lang. Translations live in Config.Translations, which includes by default:

CodeLanguage
enEnglish
frFrench
pt_brPortuguese (Brazil)
deGerman
ruRussian
lua
Config.Lang = "fr"

To add a language, create a new entry in Config.Translations using the same keys (Title, Rent, Return, Board, etc.), then set Config.Lang to its code.

Tips

  • Staff commandConfig.Command (default "balloon") is reserved for the admin and modo groups and allows a free spawn for testing. Rename it or keep it staff-only.
  • Anti-overlapConfig.RentalSpawnClearRadius prevents a second balloon from appearing on top of one already occupying the spawn point.
  • Models — The first model in Config.Model is used for spawning; the others are used to recognize balloons already present.
  • Version checkConfig.VersionCheck compares the local version with the GitHub repo at startup. Set enabled to false to disable it.