Storage.data: Difference between revisions

From RAGE Multiplayer Wiki
(Created page for storage.data)
 
No edit summary
 
(One intermediate revision by one other user not shown)
Line 1: Line 1:
__NOTOC__
{{ClientsideJsProperty}}
Used to set some client-related data. Saved on the client, see [[storage.flush()]] for more details.
Used to set some client-related data. Saved on the client, see [[storage.flush()]] for more details.
<br />Data is saved in <path to RAGEMP>/client_resources/<server ip>/.storage
<br />Data is saved in <path to RAGEMP>/client_resources/<server ip>/.storage
<br />Thus it is wiped when player deletes client folder.
<br />Thus it is wiped when player deletes client folder.
{{JSContainer|
==Syntax==
==Syntax==
<syntaxhighlight lang="javascript">
 
storage.data.someKey = obj;
<pre>
</syntaxhighlight>
mp.storage.data.someKey = obj;
</pre>
 
==Example==
==Example==
<syntaxhighlight lang="javascript">
{{ClientsideCode|
<pre>
mp.storage.data.auth = { token: "abcd" };
mp.storage.data.auth = { token: "abcd" };
mp.storage.flush();
mp.storage.flush();
</syntaxhighlight>
</pre>
==Known bugs==
}}
There is a bug with ragemp 0.3.7 when if server restarts while player is connected the data property gets nested into a new data field, so mp.storage.data becomes mp.storage.data.data and so on.
}}
<br/>Fix:
==See also==
<syntaxhighlight lang="javascript">
{{Storage_definition_c}}
// author: Shonz1 from ragemp's discord
// region: Fix RAGE:MP storage error (recursive data:...)
let storage = mp.storage.data;
while (storage.hasOwnProperty('data'))
    storage = storage.data;


delete mp.storage.data.data;
Object.getOwnPropertyNames(storage).forEach(key => {
    mp.storage.data[key] = storage[key];
});
mp.storage.flush();
// endregion
</syntaxhighlight>
==See also==
[[Category:Clientside API]]
[[Category:Clientside API]]
[[Category:Client-side Property]]

Latest revision as of 01:19, 25 April 2021

Client-Side
Property

 JavaScript



Used to set some client-related data. Saved on the client, see storage.flush() for more details.
Data is saved in <path to RAGEMP>/client_resources/<server ip>/.storage
Thus it is wiped when player deletes client folder.


JavaScript Syntax

Syntax

mp.storage.data.someKey = obj;

Example

Client-Side
mp.storage.data.auth = { token: "abcd" };
mp.storage.flush();


See also