Revision Difference
GM:OnClientLuaError#564910
<function name="OnClientLuaError" parent="GM" type="hook">
<description>
Called on the server when a Lua error occurs on a client and is sent to the server.
This hook allows server-side code to detect and log client-side errors.
See <page>GM:OnLuaError</page> for a hook that captures Lua errors directly within its [realm](States).
<warning>Note that the stack argument can contain a table with 0 values. </warning>
<warning>Warning: the hook protects against lua error spam.</warning>⤶
<note>Warning: the hook "protects" against lua error spam. If it has 5 errors in less than 1 second, the hook will not receive any of these 4 errors.</note>⤶
</description>
<realm>Server</realm>
<added>2025.05.16</added>
<args>
<arg name="error" type="string">The error that occurred. As well as the path and line of the error. Example : addons/test/lua/autorun/client/test_error.lua:4: 'then' expected near '<eof>'
</arg>
<arg name="ply" type="Player">The player whose client caused the error.</arg>
<arg name="stack" type="table">The Lua error stack trace</arg>
<arg name="name" type="string">Title of the addon that is creating the Lua errors, or "ERROR" if addon is not found.</arg>
</args>
</function>
<example>
<description>Example of a hook to retrieve clients errors</description>
<code>
hook.Add("OnClientLuaError", "Test", function(sError, pPlayer, tStack, sNameAddon)
print("tStack:")
PrintTable(tStack)
print("The player " .. (IsValid(pPlayer) and pPlayer:Nick() or "unknown") .. " has encountered an error in addon '" .. sNameAddon .. "' : " .. sError)
end)
</code>
<output>
```
-- The “error” function is used to generate
tStack:
[1]:
["File"] = [C]
["Function"] = error
["Line"] = -1
[2]:
["File"] = addons/test/lua/autorun/client/test_error.lua
["Function"] =
["Line"] = 3
The player Vitroze_Gaming has encountered an error in addon 'test' : addons/test/lua/autorun/client/test_error.lua:3: This is a test for the hook. Generated by the error function
-- A syntax error is generated
tStack: (No Value)
The player Vitroze_Gaming has encountered an error in addon 'test' : addons/test/lua/autorun/client/test_error.lua:4: 'then' expected near '<eof>'
```
</output>
</example>