COPY & PASTA (ptc) Set console variables| patch info's & changes
Well, nexon did just patch up combat arms na, took me 1 hour to fix my whole cheat, good luck.
Probably some of "your" patterns are broken( oh noes waht to do ) fix them by youself
Everyone who will use this from now will have to put correct credits to the real creators.
Changes:
CONVARS( new way )
RunConsoleString
some working ptc's
Full credits to xCyniu, credit if you use.
Thanks to NeoIII and Gellin for unwrappedconsole address
Probably some of "your" patterns are broken( oh noes waht to do ) fix them by youself
Everyone who will use this from now will have to put correct credits to the real creators.
Changes:
Code:
#define ptr_GameClientShell 0x377F1D10//37867438 #define ptr_WeaponMgr 0x377F8854//3786E17C #define ptr_LTClient 0x377B2940//378206B8 // Add a virtual before GetClientInfoMgr()( gameclientshell ) // Add a virtual after LTModel( ltclient ) // Remove a virtual before SendToServer( ltclient @ 0x160 )
Code:
class ConVars
{
public:
ConVars()
{
}
void Init()
{
// do patterns by youself
_updated = false;
_BaseMoveAccel = 0x377A462C;
_StartAccel = 0x377A4650;
_MaxAccel = 0x377A4674;
_AccelInc = 0x377A4698;
_WalkVel = 0x377A46BC;
_FRunVel = 0x377A46E0;
_BRunVel = 0x377A4704;
_SRunVel = 0x377A4728;
_DuckVel = 0x377A4770;
_PlayerGravity = 0x377A42F0;
_JumpVel = 0x377A474C;
_ShowFps = 0x377A0CB8;
_ShowFirePath = 0x377AA4D4;
_ActivationDistance = 0x377A9D24;
_updated = true;
}
bool _updated;
bool IsUpdated()
{
return _updated;
}
// SpeedHack
DWORD _BaseMoveAccel;
DWORD _StartAccel;
DWORD _MaxAccel;
DWORD _AccelInc;
DWORD _WalkVel;
DWORD _FRunVel;
DWORD _BRunVel;
DWORD _SRunVel;
DWORD _DuckVel;
// SuperJump
DWORD _JumpVel;
// FlyHack
DWORD _PlayerGravity;
// Show FPS
DWORD _ShowFps;
// ShowFirePath
DWORD _ShowFirePath;
// Activation distance
DWORD _ActivationDistance;
template< class T >
void SetConvarValue( DWORD addr ,T val )
{
*(T*)addr = val;
}
}conVars;
usage:
if( !conVars.IsUpdated() )
{
conVars.Init();
return;
}
float multiplier = 3;
// speedhack
conVars.SetConvarValue<float>( conVars._BaseMoveAccel,3000+(3000*multiplier) );
conVars.SetConvarValue<float>( conVars._StartAccel,500+(500*multiplier) );
conVars.SetConvarValue<float>( conVars._MaxAccel,3000+(3000*multiplier) );
conVars.SetConvarValue<float>( conVars._AccelInc,6000+(6000*multiplier) );
conVars.SetConvarValue<float>( conVars._WalkVel,70+(70*multiplier) );
conVars.SetConvarValue<float>( conVars._FRunVel,285+(285*multiplier) );
conVars.SetConvarValue<float>( conVars._BRunVel,285+(285*multiplier) );
conVars.SetConvarValue<float>( conVars._SRunVel,285+(285*multiplier) );
conVars.SetConvarValue<float>( conVars._DuckVel,50+(50*multiplier) );
Code:
static DWORD rccAdr = NULL; if(!rccAdr) rccAdr = /*unwrapped console address*/; typedef void(__cdecl*RunConsoleCommandFn)(const char*,int&); RunConsoleCommandFn RunConsoleCmd = (RunConsoleCommandFn)rccAdr; int v4; RunConsoleCmd(command,v4);
Code:
RunConsoleCommand("+SkelModelStencil 1");
RunConsoleCommand("+FogEnable 0");
Thanks to NeoIII and Gellin for unwrappedconsole address


