Скрипт - Валюта API / Currency API для RAGE Multiplayer
Этот ресурс предоставляет API валюты
Установка:
- Поместите загруженные файлы в соответствующие места
- Посмотрите документацию и примеры
- Готово
Currency API
const currencyAPI = require("../currency-api");
/**
 * Adds a currency to the system.
 * @param {String}  key      Currency identifier. (such as vip_tokens)
 * @param {String}  name     Currency's human readable name. (such as VIP Tokens)
 * @param {Boolean} isShared Whether the currency will use shared data or not. Useful if you want to have a money HUD etc.
 * @return {Object} The added currency object, will be null if there were any mistakes.
 * @fires currencyDefined
 */
currencyAPI.addCurrency(key, name, isShared);

/**
 * Returns whether the specified key is a registered currency or not.
 * @param  {String}  key Currency identifier.
 * @return {Boolean}
 */
currencyAPI.hasCurrency(key);

/**
 * Returns the specified currency's object.
 * @param  {String} key Currency identifier.
 * @return {Object}     The currency object, will be undefined if the key isn't registered.
 */
currencyAPI.getCurrency(key);

/**
 * Returns an array of all registered currency identifiers.
 * @return {String[]}
 */
currencyAPI.getAllCurrencies();

/**
 * Returns the human readable name of the specified currency.
 * @param  {String} key Currency identifier.
 * @return {String}     Human readable name, will be Invalid Currency if the key isn't registered.
 */
currencyAPI.getCurrencyName(key);

/**
 * Returns whether the specified currency is shared or not.
 * @param  {String} key Currency identifier.
 * @return {Boolean}
 */
currencyAPI.getCurrencyIsShared(key);

/**
 * Returns the sync key of the specified currency. Sync key is used with player.setVariable()
 * @param  {String} key Currency identifier.
 * @return {String}     Sync key of the currency, will be null if the key isn't registered.
 */
currencyAPI.getCurrencySyncKey(key);
События Currency API(Events)
/**
 * currencyDefined
 * This event is called when a currency is added to the system with currencyAPI.addCurrency
 * @param {String} key Currency identifier.
 * @param {String} name Human readable name of the currency.
 * @param {Boolean} isShared Whether the currency is shared or not.
 * @param {String} syncKey If the currency is shared, this string will be used with player.setVariable() to transfer data to clientside.
 */
currencyAPI.on("currencyDefined", (key, name, isShared, syncKey) => {
    // Your code here
});

/**
 * walletReplaced
 * This event is called when a player's wallet object gets replaced by player.setWallet()
 * @param {Player} player The player who had a wallet change.
 * @param {Object} oldWallet Old wallet object of the player.
 * @param {Object} newWallet New wallet object of the player.
 */
currencyAPI.on("walletReplaced", (player, oldWallet, newWallet) => {
    // Your code here
});

/**
 * currencyUpdated
 * This event is called when a player's wallet has a currency change.
 * @param {Player} player The player who had a currency change.
 * @param {String} currencyKey Currency identifier.
 * @param {Number} oldAmount The player's old amount of currency.
 * @param {Number} newAmount The player's new amount of currency.
 * @param {String} source Name of the function that triggered this update, will either be "setCurrency" or "changeCurrency".
 */
currencyAPI.on("currencyUpdated", (player, currencyKey, oldAmount, newAmount, source) => {
    // Your code here
});
Player API
/**
 * Returns the wallet object of the player.
 * @return {Object}
 */
player.getWallet();

/**
 * Replaces the wallet object of the player with the specified one.
 * @param {Object} newWallet
 * @return {Boolean} True if successful, false otherwise.
 * @fires walletReplaced
 */
player.setWallet(newWallet);

/**
 * Returns the amount of specified currency the player has in their wallet.
 * @param  {String} currencyKey Currency identifier.
 * @return {Number}
 */
player.getCurrency(currencyKey);

/**
 * Sets the amount of specified currency the player has in their wallet.
 * @param {String} currencyKey Currency identifier.
 * @param {Number} newAmount   New amount of specified currency.
 * @return {Boolean} True if successful, false otherwise.
 * @fires currencyUpdated
 */
player.setCurrency(currencyKey, newAmount);

/**
 * Changes the amount of specified currency the player has in their wallet by specified amount.
 * @param  {String} currencyKey Currency identifier.
 * @param  {Number} amount
 * @return {Boolean}            True if successful, false otherwise.
 */
player.changeCurrency(currencyKey, amount);
Примеры:
Готовый тестовый скрипт, обновит худ денег, если вы выдадите себе деньги. (Используется при разработке)
ServerSide Code:
// SERVERSIDE CODE
const currencyAPI = require("../currency-api");

// Events
currencyAPI.on("currencyDefined", (key, name, isShared, syncKey) => {
    console.log(`Currency defined, key: ${key} | name: ${name} | isShared: ${isShared ? `yes, sync key: ${syncKey}` : "no"}`);
});

currencyAPI.on("walletReplaced", (player, oldWallet, newWallet) => {
    console.log("==============================");
    console.log(`${player.name} had their wallet replaced.`);
    console.log(`Old wallet currencies: ${Object.keys(oldWallet).join(",")}`);
    console.log(`New wallet currencies: ${Object.keys(newWallet).join(",")}`);
    console.log("==============================");
});

currencyAPI.on("currencyUpdated", (player, currencyKey, oldAmount, newAmount, source) => {
    const diff = newAmount - oldAmount;
    console.log(`${player.name} ${diff < 0 ? "lost" : "got"} ${Math.abs(diff)} ${currencyAPI.getCurrencyName(currencyKey)} (${currencyKey}). (caused by: ${source})`);
});

