AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   [ H3LP ] Module hooks (https://forums.alliedmods.net/showthread.php?t=308781)

CrazY. 07-03-2018 14:29

[ H3LP ] Module hooks
 
Hello, I'm with a simple doubt. If the module is running in server, all the hooks that I don't have registered is called anyway?

I'm asking this because developers said that "FM_AddToFullPack" causes lag in server, but I see in source-code of the half-life that this is hook called too, so if it's called in source of the game, why cause lag if I register it?

Code:
/* AddToFullPack Return 1 if the entity state has been filled in for the ent and the entity will be propagated to the client, 0 otherwise state is the server maintained copy of the state info that is transmitted to the client a MOD could alter values copied into state to send the "host" a different look for a particular entity update, etc. e and ent are the entity that is being added to the update, if 1 is returned host is the player's edict of the player whom we are sending the update to player is 1 if the ent/e is a player and 0 otherwise pSet is either the PAS or PVS that we previous set up.  We can use it to ask the engine to filter the entity against the PAS or PVS. we could also use the pas/ pvs that we set in SetupVisibility, if we wanted to.  Caching the value is valid in that case, but still only for the current frame */ int AddToFullPack( struct entity_state_s *state, int e, edict_t *ent, edict_t *host, int hostflags, int player, unsigned char *pSet ) { // A lot of code }

klippy 07-03-2018 16:30

Re: [ H3LP ] Module hooks
 
Calling into Pawn VM is what takes most of the processing power, it's not the same as calling a C function, and with AddToFullPack that can happen thousands of times per second. Anyway it's not as bad as people make it seem, just don't do any heavy processing in there.

Natsheh 07-04-2018 04:46

Re: [ H3LP ] Module hooks
 
Clarification :-

Dont use alot of natives, this forward has particular natives for just it, try using what you can.

Create static variables instead of new.

Try avoid creating any array inside of it by using bitsum if its achievable.


All times are GMT -4. The time now is 12:51.

Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.