Minion Beta! - Help us test our new AddOn updater. Get it now!
Download
(30 Kb)
Download
Updated: 09-11-13 08:49 AM
Pictures
File Info
Compatibility:
Siege of Orgrimmar (5.4)
Escalation (5.3)
Updated:09-11-13 08:49 AM
Created:11-02-10 11:45 AM
Downloads:25,327
Favorites:127
MD5:
Categories:Data Mods, Combat Mods

alDamageMeter  Popular! (More than 5000 hits)

Version: 50400.15
by: Allez [More]

alDamageMeter is a simple and lightweight damage meter addon.

Features

  • Minimalistic design
  • LDB support
  • Low Memory usage

Tracking modes:
  • damage/dps
  • healing/hps
  • absorbs
  • dispels
  • interrupts

Hints:
  • Hold shift to move
  • Right click to display addon menu
  • /dmg - show/hide addon

https://github.com/Allez/alDamageMeter/commits/master
*50400.15
- update for patch 5.4
- fix errors

*50300.14
- update for patch 5.3

*50200.14
- Updated Boss IDs
- .toc update for patch 5.2

*50100.13
- Fixed calculations when window is hidden
- Updated Boss IDs

*50001.12
- Fixed random error

*50001.11
- MoP support
- Fixed bug with color dialog
- /dmg hides/shows addon
- Changed report string: "alDamageMeter : Damage"

*40300.10
- Ingame settings in menu
- ClassColor settings
- Truncated DPS value

*40300.9
- (test) New absorb system
- Allow the bars to be created from the maximum width of the damage meter (thx memborsky)

*40300.8
- updated boss IDs

*40300.7
- patch 4.3

*40200.7
- hotfix. now working :)

*40200.6
- fixed some lua errors

*40200.5
- Fix: Some clients has a bug with guardians and totem's pets

*40200.4
- updated for patch 4.2
- updated LibBossIDs
- added option for showing only boss fights (default - off)
- added total damage tracking

*40100.4
- Update for 4.1. No new features

*40000.4
- Spell and target details in tooltip

*40000.3
- "LoadAddon" support
- option for merging healing and absorbs. It will be displayed as healing

*40000.2
- zero values no longer included in the reports
Optional Files (0)


Archived Files (15)
File Name
Version
Size
Author
Date
50300.14
30kB
Allez
09-10-13 12:23 PM
50200.14
30kB
Allez
04-03-13 11:25 AM
40300.10
28kB
Allez
03-25-12 08:36 AM
40300.9
28kB
Allez
02-26-12 11:44 PM
40300.8
28kB
Allez
12-05-11 01:20 PM
40300.7
28kB
Allez
11-30-11 12:16 PM
40200.7
28kB
Allez
09-04-11 01:11 PM
40200.6
28kB
Allez
09-03-11 01:14 PM
40200.5
28kB
Allez
08-28-11 11:47 AM
40200.4
36kB
Allez
06-29-11 03:58 PM
40100.4
33kB
Allez
04-27-11 03:11 PM
40000.4
33kB
Allez
02-10-11 11:53 PM
40000.3
33kB
Allez
11-30-10 07:34 AM
40000.2
33kB
Allez
11-17-10 01:44 AM
40000.1
33kB
Allez
11-02-10 11:45 AM


Post A Reply Comment Options
Unread 09-04-11, 03:06 AM  
CO_summer
A Kobold Labourer

Forum posts: 0
File comments: 5
Uploads: 0
Re: I found a error

Code:
Message: Interface\AddOns\alDamageMeter\alDamageMeter.lua:381: attempt to index local 'unit' (a nil value)
Time: 09/04/11 16:30:56
Count: 1
Stack: Interface\AddOns\alDamageMeter\alDamageMeter.lua:381: in function <Interface\AddOns\alDamageMeter\alDamageMeter.lua:378>
Interface\AddOns\alDamageMeter\alDamageMeter.lua:397: in function <Interface\AddOns\alDamageMeter\alDamageMeter.lua:395>
Interface\AddOns\alDamageMeter\alDamageMeter.lua:704: in function <Interface\AddOns\alDamageMeter\alDamageMeter.lua:678>

