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.

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.