GetThisResource: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
Line 10: Line 10:
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
 
          -- Note: without this check, the operations below would execute whenever ANY resource is loaded
-- create a function to handle the onResourceStart event
          -- perform some operations this script will be used for, in this case keeping track of player scores and money:
function onCurrentResourceStart(theResource)
          local players = getElementsByType("player")
  local resourceName = getResourceName(theResource)
          for playerKey, playerValue in ipairs(players) do
  outputChatBox("Hello and welcome to " .. resourceName .. "!")
              setPlayerMoney(playerValue, 500)
end
              setElementData(playerValue, "score", 0)
 
          end
-- add the event handler
    end
addEventHandler("onResourceStart", resourceRoot, onCurrentResourceStart)
end 
addEventHandler("onResourceStart", getResourceRootElement(getThisResource()), onStartInScoresResource)  
</syntaxhighlight>
</syntaxhighlight>



Revision as of 21:25, 1 August 2007

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

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

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

See Also