Вообщем начну как всегда из далека, кто считает что эта инфа не нужна, сразу читайте следующий абзац.
Итак попросил одного грамотного человека в Jass, помочь с кодом и написать возрождение курьера с сохранением всех шмоток в нем, писалось на 1.31 и переносилось на 1.26 и короче по итогу, работает все но самого курьера не создает.
Итак попросил одного грамотного человека в Jass, помочь с кодом и написать возрождение курьера с сохранением всех шмоток в нем, писалось на 1.31 и переносилось на 1.26 и короче по итогу, работает все но самого курьера не создает.
Я короче не могу найти проблему, пишу тоже самое на ГУЕ и все работает и создается, вообщем проблем нет. А на джасе не создается.
Вообщем скидываю код, надеюсь тут есть JassБоги, которые одним взглядом найдут ошибку.
Вообщем скидываю код, надеюсь тут есть 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, Кондишены у тебя это гуи конверт, у меня тоже кровь чутка пошла
Вот ознакомься, где вкратце то надо узнать мб условие какое-то не работает
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Отредактирован PROSHELDOTU
ор однако, потому что стандартно разложение идёт 90 сек, а изначальное возрождение куры было заявлено за 10 сек, потом решено увеличить до 30 сек, что то что то вписывается в рамки и естественно всё было норм
но кто ж знал, что в той мапе разложение стоит в нулину, если даже сам автор ничё толком не знает про свою мапу
Отредактирован PROSHELDOTU
Онли код
Тем более что "перерождение" не героя ваще
Отредактирован PROSHELDOTU