Вообщем начну как всегда из далека, кто считает что эта инфа не нужна, сразу читайте следующий абзац.
Итак попросил одного грамотного человека в Jass, помочь с кодом и написать возрождение курьера с сохранением всех шмоток в нем, писалось на 1.31 и переносилось на 1.26 и короче по итогу, работает все но самого курьера не создает.
Я короче не могу найти проблему, пишу тоже самое на ГУЕ и все работает и создается, вообщем проблем нет. А на джасе не создается.
Вообщем скидываю код, надеюсь тут есть JassБоги, которые одним взглядом найдут ошибку.
function Trig_CourierRespawn_Func022C takes nothing returns boolean
    if ( ( GetUnitTypeId(GetDyingUnit()) == udg_GAME_COURIER_TYPE[1] ) ) then
        return true
    endif
    if ( ( GetUnitTypeId(GetDyingUnit()) == udg_GAME_COURIER_TYPE[2] ) ) then
        return true
    endif
    if ( ( GetUnitTypeId(GetDyingUnit()) == udg_GAME_COURIER_TYPE[3] ) ) then
        return true
    endif
    return false
endfunction

function Trig_CourierRespawn_Conditions takes nothing returns boolean
    if ( not Trig_CourierRespawn_Func022C() ) then
        return false
    endif
    return true
endfunction

function Trig_CourierRespawn_Actions takes nothing returns nothing
    local unit d = GetDyingUnit()
    local player p = GetOwningPlayer(d)
    local integer i
    local item array ITEM
    local timer t = CreateTimer()
    local timerdialog td = CreateTimerDialog(t)
    local integer HNDL = GetHandleId(t)
    set i = 0
    loop
    exitwhen i > 5
    set ITEM[i] = UnitItemInSlot(d, i)
    set i = i + 1
    endloop
    call TimerStart(t, 30.00, false, null)
    call TimerDialogSetTitle(td, "Курьер: ")
    if (GetLocalPlayer() == p) then
        call TimerDialogDisplay(td, true)
    endif
    call TriggerSleepAction( 30.00 )
    set bj_lastCreatedUnit = CreateUnit(p, GetUnitTypeId(d), GetRectCenterX(udg_GAME_RECT_BACKCOUR), GetRectCenterY(udg_GAME_RECT_BACKCOUR), 270.00)
    call DestroyEffect(AddSpecialEffect("Abilities\\Spells\\Human\\ReviveHuman\\ReviveHuman.mdl", GetRectCenterX(udg_GAME_RECT_BACKCOUR), GetRectCenterY(udg_GAME_RECT_BACKCOUR)))
    set i = 0
    loop
    exitwhen i > 5
    call UnitAddItemByIdSwapped( GetItemTypeId(ITEM[i]), GetLastCreatedUnit() )
    set i = i + 1
    endloop
    call DestroyTimer(t)
    call DestroyTimerDialog(td)
endfunction

//===========================================================================
function InitTrig_CourierRespawn takes nothing returns nothing
    set gg_trg_CourierRespawn = CreateTrigger(  )
    call TriggerRegisterAnyUnitEventBJ( gg_trg_CourierRespawn, EVENT_PLAYER_UNIT_DEATH )
    call TriggerAddCondition( gg_trg_CourierRespawn, Condition( function Trig_CourierRespawn_Conditions ) )
    call TriggerAddAction( gg_trg_CourierRespawn, function Trig_CourierRespawn_Actions )
endfunction
function Trig_InitCourier_Actions takes nothing returns nothing
    set udg_GAME_BASE_RECT = gg_rct_Baza
    set udg_GAME_RECT_BACKCOUR = gg_rct_KURA
    set udg_GAME_COURIER_UP_COST[1] = 100
    set udg_GAME_COURIER_UP_COST[2] = 500
    set udg_GAME_BUYER_TYPE = 'H017'
    // --------------------------------------------------
    set udg_GAME_COURIER_TYPE[1] = 'u000'
    set udg_GAME_COURIER_TYPE[2] = 'u00J'
    set udg_GAME_COURIER_TYPE[3] = 'u00A'
    // --------------------------------------------------
    set udg_GAME_COURIER_SPELLS[1] = 'A0EA'
    set udg_GAME_COURIER_SPELLS[2] = 'A0E9'
    set udg_GAME_COURIER_SPELLS[3] = 'S001'
    set udg_GAME_COURIER_SPELLS[4] = 'S002'
endfunction

//===========================================================================
function InitTrig_InitCourier takes nothing returns nothing
    set gg_trg_InitCourier = CreateTrigger(  )
    call TriggerAddAction( gg_trg_InitCourier, function Trig_InitCourier_Actions )
endfunction
Спасибо всем, кто уделит время моему вопросу.

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

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

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
3
32
3 года назад
Отредактирован Берги
3
Блин, мои глаза....
замечание от Bergi_Bear: 1.1 (ненормативная лексика)
0
3
3 года назад
Отредактирован Берги
0
quq_CCCP:
..., мои глаза....
что с ними? или это Что с моими глазами? / Почему твоя сука так смотрит? (с) Элджей
2
32
3 года назад
2
David David, Кондишены у тебя это гуи конверт, у меня тоже кровь чутка пошла
Вот ознакомься, где вкратце то надо узнать мб условие какое-то не работает
Принятый ответ
1
3
3 года назад
1
Bergi_Bear:
David David, Кондишены у тебя это гуи конверт, у меня тоже кровь чутка пошла
Вот ознакомься, где вкратце то надо узнать мб условие какое-то не работает
как всегда лучший, спасибо.
1
22
3 года назад
Отредактирован PROSHELDOTU
1
прекол в том, что там всё работает
Сейчас создал на 1.26 карту новую, пихнул туда это
Подставил в значение область и юнитов
И всё чётка

David David, Кондишены у тебя это гуи конверт, у меня тоже кровь чутка пошла
потому что то и есть ГУИ триггер, точнее начинался как ГУИ триггер, но суть не меняется
0
32
3 года назад
0
ну во первых код очень гуи, во вторых у тебя неверное событие если курьер летает и умрет над непроходимой местностью, то в инвентаре уже будет пусто. Желательно событие TriggerRegisterDeathEvent на каждого курьера что вошел на карту, + перемещение его на проходимое место, то летуны багуют. И что мешало по нормальному написать что условие что таймер?
0
22
3 года назад
0
quq_CCCP, ну хз, кильнул летающую куру со шмотками над глубокой водой и создалась новая со шмотками
вар 1.31, на 1.26 идти тестить мне уже не кайф
Всё равно он решил, что сам разберётся
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.