GetResourceConfig: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
No edit summary
 
(5 intermediate revisions by 5 users not shown)
Line 5: Line 5:
==Syntax==  
==Syntax==  
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
xmlnode getResourceConfig ( [resource theResource = getThisResource()], string filename )
xmlnode getResourceConfig ( string filePath )
</syntaxhighlight>  
</syntaxhighlight>  


===Required Arguments===  
===Required Arguments===  
*'''filename:''' the exact file name of the configuration file. (e.g. "file.xml" )
*'''filePath:''' The [[filepath]] of the file in the following format: '''":resourceName/path"'''. 'resourceName' is the name of the resource the file is in, and 'path' is the path from the root directory of the resource to the file.
 
:For example, if there is a file named 'settings.xml' in the resource 'ctf', it can be accessed from another resource this way: ''getResourceConfig(":ctf/settings.xml")''.
===Optional Arguments===
:If the file is in the current resource, only the file path is necessary, e.g. ''getResourceConfig("settings.xml")''.
*'''theResource:''' the resource to retrieve the configuration file from. Note: the resource has to be running, otherwise this function will fail.


===Returns===
===Returns===
Line 18: Line 17:


==Example==
==Example==
<section name="Server" class="server" show="true">
This example opens a configuration file and prints the value of the 'attr' attribute of the first 'group' node.
This example opens a configuration file and prints the value of the 'attr' attribute of the first 'group' node.
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
function resourceStart ( theResource )                        -- When a resource is started
function resourceStart ( )                        -- When the resource is started
     if ( theResource == getThisResource () ) then              -- and the resource is this one
     local node = getResourceConfig( "config.xml" )  -- get the configuration file
        node = getResourceConfig( theResource, "config.xml" )  -- get the configuration file
    local subNode = xmlFindChild( node, "group", 0 )      -- get a subnode in it
        local subNode = xmlFindSubNode( node, "group", 1 )      -- get a subnode in it
    outputChatBox( xmlNodeGetAttribute( subNode, "attr" ),root )    -- output its attributes value to chatbox
        outputChatBox( xmlNodeGetAttribute( subNode, "attr" ) )    -- output its attributes value to chatbox
    end
end
end
addEventHandler ( "onResourceStart", getRootElement(), resourceStart )
addEventHandler ( "onResourceStart", resourceRoot, resourceStart )
</syntaxhighlight>
</syntaxhighlight>
</section>


==See Also==
==See Also==
{{Resource_functions}}
{{Resource_functions}}

Latest revision as of 18:45, 29 April 2012

This function is used to return the root node of a configuration file. Config files must be predefined in a resource's meta file. An alternative way to load XML files is to use xmlLoadFile.

Syntax

xmlnode getResourceConfig ( string filePath )

Required Arguments

  • filePath: The filepath of the file in the following format: ":resourceName/path". 'resourceName' is the name of the resource the file is in, and 'path' is the path from the root directory of the resource to the file.
For example, if there is a file named 'settings.xml' in the resource 'ctf', it can be accessed from another resource this way: getResourceConfig(":ctf/settings.xml").
If the file is in the current resource, only the file path is necessary, e.g. getResourceConfig("settings.xml").

Returns

Returns the root node of the specified configuration file. If the file is corrupted, not defined in the meta file or doesn't exist, returns false.

Example

Click to collapse [-]
Server

This example opens a configuration file and prints the value of the 'attr' attribute of the first 'group' node.

function resourceStart ( )                         -- When the resource is started
    local node = getResourceConfig( "config.xml" )  -- get the configuration file
    local subNode = xmlFindChild( node, "group", 0 )      -- get a subnode in it
    outputChatBox( xmlNodeGetAttribute( subNode, "attr" ),root )    -- output its attributes value to chatbox
end
addEventHandler ( "onResourceStart", resourceRoot, resourceStart )

See Also