// Register currencies
currencyAPI.addCurrency("cash", "Money", true); // since isShared is true, we can use currency_cash shared variable on clientside
currencyAPI.addCurrency("vip_tokens", "VIP Currency", false);

// Test commands
const fs = require("fs");
const path = require("path");

// Do /savewallet to save your wallet to a JSON file. (file path will be printed to console)
mp.events.addCommand("savewallet", (player) => {
    const saveDir = path.join(__dirname, "wallets");
    if (!fs.existsSync(saveDir)) fs.mkdirSync(saveDir);

    const playerPath = path.join(saveDir, `${player.socialClub}.json`);
    fs.writeFileSync(playerPath, JSON.stringify(player.getWallet(), null, 2));

    player.outputChatBox("Wallet saved.");
    console.log(`Player ${player.name} saved their wallet. (${playerPath})`);
});

// Do /loadwallet to load your wallet from a JSON file.
mp.events.addCommand("loadwallet", (player) => {
    const playerPath = path.join(__dirname, "wallets", `${player.socialClub}.json`);

    if (fs.existsSync(playerPath)) {
        player.setWallet(JSON.parse(fs.readFileSync(playerPath)));
        player.outputChatBox("Wallet loaded.");
    } else {
        player.outputChatBox("Wallet file not found.");
    }
});

// Do /mytokens to see your VIP tokens currency amount.
mp.events.addCommand("mytokens", (player) => {
    player.outputChatBox(`Your VIP tokens: ${player.getCurrency("vip_tokens")}`);
});

// Do /wallet to list the currencies you have.
mp.events.addCommand("wallet", (player) => {
    const wallet = player.getWallet();

    player.outputChatBox("Your wallet:");
    for (const [key, value] of Object.entries(wallet)) player.outputChatBox(`${currencyAPI.getCurrencyName(key)}: ${value}`);
});

// Do /setcurrency [key] [amount] to set your currency amount.
mp.events.addCommand("setcurrency", (player, _, currencyKey, amount) => {
    amount = Number(amount);

    if (player.setCurrency(currencyKey, amount)) {
        player.outputChatBox(`Set ${currencyAPI.getCurrencyName(currencyKey)} (${currencyKey}) to ${amount}.`);
    } else {
        player.outputChatBox("Failed to set currency.");
    }
});

// Do /changecurrency [key] [amount] to change your currency amount by specified value.
mp.events.addCommand("changecurrency", (player, _, currencyKey, amount) => {
    amount = Number(amount);

    if (player.changeCurrency(currencyKey, amount)) {
        player.outputChatBox(`${currencyAPI.getCurrencyName(currencyKey)} (${currencyKey}) changed by ${amount}.`);
    } else {
        player.outputChatBox("Failed to change currency.");
    }
});
ClientSide Code:
mp.events.addDataHandler("currency_cash", (entity, value) => {
    if (entity.handle === mp.players.local.handle) {
        mp.game.stats.statSetInt(mp.game.joaat("SP0_TOTAL_CASH"), value, false);
        mp.gui.chat.push(`(clientside) currency_cash updated, new value: ${value}`);
    }
});
Автор: rootcause
Версия:
1.0
У вас нет доступа к скачиванию файлов с нашего сервера

Привет, наша адмнистрация публикует только пушечный контент, поставь лайк под постом ниже и напишите самый топовый комментарий, мы готовим материал только для тебя, любимый Гость.

Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.
Наши сервисы
Язык сайта
Комментарии

[GTA 5] Готовый сервер - West RP для RAGE Multiplayer

Всем кто отписал в группу вк пароль выдается в течение дня, хватит спамить

[GTA 5] Готовый сервер - CyberState RP для alt:V Multiplayer

на форуме альтв можешь этого челика поискать помойму вот дискорд автора Milawka#9958

[GTA 5] Готовый сервер - West RP для RAGE Multiplayer

Дайте пароль плз 

[GTA 5] Готовый сервер - West RP для RAGE Multiplayer

Дайте пароль пожалуйста

[GTA 5] Готовый сервер - West RP для RAGE Multiplayer

Скажите, у всех в файле worlds.json пусто?На видео там несколько десятков кб, а здесь он пустой размещен! Пароль дайте пожалуйста!

Полный слив сервера Project Reborn GTA 5 RP для RAGE Multiplayer

Гуд инзэ гуд

[GTA 5] Как заменить модели на сервере RAGE Multiplayer?

А есть туториал, где скаченные кастомные карты экспортируем?

[GTA 5] Готовый сервер - West RP для RAGE Multiplayer

Я что не так сделал? у меня все крыво показывает.  ​ФОТО​​​

[GTA 5] Готовый сервер - West RP для RAGE Multiplayer

пароль можете выслать?

[GTA 5] Готовый сервер - West RP для RAGE Multiplayer

Можно пароль?

30 посетителей на сайте. Из них:
Пользователи7
Гости19
Роботы4
Список пользователей
EgoJD Сейчас на сайте
darkosiel Сейчас на сайте
silverj Сейчас на сайте
LeVeLX Сейчас на сайте
Fallen Angel Сейчас на сайте
st1v303 Сейчас на сайте
Валерий Сидоренко Сейчас на сайте
Den_Melnikov_IT Сейчас на сайте
Andy_Moriarty Был(a) в сети 4 минуты назад
mafof Был(a) в сети 10 минут назад

Как вы нас нашли?
Информация

Добро пожаловать на RAGE-MULTIPLAYER.RU!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

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