Skip to content

Script Integrations

How to connect your own inventory, target, notify, progressbar, and other scripts

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.lua and modules/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:

lua
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:

lua
function Utils.notify(title, type, duration, description)
    exports['my_notify']:Send({
        title = title,
        description = description,
        type = type,
        duration = duration
    })
end

Progressbar example:

lua
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.lua
  • modules/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:

  1. Read the existing function and keep the same input/output behavior.
  2. Replace only the integration-specific lines with your own export or event.
  3. Do not change return types unless you know the script expects it.
  4. Test the full farming flow in game.