▶ Lua Script ◀ 사용법 및 공유 Ⅰ

 

 

 

 

 

 

 루아 스크립트 사용 방법 (설치 방법) / 삭제 방법 설명

 

 

1. 첫번째 방법 : 보통의 월드오브워크레프트 설치 시 위치

 

C: / Program Files (x86) / World of Warcraft / Interface / AddOns / 로 가셔서

 

본인이 필수적으로 사용 하고있는 애드온 폴더의 파일들 중에 확장자 또는 유형이 Lua 로 지정되어있는

 

파일을 메모장으로 열기 후, 아래의 루아 스크립트 중 필요한 부분을 복사 붙여 넣기 하시고 저장 하시면 됩니다.

 

 

2. 두번째 방법 : 첨부 파일의 폴더 World 라는 영문명을 본인이 희망하는 동일명으로 수정하여

 

보통의 월드오브워크레프트 설치 시 위치

 

C: / Program Files (x86) / World of Warcraft / Interface / AddOns /  안에 넣어 주시면 작동 합니다.

 

(다운로드 받은 파일 그대로 스크립트만 추가 해서 사용하셔도 정상 작동 합니다)

 

 

World 라는 영문 명은 총 5군데 이며

 

1. 폴더명, 2. 파일2개 명, 3. TOC 확장자 또는 유형 파일을 메모장으로 열면,

 

## Title: World 와 World.lua 명 으로 명시되어있습니다.

 

원하는 루아 스크립트(Lua Script)를 복사 붙여넣기 하시고 저장 하시면 작동 합니다.

 

 

3삭제 방법 : 기존의 애드온을 삭제 하듯이 폴더 자체를 삭제 하시거나, 스크립트 내용 중에 불필요한

 

부분을 삭제 후 저장 하시고 /reload 를 채팅창 입력 후 엔터 또는 클라이언트 재접속을 하시면 삭제 됩니다.

 

 

 

 각종 창 또는 프레임 크기, 위치 조정 해보기

 

 

채팅창에 /fstack 또는 /프레임구성 을 입력 후 엔터 를 치시면,

 

마우스오버 위치에 있는 창 또는 프레임의 구성요소 이름들을 툴팁으로 알 수 있습니다.

 

해당 위치에 마우스오버 한 채 Alt 키를 클릭 해보시면 프레임 구성요소들의 이름을, 영역 지정하여 알려줍니다.

 

또한 채팅창에 /reload 을 입력 후 엔터를 치시면, 본인이 입력하고 저장 한 스크립트를 바로 볼 수 있습니다.

 

 

1. 프레임의 크기를 조정 해봅시다.

 

모든 프레임의 기본 Scale 값은 1 =100% 이며, 1.5 = 150%, 2 = 200%, 2.5 = 250% 라고 표현합니다.

 

framename:SetScale(1.1)     -- 수정 및 저장

 

프레임이름:SetScale(1.1), 프레임이름:SetScale(1.5), 프레임이름:SetScale(2), 프레임이름:SetScale(2.5)

 

등 원하는 크기로 수정이 가능합니다.

 

 

2. 프레임의 위치를 이동 시켜 봅시다.

 

framename:ClearAllPoints()     -- 위치 값 초기화
framename
:SetPoint("CENTER", X, Y)     -- 위치 값 지정
framename
.SetPoint = function() end     -- 위치 값 고정

 

프레임이름:ClearAllPoints()
프레임이름:SetPoint("CENTER", X, Y)     -- ("CENTER", X좌표 = 가로 값의 위치, Y좌표 = 세로 값의 위치)
프레임이름.SetPoint = function() end

 

X좌표 값과 Y의 좌표 값은 + 는 표기를 하지 않고, - 만 표기를 합니다. ex : ("CENTER", X, -Y)

 

 

 


  Lua Script ◀ 사용법 및 공유 Ⅱ (2탄) 바로 가기


http://www.inven.co.kr/board/wow/17/33291

 


 ■ 단축 키 매크로 이름 숨김

 

for i=1, 12 do     
_G["ActionButton"..i.."Name"]:SetAlpha(0) -- 메인 바
_G["MultiBarBottomRightButton"..i.."Name"]:SetAlpha(0) -- 오른쪽 아래 바
_G["MultiBarBottomLeftButton"..i.."Name"]:SetAlpha(0) -- 왼쪽 아래 바
_G["MultiBarRightButton"..i.."Name"]:SetAlpha(0) -- 오른쪽 바
_G["MultiBarLeftButton"..i.."Name"]:SetAlpha(0) -- 왼쪽 바
end

 

 ■ 단축 키 지정 숫자 숨김

 

