Skip to Content
ScriptingLua Basics

Lua Basics

Lua is the most common scripting language for FiveM resources. Each resource runs in its own client or server context. Declare values locally, yield inside long-running threads, and validate network-event input on the server before changing authoritative player or world state.

Variables

local name = "John" local age = 25 local isActive = true

Functions

function greet(name) return "Hello, " .. name end local message = greet("World")

Tables

local player = { name = "John", age = 25, items = {"sword", "shield"} } print(player.name) -- "John" print(player.items[1]) -- "sword"

FiveM Functions

-- Get player local playerId = GetPlayerPed(-1) -- Get player coords local coords = GetEntityCoords(playerId) -- Trigger event TriggerEvent('myevent', data)

Common Patterns

Debouncing

local lastTime = 0 function debouncedAction() local currentTime = GetGameTimer() if currentTime - lastTime < 1000 then return end lastTime = currentTime -- Do action end

Threading

CreateThread(function() while true do Wait(1000) -- Do something every second end end)