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

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

Закрытая тема
 
ARHUI

offline
Опыт: 3,341
Активность:
GetSpellTargetDestructable Как оно работает или не работает
Код:
function Trig_GatesRecovery_Actions takes nothing returns nothing
 call DisplayTextToPlayer(Player(0),0,0,"Start Recovery actions")
 call DisplayTextToPlayer(Player(0),0,0,"GetSpellTargetDestructable()="+GetDestructableName(GetSpellTargetDestructable()))
    if ( GetSpellAbilityId() == 'Ahrp' ) then
        local integer a = 0
        loop
            exitwhen a > 3
            if ( GetSpellTargetDestructable() == udg_gates[a] ) then
                if (udg_IsGateDead[a] == false) then
                    return
                endif
                call DisplayTextToPlayer(Player(0),0,0,R2S(DistanceBetweenPoints(GetUnitLoc(GetSpellA  bilityUnit()), GetDestructableLoc(udg_gates[a]))))
                if (udg_IsGateDead[a] == false) then
                    if ( NumberOfBuildersNearGate(a)!=0 ) then
                        call DisableTrigger( gg_trg_MarkDeadGates )
                        call ModifyGateBJ( bj_GATEOPERATION_OPEN, udg_gates[a] )
                        call SetDestructableLife( udg_gates[a], 0.00 )
                        call EnableTrigger( gg_trg_MarkDeadGates )
                    else
                        call ModifyGateBJ( bj_GATEOPERATION_CLOSE, udg_gates[a] )
                        call SetDestructableLife( udg_gates[a], udg_GatesLife[a] )
                    endif
                endif
                if ((udg_IsGateDead[a] == true) && ( GetDestructableLife(udg_gates[a]) > 0.00 ) && (DistanceBetweenPoints(GetUnitLoc(GetSpellAbilityUnit()), GetDestructableLoc(udg_gates[a])) < 600) ) then
                    call DisplayTextToPlayer(Player(0),0,0,"Begin with gates number"+I2S(a))
                    set udg_IsGateDead[a] = false
                    call SetDestructableLife(udg_gates[a],500.00)
                    set udg_GatesLife[a]=GetDestructableLife(udg_gates[a])
                    call GatesActions(a,GetSpellAbilityUnit())
                endif
            endif
            set a = a + 1
        endloop
        call MoveForce()
    endif
endfunction

//===========================================================================
function InitTrig_GatesRecovery takes nothing returns nothing
    set gg_trg_GatesRecovery = CreateTrigger(  )
    call TriggerRegisterAnyUnitEventBJ( gg_trg_GatesRecovery, EVENT_PLAYER_UNIT_SPELL_FINISH )
    call TriggerAddAction( gg_trg_GatesRecovery, function Trig_GatesRecovery_Actions )
endfunction



Почему GetSpellTargetDestructable Пустой?
Старый 24.04.2011, 16:44
Hanabishi
COOL STATUS
offline
Опыт: отключен
EVENT_PLAYER_UNIT_SPELL_CAST
Старый 24.04.2011, 16:45
ARHUI

offline
Опыт: 3,341
Активность:
EVENT_PLAYER_UNIT_SPELL_CAST а что мне с этим делать?
Старый 24.04.2011, 16:46
Hanabishi
COOL STATUS
offline
Опыт: отключен
в коде ты не шаришь походу
Старый 24.04.2011, 16:49
ARHUI

offline
Опыт: 3,341
Активность:
Мне нужно после того как ремонт закончится, узнать какие ворота юнит отремонтировал, с EVENT_PLAYER_UNIT_SPELL_CAST триггер запустится с началом заклинания

ARHUI добавил:
Есть способ узнать какие ворота были починены или по окончании спелла ссылка на объект-цель стирается?
Старый 24.04.2011, 17:02
Hellfim
Новичок
offline
Опыт: 79,880
Активность:
ARHUI, сохрани в переменную/хеш-таблицу. После завершения починки извлеки.
Старый 24.04.2011, 17:33
Doc

offline
Опыт: 63,163
Активность:
Hanabishi, ололо? может EVENT_UNIT_SPELL_EFFECT?
Старый 24.04.2011, 18:53
ARHUI

offline
Опыт: 3,341
Активность:
Решил по своему...
Старый 26.04.2011, 16:21
Закрытая тема

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

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

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

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



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