for i=1, 12 do
_G["ActionButton"..i.."HotKey"]:SetAlpha(0) -- 메인 바
_G["MultiBarBottomRightButton"..i.."HotKey"]:SetAlpha(0) -- 오른쪽 아래 바
_G["MultiBarBottomLeftButton"..i.."HotKey"]:SetAlpha(0) -- 왼쪽 아래 바
_G["MultiBarRightButton"..i.."HotKey"]:SetAlpha(0) -- 오른쪽 바
_G["MultiBarLeftButton"..i.."HotKey"]:SetAlpha(0) -- 왼쪽 바
end

 

 ■ 이름표 최대 사거리 40m 고정

 

SetCVar("nameplateMaxDistance", 40)

 

 ■ 이름표 화면 밖으로 움직임 고정

 

SetCVar("nameplateOtherTopInset", -1) SetCVar("nameplateOtherBottomInset", -1)


 ■ 가장 가까운 적 선택(Tab) 시 직선 거리만 인식

 

SetCVar("TargetNearestUseOld", 1)     -- 켬


SetCVar("TargetNearestUseOld", 0)     -- 끔


-- 군단에서 패치된, 가장 가까운 적 선택(Tab) 시에 좌우 방향으로 범위가 증가 한 부분을 예전과 같이 직선거리만 인식



 ■ 화면 중앙 빨간 오류 메세지 숨김, 노란 퀘스트 메세지 보임

 

local U=UIErrorsFrame;U:UnregisterAllEvents()U:RegisterEvent("SYSMSG")U:RegisterEvent("UI_INFO_MESSAGE")

 

 ■ 적군 / 아군 이름표를 각 직업 색상에 맞게 표시(인스턴스 던전 안 에서는 블리자드 패치로 인해 작동 안됨)

 

-- 아군 이름표
DefaultCompactNamePlateFriendlyFrameOptions.useClassColors = true

-- 적군 이름표
SetCVar("ShowClassColorInNameplate", 0)
C_Timer.After(.1, function()
 DefaultCompactNamePlateEnemyFrameOptions.useClassColors = true 
end)

local CLASS_COLORS = CUSTOM_CLASS_COLORS or RAID_CLASS_COLORS

-- 아군 적군 이름표 안 이름 색상
hooksecurefunc("CompactUnitFrame_UpdateName", function(frame)
 if not ShouldShowName(frame) then
  frame.name:Hide()
 else
  frame.name:SetText(GetUnitName(frame.unit, true))

  if CompactUnitFrame_IsTapDenied(frame) then
   frame.name:SetVertexColor(0.5, 0.5, 0.5)
  elseif frame.optionTable.colorNameBySelection then
   if UnitIsPlayer(frame.unit) then
    if UnitIsEnemy("player", frame.unit) then
     local _, class = UnitClass(frame.unit)
     local color = CLASS_COLORS[class]
     frame.name:SetVertexColor(color.r, color.g, color.b) -- 적, 직업 색상
    else
     frame.name:SetVertexColor(1.0, 1.0, 1.0) -- 아군, 하얀색
    end
   elseif frame.optionTable.considerSelectionInCombatAsHostile and CompactUnitFrame_IsOnThreatListWithPlayer(frame.displayedUnit) then
    frame.name:SetVertexColor(1.0, 0.0, 0.0)
   else
    frame.name:SetVertexColor(UnitSelectionColor(frame.unit, frame.optionTable.colorNameWithExtendedColors))
   end
  end

  frame.name:Show()
 end
end)


 ■ 적군 / 아군 유닛프레임의 이름 배경을 각 직업 색상에 맞게 표시


local function colour(statusbar, unit)
     local _, class, c
     if UnitIsPlayer(unit) and UnitIsConnected(unit) and unit == statusbar.unit and UnitClass(unit) then
        _, class = UnitClass(unit)
           c = CUSTOM_CLASS_COLORS and CUSTOM_CLASS_COLORS[class] or RAID_CLASS_COLORS[class]
                statusbar:SetStatusBarColor(c.r, c.g, c.b)
                PlayerFrameHealthBar:SetStatusBarColor(0,1,0)
     end
end
hooksecurefunc("UnitFrameHealthBar_Update", colour)
hooksecurefunc("HealthBar_OnValueChanged", function(self)
        colour(self, self.unit)

end) 

 

 ■ 유닛프레임 초상화(얼굴)를 각 직업 아이콘으로 표시

 

hooksecurefunc("UnitFramePortrait_Update",function(self)
        if self.portrait then
                if UnitIsPlayer(self.unit) then                        
                        local t = CLASS_ICON_TCOORDS[select(2, UnitClass(self.unit))]
                        if t then
                                self.portrait:SetTexture("Interface/TargetingFrame/UI-Classes-Circles")
                                self.portrait:SetTexCoord(unpack(t))
                        end
                else
                        self.portrait:SetTexCoord(0,1,0,1)
                end
        end
end)

 

 ■ 레이드 프레임 버프 / 디버프 알림 크기 조정

 

