В моей карте отсутствует портрет.
эта штука call BlzHideOriginFrames (true) теперь скрывает портрет. Раньше она этого не делала. Проверил на пустой карте: в начале, или позже спустя какое то время. Как вернуть портрет?
эта штука call BlzHideOriginFrames (true) теперь скрывает портрет. Раньше она этого не делала. Проверил на пустой карте: в начале, или позже спустя какое то время. Как вернуть портрет?
родитель портрета и hero-buttons
BlzFrameSetVisible(BlzFrameGetChild(BlzFrameGetChild(BlzGetOriginFrame(ORIGIN_FRAME_GAME_UI ,0), 3),0), b)
или
BlzFrameSetVisible(BlzGetOriginFrame(ORIGIN_FRAME_PORTRAIT,0), b)
BlzFrameSetVisible(BlzGetOriginFrame(ORIGIN_FRAME_PORTRAIT_HP_TEXT,0), b)
BlzFrameSetVisible(BlzGetOriginFrame(ORIGIN_FRAME_PORTRAIT_MANA_TEXT,0), b)
Принятый ответ
второй вариант
do
local InitGlobalsOrigin = InitGlobals -- хукаем функцию InitGlobals
function InitGlobals()
InitGlobalsOrigin()
--работа с фреймами
function LoadToc(s)
if BlzLoadTOCFile(s) then
print("Loaded: "..s)
else
print("Failed to Load: "..s)
end
end
function ShowInterfaceE(b)
LoadToc("templates.toc")
local unit = CreateUnit(Player(0), FourCC("hfoo"), 0, 0, 0)
SelectUnitSingle(unit)
TimerStart(CreateTimer(), 0.3, false, function()
--создаем консольные текстуры (по сути переделанная в fdf-file ConsoleUI - убраны бока)
local framehandle Console = BlzCreateFrameByType("SIMPLEFRAME","MyConsole",BlzGetOriginFrame(ORIGIN_FRAME_GAME_UI, 0),"MyConsole",0)
--показать ConsoleUIBackdrop (при инициализации почему-то не показывается, только во время игры) w=0.8 h=0.13
BlzFrameClearAllPoints(BlzGetFrameByName("ConsoleUIBackdrop",0))
BlzFrameSetAbsPoint(BlzGetFrameByName("ConsoleUIBackdrop",0), FRAMEPOINT_BOTTOMLEFT, 0.0, 0.0)
--снова возвращаем Portrait на место w=0.06 h=0.08
BlzFrameSetVisible(BlzGetOriginFrame(ORIGIN_FRAME_PORTRAIT,0), true)
--BlzFrameClearAllPoints(BlzGetOriginFrame(ORIGIN_FRAME_PORTRAIT,0))
--BlzFrameSetAbsPoint(BlzGetOriginFrame(ORIGIN_FRAME_PORTRAIT,0), FRAMEPOINT_BOTTOMLEFT, 0.26, 0.03)
--показать Portrait HP/MANA (показываются тексты, когда выделен юнит) text w=0.06 h=0,016
local hpFrame = BlzGetOriginFrame(ORIGIN_FRAME_PORTRAIT_HP_TEXT, 0)
BlzFrameClearAllPoints(hpFrame)
BlzFrameSetAbsPoint(hpFrame, FRAMEPOINT_CENTER, 0.253, 0.024)
local mpFrame = BlzGetOriginFrame(ORIGIN_FRAME_PORTRAIT_MANA_TEXT, 0)
BlzFrameClearAllPoints(mpFrame)
BlzFrameSetAbsPoint(mpFrame, FRAMEPOINT_CENTER, 0.253, 0.008)
--центральная информационная панель
local BottomCenterUI = BlzFrameGetChild(BlzGetFrameByName("ConsoleUI",0),1)
--BlzFrameSetVisible(BottomCenterUI, true)
BlzFrameClearAllPoints(BottomCenterUI)
BlzFrameSetAbsPoint(BottomCenterUI, FRAMEPOINT_CENTER, 0.4025,0.0583)
--контейнер кнопки неактивного рабочего W=0.039 h=0.039 (Idle worker Button Container)
BlzFrameSetVisible(BlzFrameGetChild(BlzGetFrameByName("ConsoleUI",0),7), true) BlzFrameClearAllPoints(BlzFrameGetChild(BlzGetFrameByName("ConsoleUI",0),7))
BlzFrameSetAbsPoint(BlzFrameGetChild(BlzGetFrameByName("ConsoleUI",0),7), FRAMEPOINT_BOTTOMLEFT, 0.0, 0.17)
--мини-карта w=0.139375 h=0.138125
BlzFrameClearAllPoints(BlzGetFrameByName("MiniMapFrame",0))
BlzFrameSetAbsPoint(BlzGetFrameByName("MiniMapFrame",0), FRAMEPOINT_BOTTOMLEFT, 0.009375, 0.006875)
--мини-кнопки w=0.023125 h=0.020625*5
BlzFrameClearAllPoints(BlzGetFrameByName("MinimapSignalButton",0))
BlzFrameSetAbsPoint(BlzGetFrameByName("MinimapSignalButton",0), FRAMEPOINT_TOPLEFT, 0.154375, 0.14375)
BlzFrameClearAllPoints(BlzGetFrameByName("MiniMapTerrainButton",0))
BlzFrameSetAbsPoint(BlzGetFrameByName("MiniMapTerrainButton",0), FRAMEPOINT_TOPLEFT, 0.154375, 0.121875)
BlzFrameClearAllPoints(BlzGetFrameByName("MiniMapAllyButton",0))
BlzFrameSetAbsPoint(BlzGetFrameByName("MiniMapAllyButton",0), FRAMEPOINT_TOPLEFT, 0.154375, 0.1)
BlzFrameClearAllPoints(BlzGetFrameByName("MiniMapCreepButton",0))
BlzFrameSetAbsPoint(BlzGetFrameByName("MiniMapCreepButton",0), FRAMEPOINT_TOPLEFT, 0.154375, 0.0775)
BlzFrameClearAllPoints(BlzGetFrameByName("FormationButton",0))
BlzFrameSetAbsPoint(BlzGetFrameByName("FormationButton",0), FRAMEPOINT_TOPLEFT, 0.154375, 0.05)
--коммандная панель w=0.1745 h=0.129
BlzFrameClearAllPoints(BlzGetFrameByName("CommandBarFrame",0))
BlzFrameSetAbsPoint(BlzGetFrameByName("CommandBarFrame",0), FRAMEPOINT_CENTER, 0.7+0.0048, 0.146/2-0.0045)
RemoveUnit(unit)
print("done")
DestroyTimer(GetExpiredTimer())
end)
end
--инициируем игру
--прячем консоль (консольные текстуры вместе с потомками перемещены за пределы экрана, и мы их не видим)
BlzFrameSetAbsPoint(BlzGetFrameByName("ConsoleUI", 0), FRAMEPOINT_BOTTOM, 0.4, -0.18)
--Portrait не прячется, но в начале прячем. Тк не красиво будет, тк решно мной сделать задержку появления нижней консоли. задержка создана из-за дурацких текстов под портретом, нужно чтобы юнит был выделен.
BlzFrameSetVisible(BlzGetOriginFrame(ORIGIN_FRAME_PORTRAIT,0), false)
--BlzFrameClearAllPoints(BlzGetOriginFrame(ORIGIN_FRAME_PORTRAIT,0))
--BlzFrameSetAbsPoint(BlzGetOriginFrame(ORIGIN_FRAME_PORTRAIT,0), FRAMEPOINT_BOTTOM, 0.4, -0.18)
--прячем кнопку неактивного рабочего
BlzFrameSetVisible(BlzFrameGetChild(BlzGetFrameByName("ConsoleUI",0),7), false)
--отображаем нужные элементы
ShowInterfaceE(true)
--скрываем мертвую рамку коммандной панели
BlzFrameSetScale(BlzFrameGetChild(BlzGetFrameByName("ConsoleUI",0),5), 0.001)
end
end
UPDATE: забыл в карте при инициализации спрятать кнопку неактивного рабочего через BlzFrameSetVisible(BlzFrameGetChild(BlzGetFrameByName("ConsoleUI",0),7), false). И потом после задержки показать. Ну ладно
Загруженные файлы
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Ред. MpW
надо сдвинуть его, тогда отобразится
Ред. MpW
на хайве нашел такой код, нужно перекинуть выделение, сделать задержку 0.03 сек и framepoine_center переместить
ConsoleUI - консольные текстуры. Но сам фрейм является родителем многих важных элементов, и прятать наверное не стоит, тк мб повлиять на потомков. Прячешь предка => и томки тоже исчезают следом, параметры наследуются от родача. Но самого родителя наверное можно сдвинуть или уменьшить до совсем крошечного размера, но как будет с потомками неизвестно, как-то связаны точками не знаю. Думаю все будет хорошо,.
Ред. MpW
Ред. MpW