• Из-за обновления GTA 5 (был добавлен новый патч) может временно не работать вход в 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/ru/newswire/
    Статус всех служб для Rockstar Games Launcher и поддерживаемых игр: https://support.rockstargames.com/ru/servicestatus


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

Вопрос Как передать аргументы команды?

Ilya Bochenin

Участник портала
Автор темы
28 Май 2022
87
8
23
Как передать аргументы команды в mp.invoke просто не могу понять как сделать чтобы код понимал что после пробела идёт аргумент?
 

XDeveluxe

Модератор
Команда форума
high coder
30 Авг 2021
2,220
1,422
191
27
Ивент принятия команд сам понимает где аргументы, а где команда (насколько мне известно). Всё, что тебе нужно - отправить в нужный ивент всю строку (без '/').
JavaScript:
mp.invoke("command", "testcmd arg1 arg2 arg3");
 

Ilya Bochenin

Участник портала
Автор темы
28 Май 2022
87
8
23
Ивент принятия команд сам понимает где аргументы, а где команда (насколько мне известно). Всё, что тебе нужно - отправить в нужный ивент всю строку (без '/').
JavaScript:
mp.invoke("command", "testcmd arg1 arg2 arg3");
спасибо а как возвращать ошибку из чата при выполнении команды чтобы потом вызвать уведомление например USAGE: /amakeleader [factionid]?
 

XDeveluxe

Модератор
Команда форума
high coder
30 Авг 2021
2,220
1,422
191
27
спасибо а как возвращать ошибку из чата при выполнении команды чтобы потом вызвать уведомление например USAGE: /amakeleader [factionid]?
Это стандартное уведомление, когда человек вводит неверное количество аргументов, для этого не нужно ничего дополнительно писать.
Но на C# сервере (на JS не знаю, не искал) дополнительно есть вот такой метод - SetCommandErrorMessage, с помощью которого можно изменить текст ошибки.
 

Ilya Bochenin

Участник портала
Автор темы
28 Май 2022
87
8
23
Это стандартное уведомление, когда человек вводит неверное количество аргументов, для этого не нужно ничего дополнительно писать.
Но на C# сервере (на JS не знаю, не искал) дополнительно есть вот такой метод - SetCommandErrorMessage, с помощью которого можно изменить текст ошибки.
я знаю что это стандартное уведомление просто я хочу их выводить не в чат а в консоль, если при выполнении команды она возникала то вызывала метод в самой консоли можно ли такое реализовать
 

XDeveluxe

Модератор
Команда форума
high coder
30 Авг 2021
2,220
1,422
191
27
я знаю что это стандартное уведомление просто я хочу их выводить не в чат а в консоль, если при выполнении команды она возникала то вызывала метод в самой консоли можно ли такое реализовать
Полагаю, что для такого тебе придётся написать свой обработчик команд. Стандартный обработчик в RAGE - CommandAttribute не даёт такой опции.
Внутри Boostrapper'а это выглядит вот так.
C#:
public bool Parse(Player sender, string cmdRaw, string ourcmd, string[] args)
{
    if (GameServer.GlobalDefaultCommandMessages && !this.Hide && (args.Length < this.Parameters.Length - this.OptionalArguments || (args.Length > this.Parameters.Length && !this.Greedy)))
    {
        NAPI.Chat.SendChatMessageToPlayer(sender, this.HelpText, true);
        return true;
    }
 

Ilya Bochenin

Участник портала
Автор темы
28 Май 2022
87
8
23
Хорошо а как тогда заменить этот класс в boostrapper?
 

XDeveluxe

Модератор
Команда форума
high coder
30 Авг 2021
2,220
1,422
191
27
Хорошо а как тогда заменить этот класс в boostrapper?
Ну, можешь открыть его чем-нибудь и перекомпилировать как нужно тебе, но это такое себе решение. Проще тебе сделать свой обработчик команд, как мне кажется.