[QB/ESX] - m-Lumberjack - Level System - Animations - And more!

:pushpin: Useful links

Preview: Click Here

Buy QBCore: Click Here

Buy ESX: Click Here

Documentation Click Here

:pushpin: About

  • A lumberjack script that allows multiple iterations. The script has a level system (axe evolution) for better rewards. Wood and resin harvesting, processing and sale. The sale is given in tickets and you will have to exchange the tickets for cash.

:pushpin: Features

  • Optimized
  • 0.01ms
  • Level System
  • Various animations and interactions
  • Anti-trigger protection.
  • Webhooks
  • All costumizable

:pushpin: Config

Config = {}

Config.Settings = {
	Core = "qb-core", -- Your core name / folder
	Target = "qb-target", -- Your target name / folder
	Menu = "qb-menu", -- Your qb-menu name / folder
	Notify = "QBCore", -- "QBCore" / "mythic" / okok
	InvLink = "qb-inventory/html/images/", -- Your directory images inventory
	BreakAxe = true, -- Break axe when chopping trees?
	Chance = 10, -- Chance to break the axe | 10 = 10%
	Webhook = "" -- Your webhook for logs
}

Config.Peds = {
	[1] = {type = 4, hash= GetHashKey("a_m_m_farmer_01"), x = -568.03,  y = 5253.20,  z = 69.49, h = 77.16}, -- Starting the job
}

Config.Zones = { 
    ["Trees"] = { -- Zones to chop trees
		vector3(-510.88, 5388.94, 72.52),
		vector3(-505.14, 5391.08, 75.43),
		vector3(-492.71, 5394.9, 77.26),
		vector3(-499.98, 5400.61, 75.24),
		vector3(-557.72, 5418.73, 63.24),
		vector3(-562.07, 5421.19, 62.1),
		vector3(-501.86, 5380.23, 75.88),
		vector3(-501.78, 5377.01, 75.8),
		vector3(-501.51, 5374.06, 75.77)
	},
	["Process"] = { -- Zones to process wood or resin
		vector3(-501.81, 5267.85, 80.61),
		vector3(-500.97, 5269.91, 80.61),
		vector3(-515.02, 5263.43, 80.65),
		vector3(-517.01, 5257.59, 80.65),
		vector3(-508.54, 5257.29, 80.62)
	}
}

Config.Blips = {
	[1] = { Enable = true, Location = vector3(-568.03, 5253.20, 69.49), Sprite = 77, Display = 2, Scale = 0.8, Colour = 31, Name = "Lumberjack",},
	[2] = { Enable = true, Location = vector3(-516.58, 5257.02, 80.65), Sprite = 253, Display = 2, Scale = 0.8, Colour = 31, Name = "Process Wood",},
	[3] = { Enable = true, Location = vector3(-486.15, 5383.42, 78.71), Sprite = 79, Display = 2, Scale = 0.8, Colour = 31, Name = "Trees",},
	[4] = { Enable = true, Location = vector3(1202.3, -1316.73, 34.64), Sprite = 272, Display = 2, Scale = 0.8, Colour = 31, Name = "Warehouse Lumberjack",},
}

Config.Selling = {
	Location = vector3(1202.3, -1316.73, 34.64), -- Location to sell items to tickets
	Payment = {
		type = "cash", -- "cash" or "bank",
		amount = { min = 5, max = 10 } -- Each ticket
	},
}

Config.Rent = {
    Model = "phantom", -- Model of vehicle
	Trailer = "trailerlogs", -- Model of trailer
    Plate = "Lumb", -- Plate
    Location = vector4(-579.88, 5243.57, 70.47, 164.18), -- Location to spawn the vehicle
	LocationTrailer = vector4(-577.47, 5252.38, 70.47, 163.89), -- Location to spawn the trailer
    Delete = vector4(-576.71, 5252.24, 70.47, 338.94), -- Location to return / delete the truck
    Keys = "vehiclekeys:client:SetOwner", -- Your trigger to give keys to player
    Fuel = "LegacyFuel", -- Your trigger fuel | "ps-fuel" , "LegacyFuel"
}