hooksecurefunc("DefaultCompactUnitFrameSetup",function(f)
  for _,d in ipairs(f.debuffFrames) do
    d.baseSize = 20     -- 디버프
  end
  for _,d in ipairs(f.buffFrames) do
    d:SetSize(20,20)     -- 버프
  end
end)


 

 ■ 어그로 획득 시 빨간색 점멸등 표시 숨김

 

PlayerFrameFlash:Hide(); PlayerFrameFlash.Show = function() end    -- 나
TargetFrameFlash:Hide(); TargetFrameFlash.Show = function() end    -- 너
FocusFrameFlash:Hide(); FocusFrameFlash.Show = function() end     -- 주시
PetAttackModeTexture:Hide(); PetAttackModeTexture.Show = function() end     -- 소환수

 

 ■ 유닛프레임 각종 아이콘 및 휴계지역 하얀 점멸등 표시 숨김

 

hooksecurefunc("PlayerFrame_UpdateStatus",function() 
 PlayerFrameTexture:SetTexture("Interface/TargetingFrame/UI-TargetingFrame-NoLevel")
 PlayerStatusTexture:Hide()
 PlayerRestIcon:Hide()
 PlayerAttackIcon:Hide()
 PlayerRestGlow:Hide()
 PlayerLevelText:Hide()
 PlayerAttackGlow:Hide()
 PlayerStatusGlow:Hide()
end)

 

 ■ 플레이어 유닛 프레임 창 숨김

 

PlayerFrame:Hide()
PlayerFrame.SetPoint=function()end

 

 ■ 우측 퀘스트 추적 창 숨김

 

ObjectiveTrackerFrame:Hide()

 

 ■ 미니맵 지역 이름 숨김

 

MinimapZoneText:Hide()

 

 ■ 미니맵 북쪽(N)마크 숨김(일반)

 

MinimapNorthTag:Hide()
MinimapNorthTag.oldShow = MinimapNorthTag.Show
MinimapNorthTag.Show = MinimapNorthTag.Hide


 ■ 미니맵 북쪽(N)마크 숨김(회전기능 사용 시)

 

MinimapCompassTexture:Hide()

MinimapCompassTexture.oldShow = MinimapCompassTexture.Show

MinimapCompassTexture.Show = MinimapCompassTexture.Hide

 

 ■ 미니맵 위치를 이동

 

MinimapCluster:ClearAllPoints()
MinimapCluster:SetPoint("CENTER", 425, 208)     -- ("CENTER", X위치 값, Y위치 값)
MinimapCluster.SetPoint = function() end

 

 ■ 캐릭터 중앙 제어불가 창 크기 조정

 

LossOfControlFrame:SetScale(0.8)     --  SetScale(기본 값 1 크기 수정)

 

 ■ 캐릭터 중앙 제어불가 창 위치 조정

 

LossOfControlFrame:ClearAllPoints()
LossOfControlFrame:SetPoint("CENTER", 0, -150)     -- ("CENTER", X위치 값, Y위치 값)
LossOfControlFrame.SetPoint = function() end

 

 ■ 캐릭터 중앙 아이템 루트 창 크기 조정

 

LootFrame:SetScale(0.8)     --  SetScale(기본 값 1 크기 수정)

 

 ■ 캐릭터 중앙 아이템 루트 창 위치 조정

 

LootFrame:ClearAllPoints()
LootFrame:SetPoint("TOPLEFT", UIParent, "CENTER",  0, -200)     -- ("CENTER", X위치 값, Y위치 값)
LootFrame.SetPoint = function() end

 

 ■ 캐릭터 중앙 아이템 루트 확인 창 지움

 

local f = CreateFrame("Frame")
f:SetScript("OnEvent", function(self, event, ...) if (self[event]) then self[event](self, ...) end end)
function f:CONFIRM_LOOT_ROLL(...)
 if StaticPopupDialogs["CONFIRM_LOOT_ROLL"] then
  StaticPopup_Hide("CONFIRM_LOOT_ROLL")
  StaticPopupDialogs["CONFIRM_LOOT_ROLL"] = nil
 end
 ConfirmLootRoll(...)
end
f.CONFIRM_DISENCHANT_ROLL = f.CONFIRM_LOOT_ROLL
function f:LOOT_BIND_CONFIRM(...)
 if StaticPopupDialogs["LOOT_BIND"] then
  StaticPopup_Hide("LOOT_BIND")
  StaticPopupDialogs["LOOT_BIND"] = nil
 end
 ConfirmLootSlot(...)
