Skip to content

Retro Goldpanning

All primary settings are located in:

config.lua

The file is already commented and can be edited without modifying the protected core.

Config.Locale = 'en'
Config.Debug = false

Config.Locale selects the JSON file inside locales/.

Config.Debug enables additional debugging information and the /gptune tuning command.

Config.Framework = 'auto'

Available values:

auto
esx
qb
qbx
custom

Use custom together with editable/server.lua.

Config.Inventory = 'auto'

Available values:

auto
ox
qb
qs
codem
tgiann
core
framework
custom

qb also covers compatible qb/ps/lj inventory setups.

framework uses the frameworkโ€™s own item functions.

Config.Storage = 'json'

Available values:

json
mysql

Default MySQL table names are defined in:

Config.MySQLTables
Config.Items = {
pan = 'gold_pan',
rock = 'river_rock',
}

Highbanker-related item names are configured separately under:

Config.Rig.items

The work light item is configured under:

Config.Light.item

Finds are configured in:

Config.Loot.finds

Example:

{
item = 'gold_nugget',
prop = 'prop_gm_gold_nugget',
chance = 0.06,
rolls = 3,
pool = 150
}

Inventory item rewarded to the player.

Model displayed inside the pan or highbanker mat.

Chance per roll from 0.0 to 1.0.

Number of independent attempts made for this find.

Default amount available in a newly created gold zone during one depletion period.

0 means unlimited.

Global pan settings:

Config.Loot.rocks
Config.Loot.maxFinds

By default, rocks washed out of the pan are visual only.

To give players a rock item:

Config.RockReward.enabled = true

Configure:

chance
min
max
Config.Crowd = {
enabled = true,
freePlayers = 2,
penaltyPerPlayer = 0.15,
minFactor = 0.35,
}

The first freePlayers active panners receive the full chance.

Each additional active player lowers the zone chance until minFactor is reached.

Config.Depletion = {
resetHours = 24,
blockDip = false,
}

resetHours controls when zone pools reset.

blockDip = true prevents dipping when every configured pool is empty.

With false, players may continue washing but only receive non-depleted results such as rocks.

Config.ZoneDefaults = {
multiplier = 1.0,
heightAbove = 6.0,
depthBelow = 4.0,
}

These values are applied when a new zone is created.

Config.Durability.enabled = false

Durability is supported by inventories with item metadata support such as ox, qb/ps/lj and qs.

Important values:

max
perWash
key

key = 'auto' automatically uses the expected metadata key for supported inventories.

Config.Water = {
required = true,
forward = 1.1,
up = 1.0,
down = 3.0,
}

When enabled, a water surface must be detected in front of the player before panning can start.

Config.Cooldown = 2
Config.IdleTimeout = 120

Config.Cooldown is the minimum delay between dips.

The cooldown is server-side and is not reset by closing and reopening a panning session.

Config.IdleTimeout closes inactive panning sessions after the configured number of seconds.

Set it to 0 to disable timeout.

Config.Shake

Important settings:

  • sensitivity - mouse movement sensitivity
  • smoothing - how quickly the pan follows the cursor
  • maxOffset - maximum pan movement
  • maxTilt - maximum tilt angle
  • spring - strength returning the pan to center
  • damping - movement damping
  • distance - total movement required to wash the rocks
  • minDuration - minimum validated wash time
  • syncRate - movement updates sent to nearby players
Config.Keys

Default controls:

ActionKey
Dip / interactE
Shake / pickLeft Mouse Button
CancelX
CameraV

FiveM control IDs can be changed directly in the config.

Config.HintUI = 'original'

Available modes:

original
ox
custom

For a custom implementation, edit:

editable/client.lua
Config.ProgressUI = 'original'

Available modes:

original
ox
qb
custom

Custom progress behavior can be added in:

editable/progress.lua
Config.Interaction = 'dui'

Available modes:

  • dui
  • target

For target mode:

Config.Target = 'auto'

Available target options:

auto
ox
qb
custom

Built-in floating prompt values are under:

