GetThisResource: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
mNo edit summary
(19 intermediate revisions by 9 users not shown)
Line 1: Line 1:
__NOTOC__  
{{Server client function}}
__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==  
Line 10: Line 12:
Returns the resource in which the current script is.
Returns the resource in which the current script is.


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


==See Also==
==See Also==
{{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