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

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

Закрытая тема
 
Sladkoegka
Забыл что хотел...
offline
Опыт: 7,477
Активность:
Ошибка синтаксиса в триггере
В общем вот триггер,и в 25 строке(где endif) пишет ошибку"Cannot convert null to boolean".Я еще нуб в джассе-так и не понял из-за чего ошибка,пробовал менять местами строки,пробовал менять значения returns на boolean и выставлять-не получалось ничего.В общем вот код внизу-прошу помочь разобраться.Заранее Спасибо.
function Trig_Sniatie_Rage_Actions takes nothing returns boolean
    if ( not ( udg_all_int[0] >= 50 ) ) then
        return false
    endif
    return true
endfunction

function Trig_Sniatie_Rage_Action takes nothing returns nothing
if ( Trig_Sniatie_Rage() ) then
    set udg_all_int[0] = ( udg_all_int[0] - 50 )
    set udg_all_int[1] = ( udg_all_int[0] / 500 )
    set udg_all_int[2] = ( ( udg_all_int[0] - ( udg_all_int[1] * 500 ) ) / 50 )
    set udg_all_int[3] = ( ( udg_all_int[0] - ( udg_all_int[1] * 500 ) ) - ( udg_all_int[2] * 50 ) / 5 )
        call SetUnitAbilityLevel(udg_GrorTar, 'A001', ( udg_all_int[1] + 1 ) )
        call SetUnitAbilityLevel(udg_GrorTar, 'A004', ( udg_all_int[2] + 1 ) )
        call SetUnitAbilityLevel(udg_GrorTar, 'A003', ( udg_all_int[3] + 1 ) )
    else
        set udg_all_int[0] = 0
        set udg_all_int[1] = 0
        set udg_all_int[2] = 0
        set udg_all_int[3] = 0
        call SetUnitAbilityLevel(udg_GrorTar, 'A001', 1 )
        call SetUnitAbilityLevel(udg_GrorTar, 'A004', 1 )
        call SetUnitAbilityLevel(udg_GrorTar, 'A003', 1 )
    endif
endfunction
//===========================================================================
function InitTrig_Sniatie_Rage takes nothing returns nothing
    set gg_trg_Sniatie_Rage = CreateTrigger(  )
    call DisableTrigger( gg_trg_Sniatie_Rage )
    call TriggerRegisterTimerEventPeriodic( gg_trg_Sniatie_Rage, 3.00 )
    call TriggerAddAction( gg_trg_Sniatie_Rage, function Trig_Sniatie_Rage_Actions )
endfunction
Старый 07.05.2012, 21:25
ScorpioT1000
Работаем
offline
Опыт: отключен
Что такое Trig_Sniatie_Rage() ?
Старый 07.05.2012, 21:29
Sladkoegka
Забыл что хотел...
offline
Опыт: 7,477
Активность:
ScorpioT1000, Хех,ну вообще это сам триггер-он так называется.(или я не так понял? оО)
Старый 07.05.2012, 21:37
Hate
конь вакуумный
offline
Опыт: 43,033
Активность:
Sladkoegka:
ScorpioT1000, Хех,ну вообще это сам триггер-он так называется.(или я не так понял? оО)
if ( Trig_Sniatie_Rage() ) then
втф?
у тебя вместо условия фигня нейкая
Старый 07.05.2012, 21:38
Sladkoegka
Забыл что хотел...
offline
Опыт: 7,477
Активность:
Hatsume_Hate, Cам в шоке,но без него еще +2 или 3 ошибки(
Старый 07.05.2012, 21:39
Hate
конь вакуумный
offline
Опыт: 43,033
Активность:
if udg_all_int[0] >= 50 then
Старый 07.05.2012, 21:40
Sladkoegka
Забыл что хотел...
offline
Опыт: 7,477
Активность:
Hatsume_Hate, да поставил,но ты к чему это?
Старый 07.05.2012, 21:41
Hate
конь вакуумный
offline
Опыт: 43,033
Активность:
» к тому
function Trig_Sniatie_Rage_Action takes nothing returns nothing
if udg_all_int[0] >= 50 then
    set udg_all_int[0] = ( udg_all_int[0] - 50 )
    set udg_all_int[1] = ( udg_all_int[0] / 500 )
    set udg_all_int[2] = ( ( udg_all_int[0] - ( udg_all_int[1] * 500 ) ) / 50 )
    set udg_all_int[3] = ( ( udg_all_int[0] - ( udg_all_int[1] * 500 ) ) - ( udg_all_int[2] * 50 ) / 5 )
        call SetUnitAbilityLevel(udg_GrorTar, 'A001', ( udg_all_int[1] + 1 ) )
        call SetUnitAbilityLevel(udg_GrorTar, 'A004', ( udg_all_int[2] + 1 ) )
        call SetUnitAbilityLevel(udg_GrorTar, 'A003', ( udg_all_int[3] + 1 ) )
    else
        set udg_all_int[0] = 0
        set udg_all_int[1] = 0
        set udg_all_int[2] = 0
        set udg_all_int[3] = 0
        call SetUnitAbilityLevel(udg_GrorTar, 'A001', 1 )
        call SetUnitAbilityLevel(udg_GrorTar, 'A004', 1 )
        call SetUnitAbilityLevel(udg_GrorTar, 'A003', 1 )
    endif
endfunction
//===========================================================================
function InitTrig_Sniatie_Rage takes nothing returns nothing
    set gg_trg_Sniatie_Rage = CreateTrigger(  )
    call DisableTrigger( gg_trg_Sniatie_Rage )
    call TriggerRegisterTimerEventPeriodic( gg_trg_Sniatie_Rage, 3.00 )
    call TriggerAddAction( gg_trg_Sniatie_Rage, function Trig_Sniatie_Rage_Actions )
endfunction
Старый 07.05.2012, 21:42
Sladkoegka
Забыл что хотел...
offline
Опыт: 7,477
Активность:
Hatsume_Hate, oO Огромное спасибо за то что помог-да там все хорошо.Уже можно закрыть()Буду это за основу брать в дальнейшем.
Старый 07.05.2012, 21:45
Закрытая тема

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

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

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

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



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