XmlSaveData: Difference between revisions
No edit summary |
No edit summary |
||
Line 13: | Line 13: | ||
This function provides an automated way of storing your data in an [[XML]] file.<br> | This function provides an automated way of storing your data in an [[XML]] file.<br> | ||
To call this function, see the [[call]] function or the tip in this resources page: [[XmlData#Simplifying_the_export]] | To call this function, see the [[call]] function or the tip in this resources page: [[XmlData#Simplifying_the_export]] | ||
= Syntax = | = Syntax = | ||
Line 60: | Line 61: | ||
===Returns=== | ===Returns=== | ||
Returns ''true'' if successful, ''false'' otherwise. | Returns ''true'' if successful, ''false'' otherwise. | ||
</section> | |||
== Example == | |||
<section name="Client" class="client" show="true"> | |||
This is the script where we specify the export shortcut and the data table which we want to store. | |||
<syntaxhighlight lang="lua"> | |||
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" | |||
</syntaxhighlight> | |||
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.<br> | |||
The created file will -(could, because encrypted with a random key)- like this: | |||
<syntaxhighlight lang="xml"> | |||
<root posY="VgEN0+TERhg=" posX="mjX4Tj5u6oM=" sizeX="VgEN0+TERhg=" sizeY="htgOMaZurQQ="> | |||
<settings show="yeiNs/ne1Ks=" tab="OpijtdPvYqQ="></settings> | |||
</root> | |||
</syntaxhighlight> | |||
</section> | </section> |
Revision as of 17:55, 11 September 2019
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>