Locals: uGUID = "0xF1301DB70000012F"
unit = nil
(*temporary) = <table> {
}
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = "attempt to index local 'unit' (a nil value)"
units = <table> {
 -2147483648 = <table> {
 }
 -2147483648 = <table> {
 }
 -2147483648 = <table> {
 }
 -2147483648 = <table> {
 }
 -2147483648 = <table> {
 }
}
displayMode = <table> {
 1 = "傷害"
 2 = "治療"
 3 = "吸收"
 4 = "驅散"
 5 = "中斷"
}
CO_summer is offline Report comment to moderator  
Reply With Quote
Unread 09-04-11, 03:06 AM  
CO_summer
A Kobold Labourer

Forum posts: 0
File comments: 5
Uploads: 0
I found a error

Code:
Message: Interface\AddOns\alDamageMeter\alDamageMeter.lua:381: attempt to index local 'unit' (a nil value)
Time: 09/04/11 16:30:56
Count: 1
Stack: Interface\AddOns\alDamageMeter\alDamageMeter.lua:381: in function <Interface\AddOns\alDamageMeter\alDamageMeter.lua:378>
Interface\AddOns\alDamageMeter\alDamageMeter.lua:397: in function <Interface\AddOns\alDamageMeter\alDamageMeter.lua:395>
Interface\AddOns\alDamageMeter\alDamageMeter.lua:704: in function <Interface\AddOns\alDamageMeter\alDamageMeter.lua:678>

Locals: uGUID = "0xF1301DB70000012F"
unit = nil
(*temporary) = <table> {
}
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = "attempt to index local 'unit' (a nil value)"
units = <table> {
 -2147483648 = <table> {
 }
 -2147483648 = <table> {
 }
 -2147483648 = <table> {
 }
 -2147483648 = <table> {
 }
 -2147483648 = <table> {
 }
}
displayMode = <table> {
 1 = "傷害"
 2 = "治療"
 3 = "吸收"
 4 = "驅散"
 5 = "中斷"
}
Last edited by CO_summer : 09-04-11 at 03:06 AM.
CO_summer is offline Report comment to moderator  
Reply With Quote
Unread 08-29-11, 08:40 AM  
Maxen
A Deviate Faerie Dragon

Forum posts: 17
File comments: 221
Uploads: 0
I am also experiencing both issues reported below. I can leave the title on, but the other one (attempt to index local 'unit' (a nil value)) concerns me more...

I would like also to change the status bar texture, but it seems this does not like *.tga files...

Thanks !
Maxen is offline Report comment to moderator  
Reply With Quote
Unread 08-28-11, 12:50 PM  
p3lim
A Pyroguard Emberseer
 
p3lim's Avatar
AddOn Author - Click to view AddOns

Forum posts: 1313
File comments: 1184
Uploads: 25
Message: Interface\AddOns\alDamageMeter\alDamageMeter.lua:379: attempt to index local 'unit' (a nil value)
Time: 08/28/11 20:51:01
Count: 2
Stack: Interface\AddOns\alDamageMeter\alDamageMeter.lua:379: in function <Interface\AddOns\alDamageMeter\alDamageMeter.lua:376>
Interface\AddOns\alDamageMeter\alDamageMeter.lua:395: in function <Interface\AddOns\alDamageMeter\alDamageMeter.lua:393>
Interface\AddOns\alDamageMeter\alDamageMeter.lua:702: in function <Interface\AddOns\alDamageMeter\alDamageMeter.lua:676>

