function Trig_BowItem_Timer takes nothing returns nothing local integer i=0 set tbow=GetExpiredTimer() call DestroyTimerDialog(dbow) call FlushChildHashtable(Hash,GetHandleId(tbow)) call PauseTimer(tbow) call DestroyTimer(tbow) loop exitwhen i>11 call CustomVictoryBJ(GetOwningPlayer(ubow),true,true ) call CustomDefeatBJ(Player(i), "Вы проиграли!" ) set i=i+1 endloop endfunction function Trig_BowItem_Actions takes nothing returns nothing local item iI local integer id set tbow=CreateTimer() set id=GetHandleId(tbow) set ubow=GetManipulatingUnit() set dbow=CreateTimerDialog(tbow) if GetItemTypeId(GetManipulatedItem() )=='I000' then call TimerDialogSetTitle(dbow,"До победы: " ) call TimerDialogDisplay(dbow,true) call DisplayTextToPlayer(GetLocalPlayer(),0.,0.,pcn[GetPlayerId(GetOwningPlayer(ubow))]+" поднял |cFFFF0303Магический Лук|r!!УБЕЙТЕ ЕГО!") call MultiboardSetTitleText(mbg,"|cFF37FB04Archers of the Island|r"+" |cFFDBF20DМод: "+mod[x]+" |cFFFF0303Лук у:|r "+ pcn[GetPlayerId(GetOwningPlayer(ubow))]) call TimerStart(tbow,600.,false,function Trig_BowItem_Timer) endif set iI=null endfunction
//=========================================================================== function InitTrig_BowItem takes nothing returns nothing local integer i=0 set gg_trg_BowItem=CreateTrigger() loop exitwhen i>11 call TriggerRegisterPlayerUnitEvent(gg_trg_BowItem,Player(i),EVENT_PLAYER_UNIT_PICKUP_ITEM,null) set i=i+1 endloop call TriggerAddAction(gg_trg_BowItem,function Trig_BowItem_Actions) endfunction
В этом триггере запускаетсья таймер tbow если у юнита ubow есть предмет
Code
function Trig_BowDeath_Conditions takes nothing returns boolean return GetTriggerUnit()==ubow endfunction
Кстати, зачем паузить? Он же однократный. DeadJass, поставь в условие и в самое начало триггера debug-сообщение и посмотри, что у тебя запустится.
Добавлено (13-06-2011, 18:16) --------------------------------------------- Если все прекрасно запускается, попробуй в конец триггера поднятия вставить это: