• Из-за обновления GTA 5 (был добавлен новый патч) может временно не работать вход в RAGE Multiplayer.

    Ошибка: Ваша версия Grand Theft Auto V не поддерживается RAGE Multiplayer.
    ERROR: Your game version is not supported by RAGE Multiplayer.

    Данная ошибка говорит о том, что GTA V обновилась до новой версии (GTA Online тоже). Вам необходимо обновить саму игру в главном меню вашего приложения (Steam / Epic Games / Rockstar Games).
    Если после этого RAGE:MP все равно не работает - вам нужно дождаться выхода патча для самого мультиплеера (обычно это занимает от нескольких часов до нескольких дней).

    Новости и апдейты Rockstar Games - https://www.rockstargames.com/newswire/
    Статус всех служб для Rockstar Games Launcher и поддерживаемых игр: https://support.rockstargames.com/ru/servicestatus


    Grand Theft Auto 5 (+ GTA Online) последний раз были обновлены:

Вопрос Проблема Почему не обновляет переменную с балансом игрока?

Статус
В этой теме нельзя размещать новые ответы.

dereksjq

Участник портала
17 Июн 2023
64
10
20
JavaScript:
mp.events.addCommand("setmoney", (player, target, amount) => {
    if (amount == null) {
        player.outputChatBox("/setmoney [ID] [Money]")
        return;
    }

    if (GetPlayerByID(target) == null) {
        player.outputChatBox("Игрока нет на сервере!")
        return
    }

    GetPlayerByID(target).setVariable("cash", amount)
    player.outputChatBox(`Вы успешно установили $${amount} игроку !{#FF0000}${GetPlayerByID(target).name}`)
    GetPlayerByID(target).outputChatBox(`Администратор !{#FF0000}${player.name} !{#FFF}установил вам новый баланс. Ваш баланс: !{#FF0000}${GetPlayerByID(target).getVariable("cash")}`)
})
Код:
function GetPlayerByID(idPlayer) { return mp.players.at(parseInt(idPlayer)); }

b835bffb-4dda-49c0-b646-1b0ca4624dd9.jpg


Пробовал так же через data.cash - так же, только вместо "0" - "null0".
В вики про рейдж вообще setMoney, но оно у меня вызывает ошибку, мол нет такой функции.

UPD: возможно, что что-то не так с переменной "amount". Но только что?
 
Последнее редактирование:

youngBeaver

Покинул форум.
BackEnd developer
24 Янв 2023
1,202
469
171
Попробуй сначала получать в переменную таргет сущность, только потом через setvariable привязывать данные

UPD: Открыл вики, addCommand принимает вторым аргументом полный набор всех аргументов. Следственно, когда ты ищешь игрока по target, то ты получаешь помимо ид еще слитно количество денег. Из чего делаем вывод, что тебе нужно 4 параметра (player, fullText, targetID, amount)
 
Реакции: dereksjq и XDeveluxe

XDeveluxe

⚡️BackEnd Developer
Команда форума
Moderator
High developer
BackEnd developer
30 Авг 2021
2,995
1,728
211
28
Во-первых:
Зачем каждый раз выискивать игрока из пула всех игроков?
1695922806861.png


Почему бы не получить его 1 раз, не записать его в отдельную переменную и не работать далее с ней?

JavaScript:
let targetPlayer = GetPlayerByID(target);
Далее взаимодействуешь с targetPlayer.

Во-вторых:
Вполне вероятно, что у тебя проблема не с переменной "cash", а с переменной "amount", потому что при выводе мы видим, что {amount} равняется 0. Этот же 0 и записался в "cash".
В JS можно удобно проверять переменную сразу на все ненужные варианты по типу "пустой, undefined, null и т.д" с помощью:

JavaScript:
if (!amount)
{
    player.outputChatBox("/setmoney [ID] [Money]")
    return;
}
 

frytech

Участник портала
15 Янв 2022
128
13
53
Ну и код конечно, полный пиздец
Комментаторы выше безусловно правы, только это проблему не решит
У тебя amount либо undefined либо 0, вот и все, т.е. даже не передается значение
 

youngBeaver

Покинул форум.
BackEnd developer
24 Янв 2023
1,202
469
171
Зачем каждый раз выискивать игрока из пула всех игроков?
Посмотреть вложение 10351

Почему бы не получить его 1 раз, не записать его в отдельную переменную и не работать далее с ней?

JavaScript:
let targetPlayer = GetPlayerByID(target);
Далее взаимодействуешь с targetPlayer.
Я обновил свой комментарий, там в другом вероятнее всего ошибка. А так да, легче занять одну строчку и проинициализировать переменную таргетом, чем заниматься такими приколами
 
Статус
В этой теме нельзя размещать новые ответы.

Similar threads