Первая проблема решается просто, ещё один массив PlayerIndex.
Set PlayerIndex[Buf_B] = Integer A
А ещё после цикла ячейка Buf_B пропускается, потому новая кнопка записывается в ячейку Buf_B + 1.
Вторую часть не cовсем понял. Т.е. вы имеете ввиду что новая кнопка может перезаписать старую?
Но ведь создастся B кнопок? А последнюю я записываю в B +1 Obelick:
Можно использовать на цикл, а выбрать всех играющих игроков.
И я не знаю, можно ли показывать кнопки локально для каждого игрока. Если сначала один игрок откроет диалог, а затем через несколько секунд другой, то у первого он так же обновится. Я в своем случае не стал парится и показываю всех игроков, а уже на момент нажатия кнопки проверяю, что с собой игрок ничего не может сделать.
При таком подходе если допустим первый игрок не играет. В массиве под номером 0(или 1) не будет ничего записано. И это вроде бы повлияет потом на отслеживание нажатой кнопки?
узнаем количество игроков который получил голосование если 6 игрок то 6 голос. Создаем переменную 6 пока все голосует уменшает по 1 единиц если равен 0 то голосование окончено и подводим итог. Не вижу сложного главное воображай механику.
Если слот игрока пуст то на него же тоже создается диалог? Т.к. я не знаю кому именно и на каких слотах показывать диалог, поэтому показываю и создаю всем возможным
Можно конкретнее описать проблему, как это должно выглядеть?
Ну что же попробую. Если играли в цивилизацию то там есть Съезд ООН (или типо того) там игроки вносят свои предложения(резолюции) и голосуют за них.
Итак: Должно быть несколько диалогов (для каждого игрока).
Диалог примерно должен выглядеть следующим образом
(За взаимоисключает против и наооборот)
Вроде все.
Диалог с предложением резолюции я уж сам сделаю
Функции native называют нативками. В данном случае эта функция проверяет проходимость и должна иметь ответы Да или Нет, то есть она логическая, ищи условие в Boolean Comparsion.
Вот оно:
Cпасибо, помогло. А есть что то такое для проверки есть ли в области разрушаемые объекты? (деревья например)
Ну это просто:
если они спавнятся в центре области, а область перемещается периодически. Значит возьмем этот центр как основную точку. лучше конечно перемещать точку, чем рект. Но дело ваше
проверять расстояние между осн точкой и центром поселения. Указываете сами опр дистанцию. если больше указанного расстояния, значит спавнить можно
проверка. пикаете все здания игроков на карте. перебираете циклом каждое здание: чекаете расстояние между выбранным зданием и осн точкой. Если ни одно здание не попала в радиус, можно спавнить
Заранее в вашем поселении на карте расставить области, объединить их в один регион. Лучше объединить в один, тк проще проверять будет. Это будет своего рода метка. И будешь проверять попала ли осн точка в регион или область (есть нативки).
» WarCraft 3 / Диалог возвращающий номер или имя выбранного игрока.
Но ведь создастся B кнопок? А последнюю я записываю в B +1
Obelick:
» WarCraft 3 / Отследить что все игроки закрыли диалоговое окно.
В общем решил что буду принудительно закрывать через N-е время. Т.к. человек и правда может быть афк.
» WarCraft 3 / Отследить что все игроки закрыли диалоговое окно.
Скрыть и очистить вроде видел, но закрыть? Или это и есть оно?
» WarCraft 3 / Динамический диалог
Я пока сделал так prnt.sc/mdmz0u
Не тестил конечно. Но похожая схема с другим моим диалогом работает.
» WarCraft 3 / Динамический диалог
» WarCraft 3 / Отследить что все игроки закрыли диалоговое окно.
Ред. Феникс
» WarCraft 3 / Динамический диалог
Итак: Должно быть несколько диалогов (для каждого игрока).
Диалог примерно должен выглядеть следующим образом
Диалог с предложением резолюции я уж сам сделаю
» WarCraft 3 / Динамический диалог
» WarCraft 3 / Проверка на нахождение региона на неровной поверхности или воде
» WarCraft 3 / Проверка на нахождение региона на неровной поверхности или воде
» WarCraft 3 / Проверка на наличие юнитов рядом с областью