XmlSaveData
Important Note:
This is an unofficial MTA function, so its not included into the game by default. |
This function provides an automated way of storing your data in an XML file.
To call this function, see the call function or the tip in this resources page: XmlData#Simplifying_the_export
Syntax
bool xmlSaveData ( string fileName, table data [, bool serverProtected = true, bool encryptData = false, bool resourceProtected = false ] )
bool xmlSaveData ( string fileName, table data [, int securityLevel = 4] )
Required Arguments
- fileName: The name of the file you want to create
- data: The data you want to save (must be a table!)
Optional Arguments
- serverProtected: If set to true the script will protect the file so, that can only the creator server can access it.
- encryptData: If set to true the script will generate a random key and use it to encrypt your stored data. Note: If you want to store "sensitive data", always use encryption!
- resourceProtected: If set to true the script will add the sourceResource name (so the name of the resource from which it got called) to the fileName, preventing it from getting read/overwritten/deleted by any other resource. If set to false you can use this script to call/send/modify tables from different resources without the use of events/other export functions.
or
- securityLevel: The level of security on which you want to store your data at. (See security levels here: XmlData#Security_Levels
Returns
Returns true if successful, false otherwise.
bool xmlSaveData ( string fileName, table data [, bool encryptData = false, bool resourceProtected = false ] )
bool xmlSaveData ( string fileName, table data [, int securityLevel = 4] )
Required Arguments
- fileName: The name of the file you want to create
- data: The data you want to save (must be a table!)
Optional Arguments
- encryptData: If set to true the script will generate a random key and use it to encrypt your stored data. Note: If you want to store "sensitive data", always use encryption! (Account data should never be stored in serverside files - use a database instead!)
- resourceProtected: If set to true the script will add the sourceResource name (so the name of the resource from which it got called) to the fileName, preventing it from getting read/overwritten/deleted by any other resource. If set to false you can use this script to call/send/modify tables from different resources without the use of events/other export functions.
or
- securityLevel: The level of security on which you want to store your data at. (See security levels here: XmlData#Security_Levels
Returns
Returns true if successful, false otherwise.
Example
This is the script where we specify the export shortcut and the data table which we want to store.
local xml = exports.xmlData local tblScriptSettings = {posX = 800, posY = 500, sizeX = 500, sizeY = 300, settings = {show = true, tab = 1}} xml:xmlSaveData("myFileName", tblScriptSettings , true, true) -- Save the data as "myFileName"
This will create a server-protected, encrypted file on the clients computer called "myFileName.xml". Also it will generate a random generated key and stores it.
The created file will -(could, because encrypted with a random key)- like this:
<root posY="VgEN0+TERhg=" posX="mjX4Tj5u6oM=" sizeX="VgEN0+TERhg=" sizeY="htgOMaZurQQ="> <settings show="yeiNs/ne1Ks=" tab="OpijtdPvYqQ="></settings> </root>