Skip to content

Usage

How it works

  1. Head to the Lumber Center NPC and rent a truck ($100).
  2. Drive to a tree zone marked on the map.
  3. Equip your battle axe or chainsaw and chop down trees. Each downed tree leaves a log on the ground.
  4. Pick up the log — stand directly over the log and open your inventory (the log is not an ox_target interaction). Your character will carry it with an animation. Place it in your truck bed (up to 5 logs per trip).
  5. Drive to the Sawmill NPC and deposit your logs. Each log takes ~12 seconds to process into planks.
  6. Sell the planks for cash at the Lumber Center NPC.

Lumber Center NPC

The Lumber Center NPC offers the following options:

  • Sell Materials - open the sell shop for planks
  • Rent Vehicle - rent a Bison truck for $100
  • Return Vehicle - return the truck within 10 m of the Lumber Center for a full $100 refund
  • Toggle Zone Blips - show or hide tree zone blips on the map

Tools

ToolDamage/hitDebounceDurability drain/hitNotes
Battle Axe10None1.0Native GTA weapon - 10 hits per tree
Chainsaw1300 ms0.0025Custom inventory item - faster overall

Trees have 100 HP and regenerate after a 5-minute cooldown by default. Tools lose durability with each hit (50% chance to skip drain) and break at 0 durability.

Tree types

Item keyLogPlankPlank sell priceNote
oakoak_logoak_plank$5
cedarcedar_logcedar_plank$7
pinepine_logpine_plank$7Zone disabled by default
oliveolive_logolive_plank$7
forest_treeforest_tree_logforest_tree_plank$7

Reputation & progression

Reputation is earned by chopping trees (50 XP per tree). Higher ranks unlock faster gathering speed and a chance to receive double logs when a tree falls. Reputation is shared with all group members.

RankXP requiredGathering speedDouble drop chance
11,0000%5%
22,0004%5%
33,0004%10%
44,0008%10%
55,0008%15%
66,00012%15%
77,00012%20%
88,00016%20%
99,00016%25%
1010,00020%25%

At Rank 10 players have +20% gathering speed and 25% double-drop chance.

Feature toggles

config/sh_config.lua exposes Config.Features so server owners can replace built-in systems with their own scripts. When disabled, the relevant NPC menu option is removed and the server event bails out.

lua
Config.Features = {
    sellShop = true, -- Lumber Center sell shop (planks)
    rentals  = true, -- Lumber Center vehicle rent/return
}
FlagWhen false
sellShopThe "Open Selling Shop" option is hidden and prp-lumberjack:openSellStash is ignored server-side.
rentalsThe "Rent Vehicle" / "Return Vehicle" options are hidden and both server events are ignored.

When you disable a feature, the corresponding exports['prp-lumberjack']:* wrappers still fire the underlying server event but the event will bail — that's intentional so bypass attempts fail closed.

NPC render distance & vehicle return

Two distance values in config/sh_config.lua:

VariableDefaultPurpose
Config.PedRenderDistance75.0How far away the Lumber Center and Sawmill NPCs stream in. Higher values make the peds visible from further away.
Config.VehicleReturnDistance10.0Max distance (metres) from the rental spawn point at which a rental truck can be returned for a refund.

Blips configuration

Blip sprite, color and scale are exposed in config/sh_config.lua under Config.Blips. Labels live in locales/*.json (BLIP_LABEL, SAWMILL_LABEL, ZONE_BLIP_LABEL) for easy translation.

lua
Config.Blips = {
    center  = { enabled = true, sprite = 85,  color = 2, scale = 1.0 },
    sawmill = { enabled = true, sprite = 365, color = 2, scale = 0.8 },
    zone    = { sprite = 836, color = 2, scale = 1.0, radiusColor = 2 },
}
FieldUsed byPurpose
enabledcenter, sawmillSet to false to skip creating the static blip (useful when replacing the default NPCs with your own script)
sprite, color, scaleallStandard GTA blip properties
radiusColorzoneColor of the translucent radius blip around each tree zone

Exports

For scripts that replace the default ped + ox_target UI, prp-lumberjack exposes client-side exports:

ExportReturnsDescription
ToggleZoneBlips()booleanToggle tree zone blips. Returns the new visibility state.
SetZoneBlips(show)booleanExplicitly show (true) or hide (false) zone blips. Returns the visibility state.
AreZoneBlipsVisible()booleanCurrent zone blip visibility.
OpenSellShop()Open the plank sell shop (server event).
RentVehicle()Rent a Bison truck.
ReturnVehicle()Return the rental truck for a refund.
OpenProgressMenu()Open the reputation/progress context menu.
OpenSawmillMenu()Open the sawmill log-processing menu.

Example:

lua
-- From a custom job selector or qb-menu replacement
exports['prp-lumberjack']:SetZoneBlips(true)
exports['prp-lumberjack']:RentVehicle()
exports['prp-lumberjack']:OpenSellShop()

Disabling the default NPCs

Set Config.Blips.center.enabled = false and Config.Blips.sawmill.enabled = false in config/sh_config.lua, then remove the bridge ped interactions by forking client/main.lua — the exports above let you drive every action from your own UI.