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


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: PUVer, SirNikolas, Ty3uK  
Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » переменые
переменые
Volk9503Дата: Пятница, 18 Ноября 2011, 12:22:55 | Сообщение # 1
7 уровень
Группа: Проверенные
Сообщений: 311
Награды: 0
Репутация: 13
Блокировки:
почему пишет необъявленной переменной
Code
function Trig_q_Func004C takes nothing returns boolean  
     if ( not ( GetUnitTypeId(GetConstructedStructure()) == 'hwtw' ) ) then
         return false
     endif
     return true
endfunction

function Trig_q_Func005Func002C takes nothing returns boolean
     if ( not ( IsUnitInGroup(GetSpellTargetUnit(), otred) == true ) ) then
         return false
     endif
     return true
endfunction

function Trig_q_Func005C takes nothing returns boolean
     if ( not ( GetSpellAbilityId() == 'A000' ) ) then
         return false
     endif
     return true
endfunction

function Trig_q_Func006Func002Func001C takes nothing returns boolean
     if ( not ( GetUnitTypeId(GetDyingUnit()) == 'hwtw' ) ) then
         return false
     endif
     return true
endfunction

function Trig_q_Func006Func002C takes nothing returns boolean
     if ( not ( IsUnitInGroup(GetDyingUnit(), otred) == true ) ) then
         return false
     endif
     return true
endfunction

function Trig_q_Func006Func003C takes nothing returns boolean
     if ( ( IsUnitInGroup(GetDyingUnit(), otred) == true ) ) then
         return true
     endif
     if ( ( GetUnitTypeId(GetDyingUnit()) == 'hwtw' ) ) then
         return true
     endif
     return false
endfunction

function Trig_q_Func006C takes nothing returns boolean
     if ( not Trig_q_Func006Func003C() ) then
         return false
     endif
     return true
endfunction

function Trig_q_Func007Func004A takes nothing returns nothing
     call AddLightningLoc( "CLPB", GetUnitLoc(edeniza), GetUnitLoc(GetEnumUnit()) )
     // создать переменую молнии molnie
     local lightning molnie
     set molnie = GetLastCreatedLightningBJ()
     // создать переменую боевая еденица edeniza2
     local unit edeniza2
     set edeniza2 = GetEnumUnit()
     call SetUnitManaBJ( edeniza2, ( GetUnitStateSwap(UNIT_STATE_MANA, edeniza2) + 1 ) )
     call SetUnitManaBJ( edeniza, ( GetUnitStateSwap(UNIT_STATE_MANA, edeniza) - 1 ) )
     call TriggerSleepAction( 0.50 )
     call DestroyLightningBJ( molnie )
     // удалить переменую молнии molnie
     set molnie = null
     // удалить переменую боевой еденицы edeniza2
     set edeniza2 = null
endfunction

function Trig_q_Func007C takes nothing returns boolean
     if ( not ( CountUnitsInGroup(otred) > 0 ) ) then
         return false
     endif
     if ( not ( GetUnitStateSwap(UNIT_STATE_MANA, edeniza) > 0.00 ) ) then
         return false
     endif
     return true
endfunction

function Trig_q_Actions takes nothing returns nothing
     if ( Trig_q_Func004C() ) then
         // создать переменую отряд otred
         local group otred
         // создать переменую боевая еденица edeniza
         local unit edeniza
         set udg_edeniza = GetConstructedStructure()
     else
         call DoNothing(  )
     endif
     if ( Trig_q_Func005C() ) then
         if ( Trig_q_Func005Func002C() ) then
             call GroupRemoveUnitSimple( GetSpellTargetUnit(), otred )
         else
             call GroupAddUnitSimple( GetSpellTargetUnit(), otred )
         endif
     else
         call DoNothing(  )
     endif
     if ( Trig_q_Func006C() ) then
         if ( Trig_q_Func006Func002C() ) then
             call GroupRemoveUnitSimple( GetDyingUnit(), otred )
         else
             if ( Trig_q_Func006Func002Func001C() ) then
                 call GroupClear( otred )
                 // удалить переменую отряда otred
                 set otred = null
                 // удалить переменую еденицы edeniza
                 set edeniza = null
                 return
             else
                 call DoNothing(  )
             endif
         endif
     else
         call DoNothing(  )
     endif
     if ( Trig_q_Func007C() ) then
         call ForGroupBJ( otred, function Trig_q_Func007Func004A )
     else
         call DoNothing(  )
     endif
endfunction

//===========================================================================
function InitTrig_q takes nothing returns nothing
     set gg_trg_q = CreateTrigger(  )
     call TriggerRegisterTimerEventPeriodic( gg_trg_q, 1.00 )
     call TriggerRegisterAnyUnitEventBJ( gg_trg_q, EVENT_PLAYER_UNIT_SPELL_CAST )
     call TriggerRegisterAnyUnitEventBJ( gg_trg_q, EVENT_PLAYER_UNIT_DEATH )
     call TriggerRegisterAnyUnitEventBJ( gg_trg_q, EVENT_PLAYER_UNIT_CONSTRUCT_FINISH )
     call TriggerAddAction( gg_trg_q, function Trig_q_Actions )
endfunction


Системы на заказ писать в л.с.
RGhost — файлообменник
 

Ty3uKДата: Пятница, 18 Ноября 2011, 12:48:33 | Сообщение # 2
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
Мой щитвтф, глаза вытекают... Зачем перевел в текст? Но это ладно. Зачем кинул неоптимизированный код? Уж лучше бы на гуи оставил

Добавлено (18 Ноябрь 2011, 12:48:33)
---------------------------------------------
По сабжу- все локалки должны объявляться в самом начале, а у тебя в начале стоит иф зен


╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

Volk9503Дата: Пятница, 18 Ноября 2011, 13:00:46 | Сообщение # 3
7 уровень
Группа: Проверенные
Сообщений: 311
Награды: 0
Репутация: 13
Блокировки:
на гуи более чем на 1 объекте работать не будит

Добавлено (18 Ноябрь 2011, 13:00:46)
---------------------------------------------
можешь перевести нормально в jass


Системы на заказ писать в л.с.
RGhost — файлообменник
 

HexingДата: Пятница, 18 Ноября 2011, 13:45:27 | Сообщение # 4
10 уровень
Группа: Проверенные
Сообщений: 1645
Награды: 1
Репутация: 432
Блокировки:
Quote
call SetUnitManaBJ( edeniza, ( GetUnitStateSwap(UNIT_STATE_MANA, edeniza) - 1 ) )

edeniza поменяй на edeniza2 ибо первого нет


 

Volk9503Дата: Пятница, 18 Ноября 2011, 13:48:47 | Сообщение # 5
7 уровень
Группа: Проверенные
Сообщений: 311
Награды: 0
Репутация: 13
Блокировки:
edeniza есть и edeniza и edeniza2 это разные еденицы

Системы на заказ писать в л.с.
RGhost — файлообменник
 

HexingДата: Пятница, 18 Ноября 2011, 14:57:04 | Сообщение # 6
10 уровень
Группа: Проверенные
Сообщений: 1645
Награды: 1
Репутация: 432
Блокировки:
не тупи у тебя edeniza в другой функции, а из этой ты ту еденизу не видешь т.к. локальные переменные распостроняются только на область внутри одной функции... детский сад...

 

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

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