Bug #29578

Killed XEH does not fire a majority of the time when respawn mode is set to 1 (aka BIRD).

Added by Nou over 3 years ago. Updated over 3 years ago.

Status:Feedback Start date:03/24/2012
Priority:Low Due date:04/27/2012
Assignee:Nou % Done:

0%

Category:XEH
Target version:-
Component:XEH Killed EH Affected Version:
Close Reason:Cannot reproduce

Description

I have seen it fire once and never again after that when a missions respawn mode is set to seagull mode.

Manually adding a Killed EH in the mission via addEventHandler works 100% of the time.

History

Updated by Sickboy over 3 years ago

  • Status changed from New to Feedback
  • Assignee changed from Sickboy to Nou

What kind of killed event is it?
PlayerKilled, ClientKilled, ServerKilled, just Killed?

Updated by Nou over 3 years ago

Just killed.

#define XEH_FUNC_NORMAL(A) SLX_XEH_STR_##A = 'Extended_##A##EH'; SLX_XEH_EH_##A = { { _this call _x }forEach((_this select 0)getVariable SLX_XEH_STR_##A) }

This is most likely the issue, in that when you are killed in Seagull respawn mode the player object is no longer the previous player object. It loses all its set variables.

Updated by Sickboy over 3 years ago

Thanks. Please provide a basic repro mission with the bare minimum required to repro the issue.

Updated by Sickboy over 3 years ago

  • Priority changed from Urgent to Low

Updated by Sickboy over 3 years ago

  • Due date set to 03/29/2012

Updated by Sickboy over 3 years ago

??

Updated by Sickboy over 3 years ago

I guess this problem could be tackled by using global / other object variables, since CBA stores the XEH's also in a cache, perhaps this could be used instead of the object variables.

The only issue I can foresee so far is the handler of player variants of eventhandlers, but that shouldn't be too hard to workaround,
and it's somewhat a tall order ;)

Updated by Sickboy over 3 years ago

Also object variables normally stay on an object for a short while after death, unless the object is deleted e.g by some cleaner logic.
But perhaps there's something specific about bird respawn.

Updated by Sickboy over 3 years ago

  • Due date changed from 03/29/2012 to 04/27/2012
  • Close Reason set to Cannot reproduce

How to reproduce the issue? 2 players on an ingame or deddy server?

Updated by Nou over 3 years ago

Yea, I know for sure it happens when you have a Killed XEH in an addon (not sure if it works the same from the description.ext) for the class tree of Man and a mission where the respawn mode is set to BIRD mode. When you die it rarely fires, maybe 1 out of 10 times, seems like a race condition. Needs to be on a server, doesn't matter if its dedicated or not, I was reproducing on self-hosted, same issue was appearing on dedicated servers elsewhere, with at least 2 people so the mission doesn't automatically end.

A normal BIS killed EH added in the mission works fine.

Updated by Sickboy over 3 years ago

Thanks, could you please attach your test mission because for the life of me im not getting into Seagull at all on self hosted, and can't repro :S lol :)

Updated by Nou over 3 years ago

I'll try to work on a repro today, but might have to leave for the weekend before I can finish it.

Updated by Sickboy over 3 years ago

Thanks!

Updated by Nou over 3 years ago

Hrmm, I actually can't get it to reproduce now on a single machine after creating my own addon for it. It was for sure not firing in ACRE sometimes... That or something in recent CBA fixed it?

Updated by Sickboy over 3 years ago

Can't think of anything that has changed that would influenced, but maybe.
I guess we'll have to try it on a deddy with some more players, and perhaps some load?

Updated by Nou over 3 years ago

I was reliably able to reproduce it on two computers (the test I did earlier today was on one computer with multiple instances) using the Killed XEHs that are in ACRE (none of them would fire).

I'll try that out, probably on Sunday.

Also available in: Atom PDF