Browse docs

Editing Configs

Learn how to safely edit Lua config files without breaking your FiveM server.

Most Sky-Systems customization happens in config/*.lua files. These files are Lua files, so small syntax mistakes can stop the resource from starting.

Before Editing

Make a backup before every larger change.

Good examples:

config.lua
config.backup-before-garage-change.lua

Only change one topic at a time. If you edit jobs, items, webhooks, permissions, and garage vehicles all at once, it becomes much harder to find the mistake.

Lua Config Basics

  • Text uses quotes: Config.Locale = "en"
  • On/off values use true or false
  • Numbers usually do not use quotes: Config.Price = 500
  • Lists and grouped settings use {} and commas
  • Backticks are often used for FiveM hashes: vehicle = `ambulance`

Use Real Resource Names

When a config asks for a resource name, use the folder name from your resources folder.

Example:

Config.Inventory = "ox_inventory"

Do not guess names like ox or inventory unless that is the real resource folder name.

Change Values, Not Keys

In many configs, the left side is a key used by the script.

Config.CommandPermissions = {
    revive = {
        "group.admin",
    },
}

In this example, revive is not just display text. Renaming it can break the permission for that command.

Restart After Changes

After editing a config, restart the resource:

restart sky_ambulancejob

Some changes require a full server restart, especially SQL changes, framework bridge changes, or dependency changes.

Read The Console

If the resource does not start, check the server console. Lua syntax errors usually show a file and line number:

SCRIPT ERROR: @sky_ambulancejob/config/config.lua:120: '}' expected near 'name'

That means the mistake is around line 120 in config/config.lua.

Follow-Up Errors After A Broken Config

Sometimes the console shows many errors that look unrelated:

SCRIPT ERROR: @sky_mechanicjob/config/locales/de.lua:1024: attempt to index a nil value (global 'Locales')
SCRIPT ERROR: @sky_mechanicjob/config/locales/en.lua:1033: attempt to index a nil value (global 'Locales')
SCRIPT ERROR: bad argument #1 to 'for iterator' (table expected, got nil)
SCRIPT ERROR: attempt to index a nil value (field 'ToggleFeatures')

This often means the main config did not load correctly. A missing comma, broken bracket, wrong quote, or deleted config section can stop config.lua before it creates required tables like Config.ToggleFeatures or Locales.

When you see errors like this, do not only fix the last error in the console. Scroll up and find the first error from that resource after restart. The first error usually points to the real config mistake.

Common causes are missing commas, missing }, broken quotes, deleted config sections, or copying only part of a new config after an update.

Quick check:

1. Restart the resource.
2. Scroll to the first error for that resource.
3. Open the file and line shown in the first error.
4. Compare the edited config with a fresh original config.
5. Fix the syntax or restore the missing section.