Добавлен
Задавал уже вопрос смог сделать цифры в виде количеств хп и маны в барах, потом заметил что что не отслеживается кол-во хп и маны у игрока за то видно сколько отнялось при нажатии вот код и карта триг называется 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

`
ОЖИДАНИЕ РЕКЛАМЫ...
0
19
3 года назад
0
Похожие вопросы:

ответ
pro100master:
Меню "Дополнительно -> Игровой интерфейс" и там найдете
Чуть дополню:
  1. Это цвет шкалы опыта.
  2. Сама рама.
ответ
Черная область за хп баром вроде свободно скейлится ибо просто черная текстура без анимаций. Изменение размера хп бара тоже вроде не багает (mdlvis нормально воспроизводит). Я так понял, правая грань хп бара привязана к кости, которая движется анимациями. Переведи в .mdl и пролистай на дно, там циферки очевидные :) Это должно покрыть все вопросы.
ответ
quq_CCCP, а, не знал об этом. Кулдауны мне все равно не подходят, но в любом случае спасибо
ответ
Сам как то делал тоже такое но в точности не воспроизведу инструкцию
Открываешь карту в MPQ редакторе, ищешь war3map.j, в нём находишь функцию config. Добавляешь строку, написанную мною выше, в начало функции. Единственный аргумент это адрес файла музыки
call PlayMusic("war3mapImported\\MUSIC2.mp3")
ответ
поэтому тут мультибоард либо фрейм

но автору явно сидит 1.26 то мультибоард

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