Dunno where else to post this. Looks like This is the only Official forum for Addon stuff. This post is going to be pretty technical, and probably wont make sense unless you are an addon developer/programmar
I am an Addon developer (Of the addon Kill Counter, which can be downloaded on esoui and curse) and my addon specifically uses the event EVENT_COMBAT_EVENT. My addon attempts to track player kills in cyrodiil, and does this with varying efficiency. Sometimes, I can track 90% of all the kills gotten, and sometimes i can barely get about 50%. Through testing, I have figured out this is probably due to the following.
one of the results of this event, and the one I use to actually determing if you've gotten a player kill, is ACTION_RESULT_KILLING_BLOW, which is exactly the result I want (procs when you get a kill on a player, regardless of if you are the actual one getting the killing blow. I can also track when you get a killing blow (actually, with 100% accuracy) but anyways...) but this event seems to happen inconsistently as far as killing blows are concerned.
When you get the actual killing blow (whether in a big group or a 1v1) The event and result will always happen right when you get the kill. However, when you don't get the killing blow, things start to get strange. One of the strangest things is the fact that non killing blow kills come at a varying delay. At first, this problem stumped me, but after much testing, I have figured out this event (EVENT_COMBAT_EVENT with a ACTION_RESULT_KILLING_BLOW result) is actually fired when the enemy player RESSURECTS (rather than when they are actually killed, like when you get the killing blow yourself) at some kind of graveyard. I assume it works with any graveyard, whether at a keep or a forward camp, but I have no way to verify this. This results in my addon seeing the kill for a player up to 30secs-5 minutes after the actual kill happens (I have only seen the 5 minute one once, but assume it was because a player waited for 5 minutes before finally deciding to rez.)
However, this seems to be true only when you are out of combat. And if the player rezzes while you are fighting, the kill,and any others for that matter, will all fire the event once you have Exited combat. To test this, you can download the Kill Counter addon
Here and once in game, type the command /kc ooc. This will have Kill Counter show chat messages when you are out of combat. Kill a few players, and you will probably notice that when you go out of combat, you get non Killing Blow kills.
Furthermore, when a player is rezzed by another, it seems that the EVENT_COMBAT_EVENT with the killing blow result doesn't proc at all. This results in kills that my addon simply cannot track because the API doesn't report the kills. This is a bit frustrating, but I take solace in the fact that its an API problem (I think at least...) and not a problem with my code. However, I would really love for you guys to change this so that my addon can be 100% accurate.
I have a feeling problem is due to another event EVENT_UNIT_DEATH_STATE_CHANGED. As the delayed EVENT_COMBAT_EVENT events with a killing blow result would happen at the same time as EVENT_UNIT_DEATH_STATE_CHANGED for the player when they rezzed. I may be way off base here, and I am well aware that correlation != (or ~= i suppose) causation
Also, as a side note, it seems (due to the limitations and restraints on the API) it would be impossible to track kills gotten by group members that the Kill quest would count for you. This is a minor point I don't care much about, as I'm not too interested in tracking group kills, but in case you guys weren't aware.
Anyways, I am officially requesting you guys do one of the two following things (either one is fine, but I will mark my prefered option)
Create an event (prehaps called EVENT_ON_PLAYER_KILL) that fires when you kill an enemy player in Cyrodiil. Basically, whatever event or combination of events that procs Kills for the Kill Enemy Players quest would proc this event. Please pass as parameters to this function all the info about the player (IE class, name, alliance, level/vlevel, etc.), but if you really just don't want to pass that, just the killed players name would be fine. I guess, as I can get player information from the unit tag once the player targets the enemy.
This is my prefered option
Fix the EVENT_COMBAT_EVENT so that it procs reliably. I would be perfectly ok with this because I wouldn't have to change any of my code, but I would still prefer the above.
I realize you guys wanted to limit the API and hide certain information so that certain addons that become needed or detrimental in other MMOs (like DPS meters and what not) wouldn't be possible, but its ridiculous that a player can't track his own kills. On some days, I could more accurately track kills by counting them aloud. The delay is what really bothers me, as its confusing the get kills on enemies you killed 2 minutes ago, especially if you get them right before another fight (or during)
However, I also realize I could be doing this completely wrong, and if thats the case, please tell me how I would accomplish my goal and then ignore this post!