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

Проблема Нужна помощь.

Wlad1337

Активный участник
Автор темы
26 Янв 2021
25
0
41
Хотел бы узнать можно ли сделать привязку объекта к человеку на серверной части, или как сделать это между двумя частями.
Вот мой код
1634583032662.png
 

X-Clusiv

Модератор
Команда форума
high coder
4 Окт 2020
582
273
161
29
Добрый день. Предположим что вы хотите сделать так, чтобы игрок тащил ящик. Но у вас ящик отображается только у того кто делает это действие.
Чтобы действия были видны всем, нужно сделать синхронизацию.
В RageMP Сделать синхронизацию чего либо можно несколькими способами, один из них это использовать setVariable на стороне сервера, и отслеживать этот параметр на клиентах.
Допустим:
server
JavaScript:
mp.events.addCommand("takeBox", (player) => {
    player.setVariable("inHandsOf", "box");
});

Клиент
JavaScript:
mp.events.addDataHandler({
    "inHandsOf":(entity, value, oldValue)=>{//данный обработчик будет вызван тогда когда на сервере будет изменен параметр inHandsOf
        if(entity.type==='player'){
            //И здесь уже размещаем ваш код прикрепления коробки к entity. entity это сущность у которой был изменен параметр inHandsOf сущностью могут быть не только игроки но и машины, блипы, колшейпы и т.д. поэтому мы и проверяем тип entity строкой выше.
        }
    }
})
Также хочу заметить что данный спопоб работает для тех игроков которые находятся рядом с клиентом(в области стрима). Т.е. Если какой-то игрок придет из вне этой области, то клиент не увидит в его руках бокс, так как обработчик что выше, не сработал при изменении параметра у игрока что вошел в стрим совсем недавно. Поэтому нужно еще написать обработчик для тех кто входит в стрим.
Клиент:

JavaScript:
mp.events.add('entityStreamIn', (entity) => {
    if(entity.type==='player'){
        const handsOf = entity.getVariable('inHandsOf');
        if(handsOf){
            //Здесь тот же код прикрепления коробки
        }
    }
});
 
Последнее редактирование: