Einherj 10 Posted June 8, 2022 I'm trying to get an event to trigger when a weapon is fired. I have added an EventHandlerManagerComponent and then my own scripted component (code below) to a cloned m16 weapon entity. The "weapontestPOSTINIT", "weapontestEINIT" and "weapontestADDEVENT" are all printed after initialization. However, when I pick up the weapon and fire it, the event method is not run and "testEVENT" is not printed. What's wrong with my setup? class EHJ_WeaponEventComponentClass:ScriptComponentClass {}; class EHJ_WeaponEventComponent: ScriptComponent { private EventHandlerManagerComponent m_EventHandlerManagerComponent; override protected void OnPostInit(IEntity owner) { super.OnPostInit(owner); owner.SetFlags(EntityFlags.ACTIVE, true); SetEventMask(owner, EntityEvent.ALL); Print("weapontestPOSTINIT"); } override protected void EOnInit(IEntity owner) { Print("weapontestEINIT"); m_EventHandlerManagerComponent = EventHandlerManagerComponent.Cast(owner.FindComponent(EventHandlerManagerComponent)); if (m_EventHandlerManagerComponent) { m_EventHandlerManagerComponent.RegisterScriptHandler("OnAmmoCountChanged", this, this.Event_OnAmmoCountChanged, true); Print("weapontestADDEVENT"); } } void ~EHJ_WeaponEventComponent() { if (m_EventHandlerManagerComponent) m_EventHandlerManagerComponent.RemoveScriptHandler("OnAmmoCountChanged", this, this.Event_OnAmmoCountChanged, true); } void Event_OnAmmoCountChanged(BaseWeaponComponent currentWeapon, BaseMuzzleComponent currentMuzzle, BaseMagazineComponent magazine, int ammoCount, bool isChambered) { Print("testEVENT"); } }; Share this post Link to post Share on other sites