Добавлен
Задавал уже вопрос смог сделать цифры в виде количеств хп и маны в барах, потом заметил что что не отслеживается кол-во хп и маны у игрока за то видно сколько отнялось при нажатии вот код и карта триг называется MyBar Copy.
function UpdateBars takes nothing returns nothing
   local unit u = GetTriggerUnit()
   local string h = I2S(R2I(GetUnitStateSwap(UNIT_STATE_LIFE, u)))
   local string mh = I2S(BlzGetUnitMaxHP(u))
   local string m = I2S(R2I(GetUnitStateSwap(UNIT_STATE_MANA, u)))
   local string mm = I2S(BlzGetUnitMaxMana(u))
   call BlzFrameSetValue(BlzGetFrameByName("MyBarEx",1), GetUnitLifePercent(u))
   call BlzFrameSetValue(BlzGetFrameByName("MyBarEx",2), GetUnitManaPercent(u))
   call BlzFrameSetText(BlzGetFrameByName("MyBarExText",1), h + "/" + mh)
   call BlzFrameSetText(BlzGetFrameByName("MyBarExText",2), m + "/" + mm)
   set u = null
   set h = null
   set mh = null
   set m = null
   set mm = null
endfunction

function MyBarCreate takes nothing returns nothing
   local framehandle bar = BlzCreateSimpleFrame("MyBarEx", BlzGetOriginFrame(ORIGIN_FRAME_GAME_UI, 0), 1) //Create Bar at createContext 1
   local framehandle bar2 = BlzCreateSimpleFrame("MyBarEx", BlzGetOriginFrame(ORIGIN_FRAME_GAME_UI, 0), 2) //createContext 2
   call BlzFrameSetAbsPoint(bar, FRAMEPOINT_CENTER,  -0.05, 0.561) // pos the bar
   call BlzFrameSetPoint(bar2, FRAMEPOINT_TOP, bar, FRAMEPOINT_BOTTOM, 0.0, -0.001) // pos bar2 below bar
   
 
   
   call BlzFrameSetTexture(bar, "Replaceabletextures\\Teamcolor\\Teamcolor00.blp", 0, true) //change the BarTexture of bar to color red
   call BlzFrameSetTexture(bar2, "Replaceabletextures\\Teamcolor\\Teamcolor01.blp", 0, true) //color blue for bar2  
  
   call BlzFrameSetText(BlzGetFrameByName("MyBarExText",1), "")
   call BlzFrameSetText(BlzGetFrameByName("MyBarExText",2), "")
   
   
endfunction

//===========================================================================
function InitTrig_MyBar_Copy takes nothing returns nothing
   local trigger trig = CreateTrigger()
    set gg_trg_MyBar_Copy = CreateTrigger()
    call TriggerRegisterTimerEventSingle( gg_trg_MyBar_Copy, 0.00 )
    call TriggerAddAction( gg_trg_MyBar_Copy, function MyBarCreate )
   call BlzLoadTOCFile("war3mapimported\\mybar.toc")
   call TriggerRegisterPlayerSelectionEventBJ(trig, Player(0), true )
   call TriggerAddAction(trig, function UpdateBars)
endfunction

`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
27
И какую задачу вы хотите исполнить? просто немного странно хп/ману показывать таким способом =) я даже могу хп/ману противника видеть.
Ты должен таймером обновлять информацию. Каждую 0.03 сек чекаем информацию. А так у вас не обновляется информация, триггер trig обновляет при выделении игроком юнита / при клике по юниту. А нужно каждую секунду обновлять информацию юнита.
Отслеживаем GetMainSelectedUnit и показываем его хп/ману
1
МрачныйВорон, как туда тайминг добавить я хз,пробовал добавлять ошибка.
23
так конечно, у тебя ответ в твоем же коде. он у тебя будет показывать при выборе юнита потому что ты сам такое событие создал. хочешь отображать в реальном времени создаешь глобалку на выбрранного юнита и таймером в 0.04 устанавливаешь значение этого юнита в фрейм
28
jasonrus96, timer t = CreateTimer(), call TimerStart( t, 0.03, true, function myfunc )
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.