K€T4M1NDOCS
INTERNAL / DEVELOPER REFERENCE
Lua development

Lua and C++

Find the actual ownership of the editor, freecam and noclip.

An API is not an implementation language

There are no standalone noclip.lua or freecam.lua files in this implementation. Lua bindings enter C++ callbacks; some camera code also constructs Lua text inside C++.

EditorLua source text
→
Local Lua 5.4scripting/scripts.cpp
→
C++ bindingsstate and callbacks
→
Frame / cameraexisting backend

Implementation map

AreaSourceOwnership
Editor and runtimescripting/scripts.cppAPI registration, execution limits, output and editor UI. FiveM globals are not automatically available.
Noclipscripting/scripts.cpp
noclip_tick_step
The current frame implementation is C++. Older inactive worker code also remains in this file; camera.cpp contains another branch.
Freecamfeatures/camera.cpp
set_active, freecam_tick
C++ control and frame behavior. Activation also updates mem_cam; this is not one isolated Lua implementation.
Embedded camera Luafeatures/mem_cam.cpp
build_lua, LUA_TEARDOWN
Formatted Lua text embedded in C++. It is not a separately loaded Lua file, and its presence does not prove runtime execution.
Previous bridgefx_bridge.cpp (removed)It was absent from the active build and had no references from active internal sources. The original is retained in the layout backup.

How to trace a feature

Read scripts.hpp for the public interface, locate registration in scripts.cpp, and then find the callback and its state owner. Check the frame entry point before changing code. Similar names can belong to older paths.

No duplicate source of truth

The reorganization did not create editable Lua copies of C++ features. Changing an unrelated Lua file will not update the client.

K€T4M1N Docs The source is the reference.