If you want to use your own server scripts, the original documentation points to these integration locations:
- Inventory:
modules/inventory/server.lua - Target:
modules/target/client.lua - Notify, progressbar, skillbar, and helper functions:
modules/utils/client.lua - Server-side helper functions:
modules/utils/server.lua - Export hooks:
modules/exports/client.luaandmodules/exports/server.lua
Inventory Integration#
File: modules/inventory/server.lua
Use this file if your server does not match the default inventory logic.
This usually means adapting:
- Give item
- Remove item
- Check item
- Count item
Basic example:
function Inventory.giveItem(source, itemName, count)
return exports['my_inventory']:AddItem(source, itemName, count)
end
Target Integration#
File: modules/target/client.lua
If you use a custom target system, adapt your zone and interaction logic here.
This usually includes:
- Adding zones
- Removing zones
- Adding entity interactions
- Removing entity interactions
Notify, Progressbar, Skillbar#
File: modules/utils/client.lua
Most custom integrations happen here.
Common changes:
- Replace notify logic
- Replace progressbar logic
- Replace skillcheck logic
- Replace any helper functions used during farming task flow
Notify example:
function Utils.notify(title, type, duration, description)
exports['my_notify']:Send({
title = title,
description = description,
type = type,
duration = duration
})
end
Progressbar example:
function Utils.progressBar(data)
return exports['my_progressbar']:Progress(data)
end
Server-Side Helpers#
File: modules/utils/server.lua
Use this file if your server needs custom server-side helper behavior.
Common examples:
- Reward helper logic
- Server-side notifications
- Shared farming task utilities
Export Hooks#
Files:
modules/exports/client.luamodules/exports/server.lua
Use these if you want to attach custom logic before or after the farming flow without rewriting the whole resource.
Common examples:
- Extra validation before starting a task
- Custom logging
- Reward extensions
- Extra cleanup or analytics after task completion
Safest Way To Integrate#
Use this order:
- Read the existing function and keep the same input/output behavior.
- Replace only the integration-specific lines with your own export or event.
- Do not change return types unless you know the script expects it.
- Test the full farming flow in game.