XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Warcraft> Академия: форум для вопросов> Jass
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

Ответ
 
ErickSkrauch

offline
Опыт: 5,451
Активность:
Не работает код
globals
hashtable h
endglobals

function effect takes nothing returns nothing
local timer t = GetExpiredTimer()
local integer h = GetHandleId(t)
local effect e = LoadEffectHandle(udg_h, h, 1)
call DestroyEffect(e)
call DestroyTimer(t)
call FlushChildHashtable(udg_h,h)
set e = null
set t = null
set h = null
endfunction

function Trig_effect_Conditions takes nothing returns boolean
return GetSpellAbilityId() == 'AHtb'
endfunction

function Trig_effect_Actions takes nothing returns nothing
local unit u = GetSpellAbilityUnit()
local effect e
local timer t = CreateTimer()
local integer h = GetHandleId(t)
call AddSpecialEffectTargetUnit( "overhead", u, "Abilities\\Spells\\NightElf\\Taunt\\TauntCaster.mdl" )
set e = GetLastCreatedEffect()
call SaveEffectHandle(udg_h, h, 1, e)
call TimerStart(t, 2.00, false, function effect)
set u = null
set e = null
set t = null
set h = null
endfunction

//===========================================================================
function InitTrig_effect takes nothing returns nothing
set gg_trg_effect = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ(gg_trg_effect, EVENT_PLAYER_UNIT_SPELL_CAST)
call TriggerAddCondition(gg_trg_effect, Condition(function Trig_effect_Conditions ) )
call TriggerAddAction( gg_trg_effect, function Trig_effect_Actions )
set udg_h = InitHashtable()
endfunction

Создает над головой приминяющего юнита спецэффект. Сохраняет его в хэш. Запускает таймер. И только потом удаляет эффект.

Но оно не работает. :(
[+] замечание от Doc: 4.5 (тема не в том разделе)

Отредактировано ErickSkrauch, 10.08.2011 в 02:18.
Старый 10.08.2011, 02:02
Doc

offline
Опыт: 63,163
Активность:
функции AddSpecialEffectTargetUnit нет, есть AddSpecialEffectTargetUnitBJ. И вы в курсе что у этого эффекта нет анимации смерти?
Старый 10.08.2011, 03:42
Helpmeplz

offline
Опыт: 11,738
Активность:
к переменным объявленным через globals/englobals в коде идет обращение без udg_.
каким образом у тебя это скомпилировалось? у тебя нет переменной udg_h и повторно объявляется переменная h типа integer в каждой функции.
Старый 10.08.2011, 11:06
Nerevar
I'll be back!
offline
Опыт: 18,352
Активность:
globals
hashtable h
endglobals

function effect takes nothing returns nothing
local timer t = GetExpiredTimer()
local integer id = GetHandleId(t)
local effect e = LoadEffectHandle(h, id, 1)
call DestroyEffect(e)
call DestroyTimer(t)
call FlushChildHashtable(h,id)
set e = null
set t = null
endfunction

function Trig_effect_Conditions takes nothing returns boolean
return GetSpellAbilityId() == 'AHtb'
endfunction

function Trig_effect_Actions takes nothing returns nothing
local unit caster = GetTriggerUnit()
local timer t = CreateTimer()
local integer id = GetHandleId(t)
local effect e =AddSpecialEffectTarget("Abilities\\Spells\\NightElf\\Taunt\\TauntCaster.mdl",caster,"​;overhead")
call SaveEffectHandle(h, id, 1, e)
call TimerStart(t, 2.00, false, function effect)
set caster = null
set e = null
set t = null
endfunction

//===========================================================================
function InitTrig_effect takes nothing returns nothing
set gg_trg_effect = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ(gg_trg_effect, EVENT_PLAYER_UNIT_SPELL_CAST)
call TriggerAddCondition(gg_trg_effect, Condition(function Trig_effect_Conditions ) )
call TriggerAddAction( gg_trg_effect, function Trig_effect_Actions )
set h = InitHashtable()
endfunction
Проверь будет ли так работать(пока сам не могу проверить)
Старый 10.08.2011, 11:25
ErickSkrauch

offline
Опыт: 5,451
Активность:
FLESHNIK, в событии он инициализируется
Helpmeplz, ща переименую в hash
Doc, ступил :)
Старый 10.08.2011, 12:30
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 21:36.