Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- extern "C"{ void Print(const char*format,...); }
- const char* Format(const char*format,...) { va_list params; char buffer[0x1000]; va_start(params, format); vsnprintf_s(buffer, 0x1000,0x1000, format, params); va_end(params); return buffer; }
- class PS
- {
- public:
- typedef enum : signed __int32 { MFLAG = 0x321C, GAMERTAG = 0x2F9C, CLANTAG = 0x300C,BUTTONS = 0x568C, /* if it doesn't work, 0x5690*/ MOVEMENT_SPEED = 0x2F50, /* if it doesn't work, 0x2F54*/ unknown_flags1 = 0x10, unknown_flags2 = 0x124, team = 0x26F0 }preset_index;
- typedef enum : signed __int32 { X = 0x1C, Y = 0x20, Z = 0x24}pos;
- typedef enum : signed __int32 { DEFAULT, NOCLIP, UFO, NOCLIP_1, FREEZE, FREEZE_CONTROLS = 0x08 }mflag_values;
- int index; // clientIndex :p
- int getPlayerState() { return 0x8328F100 + (index * 0x3600); }
- void WriteInt16(signed __int32 id, signed __int16 *value) { *(signed __int16*)(0x8328F100 + (index * 0x3600) + id) = *value; }
- void WriteInt32(signed __int32 id, signed __int32 *value) { *(signed __int32*)(0x8328F100 + (index * 0x3600) + id) = *value; }
- void WriteInt64(signed __int32 id, signed __int64 *value) { *(signed __int64*)(0x8328F100 + (index * 0x3600) + id) = *value; }
- void WriteUInt16(signed __int32 id, unsigned __int16 *value) { *(unsigned __int16*)(0x8328F100 + (index * 0x3600) + id) = *value; }
- void WriteUInt32(signed __int32 id, unsigned __int32 *value) { *(unsigned __int32*)(0x8328F100 + (index * 0x3600) + id) = *value; }
- void WriteUInt64(signed __int64 id, unsigned __int64 *value) { *(unsigned __int64*)(0x8328F100 + (index * 0x3600) + id) = *value; }
- void WriteBoolean(signed __int32 id, bool value) { *(bool*)(0x8328F100 + (index * 0x3600) + id) = value; }
- void WriteString(signed __int32 id, const char*value) { strncpy((char*)(0x8328F100 + (index * 0x3600) + id), value, strlen(value)); }
- void WriteByte(signed __int32 id, unsigned char *value) { *(unsigned char*)(0x8328F100 + (index * 0x3600) + id) = *value; }
- void WriteSingle(signed __int32 id, float *value) { *(float*)(0x8328F100 + (index * 0x3600) + id) = *value; }
- void DumpPS() { for(int off = 0x00; off != 0x3600; off += 0x04){ int result = *(signed __int32*)(0x8328F100 + (index * 0x3600) + off); Print("%i located at %04X\n", result, off); } }
- #pragma region Bitwise
- //XOR
- void WriteInt16_XOR(signed __int32 id, signed __int16 value){ *(signed __int16*)(0x8328F100 + (index * 0x3600) + id) ^= value; }
- void WriteInt32_XOR(signed __int32 id, signed __int32 value){ *(signed __int32*)(0x8328F100 + (index * 0x3600) + id) ^= value; }
- void WriteInt64_XOR(signed __int32 id, signed __int32 value){ *(signed __int64*)(0x8328F100 + (index * 0x3600) + id) ^= value; }
- void WriteUInt16_XOR(signed __int32 id, unsigned __int16 value){ *(unsigned __int16*)(0x8328F100 + (index * 0x3600) + id) ^= value; }
- void WriteUInt32_XOR(signed __int32 id, unsigned __int32 value){ *(unsigned __int32*)(0x8328F100 + (index * 0x3600) + id) ^= value; }
- void WriteUInt64_XOR(signed __int32 id, unsigned __int32 value){ *(unsigned __int64*)(0x8328F100 + (index * 0x3600) + id) ^= value; }
- void WriteBoolean_XOR(signed __int32 id, bool value) { *(bool*)(0x8328F100 + (index * 0x3600) + id) ^= value; }
- void WriteByte_XOR(signed __int32 id, unsigned char value) { *(unsigned char*)(0x8328F100 + (index * 0x3600) + id) ^= value; }
- //OR
- void WriteInt16_OR(signed __int32 id, signed __int16 value){ *(signed __int16*)(0x8328F100 + (index * 0x3600) + id) |= value; }
- void WriteInt32_OR(signed __int32 id, signed __int32 value){ *(signed __int32*)(0x8328F100 + (index * 0x3600) + id) |= value; }
- void WriteInt64_OR(signed __int32 id, signed __int32 value){ *(signed __int64*)(0x8328F100 + (index * 0x3600) + id) |= value; }
- void WriteUInt16_OR(signed __int32 id, unsigned __int16 value){ *(unsigned __int16*)(0x8328F100 + (index * 0x3600) + id) |= value; }
- void WriteUInt32_OR(signed __int32 id, unsigned __int32 value){ *(unsigned __int32*)(0x8328F100 + (index * 0x3600) + id) |= value; }
- void WriteUInt64_OR(signed __int32 id, unsigned __int32 value){ *(unsigned __int64*)(0x8328F100 + (index * 0x3600) + id) |= value; }
- void WriteBoolean_OR(signed __int32 id, bool value) { *(bool*)(0x8328F100 + (index * 0x3600) + id) |= value; }
- void WriteByte_OR(signed __int32 id, unsigned char value) { *(unsigned char*)(0x8328F100 + (index * 0x3600) + id) |= value; }
- //AND
- void WriteInt16_AND(signed __int32 id, signed __int16 value){ *(signed __int16*)(0x8328F100 + (index * 0x3600) + id) &= value; }
- void WriteInt32_AND(signed __int32 id, signed __int32 value){ *(signed __int32*)(0x8328F100 + (index * 0x3600) + id) &= value; }
- void WriteInt64_AND(signed __int32 id, signed __int32 value){ *(signed __int64*)(0x8328F100 + (index * 0x3600) + id) &= value; }
- void WriteUInt16_AND(signed __int32 id, unsigned __int16 value){ *(unsigned __int16*)(0x8328F100 + (index * 0x3600) + id) &= value; }
- void WriteUInt32_AND(signed __int32 id, unsigned __int32 value){ *(unsigned __int32*)(0x8328F100 + (index * 0x3600) + id) &= value; }
- void WriteUInt64_AND(signed __int32 id, unsigned __int32 value){ *(unsigned __int64*)(0x8328F100 + (index * 0x3600) + id) &= value; }
- void WriteBoolean_AND(signed __int32 id, bool value) { *(bool*)(0x8328F100 + (index * 0x3600) + id) &= value; }
- void WriteByte_AND(signed __int32 id, unsigned char value) { *(unsigned char*)(0x8328F100 + (index * 0x3600) + id) &= value; }
- //NOT
- signed __int16 NOT_Int16(signed __int16 value) { return ~value; }
- signed __int32 NOT_Int32(signed __int32 value) { return ~value; }
- signed __int64 NOT_Int64(signed __int64 value) { return ~value; }
- unsigned __int16 NOT_UInt16(unsigned __int16 value) { return ~value; }
- unsigned __int32 NOT_UInt32(unsigned __int32 value) { return ~value; }
- unsigned __int64 NOT_UInt64(unsigned __int64 value) { return ~value; }
- unsigned char NOT_Byte(unsigned char value) { return ~value; }
- bool NOT_Boolean(bool value) { return ~value; }
- //Shifting left
- void SHIFTLEFT_Int16(signed __int32 id, signed __int32 bits) { *(signed __int16*)(0x8328F100 + (index * 0x3600) + id) <<= bits; }
- void SHIFTLEFT_Int32(signed __int32 id, signed __int32 bits) { *(signed __int32*)(0x8328F100 + (index * 0x3600) + id) <<= bits; }
- void SHIFTLEFT_Int64(signed __int32 id, signed __int32 bits) { *(signed __int64*)(0x8328F100 + (index * 0x3600) + id) <<= bits; }
- void SHIFTLEFT_UInt16(signed __int32 id, signed __int32 bits) { *(unsigned __int16*)(0x8328F100 + (index * 0x3600) + id) <<= bits; }
- void SHIFTLEFT_UInt32(signed __int32 id, signed __int32 bits) { *(unsigned __int32*)(0x8328F100 + (index * 0x3600) + id) <<= bits; }
- void SHIFTLEFT_UInt64(signed __int32 id, signed __int32 bits) { *(unsigned __int64*)(0x8328F100 + (index * 0x3600) + id) <<=bits; }
- void SHIFTLEFT_Byte(signed __int32 id, signed __int32 bits) { *(unsigned char*)(0x8328F100 + (index * 0x3600) + id) <<= bits; }
- //Shifing right
- void SHIFTRIGHT_Int16(signed __int32 id, signed __int32 bits) { *(signed __int16*)(0x8328F100 + (index * 0x3600) + id) >>= bits; }
- void SHIFTRIGHT_Int32(signed __int32 id, signed __int32 bits) { *(signed __int32*)(0x8328F100 + (index * 0x3600) + id) >>= bits; }
- void SHIFTRIGHT_Int64(signed __int32 id, signed __int32 bits) { *(signed __int64*)(0x8328F100 + (index * 0x3600) + id) >>= bits; }
- void SHIFTRIGHT_UInt16(signed __int32 id, signed __int32 bits) { *(unsigned __int16*)(0x8328F100 + (index * 0x3600) + id) >>= bits; }
- void SHIFTRIGHT_UInt32(signed __int32 id, signed __int32 bits) { *(unsigned __int32*)(0x8328F100 + (index * 0x3600) + id) >>= bits; }
- void SHIFTRIGHT_UInt64(signed __int32 id, signed __int32 bits) { *(unsigned __int64*)(0x8328F100 + (index * 0x3600) + id) >>=bits; }
- void SHIFTRIGHT_Byte(signed __int32 id, signed __int32 bits) { *(unsigned char*)(0x8328F100 + (index * 0x3600) + id) >>= bits; }
- #pragma endregion
- signed __int16 ReadInt16(signed __int32 id) { return *(__int16*)(0x8328F100 + (index * 0x3600) + id); }
- signed __int32 ReadInt32(signed __int32 id) { return *(__int32*)(0x8328F100 + (index * 0x3600) + id); }
- signed __int64 ReadInt64(signed __int32 id) { return *(__int64*)(0x8328F100 + (index * 0x3600) + id); }
- unsigned __int16 ReadUInt16(signed __int32 id) { return *(unsigned __int16*)(0x8328F100 + (index * 0x3600) + id); }
- unsigned __int32 ReadUInt32(signed __int32 id) { return *(unsigned __int32*)(0x8328F100 + (index * 0x3600) + id); }
- unsigned __int64 ReadUInt64(signed __int32 id) { return *(unsigned __int64*)(0x8328F100 + (index * 0x3600) + id); }
- bool ReadBoolean(signed __int32 id) { return *(bool*)(0x8328F100 + (index * 0x3600) + id); }
- const char*ReadString(signed __int32 id) { return (char*)(0x8328F100 + (index * 0x3600) + id); }
- unsigned char ReadByte(signed __int32 id) { *(unsigned char*)(0x8328F100 + (index * 0x3600) + id); }
- float ReadSingle(signed __int32 id) { *(float*)(0x8328F100 + (index * 0x3600) + id); }
- #pragma region Functions(push -4)
- void setPlayerOrigin(pos id, float *value) { *(float*)(0x8328F100 + (index * 0x3600) + id) = *value; }
- float getPlayerOrigin(pos id) { return *(float*)(0x8328F100 + (index * 0x3600) + id); }
- void setTeamIndex(signed __int32 id) { *(signed __int32*)(0x8328F100 + (index * 0x3600) + preset_index::team) = id; }
- void ToggleGodmode(bool enabled = false) { enabled^=1; (enabled ? *(signed __int32*)(0x8328F100 + (index * 0x3600) + 0x18) = 0x01 : *(signed __int32*)(0x8328F100 + (index * 0x3600) + 0x18) = ~0x01); }
- void Toggle3rdP() { if(*(signed __int32*)(0x8328F100 + (index * 0x3600) + preset_index::unknown_flags1) != 0x00) { *(signed __int32*)(0x8328F100 + (index * 0x3600) + preset_index::unknown_flags1) = 0x00; } *(signed __int32*)(0x8328F100 + (index * 0x3600) + preset_index::unknown_flags1) ^= 0x02; int result = *(signed __int32*)(0x8328F100 + (index * 0x3600) + preset_index::unknown_flags1); SV_SendServerCommand((*(signed __int64*)(0x8399DA00 + 0x207E90 + (index * 0x6EA00))), 1, Format("e \"third person %s\"", result == 0x02 ? "on" : "off")); }
- void ToggleLaser() { if(*(signed __int32*)(0x8328F100 + (index * 0x3600) + PS::preset_index::unknown_flags2) != 0x00){ *(signed __int32*)(0x8328F100 + (index * 0x3600) + PS::preset_index::unknown_flags2) = 0x00; } *(signed __int32*)(0x8328F100 + (index * 0x3600) + PS::preset_index::unknown_flags2) ^= 0x10000; int result = (*(signed __int32*)(0x8328F100 + (index * 0x3600) + PS::preset_index::unknown_flags2)); SV_SendServerCommand((*(signed __int64*)(0x8399DA00 + 0x207E90 + (index * 0x6EA00))), 1, Format("e \"laser %s\"", result == 0x10000 ? "on" : "off")); }
- void ToggleInvisibility(bool enabled = false) { enabled ^= 1; *(signed __int32*)(0x8328F100 + (index * 0x3600) + preset_index::unknown_flags2) &= enabled?~0x20:0x20; }
- void ToggleMFlag(signed __int32 id) { if(*(signed __int32*)(0x8328F100 + (index * 0x3600) + preset_index::MFLAG) != 0x00) { *(signed __int32*)(0x8328F100 + (index * 0x3600) + preset_index::MFLAG) = 0x00; } *(signed __int32*)(0x8328F100 + (index * 0x3600) + preset_index::MFLAG) ^= id; int result = (*(signed __int32*)(0x8328F100 + (index * 0x3600) + preset_index::MFLAG) & id); if(id == 8) id -= 3; SV_SendServerCommand((*(signed __int64*)(0x8399DA00 + 0x207E90 + (index * 0x6EA00))), 1, Format("e \"%s %s\"", mflagz[id], result ? "on" : "off")); }
- void setGamertag(char*value) { strncpy((char*)(0x8328F100 + (index * 0x3600) + preset_index::GAMERTAG), value, 0x20); }
- void setClantag(char*value) { if(value[0] == '^') { value[strnlen(value, 0x4)+1] += '^7'; } strncpy((char*)(0x8328F100 + (index * 0x3600) + preset_index::CLANTAG), value, 0x4); }
- const char*getGamertag(bool format = true){ const char *value;(format ? value = Format("[%s]%s\0", (char*)(0x8328F100 + (index * 0x3600) + preset_index::CLANTAG), (char*)(0x8328F100 + (index * 0x3600) + preset_index::GAMERTAG)) : value = Format("%s\0", (char*)(0x8328F100 + (index * 0x3600) + preset_index::GAMERTAG))); return value;}
- void setSpeed(float *value) { *(float*)(0x8328F100 + (index * 0x3600) + preset_index::MOVEMENT_SPEED) = *value; }
- void appendSpeed(float *value) { *(float*)(0x8328F100 + (index * 0x3600) + preset_index::MOVEMENT_SPEED) += *value; }
- signed __int32 getButtonPressed() { return *(signed __int32*)(0x8328F100 + (index * 0x3600) + preset_index::BUTTONS); }
- #pragma endregion Functions
- };
Advertisement
Add Comment
Please, Sign In to add comment