Hello, I apologise that 3 years did not write,

but: thanks, you has opened my eyes on how it is possible to receive the pointer on structure playermove_s. I simply tried to adapt cheat function CanPenetrate() to know - whether a penetration wall or not, since IsShootableThruObstacle() not suit for me and for this purpose PM_TraceLine() function was necessary to me without which it will be impossible, but with the help ppmove I could carry out the conceived!
BTW I personally for a hook use not PM_Move(), but PM_Init() instead - itself personally tried differences in given pointers are not present + PM_Init() is called only once, instead PM_Move() is called constant....
And still I have a question: what it is better to use as msec value pmove->cmd.msec or gpGlobals->frametime * 1000???
Again sorry for bad english
