Ninbous
Jass progress >>>>>35/100
offline
Опыт:
5,674Активность: |
Ошибка с вылетом
» раскрыть Код:
Вар вылетает с ошибкой, делаю локал тригер который должен при событии END_CAST и FINISH_CAST уничтожатся и прекращять действия с юнитом, почему вар с ошибкой вылетает, когда тригер уничтожается? |
28.05.2009, 16:54 | #1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
J
expert
offline
Опыт:
48,747Активность: |
Цитата:
зачем? |
|
28.05.2009, 17:03 | #2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Ninbous
Jass progress >>>>>35/100
offline
Опыт:
5,674Активность: |
Так чтобы уничтожить локальный тригер который я создал
Ninbous добавил: в другой функции Ninbous добавил: Jon подскажи как сделать тригер который будет улавливать окончание спелла и прекращять действия с юнитом? |
28.05.2009, 17:40 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Hellfim
Новичок
offline
Опыт:
79,880Активность: |
Ninbous, триггер забивай в глобальную переменную и уничтожай через нее, потому что в функции GetTriggeringTrigger может быть уже другой триггер => вылет. И уничтожай сразу, без выключения триггера.
|
28.05.2009, 21:24 | #4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Ninbous
Jass progress >>>>>35/100
offline
Опыт:
5,674Активность: |
Hellfim Все равно вылетает
Ninbous добавил: » раскрыть Код:
Переделал под глобал все рано ошибка. |
28.05.2009, 21:52 | #5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
DKbru
offline
Опыт:
1,407Активность: |
function Damage опережает то действие, когда ты заносишь триггер в глобалку... Эта функция содержит Cancel, котрорая уничтожает триггер. Несмотря на то, что эта функция вызывается таймером, советую тебе перенести строку set TR[hf] = tr выше, возможно это и причина вылета
|
28.05.2009, 23:27 | #6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Ninbous
Jass progress >>>>>35/100
offline
Опыт:
5,674Активность: |
DKbru Не, непомогло даже если убирать call Cancel()...
Ninbous добавил: Код:
Разобрался почему был фатал: потомучто было вот ето local timer e = GetExpiredTimer() хотя в событии стоит "Юнит - завершает способность" и наверно поетому "GetExpiredTimer() возвращял ничего, сейчас исправил функцию на local unit u = GetTriggerUnit (), вроде должно работать фатала нет, но функция вроде необнуляет переменные и поетому таймер Tm[he] продолжает наносить урон =/ причем он стакивается если кинуть спелл еще раз... что опять не так? Ninbous добавил: Мб возвращяет неверный индекс массива? |
29.05.2009, 01:21 | #7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ScorpioT1000
Работаем
offline
Опыт: отключен
|
в новом потоке надо call ExecuteFunction("Cancel") |
29.05.2009, 19:43 | #8
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Ninbous
Jass progress >>>>>35/100
offline
Опыт:
5,674Активность: |
ScorpioT1000 Куда вставить call ExecuteFunction("Cancel")?
|
29.05.2009, 20:01 | #9
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ScorpioT1000
Работаем
offline
Опыт: отключен
|
завместо ее вызова? |
29.05.2009, 21:25 | #10
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
J
expert
offline
Опыт:
48,747Активность: |
Код:
Отредактировано J, 30.05.2009 в 02:22. |
29.05.2009, 21:41 | #11
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Ninbous
Jass progress >>>>>35/100
offline
Опыт:
5,674Активность: |
J Куча ошибок, попытался их исправить, сохранил карту, запустил, но уже нече неработало
ScorpioT1000 Поставил заместо её вызова, все равно при завершении способности тригер дамажит цель... Вот карта плиз помогите сделать как нада. |
30.05.2009, 02:00 | #12
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
J
expert
offline
Опыт:
48,747Активность: |
лень запускать редактор, прошелся глазами по диагонале, вроде исправил все что попалось |
30.05.2009, 02:24 | #13
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Ninbous
Jass progress >>>>>35/100
offline
Опыт:
5,674Активность: |
Код:
Ninbous добавил: Неработает, даже Action (там поставил проверку call DisplayTextToForce( GetPlayersAll(), "Test" ) после всех локалок) при касте непоявляется сообшение |
30.05.2009, 02:49 | #14
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ScorpioT1000
Работаем
offline
Опыт: отключен
|
Цитата:
это вот тоже сомнительная хрень, ты уверен в ее стабильности? |
|
30.05.2009, 12:57 | #15
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Ninbous
Jass progress >>>>>35/100
offline
Опыт:
5,674Активность: |
ScorpioT1000 Это обычное добавление событий в тригер, что в нем может быть не так? Тем более как раз из за этих событий я и делаю етот гемор, без них бы поставил таймер по истечению срока действия и все.
Ninbous добавил: Выполнить сразу 2 события неудастся, если ты об этом ScorpioT1000 Юнит либо заканчивает применение способности, либо её прерывает. Ninbous добавил: J Нашел ошибку: "call TimerStart(Tm, 0.1, true, function Damage)" нужно было ставить ниже всех Set, так как таймер начинался без значений переменных g_Caster и g_Target. Теперь то все работает МУИ. Ninbous добавил: Спасибо ScorpioT1000 и J |
30.05.2009, 16:48 | #16
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|