XmlLoadData

From Multi Theft Auto: Wiki
Revision as of 18:06, 12 September 2019 by Ceeser (talk | contribs)
Jump to navigation Jump to search


[[{{{image}}}|link=|]] Important Note:

This is an unofficial MTA function, so its not included into the game by default.
Its an exported function of the xmlData resource.
To access this function you need to have the resource running on your server.


This function provides an automated way of loading your data from an XML file created by xmlSaveData
To call this function, see the call function or the tip in this resources page: Simplifying the export


Info

If you used xmlSaveData with passing the securityLevel I recommend to pick securityLevel as function argument here as well.
For proper data loading you need to pass the same booleans/securityLevel as you did on xmlSaveData.


Syntax

Click to collapse [-]
Client
bool xmlLoadData ( fileName [, serverProtected, resourceProtected ] )
bool xmlLoadData ( fileName [, int securityLevel ] )
bool xmlSaveData ( string fileName, table data [, int securityLevel = 4] )

Required Arguments

  • fileName: The name of the file you want to create

Optional Arguments

  • serverProtected: If set to true it can only read the file of the creator-server, otherwise it doesn't care which server created it.
  • resourceProtected: If set to true it can only read the file of the creator-resource, otherwise it doesn't care which resource created it.

or

  • securityLevel: The level of security on which you want to store your data at. (Details on the resource page: Security Levels)

See xmlData Variables and Specified names for more detail.

Returns

Returns a table containing the files data, an empty table if there is no data stored inside the file, false and debug output in case if failure.

Note: There is no encryption parameter in this function, because xmlLoadData will load and use a files key if it is encrypted.

Click to collapse [-]
Server
bool xmlLoadData ( fileName [, resourceProtected ] )
bool xmlLoadData ( fileName [, int securityLevel ] )
bool xmlSaveData ( string fileName, table data [, int securityLevel = 4] )

Required Arguments

  • fileName: The name of the file you want to create

Optional Arguments

  • resourceProtected: If set to true it can only read the file of the creator-resource, otherwise it doesn't care which resource created it.

or

  • securityLevel: The level of security on which you want to store your data at. (Details on the resource page: Security Levels)

See xmlData Variables and Specified names for more detail.

Returns

Returns a table containing the files data, an empty table if there is no data stored inside the file, false and debug output in case if failure.

Note1: There is no encryption parameter, because xmlLoadData will load and use a files key if it is encrypted. Note2: There is no serverProtected parameter, because its server-side already anyways.


Example

Click to collapse [-]
Client
-- Lets assume we created a encrypted, serverProtected file called "settings" already.
local xml = exports.xmlData
local tblSettings = xml:xmlLoadData("settings" true) -- serverProtected is true, resourceProtected false - false doesnt need to get passed here
-- OR you can do this:
local tblSettings = xml:xmlLoadData("settings" 6) -- securityLevel 6 equals serverProtected, encrypted, not resouceProtected - the encryption bool will be ignored at xmlLoadData