Ребят, я пишу для теста, свой первый Jass скилл, пока не совсем сам, потому что не знаю еще, как выглядит код, не базового (сконвертированного) триггера. Пишу что помню, добавляю локальные переменные, и уже 2жды сталкивался с проблемой, и сейчас не имею понятия, как решить. У меня, проверка Jass ошибок, говорит, что я не заявлял никаких переменных.
call IssueTargetOrderBJ(orud1(), "attack", Usp())
call KillUnit(orud1())
call KillUnit(orud2())
Сразу предупрежу, что я просто решил начать писать Jass триггеры. А также, что мне известно, что там после этих строк, белиберда, так как я сначала писал в GUI, потом переписывал в Jass, и дорабатывал, так что логические ошибки, это то, что я еще не дописал.
Вот код.
Заранее спасибо.
function Trig_treeegs_Conditions takes nothing returns boolean
    return GetSpellAbilityId() == 'A000'
endfunction

function Trig_treeegs_Actions takes nothing returns nothing
  set udg_Unitper = GetSpellAbilityUnit()
    local unit Usp = udg_Unitper
    local unit orud1
    local unit orud2
    local unit orud3
    call CreateNUnitsAtLoc( 1, 'hmtm', GetOwningPlayer(Usp), PolarProjectionBJ(GetRectCenter(RectFromCenterSizeBJ(GetUnitLoc(Usp), 200.00, 300.00)), 256, 100.00), bj_UNIT_FACING )
    set udg_Unitper = GetLastCreatedUnit()
    set orud1 = udg_Unitper
    call SetUnitColor( orud1, GetPlayerColor(Player(6)) )
    call IssueTargetOrderBJ( orud1(), "attack", Usp() )
    call TriggerSleepAction( 0.90 )
    call KillUnit( orud1() )
    call CreateNUnitsAtLoc( 1, 'hmtm', GetOwningPlayer(Usp), PolarProjectionBJ(GetRectCenter(RectFromCenterSizeBJ(GetUnitLoc(Usp), 300.00, 200.00)), 128.00, 50.00), bj_UNIT_FACING )
    set udg_Unitper = GetLastCreatedUnit()
    set orud2 = udg_Unitper
    set udg_Unitper = null
    call SetUnitColor( orud2, GetPlayerColor(Player(6)) )
    call IssueTargetOrderBJ( GetLastCreatedUnit(), "attack", GetSpellAbilityUnit() )
    call TriggerSleepAction( 0.90 )
    call KillUnit( orud2() )
    call CreateNUnitsAtLoc( 1, 'hmtm', GetOwningPlayer(udg_Unitper), PolarProjectionBJ(GetRectCenter(RectFromCenterSizeBJ(GetUnitLoc(udg_Unitper), -150.00, -200.00)), 200.00, 75.00), bj_UNIT_FACING )
    set udg_Unitper = GetLastCreatedUnit()
    set orud3 = udg_Unitper
    set udg_Unitper = null
    call SetUnitColor( udg_Unitper, GetPlayerColor(Player(6)) )
    call IssueTargetOrderBJ( GetLastCreatedUnit(), "attack", GetSpellAbilityUnit() )
    call TriggerSleepAction( 0.90 )
    call KillUnit( GetLastCreatedUnit() )
    call AddSpecialEffectLocBJ( GetUnitLoc(GetLastCreatedUnit()), "Abilities\\Spells\\Human\\ThunderClap\\ThunderClapCaster.mdl" )
    call TriggerSleepAction( 0.01 )
    call DestroyEffectBJ( GetLastCreatedEffectBJ() )
    call AddSpecialEffectLocBJ( GetUnitLoc(GetLastCreatedUnit()), "Abilities\\Spells\\Human\\ThunderClap\\ThunderClapCaster.mdl" )
    call TriggerSleepAction( 0.01 )
    call DestroyEffectBJ( GetLastCreatedEffectBJ() )
    call AddSpecialEffectLocBJ( GetUnitLoc(GetLastCreatedUnit()), "Abilities\\Spells\\Human\\ThunderClap\\ThunderClapCaster.mdl" )
    call TriggerSleepAction( 0.01 )
    call DestroyEffectBJ( GetLastCreatedEffectBJ() )
    call AddSpecialEffectLocBJ( GetUnitLoc(GetSpellAbilityUnit()), "Abilities\\Spells\\Human\\MarkOfChaos\\MarkOfChaosTarget.mdl" )
    call TriggerSleepAction( 0.01 )
    call DestroyEffectBJ( GetLastCreatedEffectBJ() )
    call RemoveUnit( GetLastCreatedUnit() )
    call RemoveUnit( GetLastCreatedUnit() )
    call RemoveUnit( GetLastCreatedUnit() )
endfunction

//===========================================================================
function InitTrig_treeegs takes nothing returns nothing
    local trigger t = CreateTrigger ()
    call TriggerRegisterAnyUnitEventBJ(t, EVENT_PLAYER_UNIT_SPELL_EFFECT)
    call TriggerAddCondition(t, Condition( function Trig_treeegs_Conditions ) )
    call TriggerAddAction(t, function Trig_treeegs_Actions )
    set t = null
endfunction

Принятый ответ

1
А это никого не смущает? то что локалки поставлены не первыми
function Trig_treeegs_Actions takes nothing returns nothing
	set udg_Unitper = GetSpellAbilityUnit()
	local unit Usp = udg_Unitper
	local unit orud1
	local unit orud2
	local unit orud3
	. . .
2
Утекают точки...
PolarProjectionBJ(GetRectCenter(RectFromCenterSizeBJ(GetUnitLoc(Usp), 200., 300.)), 256, 100.)
// GetUnitLoc(Usp)
3
Обращения как в функциям
orud1()
Usp()
В общем - рано тебе ещё прям так полностью переходить на Jass.
Тут надо переделывать всё, начиная с момента удаления создаваемого эффекта, и вплоть до момента созданиея юнита по XY. А так же момент с полярными смещениями (ты там вообще лишнюю область создаёшь, а значит не знаешь как надо правильно полярки использовать на GUI).
`
ОЖИДАНИЕ РЕКЛАМЫ...
0
29
0
Тут порог вхождения и так высокий. И так на каждом углу говорят, что дело в том, что я пишу на GUI, пытаюсь выучить Jass мне говорят, что я плохо знаю GUI. Мне говорят что я должен читать учебники, а не задавать вопросы, а в этих учебниках пишут, главное задавать вопросы.
Статьи были написаны почти десять лет назад, когда еще многие под столом ползали толком никто не знал триггеры и уж тем более жасс. На текущий момент есть уже тысячи наработок, сотни статей, но все равно задают вопросы те же, поэтому местные знатоки и возмущаются
0
10
0
Народ кто знает как решить данную проблему? Захожу в редактор Анимаций и выдает это
Загруженные файлы
замечание от ScorpioT1000: 10.1 (нескольких вопросов в одном ресурсе) задаём вопрос отдельно
Чтобы оставить комментарий, пожалуйста, войдите на сайт.