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
| Area | Source | Ownership |
|---|---|---|
| Editor and runtime | scripting/scripts.cpp | API registration, execution limits, output and editor UI. FiveM globals are not automatically available. |
| Noclip | scripting/scripts.cppnoclip_tick_step | The current frame implementation is C++. Older inactive worker code also remains in this file; camera.cpp contains another branch. |
| Freecam | features/camera.cppset_active, freecam_tick | C++ control and frame behavior. Activation also updates mem_cam; this is not one isolated Lua implementation. |
| Embedded camera Lua | features/mem_cam.cppbuild_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 bridge | fx_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