anyway I'm having a little complication here, basically OnPM_PlayStepSound doesn't get called ever in my public server.
I tested it with 2 public linux servers, they are from different hosts as well and it doesn't work in either of them.
however it gets called fine in my listen server? what the heck?
the orpheu and amxx versions are exactly the same:
Spoiler
] amxx version
AMX Mod X 1.8.2 (http://www.amxmodx.org)
Authors:
David "BAILOPAN" Anderson, Pavol "PM OnoTo" Marko
Felix "SniperBeamer" Geyer, Jonny "Got His Gun" Bergstrom
Lukasz "SidLuke" Wlasinski, Christian "Basic-Master" Hammacher
Borja "faluco" Ferrer, Scott "DS" Ehlert
Compiled: Feb 14 2013, 00:567
Build ID: 1.8.2 61:2ae84f7c0a97
Core mode: JIT+ASM32
public OrpheuHookReturn:OnPM_Move(OrpheuStruct:ppmove, server) { g_ppmove = ppmove; }
public OrpheuHookReturn:OnPM_PlayStepSound(iStep, Float:flVol) { //this doesn't get called new iPlayer = OrpheuGetStructMember(g_ppmove, "player_index") + 1;
I messed a bit with that function some months ago, and from what I recall my observations match yours: works on windows, not on linux. Likely the function got inlined due to optimizations.
Yes, it is, you need to go back to the function that calls PM_PlayStepSound and hook that instead. Then you may need to redo some code from that function in order to get the information that would be available in PM_PlayStepSound.
It's not hard if you are familiar with reading code from regamedll.