▶ 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)
■ 단축 키 매크로 이름 숨김
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) 시에 좌우 방향으로 범위가 증가 한 부분을 예전과 같이 직선거리만 인식
■ 다인승 탈 것 그림 숨김
VehicleSeatIndicator:UnregisterAllEvents()
■ 화면 중앙 빨간 오류 메세지 숨김, 노란 퀘스트 메세지 보임
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()
FriendsMicroButton:Hide()
ChatFrameMenuButton:Hide()
ChatFrame1:Hide()
GeneralDockManager:Hide()
end
function show_world(self, ...)
MinimapCluster:Show();
ObjectiveTrackerFrame:Show()
ChatFrameMenuButton:Show()
FriendsMicroButton:Show()
ChatFrame1:Show()
GeneralDockManager: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)
■ 채팅 창 각종 설정 버튼을 숨김
FriendsMicroButton: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 camframe = CreateFrame("FRAME")
camframe:RegisterEvent("PLAYER_ENTERING_WORLD")
camframe:SetScript("OnEvent", function()
SetCVar("cameraDistanceMaxFactor", 2.6)
camframe:UnregisterEvent("PLAYER_ENTERING_WORLD")
end)
■ 회색 아이템 자동 판매
local p,N,c,n=0 for b=0,4 do for s=1,GetContainerNumSlots(b) do n=GetContainerItemLink(b,s) if n and string.find(n,"9d9d9d") then N={GetItemInfo(n)} c=GetItemCount(n) p=p+(N[11]*c)UseContainerItem(b,s) print(n) end end end print(GetCoinText(p))
■ 그 밖의 활용도가 높은 애드온 소개
Lorti Ui ( 각종 기본 프레임 테두리 색상을 검정색으로 변경 )
https://mods.curse.com/addons/wow/lorti_ui
OmniCC ( 각종 스킬 및 버프 디버프 쿨 타임 시간을 표시 )
https://mods.curse.com/addons/wow/omni-cc
eAlign Updated ( 화면에 XY 줄을 표시, 위치 정렬 도움 )
https://mods.curse.com/addons/wow/ealign-updated
eAlignUpdated.Lua 파일을 메모장으로 열기 후, 아래 해당 부분 가로와 세로 칸 수를 수정 후 저장
local w = GetScreenWidth() / 64 -- 가로 칸 수 조정
local h = GetScreenHeight() / 36 -- 세로 칸 수 조정
Deadly Boss Mods ( 던전 및 레이드 각종 알림 필수 애드온 )
https://mods.curse.com/addons/wow/deadly-boss-mods -- 메인
Deadly Boss Mods ( 던전 및 레이드 각종 알림 추가 플러그인 )
https://mods.curse.com/search?game-slug=wow&search=Deadly+Boss+Mods -- DBM 추가 플러그인
MoveAnything ( 모든 알림 창 및 각종 프레임 위치, 크기 변경 및 숨김, 편리하지만 오류들이 많음 )
https://mods.curse.com/addons/wow/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
■ 하고 싶은 말
본문의 스크립트는 자작, 해외 포럼, 타작 등으로 구성되어 있습니다.
그러므로 본인이 사용하려고 만들었거나, 사용하려고 해외포럼에서 구하거나, 타인이 작업 한 내용입니다.
도움이 되셨다면 소중한 댓글 과 추천 부탁드리겠습니다