Usage — Lumberjack Job | Quasar Store | Quasar Store
Documentation
Usage
How Lumberjack Job plays and is configured: the foreman's panel, chopping trees, wood drops, axes, the chopping block, crew missions, levels, leaderboards, achievements, rich groves, tournaments and the admin panel.
Everything starts with Big Ray, the foreman at the lumber yard above Paleto Bay, marked on the map as Lumberjack Zone and in the world by a floating blue marker. Press E beside him — or choose Start Working with your target resource — and the camera cuts to him while his panel opens on the right half of the screen.
Section
What it is for
Missions
The contracts, each with its level, the wood it asks for, the pay and the experience. The footer offers Start mission, or Abandon mission while one is running.
Crew
Up to four slots showing each member's face, an invite box and a remove button.
Shop
Buy axes, and sell wood and planks.
Statistics
The leaderboards, and the button to the achievements.
Achievements
Your record per wood, every milestone, and the rewards waiting to be collected.
Guide
The whole job in six steps and four tips, written in the translation file so you can reword it.
The header shows the player's level, the experience bar and their current drop-rate bonus. Anyone can open the panel to browse the shop and the rankings; taking a mission is what needs the job.
The name and greeting on the foreman's card are Config.PedName and Config.PedGreeting; leave either empty to hide it. His model and position are Config.Locations.pedManager, and the marker above him is Config.PedMarker.
Shop → Buy axes. The Rusty Axe is open to everyone; better axes unlock with level.
Take it out
Use the axe from the inventory and it appears in your hand. Use it again to put it away.
Take a contract
Optional, but it is where the money is. Pick a mission, bring a crew if you like, and press Start mission. You change into the work outfit, every standing tree gets a blip, and a tracker shows what is still owed.
Fell trees
Stand at a trunk, face it and press the left mouse button to swing. Each hit shakes the tree; when its health runs out it falls in a burst of splinters.
Collect the wood
Three pieces of wood fly out of a felled tree. Walk within two metres and they are pulled to you; the loot is rolled the moment one is picked up.
Split and sell
Turn logs into planks at the chopping block for about double the price, then sell from the Shop.
The forest is three stands, each a tier in Config.Trees with its own level requirement, its own tree positions and the odds of what grows there.
Stand
Level
Trees
Grows
Where
Tier 1
1
20
Pine
Just north of the yard
Tier 2
3
14
Oak
West of the yard
Tier 3
10
12
Maple
Far north, past the first stand
The trees are spawned for a player once they come within 500 metres of the yard, and the server keeps every tree's type and health, so everyone sees the same forest. A felled tree grows back after Config.RespawnTime (15 seconds) — and in a tier with several types, it can grow back as a different one. Tree blips (Config.TreeBlips) are shown only while a player is on a mission.
lua
Config.Trees = {
[2] = {
levelRequired = 3, -- the level needed to fell here
chances = { tree2 = 100 }, -- what grows back, as weights
coords = {
vec3(-669.876892, 5333.393555, 64.833008),
vec3(-678.145081, 5329.213379, 67.175049),
-- one line per tree
}
},
}
Mountain lions roam these woods, and a worker standing still at a tree is easy prey. Config.RemoveMountainLions clears any that wander within 100 metres of the yard, and touches no other animal.
When a row drops, the first unit is certain and each further one is less likely than the last, so the max is a ceiling rather than an amount — a 3 usually pays 1 or 2. The first row of each tree is the wood itself, at 100%.
The wood is reserved for the player who felled the tree for Config.DropProtectionTime (10 seconds); after that anyone can take it, and uncollected wood disappears after five minutes. Wood that does not fit in the inventory is lost and the player is told their inventory is full — experience and mission progress are paid only for wood that actually arrived.
Damage is taken off the tree's health on every hit. Durability is how many swings the axe survives — each swing costs the tree's durabilitypenalty, and a swing that breaks the axe does not damage the tree. The loot bonus multiplies every drop chance. With several axes in the bag, the best one counts.
lua
Config.AxeLevel = {
["axe_iron"] = {
prop = "prop_dynasty_axe_lvl_2", -- the model in hand
label = 'Iron-Edged Axe',
durability = 300,
price = 300,
levelRequired = 3,
itemAcquisitionBonus = 10, -- percent, on every drop chance
damage = 35
},
}
The swing is the left mouse button, a FiveM key binding each player can change. A swing counts only facing a trunk within reach; anything else is a miss. Config.AxeAttachment sets where the axe sits in the hand, and Config.AxeWithdrawAnimation plays a short animation when it comes out.
Three tree stumps stand by the yard. Splitting a log there turns it into a plank worth about twice as much.
Walk up with the axe in hand
Press E, or choose Use chopping block with your target. The camera frames the stump and a log is set on it.
Swing
Every press of E is one swing and one plank, about a second and a half each. The most valuable log you carry is always split first, and the panel shows planks made, the next log and the queue.
Leave
ESC between swings, or keep going until every log is split and the session closes itself.
If the plank does not fit in the inventory, the log is handed back. Planks count toward nothing but money: splitting cannot be failed, so it is deliberately left out of the achievements.
Missions are orders for wood, taken from the foreman's panel. These ship in Config.Tasks:
Mission
Level
Asks for
Pays
XP
Beginner's Logging
1
50 pine wood
$400
300
Novice Lumberjack
2
50 oak wood
$600
500
Apprentice Woodcutter
3
100 pine wood, 75 oak wood
$1,000
800
Journeyman Lumberjack
4
150 oak wood, 80 maple wood
$1,500
1,200
Master of the Forest
5
200 pine, 150 oak, 100 maple wood
$2,500
2,000
lua
{
taskOrder = 3, -- unique, do not reuse
name = "Apprentice Woodcutter",
img = "lumberjack_img3.png", -- lumberjack_img1, 2 or 3
description = "Venture deeper into the woods...",
recommendedPlayers = { 1, 4 },
levelRequired = 3,
woodAmount = { 100, 75 }, -- read in pairs with woodRequired
woodRequired = { "pine_wood", "oak_wood" },
experience = 800,
money = 1000
},
Only the logs count toward an order — pine_wood, oak_wood, maple_wood — and every crew member's wood counts toward the same order. When it is complete everyone still in the crew is paid, changes back into their own clothes, and the tree blips disappear.
A crew holds up to Config.MaxPartyMembers players, leader included — four by default.
Invite by server ID from an empty slot. The player must be within Config.InviteDistance metres (20; 0 allows any distance), and has 60 seconds to accept. The same player cannot be invited again for 20 seconds.
With qs-party running, the members of your party fill the crew on their own.
Every member must meet the mission's level, and nobody can be in two crews at once. The server checks both when the mission starts.
Crew tiles show each member's real face when they are close by, and their initials otherwise.
Every member gets the full money and experience. A crew of four on a $2,000 mission costs the economy $8,000.
'split'
The money and experience are divided between the members present when it completes, rounded down, never below 1.
What a mission asks for does not grow with the crew, so four players bring in the same haul one would. Leaving — Abandon mission in the panel, disconnecting, or losing the job — takes that player out of the crew and its pay; the mission carries on for whoever is left.
Experience comes from every tree carried away, from missions, from collected achievements and from tournament prizes. There is no level cap: each level needs a little more than the last.
lua
Config.LevelExperience = {
LevelBonusMultiplier = 0.5, -- drop-chance points added per level
BaseExperience = 3500, -- experience from level 1 to 2
GrowthFactor = 1.1, -- each level needs 10% more than the last
}
Reaching
That level costs
Total from level 1
Unlocks
Level 2
3,500
3,500
Novice Lumberjack
Level 3
3,850
7,350
The oak stand, the Iron-Edged Axe, Apprentice Woodcutter
Level 4
4,235
11,585
Journeyman Lumberjack
Level 5
4,658
16,243
Master of the Forest
Level 6
5,124
21,367
The Mythical Axe
Level 10
7,502
47,525
The maple stand
Every level also adds LevelBonusMultiplier points to every drop chance — +5 at level 10 — shown in the panel as the item drop rate bonus.
Buy axes lists every axe with its level, price, durability, damage and loot bonus, and how many you already own. Sell wood lists everything sellable in your inventory — logs, by-products and planks — with its price and what your whole stack is worth. Pick items and amounts, or Sell all.
Prices never move with a market: what the shop lists is what the server pays, read from the config. Money is paid in cash — the money account on ESX, cash on QBCore. The currency symbol is the CURRENCY_TYPE line in the translations, and Config.CurrencyPosition puts it before or after the amount.
Statistics in the panel holds four rankings. Players are ranked by experience, with their earnings beside it, and your own row is highlighted.
Tab
Ranks
All-Time Lumberjacks
Every point of experience ever earned. Never resets.
Top Lumberjacks Season
This month. Resets at 00:00 on the 1st, server time.
Top Lumberjacks Daily
Today. Resets every day at 00:00, server time.
Tournament wins
Tournaments won, in either ranking.
When the daily or season board resets, the top three are paid from Config.LeaderBoardRewards, the panel shows them as the last winners, and it counts down to the next reset. A winner who is offline has the prize kept for them and paid on their next login.
Earnings on the board are mission pay, collected achievement money and tournament prizes. Wood sold at the shop is not counted, so the board measures the job rather than the market.
Achievements are a record of what a lumberjack has actually done, counted on the server. Finishing one does not pay on the spot: a notification says it is earned, and the reward waits at the foreman until the player opens Achievements and presses Claim. The screen has two tabs — Wood and Milestones — and a badge for anything waiting.
Achievement
Goal
Reward
First Cut
Fell your first tree
$100 · 150 XP
Finding the Rhythm
Fell 100 trees
$700 · 900 XP
Deep in the Woods
Fell 500 trees
$3,000 · 4,000 XP
Master of the Forest
Fell 2,500 trees
$12,000 · 16,000 XP
The Full Stand
Fell every type of tree
$2,500 · 3,000 XP
Maple Runner
Fell 100 maples
$6,000 · 7,000 XP
Nothing Left Standing
Fell at least 50 of every type
$15,000 · 18,000 XP
On the Books
Finish 10 missions
$2,000 · 2,500 XP
Company Man
Finish 50 missions
$7,000 · 8,500 XP
Making a Name · Foreman · Legend of the Woods
Reach level 10 · 25 · 50
$800 · $3,000 · $10,000
Everything Else
Earn every other achievement
$25,000 · 30,000 XP
Felled enough Pine · Oak · Maple wood
40 pines · 30 oaks · 20 maples
$400 / 500 XP · $800 / 1,000 XP · $1,500 / 1,800 XP
The wood achievements are generated, one per entry in Config.WoodTypes, with their goals in WoodGoal and their rewards in WoodReward — a new wood type gets its own achievement without touching the list. A mission completed by a crew counts for every member.
Config.Achievements.List = {
{ id = 'felled_100', icon = 'tree', type = 'totalFelled', value = 100, reward = 700, experience = 900 },
{ id = 'maple_100', icon = 'leaf', type = 'wood', wood = 'tree3', value = 100, reward = 6000, experience = 7000 },
{ id = 'quests_10', icon = 'clipboardCheck', type = 'counter', counter = 'quests', value = 10, reward = 2000, experience = 2500 },
}
Type
Measures
totalFelled
Every tree felled and carried away, all types.
woodCount
How many different wood types have been brought back.
wood
Trees of one type, named in wood.
woodEach
At least each of every wood type there is.
level
The job level reached.
counter
A tally named in counter — quests is missions finished.
completion
Every other achievement on the list. Its goal moves on its own when you add rows.
Icons: tree, treeCity, leaf, crown, medal, star, trophy, layerGroup, clipboardCheck and chartLine; any other name shows a trophy. The name and description come from ACHIEVEMENT_<ID> and ACHIEVEMENT_<ID>_DESC in the translations.
Every so often one wood type runs rich across the whole forest. It is not a place but a species: while maple is rich, maple grows back more often, drops more and pays more experience, and everything else carries on as it was. Lumberjacks get a notification and an on-screen clock for as long as it lasts.
Boost
Default
Effect on the rich wood
Spawn
3.0
Three times as likely to be what a felled tree grows back as, at the expense of the other types in that stand.
DropChance
25
Points added to each drop: a 20% item drops 45% of the time.
Quantity
1.6
Multiplies how many can come out of one tree, rounded up.
A grove opens on its own a random 30 to 75 minutes after the last one closed. Maple is weighted low on purpose — a rich maple grove should be the thing people log in for. Admins can open or close one at any time from the admin panel's Events tab.
A tournament is a timed competition across the whole forest — there is no zone to stand in. Lumberjacks are warned five minutes ahead, a live board shows both rankings while it runs, and everyone who felled a tree sees the final scoreboard.
Ranking
Won by
Prizes, 1st · 2nd · 3rd
Richest haul
Points: pine 1, oak 3, maple 8 — rewards walking further for less.
$6,000 + 4,000 XP · $3,000 + 2,000 XP · $1,200 + 900 XP
Biggest haul
Trees felled, every type the same — rewards speed.
$4,000 + 2,500 XP · $2,000 + 1,200 XP · $800 + 600 XP
One player can win both and is paid for each. Money goes to winners who are online when it ends. Every win is recorded for the Tournament wins leaderboard.
lua
Config.Tournaments = {
Enabled = true,
Duration = 20, -- minutes
AnnounceBefore = 5, -- minutes of warning, 0 for none
LumberjacksOnly = true,
ShowResults = true, -- the scoreboard for entrants
Schedule = { { at = '14:00' }, { at = '19:00' }, { at = '22:30' } }, -- server time
Random = { Enabled = true, CheckEvery = 60, Chance = 25 },
Points = { tree1 = 1, tree2 = 3, tree3 = 8, default = 3 },
MinimumEntries = 1, -- entrants needed before anything is paid
}
Besides the schedule, every CheckEvery minutes there is a Chance% roll for an unscheduled one. Flatten the points and the two rankings become the same race. Prizes holds both ladders; remove a row and that place pays nothing.
/lumberjackadmin opens an in-game editor for every setting in config.lua, grouped into sections, each setting with its help line. A search box finds any setting across all of them, and anything changed from the file is marked.
Section
What it holds
Events
Start or stop a rich grove or a tournament right now, and their settings.
Job & NPC
Who may work, the foreman's name, greeting and marker, the outfit switch, player names and the language.
The forest
Tiers and tree positions, blips, locations, respawn, drop protection and mountain lions.
Wood
What each stand drops and what it pays.
Axes
The shop catalogue, durability, the attachment and axe removal.
Chopping block
Where the stumps are and what they make.
Missions & crew
The task list, crew size, invite distance and how a crew is paid.
Levels & records
The experience curve, achievements and the leaderboard.
Setup
Target, inventory, keys, notifications, webhooks, the admin panel itself and debug.
Other
Anything that belongs to none of the above.
Coordinates are never typed: Use my position fills in where you stand (with your heading where one is needed), Go there teleports you to check a spot, and Waypoint marks it on the map. Lists — trees, tasks, achievements — have add and remove buttons, and settings with a fixed set of answers offer a choice instead of a text box.
Saves go to the database, never to config.lua, and are laid over the file at start-up. Back to the file's value deletes one saved setting and Reset everything deletes them all. The detected framework, the translation strings and the outfit in clothing.lua are not edited from the panel. Each save can be logged to Discord with who made it — see Integrations.