Predefined variables list: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
m (Beta header) |
||
(18 intermediate revisions by 10 users not shown) | |||
Line 1: | Line 1: | ||
== Lua Predefined variables == | |||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
_G -- returns a table of all global variables | _G -- returns a table of all global variables | ||
coroutine -- returns a table containing functions for threads | coroutine -- returns a table containing functions for threads | ||
debug -- returns a table containing debug functions | debug -- returns a table containing debug functions | ||
math -- returns a table that contains mathematical functions | math -- returns a table that contains mathematical functions | ||
string -- returns a table containing functions for strings | string -- returns a table containing functions for strings | ||
table -- returns a table that contains functions for tables | table -- returns a table that contains functions for tables | ||
_VERSION -- returns a string of the version of lua in format "Lua 5.1" | _VERSION -- returns a string of the version of lua in format "Lua 5.1" | ||
self -- used in methods. | self -- used in methods | ||
arg -- used in functions which use '...' as an argument (https://www.lua.org/pil/5.2.html) | |||
</syntaxhighlight> | </syntaxhighlight> | ||
== MTA Predefined variables == | |||
=== Global === | |||
{{New feature/item|3.161|1.6.0|22960|resourceName -- returns the name of the resource the snippet was executed in}} | |||
<section name="Shared" class="both" show="true"> | <section name="Shared" class="both" show="true"> | ||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
Line 19: | Line 22: | ||
resource -- returns a resource element of the resource the snippet was executed in | resource -- returns a resource element of the resource the snippet was executed in | ||
resourceRoot -- returns a resource root element of the resource the snippet was executed in | resourceRoot -- returns a resource root element of the resource the snippet was executed in | ||
resourceName -- returns the name of the resource the snippet was executed in | |||
root -- returns the root element of the server | root -- returns the root element of the server | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Line 25: | Line 29: | ||
<section name="Client only" class="client" show="true"> | <section name="Client only" class="client" show="true"> | ||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
guiRoot -- returns the root element all GUI elements. | guiRoot -- returns the root element of all GUI elements. | ||
localPlayer -- returns the player element of the local player. | localPlayer -- returns the player element of the local player. | ||
</syntaxhighlight> | </syntaxhighlight> | ||
</section> | </section> | ||
=== Event Handlers === | |||
[https://wiki.multitheftauto.com/wiki/AddEventHandler More details about hidden variables in functions and events] | |||
<section name="Shared" class="both" show="true"> | <section name="Shared" class="both" show="true"> | ||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
Line 35: | Line 43: | ||
this -- Element, which was attached function-handler. | this -- Element, which was attached function-handler. | ||
eventName -- the name of the event ("onResourceStart", "onPlayerWasted" etc.) | eventName -- the name of the event ("onResourceStart", "onPlayerWasted" etc.) | ||
sourceResource -- the resource that called the event | |||
sourceResourceRoot -- the root of the resource that called the event | |||
</syntaxhighlight> | </syntaxhighlight> | ||
</section> | </section> | ||
Line 40: | Line 50: | ||
<section name="Server only" class="server" show="true"> | <section name="Server only" class="server" show="true"> | ||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
client -- the client that called the event | client -- the client that called the event | ||
</syntaxhighlight> | </syntaxhighlight> | ||
</section> | </section> | ||
Please note, the above pre-defined variables may only be accessible in the relevant scope (i.e, an event handler callback function). Further functions defined within that scope may not have access to these pre-defined variables at the time of their execution. | |||
For this reason, you should always explicitly redefine pre-defined variables as local variables, to ensure they are always available to new functions declared within that scope - for example: | |||
<syntaxhighlight lang="lua"> | |||
function init() | |||
local player = source -- source is a pre-defined variable for this event, containing the player element | |||
local func = function() | |||
print(source) -- prints 'nil', source isn't available anymore | |||
print(player) -- prints player element | |||
end | |||
setTimer(func, 1000, 1) -- run above function after 1 second | |||
end | |||
addEventHandler("onPlayerResourceStart", root, init) | |||
</syntaxhighlight> | |||
=== Timer Callbacks === | |||
<section name="Shared" class="both" show="true"> | |||
<syntaxhighlight lang="lua"> | |||
sourceTimer -- current timer in callback function. | |||
</syntaxhighlight> | |||
</section> | |||
List Predefined variables available in the HTTP files: | === HTTP === | ||
List Predefined variables available in the HTTP files [https://wiki.multitheftauto.com/wiki/Resource_Web_Access (more info about it)]: | |||
<syntaxhighlight lang="lua">[php] | <syntaxhighlight lang="lua">[php] | ||
requestHeaders -- table, contains all HTTP headlines current page. | requestHeaders -- table, contains all HTTP headlines current page. | ||
Line 63: | Line 92: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
[ | |||
== See Also == | |||
[[Element_tree|Element Tree]] | |||
[[Category:Scripting Concepts]] |
Latest revision as of 09:39, 16 July 2024
Lua Predefined variables
_G -- returns a table of all global variables coroutine -- returns a table containing functions for threads debug -- returns a table containing debug functions math -- returns a table that contains mathematical functions string -- returns a table containing functions for strings table -- returns a table that contains functions for tables _VERSION -- returns a string of the version of lua in format "Lua 5.1" self -- used in methods arg -- used in functions which use '...' as an argument (https://www.lua.org/pil/5.2.html)
MTA Predefined variables
Global
Click to collapse [-]
Sharedexports -- returns a table of resource names containing all export functions resource -- returns a resource element of the resource the snippet was executed in resourceRoot -- returns a resource root element of the resource the snippet was executed in resourceName -- returns the name of the resource the snippet was executed in root -- returns the root element of the server
Click to collapse [-]
Client onlyguiRoot -- returns the root element of all GUI elements. localPlayer -- returns the player element of the local player.
Event Handlers
More details about hidden variables in functions and events
Click to collapse [-]
Sharedsource -- The player or element the event was attached to this -- Element, which was attached function-handler. eventName -- the name of the event ("onResourceStart", "onPlayerWasted" etc.) sourceResource -- the resource that called the event sourceResourceRoot -- the root of the resource that called the event
Click to collapse [-]
Server onlyclient -- the client that called the event
Please note, the above pre-defined variables may only be accessible in the relevant scope (i.e, an event handler callback function). Further functions defined within that scope may not have access to these pre-defined variables at the time of their execution.
For this reason, you should always explicitly redefine pre-defined variables as local variables, to ensure they are always available to new functions declared within that scope - for example:
function init() local player = source -- source is a pre-defined variable for this event, containing the player element local func = function() print(source) -- prints 'nil', source isn't available anymore print(player) -- prints player element end setTimer(func, 1000, 1) -- run above function after 1 second end addEventHandler("onPlayerResourceStart", root, init)
Timer Callbacks
Click to collapse [-]
SharedsourceTimer -- current timer in callback function.
HTTP
List Predefined variables available in the HTTP files (more info about it):
[php] requestHeaders -- table, contains all HTTP headlines current page. form -- table, contains all POST and GET settings, transferred current page. cookies -- table, contains all COOKIE, transferred current page. hostname -- string, contains IP or name host, which requested current page. url -- string, URL current page. user -- element, account user, which requested current page.