Jump to content

Photo

Improved interrupt bar?!


  • Please log in to reply
50 replies to this topic

#41 Midna

Midna
  • Premium Junkies
  • Trollclass_name
  • EU-Stormscale
  • Cyclone / Wirbelsturm
  • Posts: 904
  • Talents: Holy

Posted 10 January 2011 - 07:00 PM

Same error as demonfury.
  • 0
WARNING: YOU ARE NOW BREATHING AND BLINKING MANUALLY

#42 ilgello

ilgello
  • Members
  • Humanclass_name
  • EU-Crushridge
  • Cataclysme / Cataclysm
  • Posts: 6
  • Talents: Discipline

Posted 10 January 2011 - 09:05 PM

Is it possible to make the bars vertical instead of horizontal?


/ib columns 2
  • 0

#43 Mogias

Mogias
  • Junkies
  • Undeadclass_name
  • EU-Chromaggus
  • Reckoning / Abrechnung
  • Posts: 937
  • Talents: Frost
  • RBG: 384

Posted 11 January 2011 - 02:07 PM

Can someone add the new Tremor totem!? 1 min cd.
  • 0

#44 Thaz

Thaz
  • Junkies
  • Undeadclass_name
  • US-Area 52
  • Retaliation
  • Posts: 357
  • Talents: Affliction 0/0/1/0/0/1
  • RBG: 2219

Posted 28 January 2011 - 12:57 AM

Has anyone written a updated version of this?
I tried to edit it and add spells but became frustrated cause I hate writing code. Any help would be fantastic.
  • 0
Posted Image

#45 warpzz

warpzz
  • Junkies
  • Draeneiclass_name
  • US-Frostmourne
  • Bloodlust
  • Posts: 68
  • Talents: Elemental 0/2/2/2/0/0/0
  • 2v2: 1525
  • 3v3: 1706
  • RBG: 1145

Posted 28 January 2011 - 01:13 AM

Mines a tad over the top ( see here ) but if anyone is intrested in it, here it is;

http://www.mediafire...2fube0swk8j9oel
  • 0
Posted Image

#46 Thaz

Thaz
  • Junkies
  • Undeadclass_name
  • US-Area 52
  • Retaliation
  • Posts: 357
  • Talents: Affliction 0/0/1/0/0/1
  • RBG: 2219

Posted 28 January 2011 - 01:34 AM

I love you. ty
  • 0
Posted Image

#47 Dentan

Dentan
  • Junkies
  • Undeadclass_name
  • EU-Twisting Nether
  • Rampage / Saccage
  • Posts: 1
  • Talents: Holy

Posted 31 January 2011 - 01:32 AM

The lock seems to mess up for me.. sometimes I can move the IB2 .. not the first one .. ever... any clue?


EDIT: seems like u can only move it by clicking the first spells to the left like strang and scatter and everything left from there.
  • 0

#48 notcovaz

notcovaz
  • Junkies
  • Taurenclass_name
  • US-Bonechewer
  • Reckoning
  • Posts: 10
  • Talents: Balance

Posted 25 February 2011 - 08:34 AM

I think you guys are missing the point of IB it's to track spell interrupting cooldowns like Kick,pummel,CS, spell lock, mind freeze, skull bash, rebuke, strang...

If you want to track all cooldowns you might as well use afflicted or better yet try Nameplates with Icicle.

it's supposed to be simple, and quickly referenced, there is just too much shit going on in that bar and it takes up to much space.
  • 0

#49 Klonez

Klonez
  • Premium
  • Worgenclass_name
  • EU-The Maelstrom
  • Rampage / Saccage
  • Posts: 35
  • Talents: Feral 2/2/2/0/2/1/1
  • 2v2: 1695
  • 3v3: 1762
  • 5v5: 1510
  • RBG: 955
  • LocationLiverpool, England

Posted 29 April 2011 - 11:28 AM

Hey all, i've just tried to customise my own version of interruptBar by adding spell IDs and playing around with them.I used the interuptBar2 version also, my local IDs looks as followed

