Вопрос по триггерам Warcraft 3
Ребята, как сделать так:
Если герой заходит в определенную область - допустим "область база" то ему доступна
возможность покупать в магазине, вне зависимости рядом с магазином герой или нет.
Кто поможет огромное спасибо.

Лучший ответ:
Такие себе варианты будут... но самое простое, и что бы реально отразить именно то что ты описал - паузить магазины когда герой выходит из области, и снимать с них паузу когда герой входит в область (при этом сами магазины будут иметь увеличенный, если не глобальный, радиусе взаимодействия). Такая схема подойдём для одного игрока/героя, а вот для мультиплеера придётся ещё что-то придумать...


Views: 179

XGM Bot #1 - 4 months ago 1
Голосов: +2 / -1
Похожие вопросы:

» ответ
Вам сюда, господин хороший. Там есть ответы, практически, на все ваши вопросы.
» ответ
Закрыто.
» ответ
~8gabriel8:
Каждый вопрос заслуживает отдельного обсуждения, а на все стало лень ответ печатать, когда начал.
Печатать реально долго, легче было реализовать примеры в карте:
Кроме последнего пункта, его нужно персонально рассматривать, так как игра не подразумевает использование для юнита двух списков. Например, можно наполнить список построек у юнита всеми зданиями, часть из которых блокировать при открытии одного списка и разблокировать при открытии второго, но это подходит, когда один рабочий. Можно сделать второй список из книги заклинаний, куда добавлены способности на основе игрушечных строений, чтобы было видно карту пути и всё такое, но там для них используется один приказ, то есть всегда одинаковое здание будет при нажатии на любую способность, а ещё нет стоимости золота и дерева, что тоже придётся как-то ваять триггерно. Можно перевоплощать юнита при смене списка в другого, но там тоже сложности, не помню точно какие, вроде бы связаны с расой, так как все строят по-разному.

С точкой сбора всё просто. Способность у игрока не заблокировать, потому нужно забрать её у всех зданий, которые есть на карте, либо будут построены.

Группа из максимум 9 юнитов работает немножко коряво, ранее мы с PT153 находили какой-то вариант, чтобы работало быстро, но лень пользоваться поиском. Вроде каждую 0.01 секунду проверялось количество выбранных юнитов, лишние удалялись из выбора.

Чтобы не было очереди, пришёл в голову лишь вариант с апгрейдом здания. Но у меня реализован просто пример для одного конкретного здания, а для нескольких абстрактных зданий нужно делать текстовым триггером, который будет для каждого здания запускать локальный таймер на нужное время и добавлять анимационный текстаг work. По отмене апгрейда, либо истечению таймера анимационный тег удаляется и создаётся воин, к которому привязывается соответствующий звук. Но есть и другие варианты, типа создавать внутри здания другое, которое реально будет производить юнитов, когда заказал апгрейд, там иная реализация. И не упомянул про затрачиваемые ресурсы. Потребуется забирать/возвращать часть ресурсов при отмене апгрейда.

На примере триггеров и фиолетовых строк в редакторе объектов смотри, как сделано улучшение Бугая в Дренорского бугая.

Конечно, мог бы сделать MUI триггер на GUI для отсутствия очереди, но это было бы громоздко и в техническом смысле уродливо. производящие здания заносились бы в массив, для которого будет массив таймеров, которые будут заноситься в виде событий на истечение таймера в другой триггер, а точнее будет несколько массивов таймеров, по максимальному числу тренируемых юнитов в любом производящем здании.

Нашёл твои вопросы:
В них бы и спрашивал, что непонятно. А то тебе отвечают, а ты игнорируешь, словно очень умный.
Тебе даже вариант без триггеров для четвёртого пункта сделали: xgm.guru/p/wc3/230191/comments?postid=426457#comment5
» ответ
Модуль вопросов существует для вопросов, а не для просьб сделать все за вас.

quq_CCCP #2 - 4 months ago -4
Голосов: +1 / -5
Поиск в помощь, так подскажу - магмческая лавка альянса.
Extremator #3 - 4 months ago 1
Голосов: +1 / -0

Такие себе варианты будут... но самое простое, и что бы реально отразить именно то что ты описал - паузить магазины когда герой выходит из области, и снимать с них паузу когда герой входит в область (при этом сами магазины будут иметь увеличенный, если не глобальный, радиусе взаимодействия). Такая схема подойдём для одного игрока/героя, а вот для мультиплеера придётся ещё что-то придумать...
2 комментария удалено