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

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

Закрытая тема
 
Зевс
Адская Зверюга
offline
Опыт: 152,154
Активность:
motion загружает вц
При касте спела на цель начинается слайдшоу... Где не прав?
Код:
scope Example initializer init
//================================================================================  ===========================================
globals
 private constant string TargetEffect="Abilities\\Spells\\NightElf\\MoonWell\\MoonWellCasterArt.mdl"
endglobals
//================================================================================  ===========================================
private function Example_condition takes nothing returns boolean
 return GetSpellAbilityId()=='A00J' and GetUnitAbilityLevel(GetSpellTargetUnit(),'B006')==0
endfunction
//================================================================================  ===========================================
private struct ExampleDTB
 unit u
 trigger trg
 method motion takes nothing returns nothing
  if GetUnitAbilityLevel(.u,'B006')==0 then
   call SetHeroStr(.u,GetHeroStr(.u,false)+1,true)
   call SetHeroAgi(.u,GetHeroAgi(.u,false)+1,true)
   call SetHeroInt(.u,GetHeroInt(.u,false)+1,true)
   set .active=false
  endif
 endmethod
 method endmotion takes nothing returns nothing
  set .u=null 
  call DestroyTrigger(.trg)
  set .trg=null
  call .destroy()
 endmethod
 //! runtextmacro CostumMotion("ExampleDTB","motion","endmotion","0.25")
endstruct

private function Example_subaction takes nothing returns nothing
 local unit u=GetSpellAbilityUnit()
 call DestroyEffect(AddSpecialEffectTarget(TargetEffect,u,"chest"))
 set u=null
endfunction

private function Example_action takes nothing returns nothing
 local trigger trg=CreateTrigger()
 local unit u=GetSpellTargetUnit()
 local ExampleDTB mc=ExampleDTB.create()
 call TriggerRegisterUnitEvent(trg,u,EVENT_UNIT_SPELL_EFFECT)
 call TriggerAddAction(trg,function Example_subaction)
 set mc.u=u
 set mc.trg=trg
 call ExampleDTB.addMotion(mc)
 set u=null
 set trg=null
endfunction
//================================================================================  ===========================================
private function init takes nothing returns nothing
 local integer i=0
 set gg_trg_Example=CreateTrigger()
 loop
  call TriggerRegisterPlayerUnitEvent(gg_trg_Example,Player(i),EVENT_PLAYER_UNIT_SPELL_  EFFECT,Filter(function DebugFilter))
  set i=i+1
  exitwhen i==bj_MAX_PLAYER_SLOTS
 endloop
 call TriggerAddCondition(gg_trg_Example,Condition(function Example_condition))
 call TriggerAddAction(gg_trg_Example,function Example_action)
 call Preload(TargetEffect)
endfunction
//================================================================================  ===========================================
endscope
Старый 26.04.2009, 12:46
Артте
Open up your eyes
offline
Опыт: 23,423
Активность:
EVENT_PLAYER_UNIT_SPELL_ EFFECT - почему тут пробелы?

Артте добавил:
call ExampleDTB.addMotion(mc) - вот это..там нет addmotion
Старый 26.04.2009, 14:19
Зевс
Адская Зверюга
offline
Опыт: 152,154
Активность:
  1. Так здесь работает функция code
  2. Все так и должно быть...
Старый 26.04.2009, 14:26
ShadoW DaemoN

offline
Опыт: 37,078
Активность:
Артте, блин, читай вопрос, спелл работает, но лагает.

Зевс, в этом коде нет ничего такого, к чему было бы придраться.
Выложи код текстмакроса CostumMotion (чую Жоника...).
Старый 26.04.2009, 15:10
Hellfim
Новичок
offline
Опыт: 79,707
Активность:
Зевс, предлогаю разобраться в этом самому =) Делай так: коментируешь весь текст, и затем поочередно открываешь весь текст.
Старый 26.04.2009, 21:25
Закрытая тема

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

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

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

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



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