The problem is that when i log onto wow, the bars just do not appear.

Please help with this, if i could get this working it would be so so good.

Here's the codes.

Bar 1

-- 34490 Silencing Shot
-- 6552 Pummel
-- 1766 Kick
-- 2094 Blind
-- 2139 Counterspell
-- 47528 Mind Freeze
-- 15487 Silence
-- 57994 Wind Shock
-- 19647 Spell Lock
-- 80965 Skull Bash
-- 96231 Rebuke
-- 78675 Solar Beam
-- 47476 Strangulate

-----------------------------------------------------

local Order = {34490, 6552, 1766, 2094, 2139, 47528, 15487, 57994, 19647, 80965, 96231, 78675, 47476}

-----------------------------------------------------

Bar 2

-- 19503 Scatter Shot
-- 5246 Intimidating Shout
-- 8643 Kidney Shot
-- 31224 Cloak of Shadows
-- 44572 Deep Freeze
-- 49576 Death Grip
-- 10890 Psychic Scream
-- 8177 Grounding Totem
-- 47860 Death Coil
-- 16979 Feral Charge
-- 10308 Hammer of Justice
-- 53201 Starfall
-- 8143 Tremor Totem

-----------------------------------------------------

local order = {19503, 5246, 8643, 31224, 44572, 49576, 10890, 8177, 47860, 16979, 10308, 53201, 8143}

-----------------------------------------------------

Bar 1
local spellids = {[34490]=, [6552]=10, [1766]=10, [2094]=180, [2139]=24, [47528]=10, [15487]=45, [57994]=6, [19647]=24, [80965]=60, [96231]=10, [78675]=60, [47476]=100}

Bar 2
local spellids = {[19503]=, [5246]=120, [8643]=20, [31224]=90, [44572]=30, [49576]=25, [10890]=30, [8177]=25, [47860]=120, [16979]=15, [10308]=40, [53201]=60, [8143]=120}
  • 0

Klonez

- TAA -


#50 Izrudbace

Izrudbace
  • Members
  • Trollclass_name
  • EU-Al'Akir
  • Blackout
  • Posts: 1
  • Talents: Guardian 2/0/0/1/2/0
  • LocationSofia

Posted 19 August 2012 - 09:12 AM

Mine error is:

