Moin Leute,
da ich eigentlich kaum noch aktiv WoW Spiele (PvP jedenfalls, xxx R1 erreicht), release ich mal mein kleines aber feines Script, das automatisch
- Blind / Scatter / Paralyze / Solarplexus deathed,
- Silence / Counterspell / Silence Shot / Solarbeam / Garrote (Dance) innerfocused
- Furchtzauberschutz bei Warrior Fear castet
- Stopcasted bei kick etc
--> Alles nur, wenn die Spells auf ein SELBER sind.
Vor paar Patches davor ging auch noch Verblassen bei Stuns / Deepfreeze etc, war ganz praktisch ;).
Leider haben sie den Spell Verblassen ein wenig geändert.
Desweiteren checked es noch, ob der Cast auch tatsächlich ankommt, also nicht verfehlt, wiederstanden wird oder man immun ist. Sprich alles im "SPELL_MISSED" außer Absorb natürlich.
(Block, Deflect, Dodge, Evade, Immune, Miss, Parry, Reflect, Resist)
Programm um Script in WoW zu laden: Firehack (Google fh-wow)
(Lua Script laden + Lua Unlocker um die Protected Funktionen auszuführen)
Es wird natürlich auch eine gute Latenz vorausgesetzt. Ich beweg mich im 10-30ms Bereich.
Lua Script für deutschen WoW Client
[Only registered and activated users can see links. Click Here To Register...]
Code:
--[[ AntiCCv3 EPvP Pand0r]]--
--[[ Settings ]]--
local Spells1 = {"Streuschuss", "Blenden", "Paralyse", "Solarplexus"}
local Spells2 = {"Stille", "Gegenzauber", "Unterdr\195\188ckender Schuss", "Strangulieren", "Erdrosseln", "Sonnenstrahl", "Zaubersperre"}
local Spells3 = {"Drohruf"}
local Spells4 = {"Tritt", "Zurechtweisung", "Windsto\195\188", "Zuschlagen", "Gedankenfrost", "Sch\195\164delsto\195\188"}
local Spells5 = {"Tieffrieren"}
local ShowInfo = true; -- Prints information about taken actions in Chatwindow
local Delay = 0.002; -- The Delay the Script waits for casting in seconds.
local SetStopCasting = true;
function ACCprint(msg)
if ShowInfo == true then print("|cFF00CCFFAntiCC: |r" .. msg); end
end
function IsCastingOrChanneling()
if UnitCastingInfo("player") or UnitChannelInfo("player") and SetStopCasting == true then return 1; end
end
local Timer, Reset, ACCSpell = 0, true;
local type, hideCaster, srcGUID, srcName, srcFlags, srcFlags2, dstGUID, dstName, spellName, spellSchool, missType;
function Queue()
if GetTime() >= Timer and Reset == false then
if GetSpellCooldown(ACCSpell) == 0 then
if IsCastingOrChanneling() == 1 then SpellStopCasting(); end
ACCprint("|cFFFF6060" .. srcName .. "|r" .. " hits you with " .. "|cFFFFFF00" .. spellName .. "|r" .. ". Trying to cast " .. ACCSpell .. "...");
else
ACCprint("|cFFFF6060" .. srcName .. "|r" .. " hits you with " .. "|cFFFFFF00" .. spellName .. "|r" .. ". Unfortunately " .. ACCSpell .. " is on Cooldown. :(");
end
CCSrc = GetObjectFromGUID(srcGUID);
CCSrc:CastSpellByName(ACCSpell);
Reset = true;
end
end
SetTimerCallback (Queue, 1);
local frame = CreateFrame("FRAME", "AntiCC");
frame:RegisterEvent("COMBAT_LOG_EVENT_UNFILTERED");
local function eventHandler(self, event, ...)
type, hideCaster, srcGUID, srcName, srcFlags, srcFlags2, dstGUID, dstName = select(2, ...); -- Read Combat Log
if type == "SPELL_CAST_SUCCESS" then
spellName = select(13, ...)
if dstName == UnitName("player") and tContains(Spells1, spellName) then
Timer = GetTime() + Delay;
Reset = false;
ACCSpell = "Schattenwort: Tod";
elseif dstName == UnitName("player") and tContains(Spells2, spellName) then
Timer = GetTime() + Delay;
Reset = false;
ACCSpell = "Innerer Fokus";
elseif dstName == UnitName("player") and tContains(Spells3, spellName) then
Timer = GetTime() + Delay;
Reset = false;
ACCSpell = "Furchtzauberschutz";
elseif dstName == UnitName("player") and tContains(Spells4, spellName) then
Timer = GetTime() + Delay;
Reset = false;
ACCSpell = "Automatischer Angriff";
elseif dstName == UnitName("player") and tContains(Spells5, spellName) then
Timer = GetTime() + Delay;
Reset = false;
ACCSpell = "Spektralerscheinung";
end
elseif type == "SPELL_MISSED" then
spellName, spellSchool, missType = select(13, ...)
if dstName == UnitName("player") and (tContains(Spells1, spellName) or tContains(Spells2, spellName) or tContains(Spells3, spellName) ) and not missType == "ABSORB" then
Reset = true;
ACCprint("|cFFFF6060" .. srcName .. "|r" .. " casted " .. "|cFFFFFF00" .. spellName .. "|r" .. " on you, but it failed (" .. missType .. ").");
end
end
end
frame:SetScript("OnEvent", eventHandler);
print("|cFF00CCFFAntiCC Epvp Pand0r: |r" .. "loaded.");
Lua Script für englischen WoW Client (Nach Anfrage von User)
[Only registered and activated users can see links. Click Here To Register...]
Code:
--[[ AntiCCv3 EPvP Pand0r]]--
--[[ Settings ]]--
local Spells1 = {"Scatter Shot", "Blind", "Paralysis", "Gouge"}
local Spells2 = {"Silence", "Counterspell", "Silencing Shot", "Strangulate", "Garrote", "Solar Beam", "Spell Lock"}
local Spells3 = {"Intimidating Shout"}
local Spells4 = {"Kick", "Rebuke", "Wind Shear", "Pummel", "Mind Freeze", "Skull Bash"}
local Spells5 = {"Deep Freeze"}
local ShowInfo = true; -- Prints information about taken actions in Chatwindow
local Delay = 0.002; -- The Delay the Script waits for casting in seconds.
local SetStopCasting = true;
function ACCprint(msg)
if ShowInfo == true then print("|cFF00CCFFAntiCC: |r" .. msg); end
end
function IsCastingOrChanneling()
if UnitCastingInfo("player") or UnitChannelInfo("player") and SetStopCasting == true then return 1; end
end
local Timer, Reset, ACCSpell = 0, true;
local type, hideCaster, srcGUID, srcName, srcFlags, srcFlags2, dstGUID, dstName, spellName, spellSchool, missType;
function Queue()
if GetTime() >= Timer and Reset == false then
if GetSpellCooldown(ACCSpell) == 0 then
if IsCastingOrChanneling() == 1 then SpellStopCasting(); end
ACCprint("|cFFFF6060" .. srcName .. "|r" .. " hits you with " .. "|cFFFFFF00" .. spellName .. "|r" .. ". Trying to cast " .. ACCSpell .. "...");
else
ACCprint("|cFFFF6060" .. srcName .. "|r" .. " hits you with " .. "|cFFFFFF00" .. spellName .. "|r" .. ". Unfortunately " .. ACCSpell .. " is on Cooldown. :(");
end
CCSrc = GetObjectFromGUID(srcGUID);
CCSrc:CastSpellByName(ACCSpell);
Reset = true;
end
end
SetTimerCallback (Queue, 1);
local frame = CreateFrame("FRAME", "AntiCC");
frame:RegisterEvent("COMBAT_LOG_EVENT_UNFILTERED");
local function eventHandler(self, event, ...)
type, hideCaster, srcGUID, srcName, srcFlags, srcFlags2, dstGUID, dstName = select(2, ...); -- Read Combat Log
if type == "SPELL_CAST_SUCCESS" then
spellName = select(13, ...)
if dstName == UnitName("player") and tContains(Spells1, spellName) then
Timer = GetTime() + Delay;
Reset = false;
ACCSpell = "Shadow Word: Death";
elseif dstName == UnitName("player") and tContains(Spells2, spellName) then
Timer = GetTime() + Delay;
Reset = false;
ACCSpell = "Inner Focus";
elseif dstName == UnitName("player") and tContains(Spells3, spellName) then
Timer = GetTime() + Delay;
Reset = false;
ACCSpell = "Fear Ward";
elseif dstName == UnitName("player") and tContains(Spells4, spellName) then
Timer = GetTime() + Delay;
Reset = false;
ACCSpell = "Auto Attack";
elseif dstName == UnitName("player") and tContains(Spells5, spellName) then
Timer = GetTime() + Delay;
Reset = false;
ACCSpell = "Spectral Guise";
end
elseif type == "SPELL_MISSED" then
spellName, spellSchool, missType = select(13, ...)
if dstName == UnitName("player") and (tContains(Spells1, spellName) or tContains(Spells2, spellName) or tContains(Spells3, spellName) ) and not missType == "ABSORB" then
Reset = true;
ACCprint("|cFFFF6060" .. srcName .. "|r" .. " casted " .. "|cFFFFFF00" .. spellName .. "|r" .. " on you, but it failed (" .. missType .. ").");
end
end
end
frame:SetScript("OnEvent", eventHandler);
print("|cFF00CCFFAntiCC EPvP Pand0r: |r" .. "loaded.");
PS: Grüße an Hydra ;)
Lg,
Pand0r