GetResourceRootElement: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
m (Fixed link issue)
No edit summary
Tag: Undo
 
(3 intermediate revisions by 2 users not shown)
Line 7: Line 7:
==Syntax==  
==Syntax==  
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
element getResourceRootElement ( [resource theResource=getThisResource()] )  
element getResourceRootElement ( [resource theResource=getThisResource()] )
</syntaxhighlight>  
</syntaxhighlight>
 
{{OOP||[[resource]]:getRootElement|rootElement}}
===Optional Arguments===
===Optional Arguments===
{{OptionalArg}}
{{OptionalArg}}

Latest revision as of 18:38, 17 December 2023

This function retrieves a resource's root element. The resource's root element is the element in the element tree which is the parent of all elements that belong to a particular resource (except for elements specifically created elsewhere). You can attach event handlers to this element to easily capture events that originate from your resource (and global events that originate from the root element).

Note: every resource has a predefined global variable called resourceRoot whose value is the root element of that resource.

Syntax

element getResourceRootElement ( [resource theResource=getThisResource()] )

OOP Syntax Help! I don't understand this!

Method: resource:getRootElement(...)
Variable: .rootElement


Optional Arguments

NOTE: When using optional arguments, you might need to supply all arguments before the one you wish to use. For more information on optional arguments, see optional arguments.

  • theResource: the resource whose root element we are getting. If not specified, assumes the current resource. (the resource returned from getThisResource)

Returns

Returns an element representing the resource's root, false if the specified resource doesn't exist.

Example

Click to collapse [-]
Server

This example retrieves the current resource's root element and attaches it to an onResourceStart event handler. This causes the event handler to get called only when the current resource is started rather than when any resource is started, thereby reducing unnecessary overhead.

-- get the root element of this resource (the resource that the script is a part of)
resourceRoot = getResourceRootElement()

-- create a function to handle the onResourceStart event
function onCurrentResourceStart(theResource)
    local resourceName = getResourceName(theResource)
    outputChatBox("Hello and welcome to " .. resourceName .. "!")
end

-- add the event handler
addEventHandler("onResourceStart", resourceRoot, onCurrentResourceStart)

See Also