Target5150 / MoYu_Server_Stupid_Plugins

L4D2 Target Cat Project
GNU General Public License v3.0
85 stars 21 forks source link

TLS vocalize restore #7

Closed lunatixxx closed 2 years ago

lunatixxx commented 3 years ago

There is a conflict between your plugin and anti spam vocalize who works with sceneprocessor. Vocalize line limits in a dozen of seconds: without plugin -> 4 normally with plugin -> 2

jensewe commented 3 years ago

Not sure if there's much can be done on this one. Could you upload a copy of the anti-spam plugin that you're using?

lunatixxx commented 3 years ago

https://forums.alliedmods.net/showthread.php?t=241588

jensewe commented 3 years ago

Theoretically there shouldn't be conflict between these two, as initiator defaults to -1 in PerformScene, thus being ignored in anti-flood plugin. Maybe I should test it on my end for sure.

jensewe commented 2 years ago

Sorry for a long time investigation im not lazy

For now I don't think I could offer a solid solution, while there're some tricks to avoid this issue.

This issue is somehow related to how sourcemod forward works. In short, it can be tackled if you try loading the Vocalize Restore plugin after the Anti-Flood plugin.

There're another 2 ways that I could think of:

  1. Ask the sceneprocessor author to add a forward of OnVocalizeCommand_Post, or sourcemod developers to add methods to post-hook command, and move my stuff in there.
  2. Just do Plugin_Stop in OnVocalizeCommand in my plugin, so the manual performed scenes will somehow be considered as "world" or non-self-initiated scenes.

Neither of them is good in my opinion, but the second one is viable if people always use that Anti-Flood plugin, since I'm not sure how other similar plugins work (especially those not relying on sceneprocessor), and whether this change will break them.

I might commit a change in the second way later, see if it will help then.

Edit: Reminded myself of the initiator issue, probably there's something to do with sceneprocessor as well.

jensewe commented 2 years ago

Should be all good with the latest version, as it won't produce another vocalization anymore.

lunatixxx commented 2 years ago

I tested now and noticed that the vocalizer use english lines even with other langages. I know it's a problem since last stand, nothing we can do?