Storage.data

From RAGE Multiplayer Wiki
Revision as of 11:51, 10 September 2019 by Cygwin255 (talk | contribs) (Created page for storage.data)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

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.

Syntax

storage.data.someKey = obj;

Example

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

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.
Fix:

// 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

See also