GetThisResource: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
No edit summary
 
m (Added comments to example usage)
 
(29 intermediate revisions by 14 users not shown)
Line 1: Line 1:
__NOTOC__  
{{Server client function}}
<!-- Describe in plain english what this function does. Don't go into details, just give an overview -->
__NOTOC__
This fake function is for use with blah & blah and does blahblahblabhalbhl
This function retrieves the resource from which the function call was made.
{{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==  
==Syntax==  
<!-- NOTE: don't use 'special' names for variable names, e.g. you shouldn't be writing things like 'player player, vehicle vehicle', instead write something like 'player thePlayer, vehicle vehicleToGetInto'. This is less confusing and prevents the syntax highlighting being odd -->
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
returnType functionName ( arguments )
resource getThisResource ( )
</syntaxhighlight>  
</syntaxhighlight>
 
{{OOP|This function is a static function underneath the Resource class.|[[Resource]].getThis}}
===Required Arguments===
<!-- List each argument one per line. This should be the argument's name as in the argument list above, NOT the argument's data type -->
*'''argumentName:''' description
 
<!-- Only include this section below if there are optional arguments -->
===Optional Arguments===
{{OptionalArg}}  
*'''argumentName2:''' description
*'''argumentName3:''' description


===Returns===
===Returns===
<!-- Make this descriptive. Explain what cases will return false. If you're unsure, add a tag to it so we can check -->
Returns the resource in which the current script is.
Returns ''true'' if blah, ''false'' otherwise.


==Example==  
==Example==
<!-- Explain what the example is in a single sentance -->
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 does...
<!-- Add the code below, an emphasis should be on making it clear, not optimized. You could provide two versions if you wish, one clear and well commented, the other optimized -->
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
--This line does...
local thisResource = getThisResource()
blabhalbalhb --abababa
local resRoot = getResourceRootElement(thisResource)
--This line does this...
 
mooo
addEventHandler("onResourceStart", resRoot, function()
  local resourceName = getResourceName(thisResource)
  iprint("You are in the " .. resourceName .. " resource!")
  iprint(thisResource == resource) -- true
  iprint(resRoot == resourceRoot) -- true
end)
</syntaxhighlight>
</syntaxhighlight>


==See Also==
==See Also==
<!-- Change FunctionArea to the area that this function is in on the main function list page, e.g. Server, Player, Vehicle etc -->
{{Resource_functions}}
{{FunctionArea_functions}}
[[Category:Incomplete]] -- leave this unless you complete the function

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