26

» WarCraft 3 / Триггер - копирование массово отряда

Ну, я не особо понимаю что там за механизм копирования, но...
Выбираешь всех юнитов в области и каждого создаёшь нового юниту в другой области, тип юнита определяешь как у выбранного, положение относительно центра области тоже можно подогнать как у выбранного (если это играет роль), и т.д.
Подробнее опиши как работает выбор/копирование
26

» WarCraft 3 / Не разблокируется способность.

Joma, событие у триггера какое?
Если там что-то про юнита - то игрока такого у тебя наверно не будет вообще
А если событие для игрока - то надо смотреть что дальше происходит
26

» WarCraft 3 / Не разблокируется способность.

Joma:
Triggering player
Замени это на "Owner of (unit)" и укажи там своего героя

"Triggering player" используется с событиями где упоминается ИГРОК
А так же, иногда, отвечает "владелец юнита-иницитора", т.е. "Player-owner of (Triggering unit)"
26

» WarCraft 3 / Не разблокируется способность.

Ты уверен что она всё ещё есть у героя?
Проверка уровня абилки должно показать её наличие, даже если она заблокирована.
Возможно ты ссылаешь не на того юнита. Проверь не так ли это.
Возможно игрок на которого ты ссылаешься для разблокировки это не тот который тебе нужно - проверь и это тоже.
26

» WarCraft 3 / Посоветуйте что прочесть про динамическое создание триггеров

Slonick:
А в чем собственно задумка?
Ну судя по ссылкам, задумка в отлове урона, через создание триггеров/ивентов, и это на карте где (видимо) они создаются для всего подряд в течении "4-5 часов игры" ... ахтунг )))
26

» WarCraft 3 / Как добавить созданного героя в Алтарь бури

Maraby:
первый вариант
Находишь в РО (редактор объектов) этот самый Алтарь Бури, в нём будет перечень обучаемых героев, открыв его можно добавить/удалить нужного героя.
Что бы игра не давала тебе нанимать несколько таких новых героев, нужно внести его (твоего Громмаша) в список "стандартных" героев. Это находится в игровых константах, там будет список.
26

» WarCraft 3 / Как добавить созданного героя в Алтарь бури

В конкретную карту можно добавить таким образом героя.
Но кажется ты хочешь добавить этого героя во все карты сражения, да?
26

» WarCraft 3 / IsUnitDeadBJ()

Cancel, скорее всего в момент проверки его ХП больше 0.
Почекай это.
26

» WarCraft 3 / Как отслеживать призыв фабрики и порождения магмы

Принятый ответ
Ну раз через саммон не детектится, то видимо через "вход юнита на карту".
И дальше можно бафф проверить ещё, что б от покупных отличить (если такие есть).
26

» WarCraft 3 / Как ограничить покупку героев в таверне?

DanielRahov:
Это же действует только на меня? Т.е если я выберу героя другие же смогут выбрать его?
Это ограничивает лимит героем для каждого из игроков до 1.
Если ты УДАЛИШЬ героя у игрока (типа как -repick), то у него появится возможность снова его нанять.
Так что можешь убрать лимит еды и её требование, оно больше не нужно.
26

» WarCraft 3 / Триггер на много событий

Принятый ответ
Вариант 1
Можно сделать в одном триггере 5 событий
Боевая единица - умирает "Здание 1"
Боевая единица - умирает "Здание 2"
Боевая единица - умирает "Здание 3"
Боевая единица - умирает "Здание 4"
Боевая единица - умирает "Здание 5"
А дальше добавить условие через И:
Юнит "Здание 1" мёртв == ДА
Юнит "Здание 2" мёртв == ДА
Юнит "Здание 3" мёртв == ДА
Юнит "Здание 4" мёртв == ДА
Юнит "Здание 5" мёртв == ДА
В итоге твой триггер сработает тогда когда умрёт одно из зданий, и в этот момент мертвы будут все 5 (т.е. в момент разрушения последнего из них).
Вариант 2
Общее событие смерти для всех юнитов.
В условии проверяешь ТИП юнита, если он равен твоему зданию (напр. Ферма), тогда проверяешь через И что все здания мертвы, как в предыдущем варианте.
Это подходит если у тебя все 5 зданий одного типа, а не разные, и нет иных условий.
26

» WarCraft 3 / Как ограничить покупку героев в таверне?

Принятый ответ
Найди у себя в триггерах папку "Инициализация".
В ней триггер "HeroLimit".
Поставь у него галочки на "Включен" и "Изначально включен".
Добавить в этот триггер событие "Инициализация карты" (самое первое из всех).
Удали действие "Режим сражения - Установить лимит героев для всех игроков".
Закрой окно редактора триггеров.
Вверху найди вкладку "Дополнительно".
В ней пункт "Игровые константы".
Найди "Технологии - Зависимости (эквиваленты) - Герой".
Открой этот пункт, и через кнопку "Добавить" укажи своих НЕСТАНДАРТНЫХ героев.
Men, Women,
Нажми "ОК", внизу ещё раз "ОК", сохрани карту и проверяй.
26

» WarCraft 3 / Как запретить воскрешать героев в таверне.