Config.Dui
Config.Camera

Modes:

firstperson
scripted

firstperson uses GTAโ€™s first-person view looking down toward the pan.

scripted uses the configured camera offset and field of view.

When debug mode is enabled, /gptune cam can be used for live camera adjustment.

Animation configuration:

Config.Anim

Pan and content positioning:

Config.Props

This controls:

  • Pan model
  • Nugget model
  • Rock model
  • Dirt model
  • Bone
  • Position and rotation
  • Hand fitting
  • Arm IK
  • Dip position and depth

With:

Config.Debug = true

use:

/gptune

to adjust pan placement live.

Water splash:

Config.Effects

Nearby player synchronization:

Config.Sync.distance

All highbanker settings are inside:

Config.Rig
Config.Rig.items

Default:

gold_highbanker
gold_pump
gold_bucket
Config.Rig.models

Defines the machine, water effect, pump, suction and bucket models.

Config.Rig.access = 'owner'

Available values:

  • owner - only the owner can operate the setup
  • everyone - everyone can use it, but only the owner can pick it up

Important values:

maxPerPlayer
zoneMargin
minSpacing
maxSlope
maxWaterDepth
placeDistance
hoseLength
pumpSuctionLength
renderDistance
interactDistance
hopperCapacity
processTime
maxGoldOnMat

The machine pauses when the collection mat reaches maxGoldOnMat.

Config.Rig.loot

Highbankers use the same configured finds, zone multipliers, crowd factor and depletion pools as manual panning.

rollMultiplier increases the number of find rolls per processed bucket.

Config.Rig.stash

Configure:

enabled
slots
weight

Each machine uses a unique stash ID:

gp_rig_<rig id>

Fuel is disabled by default.

Config.Rig.fuel.enabled = false

When enabled, configure:

item
secondsPerItem
max
Config.Rig.bucket

Controls:

  • Fill time
  • Pour time
  • Carry animation
  • Fill animation
  • Bucket prop position
  • Pour movement and grip points
Config.Rig.hose

Controls the machine-to-pump hose, including:

  • Coupling model
  • Rope type
  • Slack
  • Attachment points
  • Hand position
  • Custom hose texture
Config.Light

Important settings:

item
model
maxPerPlayer
minSpacing
zoneOnly
zoneMargin

Placement distance, slope, water depth and render distance use the relevant highbanker placement configuration.

Buyer and economy settings are under:

Config.Sell
Config.Sell.items

Each item can define:

item
fixed
min
max
limit
xp
Config.Sell.price.mode = 'market'

Available modes:

  • fixed
  • random
  • market

market creates a price of the day for each buyer and item.

Configure refresh timing with:

Config.Sell.price.marketHours
Config.Sell.payment.type = 'cash'

Supported types:

cash
bank
item
Config.Sell.limit

Scopes:

  • character
  • character_buyer
  • buyer

Sale limits use a rolling time window and persist across restarts.

Add or remove buyer locations in:

Config.Sell.locations

Example:

{
label = 'Hank the Assayer',
coords = vector4(-1194.97, 4408.45, 6.73, 221.19)
}

A buyer may also override individual item prices.

Config.Sell.orders

Configure:

  • Enabled state
  • Maximum active orders
  • Refresh period
  • Available order list

Every order requires a unique id.

Orders can define required items, reward money, XP and minimum prospector level.

Config.Sell.shop

Configure:

  • Payment method
  • Available equipment
  • Price
  • Required level
Config.Level

Selling items and completing orders grants XP.

Example:

{ xp = 400, bonus = 0.10 }

This level begins at 400 total XP and gives a 10% selling price bonus.

shopLevel controls when the buyer gear shop becomes available.

Config.Admin

Admin access is granted when any enabled permission method passes.

Supported methods:

  • Framework groups
  • ACE
  • Discord IDs
  • Custom server check

Default commands:

/goldzones
/goldlevel
/goldorders

Optional gold zone blips:

Config.Blips

Buyer blips are configured separately under:

Config.Sell.blip