2019년 12월 5일 목요일

인게임 /fstack 프레임명 보기 설정

/run SetCVar("fstack_preferParentKeys", 0)

8.2.5 이전처럼 프레임명 보고싶을때 이렇게 입력하면됨

fstack_preferParentKeys 0

fstack_preferParentKeys 1

2019년 2월 16일 토요일

해당 캐릭터의 업적만 표시

Lua
local _login = CreateFrame("FRAME")
_login:RegisterEvent("PLAYER_ENTERING_WORLD")
_login:SetScript("OnEvent", function()
if not AreAccountAchievementsHidden() then
    ShowAccountAchievements(0)
end
_login:UnregisterEvent("PLAYER_ENTERING_WORLD")
end)
로그인할때 자동으로 적용됨

2019년 1월 29일 화요일

쿨기 사용 알림

Lua

KoKR
--Spell Alert
local _SAt = {}
local _SAn = {}
local _SAch = IsInGroup(2) and "INSTANCE_CHAT" or IsInRaid() and "RAID" or IsInGroup(1) and "PARTY" or "YELL"

_SAt = {
--[spellID] = true, --spellName
[47788] = true, --수호 영혼
[33206] = true, --고억
} --타게팅

_SAn = {
--[spellID] = true, --spellName
[62618] = true, --방벽
[64843] = true, --천찬
} --논타겟

local alert=CreateFrame("Frame")
alert:RegisterEvent("COMBAT_LOG_EVENT_UNFILTERED")
alert:SetScript("OnEvent", function(...)
local _,combatEvent,hideCaster,sourceGUID,sourceName,sourceFlags,sourceRaidFlags,destGUID,destName,destFlags, destRaidFlags,spellID,spellName,_,param1,_,_,param4 = CombatLogGetCurrentEventInfo()

if combatEvent=="SPELL_CAST_SUCCESS" and sourceGUID == UnitGUID("player") then
    if _SAt[spellID] and destGUID ~= UnitGUID("player") then
        SendChatMessage(destName.." 님께 "..GetSpellLink(spellID), _SAch)
    elseif _SAn[spellID] then
        SendChatMessage(GetSpellLink(spellID).." 사용!", _SAch)
    end
end
end)

EnUS
--Spell Alert
local _SAt = {}
local _SAn = {}
local _SAch = IsInGroup(2) and "INSTANCE_CHAT" or IsInRaid() and "RAID" or IsInGroup(1) and "PARTY" or "YELL"

_SAt = {
--[spellID] = true, --spellName
[47788] = true, --Guardian Spirit
[33206] = true, --Pain Suppression
} --targeting spells

_SAn = {
--[spellID] = true, --spellName
[62618] = true, --Power Word: Barrier
[64843] = true, --Divine Hymn
} --non targeting spells

local alert=CreateFrame("Frame")
alert:RegisterEvent("COMBAT_LOG_EVENT_UNFILTERED")
alert:SetScript("OnEvent", function(...)
local _,combatEvent,hideCaster,sourceGUID,sourceName,sourceFlags,sourceRaidFlags,destGUID,destName,destFlags, destRaidFlags,spellID,spellName,_,param1,_,_,param4 = CombatLogGetCurrentEventInfo()

if combatEvent=="SPELL_CAST_SUCCESS" and sourceGUID == UnitGUID("player") then
    if _SAt[spellID] and destGUID ~= UnitGUID("player") then
        SendChatMessage(GetSpellLink(spellID).." on "destName, _SAch)
    elseif _SAn[spellID] then
        SendChatMessage(GetSpellLink(spellID).." up!", _SAch)
    end
end
end)

2018년 12월 11일 화요일

ChatFrame class color

이거 왜사라짐
/run SetCVar("chatClassColorOverride", 1);ReloadUI();
해봐도 안되는사람 ㄱㄱ

Lua
--채팅창 이름 직업색상 표시
for k in next, getmetatable(ChatTypeInfo).__index do
    SetChatColorNameByClass(k, true)
end

2018년 8월 11일 토요일

Arenaframe / Bossframe

ArenaFrame

참고 : Gladius의 DR tracker 기능을 활용하기 위해서는 기본 프레임이 항상 활성화되어 있어야 함
SetCVar("showArenaEnemyFrames", 1)
1. 크기/ 위치조정
Lua
if not IsAddOnLoaded("Blizzard_ArenaUI") then LoadAddOn("Blizzard_ArenaUI") end
for k=1, MAX_ARENA_ENEMIES do
    local AF=_G["ArenaEnemyFrame"..k];
    AF:SetScale(1); --창 크기
    AF:ClearAllPoints();   
        if k == 1 then
        AF:SetPoint("TOPRIGHT", UIParent, "TOPRIGHT", 50, -250); -- 프레임 위치
        else
        AF:SetPoint("TOPRIGHT", _G["ArenaEnemyFrame"..(k - 1)], "TOPRIGHT", 0, -100); -- 프레임 간격
        end
    AF.SetPoint = function() end;