Date: 2012-08-19 12:16:47
ID: 1
Error occured in: Global
Count: 1
Message: ..\AddOns\InterruptBar\InterruptBar.lua line 16:
table index is nil
Debug:
[C]: ?
InterruptBar\InterruptBar.lua:16: in main chunk
AddOns:
Swatter, v5.13.5258 (BoldBandicoot)
ACP, v3.3.17
AtlasLootLoader, vv6.05.04
AucAdvanced, v5.13.5258 (BoldBandicoot)
AucFilterBasic, v5.13.5258 (BoldBandicoot)
AucFilterOutlier, v5.13.5258.5187(5.13/embedded)
AucMatchUndercut, v5.13.5258.5232(5.13/embedded)
AucStatHistogram, v5.13.5258 (BoldBandicoot)
AucStatiLevel, v5.13.5258 (BoldBandicoot)
AucStatPurchased, v5.13.5258 (BoldBandicoot)
AucStatSales, v5.13.5258.4838(5.13/embedded)
AucStatSimple, v5.13.5258 (BoldBandicoot)
AucStatStdDev, v5.13.5258 (BoldBandicoot)
AucStatWOWEcon, v5.13.5258.4828(5.13/embedded)
AucUtilAHWindowControl, v5.13.5258.5133(5.13/embedded)
AucUtilAppraiser, v5.13.5258.5241(5.13/embedded)
AucUtilAskPrice, v5.13.5258.5160(5.13/embedded)
AucUtilAutoMagic, v5.13.5258.5224(5.13/embedded)
AucUtilCompactUI, v5.13.5258.5254(5.13/embedded)
AucUtilEasyBuyout, v5.13.5258.5241(5.13/embedded)
AucUtilFixAH, v5.13.5258 (BoldBandicoot)
AucUtilItemSuggest, v5.13.5258.5224(5.13/embedded)
AucUtilPriceLevel, v5.13.5258.5241(5.13/embedded)
AucUtilScanButton, v5.13.5258.5153(5.13/embedded)
AucUtilScanFinish, v5.13.5258.5153(5.13/embedded)
AucUtilScanProgress, v5.13.5258.4979(5.13/embedded)
AucUtilScanStart, v5.13.5258.5153(5.13/embedded)
AucUtilSearchUI, v5.13.5258.5254(5.13/embedded)
AucUtilSimpleAuction, v5.13.5258.5210(5.13/embedded)
AucUtilVendMarkup, v5.13.5258.4828(5.13/embedded)
Auctionator, v3.0.0
Babylonian, v5.1.DEV.312(/embedded)
BankItems, v40300
Bartender4, v4.4.20.1
BaudBag, v4.3.0
BeanCounter, v5.13.5258 (BoldBandicoot)
BGSpy, v1.2.0
CCReport, v2.1
Configator, v5.1.DEV.312(/embedded)
DBMCore, v
DebugLib, v5.1.DEV.312(/embedded)
DoomCooldownPulse, v
Enchantrix, v5.13.5258 (BoldBandicoot)
EnchantrixBarker, v5.13.5258 (BoldBandicoot)
ErrorFilter, v2.4.2
GatherMate2, v1.16.5
Gladius, vv2.0.16-beta
HealersHaveToDie, v2.0.0
HonorKillTab, v1.1.1
ImGonnaBeRich, v1.1
InterruptBar, v1.33
LibExtraTip, v5.12.DEV.319(/embedded)
Stubby, v5.13.5258 (BoldBandicoot)
TipHelper, v5.12.DEV.315(/embedded)
BlizRuntimeLib_enUS v4.3.4.40300 <eu>
(ck=856)
 


You know how to fix this and the code that i use is:

----------------------------------------------------
-- Interrupt Bar by Kollektiv
--
-- Modded by Andrew Kutta
----------------------------------------------------

InterruptBarDB = InterruptBarDB or { scale = 1, hidden = false, lock = false, }
local abilities = {}
local order
local band = bit.band
local abilityCount = 0

local spellids = {[5246] = 120, [85388] = 45, [14185] = 480, [51713] = 60, [26889] = 180, [31224] = 90, [2094] = 180, [1766] = 10, [8643] = 20, [10308] = 60, [54428] = 120, [13809] = 30, [19503] = 30, [19263] = 90, [10888] = 30, [33206] = 180, [48792] = 180, [47528] = 10, [47476] = 120, [11958] = 480, [1953] = 15, [45438] = 300, [44572] = 30, [17928] = 32, [19647] = 24, [29166] = 180, [22812] = 60, [50334] = 180, [22842] = 180, [8177] = 25 }
for spellid,time in pairs(spellids) do
local name,_,spellicon = GetSpellInfo(spellid)
abilities[name] = { icon = spellicon, duration = time }
abilityCount = abilityCount + 1
end

-----------------------------------------------------
-- Edit this table to change the order
-----------------------------------------------------

-- 5246 Intimidating Shout, 120
-- 85388 Throwdown, 45
-- 14185 Preparation, 480
-- 51713 Shadow dance, 60
-- 26889 Vanish, 180
-- 31224 Cloak of Shadows, 90
-- 2094 Blind, 180
-- 1766 Kick, 10
-- 8643 Kidney shot, 20
-- 10308 Hammer of Justice, 60
-- 54428 Divine Plea, 120
-- 13809 Frost Trap, 30
-- 19503 Scatter Shot, 30
-- 19263 Deterrence, 90
-- 10888 Psychic Scream, 30
-- 33206 Pain Suppression, 180
-- 48792 Icebound Fortitude, 180
-- 47528 Mind Freeze, 10
-- 47476 Strangulate, 120
-- 1953 Blink, 15
-- 11958 Cold Snap, 480
-- 45438 Ice Block, 300
-- 44572 Deep Freeze, 30
-- 17928 Howl of Terror, 32
-- 19647 Spell Lock, 24
-- 29166 Innervate, 180
-- 22812 Barkskin, 60
-- 50334 Berserk, 180
-- 22842 Frenzied Regeneration, 180
-- 8177 Grounding Totem, 25

