Skip to content

Retro Goldpanning

Check the server console when the resource starts.

The resource prints the detected framework and inventory. If detection is incorrect, set them manually:

Config.Framework = 'qb'
Config.Inventory = 'ox'

Also make sure the Gold Pan is registered as a usable item.


The player must face a valid water surface within the configured probe distance.

Check:

Config.Water

You can disable the requirement:

Config.Water.required = false

The player must be inside an enabled gold zone.

Open:

/goldzones

Enable Show Zones and verify:

  • The polygon covers the shoreline where the player stands
  • The zone is enabled
  • The zone height and depth include the player

The zone should cover the ground where players stand, not only the water.


Run:

/goldzones

Create a new zone and select Draw.

Controls:

KeyAction
EAdd point
GRemove last point
Mouse WheelAdjust top height
Shift + Mouse WheelAdjust bottom depth
EnterFinish
XCancel

Configure the zone name, chance multiplier and find pools before saving.


The zone multiplier changes the configured chance of every find.

For example, a zone multiplier of:

2.0

doubles the base find chances.


Each find has its own pool.

If only the gold pool is empty, other finds can still be rolled.

When all limited pools are depleted:

Config.Depletion.blockDip = false

allows players to continue dipping, but depleted finds are no longer awarded.

With:

Config.Depletion.blockDip = true

new dips are blocked when all configured pools are empty.


No.

Zone depletion statistics are persisted.

The reset interval is controlled by:

Config.Depletion.resetHours

Admins can also manually refill a zone from the zone panel.


The pan is not positioned correctly in the playerโ€™s hands

Section titled โ€œThe pan is not positioned correctly in the playerโ€™s handsโ€

Enable:

Config.Debug = true

Start panning and run:

/gptune

Adjust the pan live.

Run the command again to print the final values to the F8 console and copy them into config.lua.


Enable debug mode and use:

/gptune cam

The available controls allow you to tune the configured camera values live.


Check:

Config.Rig

Placement can fail because of:

  • No valid gold zone nearby
  • Too far outside zoneMargin
  • Too close to another highbanker
  • Terrain too steep
  • Water too deep
  • Placement is too far from the player
  • Per-player highbanker limit reached
  • A custom Editable.CanPlaceServer restriction

The placement preview displays whether the current location is valid.


The pump must meet the configured placement rules.

Important settings:

Config.Rig.hoseLength
Config.Rig.pumpSuctionLength
Config.Rig.maxWaterDepth
Config.Rig.maxSlope

The pump discharge side must be close enough to the machine and the suction side must be able to reach water.


Make sure:

  • You started the hose interaction from the highbanker
  • The pump is within Config.Rig.hoseLength
  • You are attaching it to the correct pump
  • You did not walk beyond the allowed hose distance

If the player moves too far while carrying the hose, it returns to the machine.


Use Check Status on the machine.

Typical reasons include:

  • Pump is not connected
  • Pump is off
  • Machine is off
  • Fuel is empty when fuel mode is enabled
  • Hopper is empty
  • Collection mat reached maxGoldOnMat
  • Required setup is incomplete

Only the owner can pick up placed equipment.

Before picking up the machine:

  • Pick up or disconnect the pump as required
  • Disconnect the hose
  • Collect finds from the mat
  • Empty the stash when your inventory integration requires it

Buckets still waiting in the hopper are lost when the machine is removed.


Native stash support depends on the configured inventory.

For a custom inventory or ESX default inventory, implement:

Editable.Inventory.OpenStash

inside:

editable/server.lua

Optionally implement:

Editable.Inventory.StashCount

to prevent pickup while items remain in the stash.


Check:

Config.Light

By default the light must be inside a gold zone or within the configured zone margin.

Placement rules also use relevant highbanker placement restrictions.


This is intended.

The work light is designed for nighttime use and its GTA spotlight becomes active at night.

Turn the light toward the area you want to illuminate before placing it.


If using:

Config.Interaction = 'target'

verify:

Config.Target

and make sure your target resource starts before rs_goldpanning.

Supported built-in target integrations are ox_target and qb-target.

For another resource, use the custom target bridge.


For the built-in system, use:

Config.Interaction = 'dui'

Stand close enough to the relevant interaction point.

Prompt distance is controlled by:

Config.Dui.distance

Check:

Config.Sell.price.mode

Modes:

  • fixed - always uses fixed
  • random - random price on every sale
  • market - each buyer has a market price that refreshes periodically

Market refresh timing is controlled by:

Config.Sell.price.marketHours

The configured sale limit may have been reached.

Check:

Config.Sell.items
Config.Sell.limit

Each item can have its own limit.

A limit of:

0

means unlimited.


This is intended.

Orders are persisted and do not reroll simply because the server restarts.

They refresh according to:

Config.Sell.orders.refreshHours

An admin can reset a playerโ€™s orders with:

/goldorders <player id>

Use:

/goldlevel <player id> <level>

The playerโ€™s XP is moved to the beginning of the specified level.


Check:

Config.Admin

The resource supports:

  • Framework group
  • ACE
  • Discord ID
  • Custom permission check

Admin access is granted if any enabled method succeeds.


Set:

Config.Admin.ace = 'rs_goldpanning.admin'

Then add to server.cfg:

add_ace group.admin rs_goldpanning.admin allow

Enable:

Config.Admin.discord = true

Then add IDs to:

Editable.AdminDiscordIds

inside:

editable/server.lua

Yes.

For immediate client-side feedback, use:

Editable.CanStart()

For the actual secure server-side restriction, also use:

Editable.CanStartServer(source)

Important restrictions should always be validated server-side.


Yes.

Use:

Editable.CanPlaceServer(source, kind, coords)

inside editable/server.lua.


Yes.

Edit:

Editable.Notify

inside:

editable/client.lua

Yes.

Set:

Config.ProgressUI = 'custom'

and implement the custom backend in:

editable/progress.lua

Yes.

Copy:

locales/en.json

rename it, translate the values and set:

Config.Locale = 'your_locale'

Do not change the JSON keys.


The resource includes a custom:

stream/rope.ytd

to make GTA rope look like the highbanker hose while used by the script.

This can affect other nearby systems that also use GTA rope textures.

If you prefer the default rope appearance, remove the custom rope texture. The highbanker hose will then use the standard dark rope appearance.


Yes.

Set:

Config.Storage = 'mysql'

Make sure oxmysql is running before the resource.

The required tables are created automatically.


No.

ox_lib is optional.

The resource includes fallback notifications and built-in UI systems. ox_lib can be used when you want its notification, TextUI or progress features.