Юнит входит в область
Юнит-инициатор триггера имеет на себе бафф == Да
Выдать ему абилку
Инициатором будет либо Triggering unit, либо Entering unit (если правильно помню). Оба варианта должны работать, просто в точности написания второго я не уверен.
Мне почему-то показалось что речь идет о сопротивляемости к маг.урону от заклинаний, нет?
Герои изначально получают только 75% маг.урона, это обусловлено их типом защиты - "Герой". Имея в инвентаре "Рунические наручи" (или как они там называются?) полцчаемый маг.урон будет снижаться на 33%. А теперь считаем: По герою наносится 100 ед. урона Он принимает 75% урона, ибо он Герой (тип защиты), это 75 ед. От этого значения убирается еще 33% = 25 ед. (от 75) Итого по герою прилетает только 50 ед. урона.
Если убираем нафиг наручи эти и юзаем только благо-элуны, то всё будет работать точно так же, но только лучше. Две так е абилки у юнита - значит обе резистят урон, так же как и тип защиты.
В той же доте игрокам ошибочно приподносят что герои имеют отдельный резист на 25%, что подразумевает отсутствие взаимосвязи между типом защиты и маг.резистом героя (тот же Визаж на старте имеет якобы 0% маг.резиста, хотя ему на самом деле дают отрицательный буст в 1.33, что и повышает 75 урона на 25 до 100).
SharrKnen, я бы посоветовал отказать от варианта с вариациями вертикальных и горизонтальных ворот (т.е. сделать ворота как 2х2 ферма с переключаемой проходимостью и подобрать подходящий визуал под этот концепт).
Если уж и делать вращаемые ворота (а это уже ДВА отдельных здания), то в лучшем случае это был бы блок 4х4, только лишь часть которого является непроходимой (в закрытом виде). А дополнительная кнопка позволяла бы перевернуть ворота (с горизонтальных на вертикальные, и наоборот).
Вариант с блокираторами путей вполне можно реализовать, но реально объективных причин заморачиваться с этим я не вижу. Не хочешь ферму-круг, сделай две версии ворот (СЮ-откр./закр. и ЗВ-откр./закр.).
nero666, да нет же. Он не бессмертный, на сколько я помню, а просто у него ломается графика и получается вечто стоящие у казармы пехотинцы, которые никак не взаимодействуют с окружающим миром.
У меня был вариан с наймом юнита у которого максимальное хп на нуле (хотя это вроде баг вызывает), либо сразу самоубивающегося. А на его месте через "гидру" спавнить нужную пару юнитов.
Да, точку следования они не сохранят при этом... х)
SharrKnen, замена одного злания на другой (с другой картой путей). Грубо говоря - превращение друида медведя, только у тебя будет "ферма" и "круг силы". У них од наковын размеры (2х2), но через ферму пройти нельзя, а ходить по кругу силы - можно. Вот и всё решение.
Так же можно использовать блок редактора кампаний
Открыть его, скопировать в его РО нужные данные из РО открытой карты, потом открыть другую карту и уже в её РО перекопировать всё из РО кампании.
konvan5, в идеале конечно ДА.
И надо что б в системе записывались повторные попытки сделать юнита неуязвимым, и это не давало бы снять с него этот эффект, если например три разных скилла накинули его, а один закончился раньше остальных и сбил этим им работу.
Я бы всё же советовал сделать через группу. В момент завершения постройки здания добавлять его в группу. А все действия по инкому проводить не через "все юниты на карте" или "все юниты конкретного типа", а именно через эту самую группу.
При смерти любого юнита находящего в группе - удалять его из этой группы.
По-моему это самое оптимальное.
Вообще наверно есть какой-то тип для этой проверки, который можно использовать для этого. На подобии UnitIsType или как его там, нет варика под рукой.
Как-то давно я делал через специальную ауру, которая НЕ работала на НЕуязвимых целях. Настраивал её так что б она работала только на самого себя и в нужный момент выдавал её юниту, проверял есть ли бафф (бафф владельцу выдаётся мгновенно), записывал результат, удалял ауру и бафф. Так я получал простую проверку на НЕуязвимость юнита.
Предполагаю что при часто периодической проверке групп юнитов таким образом могут вызываться лаги, т.к. этотвсё таки некая на грузка по выдаче абилки и баффа. Но точно знать не могу, т.к. никогда не юзал это для большого количества юнитов единовременно.
С другой стороны, как вариант, можно поставить на карте дамми-юнита с глобальной аурой, которая будет работать только на НЕуязвимые цели (без разбора друзья или враги, на всех подряд). И когда юнит будет становиться неуязвимым (да, с задержкой конечно, ибо аура) он будет получать бафф этой ауры, а уже его можно и проверить. Как тебе идея? х)
powertroll 333, можно взять какую либо из версий доты-аллстарс и модифицировать её внедрив своего героя. Но это будет уже другая карта, отличная от оригинала... т.е. вероятность того что народ будет играть на икапе или еще где именно в эту версию - нулевая. Проще найти какой-то иной проект и попробовать свою задумку там, может что да выйдет.
ЛооуХпГуль, при создании новых нужно что-то делать со старыми. Как вариант - проходиться циклом по всем и удалять их. Но я бы всё же поискал способсоздавать только для тех юн тов, которые еще не имеют своего закрепленного за ними текст-тага.
Здесь скорее надо реорганизовать момент создания пар юнит+текст, и выбирая всех нужных юнитов применять к каждому этот метод. А движение всех текстом будет осуществляться отдельным глобальным методом.
Хреновая идея, т.к. у игры лимит на число одновременно отображаемых плавающих текстов (100 шт. вроде). Поэтому в лучшем случае создавать их все скрытыми, и показывать только те, которые нужно в данный момент видеть. В зависимости от реализации и нужд, это может быть как и бесполезной нагрузкой, так и вполне реализуемой механикой (смотря что именно это будет).
По скриншотам:
На первом скрине, второе действие, цикл А от 1 до 100, ты указал "выбранный юнит". В событии "игрок пишет в чат" вообще нет юнитов отвечающих ему как-либо (т.е. здесь юнит будет отсутствовать). А вообще - выбранный юнит это тот, которого ты пытаешься сгруппировать и с ним уже происходит работа (через ForGroup).
В следующем действии ты обращаешься к отряду (группируешь юнитов) и создаёшь плавающий текст у "выбранного юнита". Здесь выбранный юнит это тот с которым происходит работа во время перебора всего отряда. Но ты совершенно неправильно применяешь цикл и попытку нумеровать пары юнит-текст.
На втором всё вроде нормально, кроме того моменты что в цикле Б ты ссылаешься на целую А. Ну а вообще должно работать, если переменные правильно запишешь.
В общем. Там где создаёшь текст, тебе нужно сделать счетчик - создай целочисленную переменную и устанавливай её значение на +1 от текущего ( set N = N + 1 ). Сразу после создания текста, без цикла Б, установи переменную "text" как последний созданный текст, но в качестве индекса массива используй не целую Б, а свою новую переменную (которыю ты делаешь как +1).
set N = N + 1
set text[N] = Последний созданный текст
Так же сделай и с юнитом - запиши выбранного в переменную init_t[N].
Второе действие в первом триггере - удали. Выбранного юнита ты будешь записывать как я тебе описал выше. Но скорее всего тебе придется либо обнулять N перед группированием, либо придумать как переписывать текущие тексты не создавая лишних... Это по-сути не сложно, но доя тебя пока явно сложно. Попробуй хотя бы так.
Является ли destructible group в данном примере утечкой? Если да, то как мне удалить destructible group?
На сколько я помню, нет такого объекта как "группа разрушаемых" (или предметов). Там немного по другому происходит отбор объектов. Вроде бы создаётся область, в её пределах выбираются все подходялие разрушаемые объекты, и всё.
А при попытке выбрать объекты внутри окружности там еще добавляется проверка что дистанция между центром области и координатами конкретного объекта меньше чем радиус указанной окружности.
» WarCraft 3 / Привязка иконок к уровням способности
» WarCraft 3 / + абилка при заходе в область
» WarCraft 3 / Альтернативное применение способностей (база)
Ред. Extremator
» WarCraft 3 / + абилка при заходе в область
Юнит-инициатор триггера имеет на себе бафф == Да
Выдать ему абилку
Оба варианта должны работать, просто в точности написания второго я не уверен.
» WarCraft 3 / Альтернативное применение способностей (база)
» WarCraft 3 / Как обнулить данный тип переменной
» WarCraft 3 / Использование предметов.
» WarCraft 3 / Использование предметов.
По герою наносится 100 ед. урона
Он принимает 75% урона, ибо он Герой (тип защиты), это 75 ед.
От этого значения убирается еще 33% = 25 ед. (от 75)
Итого по герою прилетает только 50 ед. урона.
» WarCraft 3 / Способность дающая золото
» WarCraft 3 / Проход через здания!
» WarCraft 3 / найм юнитов х2
» WarCraft 3 / найм юнитов х2
» WarCraft 3 / Проход через здания!
» WarCraft 3 / Открытие двух окон WE
Открыть его, скопировать в его РО нужные данные из РО открытой карты, потом открыть другую карту и уже в её РО перекопировать всё из РО кампании.
» WarCraft 3 / проверка на неуязимость
И надо что б в системе записывались повторные попытки сделать юнита неуязвимым, и это не давало бы снять с него этот эффект, если например три разных скилла накинули его, а один закончился раньше остальных и сбил этим им работу.
» WarCraft 3 / проверка на неуязимость
» WarCraft 3 / Игра воспринимает строящееся здание как полноценное
При смерти любого юнита находящего в группе - удалять его из этой группы.
По-моему это самое оптимальное.
» WarCraft 3 / проверка на неуязимость
Предполагаю что при часто периодической проверке групп юнитов таким образом могут вызываться лаги, т.к. этотвсё таки некая на грузка по выдаче абилки и баффа. Но точно знать не могу, т.к. никогда не юзал это для большого количества юнитов единовременно.
» WarCraft 3 / Способности и алгоритмы на заказ
» WarCraft 3 / Как привязать ТЕКСТАГ в юниту???
» WarCraft 3 / Как привязать ТЕКСТАГ в юниту???
Разве нет? И все всё всегда хавали ))
» WarCraft 3 / Как сделать проверку?
» WarCraft 3 / Как отследить чей игрок убил юнита
Ред. Extremator
» WarCraft 3 / Как привязать ТЕКСТАГ в юниту???
- На первом скрине, второе действие, цикл А от 1 до 100, ты указал "выбранный юнит". В событии "игрок пишет в чат" вообще нет юнитов отвечающих ему как-либо (т.е. здесь юнит будет отсутствовать). А вообще - выбранный юнит это тот, которого ты пытаешься сгруппировать и с ним уже происходит работа (через ForGroup).
В следующем действии ты обращаешься к отряду (группируешь юнитов) и создаёшь плавающий текст у "выбранного юнита". Здесь выбранный юнит это тот с которым происходит работа во время перебора всего отряда. Но ты совершенно неправильно применяешь цикл и попытку нумеровать пары юнит-текст.» WarCraft 3 / Как удалить destructible group?