배틀리
2019-09-16 04:41
조회: 14,347
추천: 21
첨부파일 Notice.zip [1Kb]
주문 시전 차단 스크립트주문 시전 차단이 성공했을 때 알리고 싶은 분들을 위한 겁니다. 차단 실패는 없습니다. 클래식에서는 채팅에 스킬 링크를 넣을 수 없는 것으로 보여 자세한 주문 설명을 알 수는 없지만 스킬명을 적어두는 것으로 도움이 될 듯 합니다. 내용 중 해제와 부활 알림이 있는데 해당 클래스가 없어서 확인은 못했습니다. 아래 내용을 담은 애드온을 첨부하니 쓰실 분은 쓰세요. 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) |
인벤 공식 앱
댓글 알람 기능 장착! 최신 게임뉴스를 한 눈에 보자