Страница 1 из 1

максимум игроков в комнате (в т.ч ботов)

СообщениеДобавлено: 09 мар 2014, 23:19
eresh
Привет, всем!

Есть такая задача: пока добавляются игроки - дополнять неполные комнаты. Если все комнаты полны - создавать новую и заходить туда мастером.
Это все работает, если это реальные игроки (используя JoinRandomRoom и т.д.).
А вот если мастеру добавлять ботов (через PhotonNetwork.InstantiateSceneObject), то эти самые боты не считаются за игрока и можно сделать как бы превышение кол-ва игроков в комнате.

Пример:
Мастером создана комната размеров в 5 игроков. Мастер - первый. Он добавляет 3-х ботов (через PhotonNetwork.InstantiateSceneObject) - уже как бы 4 игрока. Затем (через JoinRandomRoom) могут зайти не 1 игрок, а 4 игрока, т.к.ботов почему-то за реальных игроков не считают.

Подскажите, как воспользоваться JoinRandomRoom так, чтобы и боты считались за игроков?
Заранее благодарен за любую помощь или указанное направление - где копать :)

Re: максимум игроков в комнате (в т.ч ботов)

СообщениеДобавлено: 10 мар 2014, 23:10
eresh
Ну поделитесь своими мыслями, неужели ни у кого не было похожей проблемы?

Re: максимум игроков в комнате (в т.ч ботов)

СообщениеДобавлено: 10 мар 2014, 23:49
trololoid
Не использовать JoinRandomRoom.
Завести кастомПропс, описывающий текущее количество игроков+боты или что-то в этом роде.
Когда нужно - получать список всех комнат, пройтись по ним циклом, внутри которого сравнивается число из кастомПропсов с максимальным кол-вом игроков и если то число меньше - заносить в лист название комнаты.
Дальше рендомом выбираем из листа стрингов одну единственную или с наименьшим количеством игроков -> коннект по названию.
если нет подходящих комнат - создаем.

Думаю не упустил ничего важного :ymhug:

Советую почитать доку про пропсы у комнат и кто их может изменять :)

Re: максимум игроков в комнате (в т.ч ботов)

СообщениеДобавлено: 11 мар 2014, 09:14
lol
Я просто написал метод бот-автобаланс. Мастер клиент в начале заполняет комнату до максимума ботами. Потом следит за входами игроков и удаляет бота, если он лишний или добавляет, если комната не полная и игрок вышел.

Re: максимум игроков в комнате (в т.ч ботов)

СообщениеДобавлено: 11 мар 2014, 22:59
eresh
trololoid писал(а):Не использовать JoinRandomRoom.
Завести кастомПропс, описывающий текущее количество игроков+боты или что-то в этом роде.
Когда нужно - получать список всех комнат, пройтись по ним циклом, внутри которого сравнивается число из кастомПропсов с максимальным кол-вом игроков и если то число меньше - заносить в лист название комнаты.
Дальше рендомом выбираем из листа стрингов одну единственную или с наименьшим количеством игроков -> коннект по названию.
если нет подходящих комнат - создаем.

Думаю не упустил ничего важного :ymhug:

Советую почитать доку про пропсы у комнат и кто их может изменять :)

Спасибо, хорошее решение. Видимо, придется так и делать. Просто хотел максимально воспользоваться написанными примерами.

Re: максимум игроков в комнате (в т.ч ботов)

СообщениеДобавлено: 11 мар 2014, 23:02
eresh
lol писал(а):Я просто написал метод бот-автобаланс. Мастер клиент в начале заполняет комнату до максимума ботами. Потом следит за входами игроков и удаляет бота, если он лишний или добавляет, если комната не полная и игрок вышел.

Ха! Очень хитрое решение. Надо подумать, можно ли им воспользоваться. У меня цель такая - чтобы мастер практически не догадался, что заходят боты вместо реальных игроков. Это придется визуально отображать заходы совсем по-другому. В любом случае, спасибо за вариант.