This is definitely a conflit between CBaseEntityOutput::FireOutput hooks. If you are sure that SP is loaded after SM, then that means the plugin LaserFences is loaded later on. To confirm it, you could try to disable that hook for SP. To do so, delete everything after line 41 into ../addons/source-python/packages/source-python/listeners/_entity_output.py. Or replace the file with the one attached to this post.

So SP must be loaded after SM.LaserFences in included in TeamGames.smx. SM plugins cannot be loaded all at once?I will try your solution as soon as possible. But what if I need that code in _entity_output.py in the future?

gorgitko wrote:So SP must be loaded after SM.LaserFences in included in TeamGames.smx. SM plugins cannot be loaded all at once?

What I meant by that, is that while SP might be loaded after SM, that LaserFence plugin might be loaded after SP so their signature no longer match since SP has inserted its JMP already.

gorgitko wrote:I will try your solution as soon as possible. But what if I need that code in _entity_output.py in the future?

This is only to confirm it at first. A solution could be that we implement a way that only register the hook when a listener is registered on our end. That way, loading SP plugins after server boot (via server.cfg, for example) would give SM enough time to register its own (assuming at least one SM plugin registering it prior said SP plugin is loaded stay loaded at all time). Ideally, all conflicts would be solved if they were also looking for hooked signatures as fallback when their original ones are not found.

So it's output described here? I have nearly zero experience with SDK, so I just have feeling that entity output is very important. But for now I am not using any entity-manipulating SP plugin so it's OK.

# ============================================================================# >> CALLBACKS# ============================================================================if _fire_output is not None: @PreHook(BaseEntityOutput.fire_output) def _pre_fire_output(args): """Called when an output is about to be fired.""" if not on_entity_output_listener_manager: return