; Ham Sandwich module config file. ; ; IMPORTANT: It is highly suggested that you do not modify this file unless ; you know _exactly_ what you are doing! ; ; NOTE: Just because a mod contains a function does not means it will work ; as expected. If, for example, HamKilled() does not work as you think ; it should in Counter-Strike DO NOT FILE A BUG REPORT. This just ; exposes the function for you, whether or not it works, or how it ; works is up to plugin authors to figure out. ; ; NOTE: If a mod is missing keys for a certain native, that particular native ; will not be loaded! Example: Say CS is missing the "takedamage" index ; but has the use and pev indexes. The HamUse and HamePdataCbase natives ; will be registered, but the HamTakeDamage native will not register. ; In addition, any attempts to hook a function who's key is missing will ; result in the plugin failing. ; ; NOTE: The base key is only needed for the linux configs. ; ; NOTE: Any keys that begin with a modname (eg: cstrike_restart) will, ; obviously, only work on that mod and all mirrors of it (eg: czero). ; ; NOTE: If you change this file while the module is already loaded, you will ; need to restart the server for the changes to take effect. Changes to ; this file before the module is loaded will take effect when the module ; loads. ; ; NOTE: All of these offsets and settings are for the latest (at the time of ; release) legitimate version of the mod. However, there is a _chance_ ; that they will work on older (and even newer) versions. ; eg: If they work on non-Steam CS 1.6 this is coincidental, if they do ; not work on non-Steam CS 1.6 this will not be officially fixed. ; ; Mirrors: These take the name of one mod, and copy all of its data to another ; name. An example of a use for this would be cstrike and czero: they ; use the same binary so all of its vtable offsets are guaranteed to ; be identical. Mirrors should always come first in the file! ; ; Version: $Id$ @mirror cstrike czero @mirror ns nsp @mirror esf esf_openbeta ; TODO: check these - all are estimates @section cstrike linux pev 0 base 0x94 spawn 2 precache 3 keyvalue 5 objectcaps 8 activate 9 setobjectcollisionbox 10 classify 11 deathnotice 12 traceattack 13 takedamage 14 takehealth 15 killed 16 bloodcolor 17 tracebleed 18 istriggered 19 mymonsterpointer 20 mysquadmonsterpointer 21 gettogglestate 22 addpoints 23 addpointstoteam 24 addplayeritem 25 removeplayeritem 26 giveammo 27 getdelay 28 ismoving 29 overridereset 30 damagedecal 31 settogglestate 32 startsneaking 33 stopsneaking 34 oncontrols 35 issneaking 36 isalive 37 isbspmodel 38 reflectgauss 39 hastarget 40 isinworld 41 isplayer 42 isnetclient 43 teamid 44 getnexttarget 45 think 46 touch 47 use 48 blocked 49 respawn 50 updateowner 51 fbecomeprone 52 center 53 eyeposition 54 earposition 55 bodytarget 56 illumination 57 fvisible 58 fvecvisible 59 player_jump 78 player_duck 79 player_prethink 80 player_postthink 81 player_getgunposition 82 player_shouldfadeondeath 68 player_impulsecommands 84 player_updateclientdata 83 item_addtoplayer 61 item_addduplicate 62 item_getiteminfo 63 item_candeploy 64 item_candrop 65 item_deploy 66 item_canholster 68 item_holster 69 item_updateiteminfo 70 item_preframe 71 item_postframe 72 item_drop 73 item_kill 74 item_attachtoplayer 75 item_primaryammoindex 76 item_secondaryammoindex 77 item_updateclientdata 78 item_getweaponptr 79 item_itemslot 81 weapon_extractammo 82 weapon_extractclipammo 83 weapon_addweapon 84 weapon_playemptysound 85 weapon_resetemptysound 86 weapon_sendweaponanim 87 weapon_isusable 88 weapon_primaryattack 89 weapon_secondaryattack 90 weapon_reload 91 weapon_weaponidle 92 weapon_retireweapon 93 weapon_shouldweaponidle 94 weapon_usedecrement 95 cstrike_restart 4 cstrike_roundrespawn 86 @end @section cstrike windows pev 4 base 0x0 spawn 0 precache 1 keyvalue 3 objectcaps 6 activate 7 setobjectcollisionbox 8 classify 9 deathnotice 10 traceattack 11 takedamage 12 takehealth 13 killed 14 bloodcolor 15 tracebleed 16 istriggered 17 mymonsterpointer 18 mysquadmonsterpointer 19 gettogglestate 20 addpoints 21 addpointstoteam 22 addplayeritem 23 removeplayeritem 24 giveammo 25 getdelay 26 ismoving 27 overridereset 28 damagedecal 29 settogglestate 30 startsneaking 31 stopsneaking 32 oncontrols 33 issneaking 34 isalive 35 isbspmodel 36 reflectgauss 37 hastarget 38 isinworld 39 isplayer 40 isnetclient 41 teamid 42 getnexttarget 43 think 44 touch 45 use 46 blocked 47 respawn 48 updateowner 49 fbecomeprone 50 center 51 eyeposition 52 earposition 53 bodytarget 54 illumination 55 fvisible 56 fvecvisible 57 player_jump 76 player_duck 77 player_prethink 78 player_postthink 79 player_getgunposition 80 player_shouldfadeondeath 66 player_impulsecommands 82 player_updateclientdata 81 item_addtoplayer 59 item_addduplicate 60 item_getiteminfo 61 item_candeploy 62 item_candrop 63 item_deploy 64 item_canholster 66 item_holster 67 item_updateiteminfo 68 item_preframe 69 item_postframe 70 item_drop 71 item_kill 72 item_attachtoplayer 73 item_primaryammoindex 74 item_secondaryammoindex 75 item_updateclientdata 76 item_getweaponptr 77 item_itemslot 79 weapon_extractammo 80 weapon_extractclipammo 81 weapon_addweapon 82 weapon_playemptysound 83 weapon_resetemptysound 84 weapon_sendweaponanim 85 weapon_isusable 86 weapon_primaryattack 87 weapon_secondaryattack 88 weapon_reload 89 weapon_weaponidle 90 weapon_retireweapon 91 weapon_shouldweaponidle 92 weapon_usedecrement 93 cstrike_restart 2 cstrike_roundrespawn 84 @end @section dod linux pev 0 base 0x154 spawn 5 precache 6 keyvalue 7 objectcaps 10 activate 11 objectcollisionbox 14 classify 15 deathnotice 16 traceattack 19 takedamage 20 takehealth 21 killed 22 bloodcolor 23 tracebleed 24 mymonsterpointer 25 mysquadmonsterpointer 26 gettogglestate 27 addpoints 28 addpointstoteam 29 addplayeritem 30 removeplayeritem 31 giveammo 32 getdelay 33 ismoving 34 overridereset 35 damagedecal 36 settogglestate 37 startsneaking 38 stopsneaking 39 oncontrols 40 issneaking 41 isalive 42 isbspmodel 43 reflectgauss 44 hastarget 45 isinworld 46 isplayer 47 isnetclient 48 teamid 49 getnexttarget 50 touch 51 think 52 use 53 blocked 54 respawn 55 updateowner 56 fbecomeprone 57 center 58 eyeposition 59 earposition 60 bodytarget 61 illumination 62 fvisible 63 fvecvisible 64 player_jump 136 player_duck 137 player_prethink 134 player_postthink 135 player_getgunposition 128 player_shouldfadeondeath 68 player_impulsecommands 139 player_updateclientdata 138 item_addtoplayer 66 item_addduplicate 67 item_getiteminfo 68 item_candeploy 69 item_candrop 72 item_deploy 70 item_canholster 75 item_holster 76 item_updateiteminfo 77 item_preframe 78 item_postframe 79 item_drop 80 item_kill 81 item_attachtoplayer 82 item_primaryammoindex 83 item_secondaryammoindex 84 item_updateclientdata 85 item_getweaponptr 86 item_itemslot 87 weapon_extractammo 88 weapon_extractclipammo 89 weapon_addweapon 90 weapon_playemptysound 91 weapon_resetemptysound 92 weapon_sendweaponanim 93 weapon_isusable 94 weapon_primaryattack 104 weapon_secondaryattack 105 weapon_reload 106 weapon_weaponidle 107 weapon_retireweapon 108 weapon_shouldweaponidle 109 weapon_usedecrement 110 dod_roundrespawn 2 dod_roundrespawnent 3 dod_roundstore 4 dod_areasetindex 12 dod_areasendstatus 13 dod_getstate 17 dod_getstateent 18 @end @section dod windows pev 4 base 0x0 spawn 3 precache 4 keyvalue 5 objectcaps 8 activate 9 objectcollisionbox 12 classify 13 deathnotice 14 traceattack 17 takedamage 18 takehealth 19 killed 20 bloodcolor 21 tracebleed 22 mymonsterpointer 23 mysquadmonsterpointer 24 gettogglestate 25 addpoints 26 addpointstoteam 27 addplayeritem 28 removeplayeritem 29 giveammo 30 getdelay 31 ismoving 32 overridereset 33 damagedecal 34 settogglestate 35 startsneaking 36 stopsneaking 37 oncontrols 48 issneaking 39 isalive 40 isbspmodel 41 reflectgauss 42 hastarget 43 isinworld 44 isplayer 45 isnetclient 46 teamid 47 getnexttarget 48 touch 49 think 50 use 51 blocked 52 respawn 53 updateowner 54 fbecomeprone 55 center 56 eyeposition 57 earposition 58 bodytarget 59 illumination 60 fvisible 61 fvecvisible 62 player_jump 134 player_duck 135 player_prethink 132 player_postthink 133 player_getgunposition 126 player_shouldfadeondeath 66 player_impulsecommands 137 player_updateclientdata 136 item_addtoplayer 64 item_addduplicate 65 item_getiteminfo 66 item_candeploy 67 item_candrop 70 item_deploy 68 item_canholster 73 item_holster 74 item_updateiteminfo 75 item_preframe 76 item_postframe 77 item_drop 78 item_kill 79 item_attachtoplayer 80 item_primaryammoindex 81 item_secondaryammoindex 82 item_updateclientdata 83 item_getweaponptr 84 item_itemslot 85 weapon_extractammo 86 weapon_extractclipammo 87 weapon_addweapon 88 weapon_playemptysound 89 weapon_resetemptysound 90 weapon_sendweaponanim 91 weapon_isusable 92 weapon_primaryattack 102 weapon_secondaryattack 103 weapon_reload 104 weapon_weaponidle 105 weapon_retireweapon 106 weapon_shouldweaponidle 107 weapon_usedecrement 108 dod_roundrespawn 0 dod_roundrespawnent 1 dod_roundstore 2 dod_areasetindex 10 dod_areasendstatus 11 dod_getstate 15 dod_getstateent 16 @end ; TFC Does not have the following "standard" entries in its vtable: ; addpoints, addpointstoteam @section tfc linux pev 0 base 0x470 spawn 3 precache 4 keyvalue 5 objectcaps 8 activate 9 setobjectcollisionbox 10 classify 11 deathnotice 12 traceattack 13 takedamage 14 takehealth 15 killed 16 bloodcolor 17 tracebleed 18 istriggered 19 mymonsterpointer 20 mysquadmonsterpointer 21 gettogglestate 22 addplayeritem 23 removeplayeritem 24 giveammo 25 getdelay 26 ismoving 27 overridereset 28 damagedecal 29 settogglestate 30 startsneaking 31 stopsneaking 32 oncontrols 33 issneaking 34 isalive 35 isbspmodel 36 reflectgauss 37 hastarget 38 isinworld 39 isplayer 40 isnetclient 41 getnexttarget 43 think 44 touch 45 use 46 blocked 47 respawn 48 updateowner 49 fbecomeprone 50 center 51 eyeposition 52 earposition 53 bodytarget 54 illumination 55 fvisible 56 fvecvisible 57 tfc_engineeruse 58 tfc_finished 59 tfc_empexplode 60 tfc_calcempdmgrad 61 tfc_takeempblast 62 tfc_empremove 63 tfc_takeconcussionblast 64 tfc_concuss 65 @end @section tfc windows pev 4 base 0x0 spawn 1 precache 2 keyvalue 3 objectcaps 6 activate 7 setobjectcollisionbox 8 classify 9 deathnotice 10 traceattack 11 takedamage 12 takehealth 13 killed 14 bloodcolor 15 tracebleed 16 istriggered 17 mymonsterpointer 18 mysquadmonsterpointer 19 gettogglestate 20 addplayeritem 21 removeplayeritem 22 giveammo 23 getdelay 24 ismoving 25 overridereset 26 damagedecal 27 settogglestate 28 startsneaking 29 stopsneaking 30 oncontrols 31 issneaking 32 isalive 33 isbspmodel 34 reflectgauss 35 hastarget 36 isinworld 37 isplayer 38 isnetclient 39 tfc_dbgetitemname 40 getnexttarget 41 think 42 touch 43 use 44 blocked 45 respawn 46 updateowner 47 fbecomeprone 48 center 49 eyeposition 50 earposition 51 bodytarget 52 illumination 53 fvisible 54 fvecvisible 55 tfc_engineeruse 56 tfc_finished 57 tfc_empexplode 58 tfc_calcempdmgrad 59 tfc_takeempblast 60 tfc_empremove 61 tfc_takeconcussionblast 62 tfc_concuss 63 @end ; ns's linux binary is compiled with gcc 3.3, so the "base" is 0, and pev is 4 @section ns linux pev 4 base 0x0 spawn 1 precache 2 keyvalue 3 objectcaps 6 activate 7 setobjectcollisionbox 8 classify 9 deathnotice 10 traceattack 11 takedamage 12 takehealth 13 ns_getpointvalue 14 killed 15 ns_awardkill 16 bloodcolor 17 tracebleed 18 istriggered 19 mymonsterpointer 20 mysquadmonsterpointer 21 gettogglestate 22 addpoints 23 addpointstoteam 24 addplayeritem 25 removeplayeritem 26 giveammo 27 getdelay 28 ismoving 29 overridereset 30 damagedecal 31 settogglestate 32 startsneaking 33 stopsneaking 34 oncontrols 35 issneaking 36 isalive 37 isbspmodel 38 reflectgauss 39 hastarget 40 isinworld 41 isplayer 42 isnetclient 43 teamid 44 ns_resetentity 46 getnexttarget 47 think 48 touch 49 use 50 blocked 51 ns_updateonremove 52 respawn 53 updateowner 54 fbecomeprone 55 center 56 eyeposition 57 earposition 58 bodytarget 59 illumination 60 fvisible 61 fvecvisible 62 @end @section ns windows pev 4 base 0x0 spawn 0 precache 1 keyvalue 2 objectcaps 5 activate 6 setobjectcollisionbox 7 classify 8 deathnotice 9 traceattack 10 takedamage 11 takehealth 12 ns_getpointvalue 13 killed 14 ns_awardkill 15 bloodcolor 16 tracebleed 17 istriggered 18 mymonsterpointer 19 mysquadmonsterpointer 20 gettogglestate 21 addpoints 22 addpointstoteam 23 addplayeritem 24 removeplayeritem 25 giveammo 26 getdelay 27 ismoving 28 overridereset 29 damagedecal 30 settogglestate 31 startsneaking 32 stopsneaking 33 oncontrols 34 issneaking 35 isalive 36 isbspmodel 37 reflectgauss 38 hastarget 39 isinworld 40 isplayer 41 isnetclient 42 teamid 43 ns_resetentity 45 getnexttarget 46 think 47 touch 48 use 49 blocked 50 ns_updateonremove 51 respawn 52 updateowner 53 fbecomeprone 54 center 55 eyeposition 56 earposition 57 bodytarget 58 illumination 59 fvisible 60 fvecvisible 61 @end @section ts linux pev 0 base 0x60 ts_breakablerespawn 2 ts_canusedthroughwalls 3 ts_respawnwait 4 spawn 5 precache 6 keyvalue 7 objectcaps 10 activate 11 setobjectcollisionbox 12 classify 13 deathnotice 14 traceattack 15 takedamage 16 takehealth 17 killed 18 bloodcolor 19 tracebleed 20 istriggered 21 mymonsterpointer 22 mysquadmonsterpointer 23 gettogglestate 24 addpoints 25 addpointstoteam 26 addplayeritem 27 removeplayeritem 28 giveammo 29 getdelay 30 ismoving 31 overridereset 32 damagedecal 33 settogglestate 34 startsneaking 35 stopsneaking 36 oncontrols 37 issneaking 38 isalive 39 isbspmodel 40 reflectgauss 41 hastarget 42 isinworld 43 isplayer 44 isnetclient 45 teamid 46 getnexttarget 47 think 48 touch 49 use 50 blocked 51 respawn 52 updateowner 53 fbecomeprone 54 center 55 eyeposition 56 earposition 57 bodytarget 58 illumination 59 fvisible 60 fvecvisible 61 @end @section ts windows pev 4 base 0x0 ts_breakablerespawn 0 ts_canusedthroughwalls 1 ts_respawnwait 2 spawn 3 precache 4 keyvalue 5 objectcaps 8 activate 9 setobjectcollisionbox 10 classify 11 deathnotice 12 traceattack 13 takedamage 14 takehealth 15 killed 16 bloodcolor 17 tracebleed 18 istriggered 19 mymonsterpointer 20 mysquadmonsterpointer 21 gettogglestate 22 addpoints 23 addpointstoteam 24 addplayeritem 25 removeplayeritem 26 giveammo 27 getdelay 28 ismoving 29 overridereset 30 damagedecal 31 settogglestate 32 startsneaking 33 stopsneaking 34 oncontrols 35 issneaking 36 isalive 37 isbspmodel 38 reflectgauss 39 hastarget 40 isinworld 41 isplayer 42 isnetclient 43 teamid 44 getnexttarget 45 think 46 touch 47 use 48 blocked 49 respawn 50 updateowner 51 fbecomeprone 52 center 53 eyeposition 54 earposition 55 bodytarget 56 illumination 57 fvisible 58 fvecvisible 59 @end ; Sven-Coop has no linux binaries. This makes disassembly much harder. @section svencoop windows pev 4 base 0x0 takedamage 11 use 46 @end ; ESF also has no linux binaries. @section esf windows pev 4 base 0x0 takedamage 12 use 46 @end