Boychaos
offline
Опыт:
35Активность: |
Люди помогите реализовать скил
Я вот Jass'a начитался и попёрло:)
Я хочу чтобы был созданл 4юнита и чтобы они атаковали врага Двигаясь к нему мгновенно. Но у меня там до 1к юнитов создаются. И я пытаюсь обнулить переменные а они не обнуляются.... За основу я взял Omni Slash отсюда из наработок а вот и сам код Код:
Сори малямс ошибся не 1ого а 4и юнита я скил пересмотрел Отредактировано Boychaos, 20.08.2010 в 10:04. |
20.08.2010, 09:00 | #1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Arty3ooo
...
offline
Опыт:
3,125Активность: |
Оо т.е тебе нужен только один юнит? Избавься от loop
|
20.08.2010, 09:22 | #2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Boychaos
offline
Опыт:
35Активность: |
Ну мне нужно чтобы было 4 юнита и они как бы к врагам тп делал но без loop exitwhen endloop они не чего не делают а по скилу они мгновенно двигаются к случайному юниту и ещё воспроизводится анимация атаки Attack Slam а они как стояли на одном месте так и стоят. тоесть ut это случайный юнит из группы UnitGroup. Мне нужен цикл но такой чтобы их было всего 4 но как я хз. Тоесть 4и юнита создаются и чтобы когда триг создал 4и юнита он выключился мне это надо а там триг создаёт до 1к юнитов. Как это исправить. Я переменную Integer пробывал но как-то криво я не могу найти условие выхода из цикла. Не могу понять как Хелп Плиз.
|
20.08.2010, 10:01 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Alex_Hell
Mapmaker 'N' Programmer
offline
Опыт:
6,885Активность: |
udg_UnitGroup наверно не пустая, перед каждым вызовом скилла очищай GroupClear(udg_UnitGroup)
тоесть перед строкой
Отредактировано Alex_Hell, 20.08.2010 в 15:52. |
20.08.2010, 15:38 | #4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Boychaos
offline
Опыт:
35Активность: |
Эм а как сделать чтобы после 5ти секунд все созданные юниты были удалены из игры меня ето утечка уже бесит...
|
20.08.2010, 18:45 | #5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
JassMan
свободен
offline
Опыт:
4,193Активность: |
их не надо удалять достаточно поставить их на таймер BTLF и они сами умрут а затем удаляться из игры через 88 сек (в зависимости от констант) |
20.08.2010, 21:06 | #6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Alex_Hell
Mapmaker 'N' Programmer
offline
Опыт:
6,885Активность: |
По-идее в цикле у тебя воин создается и сразу же удаляется, хотя тут у тя задержка, и не красиво будет, лучше создать всех юнитов, а вот из группы udg_UnitGroup не удалять никого. Запустить таймер на 5 сек, чтобы по окончанию все юниты из udg_UnitGroup удалились, но нужно обязательно чтобы перезарядка способности была больше этих 5 сек, чтобы в udg_UnitGroup новых юнитов не добавилось, и к тому же для каждого игрока нужна своя группа udg_UnitGroup..
|
20.08.2010, 23:24 | #7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Boychaos
offline
Опыт:
35Активность: |
Тоесть весь код
Код:
Мля не работает и всё как спаунилось больше 10 юнитов и продолжает спаунится я хочу убить всех наспауниных юнитов которые создал тригер. Чтобы они из игры удалились и только в следующем запуске спела они появились я уже 4 дня ломаю голову над этим спелом.... Я уже и таймеры все перепробывал. Я и таймер истечения жизни пришивал к юнитам а они сволочи не хотят дохнуть как выйти из цикла спауна юнитов чтобы цикл их больше не создовал. Вот где-то в этом участке собака зарыта. ________________________________________________________________________________ _________________ Код:
А кстати куда это вставить? //Допалнительные глобалки timer udg_MyTimer endglobals P.S вот карта где сам спел на 53% создан Boychaos добавил: Мб сам тригер некорректен он в Omni Slash расчитан на 1ого юнита и то на кастера Boychaos добавил: Спел уг буду спецэффектами а не дами юнитами делать сие непонятное... Boychaos добавил: Как сделать чтобы когда спекэффект попадает на юнита ему был урон?! Boychaos добавил: Кроче спел с иллюзиями некоректен так как там выход из цикла будет только когда все юниты юнит груп будут мертвы а так как группа не локальная переменная то в неё пытаются засунуть всех стоящих юнитов в радиусе 512 от кастера и к тому же если будет ещё один гер с этим скилом то ... будет вообще..Спел вообщем одна сплошная утечка. Отредактировано Boychaos, 21.08.2010 в 10:54. |
21.08.2010, 10:43 | #8
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Boychaos
offline
Опыт:
35Активность: |
аУ ВЫ где? |
22.08.2010, 17:07 | #9
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Alex_Hell
Mapmaker 'N' Programmer
offline
Опыт:
6,885Активность: |
Я же показал как нужно сделать функцию:
udg_MyTimer - если будешь объявлять в редакторе переменных GUI - назови MyTimer, тип - таймер
А то, что на 1 игрока расчитан - это да, делай массив групп udg_UnitGroup чтобы для всех игроков своя группа, индекс в массиве - индекс игрока.. Но перед этим хотябы для 1 игрока проверь - работает или нет? Про выход из цикла - тут я вижу что выдет когда закончится счетчик, а он равен кол-ву воинов в радиусе 500 + с условием что это не игрок(0) |
22.08.2010, 23:04 | #10
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Boychaos
offline
Опыт:
35Активность: |
Boychaos:
Тоесть тут в jass'e тригеры походу игры создаются кул:) Отредактировано Boychaos, 23.08.2010 в 07:44. |
23.08.2010, 07:38 | #11
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|