-----------------------------------------------------

local order = {5246, 85388, 14185, 51713, 26889, 31224, 2094, 1766, 8643, 10308, 54428, 13809, 19503, 19263, 10888, 33206, 48792, 47528, 47476, 1953, 11958, 45438, 44572, 17928, 19647, 29166, 22812, 50334, 22842, 8177}

-----------------------------------------------------
-----------------------------------------------------

for k,v in ipairs(order) do order[k] = GetSpellInfo(v) end

local frame
local bar

local GetTime = GetTime
local ipairs = ipairs
local pairs = pairs
local select = select
local floor = floor
local band = bit.band
local GetSpellInfo = GetSpellInfo

local GROUP_UNITS = bit.bor(0x00000010, 0x00000400)

local activetimers = {}

local size = 0
local function getsize()
size = 0
for k in pairs(activetimers) do
size = size + 1
end
end

local function InterruptBar_AddIcons()
local x = -45
local y = 0
--local curAbility = 0
for curAbility,ability in ipairs(order) do
local btn = CreateFrame("Frame",nil,bar)
btn:SetWidth(30)
btn:SetHeight(30)
btn:SetPoint("CENTER",bar,"CENTER",x,y)
btn:SetFrameStrata("LOW")

local cd = CreateFrame("Cooldown",nil,btn)
cd.noomnicc = true
cd.noCooldownCount = true
cd:SetAllPoints(true)
cd:SetFrameStrata("MEDIUM")
cd:Hide()

local texture = btn:CreateTexture(nil,"BACKGROUND")
texture:SetAllPoints(true)
texture:SetTexture(abilities[ability].icon)
texture:SetTexCoord(0.07,0.9,0.07,0.90)

local text = cd:CreateFontString(nil,"ARTWORK")
text:SetFont(STANDARD_TEXT_FONT,18,"OUTLINE")
text:SetTextColor(1,1,0,1)
text:SetPoint("LEFT",btn,"LEFT",2,0)

btn.texture = texture
btn.text = text
btn.duration = abilities[ability].duration
btn.cd = cd

bar[ability] = btn

--
-- Originally curAbility < AbilityCount / 2
-- Which was counted early on when adding
-- The abilities to a table
--
-- This method ensures we only use the number of
-- Abilities that are going to be displayed
-- Given in the order table.
--
if curAbility < #(order) / 2 then
x = x + 30
else
if curAbility > #(order) / 2 then
x = x + 30
else
y = y - 30
x = -45
end
end
end
end

local function InterruptBar_SavePosition()
local point, _, relativePoint, xOfs, yOfs = bar:GetPoint()
if not InterruptBarDB.Position then
InterruptBarDB.Position = {}
end
InterruptBarDB.Position.point = point
InterruptBarDB.Position.relativePoint = relativePoint
InterruptBarDB.Position.xOfs = xOfs
InterruptBarDB.Position.yOfs = yOfs
end

local function InterruptBar_LoadPosition()
if InterruptBarDB.Position then
bar:SetPoint(InterruptBarDB.Position.point,UIParent,InterruptBarDB.Position.relativePoint,InterruptBarDB.Position.xOfs,InterruptBarDB.Position.yOfs)
else
bar:SetPoint("CENTER", UIParent, "CENTER")
end
end

