Multiplayer

  • Автор темы Автор темы Dimosen
  • Дата начала Дата начала
Горила Макака
Начинающий
Начинающий
Статус
Оффлайн
Регистрация
17 Ноя 2020
Сообщения
139
Реакции
21
Как сделать что-бы когда предмет аттачился к одному игроку, для другого игрока он так же атачился к другому игроку, а то два игрока есть, один берет предмет а для другого он лежит
 
Сделай цикл, в котором будет:

пока (i <= connectedPlayers)
{
если (isItemTaken)
заспавнить альтернативный предмет();
++i;
}

Если ты хочешь, чтобы предмет спавнился всегда, даже если кол-во игроков, которое его взяло, будет максимальным, то эта пока (i <= connectedPlayers) часть не нужна.


Конкретно не могу ничего сказать, т.к. не шарю за анриал, но если ты знаешь, что ты делаешь, - ты меня поймёшь.
 
Как было сказано выше, вы должны пройти « replication». Вы должны создать «событие», которое использует сервер, и это «event» отправит информацию обратно всем клиентам.
Советую поискать на Youtube, вы быстро найдете обучающие программы.
 
Следующее решит вашу проблему:
1) Вызовите функцию Equip вашей игры с сервера.
2) Затем серверу необходимо выполнить многоадресную рассылку изменений.

Выполнение вышеуказанного должно повторять каждое переключение передач для всех игроков, хотя это может быть дорого с точки зрения пропускной способности для P2P.
 
Как сделать что-бы когда предмет аттачился к одному игроку, для другого игрока он так же атачился к другому игроку, а то два игрока есть, один берет предмет а для другого он лежит
Тебе надо посмотреть уроки репликация вот самый быстрый из русских как по мне сразу все поймешь
 
Как сделать что-бы когда предмет аттачился к одному игроку, для другого игрока он так же атачился к другому игроку, а то два игрока есть, один берет предмет а для другого он лежит
Сперва в отношении самого предмета в мире, который подбирает один из игроков:
1. Он должен быть создан на основе класса, которого можно реплицировать по сети,
2. В настройках актора должна быть включена репликация данного объекта.
Затем уже у самих персонажей также должна быть включена репликация, при этом события взаимодействия с предметом должны выполняться на сервере... Для этого если у тебя функции в плюсах, то пометить их надо как "Server, Reliable" для гарантированного выполнения, а в cpp файле они будут _implementable.
 
Начиная с Unreal Engine 4.26 теперь надо ещё и мультикастить эвент который выполняется на сервере. Выглядит это так
 

Вложения

  • Снимок экрана (98).png
    Снимок экрана (98).png
    448.5 KB · Просмотры: 21
Назад
Сверху Снизу