Доброго времени суток. Вообщем когда герой умирает появляется табличка с респом героя,и пока отчет идет я возрождаю героя,но табличка остается все равно. Как ее можно будет убрать? Вот сама наработка респа героев.
//TESH.scrollpos=9 //TESH.alwaysfold=0 function Trig_Revive_Hero_Taimer takes nothing returns nothing local timer t=GetExpiredTimer() local integer ID=GetHandleId(t) local unit u=LoadUnitHandle(udg_Hash,ID,0) local player p=GetOwningPlayer(u) local timerdialog w=LoadTimerDialogHandle(udg_Hash,ID,2) //Воскрешает героя в стартовой локации,можно менять call ReviveHero(u,GetStartLocationX(GetPlayerStartLocation(p)),GetStartLocationY(GetPlayerStartLocation(p)),true )
call PauseTimer(t) call DestroyTimer(t) call DestroyTimerDialog(w) call FlushChildHashtable(udg_Hash,ID) set t=null set u=null set p=null set w=null endfunction function Trig_Revive_Hero_Actions takes nothing returns nothing local timer t local integer ID local timerdialog w local unit u=GetTriggerUnit() if IsUnitType(u,UNIT_TYPE_HERO)==true then set t=CreateTimer() set ID=GetHandleId(t) set w=CreateTimerDialog(t) //Создает окно таймера в котором будет написанно имя игрока владельца умершего героя call TimerDialogSetTitle(w,GetPlayerName(GetOwningPlayer(u))) call TimerDialogDisplay(w,true) call SaveUnitHandle(udg_Hash,ID,0,u) call SaveTimerDialogHandle(udg_Hash,ID,2,w) //Запускает таймер,GetHeroLevel(u)*3. время через которое возродиться наш герой. call TimerStart(t,GetHeroLevel(u)*3.,true,function Trig_Revive_Hero_Taimer) set t=null set w=null endif set u=null endfunction //=========================================================================== function InitTrig_Revive_Hero takes nothing returns nothing local integer i=0 local trigger trig=CreateTrigger() loop call TriggerRegisterPlayerUnitEvent(trig,Player(i),EVENT_PLAYER_UNIT_DEATH,null) set i=i+1 exitwhen i==11 endloop call TriggerAddAction(trig,function Trig_Revive_Hero_Actions) set trig=null endfunction
Добавлено (31 Август 2011, 20:03:35) --------------------------------------------- ап
Razor_dex, Ну чем тебя так БЖ угостили, что ты их юзаешь? English,
Code
function Trig_Revive_Hero_Taimer takes nothing returns nothing local timer t=GetExpiredTimer() local integer ID=GetHandleId(t) local unit u=LoadUnitHandle(udg_Hash,ID,0) local player p=GetOwningPlayer(u) local timerdialog w=LoadTimerDialogHandle(udg_Hash,ID,2) //Âîñêðåøàåò ãåðîÿ â ñòàðòîâîé ëîêàöèè,ìîæíî ìåíÿòü call ReviveHero(u,GetStartLocationX(GetPlayerStartLocation(p)),GetStartLocationY(GetPlayerStartLocation(p)),true ) call TimerDialogDisplay(w,false) call PauseTimer(t) call DestroyTimer(t) call DestroyTimerDialog(w) call FlushChildHashtable(udg_Hash,ID) set t=null set u=null set p=null set w=null endfunction function Trig_Revive_Hero_Actions takes nothing returns nothing local timer t local integer ID local timerdialog w local unit u=GetTriggerUnit() if IsUnitType(u,UNIT_TYPE_HERO)==true then set t=CreateTimer() set ID=GetHandleId(t) set w=CreateTimerDialog(t) //Ñîçäàåò îêíî òàéìåðà â êîòîðîì áóäåò íàïèñàííî èìÿ èãðîêà âëàäåëüöà óìåðøåãî ãåðîÿ call TimerDialogSetTitle(w,GetPlayerName(GetOwningPlayer(u))) call TimerDialogDisplay(w,true) call SaveUnitHandle(udg_Hash,ID,0,u) call SaveTimerDialogHandle(udg_Hash,ID,2,w) //Çàïóñêàåò òàéìåð,GetHeroLevel(u)*3. âðåìÿ ÷åðåç êîòîðîå âîçðîäèòüñÿ íàø ãåðîé. call TimerStart(t,GetHeroLevel(u)*3.,true,function Trig_Revive_Hero_Taimer) set t=null set w=null endif set u=null endfunction
//=========================================================================== function InitTrig_Revive_Hero takes nothing returns nothing local integer i=0 local trigger trig=CreateTrigger() loop call TriggerRegisterPlayerUnitEvent(trig,Player(i),EVENT_PLAYER_UNIT_DEATH,null) set i=i+1 exitwhen i==11 endloop call TriggerAddAction(trig,function Trig_Revive_Hero_Actions) set trig=null endfunction
Вот и все дела. По идее сначала скрыть, потом убить.
Suosite, Мне нужно чтоб я мог мгновенно выкупать героя и табличка исчезала. А как сделать это понятие не имею Как мгновенно выкупать геров я уже сделал осталось с табличкой разобраться.