Скрипт - Shared World Data для RAGE Multiplayer

Этот ресурс позволяет устанавливать переменные, которые будут синхронизированы со всеми клиентами.
Установка:
- Поместите загруженные файлы в соответствующие места
- Добавьте require('worlddata') в client_packages/index.js, желательно первее всего остального
- Готово
Использование:
Вы можете сделать одно значение, чтобы установить общие данные:
mp.world.data.myDataKey = myValue;
mp.world.data["myDataKey"] = myValue;
Вы можете сделать одно значение, чтобы получить общие данные:
mp.world.data.myDataKey
mp.world.data["myDataKey"]
И вы можете сделать, чтобы удалить общие данные:
delete mp.world.data.myDataKey;
delete mp.world.data["myDataKey"];
1.1 - Теперь вы можете сделать это, чтобы установить несколько общих данных одновременно, спасибо @kemperrr
mp.world.setData(updatedObject); // see examples
Вы также можете использовать настройку/удаление кода на стороне клиента, но это не повлияет на данные на стороне сервера. Если что, то ваши изменения будут переопределены при обновлении myDataKey, поэтому нет смысла использовать настройку/удаление кода на стороне клиента.
События / Events (Clientside)
// worldDataReady is called when the player receives all shared data.
mp.events.add("worldDataReady", () => {
    // Example, print all data keys to chat
    mp.gui.chat.push(`World data ready! ${Object.keys(mp.world.data).join(",")}`);
});

// worldDataChanged is called when shared data changes.
mp.events.add("worldDataChanged", (key, oldValue, newValue) => {
    // Example, show which data key changed with its old and new value
    mp.gui.chat.push(`World data changed: ${key} | old: ${oldValue} | new: ${newValue}`);
});

// worldDataRemoved is called when shared data is removed.
mp.events.add("worldDataRemoved", (key) => {
    // Example, show which data key got removed
    mp.gui.chat.push(`World data removed: ${key}`);
});
Пример кода (ServerSide)
let gameSeconds = 0;

// Increase gameSeconds every second and update the world data every 5 seconds, for no reason...
setInterval(() => {
    gameSeconds++;

    if (gameSeconds % 5 === 0) {
        // You can use mp.world.data["exampleVariable"] as well
        mp.world.data.exampleVariable = gameSeconds;
        console.log(`exampleVariable is now ${mp.world.data.exampleVariable}`);
    }
}, 1000);
// Will update serverUpdated, serverName, serverWebsite shared data.
mp.world.setData({
    "serverUpdated": Date.now(),
    "serverName": "RAGE Multiplayer Server #545"
    "serverWebsite": "https://rage.mp/"
});
1.1 - Добавлен mp.world.setData(updatedObject) который обеспечивает хороший и эффективный способ обновления нескольких общих данных.
// Example: Will update serverUpdated, serverName, serverWebsite shared data.
mp.world.setData({
    "serverUpdated": Date.now(),
    "serverName": "RAGE Multiplayer Server #545"
    "serverWebsite": "https://rage-multiplayer.ru/"
});
Автор: rootcause
Версия:
1.1
У вас нет доступа к скачиванию файлов с нашего сервера


Внимание!

Если у вас есть вопросы и вам нужна помощь по серверам, скриптам или моду.

Наша группа Вконтакте

Наш Discord

23 посетителя на сайте. Из них:
Пользователи2
Гости16
Роботы5
Список пользователей
Jordan1 Сейчас на сайте
Алёнка Морковочка Был(a) в сети 8 минут назад

Новый шаблон ...

Информация

Яндекс.Метрика
18+