В моей карте отсутствует портрет.
эта штука 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). И потом после задержки показать. Ну ладно
Загруженные файлы
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.

WC3




Ред. MpW
надо сдвинуть его, тогда отобразится
Ред. MpW
на хайве нашел такой код, нужно перекинуть выделение, сделать задержку 0.03 сек и framepoine_center переместить
ConsoleUI - консольные текстуры. Но сам фрейм является родителем многих важных элементов, и прятать наверное не стоит, тк мб повлиять на потомков. Прячешь предка => и томки тоже исчезают следом, параметры наследуются от родача. Но самого родителя наверное можно сдвинуть или уменьшить до совсем крошечного размера, но как будет с потомками неизвестно, как-то связаны точками не знаю. Думаю все будет хорошо,.
Ред. MpW
Ред. MpW