В редакторе есть только действие с last replaced unit (последний замененный юнит), а мне нужно выделить их все, но не по типу боевой единицы, а именно все замененные юниты. Привязать к переменной тоже не могу, так как действие будет касаться только последней замененной боевой единицы.
Можно ли как то провернуть действие со всеми relace unit или может как то обойти это. (Повторюсь, привязка к типу боевой единицы мне не подходит)
П\С
И может кто знает, что за анимация ульты у героя Windrunner в доте. Запарился искать. Или может у кого уже готовый спел есть))))

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

define ReplaceUnitBJ(a,b,c) = GroupAddUnit(udg_myreplgroup,ReplaceUnit##BJ(a,b,c))
и создай в редакторе триггеров переменную myreplgroup типа отряд
все заменённые юниты будут заносится в неё
если не нравится myreplgroup то в коде udg_myreplgroup замени на udg_твояпеременная
0
17
9 лет назад
Отредактирован naxim
0
Добавляй в отряд Last Replaced Unit. Потом пикай отряд и выделяй пикнутых.
Прикрепляю карту-пример.
И скриншот
Загруженные файлы
4
28
9 лет назад
4
можно ещё юзать дефайны чтобы всё делалось само и без лишних триггеров но афтар скорее всего как всегда мазохист
и ему удобнее несколько часов творить херню вместо того чтобы написать 1 строку кода
0
5
9 лет назад
0
к сожалению мазохит, так как все далаю на GUI
naxim, у тебя пример будет работать только если по одному будут заходить юниты, так как дейсвтие будет всегда касаться только последнего replace unit.
У меня такая ситуации, в бараке происходит улучшение, все юниты на карте этого типа улучшаются (происходит замена relace unit), но так как действие мгновенное, то в таблице где отображается число войск плюсуется еще замененные войска. (был один пехотинец, в таблицце пишется 1, после replace unit остается 1 пехотинец, но в таблице уже 2)
0
28
9 лет назад
0
к сожалению мазохит, так как все далаю на GUI
вставь небольшой код на cjass в шапку карты а всё остальное продолжай делать на гуи
0
5
9 лет назад
0
хехе, знать бы еще че вставлять))
0
28
9 лет назад
0
define ReplaceUnitBJ(a,b,c) = GroupAddUnit(udg_myreplgroup,ReplaceUnit##BJ(a,b,c))
и создай в редакторе триггеров переменную myreplgroup типа отряд
все заменённые юниты будут заносится в неё
если не нравится myreplgroup то в коде udg_myreplgroup замени на udg_твояпеременная
Принятый ответ
0
5
9 лет назад
0
Чего то не получается добавить в условие данную переменную.
Событие: боевая ед. enter the map
Условие: Ну тут вроде как должно быть: боевая единица Не равно составе отряда ( переменная myreplgroup)
Действие: манипуляции в таблице
Вот че то с условием не могу разобраться
0
28
9 лет назад
0
боевая единица Не равно составе отряда ( переменная myreplgroup)
сравнивать можно только вещи с одинаковой природой
числа с числами
юниты с юнитами
яблоки с яблоками
а вот сравнить число с юнитом(или как в твоём случае булен с юнитом) нельзя
юзайте мозг хоть иногда
0
5
9 лет назад
0
Так я понимаю что нельзя, потому и спросил, чего делать)
0
28
9 лет назад
0
alien426, сравнить булен с буленом
юнит находится в отряде == да
либо == нет
в зависимости от того что тебе надо
а вообще с подобными вопросами отправляют по этому адресу
0
5
9 лет назад
0
извини за глупый вопрос, но сравнить булен с буленом ты наверное имел ввиду на jass?
спс, за наводку ща проверю
((Triggering unit) is in (переменная отряд myreplgroup) равно (==) нет
Не робит
((Triggering unit) is in (Units owned by Игрок 1 (красный))) не равно (!=) ((Triggering unit) is in myreplgroup)
тоже самое
Нестандартный коментарий к коду
define ReplaceUnitBJ(a,b,c) = GroupAddUnit(udg_myreplgroup,ReplaceUnit##BJ(a,b,c))
Замененный юнит вносится в переменную отряд myreplgroup
Все верно?
0
28
9 лет назад
0
define ReplaceUnitBJ(a,b,c) = GroupAddUnit(udg_myreplgroup,ReplaceUnit##BJ(a,b,c))
Замененный юнит вносится в переменную отряд myreplgroup
да
мб ты сам отряд не создал?
я замечал что у многих проблема с понимаем того что такое переменная
переменная это некая коробка в которой хранится объект
переменная отряд это коробка в которой хранится отряд
если мы туда не положили отряд то отряда там нету и в ней ничего не хранится
если положили отряд X то там хранится отряд X
когда мы совершаем какие либо действия(за исключением присваивания) мы совершаем их не с переменной а с отрядом который в ней находится
если быть точнее то в коробке находится адрес отряда
и несколько переменных могут содержать один и тотже отряд
это как если бы взять 10 бумажек и записать на них адрес одного дома
если мы снесём дом находящийся по адресу первой бумажки то адрес 2 бумажки приведёт лишь к пустому месту ибо дом был 1

это я к тому что тебе стоит создать триггер с событием инициализация и в нём создать пустой отряд и занести его в переменную myreplgroup
0
6
9 лет назад
0
alien426:
к сожалению мазохит, так как все далаю на GUI
naxim, у тебя пример будет работать только если по одному будут заходить юниты, так как дейсвтие будет всегда касаться только последнего replace unit.
У меня такая ситуации, в бараке происходит улучшение, все юниты на карте этого типа улучшаются (происходит замена relace unit), но так как действие мгновенное, то в таблице где отображается число войск плюсуется еще замененные войска. (был один пехотинец, в таблицце пишется 1, после replace unit остается 1 пехотинец, но в таблице уже 2)
Выбрать всех юнитов такого типа на карте, цикл от 1 до (кол-во юнитов в последняя группа) заменить выбранный юнит, установить последний заменённый, удалить последний азменённый из группы
Чтобы оставить комментарий, пожалуйста, войдите на сайт.