Scripts add your own modules, chat commands and HUD elements in Luau. They reload as soon as you save them.
Where scripts live
Scripts are .luau files in %APPDATA%\Nickel\scripts. In the Scripting screen, Open folder opens it and Import copies a file into it. Each file runs in its own sandbox, reloads about a second after you save it and stops when the file is removed.
*.d.luaufiles are type definitions and never run.lib/<name>.luaufiles are libraries, loaded withrequire("<name>").
Your first script
--!strict
local mod = nickel.module({
name = "Hello",
category = "Utility",
description = "Greets you when enabled",
})
local greeting = mod:text("Greeting", "Hello from my first script")
mod:onEnable(function()
chat.print(greeting:get())
client.notify("Hello", "Script is running")
end)
A script module appears in its category like a built-in one: it has a switch, a keybind and its settings, and it is saved in your configs.
Built-in modules
nickel.modules.get("Aim Assist") returns a built-in module: a script can read and change its settings, and turn it on or off.
Limits
50 ms per call (1 s while loading), 64 MB of memory and 256 timers per script. Five errors within ten seconds stop the script until it is saved again. Scripts have no file or network access.