Locals: uGUID = "0xF530CBF700213E6F"
unit = nil
(*temporary) = <table> {
}
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = "attempt to index local 'unit' (a nil value)"
units = <table> {
-2147483648 = <table> {
}
}
displayMode = <table> {
1 = "Damage"
2 = "Healing"
3 = "Absorb"
4 = "Dispels"
5 = "Interrupts"
}
p3lim is offline Report comment to moderator  
Reply With Quote
Unread 07-03-11, 08:06 AM  
Syngian
A Kobold Labourer

Forum posts: 0
File comments: 72
Uploads: 0
Title

Hiding the title seems to cause this error:

Code:
2x alDamageMeter\alDamageMeter-40200.4.lua:466: attempt to index field "title" (a nil value)
Syngian is offline Report comment to moderator  
Reply With Quote
Unread 07-01-11, 10:39 AM  
Haleth
This Space For Rent
 
Haleth's Avatar
WoWInterface Super Moderator
AddOn Author - Click to view AddOns

Forum posts: 1172
File comments: 1138
Uploads: 31
Hey, not sure if you're aware but LoadAddOn() isn't supported again.

If you just move this:

Code:
MainFrame:SetSize(width, height)
into the ADDON_LOADED part, it'll work again.

Thanks for the update btw.
Haleth is offline Report comment to moderator  
Reply With Quote
Unread 06-29-11, 04:03 PM  
Allez
A Kobold Labourer
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 143
Uploads: 4
Updated/ thx
Allez is offline Report comment to moderator  
Reply With Quote
Unread 06-29-11, 11:34 AM  
cpthook
A Kobold Labourer

Forum posts: 0
File comments: 1
Uploads: 0
Fix for 4.2

I love this meter, and have updated it for 4.2, if you swap out the function for "COMBAT_LOG_EVENT_UNFILTERED in alDamageMeters.lua with this new version it will work.

