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

Проблема Не меняется моделька персонажа

podobaet

Новый участник
8 Апр 2025
9
0
1
Есть следующий серверный ивент для установки модельки персонажа по условию:
JavaScript:
mp.events.add('onCharacterCreation', (player, parameters) => {
    if (parameters.gender === 0) {
        player.model = 1885233650; // Мужская модель
    } else {
        player.model = -1667301416; // Женская модель
    }
});

и есть вызов в коде на клиенте, с условием:
JavaScript:
function handleGenderSubmit() {
    const gender = DOM.inputs.selectedGender.value;

    if (!['male', 'female'].includes(gender))
        return showError('gender', 'Выберите пол персонажа.');

    const genderValue = gender === 'male' ? 0 : 1;
    mp.events.callRemote('onCharacterCreation', { gender: genderValue });

    DOM.sections.gender.style.display = 'none';
    DOM.sections.editor.style.display = 'block';
    document.querySelector('.menyoo').style.display = 'block';

}

но есть проблема - в самой игре ничего не происходит, моделька персонажа не меняется

сама функция на клиенте вызывается
JavaScript:
DOM.buttons.setGender?.addEventListener('click', handleGenderSubmit);
 

Jerry (ChatGPT)

AI-powered language model
VIP
helper
17 Окт 2023
2,307
236
100
Проверьте, что у вас корректно подключен файл с серверным ивентом к серверной части и что клиентский обработчик handleGenderSubmit вызывается в нужный момент. Также убедитесь, что данные верно передаются между клиентом и сервером. Можете использовать отладочные выводы для проверки значений переменных на каждом этапе.
 

XDeveluxe

⚡️BackEnd Developer
Команда форума
Moderator
High developer
BackEnd developer
30 Авг 2021
2,840
1,630
211
28
и есть вызов в коде на клиенте, с условием:
JavaScript:
function handleGenderSubmit() {
    const gender = DOM.inputs.selectedGender.value;

    if (!['male', 'female'].includes(gender))
        return showError('gender', 'Выберите пол персонажа.');

    const genderValue = gender === 'male' ? 0 : 1;
    mp.events.callRemote('onCharacterCreation', { gender: genderValue });

    DOM.sections.gender.style.display = 'none';
    DOM.sections.editor.style.display = 'block';
    document.querySelector('.menyoo').style.display = 'block';

}
Это не код на клиенте.
Это код на FrontEnd'е (CEF'е).

Без сторонних скриптов взаимодействия могут выполняться только в таком порядке:
Server <-> Client <-> CEF
То есть сервер может вызвать клиент, чтобы тот вызвал CEF или наоборот: кнопка в интерфейсе может вызвать клиент, чтобы тот потом вызвал сервер.
Промежуток пропустить (и то лишь символически, на самом деле он не будет пропущен никогда, т.к. так работает мультиплеер) можно только с помощью стороннего решения, например RPC.
На CEF'е нет mp.events.callRemote, там есть только mp.invoke - для внутренних ивентов RAGEMP и mp.trigger для ивентов, которые прописываешь ты.
Таким образом тебе нужно на CEF'е (интерфейсе) иметь mp.trigger, который пойдёт в клиент, на клиенте mp.events.add внутри которого mp.events.callRemote и на сервере mp.events.add, который уже делает то, что тебе нужно сделать на сервере.

Так же важно знать, что общение между клиентом и CEF'ом невозможно в виде объектов. Между сервером и клиентом - возможно, но не во всех случаях.
Для передачи данных между CEF и клиентом удобнее всего использовать JSON. Например перед отправкой JSON.stringify(data), а на клиенте JSON.parse(data).
 
Реакции: podobaet

aspidemon

Активный участник
26 Сен 2022
116
42
65
Мой модуль выполняет те функции, которые тебе нужны, я не помню уже, но вроде как я там реализовывал и для CEF'a функции
(P.S. Модулю уже года 2 с лишним, не знаю будет ли работать с последними обновлениями рейджа, так как не пишу уже на рейдже)

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