Я сделал воскрешение героев и таймер. Когда 1 герой умирает то таймер включается идёт нормально. А если ещё другой герой умрет то таймер будет идти всё заново. Ну например герой 1 умер таймер пошел. 59. . . . . и т.д. А если ещё умрет герой и если герой который умер не успел воскресится то таймер пойдет заново у 2-их. А герой воскресится а таймер так и идёт. Что делать?
Banzay89, правильно говорит, можно через массив таймеров. Вот карта - пример.
И всё же.... не получается((( всё так умирает герой например Лион и идёт таймер потом не исчезает Я хочу чтобы для каждого игрока 1-го как в доте нпример----> (Игрок умер и только у 1-го его был таймер, а когда другой умрёт то |c00E60000ТОЛЬКО|r у него было окно с таёмером....
Vigoss98, Локальные таймера, видны только для того, кого ты назначишь, из этого имеем незасорение экрана. Следовательно, лучше всего делать через локальные таймера. Это джасс, хотя сама системка вообще не сложная.
И всё же.... не получается((( всё так умирает герой например Лион и идёт таймер потом не исчезает Я хочу чтобы для каждого игрока 1-го как в доте нпример----> (Игрок умер и только у 1-го его был таймер, а когда другой умрёт то |c00E60000ТОЛЬКО|r у него было окно с таёмером....
И всё же.... не получается((( всё так умирает герой например Лион и идёт таймер потом не исчезает Я хочу чтобы для каждого игрока 1-го как в доте нпример----> (Игрок умер и только у 1-го его был таймер, а когда другой умрёт то |c00E60000ТОЛЬКО|r у него было окно с таёмером....
Jazz тепе в помощь. И jass.
Quote (Ramazan(off))
Это что такое?))))
Чувэ наверное балуется с Wc3 Colorizer или ColorTemplate... Чувэ =>
Code
[color=#E60000]ТОЛЬКО[/color]
Местами здесь.
Сообщение отредактировал EdiTTORR - Среда, 01 Декабря 2010, 21:47:02
Quote (Vigoss98) И всё же.... не получается((( всё так умирает герой например Лион и идёт таймер потом не исчезает Я хочу чтобы для каждого игрока 1-го как в доте нпример----> (Игрок умер и только у 1-го его был таймер, а когда другой умрёт то |c00E60000ТОЛЬКО|r у него было окно с таёмером....
function Trig_Revive_Hero_Conditions takes nothing returns boolean return IsUnitType(GetTriggerUnit(),UNIT_TYPE_HERO) endfunction function Trig_Revive_Hero_Actions takes nothing returns nothing local unit OURHERO=GetTriggerUnit() local integer HEROWAIT=GetHeroLevel(OURHERO)*5 local timer OURTIMER=CreateTimer() local timerdialog WINDOW=CreateTimerDialog(OURTIMER) local boolean b=true local player p=GetOwningPlayer(OURHERO) local real x local real y call TimerDialogSetTitle(WINDOW,GetPlayerName(p)) if GetLocalPlayer()!=p then set b=false endif call TimerDialogDisplay(WINDOW,b) call TimerStart(OURTIMER,HEROWAIT,false,null) call PolledWait(HEROWAIT) call ReviveHero(OURHERO,GetStartLocationX(GetPlayerId(p)),GetStartLocationY(GetPlayerId(p)),true) set x=GetUnitX(OURHERO) set y=GetUnitY(OURHERO) if GetLocalPlayer()!=p then set x=GetCameraTargetPositionX() set y=GetCameraTargetPositionY() endif call PanCameraToTimed(x,y,0.60) call DestroyTimerDialog(WINDOW) call DestroyTimer(OURTIMER) set OURHERO=null endfunction function InitTrig_Revive_Hero takes nothing returns nothing set gg_trg_Revive_Hero=CreateTrigger() call TriggerRegisterAnyUnitEventBJ(gg_trg_Revive_Hero,EVENT_PLAYER_UNIT_DEATH) call TriggerAddCondition(gg_trg_Revive_Hero,Condition(function Trig_Revive_Hero_Conditions)) call TriggerAddAction(gg_trg_Revive_Hero,function Trig_Revive_Hero_Actions) endfunction
Местами здесь.
Сообщение отредактировал EdiTTORR - Четверг, 09 Декабря 2010, 22:04:10
Vigoss98, Создаеш новый триггер. Выбираешь Правка -> Конвертирвоать в текст копируешь эту лабуду
Code
function Trig_Revive_Hero_Conditions takes nothing returns boolean return IsUnitType(GetTriggerUnit(),UNIT_TYPE_HERO) endfunction function Trig_Revive_Hero_Actions takes nothing returns nothing local unit OURHERO=GetTriggerUnit() local integer HEROWAIT=GetHeroLevel(OURHERO)*5 local timer OURTIMER=CreateTimer() local timerdialog WINDOW=CreateTimerDialog(OURTIMER) local boolean b=true local player p=GetOwningPlayer(OURHERO) local real x local real y call TimerDialogSetTitle(WINDOW,GetPlayerName(p)) if GetLocalPlayer()!=p then set b=false endif call TimerDialogDisplay(WINDOW,b) call TimerStart(OURTIMER,HEROWAIT,false,null) call PolledWait(HEROWAIT) call ReviveHero(OURHERO,GetStartLocationX(GetPlayerId(p)),GetStartLocationY(GetPlayerId(p)),true) set x=GetUnitX(OURHERO) set y=GetUnitY(OURHERO) if GetLocalPlayer()!=p then set x=GetCameraTargetPositionX() set y=GetCameraTargetPositionY() endif call PanCameraToTimed(x,y,0.60) call DestroyTimerDialog(WINDOW) call DestroyTimer(OURTIMER) set OURHERO=null endfunction function InitTrig_Revive_Hero takes nothing returns nothing set gg_trg_Revive_Hero=CreateTrigger() call TriggerRegisterAnyUnitEventBJ(gg_trg_Revive_Hero,EVENT_PLAYER_UNIT_DEATH) call TriggerAddCondition(gg_trg_Revive_Hero,Condition(function Trig_Revive_Hero_Conditions)) call TriggerAddAction(gg_trg_Revive_Hero,function Trig_Revive_Hero_Actions) endfunction
и все. Ах да ты наеврно не догодаешся триггер назови ReviveHero