end
f:RegisterEvent("LOOT_BIND_CONFIRM")
f:RegisterEvent("CONFIRM_DISENCHANT_ROLL")
f:RegisterEvent("CONFIRM_LOOT_ROLL")

 

 ■ 메인 스킬 바 좌측과 우측 그리폰 마크 숨김

 

MainMenuBarLeftEndCap:Hide()     -- 왼쪽 그리폰


MainMenuBarRightEndCap:Hide()     -- 오른쪽 그리폰

 

 ■ 내가 걸은 디버프 / 남이 걸은 디버프 크기 조정


hooksecurefunc("TargetFrame_UpdateAuraPositions", function(self, auraName, numAuras, numOppositeAuras,largeAuraList, updateFunc, maxRowWidth, offsetX)
 local AURA_OFFSET_Y = 3
 local LARGE_AURA_SIZE = 29     -- 내가 걸은 디버프 크기
 local SMALL_AURA_SIZE = 20      -- 남이 걸은 디버프 크기
 local size
 local offsetY = AURA_OFFSET_Y
 local rowWidth = 0
 local firstBuffOnRow = 1
 for i=1, numAuras do
  if ( largeAuraList[i] ) then
    size = LARGE_AURA_SIZE
    offsetY = AURA_OFFSET_Y + AURA_OFFSET_Y
  else
    size = SMALL_AURA_SIZE
  end
  if ( i == 1 ) then
    rowWidth = size
    self.auraRows = self.auraRows + 1
  else
    rowWidth = rowWidth + size + offsetX
  end
  if ( rowWidth > maxRowWidth ) then
    updateFunc(self, auraName, i, numOppositeAuras, firstBuffOnRow, size, offsetX, offsetY)
    rowWidth = size
    self.auraRows = self.auraRows + 1
    firstBuffOnRow = i
    offsetY = AURA_OFFSET_Y
  else
    updateFunc(self, auraName, i, numOppositeAuras, i - 1, size, offsetX, offsetY)
  end
 end
 end)
 


 ■ 이름표 위 디버프 크기 조정


local function fn(...) for _,v in pairs(C_NamePlate.GetNamePlates())

do

  local bf=v.UnitFrame.BuffFrame bf:SetScale(1.3)     --  SetScale(기본 값 1 크기 수정)

 end

end 

NamePlateDriverFrame:HookScript("OnEvent",fn)


 ■ 툴팁 표시 마우스 포인트로(네모 칸)위치

 

function GameTooltip_SetDefaultAnchor(tooltip, parent, ...)
tooltip:SetScale(1)
tooltip:SetOwner(parent, "ANCHOR_CURSOR_RIGHT", 25, -70)     -- (X위치 값, Y위치 값)
end

 

 ■ 툴팁 표시(네모 칸)위치 고정

 

function GameTooltip_SetDefaultAnchor(tooltip, parent, ...)
tooltip:SetScale(1)
tooltip:SetOwner(UIParent, "ANCHOR_BottomRight", 0, 0)     -- (X위치 값, Y위치 값)
end

 

 ■ 전투 중 툴팁 표시(네모 칸)숨김

 

GameTooltip:HookScript("OnShow", function(self)
 if InCombatLockdown() then
  self:Hide()
 end
end)

 

 ■ 전투 중 미니맵 / 퀘스트 추적 창 / 채팅 창 숨김

 

 do 

 local frame, events = CreateFrame("Frame"), {};

  function events:PLAYER_REGEN_DISABLED(...)

      hide_world(self, ...)

end

 function events:PLAYER_REGEN_ENABLED(...)

      show_world(self, ...)

end 

 frame:SetScript("OnEvent", function(self, event, ...)

      events[event](self, ...); 

end);

 for k, v in pairs(events) do

      frame:RegisterEvent(k); 

end

end

 function hide_world(self, ...)

  MinimapCluster:Hide();

  ObjectiveTrackerFrame:Hide()

  GeneralDockManager:Hide()

  ChatFrameMenuButton:Hide()

  ChatFrame1ButtonFrame:Hide()

  ChatFrame2ButtonFrame:Hide()

  ChatFrame3ButtonFrame:Hide()

  ChatFrame4ButtonFrame:Hide()

  ChatFrame6ButtonFrame:Hide()

  ChatFrame1:Hide()

  ChatFrame2:Hide()

  ChatFrame3:Hide()

  ChatFrame4:Hide()

  ChatFrame5:Hide()

  QuickJoinToastButton:Hide()

end

 function show_world(self, ...)

  MinimapCluster:Show();

  ObjectiveTrackerFrame:Show()

  GeneralDockManager:Show()

  ChatFrameMenuButton:Show()

  ChatFrame1ButtonFrame:Show()

  ChatFrame1:Show()

  QuickJoinToastButton:Show()

