Well, I searched around a bit and couldn't find a thread with all the default, unmodified values for the PushToConsole commands. These are useful if you can't figure out how to disable a specific hack.
What I did was write a small Java program to parse the "Mega PTC Thread" (https://www.mpgh.net/forum/207-combat...ga-thread.html) and get the names of all the commands, and then wrote a DLL to dump the unmodified values using the PopFromConsole method. (Credits: https://www.mpgh.net/forum/207-combat...omconsole.html) Sources for both the Java utility and the DLL are below.
All values were grabbed at the start of a CA match.
So, without further ado, the default values for all the PTC commands in that thread:
Code:
name: ShowFirePath, value: -1.000000
name: windowed, value: 0.000000
name: ShowFps, value: 0.000000
name: CursorCenter, value: 1.000000
name: drawguns, value: 1.000000
name: FogEnable, value: 1.000000
name: ModelDebug_DrawBoxes, value: 0.000000
name: PlayerGravity, value: -1100.000000
name: SkelModelStencil, value: 0.000000
name: WeaponSway, value: 1.000000
name: ShowBreath, value: 0.000000
name: ActivationDistance, value: 100.000000
name: DynamicLight, value: 1.000000
name: EnableWeatherFX, value: 0.000000
name: MuzzleLight, value: 0.000000
name: SnowEnable, value: 1.000000
name: CamDamage, value: 1.000000
name: ModelApplySun, value: 1.000000
name: ClientFXDetailLevel, value: 2.000000
name: ScatterEnable, value: 1.000000
name: WireframeModels, value: 0.000000
name: WireFrame, value: 0.000000
name: ModelDebug_DrawSkeleton, value: 0.000000
name: Prediction, value: 1.000000
name: FullBright, value: 0.000000
name: JumpVel, value: 330.000000
name: FragSelf, value: 0.000000
name: DrawFlat, value: 0.000000
name: SoundEnable, value: 1.000000
name: MusicEnable, value: 1.000000
name: CamMaxPosYOffset, value: 200.000000
name: CamMaxPosYOffset, value: 200.000000
name: WhiteBlood, value: 0.000000
name: DisableCrosshair, value: 0.000000
name: KnockBack, value: 0.000000
name: Hands, value: 0.000000
name: DrawInterface, value: 1.000000
name: ReloadSpeed, value: 0.000000
name: FireSpeed, value: 0.000000
name: SpectatorMode, value: 0.000000
name: PerturbRotationEffect, value: 3.000000
name: PerturbIncreaseSpeed, value: 3.000000
name: PerturbWalkPercent, value: 0.500000
name: PerturbFiringIncreaseSpeed, value: 3.000000
name: PerturbRecoil, value: 0.000000
name: FireMovePerturb, value: 0.000000
name: ZoomedFireMoveDuckPerturb, value: 0.000000
name: ZoomedFireMovePerturb, value: 0.000000
name: ZoomedFireDuckPerturb, value: 0.000000
name: CrossHairR, value: 0.000000
name: CrossHairG, value: 0.000000
name: CrossHairB, value: 0.000000
name: CrossHair_DefaultLength, value: 7.000000
name: CrossHair_DefaultGapLength, value: 0.000000
name: CrosshairGapMin, value: 0.000000
name: CrosshairGapMax, value: 0.000000
name: CrosshairBarMin, value: 0.000000
name: CrosshairBarMax, value: 0.000000
name: HitCrossHairSize, value: 0.000000
name: CrossHair_FiringDuration, value: 0.100000
name: RadarCenterX, value: 0.000000
name: RaderCenterY, value: 0.000000
name: BaseRadarScal, value: 0.000000
name: Radarpos, value: 0.000000
name: RadarRect, value: 0.000000
name: RadarIconSize, value: 0.000000
name: RadarZoominmax, value: 0.000000
name: RadarDefaultZoom, value: 0.000000
name: RadarZoomOutmax, value: 0.000000
name: RadarRadius, value: 0.000000
name: SpawnDelay, value: 0.000000
name: Spawner, value: 0.000000
name: Heal, value: 0.000000
name: HealHP, value: 0.000000
name: PlayerToHost, value: 0.000000
name: PlayerToInfected, value: 0.000000
name: SpyToAgent, value: 0.000000
name: SpyToSpy, value: 0.000000
name: PlayerToSpy, value: 0.000000
name: FreezeTime, value: 0.000000
name: DoobicMode, value: 0.000000
name: KillCam_Off, value: 0.000000
name: KillCam_On, value: 0.000000
name: FriendlyFire_Off, value: 0.000000
name: FriendlyFire_On, value: 0.000000
name: PlayerGravity, value: -1100.000000
name: PlayerVelocity, value: 0.000000
name: ShowPerformanceStatistics, value: 0.000000
name: BaseMoveAccel, value: 3000.000000
name: StartAccel, value: 500.000000
name: MaxAccel, value: 3000.000000
name: AccelInc, value: 6000.000000
name: WalkVel, value: 70.000000
name: FRunVel, value: 285.000000
name: BRunVel, value: 285.000000
name: SRunVel, value: 285.000000
name: JumpVel, value: 330.000000
name: DuckVel, value: 50.000000
name: BaseMoveAccel, value: 3000.000000
name: StartAccel, value: 500.000000
name: MaxAccel, value: 3000.000000
name: AccelInc, value: 6000.000000
name: WalkVel, value: 70.000000
name: FRunVel, value: 285.000000
name: BRunVel, value: 285.000000
name: SRunVel, value: 285.000000
name: SkyEnable, value: 0.000000
name: DebugAimAt, value: 0.000000
name: ShowHitSphere, value: 0.000000
name: ShowLocalHitSphere, value: 0.000000
Java utility to collect all the commands from the thread (this will generate a .h file which is included in the DLL below):
Code:
import java.io.*;
import java.net.*;
public class cmdget {
public static void main(String[] args) throws Exception {
URLConnection con = new URL("https://www.mpgh.net/forum/207-combat-arms-hack-coding-source-code/167441-pushtoconsole-commands-mega-thread.html").openConnection();
BufferedReader br = new BufferedReader(new InputStreamReader(con.getInputStream()));
FileWriter out = new FileWriter("output.h");
out.write("static char *commands[] = { \r\n");
String line;
while((line = br.readLine()) != null) {
if(!line.contains("PushToConsole("))
continue;
line = line.replace(""", "\"");
line = line.substring(line.indexOf('(') + 2, line.lastIndexOf('"'));
line = line.split(" ")[0];
out.write("\t\"" + line + "\", \r\n");
System.out.println(line);
}
out.write("\tNULL\r\n};\r\n");
out.flush();
out.close();
}
}
Or, if you can't/don't know how to run the Java app, here's the (current as of 9/5/2010) .h file generated by it.
Code:
static char *commands[] = {
"ShowFirePath",
"windowed",
"ShowFps",
"CursorCenter",
"drawguns",
"FogEnable",
"ModelDebug_DrawBoxes",
"PlayerGravity",
"SkelModelStencil",
"WeaponSway",
"ShowBreath",
"ActivationDistance",
"DynamicLight",
"EnableWeatherFX",
"MuzzleLight",
"SnowEnable",
"CamDamage",
"ModelApplySun",
"ClientFXDetailLevel",
"ScatterEnable",
"WireframeModels",
"WireFrame",
"ModelDebug_DrawSkeleton",
"Prediction",
"FullBright",
"JumpVel",
"FragSelf",
"DrawFlat",
"SoundEnable",
"MusicEnable",
"CamMaxPosYOffset",
"CamMaxPosYOffset",
"WhiteBlood",
"DisableCrosshair",
"KnockBack",
"Hands",
"DrawInterface",
"ReloadSpeed",
"FireSpeed",
"SpectatorMode",
"PerturbRotationEffect",
"PerturbIncreaseSpeed",
"PerturbWalkPercent",
"PerturbFiringIncreaseSpeed",
"PerturbRecoil",
"FireMovePerturb",
"ZoomedFireMoveDuckPerturb",
"ZoomedFireMovePerturb",
"ZoomedFireDuckPerturb",
"CrossHairR",
"CrossHairG",
"CrossHairB",
"CrossHair_DefaultLength",
"CrossHair_DefaultGapLength",
"CrosshairGapMin",
"CrosshairGapMax",
"CrosshairBarMin",
"CrosshairBarMax",
"HitCrossHairSize",
"CrossHair_FiringDuration",
"RadarCenterX",
"RaderCenterY",
"BaseRadarScal",
"Radarpos",
"RadarRect",
"RadarIconSize",
"RadarZoominmax",
"RadarDefaultZoom",
"RadarZoomOutmax",
"RadarRadius",
"SpawnDelay",
"Spawner",
"Heal",
"HealHP",
"PlayerToHost",
"PlayerToInfected",
"SpyToAgent",
"SpyToSpy",
"PlayerToSpy",
"FreezeTime",
"DoobicMode",
"KillCam_Off",
"KillCam_On",
"FriendlyFire_Off",
"FriendlyFire_On",
"PlayerGravity",
"PlayerVelocity",
"ShowPerformanceStatistics",
"BaseMoveAccel",
"StartAccel",
"MaxAccel",
"AccelInc",
"WalkVel",
"FRunVel",
"BRunVel",
"SRunVel",
"JumpVel",
"DuckVel",
"BaseMoveAccel",
"StartAccel",
"MaxAccel",
"AccelInc",
"WalkVel",
"FRunVel",
"BRunVel",
"SRunVel",
"SkyEnable",
"DebugAimAt",
"ShowHitSphere",
"ShowLocalHitSphere",
NULL
};
And, lastly, the DLL to collect the values:
Code:
#include <stdio.h>
#include <windows.h>
#include "ptcinitial.h"
float PopFromConsole(const char* szCommand)
{
HMODULE hMod = GetModuleHandleA("CShell.dll");
if(hMod == NULL)
return;
DWORD LTClient = *(DWORD *)(0x377E7810);
typedef void *(*_Fn1)(const char *);
_Fn1 Fn1 = *(_Fn1 *) (LTClient + 0x104);
DWORD vTable = *(DWORD *) LTClient;
typedef float (__stdcall *_Fn2)(void *);
_Fn2 Fn2 = *(_Fn2 *) (vTable + 0x5C);
return Fn2(Fn1(szCommand));
}
DWORD WINAPI HaxThreadProc(LPVOID lpParam)
{
char buf[1024];
float value;
while(1) {
if(GetAsyncKeyState(VK_F12) & 1) {
FILE *fp = fopen("ptcinitial.txt", "w");
char **command = commands;
while(*command != NULL) {
value = PopFromConsole(*command);
sprintf(buf, "name: %s, value: %f\r\n", *command, value);
fputs(buf, fp);
command++;
}
fflush(fp);
fclose(fp);
}
Sleep(100);
}
return 0;
}
BOOL WINAPI DllMain(HANDLE hDll, DWORD dwReason, LPVOID lpReserved)
{
if(dwReason == DLL_PROCESS_ATTACH)
CreateThread(NULL, 0, HaxThreadProc, NULL, 0, NULL);
return TRUE;
}
Feel free to modify etc, I don't care about credits, if you use/like it, cool, if you don't, fine. Do whatever you want with it. If you want to give me thanks/credits in something you make with it, please do so. If the author of the PopFromConsole method doesn't like that I de-choobed it and put that version in this thread, I'll remove it :P
Tekkn0logik