I used MultiForward for my Weapon Menu System and notice some time it cause crash on server or really huge lag spike if a lot of player try to buy weapons at the same time.
I thought it was because of it have to go though 20+ plugins using that forward and executed too many time (3 execute per player in < 1 second + chance of 10+ players press buy and execute at short period of time)
So did some research and found callfunc_begin function which directly call function from specific plugins. With PluginID and FunctionID can be sent via "Weapon Register Native"(like ZP Class Register), in theory, it would be great for Weapon Menu System.
But still, it is my own assumption. I am not sure which one is better to use in this situation so I want to hear veteran opinion on this.
P/S: Some said that callfunc_begin is basically native so why not use native?
- Between replacing 2 parameters getting from Info Param of the menu item and have to create a .inc file, register_native, making a switch between menu item that lead to each native for each specific weapon? the first one definitely cleaner.