Добавлен
у Меня вызов эгзекюта збивает значение в глобалиной переменой хатя внутри самого эгзекюта нечего подобного нету

prog
всё равно там глобальная точка, если уж это начать переделывать, то и всю наработку тогда переделывать
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
14
code
 function Trig_Hado_90_Actions takes nothing returns nothing 
    set udg_Move = GetSpellTargetLoc()
    call PlaySoundFromOffsetBJ( gg_snd_Aizen_Sousuke___Hadou90Zvuk, 100, 1.00 )
    call CreateNUnitsAtLoc( 1, 'h013', GetOwningPlayer(udg_TrigerUnit), udg_Move, 0.00 )
    call SetUnitLifeBJ( GetLastCreatedUnit(), 65.00 )
    call GroupAddUnitSimple( GetLastCreatedUnit(), udg_OtratALL[56] )
    call SetUnitUserData(bj_lastCreatedUnit,udg_Index)
    call RemoveLocation(udg_Move)
endfunction

//===========================================================================
function InitTrig_Hado_90 takes nothing returns nothing
    set gg_trg_Hado_90 = CreateTrigger(  )
    call TriggerAddAction( gg_trg_Hado_90, function Trig_Hado_90_Actions )
endfunction



function Trig_Hado_90_2 takes nothing returns boolean
    return (IsUnitEnemy(GetFilterUnit(), GetOwningPlayer(udg_TrigerUnit)) == true )   
endfunction

function Trig_Hado_90 takes nothing returns nothing
    local unit target = GetEnumUnit()
    set udg_Move1 = GetUnitLoc(target)
    call UnitDamageTargetBJ(udg_TrigerUnitMass[udg_Index],target,(I2R( GetHeroStr(udg_TrigerUnitMass[udg_Index], true)) * 100.00 ), ATTACK_TYPE_NORMAL, DAMAGE_TYPE_MAGIC )
    call TriggerExecute(gg_trg_Stan3)
     set target=null
endfunction
function Trig_Hado_90_1 takes nothing returns nothing
     set udg_TrigerUnit = GetEnumUnit()
     set udg_Index =GetUnitUserData(udg_TrigerUnit)
     call SetUnitLifeBJ( udg_TrigerUnit, GetUnitState(udg_TrigerUnit,UNIT_STATE_LIFE) - 2)
    if ( GetUnitState(udg_TrigerUnit,UNIT_STATE_LIFE )<= 2 ){
     set udg_Move = GetUnitLoc(udg_TrigerUnit)
     set udg_Otrat = GetUnitsInRangeOfLocMatching(325, udg_Move, function Trig_Hado_90_2)
        call RemoveUnit(udg_TrigerUnit)
        call ForGroup( udg_Otrat, function Trig_Hado_90 )
        call RemoveLocation(udg_Move)
        call DestroyGroup(udg_Otrat)
    }
endfunction

function Trig_Hado_90_1_Actions takes nothing returns nothing
    call ForGroupBJ( udg_OtratALL[56], function Trig_Hado_90_1 )
endfunction

//===========================================================================
function InitTrig_Hado_90_1 takes nothing returns nothing
    set gg_trg_Hado_90_1 = CreateTrigger(  )
    call TriggerAddAction( gg_trg_Hado_90_1, function Trig_Hado_90_1_Actions )
endfunction

function Trig_Stan3_Actions takes nothing returns nothing
     local unit u = CreateUnitAtLoc( GetOwningPlayer(udg_TrigerUnit), 'h019', udg_Move1,  0.00 )
    call UnitAddAbilityBJ( 'A00J', u )
    call IssueImmediateOrder( u, "stomp" )
    call UnitApplyTimedLifeBJ( 0.01, 'BTLF', u )
    call RemoveLocation(udg_Move1)
    set u =null
endfunction

//===========================================================================
function InitTrig_Stan3 takes nothing returns nothing
    set gg_trg_Stan3 = CreateTrigger(  )
    call TriggerAddAction( gg_trg_Stan3, function Trig_Stan3_Actions )
endfunction **
udg_Index становица фиг знает чем
замечание от Raised: https://xgm.guru/p/help/txt2
14
udg_Index становица фиг знает чем
аа должна быть 1
udg_Index становица фиг знает чем
аа должна быть 1
Но если Провести Перестоновку слогаймых будет вссё норм
function Trig_Hado_90 takes nothing returns nothing
local unit target = GetEnumUnit()
set udg_Move1 = GetUnitLoc(target)
call UnitDamageTargetBJ(udg_TrigerUnitMass[udg_Index],target,(I2R( GetHeroStr(udg_TrigerUnitMass[udg_Index], true)) * 100.00 ), ATTACK_TYPE_NORMAL, DAMAGE_TYPE_MAGIC )
call TriggerExecute(gg_trg_Stan3)
set target=null
endfunction
изначалино эгзекють выше был уменя чем дамага и збивалоси значение в Index но как тока я его поставил вниз оля всё норм
18
MATRITSA
попробуй поменять это
До
call TriggerExecute(gg_trg_Stan3)
на это
После
call Trig_Stan3_Actions()
14
Чувак ты предлагаеш мне Вызвать метад другова тригера но есть проблем это так не вызываеца
18
MATRITSA
если не ошибаюсь, TriggerExecute запускает новый поток. А это здесь не нужно, лучше прямо вызвать функцию действий триггера
MATRITSA
блин, TriggerExecute это зло, для таких целей как у тебя лучше напрямую вызвать функцию действий триггера.
14
окей напишы полную страку кода а то не вкурсах я и блин откуда вы всё это знаете ты 7 левака
18
MATRITSA
и че это за фигня, ты специально для вызова одной функции сделал триггер без ивентов?
До
function Trig_Stan3_Actions takes nothing returns nothing
local unit u = CreateUnitAtLoc( GetOwningPlayer(udg_TrigerUnit), 'h019', udg_Move1, 0.00 )
call UnitAddAbilityBJ( 'A00J', u )
call IssueImmediateOrder( u, "stomp" )
call UnitApplyTimedLifeBJ( 0.01, 'BTLF', u )
call RemoveLocation(udg_Move1)
set u =null
endfunction
===========================================================================
function InitTrig_Stan3 takes nothing returns nothing
set gg_trg_Stan3 = CreateTrigger( )
call TriggerAddAction( gg_trg_Stan3, function Trig_Stan3_Actions )
endfunction **
Оптимизировать можно запросто
После
function Stan3 takes nothing returns nothing
     local unit u = CreateUnitAtLoc( GetOwningPlayer(udg_TrigerUnit), 'h019', udg_Move1, 0.00 )
     call UnitAddAbilityBJ( 'A00J', u )
     call IssueImmediateOrder( u, "stomp" )
     call UnitApplyTimedLifeBJ( 0.01, 'BTLF', u )
     call RemoveLocation(udg_Move1)
     set u =null
endfunction
И вызывать через call Stan3()
14
а то я копипейст зделал он говорить ундикларейд фанкшен
о нефига ано так роаботает
удаляеть код я люблю всегда осецыровалоси с аналогией мало народу болише кислороду спасиба
18
MATRITSA
вот это кинь в кастом код карты и вызывай через call Stan3()
function Stan3 takes nothing returns nothing
     local unit u = CreateUnitAtLoc( GetOwningPlayer(udg_TrigerUnit), 'h019', udg_Move1, 0.00 )
     call UnitAddAbilityBJ( 'A00J', u )
     call IssueImmediateOrder( u, "stomp" )
     call UnitApplyTimedLifeBJ( 0.01, 'BTLF', u )
     call RemoveLocation(udg_Move1)
     set u =null
endfunction
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.