GetResourceDynamicElementRoot: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
No edit summary
(add oop syntax)
(2 intermediate revisions by 2 users not shown)
Line 10: Line 10:
===Required Arguments===  
===Required Arguments===  
*'''theResource:''' the resource of which dynamic element root we want.
*'''theResource:''' the resource of which dynamic element root we want.
 
{{OOP||[[resource]]:getDynamicElementRoot}}
===Returns===
===Returns===
Returns an [[element]] of the resource's dynamic element root if the resource specified was valid and active (currently running), ''false'' otherwise.
Returns an [[element]] of the resource's dynamic element root if the resource specified was valid and active (currently running), ''false'' otherwise.


==Example==
==Example==
This example shows how to get all elements by specific type, created only by resource scripts (not maps).
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
--TODO
-- We have some map files with many objects in our meta.xml.
-- And we have some objects, created by some resource scripts.
 
--      createObject(...) -- 1
--      createObject(...) -- 2
--      ...
--      createObject(...) -- 20
 
-- After resource start we must found all objects, created only
-- by current resource scripts (not maps) and make them invisible.
 
-- `resourceRoot` is predefined script variable containing current resource root pointer
addEventHandler( 'onResourceStart', resourceRoot,
    function()
        -- `resource` is predefined script variable containing current resource pointer
        local thisResourceDynamicRoot = getResourceDynamicElementRoot(resource)
        local onlyScriptObjects = getElementsByType( 'object', thisResourceDynamicRoot )
       
        for scriptObject in ipairs(onlyScriptObjects) do
            setElementAlpha( scriptObject, 0 )
        end
    end
)
</syntaxhighlight>
</syntaxhighlight>


==See Also==
==See Also==
{{Resource_functions}}
{{Resource_functions}}
[[Category:Needs_Example]]

Revision as of 16:34, 1 January 2015

This function retrieves the dynamic element root of a specified resource. The dynamic element root is the parent of elements that are created by scripts (e.g. with createObject) unless they specify a different parent.

Syntax

element getResourceDynamicElementRoot ( resource theResource ) 

Required Arguments

  • theResource: the resource of which dynamic element root we want.

OOP Syntax Help! I don't understand this!

Method: resource:getDynamicElementRoot(...)


Returns

Returns an element of the resource's dynamic element root if the resource specified was valid and active (currently running), false otherwise.

Example

This example shows how to get all elements by specific type, created only by resource scripts (not maps).

-- We have some map files with many objects in our meta.xml.
-- And we have some objects, created by some resource scripts.

--      createObject(...) -- 1
--      createObject(...) -- 2
--      ...
--      createObject(...) -- 20

-- After resource start we must found all objects, created only
-- by current resource scripts (not maps) and make them invisible.

-- `resourceRoot` is predefined script variable containing current resource root pointer
addEventHandler( 'onResourceStart', resourceRoot,
    function()
        -- `resource` is predefined script variable containing current resource pointer
        local thisResourceDynamicRoot = getResourceDynamicElementRoot(resource)
        local onlyScriptObjects = getElementsByType( 'object', thisResourceDynamicRoot )
        
        for scriptObject in ipairs(onlyScriptObjects) do
            setElementAlpha( scriptObject, 0 )
        end
    end
)

See Also