Добавлен , не публикуется
Интерфейс
Тип:
Прочее
Простой бар, который можно импортировать и сразу использовать. Jass версия
Lua версия
текстурка обводки - 512х64, прилагается
основной JASS + немного гуи снаружи
function HealthBarRefresh takes nothing returns nothing
	local integer h = GetHandleId(GetExpiredTimer())
    local unit u = LoadUnitHandle(udg_GHT, h, 0)
    local framehandle bar = LoadFrameHandle(udg_GHT, h, 1)
    local framehandle lefttext = LoadFrameHandle(udg_GHT, h, 2)
    local framehandle righttext = LoadFrameHandle(udg_GHT, h, 3)

    //ставим бар
    call BlzFrameSetValue(bar, GetUnitLifePercent(u))

    //обновляем текст слева и справа
    call BlzFrameSetText(lefttext, I2S(R2I(GetWidgetLife(u))))
    call BlzFrameSetText(righttext, I2S(R2I(BlzGetUnitMaxHP(u))))

    set bar = null
    set lefttext = null
    set righttext = null
    set u = null
endfunction

function HealthBarAdd takes unit u returns framehandle
    local framehandle bar
    local framehandle lefttext
    local framehandle righttext
    local timer t = CreateTimer()
    local integer h = GetHandleId(t)
    
    call DisplayTimedTextToPlayer(GetLocalPlayer(),0.,0.,90.,"Creating "+GetHeroProperName(u)+" Bar")

    set bar = BlzCreateSimpleFrame("MyFakeBar", BlzGetOriginFrame(ORIGIN_FRAME_GAME_UI, 0), 0)
    
    //делаем видимым
    call BlzFrameSetVisible(bar,true)

    //ставим текстурки
    call BlzFrameSetTexture(bar, "Replaceabletextures\\Teamcolor\\Teamcolor00.blp", 0, true)
    call BlzFrameSetTexture(BlzGetFrameByName("MyFakeBarBorder",0),"MyBarBorder.blp", 0, true)

    //текст по центру
    call BlzFrameSetText(BlzGetFrameByName("MyFakeBarTitle",0), GetHeroProperName(u))

    //сейвим фреймы текста справа и слева для автообновления
    set lefttext = BlzGetFrameByName("MyFakeBarLeftText",0)
    set righttext = BlzGetFrameByName("MyFakeBarRightText",0)

    //сейвим всё для функции обновления
    call SaveUnitHandle(udg_GHT,h,0,u)
    call SaveFrameHandle(udg_GHT,h,1,bar)
    call SaveFrameHandle(udg_GHT,h,2,lefttext)
    call SaveFrameHandle(udg_GHT,h,3,righttext)
    
    //стартуем функцию обновления
    call TimerStart(t, 0.05, true, function HealthBarRefresh)

	set t = null
    //ретурним сам бар для дальнейших действий
    return bar
endfunction
Содержимое Main.toc - [перенос строки важен - иначе файл не подцепится]
MyFakeBar.fdf
Содержимое MyFakeBar.fdf
Frame "SIMPLESTATUSBAR" "MyFakeBar" {
	Width 0.2, //дефолтная ширина
	Height 0.02, //дефолтная высота
	BarTexture "Replaceabletextures\Teamcolor\Teamcolor00.blp", //дефолтная текстура для фона
	
	Layer "BACKGROUND" { // слой 1
		SetAllPoints,
		Texture "MyFakeBarBackground"{ //текстурка
			SetAllPoints,
			File "Replaceabletextures\Teamcolor\Teamcolor27.blp", //дефолтная текстурка для фона
		}
	}
	
	Frame "SIMPLEFRAME" "MyFakeBarFrame" { // фрейм крепящийся к "MyFakeBar" 
		DecorateFileNames, // доступ к названиям из таблицы строк
		SetAllPoints, // использовать все точки из родителя
		Layer "ARTWORK" {
			String "MyFakeBarTitle"{ //имя фрейма чтобы цепляться к нему из скрипта
				SetAllPoints,  //ставим все точки к родителю
				Text "MyFakeBarTitle", //имя, чтобы подключаться к н
				FontColor 1.0 1.0 1.0 1.0, //цвет фона в rr gg bb aa
				FontShadowColor 0.0 0.0 0.0 0.9, //цвет тени от текста в rr gg bb aa
				FontShadowOffset 0.001 -0.001, //оффсет тени
				Font "MasterFont", 0.01, // MasterFont доступен только с опцией DecorateFileNames,
			}
			
			String "MyFakeBarLeftText"{
				SetPoint TOPLEFT, "MyFakeBar", TOPLEFT, 0.01, -0.002,
				SetPoint BOTTOMLEFT, "MyFakeBar", BOTTOMLEFT, 0.01, 0.002,
				SetPoint TOPRIGHT, "MyFakeBar", TOP, 0, -0.002,
				SetPoint BOTTOMRIGHT, "MyFakeBar", BOTTOM, 0, 0.002,
				FontJustificationH JUSTIFYLEFT,
				FontJustificationV JUSTIFYCENTER,
				Text " ",
				FontColor 1.0 1.0 1.0 1.0,
				FontShadowColor 0.0 0.0 0.0 0.9,
				FontShadowOffset 0.001 -0.001,
				Font "MasterFont", 0.01,
			}
			
			String "MyFakeBarRightText"{
				SetPoint TOPLEFT, "MyFakeBar", TOP, 0, -0.002,
				SetPoint BOTTOMLEFT, "MyFakeBar", BOTTOM, 0, 0.002,
				SetPoint TOPRIGHT, "MyFakeBar", TOPRIGHT, -0.01, -0.002,
				SetPoint BOTTOMRIGHT, "MyFakeBar", BOTTOMRIGHT, -0.01, 0.002,
				FontJustificationH JUSTIFYRIGHT,
				FontJustificationV JUSTIFYCENTER,
				Text " ",
				FontColor 1.0 1.0 1.0 1.0,
				FontShadowColor 0.0 0.0 0.0 0.9,
				FontShadowOffset 0.001 -0.001,
				Font "MasterFont", 0.01, 
			}
			
			Texture "MyFakeBarBorder" {
				File "MyBarBorder.blp", // дефолтная текстурка для обводки
			}
		}
	}
}
`
ОЖИДАНИЕ РЕКЛАМЫ...