izelor:
ПС. тригер будет нормально работать, если у тебя всего один герой НА КАРТЕ, если же их например 2, и они оба умрут, то этим тригером ты воскресишь только последнего.
Нет. Воскрешаться будет КАЖДЫЙ умирающий, кто прошёл проверку. А вот окно таймера будет багаться, т.к. "последний созданный" после ожидания может быть уже другое совсем.
DanielRahov:
Тогда какой тригер чтобы это работало на всех героев.
Любой, с событием "юнит умирает" и действием "воскресить (юнита триггера)".
Это будет работать лишь потому, что "юнит-триггера" почти никогда не теряется, даже после вэйтов (ожиданий) как у тебя.
А вот что ты наставишь между, до и после - уже может по-своему повлиять на общую работу.
Твой триггер должен работать за исключением того, что окно таймера будет корявым.
И условие содержащие "оживляемого юнита" при таком событии не должно работать, т.к. в этот момент у тебя нет такового юнита вообще (либо "юнит-инициатор триггера", либо "умирающий юнит", так же тут будет работать "убивающий юнит", но это уже совсем другой юнит, если конечно он не нанёс урон самому себе, от чего и умер).
DanielRahov:
Да и я почему то не могу указать что умирающая боевая единица это герой
Там есть проверка классификации юнита, а в ней есть выбор является ли юнит - зданием, героем, минотавром, техникой, великаном, самоубийцей, и т.д.
DanielRahov:
Спасибо тогда но чето я не хочу разбиратся в таких общирных способах. Непроще просто своровать у какойто рпг карты если она конечно взломанное а такие сложно найти.
Тогда сведи всё к простому событию "юнит умер", условию "(юнит-инициатор) является (героем) == ДА", и действиям "ждать 40 секунд игрового времени" + "восскресить (юнита-инициатора) в центре области (Men 1)".
Вот и всё.
26

» WarCraft 3 / Как сделать условие для вхождение в портал?

Принятый ответ
Событие - регион/область - юнит входит в область X
Условие - сравнение целых чисел (уровень героя (юнит-инициатор триггера)) >= 10
Действия - боевая единица - переместить мгновенно (юнит-инициатор триггера) в точку (центр области Y)
Вот вся суть.
А если же ты говоришь проьстандартный портал - то никак.
26

» WarCraft 3 / Свечение героя или Hero Glow

Принятый ответ
Нет её. Но умельцы сделали её уже очень давно.
Поищи на хайве именно с этим запросом.
26

» WarCraft 3 / Как триггерно юниту ДАТЬ манны а не СЕТНУТЬ?

Маленькие и простые истины о варкрафте...
Юниту нельзя просто добавить/отнять здоровье или ману.
Вместо этого ты сразу устанавливаешь конкретное значение.
А этим конкретным значением может являться сумма его текущего здоровья и некоего числа. Может быть разность, или произведение/частное. В общем всё что угодно, ли бы ты мог это посчитать.
Конечно можно написать функцию, которая будет принимать в качестве аргумента конкретного юнита и число, и выполнять изменение его здоровья на это число. Но надо ли? Это с обеих сторон совсем не сложная задача.
. . .
Подобная ситуация с "толканием юнита". Его нельзя просто сдвинуть в нужную сторону под нужным углом с некоторой скоростью (что-то типа произвольного скольжения). Его можно мгновенно переместить. Если это делать 20-30 раз в секунду на небольшую дистанцию, то будет выглядеть как будто он непрерывно движется с небольшой скоростью...
26

» WarCraft 3 / Способность (Тёмный ритуал)

AncientOverlord, тебе нужно установить текущую ману юнита как сумму двух зачений: его текущая мана + то сколько ты хочешь добавить.
Если у тебя было 500/2000 мана, и ты хочешь добавить 150
То устанавливаешь ману как "текущая мана юнита" + 150
В итоге у юнита будет 500+150=650 маны из 2000
Со здоровьем делают точно так же.
Выше максимума не поднимешь, если что.
26

» WarCraft 3 / Здания дающие манну юниту

С золотом полегче а как с манной не шарил же
Всё тоже самое, только вместо "дать N золота игроку" ты используешь "дать N маны юниту"
26

» WarCraft 3 / Здания дающие манну юниту

Так это же Золото А не мана
Что вы скидываете вечно про инком золота если нужна Мана
Берёшь то что дали.
Изучаешь как оно сделано.
Разбираешься что к чему.
Делаешь своё, но уже с маной вместо золота.
Не?
26

» WarCraft 3 / Способность (Тёмный ритуал)

AncientOverlord:
А как это в виде триггера
Общее событие для юнитов - Юнит приводит способность в действие
Условие - Использованная способность == (твоя_абилка)
Действия:
Боевая единица - Установить текущий уровень маны у (кастера) как ( текущая_мана_(кастера) + некоторое_число )
Боевая единица - Нанести урон от (кастера) по (цели_заклинания) в размере (твоё_число) типом урона (магический) и типом атаки (заклинание).
. . .
В качестве "некоторого числа" нужно использовать арифметический расчёт от "текущего здоровья цели" помноженного на некоторое число, например "0.50" будет равно 50% от текущего ХП юнита (это 150 маны от 300 хп цели).
26

» WarCraft 3 / Здания дающие манну юниту

Делай обычный инком.
За каждое построенное здание пиши игроку в переменную +1.
За каждое разрушенное (захваченное) делай -1.
Каждый N секунд выдавай конкретному юниту ману от переменной.