Возможно ли проверить завершенное ли какое-то здани ли еще строится? У меня триггерная пассивка работает на недостроенном здании.
Заранее спасибо!

Принятый ответ

Ну есть же события:
  1. юнит начинает стройку, как только строитель поставит фундамент и начнется стройка. Можно в этот момент сохранить какую нибудь информацию о состояний.
  2. юнит завершает стройку - при завершении строительства. После этого будем знать, что здание достроено.

Bergi_Bear, интересное утверждение, что абилки не активны у недостроенного здания, их не видно. можно ли проверить есть ли они в наличии? например проверить уровень (Lv>0), приказ кастануть и пр
по хп нельзя проверять % стройки. что если кто-то из вражин ударит, и хп уже не будет считаться полным. % стройки идет на время строительства раздел_строительство
влияющие_на_здание

что эта за пассивка?

можно еще проверять текущий приказ у здания. Обычно у строящего здания текущий приказ равен id здания, что означает, что оно еще строится. к сожалению точно отследить % стройки у хуманов сложнее.

мнение о строителях хуманов
сложность вот в чем, с одним строителем не сложно определить % стройки. Даже когда он перестает временно строить, и возвращается. Все это отслеживается приказами. Нужно точно настроить и предусмотреть все. Но когда подключаются несколько рабочих, то стройка ускоряется. Нужно вводить некий счетчик строителей, которые одновременно строят одно здание. Если один строитель уходит во время стройки, счетчик убывает на единичку. Если счетчик равен = 0, значит стройка приостановлена. Теперь насколько ускоряется? щас затестил:
один хуман строит ратушу: 60 сек, 100%
два хумана строят ратушу: 30 сек, 50% Получается в 2 раза
три хумана строят ратушу: 20 сек, 33,3% Получается в 3 раза
но реально отследить, если коэффициент добавить. Проблема еще в том, что доп ускорение жрет ресурсы. Чтоб будет, если ресурсов не хватать будет? доп рабы перестанут строить? можно ли это отследить то? наверное приказами как-то отслеживается
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
1
32
4 года назад
1
здание с пассивкой и старт постройки появляется при входе на карту, следовательно если постройка происходит через суммон (по принципу постройки нежети), то можно запустить таймер равный этому времени и вручить пассивку только тогда.. когда исткший таймер совпадёт со временим постройки
Если постройку строят люди (динамическая скорость или же приостановка во время строительства)
Тогда тут тоже куча вариантов:
Пытаться активировать активку тем же секундным таймером у здания, если активка-пустышка активирвана - то удаляем её и даём нужную пассивку
(активировать что либо могут только готовые здания)
Насчет проверки хп недостроенного здания- уже не помню, но тоже можно попробовать
Если же пассивка лишь наличие способности таже пустышка, например когда фермы дают инком, то можно делать что либо через пассивку эксгумации она сама кдшиться и её каст можно отследить... опять же будет работать только у доконца достроенного здания
прости за сумбур, просто это в самом кратце
0
12
4 года назад
0
Если пассивка встроенная в здание, то можно применить триггер с событием на отлов окончания постройки. И при завершении строительства вручать нужные вещи или включать здание в группу, на которые будет действовать абилка.
Также в целом объясни что именно за абилка и что именно ты пытаешься реализовать.
Так будет проще подсказать решение.
0
27
4 года назад
Отредактирован MpW
0
Ну есть же события:
  1. юнит начинает стройку, как только строитель поставит фундамент и начнется стройка. Можно в этот момент сохранить какую нибудь информацию о состояний.
  2. юнит завершает стройку - при завершении строительства. После этого будем знать, что здание достроено.

Bergi_Bear, интересное утверждение, что абилки не активны у недостроенного здания, их не видно. можно ли проверить есть ли они в наличии? например проверить уровень (Lv>0), приказ кастануть и пр
по хп нельзя проверять % стройки. что если кто-то из вражин ударит, и хп уже не будет считаться полным. % стройки идет на время строительства раздел_строительство
влияющие_на_здание

что эта за пассивка?

можно еще проверять текущий приказ у здания. Обычно у строящего здания текущий приказ равен id здания, что означает, что оно еще строится. к сожалению точно отследить % стройки у хуманов сложнее.

