GetThisResource: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
No edit summary
mNo edit summary
(23 intermediate revisions by 12 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 function retrieves the resource from which the function call was made.
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">
resource getThisResource ( )
resource getThisResource ( )
Line 10: Line 10:


===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 a resource object (or pointer?).


==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 performs a check to see if the resource started is the right one:
<!-- 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">
addEventHandler("onResourceStart", getRootElement(), "onStartInScoresResource")
-- get the root element of this resource (the resource that the script is a part of)
function onStartInScoresResource(resource)
resourceRoot = getResourceRootElement(getThisResource())  
    local thisResource = getThisResource() -- get the resource that this script is a part of
--getThisResource() is the same thing as MTA's secret global variable
    if (resource == thisResource) then -- make sure the resource that started is the one this script is a part of
--"resource" as explained in the note above.
          -- Note: without this check, the operations below would execute whenever ANY resource is loaded
 
          -- perform some operations this script will be used for, in this case keeping track of player scores and money:
-- create a function to handle the command
          local players = getElementsByType("player")
function onResourceCommand()
          for playerKey, playerValue in players do
  local thisResource = getThisResource()
              setPlayerMoney(playerValue, 500)
  local resourceName = getResourceName(thisResource)
              setElementData(playerValue, "score", 0)
  outputChatBox("You are in the " .. resourceName .. " resource!")
          end
    end
end
end
-- add the command handler
addCommandHandler("what", onResourceCommand)
</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}}
{{Resource_functions}}
[[Category:Needs_Checking]]

Revision as of 04:41, 11 August 2019

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

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.

-- get the root element of this resource (the resource that the script is a part of)
resourceRoot = getResourceRootElement(getThisResource()) 
--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
function onResourceCommand()
   local thisResource = getThisResource()
   local resourceName = getResourceName(thisResource)
   outputChatBox("You are in the " .. resourceName .. " resource!")
end

-- add the command handler
addCommandHandler("what", onResourceCommand)

See Also