У меня есть триггер создающий юнита на стартовой позиций для каждого игрока по отдельности, при этом в Свойствах Игрока не стоит фиксация исходных позиций потому что я хочу, чтобы игроки каждый раз появлялись в разных местах, и из этого и вытекает ошибка. Игра, иногда, создает на одной стартовой локации (т.е. буквально друг с другом) здания двух разных игроков. Как это можно исправить не фиксируя исходные позиции игроков?

Важно получить координаты стартовых позиций не по запросу триггера, предполагал их просто достать из файла war3map.j, но подумал: "Зачем это надо?" В итоге реализовал триггер так, что группа игроков стала не нужна.
Если полностью игроки в лобби не наберутся, то можешь удалять башню, для этого замени действие категории Боевая единица на это:
Custom script'ы устраняют утечки.
Загруженные файлы
`
ОЖИДАНИЕ РЕКЛАМЫ...
26
Нужен массив из 11 точек с позициями стартовых локаций от loc[0] до loc[10]. И нужна группа игроков с 1 по 11. Циклом от 0 до 10 проходишь по массиву точек и ставишь в точку башню случайного игрока из твоей группы игроков, потом удаляешь игрока из группы и направляешь камеру владельца башни на неё.
В таком триггере делай фиксацию позиций игроков, всё равно триггер их случайно расставит, если режим кинематики в нём не включишь.
28
Dark_Chevsk, триггер верный, странно, что работает не верно.
3
Dark_Chevsk, патч 1.31? Я на нем тоже заметил этот баг, в начале игры камера переносится на неверную позицию, но мб это и раньше было.
5
Drynwhyl:
Dark_Chevsk, патч 1.31? Я на нем тоже заметил этот баг, в начале игры камера переносится на неверную позицию, но мб это и раньше было.
Нет патч 1.26a
8gabriel8:
Нужен массив из 11 точек с позициями стартовых локаций от loc[0] до loc[10]. И нужна группа игроков с 1 по 11. Циклом от 0 до 10 проходишь по массиву точек и ставишь в точку башню случайного игрока из твоей группы игроков, потом удаляешь игрока из группы и направляешь камеру владельца башни на неё.
В таком триггере делай фиксацию позиций игроков, всё равно триггер их случайно расставит, если режим кинематики в нём не включишь.
можно примерно показать триггер?
26
Важно получить координаты стартовых позиций не по запросу триггера, предполагал их просто достать из файла war3map.j, но подумал: "Зачем это надо?" В итоге реализовал триггер так, что группа игроков стала не нужна.
Если полностью игроки в лобби не наберутся, то можешь удалять башню, для этого замени действие категории Боевая единица на это:
Custom script'ы устраняют утечки.
Загруженные файлы
Принятый ответ
24
А работает ли оно исправно со стандартными стартовыми юнитами из стандартного триггера инициализации карты? Если нет - что-то пошло совсем не так, может вы main меняли через inject? А если работает со стандартными, а с кастомными не хочет, то я даже не знаю что думать.
26
Юнитов не расставлял, но с проблемой автора столкнулся, на новой карте ставит две башни в одну позицию. Так что main через inject отпадает. Если только это не JNGP мутит.
Dark_Chevsk, событие инициализации попробуй поставить или это время уменьшить. А то выставил большое время, так как опасался, что камера не встанет в нужное положение.
prog, сделал так и проверил в обычном редакторе. Всё равно две в одной получаются. При этом интересно стало, что всегда две в одной, а не три и больше.
Загруженные файлы
24
8gabriel8, я имел в виду стандартное действие которое всем сразу выдает стартовых юнитов, а не отдельному игроку. Которое не спрашивает куда создавать, а само перебирает стартовые точки.
26
Если просто поставить стандартную команду вместо триггера, то уже не те условия получатся, так как команда создаёт стартовую позицию, только если игрок играет, то есть получаются по стандарту у редактора в лобби только два игрока - красный и синий. Поэтому перевёл команду в код, удалил там проверку слота на игру и call Preloader( "scripts\\SharedMelee.pld" ), в итоге получил в игре создание всех баз изначально на своих местах, как и было задано в редакторе, но красная и синяя база скакали по всем позициям. То есть скорее всего стартовые позиции изначально задаются в карте, потом в процессе инициализации для играющих слотов выбираются случайные позиции из имеющихся и потом в них создаются юниты. То есть проблема Dark_Chevsk из-за того, что он создавал юнитов в позиции игроков, которые не играли.
24
8gabriel8, ну вот и ответ, видимо - не пытаться создавать юнитов для пустых слотов или гарантировать что все слоты не пустые.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.