Download
(30Kb)
Download
Updated: 09-11-13 08:49 AM
Pictures
File Info
Updated:09-11-13 08:49 AM
Created:11-02-10 11:45 AM
Downloads:33,378
Favorites:118
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)


Post A Reply Comment Options
Unread 10-17-11, 07:43 PM  
Louna
A Kobold Labourer

Forum posts: 1
File comments: 33
Uploads: 0
Hi i really like this addon and i will add it in my ui.
Thx for sharing
Last edited by Louna : 10-17-11 at 09:49 PM.
Report comment to moderator  
Reply With Quote
Unread 09-17-11, 02:37 AM  
deemaxm
A Deviate Faerie Dragon
AddOn Author - Click to view AddOns

Forum posts: 19
File comments: 18
Uploads: 5
I rly like this addon since its way slimmer than my old fat skada. Only think i didnt managed to configure is folowing :
I would like it to show only dps written as text when in dps mode.
Atm its like this :
Name--Damage Done-DPS

and i would like it to be like:
Name--DPS

But the order and length of bar should still reprezent damage done. So i just want to read damage per second as text.

Tryed to config this in .lua but didnt managed to make it work
Last edited by deemaxm : 09-17-11 at 02:38 AM.
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
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 = "中斷"
}
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.
Report comment to moderator  
Reply With Quote
Unread 08-29-11, 08:40 AM  
Maxen
A Fallenroot Satyr

Forum posts: 23
File comments: 235
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 !
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: 1710
File comments: 1222
Uploads: 43
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"
}
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)
Report comment to moderator  
Reply With Quote
Unread 07-01-11, 10:39 AM  
Haleth
This Space For Rent
 
Haleth's Avatar
AddOn Author - Click to view AddOns

Forum posts: 1173
File comments: 1146
Uploads: 17
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.
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
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
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.
Report comment to moderator  
Reply With Quote
Unread 06-28-11, 08:18 AM  
Haleth
This Space For Rent
 
Haleth's Avatar
AddOn Author - Click to view AddOns

Forum posts: 1173
File comments: 1146
Uploads: 17
Any chance for a 4.2 update?
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?
Report comment to moderator  
Reply With Quote
Unread 05-07-11, 05:44 AM  
Haleth
This Space For Rent
 
Haleth's Avatar
AddOn Author - Click to view AddOns

Forum posts: 1173
File comments: 1146
Uploads: 17
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.
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?
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.