Собственно создал скилл на гуи, далее его перевёл на джазз посмотреть как это вообще сделать. Ну как бы всё более менее понятно, но вопрос такой почему Pick юнитов в джаззе происходит вообще в конце кода
function Trig_Skelet_GUI_____________________u_Conditions takes nothing returns boolean
if ( not ( GetSpellAbilityId() == 'A000' ) ) then
return false
endif
return true
endfunction
function Trig_Skelet_GUI_____________________u_Func001Func001C takes nothing returns boolean
if ( not ( IsUnitDeadBJ(GetEnumUnit()) == true ) ) then
return false
endif
return true
endfunction
function Trig_Skelet_GUI_____________________u_Func001A takes nothing returns nothing
if ( Trig_Skelet_GUI_____________________u_Func001Func001C() ) then
call RemoveUnit( GetEnumUnit() )
call AddSpecialEffectLocBJ( GetUnitLoc(GetEnumUnit()), "Abilities\\Spells\\Undead\\RaiseSkeletonWarrior\\RaiseSkeleton.mdl" )
call CreateNUnitsAtLoc( 1, 'uske', Player(0), GetUnitLoc(GetEnumUnit()), bj_UNIT_FACING )
call DestroyEffectBJ( GetLastCreatedEffectBJ() )
else
call DoNothing( )
endif
endfunction
function Trig_Skelet_GUI_____________________u_Actions takes nothing returns nothing
call ForGroupBJ( GetUnitsInRangeOfLocAll(512, GetUnitLoc(GetTriggerUnit())), function Trig_Skelet_GUI_____________________u_Func001A )
endfunction
//===========================================================================
function InitTrig_Skelet_jass takes nothing returns nothing
set gg_trg_Skelet_jass = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_Skelet_jass, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddCondition( gg_trg_Skelet_jass, Condition( function Trig_Skelet_GUI_____________________u_Conditions ) )
call TriggerAddAction( gg_trg_Skelet_jass, function Trig_Skelet_GUI_____________________u_Actions )
endfunction
Далее если не трудно скажите как сделать чтобы он создавал из 1 трупа скелета, а не из всех. Почему делал так скажу просто я не особо понял какая функция отвечает за то чтобы проверить жив юнит или мертв и не знал как пропикать юнитов
И ещё вопрос. Как избавиться от утечет тобеж чтобы если рядом было 2 игрока он не создавал для обоих игроков 2 скелетов (думаю так и будет если в 2 проверить)
писал по памяти
в функцию add передёшь равкод спелла и равкод юнита которого надо призвать
То есть эта библиотека создаёт нам группу из 1 игрока жизни которого меньше или равны 0 в радиусе 300? А при каком условии она её создаёт? И вопрос как задействовать эту библиотеку при использовании скила? И почему редактор блокирет её при попытке сохранить или запустить тест карты.
PS извини за количество вопросов)
это скил
в функции init в конце пишешь
add(равкод скила,равкод скелета)
у тебя джнгп?
ты 1 урок читал?
и 2
в нестандартном коде написал include "cj_types.j"
группа создаётся со всеми труппами в радиусе но из неё берётся только 1 юнит(b=FirstOfGroup(a))
ой
там ошибочка
return GetUnitState(GetFilterUnit(),UNIT_STATE_LIFE)>=0
замени на
return GetUnitState(GetFilterUnit(),UNIT_STATE_LIFE)<=0
знак перепутал)
это скил
в функции init в конце пишешь
add(равкод скила,равкод скелета)
у тебя джнгп?
ты 1 урок читал?
и 2
в нестандартном коде написал include "cj_types.j"
группа создаётся со всеми труппами в радиусе но из неё берётся только 1 юнит(b=FirstOfGroup(a))
ой
там ошибочка
return GetUnitState(GetFilterUnit(),UNIT_STATE_LIFE)>=0
замени на
return GetUnitState(GetFilterUnit(),UNIT_STATE_LIFE)<=0
знак перепутал)
Нет я обычны редактор юзал. Я думал раз у меня из 1 урока карта пошла, то и остальное получится
Загруженные файлы
Показан только небольшой набор комментариев вокруг указанного.
Перейти к актуальным.
Buulichkaa, у трупа меньше чем 0 хп это проверено)
Отредактирован dermax1000
И ещё вопрос. Как избавиться от утечет тобеж чтобы если рядом было 2 игрока он не создавал для обоих игроков 2 скелетов (думаю так и будет если в 2 проверить)
не надо пикать всех юнитов
просто берёшь 1 юнита в группе
в ро жмёшь
вид-показать названия переменных
берёшь группу юнитов
Отредактирован dermax1000
теперь масоны убьют тебя
сейчас открою блокнот
в функцию add передёшь равкод спелла и равкод юнита которого надо призвать
PS извини за количество вопросов)
в функции init в конце пишешь
add(равкод скила,равкод скелета)
у тебя джнгп?
ты 1 урок читал?
и 2
в нестандартном коде написал include "cj_types.j"
группа создаётся со всеми труппами в радиусе но из неё берётся только 1 юнит(b=FirstOfGroup(a))
ой
там ошибочка
return GetUnitState(GetFilterUnit(),UNIT_STATE_LIFE)>=0
замени на
return GetUnitState(GetFilterUnit(),UNIT_STATE_LIFE)<=0
знак перепутал)