What's new
  • Visit Rebornbuddy
  • Visit Panda Profiles
  • Visit LLamamMagic
  • Visit Resources
  • Visit Downloads
  • Visit Portal

Get LastDamage from Actors (damage meter)

repka3

New Member
Joined
Aug 17, 2013
Messages
15
Reaction score
0
[Core bug?]Get LastDamage from Actors (damage meter)

Hi all,
i'm trying to develop a plugin who track damage done by main actor and by pets/sentry for show in a tab min/max/avg for every type of actors.
 
Last edited:
NVM found it, only problem is:

Code:
 try {
                     int lastDamageACD=u.CommonData.GetAttribute<int>(ActorAttributeType.LastDamageACD);
                     ulong amount = u.CommonData.GetAttribute<ulong>(ActorAttributeType.LastDamageAmount);
                     ulong amount2 = u.CommonData.GetAttribute<ulong>(ActorAttributeType.LastDamageMainActor);
                     if (lastDamageACD == -1 || lastDamageACD == 0) continue;
                     
                     Logger.Log("{0} attackedby  {1} per {2} mainactor:{3}", u.Name, lastDamageACD,amount,amount2);
                     damagedic.Add(lastDamageACD,amount);
                     }


[DamageStats] skeleton_twoHander_B-258578 attackedby 199230271 per 18446744073709551615 mainactor:18446744073709551615
[DamageStats] DH_Companion_RuneC-246288 attackedby 410321574 per 18446744073709551615 mainactor:18446744073709551615
[DamageStats] skeleton_twoHander_B-258577 attackedby 199230271 per 18446744073709551615 mainactor:18446744073709551615
[DamageStats] count lastDamageACDList:2
[DamageStats] DH_Companion_RuneC-246288 attackedby 831914155 per 18446744073709551615 mainactor:18446744073709551615
[DamageStats] Succubus_B-267433 attackedby 824967924 per 18446744073709551615 mainactor:18446744073709551615
[DamageStats] Succubus_B-267434 attackedby 824967924 per 18446744073709551615 mainactor:18446744073709551615
[DamageStats] Succubus_B-267422 attackedby 824967924 per 18446744073709551615 mainactor:18446744073709551615

CommonData.GetAttribute<ulong>(ActorAttributeType.LastDamageAmount) it's incorrect. Tryed double,float and get NaN.

Bug?
 
Last edited:
hello repka3,
how is that plugin going?
Im was trying to find something similiar when i stumped in your post.
I know there is a non DB tool that does this but i dont trust the injection method. i rather stick to DB and wait for such feature.

Thanks
 
hello repka3,
how is that plugin going?
Im was trying to find something similiar when i stumped in your post.
I know there is a non DB tool that does this but i dont trust the injection method. i rather stick to DB and wait for such feature.

Thanks

Hi.. I managed to accomplish this using Enigma Framework, i'm about to convert it for DB. In DB i think will not be extremely accurate due to "not so high tick/sec".
I got 3 value:
current dps
max dps
max single hit
and we can add some more like some stats for elite (example max single hit on Elite/boss/champ only).

The damage meter use just the hitpoints read from all enemy (near and far) ,due to impossible read some other stats. But with enigma i loss quite no damage during reading (expect for monster who popup but this is another story).
 
Last edited:
I read alot about damage and how ppl say they dont need them.. ppl say this is not wow.
But what i dont get.. is.. if you are in a clan G-Rifting with clan members. its Freaking usefull to know the damage of you team mates to know who is slacking and who does hold the party back.
I know this is self damage. but its a step on the right direction IMO.

Any way if you need some help coding, let me know where your at and ill help on the C#.

once again, thanks.
 
If nothing change at core level, we will never have a "multiplayer damage meter".. Why? Easy, consider this:

Code:
[DamageStats] ---DiaUnit Dump---
[DamageStats] Name:FallenGrunt_B-6256
[DamageStats] ActorType:Monster
[DamageStats] ACDGuid:-2102001472
[DamageStats] ActorSNO:4083
[DamageStats] RActorGuid:-1904738175
[DamageStats] WorldDynamicId:2000224267
[DamageStats] PetType:-1
[DamageStats] PetOwner:-1
[DamageStats] TeamId:10
[DamageStats] SummonedByACDId:-1
[DamageStats] SummonedBySNO:-1
[DamageStats] SummonerId:-1
[DamageStats] Summoner.Name:lacksmith-6
[DamageStats] MonsterInfo.MonsterType:Demon
[DamageStats] BaseAddress:542007892
[DamageStats] HirelingType:None
[DamageStats] HitpointsCurrent:3579718
[DamageStats] HitpointsCurrentPercent:0.09388532
[B][DamageStats] LastDamageACD:-2071854206
[DamageStats] LastDamageACD:DH_elementalArrow_impact-7234[/B]
[DamageStats] LastDamageAmount:NaN
[DamageStats] LastDamageMainActor:NaN

Then:
Code:
[DamageStats] ---DiaUnit Dump---
[B][DamageStats] Name:DH_elementalArrow_impact-5610
[DamageStats] ActorType:ServerProp[/B]
[DamageStats] ACDGuid:-2118188932
[DamageStats] ActorSNO:131672
[DamageStats] RActorGuid:-1947074448
[DamageStats] WorldDynamicId:2000224267
[DamageStats] PetType:Exception
[DamageStats] PetOwner:Exception
[DamageStats] TeamId:Exception
[DamageStats] SummonedByACDId:Exception
[DamageStats] SummonedBySNO:Exception
[DamageStats] SummonerId:Exception
[DamageStats] Summoner.Name:Exception
[DamageStats] MonsterInfo.MonsterType:Ally
[DamageStats] BaseAddress:541989056
[DamageStats] HirelingType:Exception
[DamageStats] HitpointsCurrent:Exception
[DamageStats] HitpointsCurrentPct:Exception
[DamageStats] LastDamageACD:Exception
[DamageStats] Actors.GetACDById Name:Exception
[DamageStats] LastDamageAmount Name:Exception
[DamageStats] LastDamageMainActor Name:Exception


It's impossible to link this elemental arrow to sentry who fired it, to summoer id. So we can't assigne damage to right player :( I spent an entire day trying to, but not success cause server prop haven't properties to do it..

edit: I paste another elemental arrow impact, instead of the one referenced by lastdamageacd, but who care, same thing happen..
 
Last edited:
well done m8.
That is true, but if you have only one DH in your party that will do the trick. might not be accurate but definitely will help.
I kinda doubt they will change the game core to achieve this but we have to live with the limitations.
 
Back
Top