Добавлен Taurenus
Ребят, я пишу для теста, свой первый 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).
Тут надо переделывать всё, начиная с момента удаления создаваемого эффекта, и вплоть до момента созданиея юнита по XY. А так же момент с полярными смещениями (ты там вообще лишнюю область создаёшь, а значит не знаешь как надо правильно полярки использовать на GUI).
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Так что там с тем, что первый не атакует?
И спасибо за то что объяснил.
"Если вам чего-то непонятно, то вот у нас есть форум, там задавайте вопросы. Вам там помогут, мы даем инструмент, спрашивайте, экспериментируйте, и у вас все получится!"
Я: *Захожу на форум*
:Иди читай учебник.
У нас так система образования и работает, кстати.
У меня возникло 2 вопроса, мне много чего объяснили, за то спасибо. Но это даже не звучало как помощь. А как будто я отстаю в развитии, и просто бесполезно что-то мне объяснять. Я хотел узнать про:
1.Почему триггер не работает. Что там с этой переменной.
2.Почему 1вое действие призывного юнита не работает.
3.Как пресечь утечку точек позиции.
А что тогда мало? 1 мало, 2 много?
Я пытался найти инфу, я соглашусь с тем, что не тратил на это кучу часов. Решил что мне тут могли бы помочь. Если бы кто-то сказал: "Давай я помогу тебе советом, а ты поможешь мне поделать триггеры"
Я бы только спасибо сказал этому человеку,
Тут порог вхождения и так высокий. И так на каждом углу говорят, что дело в том, что я пишу на GUI, пытаюсь выучить Jass мне говорят, что я плохо знаю GUI. Мне говорят что я должен читать учебники, а не задавать вопросы, а в этих учебниках пишут, главное задавать вопросы.
Делать за тебя - толку, чемту ты научишся? Это не мы плохие и жадные, просто вас уже очень много, нубья (уж простите меня), которые карты делают тям\ляп а потом лагает, багает, вылетает... Ты не захочешь - никто не захочет, базовая инфа есть, начинай по немногу, я вот изумляюсь вашему упорству сделать супер-пупер спел, зачем?
Делайте все по минимуму и самые простые вещи, разбирайтесь, переходите к более сложным.