end

 

 ■ 유닛 프레임의 이름색깔을 모두 하얀색으로 표시

 

for i, f in pairs({TargetFrame, PlayerFrame, FocusFrame}) do f.name:SetVertexColor(1,10,10)end

 

 ■ 캐릭터 하단 자원표시 체력=%, 자원=최대값/현재값 표시

 

healthNumbers = nil
powerNumbers = nil

function round(num, idp)
 return tonumber(string.format("%." .. (idp or 0) .. "f", num))
end

function formatPlayerNumbers(amount)
local formatted = amount
while true do 
 formatted, k = string.gsub(formatted, "^(-?%d+)(%d%d%d)", '%1,%2')
 if (k==0) then
  break
 end
end
 if string.len(formatted) >= 7 and string.len(formatted) < 11 then
 formatted = string.sub(formatted, 0, (string.len(formatted) - 4)) .. "k"
elseif string.len(formatted) >= 11 then
 formatted = string.sub(formatted, 0, (string.len(formatted) - 8)) .. "m"
end

return formatted
end

hooksecurefunc("CompactUnitFrame_OnUpdate", function(frame)
 if frame.optionTable.colorNameBySelection then
 if InterfaceOptionsNamesPanelUnitNameplatesMakeLarger:GetValue() == "0" or "1"then
  local healthPercentage = round((UnitHealth("player") / UnitHealthMax("player") * 100), 0)
  local powerPercentage = round((UnitPower("player") / UnitPowerMax("player") * 100), 0)
   if healthNumbers == nil and UnitGUID(frame.unit) == UnitGUID("player") then
   healthNumbers = CreateFrame("Frame", nil, C_NamePlate.GetNamePlateForUnit("player"))
   healthNumbers:SetSize(170,16)
   healthNumbers.text = healthNumbers.text or healthNumbers:CreateFontString(nil, "OVERLAY", "QuestFont_Shadow_Huge")
   healthNumbers.text:SetAllPoints(true)
   healthNumbers:SetFrameStrata("HIGH")
   healthNumbers:SetPoint("CENTER", C_NamePlate.GetNamePlateForUnit("player").UnitFrame.healthBar)
   healthNumbers.text:SetFont(STANDARD_TEXT_FONT , 12, "OUTLINE")
   healthNumbers.text:SetVertexColor(1, 1, 1)
  elseif healthNumbers ~= nil then
   if C_NamePlate.GetNamePlateForUnit("player") ~= nil then
    healthNumbers:SetParent(C_NamePlate.GetNamePlateForUnit("player"))
    healthNumbers:SetPoint("CENTER", C_NamePlate.GetNamePlateForUnit("player").UnitFrame.healthBar)
   end
   if healthNumbers:GetParent() ~= C_NamePlate.GetNamePlateForUnit("player") then
    healthNumbers:Hide()
   else
    healthNumbers:Show()
   end
   healthNumbers.text:SetText(healthPercentage .. "%")
  end
   if powerNumbers == nil and UnitGUID(frame.unit) == UnitGUID("player") then
   powerNumbers = CreateFrame("Frame", nil, NamePlatePlayerResourceFrame)
   powerNumbers:SetSize(170,16)
   powerNumbers.text = powerNumbers.text or powerNumbers:CreateFontString(nil, "OVERLAY", "QuestFont_Shadow_Huge")
   powerNumbers.text:SetAllPoints(true)
   powerNumbers:SetFrameStrata("HIGH")
   powerNumbers:SetPoint("CENTER", ClassNameplateManaBarFrame)
   powerNumbers.text:SetFont(STANDARD_TEXT_FONT , 12, "OUTLINE")
   powerNumbers.text:SetVertexColor(1, 1, 1)
  elseif powerNumbers ~= nil then
   powerNumbers.text:SetText(formatPlayerNumbers(UnitPower("player")) .. "/" .. formatPlayerNumbers(UnitPowerMax("player")))
  end
 end
end
end)

 

 ■ 채팅 창 각종 설정 버튼을 숨김

 

QuickJoinToastButton:SetAlpha(0)

ChatFrameMenuButton:SetAlpha(0)

ChatFrame1ButtonFrame:SetAlpha(0)

ChatFrame2ButtonFrame:SetAlpha(0)

ChatFrame3ButtonFrame:SetAlpha(0)

ChatFrame4ButtonFrame:SetAlpha(0)

ChatFrame5ButtonFrame:SetAlpha(0)

 

 ■ 채팅 창 화면 밖으로 이동 가능

 