Code:
local OnEvent = function(self, event, ...)
	if event == "COMBAT_LOG_EVENT_UNFILTERED" then
		local timestamp, eventType, hideCaster, sourceGUID, sourceName, sourceFlags, sourceRaidFlags, destGUID, destName, destFlags, destRaidFlags = select(1, ...)
		if band(sourceFlags, filter) == 0 and band(destFlags, filter) == 0 then return end
		if eventType=="SWING_DAMAGE" or eventType=="RANGE_DAMAGE" or eventType=="SPELL_DAMAGE" or eventType=="SPELL_PERIODIC_DAMAGE" or eventType=="DAMAGE_SHIELD" then
			local amount, _, _, _, _, absorbed = select(eventType=="SWING_DAMAGE" and 12 or 15, ...)
			local spellName = eventType=="SWING_DAMAGE" and MELEE_ATTACK or select(13, ...)
			if IsFriendlyUnit(sourceGUID) and not IsFriendlyUnit(destGUID) and combatstarted then
				if amount and amount > 0 then
					sourceGUID = owners[sourceGUID] or sourceGUID
					Add(sourceGUID, amount, DAMAGE, spellName, destName)
					if not bossname and boss.BossIDs[tonumber(destGUID:sub(9, 12), 16)] then
						bossname = destName
					elseif not mobname then
						mobname = destName
					end
				end
			end
			if IsFriendlyUnit(destGUID) then
				local shielder, shield = FindShielder(destGUID, timestamp)
				if shielder and absorbed and absorbed > 0 then
					Add(shielder, absorbed, config["Merge healing and absorbs"] and SHOW_COMBAT_HEALING or ABSORB, shield, destName)
				end
			end
		elseif eventType=="SWING_MISSED" or eventType=="RANGE_MISSED" or eventType=="SPELL_MISSED" or eventType=="SPELL_PERIODIC_MISSED" then
			local misstype, amount = select(eventType=="SWING_MISSED" and 12 or 15, ...)
			if misstype == "ABSORB" and IsFriendlyUnit(destGUID) then
				local shielder, shield = FindShielder(destGUID, timestamp)
				if shielder and amount and amount > 0 then
					Add(shielder, amount, config["Merge healing and absorbs"] and SHOW_COMBAT_HEALING or ABSORB, shield, destName)
				end
			end
		elseif eventType=="SPELL_SUMMON" then
			if owners[sourceGUID] then 
				owners[destGUID] = owners[sourceGUID]
			else
				owners[destGUID] = sourceGUID
			end
		elseif eventType=="SPELL_HEAL" or eventType=="SPELL_PERIODIC_HEAL" then
			spellId, spellName, spellSchool, amount, over, school, resist = select(12, ...)
			if IsFriendlyUnit(sourceGUID) and IsFriendlyUnit(destGUID) and combatstarted then
				over = over or 0
				if amount and amount > 0 then
					sourceGUID = owners[sourceGUID] or sourceGUID
					Add(sourceGUID, amount - over, SHOW_COMBAT_HEALING, spellName, destName)
				end
			end
		elseif eventType=="SPELL_DISPEL" then
			if IsFriendlyUnit(sourceGUID) and combatstarted then
				sourceGUID = owners[sourceGUID] or sourceGUID
				Add(sourceGUID, 1, DISPELS, "Dispel", destName)
			end
		elseif eventType=="SPELL_INTERRUPT" then
			if IsFriendlyUnit(sourceGUID) and not IsFriendlyUnit(destGUID) and combatstarted then
				sourceGUID = owners[sourceGUID] or sourceGUID
				Add(sourceGUID, 1, INTERRUPTS, "Interrupt", destName)
			end
		elseif eventType=="SPELL_AURA_APPLIED" or eventType=="SPELL_AURA_REFRESH" then
			local spellId, spellName = select(10, ...)
			sourceGUID = owners[sourceGUID] or sourceGUID
			if AbsorbSpellDuration[spellId] and IsFriendlyUnit(sourceGUID) and IsFriendlyUnit(destGUID) then
				shields[destGUID] = shields[destGUID] or {}
				shields[destGUID][spellName] = shields[destGUID][spellName] or {}
				shields[destGUID][spellName][sourceGUID] = timestamp + AbsorbSpellDuration[spellId]
			end
		elseif eventType=="SPELL_AURA_REMOVED" then
			local spellId, spellName = select(12, ...)
			sourceGUID = owners[sourceGUID] or sourceGUID
			if AbsorbSpellDuration[spellId] and IsFriendlyUnit(destGUID) then
				if shields[destGUID] and shields[destGUID][spellName] and shields[destGUID][spellName][destGUID] then
					shields[destGUID][spellName][destGUID] = timestamp + 0.1
				end
			end
		else
			return
		end
	elseif event == "ADDON_LOADED" then
		local name = ...
		if name == addon_name then
			self:UnregisterEvent(event)
			MainFrame = CreateFrame("Frame", addon_name.."Frame", UIParent)
			MainFrame:SetPoint(anchor, x, y)
			MainFrame.bg = CreateBG(MainFrame)
			MainFrame:SetMovable(true)
			MainFrame:EnableMouse(true)
			MainFrame:EnableMouseWheel(true)
			MainFrame:SetScript("OnMouseDown", function(self, button)
				if button == "LeftButton" and IsModifiedClick("SHIFT") then
					self:StartMoving()
				end
			end)
			MainFrame:SetScript("OnMouseUp", function(self, button)
				if button == "RightButton" then
					ToggleDropDownMenu(1, nil, menuFrame, 'cursor', 0, 0)
				end
				if button == "LeftButton" then
					self:StopMovingOrSizing()
				end
			end)
			MainFrame:SetScript("OnMouseWheel", OnMouseWheel)
			MainFrame:Show()
			UIDropDownMenu_Initialize(menuFrame, CreateMenu, "MENU")
			MainFrame.title = CreateFS(MainFrame)
			MainFrame.title:SetPoint("BOTTOM", MainFrame, "TOP", 0, 1)
			MainFrame.title:SetText(sMode)
			CheckRoster()
		end
	elseif event == "VARIABLES_LOADED" then
		if config["Hide title"] then MainFrame.title:Hide() end
		MainFrame:SetSize(config["Width"], height)
	elseif event == "RAID_ROSTER_UPDATE" or event == "PARTY_MEMBERS_CHANGED" or event == "PLAYER_ENTERING_WORLD" then
		CheckRoster()
	elseif event == "PLAYER_REGEN_DISABLED" then
		if not combatstarted then
			StartCombat()
		end
	elseif event == "UNIT_PET" then
		local unit = ...
		local pet = unit .. "pet"
		CheckPet(unit, pet)
	end
