클래식 팁과 노하우 게시판

전체보기

모바일 상단 메뉴

본문 페이지

[애드온] 주문 시전 차단 스크립트

아이콘 배틀리
댓글: 33 개
조회: 14824
추천: 21
2019-09-16 04:41:04

주문 시전 차단이 성공했을 때 알리고 싶은 분들을 위한 겁니다.  차단 실패는 없습니다.

클래식에서는 채팅에 스킬 링크를 넣을 수 없는 것으로 보여 자세한 주문 설명을 알 수는 없지만 스킬명을 적어두는 것으로 도움이 될 듯 합니다.

내용 중 해제와 부활 알림이 있는데 해당 클래스가 없어서 확인은 못했습니다.

아래 내용을 담은 애드온을 첨부하니 쓰실 분은 쓰세요.
2020.02.19
 - 클래식 페이즈 3 toc 수정
 - 알림 채널을 감정 표현으로 수정

-- ■■  전투 이벤트 알림# 출처: 와우인벤 매크로 게시판
local function sendChatMessage(count, link, name, xlink, text, ch)
if (count == 1) then
text = link.."▶"..name..(IsInGroup()and "" or xlink)..text;
else
text = link.."▶"..name..text.."x"..count;
end
if (not IsInGroup()) then
print(GameTime_GetTime(1), text)
else
SendChatMessage(text, ch)
end
end
local SpellCount, CharName = 0, "";
local notice = CreateFrame("Frame")
notice:RegisterEvent("COMBAT_LOG_EVENT_UNFILTERED")
notice:SetScript("OnEvent", function()
local _,combatEvent,hideCaster,sourceGUID,sourceName,sourceFlags,sourceRaidFlags,destGUID,destName,destFlags,destRaidFlags,spellID,spellName,_,param1,param2,_,param4 = CombatLogGetCurrentEventInfo()
if (not combatEvent) then return end
--local channel = IsInGroup(2)and"INSTANCE_CHAT"or IsInRaid()and"RAID"or IsInGroup(1)and"PARTY"or"SAY";
local channel = "EMOTE";-- 알림 채널은 감정 표현
if (sourceGUID == UnitGUID("player") or sourceGUID == UnitGUID("pet")) then
if (combatEvent == "SPELL_INTERRUPT" or combatEvent == "SPELL_DISPEL" or combatEvent == "SPELL_RESURRECT") then
SpellCount = SpellCount + 1;
local xlink = combatEvent == "SPELL_RESURRECT" and "" or "의["..(param2 or "").."]";
local text = combatEvent == "SPELL_INTERRUPT" and "차단" or combatEvent == "SPELL_DISPEL" and "해제" or "부활";
C_Timer.After(.1, function()
if (SpellCount ~= 0) then
CharName = CharName == destName and "["..destName.."]" or "";
sendChatMessage(SpellCount, "["..spellName.."]", CharName, xlink, text, channel)
SpellCount, CharName = 0, "";
end
end)
CharName = destName;
elseif (combatEvent == "SPELL_STOLEN" and UnitClass"player" == "마법사" and param2) then -- 마법사 마법 훔치기
SendChatMessage("["..spellName.."]▶["..destName.."의"..param2, channel)
elseif (combatEvent == "SPELL_CAST_SUCCESS" and destGUID ~= UnitGUID("player")) then -- 도발
local class = {["전사"]="도발",["드루이드"]="포효"}
local provoke = class[UnitClass"player"]
if (provoke and provoke == spellName) then
SendChatMessage("["..spellName.."]▶["..destName.."]", channel)
end
if (UnitClass"player" == "전사") then
local spell = {["도전의 외침"]=6, ["보복"]=15, ["방패의 벽"]=13, ["최후의 저항"]=20}
if (spell[spellName]) then
SendChatMessage("["..spellName.."] "..spell[spellName].."초", channel)
end
end
end
end
end)

와우저

Lv91 배틀리

하늘아래푸르름

모바일 게시판 하단버튼

댓글

새로고침
새로고침

모바일 게시판 하단버튼

지금 뜨는 인벤

더보기+

모바일 게시판 리스트

모바일 게시판 하단버튼

글쓰기

모바일 게시판 페이징

최근 HOT한 콘텐츠

  • 와우
  • 게임
  • IT
  • 유머
  • 연예
AD