ChatFrame1:SetClampedToScreen(nil)
ChatFrame2:SetClampedToScreen(nil)
ChatFrame3:SetClampedToScreen(nil)
ChatFrame4:SetClampedToScreen(nil)
ChatFrame5:SetClampedToScreen(nil)


 

 ■ 각종 숫자의 , 콤마 표시를 숨김(데미지, 골드보유량 등)

 

LARGE_NUMBER_SEPERATOR = "" 

 

 ■ 초상화(얼굴)의 데미지량 과 치유량 표시 숨김

 

PlayerHitIndicator:SetText(nil)
PlayerHitIndicator.SetText = function() end
PetHitIndicator:SetText(nil)
PetHitIndicator.SetText = function() end

 

 ■ 유닛프레임 크기 조정

 

PlayerFrame:SetScale(1.1)     -- 나 -- SetScale (기본 값 1 크기 수정)
TargetFrame:SetScale(1.1)     -- 너
FocusFrame:SetScale(1.1)     -- 주시

PetFrame:SetScale(1.1)     -- 소환수


PartyMemberFrame1:SetScale(1.1)     -- 파티 맴버 1
PartyMemberFrame2:SetScale(1.1)     -- 파티 맴버 2
PartyMemberFrame3:SetScale(1.1)     -- 파티 맴버 3
PartyMemberFrame4:SetScale(1.1)     -- 파티 맴버 4

 

Boss1TargetFrame:SetScale(1.1)     -- 보스 1

Boss2TargetFrame:SetScale(1.1)     -- 보스 2

Boss3TargetFrame:SetScale(1.1)     -- 보스 3 

 

ArenaEnemyFrame1:SetScale(1.1)     -- 투기장 적

ArenaEnemyFrame2:SetScale(1.1)     -- 투기장 적

ArenaEnemyFrame3:SetScale(1.1)     -- 투기장 적

 

 ■ 플레이어 / 대상 / 주시 시전 바 크기 및 위치 조정

 

CastingBarFrame:ClearAllPoints()     -- 플레이어
CastingBarFrame:SetScale(1.0)     -- SetScale (기본 값 1 크기 수정)
CastingBarFrame:SetPoint("CENTER", UIParent, "CENTER", 0, -250)     -- ("CENTER", X위치 값, Y위치 값)
CastingBarFrame.SetPoint = function() end

TargetFrameSpellBar:ClearAllPoints()     -- 대상
TargetFrameSpellBar:SetScale(1.0)
TargetFrameSpellBar:SetPoint("CENTER", UIParent, "CENTER", 0, 0)
TargetFrameSpellBar.SetPoint = function() end

FocusFrameSpellBar:ClearAllPoints()     -- 주시
FocusFrameSpellBar:SetScale(1.0)
FocusFrameSpellBar:SetPoint("CENTER", UIParent, "CENTER", 0, 0)
FocusFrameSpellBar.SetPoint = function() end

 

 ■ 플레이어 / 대상 / 주시 시전바의 시전 시간 표시

- 배틀리 - 님 공유 (추가 보완)

 

CastingBarFrame.timer = CastingBarFrame:CreateFontString(nil);     -- 플레이어
CastingBarFrame.timer:SetFont(STANDARD_TEXT_FONT,12,"OUTLINE");
CastingBarFrame.timer:SetPoint("LEFT", CastingBarFrame, "LEFT", 3, 3);  
CastingBarFrame.timer.maxValue = CastingBarFrame:CreateFontString(nil);
CastingBarFrame.timer.maxValue:SetFont(STANDARD_TEXT_FONT,12,"OUTLINE");
CastingBarFrame.timer.maxValue:SetPoint("RIGHT", CastingBarFrame, "RIGHT", -1, 3);
TargetFrameSpellBar.timer = TargetFrameSpellBar:CreateFontString(nil);     -- 대상
TargetFrameSpellBar.timer:SetFont(STANDARD_TEXT_FONT,12,"OUTLINE");
TargetFrameSpellBar.timer:SetPoint("LEFT", TargetFrameSpellBar, "LEFT", 3, 0);  
TargetFrameSpellBar.timer.maxValue = TargetFrameSpellBar:CreateFontString(nil);
TargetFrameSpellBar.timer.maxValue:SetFont(STANDARD_TEXT_FONT,12,"OUTLINE");    
TargetFrameSpellBar.timer.maxValue:SetPoint("RIGHT", TargetFrameSpellBar, "RIGHT", -1, 0); 
FocusFrameSpellBar.timer = FocusFrameSpellBar:CreateFontString(nil);     -- 주시   
FocusFrameSpellBar.timer:SetFont(STANDARD_TEXT_FONT,12,"OUTLINE");        
FocusFrameSpellBar.timer:SetPoint("LEFT", FocusFrameSpellBar, "LEFT", 3, 0);     
FocusFrameSpellBar.timer.maxValue = FocusFrameSpellBar:CreateFontString(nil);
FocusFrameSpellBar.timer.maxValue:SetFont(STANDARD_TEXT_FONT,12,"OUTLINE");   
FocusFrameSpellBar.timer.maxValue:SetPoint("RIGHT", FocusFrameSpellBar, "RIGHT", -1, 0);