end
Script (다소 제한적임)
/run LoadAddOn("Blizzard_ArenaUI");local AF=ArenaEnemyFrames;AF:Show();AF:SetScale(1);AF:ClearAllPoints();AF:SetPoint("CENTER", UIParent, "CENTER", 0, 0);AF.SetPoint = function() end
2. 테스트용 스크립트
/run LoadAddOn("Blizzard_ArenaUI") ArenaEnemyFrames:Show() ArenaEnemyFrame1:Show() ArenaEnemyFrame2:Show() ArenaEnemyFrame3:Show() ArenaEnemyFrame1CastingBar:Show() ArenaEnemyFrame2CastingBar:Show() ArenaEnemyFrame3CastingBar:Show()

BossFrame

1. Hide
for i = 1, MAX_BOSS_FRAMES do
local f = _G["Boss"..i.."TargetFrame"]
f:UnregisterAllEvents()
f.Show = function() end
f:Hide()
end -- 보스프레임 숨기기
2. Move
Lua
local BF
for i=1, MAX_BOSS_FRAMES do
    BF=_G["Boss"..i.."TargetFrame"];
    BF:SetScale(1); --프레임 크기
    BF:ClearAllPoints();   
        if i == 1 then
        BF:SetPoint("TOPRIGHT", UIParent, "TOPRIGHT", 50, -250); --프레임 위치
        else
        BF:SetPoint("TOPRIGHT", _G["Boss"..(i - 1).."TargetFrame"], "TOPRIGHT", 0, -100); --프레임 간격
        end
    BF.SetPoint = function() end;
end
Script
/run local B;for i=1, MAX_BOSS_FRAMES do B=_G["Boss"..i.."TargetFrame"];B:SetScale(1);B:ClearAllPoints();B:SetPoint("CENTER",UIParent,"CENTER",0,0+(1-i)*100);B.SetPoint = function()end;end

2018년 7월 21일 토요일

Witch Hunt

https://drive.google.com/open?id=1L8jFUbb2WfT6J2AuNUUNuL6KJbvJUR_m

8.0.1.27144 build

2018.08.10
라이브러리 경로 문제 해결

2018년 7월 19일 목요일

전장 지도 (BattlefieldMinimap) 크기

BfA

Lua
if not IsAddOnLoaded("Blizzard_BattlefieldMap") then
    LoadAddOn("Blizzard_BattlefieldMap")
end;
BattlefieldMapFrame:SetScale(1.5);
Script
/run LoadAddOn("Blizzard_BattlefieldMap");BattlefieldMapFrame:SetScale(1.5)

2018년 7월 5일 목요일

유물력 잡템 자동판매 매크로

Artifact power & Grey items

예시
Script
/run 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))



참고(유물력이 회색템으로 인식되지 않았을 때)
/run for b=0,4 do for s=1,GetContainerNumSlots(b)do local K,D=GetContainerItemLink(b,s),GetContainerItemID(b,s);if K and MerchantFrame:IsShown()then if IsArtifactPowerItem(D)or string.find(K,"9d9d9d")then UseContainerItem(b,s)print(K)end;end;end;end

Addon : https://www.curseforge.com/wow/addons/artifactpowerseller

2018년 7월 4일 수요일

LossOfControlFrame

제어불가효과 경보 프레임 수정


Hide LossOfControlFrame Texture
local LOC=LossOfControlFrame;
LOC.RedLineTop:Hide();
LOC.blackBg:Hide();
LOC.RedLineBottom:Hide();
LOC:SetScale(0.7); --Scale
Hide cooldown text (TimeLeft)
select(2,LossOfControlFrame:GetChildren()):SetAlpha(0)
Scale TimeLeft
LossOfControlFrame.TimeLeft:SetScale(0.5) -- 남은시간 크기
Scale TimeLeft.SecondsText
--"초" 숫자 크기조절
hooksecurefunc("LossOfControlFrame_SetUpDisplay", function(self)
    local SC=self.TimeLeft.SecondsText;
    local F,S,O=SC:GetFont();
    SC.scrollTime = nil;
    SC:SetFont(F,12,O)
end)
Hide TimeLeft.SecondsText
LossOfControlFrame.TimeLeft.SecondsText:SetAlpha(0)-- "초" 숨김
API
여기를 보면 "LOSS_OF_CONTROL_UPDATE", "LOSS_OF_CONTROL_ADDED" 두 가지 이벤트가 있는데, 이 이벤트 발생시 C_LossOfControl.GetEventInfo(index) 를 사용해서 현재 제어불가 효과를 확인하고 아이콘을 띄우거나 경보를 작동하는 데 활용하면 됨
참고 : https://wow.gamepedia.com/API_C_LossOfControl.GetEventInfo