local function InterruptBar_UpdateBar()
bar:SetScale(InterruptBarDB.scale)
if InterruptBarDB.hidden then
for _,v in ipairs(order) do bar[v]:Hide() end
else
for _,v in ipairs(order) do bar[v]:Show() end
end
if InterruptBarDB.lock then
bar:EnableMouse(false)
else
bar:EnableMouse(true)
end
end

local function InterruptBar_CreateBar()
bar = CreateFrame("Frame", nil, UIParent)
bar:SetMovable(true)
bar:SetWidth(120)
bar:SetHeight(30)
bar:SetClampedToScreen(true)
bar:SetScript("OnMouseDown",function(self,button) if button == "LeftButton" then self:StartMoving() end end)
bar:SetScript("OnMouseUp",function(self,button) if button == "LeftButton" then self:StopMovingOrSizing() InterruptBar_SavePosition() end end)
bar:Show()

InterruptBar_AddIcons()
InterruptBar_UpdateBar()
InterruptBar_LoadPosition()
end

local function InterruptBar_UpdateText(text,cooldown)
if cooldown < 10 then
if cooldown <= 0.5 then
text:SetText("")
else
text:SetFormattedText(" %d",cooldown)
end
else
text:SetFormattedText("%d",cooldown)
end
if cooldown < 6 then
text:SetTextColor(1,0,0,1)
else
text:SetTextColor(1,1,0,1)
end
end

local function InterruptBar_StopAbility(ref,ability)
if InterruptBarDB.hidden then ref:Hide() end
if activetimers[ability] then activetimers[ability] = nil end
ref.text:SetText("")
ref.cd:Hide()
end

local time = 0
local function InterruptBar_OnUpdate(self, elapsed)
time = time + elapsed
if time > 0.25 then
getsize()
for ability,ref in pairs(activetimers) do
ref.cooldown = ref.start + ref.duration - GetTime()
if ref.cooldown <= 0 then
InterruptBar_StopAbility(ref,ability)
else
InterruptBar_UpdateText(ref.text,floor(ref.cooldown+0.5))
end
end
if size == 0 then frame:SetScript("OnUpdate",nil) end
time = time - 0.25
end
end

local function InterruptBar_StartTimer(ref,ability)
if InterruptBarDB.hidden then
ref:Show()
end
if not activetimers[ability] then
local duration
activetimers[ability] = ref
ref.cd:Show()
ref.cd:SetCooldown(GetTime()-0.40,ref.duration)
ref.start = GetTime()
InterruptBar_UpdateText(ref.text,ref.duration)
end
frame:SetScript("OnUpdate",InterruptBar_OnUpdate)
end

local function InterruptBar_COMBAT_LOG_EVENT_UNFILTERED(...)
local spellID, ability, useSecondDuration
return function(_, eventtype, _, srcName, srcFlags, _, dstName, dstFlags, id)
if (band(srcFlags, 0x00000040) == 0x00000040 and eventtype == "SPELL_CAST_SUCCESS") then
spellID = id
else
return
end
useSecondDuration = false
if spellID == 49376 then spellID = 16979; useSecondDuration = true end -- Feral Charge - Cat -> Feral Charge - Bear
ability = GetSpellInfo(spellID)
if abilities[ability] then
if useSecondDuration and spellID == 16979 then
bar[ability].duration = 30
elseif spellID == 16979 then
bar[ability].duration = 15
end
InterruptBar_StartTimer(bar[ability],ability)
end
end
end

InterruptBar_COMBAT_LOG_EVENT_UNFILTERED = InterruptBar_COMBAT_LOG_EVENT_UNFILTERED()

local function InterruptBar_ResetAllTimers()
for _,ability in ipairs(order) do
InterruptBar_StopAbility(bar[ability])
end
active = 0
end

local function InterruptBar_PLAYER_ENTERING_WORLD(self)
InterruptBar_ResetAllTimers()
end

local function InterruptBar_Reset()
InterruptBarDB = { scale = 1, hidden = false, lock = false }
InterruptBar_UpdateBar()
InterruptBar_LoadPosition()
end

