Добавлен N1ghtSiren,
не публикуется
Интерфейс
Тип:
Прочее
Простой бар, который можно импортировать и сразу использовать. Jass версия
Lua версия
текстурка обводки - 512х64, прилагается
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", // дефолтная текстурка для обводки
}
}
}
}
`
ОЖИДАНИЕ РЕКЛАМЫ...
4
N1ghtSiren
4 года назад
4
Оптимизация уг, переделывай
Чтобы оставить комментарий, пожалуйста, войдите на сайт.