Q/A

Добавлен , опубликован
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
0
17
11 лет назад
0
уже разобрался. спс
0
9
11 лет назад
0
Ну и следовательно вопрос) Какое условие нужно ставить чтобы тригер срабатывал только в случае если в округе 300 есть труп и какое действие будет удалять труп после создания. И есть ли такая функция которая будет создавать юнита конкретно на месте трупа
0
28
11 лет назад
0
dermax1000, труп это юнит у которого хп меньше 0
то есть ищем труп с хп меньше 0 и делаем с ним то что нам надо
0
21
11 лет назад
0
nvc123, не правда, труп это юнит у которого есть тип UNIT_TYPE_DEAD, этот метод надежнее, так как юнит умирает не при 0 а при ~0.405 хп
0
28
11 лет назад
0
у меня был где то подобный скил но ты и сам сможешь сделать(как раз экзамен будет тебе)
Buulichkaa, у трупа меньше чем 0 хп это проверено)
0
9
11 лет назад
Отредактирован dermax1000
0
Созрел вопрос) как посмотреть рав код спела)
Собственно создал скилл на гуи, далее его перевёл на джазз посмотреть как это вообще сделать. Ну как бы всё более менее понятно, но вопрос такой почему 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 проверить)
0
28
11 лет назад
0
берёшь хп юнита и сравниваешь больше нуля или нет
не надо пикать всех юнитов
просто берёшь 1 юнита в группе
    bool filt1(){
        return GetUnitState(GetFilterUnit(),UNIT_STATE_LIFE)>=0
    }
вот фильтр
в ро жмёшь
вид-показать названия переменных
0
9
11 лет назад
0
nvc123:
берёшь хп юнита и сравниваешь больше нуля или нет
не надо пикать всех юнитов
просто берёшь 1 юнита в группе
Я наверно дебил но я не знаю как взять юнита не пикая его и ещё чтобы в радиусе от применившего заклинания.
0
28
11 лет назад
0
и названия меняются на равкоды
берёшь группу юнитов
group a=CreateGroup()
я сейчас системку напишу
0
9
11 лет назад
Отредактирован dermax1000
0
nvc123:
и названия меняются на равкоды
берёшь группу юнитов
group a=CreateGroup()
я сейчас системку напишу
Напиши пожалуйста. Вот пытаюсь что-то сделать и пока не особо понимаю как взять значение из группы и создать группу только из 1 юнита. Будет наглядно
0
21
11 лет назад
0
бог в помощь
native GroupEnumUnitsInRange                takes group whichGroup, real x, real y, real radius, boolexpr filter returns nothing
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.