end
cpthook is offline Report comment to moderator  
Reply With Quote
Unread 06-29-11, 02:21 AM  
HWIzzle
A Kobold Labourer

Forum posts: 0
File comments: 4
Uploads: 0
I hope this gets updated for 4.2, def my favorite damage meter.
__________________
I'm a bullet proof tiger, dude.
HWIzzle is offline Report comment to moderator  
Reply With Quote
Unread 06-28-11, 08:18 AM  
Haleth
This Space For Rent
 
Haleth's Avatar
WoWInterface Super Moderator
AddOn Author - Click to view AddOns

Forum posts: 1172
File comments: 1138
Uploads: 31
Any chance for a 4.2 update?
Haleth is offline Report comment to moderator  
Reply With Quote
Unread 05-27-11, 05:36 PM  
breor
A Murloc Raider

Forum posts: 6
File comments: 35
Uploads: 0
Would it be possible to make an option to only save boss segments?
breor is offline Report comment to moderator  
Reply With Quote
Unread 05-07-11, 05:44 AM  
Haleth
This Space For Rent
 
Haleth's Avatar
WoWInterface Super Moderator
AddOn Author - Click to view AddOns

Forum posts: 1172
File comments: 1138
Uploads: 31
Originally posted by Allez
Can you post an error? I made no changes in it
No errors, but works fine when I change this:

Code:
	elseif event == "VARIABLES_LOADED" then
		if config["Hide title"] then MainFrame.title:Hide() end
		MainFrame:SetSize(config["Width"], height)
To this:

Code:
		if config["Hide title"] then MainFrame.title:Hide() end
		MainFrame:SetSize(config["Width"], height)
Essentially setting size on an ADDON_LOADED event rather than VARIABLES_LOADED.
Haleth is offline Report comment to moderator  
Reply With Quote
Unread 05-04-11, 12:09 PM  
Arodan
A Kobold Labourer

Forum posts: 1
File comments: 9
Uploads: 0
Where i have to put which code to deactivate or hide al damage meter when in battleground and arena?
Arodan is offline Report comment to moderator  
Reply With Quote
Unread 05-03-11, 11:05 PM  
Allez
A Kobold Labourer
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 143
Uploads: 4
Originally posted by Haleth
Hi there, thanks for the update. Any chance you'll support LoadAddOn again? Doesn't work this version.
Can you post an error? I made no changes in it
Allez is offline Report comment to moderator  
Reply With Quote
Unread 05-03-11, 11:02 PM  
Allez
A Kobold Labourer
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 143
Uploads: 4
Originally posted by Kigall
I am pretty bad with code and was wondering what lines to change in the lua document to change the size of the frame
Code:
local barheight = 14
local spacing = 1
local maxbars = 8
local width, height = 125, maxbars*(barheight+spacing)-spacing
Allez is offline Report comment to moderator  
Reply With Quote
Post A Reply



Category Jump:

Support AddOn Development!

You have just downloaded by the author . If you like this AddOn why not consider supporting the author? This author has set up a donation account. Donations ensure that authors can continue to develop useful tools for everyone.