Stations
Stations
All 27 GTA gas stations ship configured in Config.Stations. A station owns every pump prop inside its radius, sells the fuels you list, and can be bought by a player or left as a public forecourt.
What a station entry looks like
{
id = 'strawberry', label = 'BUPA Strawberry', district = 'Strawberry',
coords = vec3(264.95, -1259.45, 29.14), radius = 30.0,
manage = vec3(289.5, -1267.0, 28.44),
fuels = { 'gasoline', 'diesel', 'premium', 'electric' },
purchasable = true, price = 480000, storage = 25000,
charger = vec4(292.85, -1268.03, 28.44, 72.9),
},| Field | Meaning |
|---|---|
id |
The database key. Changing it on a live server orphans that station's save row |
coords / radius |
The forecourt. Any pump prop inside it belongs to this station |
manage |
Where the $ marker sits — usually the shop door or the kiosk. false removes it |
fuels |
Which Config.FuelTypes this station sells |
purchasable |
false means nobody can ever own it |
price |
What a player pays to buy it. Shipped prices run 320,000 to 480,000 by district |
storage |
Litres of stock it holds per fuel before a delivery run is needed |
charger |
vec4 for the EV charge point. Optional — leave it out and the station has no charger |
blip |
false hides this station's blip, or a table of sprite / colour / scale to override the defaults |
Purchasable and public
A purchasable station starts unowned. Anyone who can afford the price and walks to the $ marker gets the offer, and on purchase the tanks are filled to Config.Deliveries.StarterStock of capacity — half, by default.
A public station (purchasable = false) can never be owned. Its tanks are held permanently full, it skips stock and deliveries entirely, and the money spent there goes nowhere. That makes it the right choice for a starter-town pump you never want to run dry. The shipped senoraeast station is set up this way, with its blip hidden too:
{
id = 'senoraeast', label = 'BUPA Grand Senora East', district = 'Grand Senora East',
coords = vec3(2539.33, 2594.61, 37.94), radius = 30.0,
manage = false,
fuels = { 'gasoline', 'diesel', 'premium' , 'electric' },
charger = vec4(2542.83, 2594.61, 37.94, 90),
purchasable = false, price = 320000, storage = 25000,
blip = false,
},An admin can also flip a station between purchasable and public at runtime from /fueladmin. That override is stored per station and survives restarts, so it wins over what the config says.
The $ marker
Every station with a manage coordinate gets a floating dollar sign. Walk into it and press [E]:
- Owner or staff — the management dashboard opens.
- Anyone else, station purchasable and unowned — the purchase offer opens.
- Anyone else, station owned — nothing happens.
Owners and staff can also open the dashboard with /station while standing on the forecourt.
Config.ManageMarker = {
Enabled = true,
Type = 29, -- 29 is the dollar sign
Size = vec3(0.8, 0.8, 0.8),
Colour = { 63, 208, 127, 220 },
Height = 1.0,
Spin = true,
Bob = true,
DrawDistance = 18.0,
Distance = 1.6,
}Pumps
A pump is any prop from Config.PumpProps standing inside a station's radius — no per-pump coordinates to place.
Config.PumpProps = {
'prop_gas_pump_1a', 'prop_gas_pump_1b', 'prop_gas_pump_1c', 'prop_gas_pump_1d',
'prop_gas_pump_old2', 'prop_gas_pump_old3', 'prop_vintage_pump',
'prop_gas_pump_1a_lm', 'prop_gas_pump_1b_lm',
}
Config.NozzleProp = 'prop_cs_fuel_nozle'If you have a custom station MLO, add its pump model to that list and the station picks it up.
Blips
Config.Blip = {
Enabled = true,
ShowUnowned = true,
ShortRange = false,
Sprite = 361,
Colour = 47,
Scale = 0.8,
}Enabled = false removes every station blip at once. To hide one station, put blip = false on that station's entry; to restyle one, give it blip = { sprite = 361, colour = 1, scale = 0.9 }.
Adding a station
Copy an existing entry, give it a new id, and set coords on the forecourt with a radius that covers the pumps. Set manage somewhere a player can stand. Turn Config.Debug on while you do it — it draws the zones so you can see what the station thinks it owns.