scene_check_client
Checks client Lua scripts against a save to catch silently mismatched names in API calls, controls, signals, and variables, reporting each issue with script, line, and nearest match.
Instructions
Check what the client scripts (Lua) of a save name against what there is, in a moment and without the game. On this platform a name that does not match is not an error: the control is not found, the signal is not heard, the variable reads nil, and nothing says so. This parses every script and looks up each name it writes as a literal: its syntax; the functions of game, the methods of script and every Enum value (the official API page); the controls it asks for (GetChild, FindChild) among the controls under the ones that carry it; the signals it sends and hears, among the signals of the save and the graphs that hear and send them, and the values it adds to a signal before sending it (AddInt, AddString ...) against what the signal carries, in order; the custom variables it reads, on the player and character templates; its own variables (GetParam); templates by index, pictures and sounds by id. Each problem comes with script, line, what is wrong and the nearest name there is. An error will not work; a warning may be on purpose (a signal no graph sends yet). scene_set_client_script, scene_add_client_ui and playtest_start run the same check on what they are given and report it; call this after the graphs are written, when everything is in the save. Read-only. It sees only literals: a name put together while the script runs is not checked, and neither is what the script does (the playtest is for that).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| mapPath | No | ||
| scripts | No |