Только начинаю писать на Jass. И сразу не понимаю, как работает блок if:
далее мой код (почему-то после условие срабатывает только одно действие):
опыт за героя
function opit_za_geroya takes nothing returns nothing
if ( IsUnitType(GetTriggerUnit(), UNIT_TYPE_HERO) == true ) then
call AddHeroXPSwapped( ( GetUnitLevel(GetTriggerUnit()) * 25 ), GetKillingUnitBJ(), true )
call CreateTextTagUnitBJ( "TRIGSTR_1881", GetTriggerUnit(), 0, 10.00, 100.00, 100.00, 100.00, 0 )
call SetTextTagVelocityBJ( GetLastCreatedTextTag(), 64, 90 )
call SetTextTagPermanentBJ( GetLastCreatedTextTag(), false )
call SetTextTagLifespanBJ( GetLastCreatedTextTag(), 3.00 )
else
endif
endfunction
===========================================================================
смерть героя
function InitTrig_Smert_Geroya takes nothing returns nothing
set gg_trg_Smert_Geroya = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_Smert_Geroya, EVENT_PLAYER_UNIT_DEATH )
call TriggerAddAction( gg_trg_Smert_Geroya, function opit_za_geroya )
endfunction

Vlod:
PT153, у меня его код корректно выполняется, если в переменной TRIGSTR_1881 действительно текст, вот пруф 1.26а
Спасибо, ребята. Вся проблема была в текстовой переменной, хотя я в гуи ввел банальные "111". Не знаю, как объяснить, до того как добавил действие прибавление опыта - это сообщение работало. Сейчас просто стер переменную и написал в ручную
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
18
Блок if работает так же как и в других языках.
Если условие истинно, то выполняется первый блок, если нет, то выполняется блок кода после else.
В твоем случае: если умерший юнит - герой, то выполняются какие-то функции, если нет - то ничего не выполняется
17
Vlod:
Блок if работает так же как и в других языках.
Если условие истинно, то выполняется первый блок, если нет, то выполняется блок кода после else.
В твоем случае: если умерший юнит - герой, то выполняются какие-то функции, если нет - то ничего не выполняется
Как помечается блок?
PT153:
А в чём проблема-то?
Проблема в том, что выполняется только первое действие после оператора if, остальные опускаются
18
TeX13
Проблема в том, что выполняется только первое действие после оператора if, остальные опускаются
Выполняются все 5 функций после истинного условия или карту в студию.
Как помечается блок?
if "условия" then
блок кода если истинно
else
блок кода если ложно
endif
18
PT153, у меня его код корректно выполняется, если в переменной TRIGSTR_1881 действительно текст, вот пруф 1.26а
Загруженные файлы
17
Vlod:
PT153, у меня его код корректно выполняется, если в переменной TRIGSTR_1881 действительно текст, вот пруф 1.26а
Спасибо, ребята. Вся проблема была в текстовой переменной, хотя я в гуи ввел банальные "111". Не знаю, как объяснить, до того как добавил действие прибавление опыта - это сообщение работало. Сейчас просто стер переменную и написал в ручную
Принятый ответ
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.