Config.Times = {
	TakeJob = 5000, -- Time of progressbar when you are obtaining the job
	Pickup = 3000, -- Time of progressbar when you are picking up
	Packing = 5000, -- Time of progressbar when you go packing the wood/resin
	Selling = 5000, -- Time of progressbar when you go selling wood/resin
}

Config.Drops = {
	PickupDrop = { -- List of items received when chop tree's
		"wood",
		"resin",
		"leaf",
	},
	pickup = { -- Amount received when chop tree's
		level1 = { min = 1, max = 2 }, -- Axe level 1
		level2 = { min = 2, max = 3 }, -- Axe level 2
		level3 = { min = 3, max = 4 }, -- Axe level 3
		level4 = { min = 4, max = 5 }, -- Axe level 4
		level5 = { min = 5, max = 6 }, -- Axe level 5
	}, 
}

Config.EnableMG = false -- Enable mini-game?
Config.Minigame = { -- ps-ui https://github.com/Project-Sloth/ps-ui
	NumberOfCircles = 2,
	MS = 20,
}

Config.Language = {
	["TakeJob"] = "Taking the job...",
	["Duty"] = "You're on duty! Go chop some trees!",
	["Canceled"] = "Canceled",
	["CollectWood"] = "Chopping...",
	["PickUpSuccess"] = "You collected something!",
	["Failed"] = "Failed",
	["NoAxe"] = "You don't have any axe on your pockets.",
	["SpawnBlocked"] = "Have some vehicle on spawnpoint",
	["Axe"] = "You already have axe with you! Go work!",
	["BrokeAxe"] = "Your axe broke!",
	["ProcessMenu"] = "[♻️] Process Menu",
	["Required"] = "Required:",
	["Processing"] = "Processing...",
	["NoMaterials"] = "You dont have the right materials",
	["UpgradeMenu"] = "[βœ…] Upgrade Menu",
	["Upgrading"] = "Upgrading...",
	["ReturnVehicle"] = "[E] - Return Vehicle",
	["VehicleReturned"] = "Vehicle returned",
	["Waypoint"] = "The place to deliver the material has been marked on your GPS",
	["SellMaterials"] = "[E] - Sell Materials",
	["Selling"] = "Selling...",
	["SucessSelling"] = "All material has been sold! You've received a check to deliver to the lumberjack!",
	["NoTrailer"] = "You dont have any trailer.",
	["NoTickets"] = "You dont have any ticket to sell.",
}


Config.Process = {
    ["wood_packaged"] = { 
        hash = "wood_packaged", 
        label = "Packaged Wood",
        materials = {
            [1] = { item = "wood",	amount = 5 },
        }
    },
    ["resin_packaged"] = { 
        hash = "resin_packaged", 
        label = "Packaged Resin",
        materials = {
            [1] = { item = "resin",	amount = 5 },
        }
    },
}

Config.Upgrades = {
    ["axelevel2"] = { 
        hash = "axelevel2", 
        label = "Axe Level 2",
        materials = {
            [1] = { item = "axelevel1",	amount = 1 },
			[2] = { item = "wood",	amount = 10 },
        }
    },
    ["axelevel3"] = { 
        hash = "axelevel3", 
        label = "Axe Level 3",
        materials = {
            [1] = { item = "axelevel2",	amount = 1 },
			[2] = { item = "wood",	amount = 20 },
        }
    },
	["axelevel4"] = { 
        hash = "axelevel4", 
        label = "Axe Level 4",
        materials = {
            [1] = { item = "axelevel3",	amount = 1 },
			[2] = { item = "wood",	amount = 30 },
        }
    },
	["axelevel5"] = { 
        hash = "axelevel5", 
        label = "Axe Level 5",
        materials = {
            [1] = { item = "axelevel4",	amount = 1 },
			[2] = { item = "wood",	amount = 40 },
        }
    },
}

:pushpin: Dependencies QBCore:

:pushpin: Dependencies ESX:

Code is accessible No (Only config’s)
Subscription-based No
Lines (approximately) ~700
Support Yes
1 Like

Always incredible resources for servers. Bravo!

2 Likes

Amazing script as always! Have Several of the legal job scripts. I had V1 of this, but the amazing updates that have been done, is the icing on the cake! Keep up the good work <3

1 Like