CastingBarFrame.update = .1;
TargetFrameSpellBar.update = .1;
FocusFrameSpellBar.update = .1;

CastingBarFrame.Icon:Show()
CastingBarFrame.Icon:SetSize(19, 19)
CastingBarFrame.Border:SetTexture("Interface/CastingBar/UI-CastingBar-Border-Small")
CastingBarFrame.Flash:SetTexture("Interface/CastingBar/UI-CastingBar-Flash-Small")
local function CastingBarFrame_OnUpdate_Hook(self, elapsed)
    if not self.timer then return end
    if self.update and self.update < elapsed then
        if self.casting then
            self.timer:SetText(format("|cffffff00%1.1f", max(self.maxValue - self.value, 0)))
            if self.timer.maxValue then self.timer.maxValue:SetText(format("|cffffff00%1.1f", self.maxValue)) end
        elseif self.channeling then
            self.timer:SetText(format("|cffffff00%.1f", max(self.value, 0)))
        else
            self.timer:SetText("")
            if self.timer.maxValue then self.timer.maxValue:SetText("") end
        end
        self.update = .1
    else
        self.update = self.update - elapsed
    end
end
CastingBarFrame:HookScript("OnUpdate", CastingBarFrame_OnUpdate_Hook)
TargetFrameSpellBar:HookScript("OnUpdate", CastingBarFrame_OnUpdate_Hook)
FocusFrameSpellBar:HookScript("OnUpdate", CastingBarFrame_OnUpdate_Hook)

 

 - 불필요한 부분 삭제 하는 방법

 

 플레이어 / 대상 / 주시 시전 남은 시간  3줄 삭제 후 저장

CastingBarFrame.timer = CastingBarFrame:CreateFontString(nil);
CastingBarFrame.timer:SetFont(STANDARD_TEXT_FONT,12,"OUTLINE");
CastingBarFrame.timer:SetPoint("LEFT", CastingBarFrame, "LEFT", 3, 3);

 

 플레이어 / 대상 / 주시 시전 총 시간 3줄 삭제 후 저장

CastingBarFrame.timer.maxValue = CastingBarFrame:CreateFontString(nil);
CastingBarFrame.timer.maxValue:SetFont(STANDARD_TEXT_FONT,12,"OUTLINE");
CastingBarFrame.timer.maxValue:SetPoint("RIGHT", CastingBarFrame, "RIGHT", -1, 3);

 

 -- 플레이어 시전 바 왼쪽 스킬 아이콘 미사용 및 오류로 인한 삭제 방법 

 

  해당 부분 총 4줄 스크립트를 삭제 후 저장

CastingBarFrame.Icon:Show()
CastingBarFrame.Icon:SetSize(19, 19)
CastingBarFrame.Border:SetTexture("Interface/CastingBar/UI-CastingBar-Border-Small")
CastingBarFrame.Flash:SetTexture("Interface/CastingBar/UI-CastingBar-Flash-Small")

 

 ■ 채팅 창 글들의 채널명을 숨기고 해당 채널 숫자만 표시

 - Sinsun - 님 공유

 

local gsub = _G.string.gsub
for i = 1, NUM_CHAT_WINDOWS do
    if ( i ~= 2 ) then
        local f = _G["ChatFrame"..i]
        local am = f.AddMessage
        f.AddMessage = function(frame, text, ...)
            return am(frame, text:gsub('|h%[(%d+)%. .-%]|h', '|h[%1]|h'), ...)
        end
    end
end

 

 

 

 ■ 화면 시야 최대로 확장

 - 토륨주괴 - 님 공유  

 

local CZ = CreateFrame("FRAME")
    CZ:RegisterEvent("PLAYER_ENTERING_WORLD")
    CZ:SetScript("OnEvent", function()
    SetCVar("cameraDistanceMaxZoomFactor", 2.6)
    CZ:UnregisterEvent("PLAYER_ENTERING_WORLD")
end)



 Lua Script ◀ 사용법 및 공유 Ⅱ (2탄) 바로 가기


http://www.inven.co.kr/board/wow/17/33291 



 그 밖의 활용도가 높은 애드온 소개

 

 

Lorti Ui ( 각종 기본 프레임 테두리 색상을 검정색으로 변경 )

https://mods.curse.com/addons/wow/lorti_ui

 

 

 

OmniCC ( 각종 스킬 및 버프 디버프 쿨 타임 시간을 표시 ) 

