Сейчас 04:06:30 Воскресенье, 5 мая, 2024 год
[ x ] Главная ⇒ Форум ⇐ RSS Файлы Cтатьи Картинки В о й т и   или   з а р е г и с т р и р о в а т ь с я


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: PUVer, SirNikolas, Ty3uK  
Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » Ошибка в коде
Ошибка в коде
jul9lsnikДата: Вторник, 24 Августа 2010, 18:41:03 | Сообщение # 1
6 уровень
Группа: Заблокированные
Сообщений: 183
Награды: 0
Репутация: 19
Блокировки:
Помогите найти ошибку! Код выполняестся до set mana = mana + 10*GetUnitAbilityLevelSwapped('A000', u)
Code
function Trig_IceMana_Conditions takes nothing returns boolean
     if ( not ( GetSpellAbilityId() == 'A000' ) ) then
         return false
     endif
     return true
endfunction

function Trig_IceMana_Actions takes nothing returns nothing
local unit u = GetSpellAbilityUnit()
local unit t = GetSpellTargetUnit()
local integer i = 1
local integer mana
local unit dummy
call CreateNUnitsAtLoc( 1, 'e006', GetOwningPlayer(u), PolarProjectionBJ(GetUnitLoc(t), 100, 0), bj_UNIT_FACING )
set udg_IceUnit[1] = GetLastCreatedUnit()
set udg_IceUnit[2] = t
set dummy = GetLastCreatedUnit()
set udg_Angle[6] = 0.00
call EnableTrigger( gg_trg_MoveIce )
loop
     exitwhen i == 6         
         if GetUnitStateSwap(UNIT_STATE_MANA, t) >=10.00 * I2R(GetUnitAbilityLevelSwapped('A000', u)) then
             call SetUnitManaBJ( t, ( GetUnitStateSwap(UNIT_STATE_MANA, t) - 10*GetUnitAbilityLevelSwapped('A000', u) ) )
             call DestroyEffect(AddSpecialEffectLoc("Abilities\\Spells\\NightElf\\Blink\\BlinkCaster.mdl",GetUnitLoc(t)))
             set mana = mana + 10*GetUnitAbilityLevelSwapped('A000', u)
             call PolledWait(1.00)
         endif
     set i = i+1
endloop
call DisableTrigger( gg_trg_MoveIce )
call RemoveUnit(dummy)        
call DestroyEffect(AddSpecialEffectLoc("Abilities\\Spells\\NightElf\\Blink\\BlinkTarget.mdl",GetUnitLoc(t)))
if mana != 0 then
     call UnitDamageTargetBJ(u,t,I2R(mana), ATTACK_TYPE_NORMAL, DAMAGE_TYPE_FIRE)
     call SetUnitManaBJ( u, ( GetUnitStateSwap(UNIT_STATE_MANA, u) + mana ) )   
else
     call UnitDamageTargetBJ(u,t,I2R(10*GetUnitAbilityLevelSwapped('A000', u)), ATTACK_TYPE_NORMAL, DAMAGE_TYPE_FIRE)
     call SetUnitManaBJ( u, ( GetUnitStateSwap(UNIT_STATE_MANA, u) + mana/5 ) )   
endif
endfunction

//===========================================================================
function InitTrig_IceMana takes nothing returns nothing
     set gg_trg_IceMana = CreateTrigger(  )
     call TriggerRegisterAnyUnitEventBJ( gg_trg_IceMana, EVENT_PLAYER_UNIT_SPELL_EFFECT )
     call TriggerAddCondition( gg_trg_IceMana, Condition( function Trig_IceMana_Conditions ) )
     call TriggerAddAction( gg_trg_IceMana, function Trig_IceMana_Actions )
endfunction

Добавлено (24-08-2010, 18:41)
---------------------------------------------
Кароче ненада уже =) Ошибка мя убила.... вся соль в том, что я при создании переменной mana не обнулил её =)


RFTD
Знай наших
Ну плин очепятолся пару разъ! Ну ы чьто7.©
Не понимать шутки, это пошло ^_^ ©
Если ты умрёш - то я тебя зарежу!©
Простите меня. Кажется я умер.©
 

Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » Ошибка в коде
  • Страница 1 из 1
  • 1
Поиск:

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