local function InterruptBar_Test()
for _,ability in ipairs(order) do
InterruptBar_StartTimer(bar[ability],ability)
end
end

local cmdfuncs = {
scale = function(v) InterruptBarDB.scale = v; InterruptBar_UpdateBar() end,
hidden = function() InterruptBarDB.hidden = not InterruptBarDB.hidden; InterruptBar_UpdateBar() end,
lock = function() InterruptBarDB.lock = not InterruptBarDB.lock; InterruptBar_UpdateBar() end,
reset = function() InterruptBar_Reset() end,
test = function() InterruptBar_Test() end,
}

local cmdtbl = {}
function InterruptBar_Command(cmd)
for k in ipairs(cmdtbl) do
cmdtbl[k] = nil
end
for v in gmatch(cmd, "[^ ]+") do
tinsert(cmdtbl, v)
end
local cb = cmdfuncs[cmdtbl[1]]
if cb then
local s = tonumber(cmdtbl[2])
cb(s)
else
ChatFrame1:AddMessage("InterruptBar Options | /ib <option>",0,1,0)
ChatFrame1:AddMessage("-- scale <number> | value: " .. InterruptBarDB.scale,0,1,0)
ChatFrame1:AddMessage("-- hidden (toggle) | value: " .. tostring(InterruptBarDB.hidden),0,1,0)
ChatFrame1:AddMessage("-- lock (toggle) | value: " .. tostring(InterruptBarDB.lock),0,1,0)
ChatFrame1:AddMessage("-- test (execute)",0,1,0)
ChatFrame1:AddMessage("-- reset (execute)",0,1,0)
end
end

local function InterruptBar_OnLoad(self)
self:RegisterEvent("PLAYER_ENTERING_WORLD")
self:RegisterEvent("COMBAT_LOG_EVENT_UNFILTERED")
if not InterruptBarDB.scale then InterruptBarDB.scale = 1 end
if not InterruptBarDB.hidden then InterruptBarDB.hidden = false end
if not InterruptBarDB.lock then InterruptBarDB.lock = false end
InterruptBar_CreateBar()

SlashCmdList["InterruptBar"] = InterruptBar_Command
SLASH_InterruptBar1 = "/ib"

ChatFrame1:AddMessage("Interrupt Bar by Kollektiv. Type /ib for options.",0,1,0)
end

local eventhandler = {
["VARIABLES_LOADED"] = function(self) InterruptBar_OnLoad(self) end,
["PLAYER_ENTERING_WORLD"] = function(self) InterruptBar_PLAYER_ENTERING_WORLD(self) end,
["COMBAT_LOG_EVENT_UNFILTERED"] = function(self,...) InterruptBar_COMBAT_LOG_EVENT_UNFILTERED(...) end,
}

local function InterruptBar_OnEvent(self,event,...)
eventhandler[event](self,...)
end

frame = CreateFrame("Frame",nil,UIParent)
frame:SetScript("OnEvent",InterruptBar_OnEvent)
frame:RegisterEvent("VARIABLES_LOADED")


  • 0
Feral Druid - Izrudbace - Al'akir // Skype: phantom_dust1 //

#51 Darkcat

Darkcat
  • Members
  • Taurenclass_name
  • EU-Stormscale
  • Cyclone / Wirbelsturm
  • Posts: 19
  • Talents: Feral 2/0/2/1/2/.
  • LocationBulgaria

Posted 29 August 2012 - 05:51 AM

Hellu! Im wondering if someone got improved interrupt bar or anything with CoS, Strangulate and maybe more? I suck at editing so i was wondering if there maybe is something better to use or if anyone can upload there edited version!

Thank you

//fusionman

Unfortunately not, just turn down the scale on the bar.

I was just about to make such a thread.
  • 0
[img]http://www.gophoto.it/view.php?i=http://24.media.tumblr.com/tumblr_m5zvz9PCOb1r9az6fo1_500.gif#.UEH72ZJKQoU.....da[/img]




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

<