ELForcer
Сижу only Hard & Soft
offline
Опыт:
1,593Активность: |
Интересная загвоздка с PolledWait
Есть следующий код.
Код:
Есть спелл на основе Заклинания крови который ежесекундно рандомно поражает ближайшего юнита и наносит урон в зависимости от разума героя и прокачки спелла. Собственно это всё видно в коде. Проблема в 1ой функции KillCurUnit, которая отвечает за задержку перед кастом пустышки заклинания для анимации урона и непосредственное поражения. Если из неё убрать call PolledWait( 0.5 ) Функция сработает до конца, но не будет видно анимации урона если этот урон добьет юнита. Если её оставить то функция не отработает до конца и не будет нанесен урон (даже информационного сообщения перед уроном). То есть будет фактически проигрываться чисто анимация атаки. Целые числа тоже не катят, хотя та же функция задержки спокойно работает в цикле. Неохота делать другую процедуру проигрывания анимации. Может кто то знает в чем проблема. |
27.06.2010, 00:17 | #1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ScorpioT1000
Работаем
offline
Опыт: отключен
|
GetTriggerUnit() после вейта не пашет. пиши в локалки. вобще все Get... из текущего триггера не работают после вейта, это логично и пора бы уже знать)
ScorpioT1002 добавил:
и да, юзай этот полед вейт:
|
27.06.2010, 00:24 | #2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ELForcer
Сижу only Hard & Soft
offline
Опыт:
1,593Активность: |
Спасибо. Щас попробую.
GetTriggerUnit() у меня всегда стабильно пашет хоть после 1000 вейтов.. Первый раз щас такое. |
27.06.2010, 00:29 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ScorpioT1000
Работаем
offline
Опыт: отключен
|
попробуй) возможно, он когда-то пашет с вейтами... |
27.06.2010, 00:33 | #4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ELForcer
Сижу only Hard & Soft
offline
Опыт:
1,593Активность: |
Совет не помог. Воткнул GetTriggerUnit() в переменные. Воткнул твою функцию Sleep, проблема осталась. Если без задержек урон наносится но тогда нет анимации урона.
Код:
|
27.06.2010, 00:43 | #5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ScorpioT1000
Работаем
offline
Опыт: отключен
|
что-то я не совсем понял с анимацией) распиши что у тебя происходит перед вызовом Trig_Drago4a_Func003Func001A и после. и что должно происходить |
27.06.2010, 00:50 | #6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ELForcer
Сижу only Hard & Soft
offline
Опыт:
1,593Активность: |
Дракончик превращается в конон (Заклинание крови) и ежесекундно поражает случайного врага в радиусе 1000 ярдов от себя.
Анимация проходит так: Создается дамми на позиции Дракончика и кастует "Перст боли" в выбранного юнита. Урон не наносится. Он наносится триггером KillCurUnit который вызывается после анимации, но не обрабатывается после нужной задержки. Триггер пока не оптимизирован, поскольку я пока делаю на количество спеллов, а не на качество кода. Код:
|
27.06.2010, 01:13 | #7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ScorpioT1000
Работаем
offline
Опыт: отключен
|
а дыг если у тебя в enum-е слип вызывается, то энум обрывает поток после слипа. вызывай в отдельном потоке:
вызываешь KillCurUnit |
27.06.2010, 01:19 | #8
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
AlexKARASb
Learning cpp
offline
Опыт:
22,103Активность: |
В этой функции цикл замени на таймер с периодом в 0.50с и все. |
27.06.2010, 01:19 | #9
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ELForcer
Сижу only Hard & Soft
offline
Опыт:
1,593Активность: |
Короче проще оптимизировать триг. Там и Polled заработает :)
|
27.06.2010, 01:24 | #10
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ScorpioT1000
Работаем
offline
Опыт: отключен
|
попробуй мой способ) |
27.06.2010, 01:38 | #11
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Toadcop
offline
Опыт:
54,313Активность: |
Цитата:
он как раз и пашет m-| другие "Get*Unit()" не пашут... |
|
27.06.2010, 16:07 | #12
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ScorpioT1000
Работаем
offline
Опыт: отключен
|
ясно ) не помню уже |
27.06.2010, 17:49 | #13
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ELForcer
Сижу only Hard & Soft
offline
Опыт:
1,593Активность: |
Тему можно закрыть. Нанесение урона я поставил в конец цикла, за пределы IF после этого всё заработало..
|
28.06.2010, 00:11 | #14
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|