• Из-за обновления 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) последний раз были обновлены:

Проблема Вопрос с чатиком

DOSA & MIWUK

Начинающий специалист
Автор темы
14 Дек 2022
172
19
58
Смотрите, сделал кастомные ивенты,и почему то чат работает некорректно, использую все правильно(все выводится) команда (/s, /b, /do) и т.д работает а вот в обычный чат когда пишу не работает,кто знает в чем проблема может быть
 

Inoi

/dev/null
VIP
15 Окт 2020
2,447
1,447
208
34
что значит кастомные евенты?
насколько я видел почти во всех сборках стоит один и тот же кастомный чат +-

что-то вроде

JavaScript:
chat.js
.......

var chatAPI = {
    push: (text) => {
        chat.size++;
        chat.container = $(".chat ul.chat_messages");
        if (chat.size >= 50) chat.container.children(":first").remove();
        if (chat.timestamp == 0) chat.container.append("<li>" + text + "</li>");
        else chat.container.append("<li>[" + chat.stime + "] " + text + "</li>");
        chat.container.scrollTop(9999);
    },

    clear: () => {
        chat.container.html("");
    },

    activate: (toggle) => {
        if (toggle == false && $('.footer_chat').hasClass('active')) enableChatInput(false);
        chat.active = toggle;
    },

    show: (toggle) => {
        if (toggle) chatvar.show();
        else chatvar.hide();
        chat.active = toggle;
    }
};

if (mp.events) {
    let api = { "chat:push": chatAPI.push, "chat:clear": chatAPI.clear, "chat:activate": chatAPI.activate, "chat:show": chatAPI.show };

    for (let fn in api) {
        mp.events.add(fn, api[fn]);
    }
}

и у тебя есть какой-то евент в худе или где-то ещё который обрабатывает сообщения с сервера, и вызывает чат апи

если у тебя работают команды - получается то что ты вводишь в чате уходит на сервер, но не возвращается обратно
значит тебе нужно проверить всю цепочку от своего

C#:
SafeTrigger.ClientEvent(player, "sendChat", "s", "{name} кричит: " + message, names);
до обработки на клиенте внутри этого евента сообщения и отправки в чат апи

JavaScript:
mp.events.add('sendChat', (type, msg, players) => {
....
// всякие-разные обработки
....
  mp.gui.chat.push(msg);
// или
 browser.call("chat:push", msg);
// в зависимости от того, обозначен ли у тебя чат как browser.markAsChat()
});

Если ты сделал "свои кастомные евенты" и всё перестало работать - видимо дело в них.
Но ты же их не показываешь - получается принти себе в консоль или нотифайки то, что через них проходит, чтобы понять где ты ошибся
 

DOSA & MIWUK

Начинающий специалист
Автор темы
14 Дек 2022
172
19
58
что значит кастомные евенты?
насколько я видел почти во всех сборках стоит один и тот же кастомный чат +-

что-то вроде

JavaScript:
chat.js
.......

var chatAPI = {
    push: (text) => {
        chat.size++;
        chat.container = $(".chat ul.chat_messages");
        if (chat.size >= 50) chat.container.children(":first").remove();
        if (chat.timestamp == 0) chat.container.append("<li>" + text + "</li>");
        else chat.container.append("<li>[" + chat.stime + "] " + text + "</li>");
        chat.container.scrollTop(9999);
    },

    clear: () => {
        chat.container.html("");
    },

    activate: (toggle) => {
        if (toggle == false && $('.footer_chat').hasClass('active')) enableChatInput(false);
        chat.active = toggle;
    },

    show: (toggle) => {
        if (toggle) chatvar.show();
        else chatvar.hide();
        chat.active = toggle;
    }
};

if (mp.events) {
    let api = { "chat:push": chatAPI.push, "chat:clear": chatAPI.clear, "chat:activate": chatAPI.activate, "chat:show": chatAPI.show };

    for (let fn in api) {
        mp.events.add(fn, api[fn]);
    }
}

и у тебя есть какой-то евент в худе или где-то ещё который обрабатывает сообщения с сервера, и вызывает чат апи

если у тебя работают команды - получается то что ты вводишь в чате уходит на сервер, но не возвращается обратно
значит тебе нужно проверить всю цепочку от своего

C#:
SafeTrigger.ClientEvent(player, "sendChat", "s", "{name} кричит: " + message, names);
до обработки на клиенте внутри этого евента сообщения и отправки в чат апи

JavaScript:
mp.events.add('sendChat', (type, msg, players) => {
....
// всякие-разные обработки
....
  mp.gui.chat.push(msg);
// или
browser.call("chat:push", msg);
// в зависимости от того, обозначен ли у тебя чат как browser.markAsChat()
});

Если ты сделал "свои кастомные евенты" и всё перестало работать - видимо дело в них.
Но ты же их не показываешь - получается принти себе в консоль или нотифайки то, что через них проходит, чтобы понять где ты ошибся
к сожалению у меня стандарт "редаговский метод" с mp.events.add не будет работать ибо у меня кастомные ивенты %)
 

Inoi

/dev/null
VIP
15 Окт 2020
2,447
1,447
208
34
к сожалению у меня стандарт "редаговский метод" с mp.events.add не будет работать ибо у меня кастомные ивенты %)
что значит кастомные евенты?
mp.events.add - это не "редаговский метод", это функция рейджа
 

DOSA & MIWUK

Начинающий специалист
Автор темы
14 Дек 2022
172
19
58

DOSA & MIWUK

Начинающий специалист
Автор темы
14 Дек 2022
172
19
58
так
и в чём проблема
ну поменяй название функции с mp.events.add на ту, которой ты её присвоил
глобально это же ничего не меняет
уже изменено к сожалению не работает
 

DOSA & MIWUK

Начинающий специалист
Автор темы
14 Дек 2022
172
19
58
буду логировать
 

Inoi

/dev/null
VIP
15 Окт 2020
2,447
1,447
208
34
я просто не понимаю вопроса типа
как можно тогда что-то тебе посоветовать, если у тебя какие то свои "зашифрованные функции", которые теперь не работают :roflanebalo:
что вообще значит зашифрованные? как можно зашифровать жс, чтобы он при этом остался исполняемым?
ну типа как будто бы не хватает немножко информации

ты сделал чего-то вроде
JavaScript:
global.GenalnayaShifrovka = mp.events.callRemote
    mp.events.callRemote = null
и всё перестало работать?

или ты завёл новую глобальную функцию, типа как "апи" и убрал евенты внутрь, с замыканием и называешь это шифрованием?
или обфусцировал код?

ну непонятно же нихуя просто
как можно ответить на вопрос почему не работает - если ты не объясняешь нормально, что ты сделал

"у меня шифрованный код"
ну заебись, поэтому и не работает, ы :roflanebalo: