GetThisResource: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
(Add missing OOP info)
m (Added comments to example usage)
 
(One intermediate revision by the same user not shown)
Line 16: Line 16:
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.
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.
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
-- get the root element of this resource (the resource that the script is a part of)
local thisResource = getThisResource()
resourceRoot = getResourceRootElement(getThisResource())
local resRoot = getResourceRootElement(thisResource)
--getThisResource() is the same thing as MTA's secret global variable
--"resource" as explained in the note above.


-- create a function to handle the command
addEventHandler("onResourceStart", resRoot, function()
function onResourceCommand()
  local thisResource = getThisResource()
   local resourceName = getResourceName(thisResource)
   local resourceName = getResourceName(thisResource)
   outputChatBox("You are in the " .. resourceName .. " resource!")
   iprint("You are in the " .. resourceName .. " resource!")
end
  iprint(thisResource == resource) -- true
 
  iprint(resRoot == resourceRoot) -- true
-- add the command handler
end)
addCommandHandler("what", onResourceCommand)
</syntaxhighlight>
</syntaxhighlight>


==See Also==
==See Also==
{{Resource_functions}}
{{Resource_functions}}

Latest revision as of 19:40, 14 March 2023

This function retrieves the resource from which the function call was made.

[[{{{image}}}|link=|]] Note: Every resource has a predefined global variable called resource that contains the resource pointer for that resource, in other words, the value that this function returns.

Syntax

resource getThisResource ( )

OOP Syntax Help! I don't understand this!

Note: This function is a static function underneath the Resource class.
Method: Resource.getThis(...)


Returns

Returns the resource in which the current script is.

Example

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.

local thisResource = getThisResource()
local resRoot = getResourceRootElement(thisResource)

addEventHandler("onResourceStart", resRoot, function()
   local resourceName = getResourceName(thisResource)
   iprint("You are in the " .. resourceName .. " resource!")
   iprint(thisResource == resource) -- true
   iprint(resRoot == resourceRoot) -- true
end)

See Also