getResourceRootElement | Multi Theft Auto: Wiki Skip to content

getResourceRootElement

Client-side
Server-side
Shared

Manual Review Required

Please finish this page using the corresponding Old Wiki article. Go to Contribution guidelines for more information.


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).

OOP Syntax Help! I don't understand this!

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

Syntax

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

NOTE: When using optional arguments, you might need to supply all arguments before the one you wish to use.

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

Returns

  • element: value

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

Code Examples

shared

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 thecurrentresource is started rather than whenanyresource 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)