https://www.curseforge.com/wow/addons/omni-cc


TullaCC ( 각종 스킬 및 버프 디버프 쿨 타임 시간을 표시 ) 

https://wow.curseforge.com/projects/tullacc




OmniBar ( 상대 차단 스킬 쿨타임 표시 ) 

https://www.curseforge.com/wow/addons/omnibar




Foglight ( 월드맵 안개 지움 ) 

https://www.curseforge.com/wow/addons/foglight

 



Flyplatebuff ( 이름표 위 적 버프 또는 디버프 표시 ) 

https://www.curseforge.com/wow/addons/flyplatebuffs




Bigdebuffs ( 레이드 프레임에 적 주요 cc기 표시 ) 

https://www.curseforge.com/wow/addons/bigdebuffs

 

 

 

Deadly Boss Mods ( 던전 및 레이드 각종 알림 필수 애드온 )

https://www.curseforge.com/wow/addons/deadly-boss-mods     -- 메인 (필수)


https://www.curseforge.com/wow/addons/deadly-boss-mods-wod  -- 드레노어의 전쟁군주 (플러그인)


https://www.curseforge.com/wow/addons/deadly-boss-mods-mop  -- 판다리아의 안개 (플러그인)


https://www.curseforge.com/wow/addons/deadly-boss-mods-cataclysm-mods -- 대격변 (플러그인)


https://www.curseforge.com/wow/addons/deadly-boss-mods-wotlk  -- 리치왕의 분노 (플러그인)


https://www.curseforge.com/wow/addons/dbm-bc  -- 불타는 성전 & 오리지널 (플러그인)




BigWigs ( 던전 및 레이드 각종 알림 필수 애드온 )

https://www.curseforge.com/wow/addons/big-wigs -- 메인 (필수)


https://www.curseforge.com/wow/addons/little-wigs  -- 5인 던전 (BigWigs 메인과 함께 필수 설치)


https://www.curseforge.com/wow/addons/bigwigs_warlordsofdraenor -- 드레노어의 전쟁군주 (플러그인)


https://www.curseforge.com/wow/addons/bigwigs_mistsofpandaria -- 판다리아의 안개 (플러그인)


https://www.curseforge.com/wow/addons/bigwigs_cataclysm --대격변 (플러그인)


https://www.curseforge.com/wow/addons/bigwigs_wrathofthelichking -- 리치왕의 분노 (플러그인)


https://www.curseforge.com/wow/addons/bigwigs_burningcrusade -- 불타는 성전 (플러그인)


https://www.curseforge.com/wow/addons/bigwigs_classic  -- 오리지널 (플러그인)




MoveAnything ( 모든 알림 창 및 각종 프레임 위치, 크기 변경 및 숨김, 편리하지만 오류들이 많음 )

https://www.curseforge.com/wow/addons/move-anything

 

 

 

Recount  ( DPS, HPS 등 각종 실시간 정보 수집 )

https://mods.curse.com/addons/wow/recount

 

Skada Damage Meter ( DPS, HPS 등 각종 실시간 정보 수집 )

https://mods.curse.com/addons/wow/skada

 

Details! ( DPS, HPS 등 각종 실시간 정보 수집 )

https://mods.curse.com/addons/wow/details

 

 

 

WeakAuras ( 각종 스킬 또는 버프 디버프 알람 설정 )

https://mods.curse.com/addons/wow/weakauras-2

 

TellmeWhen ( 각종 스킬 또는 버프 디버프 알람 설정 )

https://mods.curse.com/addons/wow/tellmewhen

 

 

 

NpcScan ( 각종 희귀 몬스터들의 젠 장소 및 위치 표시 )

https://mods.curse.com/addons/wow/npcscan

 

NpcScanOverlay ( 각종 희귀 몬스터들의 젠 장소 및 위치 표시 )

https://mods.curse.com/addons/wow/npcscan-overlay

 

 

 

Gladius ( 투기장 적 직업 및 특성과 점감 상태 또는 계급장 사용 여부 표시 )

https://mods.curse.com/addons/wow/gladius

 

 

 

AdvancedinterfaceOption ( 군단 패치로 안보이는, 예전 인터페이스 설정을 손쉽게 할 수 있음 )

https://mods.curse.com/addons/wow/advancedinterfaceoptions




RangeDisplay ( 대상, 주시대상, 소환수, 마우스 오버 등 과의 사정거리를 숫자로 알림 )

https://mods.curse.com/addons/wow/range-display




Tidy Plates : Threat Plates ( 이름표 애드온 )

https://www.curseforge.com/wow/addons/tidy-plates-threat-plates

 


 

 ■ 하고 싶은 말

 

 

좋은 정보글인데 원본글이 삭제되어 구글에서 복원하여 올렸습니다.