Только начинаю писать на 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". Не знаю, как объяснить, до того как добавил действие прибавление опыта - это сообщение работало. Сейчас просто стер переменную и написал в ручную
`
ОЖИДАНИЕ РЕКЛАМЫ...
0
19
5 лет назад
0
Похожие вопросы:

ответ
под джасс надо писать самому
можно взять под другие яп
или вообще писать в блокноте(как я это делаю)
и код на скрине плохой
ответ
Переустановить вар, сверху прогу. Если не поможет снести винду.
ответ
Jack-of-shadow, ну конвертеров нету, руками ну или Find + Replace...
ответ
Близрад да так вставили, шоб не ныли, что там нет вжасса. А подсветку синтаксиса они просто забыли, и им побарабану, если есть вжасс и это пока хватит ширпотребу, т.к. рефорж важнее.
Братиш, мой тебе совет - качай HiveWE для патчей 1.30 и выше.

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