So Razon
TRIGGERED me by calling me a paster so I finally decided to drop this thread and release some information that none of you will really understand.
What Does SetPoseParameter do?
This is a pretty simple question to answer, it forces an animation update on your player (In this case, the person you're aimbotting) and updates the positions of bones, hitboxes etc. Mose people assume/believe that it just forces view angles, but this is not entirely the case. Let's look at our args for SetPoseParameter.
Code:
C++: float CBaseAnimating::SetPoseParameter( CStudioHdr *pStudioHdr, int iParameter, float flValue )
Lua: Entity:SetPoseParameter( string poseName, number poseValue )
This is all pretty self explanatory, C_BaseEntity has a wrapper which passes down the appropriate CStudioHdr to our function, so arg one can be considered our player, arg two is the actual pose we are affecting (aim_yaw, body_yaw, aim_pitch etc) and our third argument is the value we're setting it to.
Why is this useful in AAA?
Pretty simple, we can force angles that aren't provided by the server to us, or in retard "p100 AA fix uFF yaHH 1tap$$ gang". Unlike csgo, gmod doesn't have a way to fake angles very easily and getting uncompressed viewangles will solve 99% of the problems im talking about today. LISP angles don't exsist in gmod, bSendPacket angles do not work because we display
MULTIPLE animation updates per tick, so to create effective AAs we either need to rely on jitter or small inconsistencies in angle compression.
Are you going to tell me how to write some good AAs?
No, but even you, dumb skid of the month, should be able to digest this and maybe paste something semi-original. There's a function in the source SDK called
Compute_AimYaw. This is what we'll be looking at for a bit. Why is this interesting you might ask? Well there's a couple of really cool lines of code to take advantage of.
This snippet right here demonstrates that your yaw angle is lerped at a rate of 720 degrees per tick. After 720, the angle will only display the 720 degree difference and nothing past that. What does that mean for us? Well, if you're standing still, you can completely fake angles just like the bSendPacket days.
There's also a couple more problems you need to fix.
By default, every single animation update is interpolated over time and someone exploiting that can effectively destroy you by faking angles in gmod. But there's a way to disable this interpolation. There's a convar that exsists in the source engine called mp_slammoveyaw. The convar does have a development only flag on it, so unless I'm mistaken you will not be able to force this convar from lua. Reading the description will tell you exactly what it's about. "Force movement yaw along an animation path." In simple terms, this disables your interpolation and enables full accuracy when correcting players for the purpose of AAA.