Name | Type | is_array | initial_value |
do
TimerStart(CreateTimer(), .1, false, function()
HideEverything()
IsSystemON=true
InitCamControl()
InitMouseMoveTrigger()
MouseHider(3, 0) -- 0 для красного игрока
CreateUI()
RestoreMiniPap()
end)
end
function HideEverything()
BlzFrameSetVisible(BlzGetFrameByName("ConsoleUIBackdrop", 0), false)
for i = 0, 11 do
--BlzFrameSetVisible(BlzGetFrameByName("CommandButton_"..i, 0), false) --отключить
BlzFrameSetSize(BlzGetFrameByName("CommandButton_" .. i, 0), 0, 0)--скрыть, но работать будут по хоткеям
end
BlzHideOriginFrames(true)--скрыть всё
end
function ShowEverything()
BlzFrameSetVisible(BlzGetFrameByName("ConsoleUIBackdrop", 0), true)
for i = 0, 11 do
--BlzFrameSetVisible(BlzGetFrameByName("CommandButton_"..i, 0), false)
BlzFrameSetSize(BlzGetFrameByName("CommandButton_" .. i, 0), 0.039, 0.039)
end
BlzHideOriginFrames(false)--скрыть всё
end
CamZ = {}
Step = 100 -- шаг подъёма камеры
function InitCamControl()
local EventUp = CreateTrigger()
for i = 0, bj_MAX_PLAYER_SLOTS - 1 do
CreateFogModifierRectBJ(true, Player(i), FOG_OF_WAR_VISIBLE, GetEntireMapRect())
BlzTriggerRegisterPlayerKeyEvent(EventUp, Player(i), OSKEY_HOME, 0, true)
CamZ[i] = GetCameraField(CAMERA_FIELD_ZOFFSET)
end
local EventDown = CreateTrigger()
for i = 0, bj_MAX_PLAYER_SLOTS - 1 do
BlzTriggerRegisterPlayerKeyEvent(EventDown, Player(i), OSKEY_END, 0, true)
end
TriggerAddAction(EventUp, function()
CamZ[GetPlayerId(GetTriggerPlayer())] = GetCameraField(CAMERA_FIELD_ZOFFSET) + Step
end)
TriggerAddAction(EventDown, function()
CamZ[GetPlayerId(GetTriggerPlayer())] = GetCameraField(CAMERA_FIELD_ZOFFSET) - Step
end)
TimerStart(CreateTimer(), 0.02, true, function()
for i = 0, bj_MAX_PLAYER_SLOTS - 1 do
if GetLocalPlayer() == Player(i) then
SetCameraField(CAMERA_FIELD_ZOFFSET, CamZ[i], 0.1)
end
end
end)
end
GetPlayerMouseX = {}
GetPlayerMouseY = {}
function InitMouseMoveTrigger()
local MouseMoveTrigger = CreateTrigger()
for i = 0, bj_MAX_PLAYER_SLOTS - 1 do
local player = Player(i)
TriggerRegisterPlayerEvent(MouseMoveTrigger, player, EVENT_PLAYER_MOUSE_MOVE)
GetPlayerMouseX[i] = 0
GetPlayerMouseY[i] = 0
end
TriggerAddAction(MouseMoveTrigger, function()
local id = GetPlayerId(GetTriggerPlayer())
if BlzGetTriggerPlayerMouseX() ~= 0 then
GetPlayerMouseX[id] = BlzGetTriggerPlayerMouseX()
GetPlayerMouseY[id] = BlzGetTriggerPlayerMouseY()
end
end)
end
function MouseHider(delay, pid)
local pointer = BlzFrameGetChild(BlzGetOriginFrame(ORIGIN_FRAME_GAME_UI, 0), 13)
local period = 0.02
local sec = 0
local showPointer = true
local preX = GetPlayerMouseX[pid]
TimerStart(CreateTimer(), period, true, function()
sec = sec + period
if preX ~= GetPlayerMouseX[pid] then
showPointer = true
sec = 0
CustomUIShow(showPointer)
--print("показываем курсор")
BlzFrameSetAlpha(pointer, 255)
end
if sec >= delay and showPointer and not mouseOnFrame then
showPointer = false
CustomUIShow(showPointer)
BlzFrameSetAlpha(pointer, 0)
ClearTextMessages()
--print("Скрываем курсор")
end
preX = GetPlayerMouseX[pid]
end)
end
function CreateUI()
ui={}
tt={}
ui[1]=CreateSimpleFrameGlue(0.02, 0.56,"ReplaceableTextures\\CommandButtons\\BTNPurge",1)
ui[2]=CreateSimpleFrameGlue(0.02+0.039, 0.56,"ReplaceableTextures\\CommandButtons\\BTNSpy",2)
ui[3]=CreateSimpleFrameGlue(0.02+0.039*2, 0.56,"ReplaceableTextures\\CommandButtons\\BTNCryptFiendUnBurrow",3)
tt[1],tt[2],tt[3]=CreateToolTipBox()
end
function CreateSimpleFrameGlue(posX, PosY, texture, flag)
local NextPoint = 0.039
if not texture then
texture = "ReplaceableTextures\\CommandButtons\\BTNSelectHeroOn"
end
local SelfFrame = BlzCreateFrameByType('GLUEBUTTON', 'FaceButton', BlzGetOriginFrame(ORIGIN_FRAME_GAME_UI, 0), 'ScoreScreenTabButtonTemplate', 0)
local buttonIconFrame = BlzCreateFrameByType('BACKDROP', 'FaceButtonIcon', SelfFrame, '', 0)
--BlzFrameSetVisible(SelfFrame, false)
-- BlzFrameSetVisible(SelfFrame, GetLocalPlayer() == player)
BlzFrameSetAllPoints(buttonIconFrame, SelfFrame)
BlzFrameSetTexture(buttonIconFrame, texture, 0, true)
BlzFrameSetSize(SelfFrame, NextPoint, NextPoint)
BlzFrameSetAbsPoint(SelfFrame, FRAMEPOINT_CENTER, posX, PosY)
local ClickTrig = CreateTrigger()
BlzTriggerRegisterFrameEvent(ClickTrig, SelfFrame, FRAMEEVENT_CONTROL_CLICK)
TriggerAddAction(ClickTrig, function()
-- print("Нажата кнопка ")
BlzFrameSetEnable(BlzGetTriggerFrame(), false)
BlzFrameSetEnable(BlzGetTriggerFrame(), true)
if flag==1 then
ClearTextMessages()
end
if flag==2 then
if mapIsVisible then
mapIsVisible=false
else
mapIsVisible=true
end
BlzFrameSetVisible(map, mapIsVisible)
end
if flag==3 then
if IsSystemON then
IsSystemON=false
mapIsVisible=true
ShowEverything()
BlzFrameSetTexture(buttonIconFrame, "ReplaceableTextures\\CommandButtons\\BTNCryptFiendBurrow", 0, true)
else
IsSystemON=true
mapIsVisible=false
HideEverything()
BlzFrameSetTexture(buttonIconFrame, texture, 0, true)
end
end
end)
local TrigMOUSE_ENTER = CreateTrigger()
BlzTriggerRegisterFrameEvent(TrigMOUSE_ENTER, SelfFrame, FRAMEEVENT_MOUSE_ENTER)
TriggerAddAction(TrigMOUSE_ENTER, function()
--print("показать подсказку "..flag)
mouseOnFrame=true
BlzFrameSetVisible(tt[1],true)
if flag==1 then
SetTooltipText(tt[3],"Очистить экран от сообщений")
elseif flag==2 then
SetTooltipText(tt[3],"Включить/выключить миникарту")
elseif flag==3 then
SetTooltipText(tt[3],"Включить/выключить интерфейс")
end
end)
local TrigMOUSE_LEAVE = CreateTrigger()
BlzTriggerRegisterFrameEvent(TrigMOUSE_LEAVE, SelfFrame, FRAMEEVENT_MOUSE_LEAVE)
TriggerAddAction(TrigMOUSE_LEAVE, function()
mouseOnFrame=false
BlzFrameSetVisible(tt[1],false)
end)
return SelfFrame
end
function RestoreMiniPap()
map=BlzGetOriginFrame(ORIGIN_FRAME_MINIMAP, 0)
mapIsVisible=false
BlzFrameSetVisible(map, false)
end
function CustomUIShow(show)
for i=1,#ui do
BlzFrameSetVisible(ui[i],show)
end
end
mouseOnFrame=false
--mainTooltip=nil
function CreateToolTipBox()
local tooltip = BlzCreateFrameByType("FRAME", "TestDialog", BlzGetOriginFrame(ORIGIN_FRAME_GAME_UI, 0), "StandardFrameTemplate", 0)
local text = BlzCreateFrameByType("TEXT", "ButtonChargesText", tooltip, "", 0)
local backdrop = BlzCreateFrame("QuestButtonDisabledBackdropTemplate", tooltip, 0, 0)
BlzFrameSetAbsPoint(tooltip, FRAMEPOINT_CENTER, 0.04+0.04, 0.6-0.04-0.04)
BlzFrameSetSize(tooltip, 0.2, 0.04)
BlzFrameSetSize(backdrop, 0.2, 0.04)
BlzFrameSetPoint(backdrop, FRAMEPOINT_CENTER, tooltip, FRAMEPOINT_CENTER, 0.0, 0.0)
BlzFrameSetAlpha(backdrop,100)
BlzFrameSetText(text,"Первичный текст")
BlzFrameSetPoint(text, FRAMEPOINT_CENTER, tooltip, FRAMEPOINT_CENTER, 0.0, 0.0)
BlzFrameSetVisible(tooltip,false)
return tooltip,backdrop,text
end
function SetTooltipText(text,tips)
BlzFrameSetText(text,tips)
end