Сейчас 23:24:01 Пятница, 21 июня, 2024 год
[ x ] Главная ⇒ Форум ⇐ RSS Файлы Cтатьи Картинки В о й т и   или   з а р е г и с т р и р о в а т ь с я


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: PUVer, SirNikolas, Ty3uK  
Правильно повесить хендл на ид таймера
[DUОS]Дата: Вторник, 16 Марта 2010, 17:18:23 | Сообщение # 1
Группа: Заблокированные
Сообщений: 6279
Награды: 9
Репутация: 1708
Блокировки:
Приветствую всех опытных джассеров! Обращаюсь к вам, наверное, с нетрудным вопросом. Я попытался в хеш-таблице повесить на ID таймера эффект. По истечении таймера эффект нужно убрать, но он не убирается!
Код даю ниже:
Code
function Trig_SandStorm_Conditions takes nothing returns boolean
     return GetSpellAbilityId() == 'A000'
endfunction

function SandStormEffectRemove takes nothing returns nothing
     local timer t = GetExpiredTimer()
     local effect e = LoadEffectHandle(udg_SandHeroHashtable,GetHandleId(t),1)
     call DestroyEffect(e)
     call DestroyTimer(t)
     set e = null
     set t = null
endfunction

function Trig_SandStorm_Actions takes nothing returns nothing
     local unit caster = GetSpellAbilityUnit()
     local timer st = CreateTimer() // Spell Timer
     local timer et = CreateTimer() // Effect Timer
     local effect e = AddSpecialEffectTarget("war3mapImported\\SandTornado.mdx",caster,"origin")
     call SaveEffectHandle(udg_SandHeroHashtable,GetHandleId(et),1,e)
     call SaveUnitHandle(udg_SandHeroHashtable,GetHandleId(st),2,caster)
     call TimerStart(et,udg_SandStormDur[GetUnitAbilityLevel(caster,'A000')],false,function SandStormEffectRemove)
     set et = null
     set caster = null
     set st = null
endfunction

//===========================================================================
function InitTrig_SandStorm takes nothing returns nothing
     set gg_trg_SandStorm = CreateTrigger()
     call TriggerRegisterAnyUnitEventBJ(gg_trg_SandStorm,EVENT_PLAYER_UNIT_SPELL_EFFECT)
     call TriggerAddCondition(gg_trg_SandStorm,Condition(function Trig_SandStorm_Conditions))
     call TriggerAddAction(gg_trg_SandStorm,function Trig_SandStorm_Actions)
endfunction

st я потом ещё юзать собрался, но меня интересует именно почему не удаляется эффект.


НУ И ЧТО ТЕПЕРЬ?


Кликайте на дракошку ;)
 

DragoNДата: Вторник, 16 Марта 2010, 17:36:22 | Сообщение # 2
Инквизитор
Группа: Стримеры
Сообщений: 4348
Награды: 7
Репутация: 2776
Блокировки:
[DUОS], а юнит достаётся нормально?
как вариант вещать на глобал таймер О_О
ещё попробуй очистить все дочерние данные с таймера


El Psy Congroo
 

Artas_UndeadДата: Вторник, 16 Марта 2010, 17:49:49 | Сообщение # 3
9 уровень
Группа: Проверенные
Сообщений: 1953
Награды: 0
Репутация: 365
Блокировки:
Очисти хеш-таблицу О_о
 

[DUОS]Дата: Вторник, 16 Марта 2010, 17:54:39 | Сообщение # 4
Группа: Заблокированные
Сообщений: 6279
Награды: 9
Репутация: 1708
Блокировки:
Dragon93,
С глобал таймером тоже не пашет. Да и юнит не вытаскивается...
Quote (Dragon93)
ещё попробуй очистить все дочерние данные с таймера

Научи О_О
Флашем?


НУ И ЧТО ТЕПЕРЬ?


Кликайте на дракошку ;)
 

DragoNДата: Вторник, 16 Марта 2010, 17:58:13 | Сообщение # 5
Инквизитор
Группа: Стримеры
Сообщений: 4348
Награды: 7
Репутация: 2776
Блокировки:
Quote (Artas_Undead)
Очисти хеш-таблицу О_о

+
а ещё лучше проинициализируй О_О


El Psy Congroo
 

[DUОS]Дата: Вторник, 16 Марта 2010, 18:01:20 | Сообщение # 6
Группа: Заблокированные
Сообщений: 6279
Награды: 9
Репутация: 1708
Блокировки:
Quote (Dragon93)
а ещё лучше проинициализируй О_О

Ок, секундочку)

Добавлено (16-03-2010, 18:01)
---------------------------------------------
Вот это тупанул... Я забыл её проинициализировать...
Спири, спасибо!
Клоз.


НУ И ЧТО ТЕПЕРЬ?


Кликайте на дракошку ;)
 

  • Страница 1 из 1
  • 1
Поиск:

Copyright © 2006 - 2024 Warcraft3FT.info При копировании материалов c сайта ставьте, пожалуйста, активную обратную ссылку на нас • Design by gReeB04ki ©
Хостинг от uCoz