мнение о строителях хуманов
сложность вот в чем, с одним строителем не сложно определить % стройки. Даже когда он перестает временно строить, и возвращается. Все это отслеживается приказами. Нужно точно настроить и предусмотреть все. Но когда подключаются несколько рабочих, то стройка ускоряется. Нужно вводить некий счетчик строителей, которые одновременно строят одно здание. Если один строитель уходит во время стройки, счетчик убывает на единичку. Если счетчик равен = 0, значит стройка приостановлена. Теперь насколько ускоряется? щас затестил:
один хуман строит ратушу: 60 сек, 100%
два хумана строят ратушу: 30 сек, 50% Получается в 2 раза
три хумана строят ратушу: 20 сек, 33,3% Получается в 3 раза
но реально отследить, если коэффициент добавить. Проблема еще в том, что доп ускорение жрет ресурсы. Чтоб будет, если ресурсов не хватать будет? доп рабы перестанут строить? можно ли это отследить то? наверное приказами как-то отслеживается
Принятый ответ
0
28
4 года назад
0
например проверить уровень (Lv>0)
Это можно, думаю.
Так-то событие на конец строительства самое верное решение без всяких костылей и приколов.
1
26
4 года назад
Отредактирован Lord_Teo
1
Предлагаю простой вариант. Не знаю какой у тебя скилл, поэтому сделал для примера с топотом таурена. При активации скила, проверяем расстояние до недостроев. Если в радиусе 500 есть недострой, то сообщаем об этом.
В случае пассивки, можно триггер use повесить на периодическое событие или сделать событие "Отряд в радиусе <значение> <юнит>"
Триггеры:
Начинаем стройку
Использование скила
Пример с пассивкой:
Загруженные файлы
0
28
4 года назад
0
Lord_Teo, зачем лепить костыли, если достаточно просто сделать 1 триггер на конец постройки, проверять там тип и вручить способность?
0
26
4 года назад
0
PT153:
Lord_Teo, зачем лепить костыли, если достаточно просто сделать 1 триггер на конец постройки, проверять там тип и вручить способность?
Хмм. Т.е. добавить способность - это намного проще, чем добавить юнит в группу? Ну, ок. А как ты своим способом будешь проверять недострой? Все в этом одном триггере? У меня, по сути, 3 триггера с одной строкой внутри (2 остальных - это уже непосредственно способности героя). Если такое считается слишком костыльным, то ок. Это был всего лишь один из вариантов.
0
27
4 года назад
Отредактирован MpW
0
как определить процент стройки (с учетом хуманских рабов и обычная для остальных рас)
Можно использовать таймер. Создаешь и запускаешь таймер в начале стройки, и при завершении удаляешь. процент = текущее время таймера / заданное время *100%

А со случаем с хуманскими рабами такое сделать сложно. Они могут дропнуть, или ускорить. Ладно дроп, там таймер можно было бы запаузить. но как быть с ускорением, когда несколько рабов подключаются к строительству? Не знаю как это надо было сделать. Придумал такую схему: нужен счетчик рабов и счетчик процентов. Периодически каждую секунду таймером прибавляешь проценты в сек
100% / (заданное время стройки/ число рабов) - начисляемый процент за 1 сек

короче с хманскими рабами есть какие-то не точности и погрешности. Обычно большинство случаев норм в 100% укладывается. А бывает и больше 100, но такое редко происходит. Мне кажется период таймер не успевает запаузиться, и начисляет лишние проценты. Что*то ломается, ай, лень уже.
Загруженные файлы
0
29
4 года назад
0
Ледяное дыхание дракона нежити, насколько помню, паузит строительство. В таймере это тоже учесть надо)
0
28
4 года назад
0
У меня триггерная пассивка работает на недостроенном здании.
Перечитал вопрос, нужна конкретика о пассивке. Способ Lord_Teo абсолютно правильный, но, думаю, нужно добавить событие для отмены строительства.
0
26
4 года назад
0
PT153:
У меня триггерная пассивка работает на недостроенном здании.
Перечитал вопрос, нужна конкретика о пассивке. Способ Lord_Teo абсолютно правильный, но, думаю, нужно добавить событие для отмены строительства.
Не нужно, т.к. отмена стройки равносильна смерти здания.
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.