Jaksam Jobs Creator Quests
This guide explains how to connect Battle Pass V3 quests with item collection using ox_inventory and Jaksam's Jobs Creator.
Create a Quest in the Configurator
First open the Configurator and create a new quest under the custom
sort.
- In the configurator, choose a unique internal name for your quest (in this case,
farm_apples
). It will be the quest identifier that will be referenced in the server code. - Set a label that will appear in the UI (Farm 10 Apples), and write a brief description to explain the goal.
- Enable progress tracking by checking the Use Progress option and set the Max Progress. In this example the player needs to complete the action (farming apples) 10 times to finish the quest
- You can also set how much XP the player receives upon completion—in this example, 1000 XP.
- Dont forget to save your changes by pressing the "Apply" button.
Map Items to Quests
- In your Jobs Creator integration file, define a mapping for items and their quest IDs:
integrations/sv_integrations.lua
-- Mapping Item -> Quest ID
local BP_ITEM_MAP = {
apple = { questId = 'farm_apples', perItem = 1 },
weedseed = { questId = 'farm_weedseed', perItem = 1 },
-- add more items as needed
}
local function addQuestProgressForItem(playerId, itemName, qty)
local cfg = BP_ITEM_MAP[itemName]
if not cfg then return end
qty = tonumber(qty) or 1
local amount = (cfg.perItem or 1) * qty
exports.sky_battlepass:AddPlayerQuestProgress(playerId, cfg.questId, amount)
end
Hook Into Jobs Creator Events
- Add event listeners for Jobs Creator to track item collection and add progress:
integrations/sv_integrations.lua
-- Harvest (e.g., picking apples)
RegisterNetEvent("jobs_creator:harvest:harvestedItem", function(playerId, markerId, itemName, itemType, itemQuantity)
if itemType == 'item' then
addQuestProgressForItem(playerId, itemName, itemQuantity)
end
end)
-- Processing (e.g., processing items into something else)
RegisterNetEvent("jobs_creator:process:processedItem", function(playerId, markerId, addedItemName, addedItemQuantity, removedItemName, removedItemQuantity)
if addedItemName then
addQuestProgressForItem(playerId, addedItemName, addedItemQuantity)
end
end)
-- Crafting Table
RegisterNetEvent("jobs_creator:crafting_table:craftedItem", function(playerId, markerId, itemName, itemQuantity)
addQuestProgressForItem(playerId, itemName, itemQuantity)
end)
Credits
Special thanks to @.pureconfusion on Discord for the valuable help with this page. 🙏
Support
Need help? Our support team is always ready to assist
Join Discord