Для тех кто удивится что имена не присваиваются когда кто то подключается нужно переместить CmdSetPlayerName(playerName); в if (isClient && isLocalPlayer) а ниже добавить обработчик который будет обновлять имена при подключении нового пользователя. [Command(requiresAuthority = false)] public void RpcInitPlayers() { var users = FindObjectsOfType(); foreach (var player in users) { if (player.GetComponent().netId == GetComponent().netId) { RpcSetVisibleName(player.username); } } } public override void OnStartClient() { base.OnStartClient(); RpcInitPlayers(); } И все заработает.
@РоманГолдун-й3и17 күн бұрын
Я удивляюсь, что в комментариях никто не говорит, что код говной воняет
@dimasmlgg2 жыл бұрын
прям в день победы, а ведь видео реально помогает победить сложности мультиплеера
@tokiiskirukav2 жыл бұрын
Спасибо за монтаж
@meduzaed9005 Жыл бұрын
у меня вопрос но я еще не досмотрел . а что все через command можно?) а как же [Mirror.Server]?*
@-_16026 күн бұрын
здраствуйте очень был полезное виде но умен изменяется Mesh через скрит море вопящем и не как не могу понять как волны сделать одинаковые там и там
@simonsays1425 күн бұрын
не знаю, как это правильно сделать, либо надо копать в сторону синхронизации рендера видеокарты (не знаю существует ли такая функция), либо нужно положение вершин, ребер и uv меша записывать в переменные на сервере. и эти переменные передавать всем клиентам в радиусе видимости волны. А дальше каждый клиент запишет все эти переменные в свою сетку и обновит ее.
@KlausTemnozor Жыл бұрын
clientLoadedScene недоступен из-за уровня защиты в PlayerManager как устранить ошибку
@rahatbakum78522 жыл бұрын
🔥
@SgefestS2 жыл бұрын
Привет, подскажи как с тобой можно связаться?
@lora69382 жыл бұрын
Можете подсказать? Если в игре на сервере будет одна игровая сцена. Сцена предназначена для двух игроков (дуэль). Как большому количеству людей переходящим к этой сцене подключаясь к ней, играть как бы в отдельных комнатах-линиях-портах, не знаю как это назвать. Потому что если они все зайдут в неё то вся толпа там окажется. А как сделать что бы на сцене каждый играл парами, и при этом другие не ждали пока освободится сцена. Неужели нужно делать массу копий одной игровой сцены, и если та сцена куда пытается войти игрок занята, то для него будет находиться свободная сцена? Подскажите пожалуйста как это устроено? 🙏🙏🙏
@exregisterqq2 жыл бұрын
поищи информацию о лобби (в ютубе есть) , это то что тебе нужно. одно лобби = одна сцена и появляется она динамически. могу объяснить вкратце. в игре должнен быть список созданных лобби игроком. игрок создаёт лобби, одновременно является и хостом (сервером), и игроком (клиентом) . соответственно для него создаётся отдельная сцена, раз это уже типа отдельный сервак. к сцене (серверу) через список лобби уже подключится еще один игрок (просто клиент) и, в твоем случае уже должна начинаться игра
@exregisterqq2 жыл бұрын
либо просто через подбор игроков, эта штука тоже есть в мирроре, поищи тоже)
@simonsays1422 жыл бұрын
вам скорее всего, нужна система комнат. mirror-networking.gitbook.io/docs/examples/room
@lora69382 жыл бұрын
Я понимаю что это будет работать если использовать Хост, создавать сервер вместе с собой на нём на своём устройстве или ПК. Но я имела ввиду когда выделенный сервер, когда он один общий и все к нему подключаются и переходят на игровую одну сцену но по разным как бы линиям(может это и есть комнаты) , для того чтобы не пришлось создавать кучу копий сцены. Комнаты и лобби сработают для такого?
@СтепанБлохин-з6с2 жыл бұрын
ХЕЛП!! Ошибка в скрипте Assets\Scripts\InputManager.cs(12,15): error CS0246: The type or namespace name 'InputManager' could not be found (are you missing a using directive or an assembly reference?) private static InputManager _instance; public static InputManager Instance { get Хотя все делал 1 в 1 по видео (((
@stellar-play2 жыл бұрын
private static InputManager instance; public static InputManager Instance { get { return instance; } }