|
You last visited: Today at 07:14
Advertisement
War Rock Cheat Programming Discussion
Discussion on War Rock Cheat Programming Discussion within the WarRock forum part of the Shooter category.
01/13/2017, 02:59
|
#1111
|
elite*gold: 0
Join Date: Apr 2010
Posts: 726
Received Thanks: 1,128
|
Code:
//|||| -- N4n033 Ultimate Logger Starting -- ||||
// Starting Generating Pointers ...
#define Pointer_Player 0x00B127A0
#define Pointer_Server 0x00B11604
#define Pointer_Angles 0x00B0FC70
#define Pointer_Class 0x00B64F08
#define Pointer_Base 0x00B64588
#define Pointer_Weapon 0x00B30C9C
#define Pointer_HWND 0x00B0FC6C
#define Pointer_Device 0x00B0FC74
#define Pointer_Vehicle 0x00B0FD98
#define Pointer_Flags 0x00B19B68
#define Pointer_GMWarn 0x00B5F3A8
// Starting Generating Memory Addresses ...
#define Memory_GM_Warn_IP 0x00B5F3B8
#define Memory_GM_Warn 0x00B5F788
#define Memory_Fast_Ammo 0x00B17140
#define Memory_Fast_Medic 0x00B17148
#define Memory_Fast_Flag 0x00B17158
#define Memory_Fast_Lock_On 0x00AE1908
#define Memory_CrossHair 0x00911BA4
#define Memory_Speed 0x0092D280
#define Memory_Speed_Roll 0x0092C680
#define Memory_NoWater_1 0x00B199AC
#define Memory_NoWater_2 0x00B199B0
#define Memory_No_Spread_1 0x00B171DC
#define Memory_No_Spread_2 0x00B171E0
#define Memory_Scope 0x00B0FCB4
#define Memory_Scope_Size 0x00998EC0
#define Memory_No_Bounds_1 0x00C60034
#define Memory_No_Bounds_2 0x00C60038
#define Memory_No_Bounds_3 0x00C6003C
#define Memory_Weapon_Gravity 0x0092C450
#define Memory_IsReady 0x00B64FA0
#define Memory_No_Spawn_Wait_1 0x00C610B8
#define Memory_No_Spawn_Wait_2 0x00C610BC
#define Memory_No_Spawn_Wait_3 0x00C610C0
#define Memory_Super_No_Spread 0x0092C498
#define Memory_Plant_Any_Where 0x00B0FCBF
#define Memory_Def_Any_Where 0x00AF19F8
#define Memory_Bone_Shot 0x0092D608
#define Memory_Shoot_True_Walls 0x008EA2CC
#define Memory_Walk_True_Walls 0x008F1B30
#define Memory_CQC_Prone 0x00B12F48
#define Memory_AI_Weapons 0x00998EB0
#define Memory_Instant_Spawn 0x00C6A4DC
#define Memory_Unl_Ammo 0x00B10ACC
#define Memory_Quick_Plant 0x0092C522
#define Memory_Quick_Defuse 0x0092C526
#define Memory_Im_Drunk 0x00B10A80
#define Memory_FFA_Spawn_1 0x00B17168
#define Memory_FFA_Spawn_2 0x00B1716C
#define Memory_Flag_Time 0x00B17138
#define Memory_Flag_Counter 0x00B17148
#define Memory_PlantLocation 0x00998EE4
#define Memory_PushMeAway 0x009174A8
#define Memory_Plant_Defuse 0x00B07080
#define Memory_Invisible 0x009174AC
#define Memory_Camera_View 0x008F223C
#define Memory_Swim_1 0x00B127BC
#define Memory_Swim_2 0x00B127C0
#define Memory_Walk_True_Walls2 0x008F2394
#define Memory_Anti_AFK 0x00B0FD14
#define Memory_Ammo_Medic_Dist 0x0092D4D8
#define Memory_Fast_Nade_Expl 0x008EA2CC
#define Memory_Nade_Size 0x0092C998
#define Memory_Mixed_Zero 0x00B1BD98
#define Memory_Quick_Plant_Time 0x009984B8
#define Memory_Quick_Def_Time 0x009984C4
#define Memory_Assault_Clip 0x00B0FCCE
#define Memory_Sniper_Clip 0x00B0FCCE
#define Memory_Destroy_Veh 0x0092CAC0
#define Memory_In_Game_Name 0x00B64BB4
#define Memory_Window_Name 0x008F9A98
// Starting Generating Offset Addresses ...
#define Offset_Auto_Repair 0x0000005D
#define Offset_Slot_Base 0x0004DBE8
#define Offset_NFD 0x00010354
#define Offset_X 0x0001036C
#define Offset_Y 0x0001037C
#define Offset_Z 0x00010374
#define Offset_Level 0x0005B374
#define Offset_Dinar 0x0005B380
#define Offset_Slots 0x0004ED80
#define Offset_Premium 0x000003C4
#define Offset_Room_Master 0x0004C330
#define Offset_Super_Master 0x0004C28C
#define Offset_Player_Stare 0x00000528
#define Offset_Player_Size 0x00000AD8
#define Offset_Player_Slot 0x0005B8A8
#define Offset_No_Recoil_1 0x0000C484
#define Offset_No_Recoil_2 0x0000C488
#define Offset_No_Recoil_3 0x0000C48C
#define Offset_View_X 0x0001021C
#define Offset_View_Y 0x00010224
#define Offset_View_Z 0x00010220
#define Offset_Weapon_1 0x00010254
#define Offset_Weapon_2 0x00010256
#define Offset_Weapon_3 0x00010258
#define Offset_M134_Idle 0x00010464
#define Offset_Index 0x0000C4DC
#define Offset_Force_Kick 0x000491FC
#define Offset_In_Water 0x0000C528
#define Offset_In_Vehicle 0x0000041D
#define Offset_GM 0x000003BC
#define Offset_Time 0x00000638
#define Offset_Packet 0x000491FC
#define Offset_Game_Type 0x0004C108
#define Offset_Map_Num 0x0004C258
#define Offset_Room_Players 0x0004C278
#define Offset_Wep_Slot_0 0x0004ED80
#define Offset_Total_Kills 0x0005B38C
#define Offset_Total_Deaths 0x0005B390
#define Offset_Invisible 0x0005B3AC
#define Offset_Game_Server 0x0005B3BC
#define Offset_Login_Name 0x0005B3DC
#define Offset_Disp_Name 0x0005B41C
#define Offset_Base_Pos 0x0001023C
#define Offset_Write_Pos 0x0001036C
#define Offset_Status 0x000102B8
#define Offset_My_Player_Team 0x0005B8AC
#define Offset_Delay 0x000103F2
#define Offset_Device_Pointer 0x0002B930
#define Offset_Auto_Plant_Def 0x000103E4
#define Offset_Fast_Reload 0x00010479
#define Offset_Weapon_State 0x0000C52C
#define Offset_No_Reload 0x0001047C
#define Offset_Pitch 0x00010210
#define Offset_Leaning 0x00010214
#define Offset_Yaw 0x00010230
#define Offset_Pos_1 0x000102C0
#define Offset_Pos_2 0x000102C4
#define Offset_Pos_3 0x000102C8
#define Offset_CVeh 0x0000C520
#define Assembly_Auto_Ammo_1 0x00502A8F
#define Assembly_Auto_Ammo_2 0x00502ACF
#define Assembly_Auto_Medic_1 0x00502B96
#define Assembly_Auto_Medic_2 0x00502703
#define Assembly_Auto_Repair_1 0x0042BF57
#define Assembly_Auto_Repair_2 0x0042BF86
#define Assembly_Auto_Repair_3 0x0042C026
#define Assembly_Always_Cross 0x005A37CD
#define Assembly_No_Reload 0x005187FD
#define Assembly_No_Restric 0x004F1BF4
#define Assembly_Quick_Plant 0x0050E9CA
#define Assembly_Quick_Defuse 0x0050A3D4
#define Assembly_WTW 0x007AFF55
#define Assembly_STW 0x00641C7B
#define Assembly_STW_2 0x00641C81
#define Assembly_No_Delay 0x005184BE
#define Assembly_Bullets 0x0050C870
#define Assembly_OPK_X 0x0040806E
#define Assembly_OPK_Y 0x00408077
#define Assembly_OPK_Z 0x00408083
#define Assembly_Unl_Oxygen 0x00504A8B
#define Assembly_Prone 0x004F2EDA
#define Assembly_Damage_As 0x0050C77D
#define Assembly_GPS 0x005CFFAA
#define Assembly_FFA_GPS 0x005D0019
#define Assembly_Vehicle_Jump 0x00464D70
#define Assembly_Vehicle_Jump_2 0x00464D78
#define Assembly_Vehicle_Invis 0x00430190
#define Assembly_Anti_Flash 0x005DEF0B
#define Assembly_Anti_M14 0x005DEE37
#define Assembly_Over_Heat 0x007644A3
#define Assembly_Bone_Shot 0x004510F7
#define Assembly_Stamina_1 0x0045E63D
#define Assembly_Stamina_2 0x004019F8
#define Assembly_Stamina_3 0x00502F44
#define Assembly_Auto_Shot 0x004F1BE9
#define Assembly_Fast_Reload 0x00518AF3
#define Assembly_Fast_Reload_2 0x005CAFBA
#define Assembly_Artillery_1 0x0050947B
#define Assembly_Artillery_2 0x005C554A
#define Assembly_Artillery_3 0x005C55D0
#define Assembly_Artillery_4 0x005C5664
#define Assembly_Artillery_5 0x005C53AB
#define Assembly_Artillery_6 0x005A3E8A
#define Assembly_Artillery_7 0x005C554A
#define Assembly_Artillery_8 0x005C56E1
#define Assembly_GameNotice 0x006184CC
#define Assembly_SpamBot 0x005613F2
#define Assembly_GameText 0x004D0F2D
#define Assembly_GameMessage 0x004AE01B
#define Assembly_UnlAmmo 0x0050F6EC
#define Assembly_Command 0x004D58C5
#define Assembly_Visible 0x005EF084
#define Assembly_Get_Player 0x00******
#define Assembly_CRC 0x00648710
Credits : Me, UnknownPK, GHTheBoss, R3d_L!n3, WarLord & others I forgot
|
|
|
02/17/2017, 14:21
|
#1112
|
elite*gold: 1
Join Date: Oct 2011
Posts: 1,117
Received Thanks: 1,520
|
Hier ein paar Addys mir war langweilig
Code:
#define ADR_PLAYERPOINTER 0x00B07758
#define ADR_SERVERPOINTER 0x00B0A138
#define ADR_WEAPONPOINTER 0x00990914
#define ADR_DEVICEPOINTER 0x00B0A1D0
#define ADR_USERPOINTER 0x00B07724
#define ADR_HEALTHPOINTER 0x0031FB8
#define ADR_FASTAMMO 0x00B0EB48
#define ADR_FASTREPAIR 0x00B0EAEC
#define ADR_NOSPREAD 0x00B064D8
#define ADR_QUICKDEFUSE 0x0050A697
#define OFS_SLOT5 0x0032E675F6
#define OFS_SLOT6 0x0032E675F7
#define OFS_SLOT7 0x0032E675F8
#define OFS_SLOT8 0x0032E675F9
#define OFS_LEVEL 0x00FFFB71E8
#define ESP_D3DTEAM 0x005B8A8
#define ESP_D3DNAME 0x00B5C4DC
#define ESP_D3DPING 0x005B8A8
|
|
|
02/17/2017, 15:05
|
#1113
|
elite*gold: 0
Join Date: Jul 2016
Posts: 38
Received Thanks: 14
|
Quote:
Originally Posted by CyberVeezy :)
Hier ein paar Addys mir war langweilig
Code:
#define ADR_PLAYERPOINTER 0x00B07758
#define ADR_SERVERPOINTER 0x00B0A138
#define ADR_WEAPONPOINTER 0x00990914
#define ADR_DEVICEPOINTER 0x00B0A1D0
#define ADR_USERPOINTER 0x00B07724
#define ADR_HEALTHPOINTER 0x0031FB8
#define ADR_FASTAMMO 0x00B0EB48
#define ADR_FASTREPAIR 0x00B0EAEC
#define ADR_NOSPREAD 0x00B064D8
#define ADR_QUICKDEFUSE 0x0050A697
#define OFS_SLOT5 0x0032E675F6
#define OFS_SLOT6 0x0032E675F7
#define OFS_SLOT7 0x0032E675F8
#define OFS_SLOT8 0x0032E675F9
#define OFS_LEVEL 0x00FFFB71E8
#define ESP_D3DTEAM 0x005B8A8
#define ESP_D3DNAME 0x00B5C4DC
#define ESP_D3DPING 0x005B8A8
|
Du lebscht noch? Adde mich mal auf skype
|
|
|
02/18/2017, 15:01
|
#1114
|
elite*gold: 0
Join Date: Apr 2013
Posts: 511
Received Thanks: 431
|
Wut is this?
Quote:
#define OFS_SLOT5 0x0032E675F6
#define OFS_SLOT6 0x0032E675F7
#define OFS_SLOT7 0x0032E675F8
#define OFS_SLOT8 0x0032E675F9
#define OFS_LEVEL 0x00FFFB71E8
|
Wie kann ein Offset so lange sein? Well played dude.
|
|
|
03/14/2017, 10:03
|
#1115
|
elite*gold: 0
Join Date: Sep 2014
Posts: 20
Received Thanks: 1
|
Request DamagesAs New On Bytes.. thanks and advance..
Quote:
Originally Posted by n4n033
Code:
//|||| -- N4n033 Ultimate Logger Starting -- ||||
// Starting Generating Pointers ...
#define Pointer_Player 0x00B127A0
#define Pointer_Server 0x00B11604
#define Pointer_Angles 0x00B0FC70
#define Pointer_Class 0x00B64F08
#define Pointer_Base 0x00B64588
#define Pointer_Weapon 0x00B30C9C
#define Pointer_HWND 0x00B0FC6C
#define Pointer_Device 0x00B0FC74
#define Pointer_Vehicle 0x00B0FD98
#define Pointer_Flags 0x00B19B68
#define Pointer_GMWarn 0x00B5F3A8
// Starting Generating Memory Addresses ...
#define Memory_GM_Warn_IP 0x00B5F3B8
#define Memory_GM_Warn 0x00B5F788
#define Memory_Fast_Ammo 0x00B17140
#define Memory_Fast_Medic 0x00B17148
#define Memory_Fast_Flag 0x00B17158
#define Memory_Fast_Lock_On 0x00AE1908
#define Memory_CrossHair 0x00911BA4
#define Memory_Speed 0x0092D280
#define Memory_Speed_Roll 0x0092C680
#define Memory_NoWater_1 0x00B199AC
#define Memory_NoWater_2 0x00B199B0
#define Memory_No_Spread_1 0x00B171DC
#define Memory_No_Spread_2 0x00B171E0
#define Memory_Scope 0x00B0FCB4
#define Memory_Scope_Size 0x00998EC0
#define Memory_No_Bounds_1 0x00C60034
#define Memory_No_Bounds_2 0x00C60038
#define Memory_No_Bounds_3 0x00C6003C
#define Memory_Weapon_Gravity 0x0092C450
#define Memory_IsReady 0x00B64FA0
#define Memory_No_Spawn_Wait_1 0x00C610B8
#define Memory_No_Spawn_Wait_2 0x00C610BC
#define Memory_No_Spawn_Wait_3 0x00C610C0
#define Memory_Super_No_Spread 0x0092C498
#define Memory_Plant_Any_Where 0x00B0FCBF
#define Memory_Def_Any_Where 0x00AF19F8
#define Memory_Bone_Shot 0x0092D608
#define Memory_Shoot_True_Walls 0x008EA2CC
#define Memory_Walk_True_Walls 0x008F1B30
#define Memory_CQC_Prone 0x00B12F48
#define Memory_AI_Weapons 0x00998EB0
#define Memory_Instant_Spawn 0x00C6A4DC
#define Memory_Unl_Ammo 0x00B10ACC
#define Memory_Quick_Plant 0x0092C522
#define Memory_Quick_Defuse 0x0092C526
#define Memory_Im_Drunk 0x00B10A80
#define Memory_FFA_Spawn_1 0x00B17168
#define Memory_FFA_Spawn_2 0x00B1716C
#define Memory_Flag_Time 0x00B17138
#define Memory_Flag_Counter 0x00B17148
#define Memory_PlantLocation 0x00998EE4
#define Memory_PushMeAway 0x009174A8
#define Memory_Plant_Defuse 0x00B07080
#define Memory_Invisible 0x009174AC
#define Memory_Camera_View 0x008F223C
#define Memory_Swim_1 0x00B127BC
#define Memory_Swim_2 0x00B127C0
#define Memory_Walk_True_Walls2 0x008F2394
#define Memory_Anti_AFK 0x00B0FD14
#define Memory_Ammo_Medic_Dist 0x0092D4D8
#define Memory_Fast_Nade_Expl 0x008EA2CC
#define Memory_Nade_Size 0x0092C998
#define Memory_Mixed_Zero 0x00B1BD98
#define Memory_Quick_Plant_Time 0x009984B8
#define Memory_Quick_Def_Time 0x009984C4
#define Memory_Assault_Clip 0x00B0FCCE
#define Memory_Sniper_Clip 0x00B0FCCE
#define Memory_Destroy_Veh 0x0092CAC0
#define Memory_In_Game_Name 0x00B64BB4
#define Memory_Window_Name 0x008F9A98
// Starting Generating Offset Addresses ...
#define Offset_Auto_Repair 0x0000005D
#define Offset_Slot_Base 0x0004DBE8
#define Offset_NFD 0x00010354
#define Offset_X 0x0001036C
#define Offset_Y 0x0001037C
#define Offset_Z 0x00010374
#define Offset_Level 0x0005B374
#define Offset_Dinar 0x0005B380
#define Offset_Slots 0x0004ED80
#define Offset_Premium 0x000003C4
#define Offset_Room_Master 0x0004C330
#define Offset_Super_Master 0x0004C28C
#define Offset_Player_Stare 0x00000528
#define Offset_Player_Size 0x00000AD8
#define Offset_Player_Slot 0x0005B8A8
#define Offset_No_Recoil_1 0x0000C484
#define Offset_No_Recoil_2 0x0000C488
#define Offset_No_Recoil_3 0x0000C48C
#define Offset_View_X 0x0001021C
#define Offset_View_Y 0x00010224
#define Offset_View_Z 0x00010220
#define Offset_Weapon_1 0x00010254
#define Offset_Weapon_2 0x00010256
#define Offset_Weapon_3 0x00010258
#define Offset_M134_Idle 0x00010464
#define Offset_Index 0x0000C4DC
#define Offset_Force_Kick 0x000491FC
#define Offset_In_Water 0x0000C528
#define Offset_In_Vehicle 0x0000041D
#define Offset_GM 0x000003BC
#define Offset_Time 0x00000638
#define Offset_Packet 0x000491FC
#define Offset_Game_Type 0x0004C108
#define Offset_Map_Num 0x0004C258
#define Offset_Room_Players 0x0004C278
#define Offset_Wep_Slot_0 0x0004ED80
#define Offset_Total_Kills 0x0005B38C
#define Offset_Total_Deaths 0x0005B390
#define Offset_Invisible 0x0005B3AC
#define Offset_Game_Server 0x0005B3BC
#define Offset_Login_Name 0x0005B3DC
#define Offset_Disp_Name 0x0005B41C
#define Offset_Base_Pos 0x0001023C
#define Offset_Write_Pos 0x0001036C
#define Offset_Status 0x000102B8
#define Offset_My_Player_Team 0x0005B8AC
#define Offset_Delay 0x000103F2
#define Offset_Device_Pointer 0x0002B930
#define Offset_Auto_Plant_Def 0x000103E4
#define Offset_Fast_Reload 0x00010479
#define Offset_Weapon_State 0x0000C52C
#define Offset_No_Reload 0x0001047C
#define Offset_Pitch 0x00010210
#define Offset_Leaning 0x00010214
#define Offset_Yaw 0x00010230
#define Offset_Pos_1 0x000102C0
#define Offset_Pos_2 0x000102C4
#define Offset_Pos_3 0x000102C8
#define Offset_CVeh 0x0000C520
#define Assembly_Auto_Ammo_1 0x00502A8F
#define Assembly_Auto_Ammo_2 0x00502ACF
#define Assembly_Auto_Medic_1 0x00502B96
#define Assembly_Auto_Medic_2 0x00502703
#define Assembly_Auto_Repair_1 0x0042BF57
#define Assembly_Auto_Repair_2 0x0042BF86
#define Assembly_Auto_Repair_3 0x0042C026
#define Assembly_Always_Cross 0x005A37CD
#define Assembly_No_Reload 0x005187FD
#define Assembly_No_Restric 0x004F1BF4
#define Assembly_Quick_Plant 0x0050E9CA
#define Assembly_Quick_Defuse 0x0050A3D4
#define Assembly_WTW 0x007AFF55
#define Assembly_STW 0x00641C7B
#define Assembly_STW_2 0x00641C81
#define Assembly_No_Delay 0x005184BE
#define Assembly_Bullets 0x0050C870
#define Assembly_OPK_X 0x0040806E
#define Assembly_OPK_Y 0x00408077
#define Assembly_OPK_Z 0x00408083
#define Assembly_Unl_Oxygen 0x00504A8B
#define Assembly_Prone 0x004F2EDA
#define Assembly_Damage_As 0x0050C77D
#define Assembly_GPS 0x005CFFAA
#define Assembly_FFA_GPS 0x005D0019
#define Assembly_Vehicle_Jump 0x00464D70
#define Assembly_Vehicle_Jump_2 0x00464D78
#define Assembly_Vehicle_Invis 0x00430190
#define Assembly_Anti_Flash 0x005DEF0B
#define Assembly_Anti_M14 0x005DEE37
#define Assembly_Over_Heat 0x007644A3
#define Assembly_Bone_Shot 0x004510F7
#define Assembly_Stamina_1 0x0045E63D
#define Assembly_Stamina_2 0x004019F8
#define Assembly_Stamina_3 0x00502F44
#define Assembly_Auto_Shot 0x004F1BE9
#define Assembly_Fast_Reload 0x00518AF3
#define Assembly_Fast_Reload_2 0x005CAFBA
#define Assembly_Artillery_1 0x0050947B
#define Assembly_Artillery_2 0x005C554A
#define Assembly_Artillery_3 0x005C55D0
#define Assembly_Artillery_4 0x005C5664
#define Assembly_Artillery_5 0x005C53AB
#define Assembly_Artillery_6 0x005A3E8A
#define Assembly_Artillery_7 0x005C554A
#define Assembly_Artillery_8 0x005C56E1
#define Assembly_GameNotice 0x006184CC
#define Assembly_SpamBot 0x005613F2
#define Assembly_GameText 0x004D0F2D
#define Assembly_GameMessage 0x004AE01B
#define Assembly_UnlAmmo 0x0050F6EC
#define Assembly_Command 0x004D58C5
#define Assembly_Visible 0x005EF084
#define Assembly_Get_Player 0x00******
#define Assembly_CRC 0x00648710
Credits : Me, UnknownPK, GHTheBoss, R3d_L!n3, WarLord & others I forgot
|
Can i request DamagesAs On Bytes
|
|
|
05/15/2017, 15:53
|
#1116
|
elite*gold: 0
Join Date: Apr 2016
Posts: 4
Received Thanks: 0
|
can you guys teach me to code no recoil , just no recoil thats all i want
|
|
|
05/25/2017, 09:15
|
#1117
|
elite*gold: 0
Join Date: Jul 2012
Posts: 1,426
Received Thanks: 1,370
|
Servus
Kann mir jemand aktulle addys und structs geben
Danke !
|
|
|
09/01/2017, 20:57
|
#1118
|
elite*gold: 0
Join Date: Dec 2011
Posts: 8
Received Thanks: 0
|
Quote:
Originally Posted by znoeen
Code:
class cPlayer
{
public:
char _0x0000[66716];
BYTE isAI; //0x1049C
char _0x1049D[3];
int aiControllerSession; //0x104A0
BYTE isDeadAI; //0x104A4
};
void demo()
{
cPlayer * player = GetPlayerByID(<zombie_id>);
player->aiControllerSession = 4;
}
aiControllerSession is the target id of the zombie (who he follows). Changing this value makes the zombies trippp. They are only turning rounds xD (or following teammember)
Setting isDeadAI to true. Causes to completly disable the zombie (doesn't move or attack you).
Credits:
Znoen
Mae
Alliance
Armour
|
Already made my no zombie attack in nomenu
|
|
|
11/09/2017, 00:36
|
#1119
|
elite*gold: 0
Join Date: Apr 2013
Posts: 4
Received Thanks: 0
|
Hey Leute,
würde mich freuen, wenn dass wenigstens einer zu lesen bekommt ![Smile](images/smilies/smile.gif)
Mano mano wie sich Warrock verändert hat und wie wenige Leute noch aktive sind...schade eigentlich...in meiner Kindheit habe ich dieses Spiel noch durch gesuchtet da gabs noch einen halb vollen Germany_3 Server, da die anderen überlastet waren ![Big Grin](images/smilies/biggrin.gif)
Und nun kriegen die ja kaum noch einen ganzen voll...
Naja soviel erstmal zur vergangenheit....wie gesagt habe ich mich damals mit Warrock beschäftigt und war auch ein richtiger Zocker...
Mittlwerweile bin älter geworden und konnte mir in der Zeit viel neues über Programmiersprachen aneignen...zwar habe ich mein Informatik Studium hingeschmissen und habe eine Ausbildung zum Fachinformatiker hinter mir...jedoch´bin ich der Java und C# Typ....da mich jedoch das entwickeln von Warrock Hacks schon im meiner Kindheit fasziniert hatte würde ich mich sehr gerne damit beschäftigen...damals noch no Menü Hacks mithilfe von Youtube Tutorials erstellt (Copy&Past) will ich nun wirklich etwas größeres Entwickeln bzw. mitwirken.
Das erste Problem ist das soweit ich weiß jeder C++ für die Erstellung der Warrock benutzt und ich damit noch keinerlei Erfahrungen gemacht habe...
Wenn keine andere möglichkeit außer C++ existiert würde ich mich daran setzen und versuchen es zu erlernen.
Zudem würde ich mich sehr darüber freuen, wenn mir einer unter die Arme greifen könnte in der Zeit, da sich doch vieles geändert hat und ich jetzt sozusagen alleine im großen Wald stehe
Würde mich über Antworten freuen und nochmehr darüber wenn sich jemand bereit erklärt etwas mit mir zusammen zu starten
Wünsche euch allen noch eine gute Nacht.
Euer Apfelsaft28
|
|
|
04/06/2018, 18:57
|
#1120
|
elite*gold: 420
Join Date: Jan 2012
Posts: 1,050
Received Thanks: 992
|
WarRock SDK
Most of the stuff has to be dereferenced before using like this
Code:
(*warrock::player)->position
addresses.hpp
Code:
#pragma once
#include "sdk/utility.hpp"
#include <cstdint>
#include <array>
namespace warrock {
namespace addr {
//constexpr std::uintptr_t player_pointer = 0xB09818;
//constexpr std::uintptr_t server_pointer = 0xB0873C;
//constexpr std::uintptr_t remote_player_pointer = 0xB09798;
//constexpr std::uintptr_t player_data_pointer = 0xB5A3D0;
//constexpr std::uintptr_t camera_pointer = 0xB06E60;
//constexpr std::uintptr_t trace_packs = 0xB06F18;
//constexpr std::uintptr_t server_send = 0x4D6623;
//constexpr std::uintptr_t server_send_bomb = 0x4D697B;
//constexpr std::uintptr_t server_send_exit = 0x4D623E;
//constexpr std::uintptr_t physics_world = 0xB06F94;
//constexpr std::uintptr_t item_manager = 0xB26700;
//constexpr std::uintptr_t water_enabled = 0xB0F3F4;
//constexpr std::uintptr_t occlusion = (water_enabled + 0x54);
//constexpr std::uintptr_t minimap_offset = (water_enabled + 0x30);
//constexpr std::uintptr_t flags = (occlusion + 0x168);
//constexpr std::uintptr_t bombs = (flags + 0x30);
//constexpr std::uintptr_t bomb_data = 0xAC6478;
//constexpr std::uintptr_t set_state_calls = 0x638FA7;
//constexpr std::uintptr_t no_spread = 0x925398;
//constexpr std::uintptr_t std_string_string = 0x7D6040;
//constexpr std::uintptr_t invisible = 0x990F38;
//constexpr std::uintptr_t is_visible = 0x613D34;
//constexpr std::uintptr_t ui_ingame_mgr = 0x407F95;
//constexpr std::uintptr_t no_bounds = 0xC56960;
//constexpr std::uintptr_t no_afk_kick = 0xB06F10;
//constexpr std::uintptr_t global_vars = 0xB0DF28;
//constexpr std::uintptr_t plant_anywhere = 0xB06E83;
//constexpr std::uintptr_t time_over = 0xC58078;
//constexpr std::uintptr_t save_delay = 0xC60C14;
//constexpr std::uintptr_t wait_respawn_time = 0xB0DF70;
//constexpr std::uintptr_t premium_crosshair = 0x909398;
//constexpr std::uintptr_t zoom = 0xB06EA4;
//constexpr std::uintptr_t read_level_done = 0xB06F74;
extern std::uintptr_t player_pointer;
extern std::uintptr_t server_pointer;
extern std::uintptr_t remote_player_pointer;
extern std::uintptr_t player_data_pointer;
extern std::uintptr_t camera_pointer;
extern std::uintptr_t trace_packs;
extern std::uintptr_t server_send;
extern std::uintptr_t server_send_bomb;
extern std::uintptr_t server_send_exit;
extern std::uintptr_t physics_world;
extern std::uintptr_t item_manager;
extern std::uintptr_t water_enabled;
extern std::uintptr_t occlusion;
extern std::uintptr_t minimap_offset;
extern std::uintptr_t flags;
extern std::uintptr_t bombs;
extern std::uintptr_t bomb_data;
extern std::uintptr_t set_state_calls;
extern std::uintptr_t no_spread;
extern std::uintptr_t std_string_string;
extern std::uintptr_t invisible;
extern std::uintptr_t is_visible;
extern std::uintptr_t ui_ingame_mgr;
extern std::uintptr_t no_bounds;
extern std::uintptr_t no_afk_kick;
extern std::uintptr_t global_vars;
extern std::uintptr_t plant_anywhere;
extern std::uintptr_t time_over;
extern std::uintptr_t save_delay;
extern std::uintptr_t wait_respawn_time;
extern std::uintptr_t premium_crosshair;
extern std::uintptr_t zoom;
extern std::uintptr_t read_level_done;
} // addr
//constexpr std::uintptr_t end_scene = 0x718851;
//constexpr std::uintptr_t draw_indexed_char = 0x8135DE;
//constexpr std::uintptr_t draw_indexed_misc = 0x7B7F23;
// constexpr std::uintptr_t reset = 0x712F6B; // 52 50 8B 41 40 FF D0 85 + 7
namespace pod {
struct global_vars
{
safe_value<float> ammo_box_cool_time; // 0x00
safe_value<float> health_box_cool_time; // 0x08
safe_value<float> ammo_box_delay; // 0x10
safe_value<float> health_box_delay; // 0x18
safe_value<float> ammo_box_time; // 0x20
safe_value<float> health_box_time; // 0x28
safe_value<float> control_point_delay_time; // 0x30
safe_value<float> control_point_time; // 0x38
safe_value<bool> show_crosshair; // 0x40
safe_value<int> wait_respawn_time; MAKE_PADDING(0x50, 0x00, 0xBC); // 0x48
safe_value<float> crosshair_factors;
};
} // pod
extern std::uintptr_t *(__stdcall *construct_std_string)(std::uint8_t *data, const char* name);
extern std::array<std::uintptr_t, 2> *occlusion;
extern std::array<std::uintptr_t, 2> *flags;
extern float *invisible;
extern float *no_afk_kick;
extern float *no_bounds;
extern double *no_spread;
extern safe_value<bool> *water_enabled;
extern safe_value<float> *water_height;
extern safe_value<float> *ai_min_height;
extern bool *plant_anywhere;
extern int *time_over;
extern int *save_delay;
extern pod::global_vars *global_vars;
} // warrock
addresses.cpp
Code:
#include "addresses.hpp"
namespace warrock {
namespace addr {
std::uintptr_t player_pointer = 0;
std::uintptr_t server_pointer = 0;
std::uintptr_t remote_player_pointer = 0;
std::uintptr_t player_data_pointer = 0;
std::uintptr_t camera_pointer = 0;
std::uintptr_t trace_packs = 0;
std::uintptr_t server_send = 0;
std::uintptr_t server_send_bomb = 0;
std::uintptr_t server_send_exit = 0;
std::uintptr_t physics_world = 0;
std::uintptr_t item_manager = 0;
std::uintptr_t water_enabled = 0;
std::uintptr_t occlusion = 0;
std::uintptr_t minimap_offset = 0;
std::uintptr_t flags = 0;
std::uintptr_t bombs = 0;
std::uintptr_t bomb_data = 0;
std::uintptr_t set_state_calls = 0;
std::uintptr_t no_spread = 0;
std::uintptr_t std_string_string = 0;
std::uintptr_t invisible = 0;
std::uintptr_t is_visible = 0;
std::uintptr_t ui_ingame_mgr = 0;
std::uintptr_t no_bounds = 0;
std::uintptr_t no_afk_kick = 0;
std::uintptr_t global_vars = 0;
std::uintptr_t plant_anywhere = 0;
std::uintptr_t time_over = 0;
std::uintptr_t save_delay = 0;
std::uintptr_t wait_respawn_time = 0;
std::uintptr_t premium_crosshair = 0;
std::uintptr_t zoom = 0;
std::uintptr_t read_level_done = 0;
};
std::uintptr_t *(__stdcall *construct_std_string)(std::uint8_t *, const char* ) = (decltype(construct_std_string))warrock::addr::std_string_string;
std::array<std::uintptr_t, 2> *occlusion = reinterpret_cast<std::array<std::uintptr_t, 2> *>(addr::occlusion);
std::array<std::uintptr_t, 2> *flags = reinterpret_cast<std::array<std::uintptr_t, 2> *>(addr::flags);
float *invisible = reinterpret_cast<float *>(addr::invisible);
float *no_afk_kick = reinterpret_cast<float *>(addr::no_afk_kick);
float *no_bounds = reinterpret_cast<float *>(addr::no_bounds);
double *no_spread = reinterpret_cast<double *>(addr::no_spread);
safe_value<bool> *water_enabled = reinterpret_cast<safe_value<bool> *>(addr::water_enabled);
safe_value<float> *water_height = reinterpret_cast<safe_value<float> *>(addr::water_enabled + 0x8);
safe_value<float> *ai_min_height = reinterpret_cast<safe_value<float> *>(addr::water_enabled + 0xC);
bool *plant_anywhere = reinterpret_cast<bool *>(addr::plant_anywhere);
int *time_over = reinterpret_cast<int *>(addr::time_over);
int *save_delay = reinterpret_cast<int *>(addr::save_delay);
pod::global_vars *global_vars = reinterpret_cast<pod::global_vars *>(addr::global_vars);
} // warrock
camera.hpp
Code:
#pragma once
#include <cstdint>
#include "math/vector4.hpp"
#include "sdk/addresses.hpp"
#include "sdk/utility.hpp"
#include <d3d9.h>
#undef near
#undef far
namespace warrock {
namespace pod {
using matrix4x4 = float[4][4];
struct camera
{
virtual void has_virtuals();
void *input_device;
int mode;
float cam_speed;
float cam_dist;
float fov;
float near;
float far;
math::vec3f real_position;
math::vec3f position;
math::vec3f look_at;
math::vec3f up;
union {
struct {
float pitch;
float yaw;
};
math::vec2f cur_angles;
};
float pitch_speed;
float yaw_speed;
float mouse_smoothing;
bool flip;
std::uint8_t alignment[3];
float max_horizontal_angle;
float min_horizontal_angle;
float max_vertical_angle;
float min_vertical_angle;
bool limit_angle[4];
math::vec3f cam_dir;
float move_smoothing;
math::vec3f move_vel;
math::vec3f cam_dir_backup;
math::vec3f look_at_backup;
math::vec3f position_backup;
float pitch_backup;
float yaw_backup;
int mouse_x;
int mouse_y;
bool l_button_down;
bool r_button_down;
bool m_button_down[2];
float avg_x;
float avg_y;
float avg_x_2;
float avg_y_2;
int joystick_data[4];
matrix4x4 view;
matrix4x4 project;
};
struct renderer
{
void **vftable; MAKE_PADDING(0x04, 0x00000, 0x2B930);
IDirect3DDevice9 *device; MAKE_PADDING(0x04, 0x2B930, 0x2B94C);
int screen_width;
int screen_height; MAKE_PADDING(0x08, 0x2B94C, 0x31E38);
matrix4x4 view;
matrix4x4 proj;
math::vec2f screen_center() const { return{ 0.5f * screen_width, 0.5f * screen_height }; }
};
} // pod
extern pod::renderer **renderer;
extern pod::camera **camera;
} // warrock
camera.cpp
Code:
#include "camera.hpp"
namespace warrock {
pod::camera **camera = reinterpret_cast<pod::camera **>(addr::camera_pointer);
pod::renderer **renderer = reinterpret_cast<pod::renderer **>(addr::camera_pointer + 4);
} // warrock
hud_manager.hpp
Code:
#pragma once
#include <cstdint>
#include "sdk/addresses.hpp"
#include "sdk/utility.hpp"
#pragma pack(push, 1)
#include "format/format.h"
namespace warrock {
namespace pod {
struct vote_kick_data
{
int vote_state;
int vote_time;
int vote_result;
int vote_result_time;
int vote_player_slot;
int request_player_slot;
int vote_rate;
};
struct ingame_message_event
{
MAKE_PADDING(0x00, 0x000, 0x15C);
float action_boom_install_time;
float action_boom_uninstall_time;
float action_end_time;
};
struct ui_ingame_manager
{
MAKE_PADDING(0x00, 0x000, 0x01C);
ingame_message_event *message_event; MAKE_PADDING(0x04, 0x01C, 0x024);
void *minimap; MAKE_PADDING(0x04, 0x024, 0x184);
safe_value<int> respawn_time; MAKE_PADDING(0x08, 0x184, 0x198);
safe_value<std::uint32_t> request_active;
safe_value<std::uint32_t> request_count;
safe_value<std::uint32_t> next_request_time;
float attack_position[3];
float gun_position[3];
float gun_distance;
std::uint32_t gun_countdown;
float enemy_pos[3];
bool end_countdown;
bool intude;
char alignment[3];
vote_kick_data kick_data;
static ui_ingame_manager *instance()
{
using func_t = warrock::pod::ui_ingame_manager *(__cdecl *)();
static ui_ingame_manager *instance_ptr = reinterpret_cast<func_t>(addr::ui_ingame_mgr)();
return instance_ptr;
}
};
} // pod
using ui_ingame_manager = pod::ui_ingame_manager;
} // warrock
packet.hpp
Code:
#pragma once
#include <cstdint>
#include <array>
#include <any>
#include "math/vector4.hpp"
#include "addresses.hpp"
#include "server.hpp"
#pragma pack(push, 1)
namespace warrock {
enum class BOMB_TYPE : int
{
BOMB_TIMER = 0,
BOMB_BUTTON = 1,
BOMB_MINE = 2,
MAX_BOMB_TYPE = 3
};
enum class BOMB_CMD : int
{
BOMB_LAY = 0,
BOMB_EXPLODE = 1,
BOMB_REMOVE = 2,
BOMB_COUNT = 3,
BOMB_COUNT_EXPLODE = 4,
BOMB_COUNT_NONEEXPLODE = 5
};
struct room_in_protocol_extended_t { explicit room_in_protocol_extended_t() = default; };
struct room_in_protocol_lobby_t { explicit room_in_protocol_lobby_t() = default; };
constexpr room_in_protocol_extended_t extended{};
constexpr room_in_protocol_lobby_t lobby{};
struct bomb_data
{
bomb_data(BOMB_CMD cmd_code, BOMB_TYPE type, int serial, int sub_code, math::vec3f position, math::vec3f velocity = {}, int count = 0)
: session((*server)->data.player_slot), cmd_code(cmd_code), type(type), serial(serial), sub_code(sub_code), position(position), velocity(velocity), count(count) {}
bool send()
{
auto cmd_proc = &(*server)->cmd_proc;
_asm mov esi, this
_asm mov eax, cmd_proc;
_asm call [addr::server_send_bomb];
}
int session; // 0x00
BOMB_CMD cmd_code; // 0x04
BOMB_TYPE type; // 0x08
int serial; // 0x0C
int sub_code; // 0x10
math::vec3f position; // 0x14
math::vec3f velocity; // 0x20
int count; // 0x2C
};
namespace {
struct dummy_t { explicit dummy_t() = default; };
constexpr dummy_t dummy{};
}
class room_in_protocol
{
public:
template <typename... Ts>
room_in_protocol(GM_HI_STATE hi_msg, GM_LO_STATE lo_msg, Ts&&...extra_args) : room_in_protocol(dummy, hi_msg, lo_msg)
{
std::vector<std::any> any_args{ std::forward<Ts>(extra_args)... };
/*
TODO rewrite
*/
auto char_args = std::data(args.chars);
auto float_args = std::data(args.floats);
auto integer_args = std::data(args.ints);
for (auto arg : any_args)
{
if (arg.type() == typeid(room_in_protocol_extended_t))
extended = true;
else if (arg.type() == typeid(room_in_protocol_lobby_t))
lobby = true;
else if (arg.type() == typeid(float))
*float_args++ = std::any_cast<float>(arg);
else if (arg.type() == typeid(math::vec3f)) {
math::vec3f vec = std::any_cast<math::vec3f>(arg);
*float_args++ = vec.x;
*float_args++ = vec.y;
*float_args++ = vec.z;
}
else if (arg.type() == typeid(int))
*integer_args++ = std::any_cast<int>(arg);
else if (arg.type() == typeid(unsigned int))
*integer_args++ = static_cast<int>(std::any_cast<unsigned int>(arg));
else if (arg.type() == typeid(long))
*integer_args++ = static_cast<int>(std::any_cast<long>(arg));
else if (arg.type() == typeid(unsigned long))
*integer_args++ = static_cast<int>(std::any_cast<unsigned long>(arg));
else if (arg.type() == typeid(short))
*integer_args++ = static_cast<int>(std::any_cast<short>(arg));
else if (arg.type() == typeid(unsigned short))
*integer_args++ = static_cast<int>(std::any_cast<unsigned short>(arg));
else if (arg.type() == typeid(unsigned char))
*integer_args++ = static_cast<int>(std::any_cast<unsigned char>(arg));
else if (arg.type() == typeid(char))
*char_args++ = std::any_cast<char>(arg);
else try { // untested
auto str = std::any_cast<const char *>(arg);
auto len = std::strlen(str);
std::memcpy(char_args, str, len);
std::advance(char_args, ++len);
}
catch (const std::bad_any_cast&) {
throw std::exception("Unimplemented any type!");
}
}
}
bool send()
{
using send_t = bool(__fastcall *)(pod::command_process *, room_in_protocol *);
return reinterpret_cast<send_t>(addr::server_send)(&(*server)->cmd_proc, this);
}
const int get_player_slot() const { return player_slot; };
const bool is_extended() const { return extended; };
const bool is_lobby() const { return lobby; };
const auto &get_args() const { return args; };
private:
room_in_protocol(dummy_t, GM_HI_STATE hi_msg, GM_LO_STATE lo_msg) : session((*server)->data.session), player_slot((*server)->data.player_slot), room_num((*server)->data.room_number), lobby(false), extended(false), alignment{ false, false }, hi_msg(hi_msg), lo_msg(lo_msg)
{
memset(&args, 0, sizeof(*this) - offsetof(room_in_protocol, args));
};
struct extra_args_t
{
std::array<int, 13> ints; // 0x00
std::array<float, 8> floats; // 0x34
std::array<char, 300> chars; // 0x58
};
int session; // 0x00
int player_slot; // 0x04
int room_num; // 0x08
bool lobby; // 0x0C
bool extended; // 0x0D
char alignment[2]; // 0x0E
GM_HI_STATE hi_msg; // 0x10
GM_LO_STATE lo_msg; // 0x14
extra_args_t args; // 0x18
};
namespace packet {
using namespace std::placeholders;
auto sender = [](warrock::GM_HI_STATE hi_state, warrock::GM_LO_STATE lo_state, auto&&... args) {
return warrock::room_in_protocol{ hi_state, lo_state, std::forward<decltype(args)>(args)... }.send();
};
auto commit_suicide = std::bind(sender, GM_HI_STATE::GM_EVENT, GM_LO_STATE::GCMD_E_SUICIDE, _1);
auto heal_player = std::bind(sender, GM_HI_STATE::GM_EVENT, GM_LO_STATE::GCMD_E_HEALING_PLAYER, _1, 1);
auto refill_ammo = std::bind(sender, GM_HI_STATE::GM_EVENT, GM_LO_STATE::GCMD_E_RELOAD_PLAYER, _1);
auto conquest_flag = std::bind(sender, GM_HI_STATE::GM_EVENT, GM_LO_STATE::GCMD_E_CONQUEST_CAMP, _1, 0, 0, 0, 3, 20, 0, 0);
auto kick_player = std::bind(sender, GM_HI_STATE::GM_EVENT, GM_LO_STATE::GCMD_E_VOTE_KICK, warrock::lobby, 0, _1, 0, 0, _2);
auto respawn = std::bind(sender, GM_HI_STATE::GM_EVENT, GM_LO_STATE::GCMD_E_PLAYER_REGEN, warrock::extended, _1, _2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 'ÿ', 'ÿ', 'ÿ', 'ÿ', 'ÿ', 'ÿ', 'ÿ', 'ÿ', 'ÿ', 'ÿ', 'ÿ', 'ÿ', 'ÿ', 'ÿ', 'ÿ', 'ÿ', 'ÿ', 'ÿ', 'ÿ', 'ÿ', 'ÿ', 'ÿ', 'ÿ', 'ÿ', 'ÿ', 'ÿ');
auto hit_once = std::bind(sender, GM_HI_STATE::GM_EVENT, GM_LO_STATE::GCMD_E_DAMAGED_PLAYER, warrock::extended, 1, _1, _2, _3, 0, _3, 1, 0, 0, 1319, 0, 0, 0, 111.f, 222.f, 333.f, 4.f, 0.f, 10.f, 5.f, 0.f, 'D', 'B', '0', '1', '3', '1', '9', '9');
auto damage = std::bind(sender, GM_HI_STATE::GM_EVENT, GM_LO_STATE::GCMD_E_DAMAGED_PLAYER, warrock::extended, 1, _1 /*target*/, _2 /*attacker*/, _3 /*weapon*/, 0, _3, _4 /*slot*/, 0, _5 /*is nade*/, _6 /*bone + sess*/, 0, 0, 0, _7 /*pos*/, 4.f /*damaged area?*/, 0.f, _8 /*ammo*/, _9 /*magazine*/, _10 /*effect range*/, _11 /*weapon code*/);
auto exit_room = []() -> bool {
auto cmd_proc = &(*warrock::server)->cmd_proc;
_asm mov eax, cmd_proc
_asm call[addr::server_send_exit]
};
} // packet
} // warrock
#pragma pack(pop)
player.hpp
Code:
#pragma once
#include <cstdint>
#include <string>
#include "math/vector4.hpp"
#include "sdk/addresses.hpp"
#include "sdk/utility.hpp"
#include "sdk/vehicle.hpp"
#pragma pack(push, 1)
namespace warrock {
namespace pod {
struct spatial_object
{
MAKE_PADDING(0x00, 0x00, 0xA4);
float position[3];
};
struct default_spatial_object_palette // RD::AVRDDefaultSpatialObjectPalette : RD::AVRDSpatialObjectPalette : RD::AVRDObject : RD::AVRDRefObject
{
virtual void func0();
virtual void func1();
virtual void func2();
virtual void func3();
virtual void func4();
virtual void func5();
virtual void func6();
virtual void func7();
virtual void func8();
virtual void func9();
virtual void func10();
virtual spatial_object *get_spatial_object(std::uint8_t *name);
};
struct custom_char // RD::AVWRCustomChar : RD::AVRDRefObject
{
MAKE_PADDING(0x00, 0x00, 0x28);
default_spatial_object_palette *scene_graph_palette;
};
struct third_person_handle
{
MAKE_PADDING(0x00, 0x00, 0xBC);
pod::custom_char *custom_char;
};
struct character_state
{
virtual void begin_state(void *p);
std::int16_t type;
std::int16_t unk;
};
struct character_motion_state : character_state {
bounding_box bounding;
float bounding_mat[4][4];
};
struct character_upper_state : character_state {};
struct character_lower_state : character_state {};
namespace {
constexpr std::uintptr_t get_relative_operand(std::uintptr_t operation) {
return operation + *reinterpret_cast<std::uintptr_t *>(operation + 1) + 5;
}
}
struct cls_instances
{
using character_lower_state_ptr = character_lower_state *;
cls_instances() = default;
void initialize()
{
using get_state_instance_t = character_lower_state *(__cdecl *)(void);
std::uintptr_t get_state_table = get_relative_operand(warrock::addr::set_state_calls)/*0x4FC39D*/ + 0x10;
get_state_instance_t get_state = reinterpret_cast<get_state_instance_t>(get_relative_operand(get_state_table));
for (character_lower_state_ptr *state = &move; state != &end; ++state) {
*state = get_state();
get_state_table += 0x7;
get_state = reinterpret_cast<get_state_instance_t>(get_relative_operand(get_state_table));
}
}
character_lower_state_ptr move, jump, die, damage_fly, roll, emotion, change_shift, change_crouch,
parachute_put_on, parachute_fall, parachute_take_off, lean, idle;
private:
character_lower_state_ptr end;
};
struct cus_instances
{
using character_upper_state_ptr = character_upper_state *;
cus_instances() = default;
void initialize()
{
using get_state_instance_t = character_upper_state *(__cdecl *)(void);
std::uintptr_t get_state_table = get_relative_operand(warrock::addr::set_state_calls + 0xB) + 0x1B;
get_state_instance_t get_state = reinterpret_cast<get_state_instance_t>(get_relative_operand(get_state_table));
for (character_upper_state_ptr *state = &emotion; state != &end; ++state) {
*state = get_state();
get_state_table += 0x7;
get_state = reinterpret_cast<get_state_instance_t>(get_relative_operand(get_state_table));
}
}
character_upper_state_ptr emotion, roll, reload, change, fire, idle_event, idle;
private:
character_upper_state_ptr end;
};
struct cbs_instances
{
using character_motion_state_ptr = character_motion_state *;
cbs_instances() = default;
void initialize()
{
using get_state_instance_t = character_motion_state *(__cdecl *)(void);
std::uintptr_t get_state_table = get_relative_operand(warrock::addr::set_state_calls + 0x16) + 0x18;
get_state_instance_t get_state = reinterpret_cast<get_state_instance_t>(get_relative_operand(get_state_table));
for (character_motion_state_ptr *state = &ladder; state != &end; ++state) {
*state = get_state();
get_state_table += 0x7;
get_state = reinterpret_cast<get_state_instance_t>(get_relative_operand(get_state_table));
}
}
character_motion_state_ptr ladder, swim, ride, crouch, shift, normal;
private:
character_motion_state_ptr end;
};
struct player_data
{
MAKE_PADDING(0x00, 0x000, 0x0F0);
char peer_name[20]; MAKE_PADDING(0x14, 0x0F0, 0x584);
std::uint32_t experience; MAKE_PADDING(0x04, 0x584, 0x59C);
std::uint32_t total_kills;
std::uint32_t total_deaths; MAKE_PADDING(0x08, 0x59C, 0x5BC);
std::uint32_t session; MAKE_PADDING(0x04, 0x5BC, 0x5EC);
char login_name[20]; MAKE_PADDING(0x14, 0x5EC, 0x62C);
char name[20]; MAKE_PADDING(0x14, 0x62C, 0x674);
char clan_name[20]; MAKE_PADDING(0x14, 0x674, 0x96C);
int score;
int kills;
int deaths;
int flags; MAKE_PADDING(0x10, 0x96C, 0x984);
int health;
int max_health;
int branch; MAKE_PADDING(0x0C, 0x984, 0x9A8);
int assists; MAKE_PADDING(0x04, 0x9A8, 0xA24);
bool ready; MAKE_PADDING(0x01, 0xA24, 0xAC0);
std::int32_t room_number;
std::int32_t player_slot;
std::uint8_t team; MAKE_PADDING(0x09, 0xAC0, 0xAE8);
bool is_enemy() const;
bool is_ally() const;
bool is_alive() const;
bool is_hurt() const;
bool is_real() const;
};
struct speed_factors
{
float dash = 1.5f;
float zero = 0.0f; // unknown
float forward = 1.0f;
float backward = 0.7f;
float right = 0.55f;
float left = 0.55f;
};
struct personal_weapon_pack // TODO pod::warrock::personal_weapon_pack -- move to pod::weapon::
{
struct pack
{
char code[4];
std::int16_t unk;
std::int16_t index;
std::uint32_t ammo_denom;
std::uint32_t ammo_num;
std::uint32_t mag_denom;
std::uint32_t mag_num;
std::uint32_t extra_ammo;
};
MAKE_PADDING(0x00, 0x00, 0x0C);
std::vector<pack> packs;
};
struct control_variable
{
bool is_control;
char alignment[0x3];
float lerp_time;
float cur_pos_time;
float cur_euler_time;
float cur_upper_spine_theta_time;
float cur_upper_spine_bend_theta_time;
float cur_angle_time;
math::vec3f origin_pos;
math::vec3f dest_pos;
math::vec3f origin_euler;
math::vec3f dest_euler;
float origin_upper_spine_theta;
float dest_upper_spine_theta;
float origin_upper_spine_bend_theta;
float dest_upper_spine_bend_theta;
math::vec3f origin_angle;
math::vec3f dest_angle;
math::vec3f cur_angle;
};
struct player
{
MAKE_PADDING(0x000, 0x00000, 0x062C4);
float stamina_decrease; MAKE_PADDING(0x004, 0x062C4, 0x062D8);
personal_weapon_pack *weapon_pack;
safe_value<float> cam_recovery_factor;
safe_value<float> cam_nockback_factor;
safe_value<float> cam_feedback_factor;
std::int32_t ladder_index; MAKE_PADDING(0x020, 0x062D8, 0x06304);
float idle_event_time;
bool setup_c4;
bool lean_left;
bool lean_right;
bool __alignment;
float send_network_packet_time;
bool send_network_packet_one_send; MAKE_PADDING(0x00D, 0x06304, 0x06334);
std::int32_t force_skip_wasd;
std::int32_t index;
bool skip_play_healing_sound;
bool dash;
std::int16_t __alignment2;
math::vec3f adding_force;
math::vec3f velocity; MAKE_PADDING(0x024, 0x06334, 0x0637C);
physics_unit *ride_unit;
character_lower_state *pre_lower_state;
character_motion_state *motion_state;
character_upper_state *upper_state;
character_lower_state *lower_state; MAKE_PADDING(0x014, 0x0637C, 0x06ED4);// MAKE_PADDING(0x014, 0x0C520, 0x10184); //x // __int16 m_nCustomParts[27]; char m_PartsPacketData[27] custom_info m_kCustomState;
float speed;
float no_spread; MAKE_PADDING(0x008, 0x06ED4, 0x06EE4);
std::int16_t backup_weapon;
std::int16_t __alignment3;
control_variable control;
std::uint16_t mode;
bool auto_change_mode;
bool __alignment4;
float thigh_theta;
float cur_thigh_theta;
float upper_spine_theta; // pitch
float upper_spine_bend_theta;
math::vec3f ground_normal;
float head_theta;
float upper_theta;
float theta; //yaw
float local_rer_theta;
float upper_rer_theta;
math::vec3f save_pos;
math::vec3f linear_vel;
std::int16_t weapon;
std::int16_t prev_weapon;
std::int16_t unk;
std::int16_t branch;
std::int16_t slot;
std::int16_t __alignment5;
std::int32_t gender; // 1 = male, 2 = female
bool able_drop;
char __alignment6[3];
float parachute_matrix[4][4];
math::vec3f parachute_direction;
std::uint32_t upper_animation;
std::uint32_t lower_animation;
std::int16_t pre_fire_index;
std::int16_t __alignment7;
math::vec3f head_position;
math::vec3f head_look_at;
math::vec3f __unk;
math::vec3f gun_look_at;
math::vec3f gun_position;
char character_definition_crap[0x38];
void *first_person;
third_person_handle *third_person;
std::int16_t on_ground;
std::int16_t on_ground_backup;
float upper_offset;
math::vec3f damage_theta_axis;
float damage_theta;
safe_value<float> save_jump_y;
std::int32_t __alignment8;
bool forward;
bool backward;
bool left;
bool right;
std::int32_t is_arrangement;
std::int32_t char_index;
safe_value<math::vec3f> position;
math::vec3f save_pos2;
math::vec3f euler;
math::vec3f center;
float radius;
math::vec3f ambient;
math::vec3f diffuse;
std::int32_t ride_order;
physics_unit *parachute;
bool is_ride_parachute;
char __alignment9[3];
float flickering_time;
float skill_effect_time;
std::int32_t __alignment10;
std::int32_t c4_notify_count;
std::int32_t nipper_notify_count;
std::int32_t end_action_count;
std::int32_t auto_wrench_sound_idx;
std::int16_t hack_tool_notify_count;
std::int16_t hack_tool_step;
bool setup_hack_tool;
std::int8_t first_fire_an94;
std::int16_t fire_index;
bool dash_attack;
char __alignment11[3];
float rotate_factor;
float height_offset;
float h_upper_offset;
float find_light_time;
std::int16_t roll_id;
std::int16_t emotion_id;
std::int16_t roll_notify_tick; MAKE_PADDING(0x28A, 0x06EE4, 0x071BC);
std::int32_t ladder_state;
std::int32_t change_notify_count;
std::int32_t reload_notify_count;
float m134_rot_theta;
float m134_rot_speed;
bool fire_reserve_flag;
bool left_lean;
bool right_lean;
bool __alignment12;
std::int32_t animation_flag;
bool render_shadow_switch;
char __alignment13[0x3];
speed_factors factors;
bool ai;
char __alignment14[0x3];
int ai_controller_session;
bool is_dead_ai;
const player_data &data() const;
bool is_enemy() const;
bool is_ally() const;
bool is_alive() const;
bool is_hurt() const;
bool is_invincible() const;
bool is_real() const;
bool is_valid_id() const;
static bool is_valid_id(int index);
};
} // pod
extern pod::player **player;
extern std::array<pod::player *, 32> *players;
extern std::array<pod::player_data, 8> *spectator_data;
extern std::array<pod::player_data, 32> *player_data;
//extern pod::cls_instances cls_instances;
//extern pod::cus_instances cus_instances;
//extern pod::cbs_instances cbs_instances;
static pod::cls_instances cls_instances;
static pod::cus_instances cus_instances;
static pod::cbs_instances cbs_instances;
} // warrock
#pragma pack(pop)
player.cpp
Code:
#include "sdk/player.hpp"
#include "sdk/server.hpp"
using std::decay_t;
namespace warrock {
pod::player **player = reinterpret_cast<decay_t<decltype(player)>>(addr::player_pointer);
std::array<pod::player *, 32> *players = reinterpret_cast<decay_t<decltype(players)>>(addr::remote_player_pointer);
std::array<pod::player_data, 8> *spectator_data = reinterpret_cast<decay_t<decltype(spectator_data)>>(addr::player_data_pointer - 8 * sizeof(pod::player_data));
std::array<pod::player_data, 32> *player_data = reinterpret_cast<decay_t<decltype(player_data)>>(addr::player_data_pointer);
/* pod::cls_instances cls_instances;
pod::cus_instances cus_instances;
pod::cbs_instances cbs_instances;*/
namespace pod {
bool player_data::is_enemy() const {
return player_slot != (*warrock::server)->data.player_slot && ((*warrock::server)->room.game_mode == GAME_MODE::FFA || team != (*warrock::server)->data.team);
}
bool player_data::is_ally() const {
return !is_enemy();
}
bool player_data::is_alive() const {
return health > 0;
}
bool player_data::is_hurt() const {
return health < max_health;
}
bool player_data::is_real() const {
return player::is_valid_id(player_slot) && std::strlen(name) > 2;
}
const player_data &player::data() const {
return (*warrock::player_data)[index];
}
bool player::is_enemy() const {
return data().is_enemy();
}
bool player::is_ally() const {
return !is_enemy();
}
bool player::is_alive() const {
return data().is_alive() && (!ai || !is_dead_ai) && lower_state != warrock::cls_instances.die;
}
bool player::is_hurt() const {
return data().is_hurt();
}
bool player::is_real() const {
return data().is_real();
}
bool player::is_invincible() const {
return !ai && flickering_time > 0.f;
}
bool player::is_valid_id() const {
return is_valid_id(index);
}
bool player::is_valid_id(int index) {
return index >= 0 && index < 32;
}
} // pod
} // warrock
server.hpp
Code:
#pragma once
#include <cstdint>
#include "sdk/addresses.hpp"
#include "sdk/player.hpp"
#include "sdk/weapon.hpp"
#include "sdk/utility.hpp"
#pragma pack(push, 1)
namespace warrock {
enum class GM_HI_STATE
{
GM_INVALID = 0x0,
GM_CONTOL = 0x1, // [sic]
GM_EVENT = 0x2
};
enum class GM_LO_STATE
{
GCMD_INVALID = 0x0,
GCMD_C_START_GAME = 0x1,
GCMD_C_LOADING_MAP_START = 0x2,
GCMD_C_LOADING_MAP_DONE = 0x3,
GCMD_C_GAME_START = 0x4,
GCMD_C_ROUND_OVER = 0x5,
GCMD_C_GAME_OVER = 0x6,
GCMD_C_GAME_OVER_DONE = 0x7,
GCMD_C_RESULT_SHOW = 0x8,
GCMD_C_RETURN_LOBBY = 0x9,
GCMD_E_READY_CLICK = 0x32,
GCMD_E_MAP_CLICK = 0x33,
GCMD_E_TYPE_CLICK = 0x34,
GCMD_E_ROUND_CLICK = 0x35,
GCMD_E_TIME_CLICK = 0x36,
GCMD_E_KILL_CLICK = 0x37,
GCMD_E_TEAM_CLICK = 0x38,
GCMD_E_SCORE_CLICK = 0x39,
GCMD_E_HOLD_CLICK = 0x3A,
GCMD_E_PING_CLICK = 0x3B,
GCMD_E_VOTERATE_CLICK = 0x3C,
GCMD_E_VOTE_KICK = 0x3D,
GCMD_E_AUTOSTART_CLICK = 0x3E,
GCMD_E_AILEVEL_CLICK = 0x3F,
GCMD_E_BRANCH_CLICK = 0x64,
GCMD_E_HEALING_PLAYER = 0x65,
GCMD_E_HEALING_UNIT = 0x66,
GCMD_E_DAMAGED_PLAYER = 0x67,
GCMD_E_DAMAGED_UNIT = 0x68,
GCMD_E_RELOAD_PLAYER = 0x69,
GCMD_E_RELOAD_UNIT = 0x6A,
GCMD_E_INVALID_BULLET = 0x6B,
GCMD_E_PLAYER_REGEN = 0x96,
GCMD_E_UNIT_REGEN = 0x97,
GCMD_E_PLAYER_DIE = 0x98,
GCMD_E_UNIT_DIE = 0x99,
GCMD_E_PLAYER_DENY = 0x9A,
GCMD_E_CHANGE_WEAPONS = 0x9B,
GCMD_E_CONQUEST_CAMP = 0x9C,
GCMD_E_SUICIDE = 0x9D,
GCMD_E_SUICIDE_UNIT = 0x9E,
GCMD_E_FIRE_ARTILLERY = 0x9F,
GCMD_E_FIRE_FLARE = 0xA0,
GCMD_E_OBJECT_RIDE = 0xC8,
GCMD_E_OBJECT_CHANGE_SEAT = 0xC9,
GCMD_E_OBJECT_ALIGHT = 0xCA,
GCMD_E_OBJECT_NETSTART = 0xCB,
GCMD_E_DUMMY_PACKET = 0x12C,
GCMD_E_ITEM_DROP = 0x190,
GCMD_E_ITEM_PICKUP = 0x191,
GCMD_E_STAND_BY = 0x192,
GCMD_E_GO = 0x193,
GCMD_E_CRASH_OBJECT = 0x1F4,
GCMD_E_MISSION = 0x258,
GCMD_E_ISHERO = 0x2BC,
GCMD_E_HERO_SKILL = 0x2BD,
GCMD_E_HERO_HEAL_SKILL = 0x2BE,
GCMD_E_HACK_PREVENT = 0x320,
GCMD_E_AI_DAMAGE_SP = 0x384,
GCMD_E_AI_ITEM_DROP = 0x385,
GCMD_E_AI_ITEM_PICKUP = 0x386,
GCMD_E_AI_ITEM_DELETE = 0x387,
GCMD_E_TRACE_GAS = 0x388
};
enum class CMD_CODE : int
{
DO_UDP_PEER_ADDR = 8448,
/* UNKNOWN_UNUSED = 12288 */
/* UNKNOWN_UNUSED = 16896 */
/* UNKNOWN_UNUSED = 16897 */
/* UNKNOWN_UNUSED = 16912 */
/* UNKNOWN_UNUSED = 16928 */
DO_UDP_CHAR_MOVE = 12544,
DO_UDP_CHAR_MOVE_A = 12548,
DO_UDP_CHAR_MOVE_B = 12549,
DO_UDP_OBJ_MOVE = 12800,
DO_UDP_VEHICLE_MOVE = 12801,
DO_UDP_VEHICLE_MOVE_A = 12802,
DO_UDP_VEHICLE_MOVE_B = 12803,
DO_UDP_BULLET = 13312,
DO_UDP_DUMMY_INFO = 13313,
DO_UDP_HACK_INFO = 13314,
DO_UDP_TEXT_CHAT = 13824,
DO_PLAYER_INFO = 24593,
DO_GAME_SERIAL = 24832,
DO_JOIN_SERV = 25088,
DO_SET_CHANNEL = 28673,
DO_EVENT_MESSAGE = 25344,
DO_KEEP_ALIVE = 25600,
DO_USER_LIST = 28928,
DO_USER_LIST_EX = 28960,
DO_USER_LIST_MODIFY = 28944,
DO_ROOM_LIST = 29184,
DO_ROOM_INFO_CHANGE = 29200,
DO_CREATE_ROOM = 29440,
DO_JOIN_ROOM = 29456,
DO_QUICK_JOIN = 29472,
DO_CLAN_QUICK_JOIN = 29536,
DO_GUEST_JOIN = 29488,
DO_EXIT_ROOM = 29504,
DO_EXPEL_PLAYER = 29505,
DO_INVIT_ROOM = 29520,
DO_CHAT_MSG = 29696,
DO_GAME_PROTOCOL = 30000,
DO_GAME_USER_LIST = 29952,
DO_GAME_GUEST_LIST = 29953,
DO_GDATA_INFO = 29968,
DO_GAME_LAUNCH_COUNT = 30001,
DO_ROOM_DESTROY_CLOCK = 30002,
DO_GAME_CLOCK = 30016,
DO_GAME_UPDATE_DATA = 30017,
DO_GAME_SCORE = 30032,
DO_GAME_RESULT = 30048,
DO_GAME_IN_BOMB = 29984,
DO_GAME_IN_MISSION = 29985,
DO_ITEM_CONTROL = 30208,
DO_ITEM_DESTROY = 30224,
DO_CUSTOM_CONTROL = 30209,
DO_CUSTOMITEM_DESTROY = 30225,
DO_CITEM_CHANGE = 29971,
DO_CUSTOM_BOUNS = 31079,
DO_CUSTOM_CSHOP = 30230,
DO_TMARKET_PROTOCOL = 30464,
DO_BITEM_CHANGE = 29970,
DO_AI_GOAL = 31490,
DO_KILL_STREAK = 31492,
DO_GET_KILL_STREAK = 31495,
DO_AI_WAVE_NOTIFY = 31494,
DO_AI_DESTROY_BONUS = 13441,
DO_AI_DESTROY_TIME = 13442,
DO_AI_MASK_EVENT = 31094,
DO_MESSENGER_CTRL = 29776,
DO_EVENT_COUPON = 30992,
DO_EVENT_ALPHABET = 30997,
DO_CS_BONUS_EVENT = 31076,
DO_PLAYER_PROMOTION = 31008,
DO_PLAYER_OVER_BIGINNER = 31024,
DO_TEST_ALPHABET = 31072,
DO_SIEGEWAR_EVENT = 31077,
DO_SNOWBALL_EVENT = 31080,
DO_SEMESTER_BONUS = 31081,
/* UNKNOWN_UNUSED = 31088 */
DO_INGAME_BONUS = 31089,
DO_CHALLENGE_TIME = 31090,
DO_CHARACTER_BONUS = 31091,
DO_MAYEVENT_BONUS = 31092,
DO_MAYEVENT_ITEM = 31093,
DO_HAMMER_COUNT = 31104,
DO_HAMMER_ITEM = 31105,
DO_NCASH_PROCESS = 30720,
DO_SBI_CHANGE = 30976,
DO_EVENT_COUNTMISSION = 30772,
/* UNKNOWN_UNUSED = 30752 */
DO_SBC_CHANGE = 30977,
DO_GET_AMPEDCASH = 30768,
DO_POPUP_TOPUP = 30769,
/* UNKNOWN_UNUSED = 30240 */
DO_BOAST_ITEM = 30241,
DO_AHNHS_KEEPALIVE = 31264,
DO_AHNHS_DROP = 31265,
DO_CS_KEEPALIVE = 22040,
/* UNKNOWN_UNUSED = 12545 */
/* UNKNOWN_UNUSED = 12546 */
/* UNKNOWN_UNUSED = 12547 */
/* UNKNOWN_UNUSED = 13315 */
DO_SQUEAKYHAMMER_EVENT = 30774,
DO_EVENT_PUZZLE = 30998,
DO_TEST_PUZZLE_EVENT = 31057,
DO_EVENT_WATERBALLOON = 31120,
DO_WAVE_STATE = 13431,
DO_AI_SPAWN = 13432,
DO_AI_CHANGE_CONTROLLER = 13433,
DO_SPAWN_SKILL_ITEM_IN_SURVIVAL = 13440,
DO_PEAKTIME_EVENT = 30775,
DO_CHARIOT_KILL = 13443,
DO_REWARD_EVENT = 31109,
DO_LUCKYSHOT_UPDATE = 30256,
DO_LUCKYSHOT_INFO = 30257,
DO_LUCKYSHOT_PROCESS = 30258,
DO_DEFENCE_EVENT = 30776,
DO_ONGAMENET_EVENT = 30777,
DO_THANKSDINAR_EVENT = 30784,
DO_GET_SERVER_TIME = 25601,
DO_EVENT_KILL_COUNT = 30999,
DO_EVENT_SAKURA_KILL_COUNT = 13444
};
enum class GAME_MODE : std::uint32_t
{
EXPLOSIVE = 0,
FFA = 1,
CQC_DEATH_MATCH_8 = 2,
CQC_DEATH_MATCH_16 = 3,/*indistinguishable from HERO*/
HERO = 3,/*indistinguishable from CQC_DEATH_MATCH_16*/
CAPTURE = 9,
SURVIVAL = 10,
DEFENCE = 11,
TIME_ATTACK = 12,
ESCAPE = 13,
TANKWAR = 14, /*indistinguishable from DEATHMATCH*/
DEATHMATCH = 14, /*indistinguishable from TANKWAR*/
ANNIHILATION = 15,
FOGGY_SURVIVAL = 16,
//DEFENCE_POINT = 9,
//TRAINING = 10
};
namespace pod {
struct server;
class command_process
{
virtual void is_virtual();
server *socket_client;
};
template <typename CmdType>
struct command
{
virtual void is_virtual();
CmdType cmd_code;
std::size_t min_pos;
std::size_t min_level;
std::size_t sub_identifier;
void(__cdecl *cmd_ptr)(void *, char *, int, std::int16_t, std::int16_t, std::int16_t, std::size_t);
};
template <typename CmdType>
struct command_list
{
virtual void is_virtual();
std::size_t count;
std::array<command<CmdType>, 250> commands;
};
struct cgi_connection
{
struct vftbl_t
{
void(*unk0)();
void(*unk1)();
std::uintptr_t encode;
std::uintptr_t decode;
//int(__fastcall *encode)(void *, void *, char *, int, int);
};
vftbl_t *vftbl;
};
struct room_data
{
int room_number;
int players;
char pad_0x4C0FC[0x4];
bool joinable;
char __alignment2[3];
GAME_MODE game_mode;
int room_mode;
int room_state;
char pad_0x4C114[0x2C];
int kills_derb;
int kills_niu;
char pad_0x4C148[0x8];
char title[128];
char password[128];
bool has_password;
char __alignment[3];
int sel_capacity;
int sel_map_id;
int sel_round_id;
int sel_kill_id;
int sel_time_id;
int sel_id;
int event_state;
int event_time;
int sel_auto_start;
int capacity;
int mujuk_time;
int bet_point;
int level;
int is_auto_start;
int superhost_type;
char pad_0x4C298[0xA0];
int host_session;
char pad_0x4C334[0x6AC];
int sel_level_range_id;
};
struct server
{
MAKE_PADDING(0x0000, 0x00000, 0x03498); // confirmed
cgi_connection connection; MAKE_PADDING(0x0004, 0x03498, 0x165F0); // confirmed
int code; MAKE_PADDING(0x0004, 0x165F0, 0x48F24); // maybe current buffer or something
void *recv_deframe; MAKE_PADDING(0x0004, 0x48F24, 0x6EAFC); // confirmed
command_process cmd_proc;
command_list<warrock::CMD_CODE> cmd_list; // confirmed
command_list<warrock::GM_LO_STATE> game_cmd_list; MAKE_PADDING(0x2EF8, 0x6EAFC, 0x719F8); // confirmed
room_data room; MAKE_PADDING(0x08EC, 0x719F8, 0x7247C); // confirmed
// bool vote_kick_enabled; MAKE_PADDING(0x0001, 0x4C9E7, 0x4CA18);
//weapon_slot slotbase[5][8]; MAKE_PADDING(0x0C80, 0x4CA18, 0x734A8);
weapon_slot serslotbase[5][8]; MAKE_PADDING(0x0C80, 0x7247C, 0x75A50); // confirmed
warrock::pod::player_data data; // confirmed
warrock::pod::player_data &in_room_data() { return (*warrock::player_data)[data.player_slot]; }
};
} // pod
extern pod::server **server;
} // warrock
#pragma pack(pop)
server.cpp
Code:
#include "server.hpp"
namespace warrock {
pod::server **warrock::server = reinterpret_cast<pod::server **>(addr::server_pointer);
} // warrock
utility.hpp
Code:
#pragma once
#include <array>
#include <cstdint>
#pragma pack(push, 1)
namespace warrock::pod {
struct bounding_box
{
float min[3];
float max[3];
};
} // warrock::pod
namespace detail {
template <std::size_t Size>
class padding
{
static_assert(Size > 0, "Size needs to be greater than zero!");
private:
std::uint8_t data[Size];
};
} // detail
#define MAKE_PADDING(PREV_SIZE, PREV, NEXT) private: detail::padding<(NEXT) - (PREV) - (PREV_SIZE)> __padding_##PREV##_##NEXT##__; public:
namespace detail {
struct safe_value_value {
unsigned long value;
unsigned long key;
};
template <typename T, std::size_t Size = sizeof(T), bool = false>
struct safe_value_data {};
template <typename T, std::size_t Size>
struct safe_value_data<T, Size, true> {
std::array<safe_value_value, Size> data;
};
template <typename T, std::size_t Size>
struct safe_value_data<T, Size> : safe_value_data<T, Size / 4, true> {
static_assert(Size % 4 == 0, "Size needs to be a multiple of four.");
};
template <typename T>
struct safe_value_data<T, 1> : safe_value_data<T, 1, true> {};
template <typename T>
struct safe_value_data<T, 2> : safe_value_data<T, 1, true> {};
} // detail
#define IMPL_OPERATORS1(C,T) C<T> &operator=(const T &value) { set(value); return *this; } \
operator const T() const { return get(); }
#define IMPL_OPERATORS2(C,T) C<T> &operator+=(const T &value) { T tmp(*this); *this = tmp += value; return *this; } \
C<T> &operator-=(const T &value) { T tmp(*this); *this = tmp -= value; return *this; } \
C<T> &operator*=(const T &value) { T tmp(*this); *this = tmp *= value; return *this; } \
C<T> &operator/=(const T &value) { T tmp(*this); *this = tmp /= value; return *this; } \
C<T> operator+(const T &value) { C<T> tmp(*this); *this = tmp + value; return *this; } \
C<T> operator-(const T &value) { C<T> tmp(*this); *this = tmp - value; return *this; } \
C<T> operator*(const T &value) { C<T> tmp(*this); *this = tmp * value; return *this; } \
C<T> operator/(const T &value) { C<T> tmp(*this); *this = tmp / value; return *this; }
template <typename T>
class safe_value;
template <typename T>
class safe_value : detail::safe_value_data<T>
{
public:
safe_value() { set(T{}) };
safe_value(safe_value<T> const &other) : data(other.data) {}
safe_value(T const &value) { set(value); }
void set(T const &value)
{
unsigned long const *value32 = reinterpret_cast<unsigned long const *>(&value);
for (auto &pair : detail::safe_value_data<T>::data)
pair.value = pair.key ^ *value32++;
}
const T get() const
{
T result;
unsigned long *result32 = reinterpret_cast<unsigned long *>(&result);
for (auto const &pair : detail::safe_value_data<T>::data)
*result32++ = pair.key ^ pair.value;
return result;
}
IMPL_OPERATORS1(safe_value, T);
IMPL_OPERATORS2(safe_value, T);
};
template <>
class safe_value<bool> : detail::safe_value_data<bool>
{
public:
safe_value() : safe_value(false) {}
safe_value(safe_value<bool> const &other) : safe_value_data(other) {}
safe_value(bool const &value) { set(value); }
void set(bool const &value)
{
data[0].value = value ? data[0].key / 2 : data[0].key;
}
const bool get() const
{
return data[0].value == data[0].key / 2;
}
IMPL_OPERATORS1(safe_value, bool);
};
#undef IMPL_OPERATORS1
#undef IMPL_OPERATORS2
#pragma pack(pop)
vehicle.hpp
Code:
#pragma once
#include <vector>
#include <array>
#include "math/vector4.hpp"
#include "sdk/addresses.hpp"
#include "sdk/utility.hpp"
#pragma pack(push, 1)
namespace warrock {
enum class UNIT_TAG : int {
UNIT_VOID = 0x0,
UNIT_CAR = 0x1,
UNIT_TANK = 0x2,
UNIT_AIRPLANE = 0x3,
UNIT_HELICOPTER = 0x4,
UNIT_BOAT = 0x5,
UNIT_MOTORCYCLE = 0x6,
UNIT_EXPLOSION = 0x7,
UNIT_FIXED = 0x8,
UNIT_FRAGMENT = 0x9,
UNIT_RAGDOLL = 0xA,
UNIT_PARACHUTE = 0xB,
UNIT_MAXCOUNT = 0xC
};
namespace pod {
struct world
{
char unk[0x98];
float scale;
};
struct dx_body
{
char unk[0x98];
math::vec3f position;
};
struct unit_parts
{
std::uint32_t tag_type; MAKE_PADDING(0x04, 0x00, 0x10);
dx_body* body_ode;
void* geoms_ode;
float result[4][4]; // matrix4x4 result[3][0] result[3][1] result[3][2] = pos
float result_rot[4]; // quaternion
math::vec3f result_pos; // might not match warrock pos space
float key_rot[4][6]; // 6x quaternion
float key_pos[3][6]; // 6x vector3
void *handle; // -> CPartMeshHandle : CLocal
};
struct weapon_button
{
float impact;
float impact2;
int max_ammo;
safe_value<int> ammo;
safe_value<int> magazine;
std::uint32_t delay_time; // cool_time
std::uint32_t reload_time;
safe_value<float> fire_timer;
safe_value<float> cool_timer;
float heat_factor;
float cool_factor;
std::uint32_t fire_start_delay_time;
std::uint32_t start_cool_delay_time;
bool shooting;
char alignment[3];
std::uint32_t timer;
safe_value<float> rate;
};
struct weapon_property
{
char name[32]; MAKE_PADDING(32, 0x000, 0x214);
weapon_button button1;
char unk[0x11C - 8];
weapon_button button2;
};
struct ride_info_property
{
int driver;
char fp_bone_name[32];
char char_bone_name[32];
char weapon_name[32];
char name[32];
};
struct unit_properties
{
float wheel_joint_cfm;
float wheel_joint_erp;
float contact_mu;
float contact_mu2;
float contact_slide;
float contact_slide2;
float contact_cfm;
float contact_erp;
float contact_bounce;
float contact_bounce_vel;
float mass;
math::vec3f mass_center;
float air_drag;
float water_drag;
float forward_max_speed;
float backward_max_speed;
float forward_accel;
float backward_accel;
float forward_handling;
float backward_handling;
float engine_power;
float camera_speed;
math::vec3f camera_pos;
float free_camera_max_speed;
float free_camera_min_dist;
float free_camera_height;
math::vec3f free_camera_pos;
float roll_stiff;
float roll_damp;
float min_speed;
float forward_steer;
float backward_steer;
char pad[0xc];
std::vector<weapon_property *> weapons;
std::vector<ride_info_property *> rides; // untested
};
struct physics_unit
{ MAKE_PADDING(0x00, 0x000, 0x038);
UNIT_TAG type;
bounding_box aabb;
void *space;
char name[32];
int seats;
std::uint32_t health;
std::uint32_t max_health;
int last_get_off_session;
int last_time;
float health_rate; MAKE_PADDING(0x058, 0x038, 0x1D8);
pod::world *world;
unit_properties *properties;
unit_parts *parts; MAKE_PADDING(0x00C, 0x1D8, 0x300);
math::vec3f net_regen_pos;
math::vec3f net_velocity;
math::vec3f net_position;
float flickering_time;
};
struct physics_world
{
MAKE_PADDING(0x00, 0x00, 0x0C);
std::vector<physics_unit *> units; MAKE_PADDING(0x08, 0x0C, 0x78);
float scale;
};
} // pod
extern pod::physics_world **world;
} // warrock
#pragma pack(pop)
vehicle.cpp
Code:
#include "sdk/vehicle.hpp"
namespace warrock {
pod::physics_world **world = reinterpret_cast<pod::physics_world **>(addr::physics_world);
}
weapon.hpp
Code:
#pragma once
#include <cstdint>
#include <list>
#include "math/vector4.hpp"
#include "sdk/addresses.hpp"
#include "sdk/utility.hpp"
#pragma pack(push, 1)
namespace warrock {
namespace pod {
struct weapon
{ MAKE_PADDING(0x00, 0x000, 0x004);
std::uint16_t id;
char name[32];
char name_korean[32];
char name_short[5];
bool active; MAKE_PADDING(0x48, 0x004, 0x08C);
int power;
int shoot_range;
int ammo_num;
int magazine_num;
int effective_range;
int parabola;
float react_amount;
float react_recovery;
float accuracy;
int shoot_speed;
int weight;
float reload_time;
};
struct weapon_slot
{
bool enabled;
std::uint8_t type;
std::uint16_t weapon_id; MAKE_PADDING(0x04, 0x000, 0x025);
char name_short[0x10]; MAKE_PADDING(0x10, 0x025, 0x048);
weapon *adr_weap;
void *adr_inv;
};
class item_manager
{
private:
std::uint8_t alignment[0x4];
void *vehicles;
std::uint8_t alignment0[0x10];
public:
bool read_done;
private:
std::uint8_t alignment1[0x03];
public:
std::size_t item_count[7];
void **resources;
void **clothes;
void **etc;
weapon **weapons;
void **equipment;
void **equipment_weapons;
};
struct weapon_trace_pack
{
struct pack
{
bool sent_packet; //0x0008
char pad_0x0009[0x3]; //0x0009
math::vec3f start_pos; //0x000C
math::vec3f save_pos; //0x0018
math::vec3f pos; //0x0024
math::vec3f dir; //0x0030
math::vec3f save_dir; //0x003C
math::vec3f temp1; //0x0048
math::vec3f temp2; //0x0054
math::vec3f look_at; //0x0060
math::vec3f start; //0x006C
math::vec3f end; //0x0078
std::uint8_t slot; //0x0084
std::uint8_t magazine; //0x0085
std::uint8_t shell; //0x0086
char pad_0x0087[0x1]; //0x0087
float mass; //0x0088
float life; //0x008C
float acceleration; //0x0090
float shoot_speed; //0x0094
std::int32_t item_type; //0x0098
std::int32_t type; //0x009C
std::int32_t owner; //0x00A0
std::int32_t button; //0x00A4
std::int32_t fire_time; //0x00A8
std::int16_t serial_num; //0x00AC
std::int16_t bound_count; //0x00AE
char weapon_code[5]; //0x00B0
};
MAKE_PADDING(0x00, 0x00, 0x054);
std::list<pack> traces; MAKE_PADDING(0x08, 0x54, 0x124);
void *weapon_integrity;
void *grenade_integrity;
};
struct mine_pack
{
struct pack
{
int slot;
std::int16_t active;
char __alignment1[2];
math::vec3f vel;
math::vec3f pos;
math::vec3f dir;
float eff_range;
float frustrum_plane[4][6];
float view[4][4];
float proj[4][4];
float life;
std::int8_t type;
char __alignment2[3];
int owner;
int __alignment3;
int serial;
float radian;
float local[4][4];
};
MAKE_PADDING(0x00, 0x00, 0x14);
std::list<pack> mines;
};
} // pod
enum class ZOOM_TYPE : int
{
DEFAULT = 5,
ZOOM = 1,
ZOOMX2 = 8,
ZOOMX3 = 7,
ZERO = 0
};
extern pod::item_manager *item_manager;
extern pod::weapon_trace_pack **weapon_trace_pack;
extern pod::mine_pack **mine_pack;
} // warrock
#pragma pack(pop)
weapon.cpp
Code:
#include "weapon.hpp"
namespace warrock
{
pod::item_manager *item_manager = reinterpret_cast<pod::item_manager *>(addr::item_manager);
pod::weapon_trace_pack **weapon_trace_pack = reinterpret_cast<pod::weapon_trace_pack **>(addr::trace_packs);
pod::mine_pack **mine_pack = reinterpret_cast<pod::mine_pack **>(addr::trace_packs + 4);
}
sdk.hpp
Code:
#pragma once
#include "sdk/addresses.hpp"
#include "sdk/player.hpp"
#include "sdk/server.hpp"
#include "sdk/camera.hpp"
#include "sdk/weapon.hpp"
#include "sdk/packet.hpp"
#include "sdk/vehicle.hpp"
#include "sdk/hud_manager.hpp"
#include "sdk/utility.hpp"
|
|
|
11/05/2020, 04:09
|
#1121
|
elite*gold: 0
Join Date: Sep 2020
Posts: 28
Received Thanks: 1
|
Quote:
Originally Posted by Alliance™
Code:
#=====================================================================#
#==================[ ADDYLOGGER VIP BY ALLIANCE™ ]====================#
#=====================================================================#
UPDATE: 15.11.2013
AddyLogger start...
#=============================[Pointer]===============================#
#define ADR_PLAYERPOINTER 0xAF17F0
#define ADR_SERVERPOINTER 0xAEBFB8
#define ADR_BASEPOINTER 0xB23D78
#define ADR_VIEWANGELS 0xAEB050
#define ADR_DEVICEPOINTER 0xAEB054
#define ADR_INFOPOINTER 0xB23D78
#define ADR_WEAPONPOINTER 0xB0FDD8
#define ADR_REMOTEPOINTER 0xB737A0
#define ASM_GAMENOTICE 0x5E00B8
#define ASM_GAMETEXT 0x5215F7
#define ADR_CLASSROOMPTR 0xAF1A48
#define ADR_STATEPOINTER 0xAF1818
#==========================[Warrock check]============================#
#define ASM_WARROCKCHECK1 0x51BA51
#define ASM_WARROCKCHECK2 0x5DECA8
#===========================[Offset Player]===========================#
#define OFS_NOFALLDAMAGE 0x102E8
#define OFS_X 0x10300
#define OFS_Y 0x10310
#define OFS_Z 0x10308
#define OFS_NOSPREAD 0x10110
#define OFS_NORECOIL1 0xC444
#define OFS_NORECOIL2 0xC448
#define OFS_NORECOIL3 0xC450
#define OFS_FASTNADE 0x10114
#define OFS_NORELOAD 0x1040D
#define OFS_AUTOPLANT 0x10370
#define OFS_AUTODEFUSE 0x10374
#define OFS_AUTOSHOOT 0x10386
#define OFS_INVISIBLE 0xB7E44
#define OFS_PLAYERSTATE 0xC4CC
#===========================[Offset Weapon]==========================#
#define OFS_WEAPONSTATE 0xC4D0
#define OFS_WEAPON1 0x101EC
#define OFS_WEAPON2 0x101EE
#define OFS_WEAPON3 0x101F0
#define OFS_WEAPONDAMAGE 0x14BC
#define OFS_WEAPONDEFENCE 0x14C0
#define OFS_AMMONUMBER 0x14C8
#define OFS_MAGAZINENUMBER 0x14CC
#define OFS_EFFECTRANGE 0x14D0
#define OFS_PARABOLA 0x14D4
#define OFS_SHOOTSPEED 0x14E4
#define OFS_WEAPONWHEIGHT 0x14E8
#===========================[Offset Server]==========================#
#define OFS_Premium 0x3CC
#define OFS_SLOT5 0x9F1E4
#define OFS_SLOT6 0x9F1E5
#define OFS_SLOT7 0x9F1E6
#define OFS_SLOT8 0x9F1E7
#define OFS_ROOMMASTER 0x9C7E8
#define OFS_SUPERMASTER 0x9C750
#==============================[Address]=============================#
#define ADR_NEARFOG 0xAF8624
#define ADR_FARFOG 0xAF862C
#define ADR_GLASSWALLS 0xAEB14C
#define ADR_SPEED 0x8D0F48
#define ADR_SPEEDROLL 0x8D0D80
#define ADR_SCOPE 0x93C480
#define ADR_SCOPESIZE 0x93C488
#define ADR_NOWATER1 0xAF860C
#define ADR_NOWATER2 0xAF8610
#define ADR_NOBOUNDS1 0xB8384C
#define ADR_NOBOUNDS2 0xB83850
#define ADR_NOSPAWNWAIT1 0xB8DE1C
#define ADR_NOSPAWNWAIT2 0xB8DE20
#define ADR_NOSPAWNWAIT3 0xB8DE24
#define ADR_FASTAMMO 0xAF5DFC
#define ADR_FASTMEDIC 0xAF5E04
#define ADR_FASTFLAG 0xAF5E14
#define ADR_FASTREPAIR 0xAF5DFC
#define ADR_QUICKPLANTDEF 0xAEB074
#define ADR_PLANTANYWHERE 0xAEB08E
#define ADR_DEFUSEANYWHERE 0x93C49C
#define ADR_SUPERNOSPREAD 0x8D0BC8
#define ADR_BONESHOOT 0x8D1B78
#define ADR_STW 0x89491C
#define ADR_WALKUNDERWATER 0xAF8614
#define ADR_WTW 0x8924A4
#define ADR_NOSPREAD 0xAF5E9C
#define ADR_CLANTAG1 0xB0FD78
#define ADR_CLANTAG2 0xB0FD34
#define ADR_CLANTAG3 0xB0FD80
#define ADR_CLANTAG4 0xB0E7FC
#define ADR_CLANTAG5 0xAA7A44
#define ADR_CLANTAG6 0xB243FC Name of clan
#define ADR_SWIM1 0xAE2E3C
#define ADR_SWIM2 0xAF1830
#define ADR_INVEHICLE 0xAF1834
#define ADR_PLAYERID 0xA40
#define ADR_USERNAME 0xB243B4
#define ADR_WEAPONGRAVITY 0x8D0B88
#define ADR_CHECKREADYSTART 0x0
#define ADR_STARTSTAMINA 0x89AEC0
#define ADR_STAMINAROLL 0x89AECC (float)
#define ADR_STAMINASPRINT 0x8D0FA8 (doubòe)
#define ADR_STAMINAJUMP 0x89A59C (float)
#================================[Asm]==============================#
#define ASM_UNLIMITEDOXY 0x5087C1
#define ASM_CQCPRONE 0x4F68D7
#define ASM_NORELOAD 0x51AB2F
#define ASM_AUTOAMMO1 0x5067AE
#define ASM_AUTOAMMO2 0x5067EE
#define ASM_AUTOMEDIC1 0x5068B7
#define ASM_AUTOMEDIC2 0x506B24
#define ASM_AUTOREPAIR1 0x4274B6
#define ASM_AUTOREPAIR2 0x4274E5
#define ASM_STAMINA1 0x457DB5
#define ASM_STAMINA2 0x4019DC
#define ASM_STAMINA3 0x4F6B9E
#define ASM_NORESTRICTION 0x4F579E
#define ASM_QUICKPLANT 0x51192D
#define ASM_QUICKDEFUSE 0x50D9D9
#define ASM_ANTIAFK 0x595B48
#define ASM_OPK1 0x4083BA
#define ASM_OPK2 0x4083C3
#define ASM_OPK3 0x4083CF
#define ASM_INVISIBLE 0x50B979
#define ASM_ARTILLERY1 0x4F6E6D
#define ASM_ARTILLERY2 0x4F710D
#define ASM_ARTILLERY3 0x597D86
#define ASM_ARTILLERY4 0x597E19
#define ASM_ARTILLERY5 0x597B61
#define ASM_ARTILLERY6 0x579DB3
#define ASM_ARTILLERY7 0x597D00
#define ASM_ARTILLERY8 0x597E96
#define ASM_ASSAULTAMMO 0x42B2FB
#define ASM_SNIPERAMMO 0x60F918
#define ASM_DEATHCAM 0x456DE5
#define ASM_ANTIFLASH 0x5ACB47
#define ASM_ANTIM14 0x5ACA73
#define ASM_MINEVIEW1 0x4485FC
#define ASM_MINEVIEW2 0x44867A
#define ASM_MINEVIEWFFA1 0x4485E3
#define ASM_MINEVIEWFFA2 0x448661
#define ASM_RADARGPS 0x59F7F4
#define ASM_RADARFFA1 0x59F812
#define ASM_RADARFFA2 0x5A1CB2
#define ASM_STW1 0x609280
#define ASM_STW2 0x609286
#define ASM_UNLOCKSWIM 0x4014CB
#define ASM_VEHICLENODMG 0x401000
#define ASM_VEHICLEINVI 0x42AC9A
#define ASM_VEHSUPERFIRE1 0x427430
#define ASM_VEHSUPERFIRE2 0x42745B
#define ASM_VEHSUPERFIRE3 0x42749B
#define ASM_ZERODELAY 0x51A83C
#define ASM_ROOMEVENT 0x5658B0
#define ASM_AUTOREADYSTART 0x5487DE
#define ASM_FAKEKIK 0x591573
#define ASM_MOVETOLOBBY 0x4DF9E5
#define ASM_BACKTOLOBBY 0x4DF66C
AddyLogger finish!
Credits: Alliance™,CyberMask,n4n033,Aerys2nd
Warrock int Dump:
![](https://www.elitepvpers.com/forum/images/elitepvpers/buttons/hiddenlink.png)
|
Hellow can i get the pattern i need to update my addy logger from ph << ![](https://www.elitepvpers.com/forum/images/elitepvpers/buttons/hiddenlink.png) my old addyLogger some addys are working but the others is not working.. Because of my patterns
|
|
|
02/25/2022, 10:55
|
#1122
|
elite*gold: 0
Join Date: Oct 2021
Posts: 44
Received Thanks: 6
|
Any one can release All Source Code of this?
Quote:
Originally Posted by Combatarmshackeraaa
My old hacks function.h
Code:
#ifndef ADDRESS
#define ADDRESS
#pragma once
#define ADR_GAMENOTICE 0x0040EECD//***
#define ADR_GAMETEXT 0x00522CC0//***
#define ADR_DEVICEPOINTER 0xAE2B74//***
#define OFS_DEVICEPOINTER 0x2B930
#define ADR_PLAYERPTR 0xAE92FC//***
#define ADR_SERVERPTR 0xAE3AC4//***
#define ADR_BASEPTR 0xB1BCF0//***
#define ADR_VIEWANGELS 0xAE2B70//***
#define ADR_GMALERTIP 0xB16928 + 0x10//***
#define ADR_GMALERTNAMEBASE (ADR_GMALERTIP - 0x400)
#define ADR_GMALERTNAME (ADR_GMALERTNAMEBASE + 0x10)
#define ADR_BACKINLOBBY 0x004E11EF
#define OFS_NOFALLDAMAGE 0x102E8
#define OFS_PREMIUM 0x3CC
#define OFS_PLAYERSTARE 0xC4CC
#define OFS_SLOTS 0x9F1E4
#define OFS_SUPERJUMP 0x10308
#define OFS_ROOMMASTER 0x9C7E8
#define OFS_SUPERMASTER 0x9C750
#define OFS_PLAYERSLOT 0xB8368//*****
#define ADR_SPEED 0x8C9E10//*****
#define ADR_SPEEDROLLING 0x8C9C38//*****
#define ADR_SCOPE 0x934460//*****
#define ADR_GETBASE ( 0xB6AC98 - ADR_PLAYERPTR ) //******
#define ADR_NEWCBASE ( ADR_GETBASE - 0x4 )
#define ADR_UNLOCKSWIM 0x00509C10//*****
#define ADR_SWIM1 0xADA95C //*****
#define ADR_SWIM2 0xAE933C //*****
#define ADR_INVEHICLE 0xAE9340 //*****
#define ADR_NOWATER_1 0xAF011C //*****
#define ADR_NOWATER_2 0xAF0120 //*****
#define ADR_WEAPONBASE 0xB07CE8 //******
#define ADR_SLOTBASE 0x9E040
#define ADR_PLAYERID 0xA40
#define ADR_DAMAGEAS 0x005105B0
#define ADR_UNLOXYGEN 0x00509CD2
#define ADR_PRONE 0x004F7D44
#define ADR_NOSPREAD 0x0051042C
#define ADR_NORECOIL 0x00500B8E
#define ADR_NORELOAD 0x0051C02A
#define ADR_BULLETS 0x00510696
#define ADR_BULLETSJMP 0x005106A2
#define ADR_STAMINA1 0x004575F8
#define ADR_STAMINA2 0x004F800B
#define ADR_STAMINA3 0x0050819A
#define ADR_VEHNODAMAGE 0x0042A91F
#define ADR_VEHINVISIBLE 0x0042AC8E
#define ADR_VEHSUPERFIRE1 0x004273C0
#define ADR_VEHSUPERFIRE2 0x004273EB
#define ADR_VEHSUPERFIRE3 0x0042742B
#define ADR_UNLAMMO 0x00513A0A
#define ADR_WALKTHRU 0x0076FB70
#define ADR_ANTIAFK 0x00592D17
#define ADR_QUICKSPAWN1 0x005E3249
#define ADR_QUICKSPAWN2 0x005E3263
#define ADR_FASTRELOAD1 0x0051C216
#define ADR_FASTRELOAD2 0x0059882E
#define ADR_STAMINAUP1 0x0040938E
#define ADR_STAMINAUP2 0x004093D5
#define ADR_CLIPA 0x00456646
#define ADR_CLIPS 0x0045665F
#define ADR_SNIPERPX 0x0045666D
#define ADR_COMPBANDAGE 0x004566C8
#define ADR_DEATHCAM 0x004566FA
#define ADR_ANTIFLASH 0x005A9818
#define ADR_ANTIM14 0x005A9744
#define ADR_MINEINFO1 0x00448404
#define ADR_MINEINFO2 0x00448482
#define ADR_MINEINFOFFA1 0x004483EB
#define ADR_MINEINFOFFA2 0x00448469
#define ADR_INVISIBLE 0x0050CFBC
#define ADR_RADARGPS 0x0059C874
#define ADR_RADARFFA1 0x0059C892
#define ADR_RADARFFA2 0x0059EAE6
#define ADR_NORESTRICTION 0x004F6C4F
#define ADR_AUTOSHOT 0x004F6C44
#define ADR_QUICKPLANT 0x00512E29
#define ADR_QUICKDEFUSE 0x0050EF26
#define ADR_PLANTANYWHERE 0x0057F8F8
#define ADR_BONESHOT 0x0044A575
#define ADR_AUTOHEAL1 0x00507D93
#define ADR_AUTOHEAL2 0x00508000
#define ADR_AUTOAMMO1 0x00507C8A
#define ADR_AUTOAMMO2 0x00507CCA
#define ADR_AUTOREPAIR1 0x00427446
#define ADR_AUTOREPAIR2 0x00427475
#define ADR_AUTOREPAIR3 0x004274F2
#define ADR_ANTIOVERHEART 0x00724B46
#define ADR_SHOTTHRU1 0x006041D0
#define ADR_SHOTTHRU2 0x006041D6
#define ADR_PREMCROSSCALL1 0x0057702A
#define ADR_PREMCROSSCALL2 0x00407F34
#define ADR_PREMCROSSCHANGE 0x00577050
#define ADR_PREMIUMCROSS1 0x00577172
#define ADR_PREMIUMCROSS2 0x0057717A
#define ADR_UNLOCKCROSS 0x00577385
#define ADR_OPK1 0x00408103
#define ADR_OPK2 0x0040810C
#define ADR_OPK3 0x00408118
#define ADR_ZERODELAY 0x0051BD25
#define ADR_SPAMBOT 0x0051F1F1
#define ADR_FAKEKICK 0x0058EB9B
#define ADR_USERKILL 0x00416CFC
#define ADR_ARTILLERY0 0x004F82E0
#define ADR_ARTILLERY1 0x004F8555
#define ADR_ARTILLERY2 0x00594F1E
#define ADR_ARTILLERY3 0x00594FB1
#define ADR_ARTILLERY4 0x00594CF9
#define ADR_ARTILLERY5 0x00577A01
#define ADR_ARTILLERY6 0x00594E98
#define ADR_ARTILLERY7 0x0059502E
#define ADR_VEHJUMP1 0x0045E153
#define ADR_VEHJUMP2 0x0045E15C
#define ADR_VEHJUMP3 0x8C9AA4
#define ADR_AUTOREADYSTART 0x005469B8
#define ADR_WEAPONGRAVITY 0x8C9A38
#define ADR_PLAYERSIZE 0x0B18
#define ADR_USERNAME 0xB1C334
#define ADR_USERIP (0xB1C1E8+0x10)
#define ADR_CHECKREADYSTART 0xB1C738
#define ADR_CLASSROOMPOINTER 0xAE9554
#define ADR_WEAPONGLOBAL1 0xB07CA8
#define ADR_WEAPONGLOBAL2 0xB5C5E8
#define ADR_FASTAMMO 0xAED90C
#define ADR_FASTMEDIC 0xAED914
#define ADR_FASTFLAG 0xAED924
#define ADR_NOBOUNDS1 0xB7AB24
#define ADR_NOBOUNDS2 0xB7AB28
#define ADR_NOBOUNDS3 0xB7AB36
#define IsReady ((ADR_CHECKREADYSTART)+(ADR_PLAYERSIZE*(*(int*)(*(DWORD*)(ADR_SERVERPTR)+OFS_PLAYERSLOT)) ))
class CVehicle;
struct vectorB
{
float x,a,z,b,y,d,m,g,s;
};
struct vectorA
{
float x,z,y;
};
struct CPlayer
{
char unknown0[50328]; //0x0000
BYTE index; //0xC498
char unknown50329[43]; //0xC499
CVehicle* wVehicle; //0xC4C4
char unknown50376[15588]; //0xC4C8
float pitch; //0x101AC
char unknown65968[24]; //0x101B0
float yaw; //0x101C8
char unknown65996[8]; //0x101CC
vectorA pos; //0x101D4
char unknown66008[14]; //0x101D8
WORD weapon; //0x101EE
char unknown66032[92]; //0x101F0
__int32 status; //0x1024C
char unknown66128[164]; //0x10250
vectorB pos1; //0x102F4
char unknown66296[172]; //0x102F8
BYTE shotting; //0x103A4
};
struct CLocal
{
char unknown51[32]; //0x0000
vectorA pos; //0x0020
char unknown52[36]; //0x002C
float pitch; //0x0050
float yaw; //0x0054
char unknown53[16]; //0x0058
float view_down; //0x0068
float view_up; //0x006C
float fovx; //0x0070
float fovy; //0x0074
};
struct CPlayerInfo
{
char unknown0[1288]; //0x0000
char ip[16]; //0x0508
char unknown1304[300]; //0x0518
char name[20]; //0x0644
char unknown1624[836]; //0x0658
__int32 health; //0x099C
char unknown2464[340]; //0x09A0
BYTE team; //0x0AF4
char unknown2805[13671]; //0x0AF5
};
struct CBase
{
CPlayer* local;
char unknown0[ADR_NEWCBASE];
CPlayer** player;
};
struct CWeaponInformations
{
char _0x0000[20];
char Name[25]; //0x0014
char _0x002D[39];
char ShortName[4]; //0x0054
char _0x0058[1];
char Animation[4]; //0x0059
char _0x005D[5219];
DWORD dwDamage; //0x14C0
DWORD dwDefence; //0x14C4
DWORD dwRange; //0x14C8
DWORD dwAmmoNum; //0x14CC
DWORD dwMagazineNum; //0x14D0
DWORD dwEffectRange; //0x14D4
DWORD dwParabola; //0x14D8 ?
float ReactAmount; //0x14DC
float ReactRecovery; //0x14E0
float Accurate; //0x14E4
DWORD dwShotSpeed; //0x14E8
DWORD dwWeight; //0x14EC
};
struct CWeaponGlobalPtr
{
CWeaponInformations* WeaponInformations[340]; //0x0000
};
struct CWeaponGlobal
{
char _0x0000[64];
CWeaponGlobalPtr* WeaponPtr;
};
#endif
Code:
#include "cFunction.h"
#include "cAimbot.h"
cHackvar hacks;
mYcAimbot * cAimBot;
CPlayerInfo* GetPlayerInfo(int index)
{
if ( index > 32 ) return 0;
DWORD dwBasePointer = ADR_BASEPTR;
DWORD dwSize = ADR_PLAYERSIZE;
return (CPlayerInfo*) (dwBasePointer + (index*dwSize));
};
CBase *g_pBase = (CBase*)ADR_PLAYERPTR;
bool bValueStored = false;
bool oncea = false;
// ==
D3DCOLOR UrbaESP;
D3DCOLOR UrbaDistance;
char szhealth[100];
char szDistance[100];
// ===
DWORD OldProtection;
// ===
bool cSwim = true;
// ===
BYTE Slot5,Slot6,Slot7,Slot8;
bool cSlot = true;
// ===
bool cPlayerKill = true;
// ===
int cWater1,cWater2;
bool cWaterB = true;
// ===
bool cWepGrav = true;
// ===
bool cVehJump = true;
// ===
bool cSpeedRoll = true;
bool cSpeed = true;
// ===
bool cSuperMaster = true;
long SuperMaster;
// ====
bool cCrossHairs1 = true;
bool cCrossHairs2 = true;
bool cCrossHairs3 = true;
bool cCrossHairs4 = true;
bool cCrossHairs5 = true;
bool cCrossHairs9 = true;
// ==
DWORD dwGame = 0;
DWORD dwServer = 0;
// ==
DWORD *serverptr = (DWORD*)ADR_SERVERPTR;
#define MAX_WEAPONS 350
struct sWeaponsOriginalValues
{
DWORD dwWeight;
DWORD dwShotSpeed;
};
sWeaponsOriginalValues weaponsOriginalValues[MAX_WEAPONS];
struct t_weap
{
char unknown[12];
int id;
char lname[32];
char sname1[32];
char sname2[32];
char sname3[32];
char data[5336];
};
struct t_slot
{
BYTE enab;
BYTE type;
BYTE id;
BYTE novaule;
char dum1[33];
char sname[16];
char dum2[19];
DWORD adr_weap;
DWORD adr_inv;
};
struct t_invslot
{
BYTE enab;
BYTE type;
BYTE id;
BYTE novaule;
char dum1[33];
char sname[16];
char dum2[19];
DWORD adr_weap;
DWORD adr_inv;
};
DWORD dwADR_WEAPONBASE = ADR_WEAPONBASE;
DWORD dwOFS_SLOTBASE = ADR_SLOTBASE;
DWORD dwOFS_PLAYERID = ADR_PLAYERID;
t_weap *pweap[342];
t_slot *pslot[8];
t_invslot *pinvoslot[8];
t_invslot *WPNinvslotadr(int pclass, int slot)
{
return (t_invslot *)(*serverptr+dwOFS_SLOTBASE+(pclass*0x50)+(slot*0x50));
}
t_slot *WPNslotadr(int pclass, int slot)
{
return (t_slot *)(*serverptr+dwOFS_SLOTBASE+(pclass*0x280)+(slot*0x50));
}
void WPNput(int pclass, int slot, int weappon)
{
t_slot *pslot;
if (weappon<0 || pweap[weappon] == 0) return;
pslot=WPNslotadr(pclass,slot);
pslot->adr_weap=(DWORD)pweap[weappon];
strcpy(pslot->sname, pweap[weappon]->lname);
pslot->id = weappon;
pslot->type = 0x44;
pslot->enab = 1;
}
void find_weapons(void)
{
DWORD *p_weapbase, *baseadr;
t_weap *weap;
for (int i=0; i<342; i++)pweap[i]=0;
p_weapbase=(DWORD *)dwADR_WEAPONBASE;
baseadr=(DWORD*)(*p_weapbase);
for (int b=0;b<342;b++)
{
weap=(t_weap *)(*baseadr);
if (weap)pweap[b]=weap;
baseadr++;
}
}
int WPNget(int pclass, int slot)
{
t_slot *pslot;
pslot=WPNslotadr(pclass,slot);
return pslot->id;
}
BYTE NOP [8] = {0x90,0x90,0x90,0x90,0x90,0x90,0x90,0x90};
BYTE JMP [1] = {0xEB};
BYTE RETN [1] = {0xC3};
BYTE RETNC [3] = {0xC2,0x0C,0x00};
BYTE ANTIM14ON [6] = {0xE9,0xAA,0x00,0x00,0x00,0x90};
BYTE INVISIBLEON [3] = {0x8D,0x47,0x0C};
BYTE QPLANTON [2] = {0xEB,0x3F};
BYTE QDEFUSEON [2] = {0xEB,0x42};
BYTE VEHFIREON [2] = {0xEB,0x0A};
BYTE REPAIRJMP [2] = {0xEB,0x24};
BYTE HEADON [5] = {0xB9,0x64,0xC1,0x54,0xA5};
BYTE NEKCON [5] = {0xB9,0x1D,0xFD,0x87,0x9F};
BYTE EXTRACLIPON [3] = {0xB0,0x01,0x90};
BYTE STWON [2] = {0xD9,0x40};
BYTE AUTOHEALON [6] = {0xE9,0x3F,0x02,0x00,0x00,0x90};
BYTE CROSSSELECT1 [5] = {0xB8,0x01,0x00,0x00,0x00};
BYTE CROSSSELECT2 [5] = {0xB8,0x02,0x00,0x00,0x00};
BYTE CROSSSELECT3 [5] = {0xB8,0x03,0x00,0x00,0x00};
BYTE CROSSSELECT4 [5] = {0xB8,0x04,0x00,0x00,0x00};
BYTE CROSSSELECT5 [5] = {0xB8,0x05,0x00,0x00,0x00};
BYTE CROSSSELECT9 [5] = {0xB8,0x09,0x00,0x00,0x00};
BYTE STAMINAUPON [3] = {0xB1,0x01,0x90};
BYTE SNIPERXON [2] = {0xB3,0x01};
BYTE PLANTDEFON [3] = {0xB3,0x01,0x88};
BYTE DAMAGEASPUNCH [7] = {0xB8,0x01,0x00,0x00,0x00,0x90,0x90};
BYTE DAMAGEASCOLT [7] = {0xB8,0x07,0x00,0x00,0x00,0x90,0x90};
BYTE BULLETOFF [6] = {0xFF,0x85,0x14,0xFF,0xFF,0xFF};
BYTE KICKASOFF [6] = {0x8D,0x8F,0xB0,0x96,0x09,0x00};
BYTE USERKILLOFF [6] = {0xD9,0x58,0x50,0xDB,0x45,0x28};
CPatch cProne (ADR_PRONE,NOP,2);
CPatch cNoRecoil (ADR_NORECOIL,RETNC,3);
CPatch cNoReload (ADR_NORELOAD,NOP,6);
CPatch cNoSpread (ADR_NOSPREAD,NOP,6);
CPatch cStamina1 (ADR_STAMINA1,JMP,1);
CPatch cStamina2 (ADR_STAMINA2,JMP,1);
CPatch cStamina3 (ADR_STAMINA3,JMP,1);
CPatch cVehNoDamage (ADR_VEHNODAMAGE,RETN,1);
CPatch cVehInvisible (ADR_VEHINVISIBLE,NOP,3);
CPatch cVehSuperFire1 (ADR_VEHSUPERFIRE1,NOP,2);
CPatch cVehSuperFire2 (ADR_VEHSUPERFIRE2,NOP,2);
CPatch cVehSuperFire3 (ADR_VEHSUPERFIRE3,VEHFIREON,2);
CPatch cVehOverHeart (ADR_ANTIOVERHEART,NOP,4);
CPatch cUnlAmmo (ADR_UNLAMMO,RETN,1);
CPatch cWalkThru (ADR_WALKTHRU,NOP,3);
CPatch cAntiAfk (ADR_ANTIAFK,JMP,1);
CPatch cQuickSpawn1 (ADR_QUICKSPAWN1,JMP,1);
CPatch cQuickSpawn2 (ADR_QUICKSPAWN2,NOP,6);
CPatch cFastReload1 (ADR_FASTRELOAD1,NOP,2);
CPatch cFastReload2 (ADR_FASTRELOAD2,NOP,2);
CPatch cMineInfo1 (ADR_MINEINFO1,NOP,6);
CPatch cMineInfo2 (ADR_MINEINFO2,NOP,6);
CPatch cMineInfoFFA1 (ADR_MINEINFOFFA1,NOP,2);
CPatch cMineInfoFFA2 (ADR_MINEINFOFFA2,NOP,2);
CPatch cAntiFlash (ADR_ANTIFLASH,JMP,1);
CPatch cAntiM14 (ADR_ANTIM14,ANTIM14ON,6);
CPatch cInvisible (ADR_INVISIBLE,INVISIBLEON,3);
CPatch cRadarGPS (ADR_RADARGPS,JMP,1);
CPatch cRadarFFA1 (ADR_RADARFFA1,JMP,1);
CPatch cRadarFFA2 (ADR_RADARFFA2,JMP,1);
CPatch cNoRestriction (ADR_NORESTRICTION,NOP,6);
CPatch cQuickPlant (ADR_QUICKPLANT,QPLANTON,2);
CPatch cQuickDefuse (ADR_QUICKDEFUSE,QDEFUSEON,2);
CPatch cHeadShot (ADR_BONESHOT,HEADON,5);
CPatch cNeckShot (ADR_BONESHOT,NEKCON,5);
CPatch cAutoHeal1 (ADR_AUTOHEAL1,AUTOHEALON,6);
CPatch cAutoHeal2 (ADR_AUTOHEAL2,NOP,6);
CPatch cAutoAmmo1 (ADR_AUTOAMMO1,JMP,1);
CPatch cAutoAmmo2 (ADR_AUTOAMMO2,NOP,6);
CPatch cAutoRepair1 (ADR_AUTOREPAIR1,NOP,6);
CPatch cAutoRepair2 (ADR_AUTOREPAIR2,NOP,6);
CPatch cAutoRepair3 (ADR_AUTOREPAIR3,REPAIRJMP,2);
CPatch cExtraClipA (ADR_CLIPA,EXTRACLIPON,3);
CPatch cExtraClipS (ADR_CLIPS,EXTRACLIPON,3);
CPatch cPXStamina1 (ADR_STAMINAUP1,STAMINAUPON,3);
CPatch cPXStamina2 (ADR_STAMINAUP2,STAMINAUPON,3);
CPatch cDeathCam (ADR_DEATHCAM,NOP,2);
CPatch cSnierPX (ADR_SNIPERPX,SNIPERXON,2);
CPatch cCompBandage (ADR_COMPBANDAGE,EXTRACLIPON,3);
CPatch cShotThru1 (ADR_SHOTTHRU1,STWON,2);
CPatch cShotThru2 (ADR_SHOTTHRU2,STWON,2);
CPatch cOPK1 (ADR_OPK1,NOP,3);
CPatch cOPK2 (ADR_OPK2,NOP,3);
CPatch cOPK3 (ADR_OPK3,NOP,2);
CPatch cZeroDelay (ADR_ZERODELAY,NOP,2);
CPatch UnLockSwim (ADR_UNLOCKSWIM,NOP,2);
CPatch cCrossChange (ADR_PREMCROSSCHANGE,NOP,2);
CPatch cPremCross1 (ADR_PREMIUMCROSS1,NOP,6);
CPatch cPremCrossSel1 (ADR_PREMIUMCROSS2,CROSSSELECT1,5);
CPatch cPremCrossSel2 (ADR_PREMIUMCROSS2,CROSSSELECT2,5);
CPatch cPremCrossSel3 (ADR_PREMIUMCROSS2,CROSSSELECT3,5);
CPatch cPremCrossSel4 (ADR_PREMIUMCROSS2,CROSSSELECT4,5);
CPatch cPremCrossSel5 (ADR_PREMIUMCROSS2,CROSSSELECT5,5);
CPatch cPremCrossSel9 (ADR_PREMIUMCROSS2,CROSSSELECT9,5);
CPatch cUnLockCross (ADR_UNLOCKCROSS,NOP,2);
CPatch cAutoShot (ADR_AUTOSHOT,NOP,6);
CPatch cUnlOxygen (ADR_UNLOXYGEN,NOP,2);
CPatch cPlantDef (ADR_PLANTANYWHERE,PLANTDEFON,3);
CPatch cPunchDamage (ADR_DAMAGEAS,DAMAGEASPUNCH,7);
CPatch cColtDamage (ADR_DAMAGEAS,DAMAGEASCOLT,7);
CPatch cArtillery0 (ADR_ARTILLERY0,NOP,2);
CPatch cArtillery1 (ADR_ARTILLERY1,NOP,2);
CPatch cArtillery2 (ADR_ARTILLERY2,JMP,1);
CPatch cArtillery3 (ADR_ARTILLERY3,JMP,1);
CPatch cArtillery4 (ADR_ARTILLERY4,JMP,1);
CPatch cArtillery5 (ADR_ARTILLERY5,NOP,5);
CPatch cArtillery6 (ADR_ARTILLERY6,JMP,1);
CPatch cArtillery7 (ADR_ARTILLERY7,NOP,6);
CPatch cVehJump1 (ADR_VEHJUMP1,NOP,2);
CPatch cVehJump2 (ADR_VEHJUMP2,NOP,2);
void GETBACKLOBBY (void)
{
dwServer = *(DWORD*)ADR_SERVERPTR;
if (dwServer !=0 )
{
DWORD dwKickMeNow = *(DWORD*)(dwServer+0x996B0);
DWORD GetMeInLobby = ADR_BACKINLOBBY;
__asm
{
mov eax,dwKickMeNow
call [GetMeInLobby]
}
}
}
void cHackvar :: SpamBot ( char *SpamTexting )
{
DWORD dwWriteChat = ADR_SPAMBOT;
Sleep(2500);
__asm
{
mov ecx,SpamTexting
call dwWriteChat
}
}
void CallCrosshair (void)
{
// VMProtectBeginMutation("CallCrosshair");
dwGame = *(DWORD*)ADR_PLAYERPTR;
if ( dwGame !=0 )
{
DWORD CrosshairsCall1 = ADR_PREMCROSSCALL1;
DWORD CrosshairsCall2 = ADR_PREMCROSSCALL2;
cCrossChange.Patch();
__asm
{
call [CrosshairsCall2]
mov eax,dword ptr ds:[eax+0x30]
call [CrosshairsCall1]
}
cCrossChange.Restore();
}
// VMProtectEnd();
}
DWORD dwBulletsJMP = NULL;
__declspec (naked) void new_bullets (void)
{
// VMProtectBeginMutation("new_bullets");
if ( hacks.BULLETS !=0 )
{
__asm
{
mov ecx,hacks.BULLETS
mov dword ptr ss :[ebp-0x124],ecx
jmp dword ptr [dwBulletsJMP]
}
}
//VMProtectEnd();
}
DWORD IDKick = NULL;
DWORD fakeKickJmp = NULL;
__declspec (naked) void new_fakekick()
{
//VMProtectBeginMutation("new_fakekick");
if ( hacks.KICKAS !=0 )
{
__asm
{
lea ecx, dword ptr [edi+0x996B0]
mov eax,IDKick
jmp dword ptr [fakeKickJmp]
}
}
//VMProtectEnd();
}
DWORD UserKillKJmp = NULL;
DWORD UserID = NULL;
__declspec (naked) void new_userkill(void)
{
//VMProtectBeginMutation("new_userkill");
if ( hacks.USERKILL !=0 && hacks.PLAYERFIND !=0 )
{
__asm
{
mov ecx,UserID
mov dword ptr [eax+0x1C],ecx
jmp dword ptr [UserKillKJmp]
}
}
//VMProtectEnd();
}
void __cdecl GetGameNotice ( char* Text )
{
DWORD dwGameNotice = ADR_GAMENOTICE;
__asm
{
push Text
call [dwGameNotice]
pop ecx
}
}
void __cdecl PrintText ( int * UpGames , int * InChat, char *szName, BYTE *Red, BYTE *Green, BYTE *Blue )
{
__asm
{
push UpGames
push InChat
push Red
pop edi
push Green
push Blue
push szName
mov esi,ADR_GAMETEXT
call esi
}
}
void cHackvar :: cAsmFunction (void)
{
//VMProtectBeginMutation("cAsmFunction");
// == USER KILL
if ( hacks.USERKILL !=0 && hacks.PLAYERFIND !=0 )
{
cPlayerKill = false;
dwGame = *(DWORD*)ADR_PLAYERPTR;
if ( dwGame !=0 )
{
UserID = ( hacks.PLAYERFIND-1);
CPlayerInfo *pInfo = GetPlayerInfo (UserID);
CPlayerInfo *pLocalInfo = GetPlayerInfo( g_pBase->local->index );
if ( (pLocalInfo->health > 0) && ( pInfo->team != pLocalInfo->team ) && (pInfo->health > 0) && strcmp(hacks.SNAME,"Empty Slot")!=0 )
{
UserKillKJmp = (ADR_USERKILL+0x6);
tools->DetourCreate((BYTE*)ADR_USERKILL,(BYTE*)new_userkill,6);
}else{
patch->memcpy_s((void*)ADR_USERKILL,(BYTE*)USERKILLOFF,6);
}
}else{
patch->memcpy_s((void*)ADR_USERKILL,(BYTE*)USERKILLOFF,6);
}
}else{
if ( cPlayerKill == false )
{
patch->memcpy_s((void*)ADR_USERKILL,(BYTE*)USERKILLOFF,6);
cPlayerKill = true;
}
}
// == KICK AS
if ( hacks.KICKAS !=0 )
{
switch ( hacks.KICKAS )
{
case 1 : ( IDKick = 0x25 ); break;
case 2 : ( IDKick = (hacks.PLAYERFIND-1) ); break;
}
if (hacks.BGHOSTKICKER)
{
fakeKickJmp = (ADR_FAKEKICK+0x6);
tools->DetourCreate((BYTE*)ADR_FAKEKICK,(BYTE*)new_fakekick,6);
hacks.BGHOSTKICKER=false;
}
}else{
if (!hacks.BGHOSTKICKER)
{
patch->memcpy_s((void*)ADR_FAKEKICK,(BYTE*)KICKASOFF,6);
hacks.BGHOSTKICKER=true;
}
}
// == Artillery
if ( hacks.ARTILLERY == 1 )
{
cArtillery0.Patch();
cArtillery1.Patch();
cArtillery2.Patch();
cArtillery3.Patch();
cArtillery4.Patch();
cArtillery5.Patch();
cArtillery6.Patch();
cArtillery7.Patch();
}else{
cArtillery0.Restore();
cArtillery1.Restore();
cArtillery2.Restore();
cArtillery3.Restore();
cArtillery4.Restore();
cArtillery5.Restore();
cArtillery6.Restore();
cArtillery7.Restore();
}
// == WEAPON DAMAGE
if ( hacks.WEAPONDAMAGE == 1 )
{
cPunchDamage.Patch();
}
if ( hacks.WEAPONDAMAGE == 2 )
{
cPunchDamage.Restore();
cColtDamage.Patch();
}
if ( hacks.WEAPONDAMAGE == 0 )
{
cPunchDamage.Restore();
cColtDamage.Restore();
}
// == CROSSHAIR
if ( hacks.CROSSHAIR !=0 )
{
cPremCross1.Patch();
cUnLockCross.Patch();
if ( hacks.CROSSHAIR == 1 )
{
if ( cCrossHairs1 == true )
{
cPremCrossSel1.Patch();
CallCrosshair();
cCrossHairs1 = false;
cCrossHairs2 = true;
cCrossHairs3 = true;
cCrossHairs4 = true;
cCrossHairs5 = true;
}
}
if ( hacks.CROSSHAIR == 2 )
{
if ( cCrossHairs2 == true )
{
cPremCrossSel1.Restore();
cPremCrossSel2.Patch();
CallCrosshair();
cCrossHairs2 = false;
cCrossHairs5 = true;
cCrossHairs4 = true;
cCrossHairs3 = true;
cCrossHairs1 = true;
}
}
if ( hacks.CROSSHAIR == 3 )
{
if ( cCrossHairs3 == true )
{
cPremCrossSel2.Restore();
cPremCrossSel3.Patch();
CallCrosshair();
cCrossHairs3 = false;
cCrossHairs5 = true;
cCrossHairs4 = true;
cCrossHairs2 = true;
cCrossHairs1 = true;
}
}
if ( hacks.CROSSHAIR == 4 )
{
if ( cCrossHairs4 == true )
{
cPremCrossSel3.Restore();
cPremCrossSel4.Patch();
CallCrosshair();
cCrossHairs4 = false;
cCrossHairs5 = true;
cCrossHairs3 = true;
cCrossHairs2 = true;
cCrossHairs1 = true;
}
}
if ( hacks.CROSSHAIR == 5 )
{
if ( cCrossHairs5 == true )
{
cPremCrossSel4.Restore();
cPremCrossSel5.Patch();
CallCrosshair();
cCrossHairs5 = false;
cCrossHairs4 = true;
cCrossHairs3 = true;
cCrossHairs2 = true;
cCrossHairs1 = true;
}
}
if ( hacks.CROSSHAIR == 6 )
{
if ( cCrossHairs9 == true )
{
cPremCrossSel5.Restore();
cPremCrossSel9.Patch();
CallCrosshair();
cCrossHairs9 = false;
cCrossHairs5 = true;
cCrossHairs4 = true;
cCrossHairs3 = true;
cCrossHairs2 = true;
cCrossHairs1 = true;
}
}
}else{
if ( cCrossHairs1 == false || cCrossHairs2 == false || cCrossHairs3 == false || cCrossHairs4 == false || cCrossHairs5 == false || cCrossHairs9 == false )
{
cPremCross1.Restore();
cPremCrossSel1.Restore();
cPremCrossSel2.Restore();
cPremCrossSel3.Restore();
cPremCrossSel4.Restore();
cPremCrossSel5.Restore();
cPremCrossSel9.Restore();
cUnLockCross.Restore();
CallCrosshair();
cCrossHairs1 = true;
cCrossHairs2 = true;
cCrossHairs3 = true;
cCrossHairs4 = true;
cCrossHairs5 = true;
cCrossHairs9 = true;
}
}
if(!bValueStored)
{
CWeaponGlobal* weaponPtr_1 = (CWeaponGlobal*)ADR_WEAPONGLOBAL1;
CWeaponGlobal* weaponPtr_2 = (CWeaponGlobal*)ADR_WEAPONGLOBAL2;
if ( weaponPtr_1 !=0 && weaponPtr_2 !=0 )
{
for(int i = 0; i < MAX_WEAPONS; i++)
{
weaponsOriginalValues[i].dwWeight = weaponPtr_1->WeaponPtr->WeaponInformations[i]->dwWeight;
weaponsOriginalValues[i].dwWeight = weaponPtr_2->WeaponPtr->WeaponInformations[i]->dwWeight;
weaponsOriginalValues[i].dwShotSpeed = weaponPtr_1->WeaponPtr->WeaponInformations[i]->dwShotSpeed;
weaponsOriginalValues[i].dwShotSpeed = weaponPtr_2->WeaponPtr->WeaponInformations[i]->dwShotSpeed;
bValueStored = true;
}
}
}
// NO WEAPON RANGE
if ( hacks.WEAPONRANGE == 1 )
{
if ( g_pBase->local )
{
CWeaponGlobal* weaponPtr_1 = (CWeaponGlobal*)ADR_WEAPONGLOBAL1;
CWeaponGlobal* weaponPtr_2 = (CWeaponGlobal*)ADR_WEAPONGLOBAL2;
if ( weaponPtr_1 !=0 && weaponPtr_2 !=0 )
{
weaponPtr_1->WeaponPtr->WeaponInformations[g_pBase->local->weapon]->dwRange = 1000000;
weaponPtr_2->WeaponPtr->WeaponInformations[g_pBase->local->weapon]->dwRange = 1000000;
}
}
}
// EXTRA RANGE
if ( hacks.EXTRARANGE !=0 )
{
if ( g_pBase->local )
{
CWeaponGlobal* weaponPtr_1 = (CWeaponGlobal*)ADR_WEAPONGLOBAL1;
CWeaponGlobal* weaponPtr_2 = (CWeaponGlobal*)ADR_WEAPONGLOBAL2;
if ( weaponPtr_1 !=0 && weaponPtr_2 !=0 )
{
switch ( hacks.EXTRARANGE )
{
case 1 :
weaponPtr_1->WeaponPtr->WeaponInformations[g_pBase->local->weapon]->dwEffectRange = 10000;
weaponPtr_2->WeaponPtr->WeaponInformations[g_pBase->local->weapon]->dwEffectRange = 10000;
break;
case 2 :
weaponPtr_1->WeaponPtr->WeaponInformations[g_pBase->local->weapon]->dwEffectRange = 20000;
weaponPtr_2->WeaponPtr->WeaponInformations[g_pBase->local->weapon]->dwEffectRange = 20000;
break;
case 3 :
weaponPtr_1->WeaponPtr->WeaponInformations[g_pBase->local->weapon]->dwEffectRange = 30000;
weaponPtr_2->WeaponPtr->WeaponInformations[g_pBase->local->weapon]->dwEffectRange = 30000;
break;
case 4 :
weaponPtr_1->WeaponPtr->WeaponInformations[g_pBase->local->weapon]->dwEffectRange = 40000;
weaponPtr_2->WeaponPtr->WeaponInformations[g_pBase->local->weapon]->dwEffectRange = 40000;
break;
case 5 :
weaponPtr_1->WeaponPtr->WeaponInformations[g_pBase->local->weapon]->dwEffectRange = 1000000;
weaponPtr_2->WeaponPtr->WeaponInformations[g_pBase->local->weapon]->dwEffectRange = 1000000;
break;
}
}
}
}
// == Super Weapons
if ( hacks.WEAPONPLUS == 1 )
{
if ( g_pBase->local )
{
CWeaponGlobal* weaponPtr_1 = (CWeaponGlobal*)ADR_WEAPONGLOBAL1;
CWeaponGlobal* weaponPtr_2 = (CWeaponGlobal*)ADR_WEAPONGLOBAL2;
if ( weaponPtr_1 !=0 && weaponPtr_2 !=0 )
{
weaponPtr_1->WeaponPtr->WeaponInformations[g_pBase->local->weapon]->dwShotSpeed = 50000;
weaponPtr_2->WeaponPtr->WeaponInformations[g_pBase->local->weapon]->dwShotSpeed = 50000;
}
}
}else{
if ( bValueStored )
{
CWeaponGlobal* weaponPtr_1 = (CWeaponGlobal*)ADR_WEAPONGLOBAL1;
CWeaponGlobal* weaponPtr_2 = (CWeaponGlobal*)ADR_WEAPONGLOBAL2;
if ( weaponPtr_1 !=0 && weaponPtr_2 !=0 )
{
for(int i = 0; i < MAX_WEAPONS; i++)
{
weaponPtr_1->WeaponPtr->WeaponInformations[i]->dwShotSpeed = weaponsOriginalValues[i].dwShotSpeed;
weaponPtr_2->WeaponPtr->WeaponInformations[i]->dwShotSpeed = weaponsOriginalValues[i].dwShotSpeed;
}
}
}
}
// == No Weapon weight
if ( hacks.NOWEAPONWEIGHT == 1 )
{
if ( g_pBase->local )
{
CWeaponGlobal* weaponPtr_1 = (CWeaponGlobal*)ADR_WEAPONGLOBAL1;
CWeaponGlobal* weaponPtr_2 = (CWeaponGlobal*)ADR_WEAPONGLOBAL2;
if ( weaponPtr_1 !=0 && weaponPtr_2 !=0 )
{
weaponPtr_1->WeaponPtr->WeaponInformations[g_pBase->local->weapon]->dwWeight = 0;
weaponPtr_2->WeaponPtr->WeaponInformations[g_pBase->local->weapon]->dwWeight = 0;
}
}
}else{
if ( bValueStored )
{
CWeaponGlobal* weaponPtr_1 = (CWeaponGlobal*)ADR_WEAPONGLOBAL1;
CWeaponGlobal* weaponPtr_2 = (CWeaponGlobal*)ADR_WEAPONGLOBAL2;
if ( weaponPtr_1 !=0 && weaponPtr_2 !=0 )
{
for(int i = 0; i < MAX_WEAPONS; i++)
{
weaponPtr_1->WeaponPtr->WeaponInformations[i]->dwWeight = weaponsOriginalValues[i].dwWeight;
weaponPtr_2->WeaponPtr->WeaponInformations[i]->dwWeight = weaponsOriginalValues[i].dwWeight;
}
}
}
}
// == UNLIMITED OXYGEN
if ( hacks.UNLOXYGEN == 1 )
{
cUnlOxygen.Patch();
}else{
cUnlOxygen.Restore();
}
// == COMP BANDAGE
if ( hacks.COMPBANDAGE == 1 )
{
cCompBandage.Patch();
}else{
cCompBandage.Restore();
}
// == SNIPER ZOOM x2
if ( hacks.SZOOM == 1 )
{
cSnierPX.Patch();
}else{
cSnierPX.Restore();
}
// == DEATH CAM
if ( hacks.DTCAM == 1 )
{
cDeathCam.Patch();
}else{
cDeathCam.Restore();
}
// == SP UP
if ( hacks.SPUP == 1 )
{
cPXStamina1.Patch();
cPXStamina2.Patch();
}else{
cPXStamina1.Restore();
cPXStamina2.Restore();
}
/*
// == CLAN WAR
if ( hacks.CLANTAG == 1 )
{
*(int*)(ADR_CLANTAG_1) = 1;
*(int*)(ADR_CLANTAG_2) = 1;
*(int*)(ADR_CLANTAG_3) = 1;
*(int*)(ADR_CLANTAG_4) = 1;
*(int*)(ADR_ENBLCLANCHAT) = 1;
*/
// memcpy((void*)ADR_CLANNAME,/*NexonArmy*/XorStr<0x3B,10,0xBF748C35>("\x75\x59\x45\x51\x51\x01\x33\x2F\x3A"+0xBF748C35).s,9);
//}
// == BULLETS
if ( hacks.BULLETS !=0 )
{
if ( hacks.BBULLET )
{
dwBulletsJMP = ADR_BULLETSJMP;
tools->DetourCreate((BYTE*)ADR_BULLETS,(BYTE*)new_bullets,6);
hacks.BBULLET = false;
}
}else{
if (!hacks.BBULLET)
{
patch->memcpy_s((void*)ADR_BULLETS,BULLETOFF,6);
hacks.BBULLET = true;
}
}
// == ZERO DELAY
if ( hacks.ZERODELAY == 1 )
{
cZeroDelay.Patch();
}else{
cZeroDelay.Restore();
}
// == OPK
if ( hacks.OPK == 1 )
{
cOPK1.Patch();
cOPK2.Patch();
cOPK3.Patch();
}else{
cOPK1.Restore();
cOPK2.Restore();
cOPK3.Restore();
}
// == PRONE
if ( hacks.PRONE == 1 )
{
cProne.Patch();
}else{
cProne.Restore();
}
// == SHOTTHRU
if ( hacks.SHOTTHRU == 1 )
{
dwGame = *(DWORD*)ADR_PLAYERPTR;
if ( dwGame !=0 )
{
cShotThru1.Patch();
cShotThru2.Patch();
}else{
cShotThru1.Restore();
cShotThru2.Restore();
}
}else{
cShotThru1.Restore();
cShotThru2.Restore();
}
// == EXTRA CLIP S
if ( hacks.EXTRACLIPS == 1 )
{
cExtraClipS.Patch();
}else{
cExtraClipS.Restore();
}
// == EXTRA CLIP A
if ( hacks.EXTRACLIPA == 1 )
{
cExtraClipA.Patch();
}else{
cExtraClipA.Restore();
}
// == VEH NO OVER HEART
if ( hacks.VEHOVERHEART == 1 )
{
cVehOverHeart.Patch();
}else{
cVehOverHeart.Restore();
}
// == AUTO REPAIR
if ( hacks.AUTOREPAIR == 1 )
{
cAutoRepair1.Patch();
cAutoRepair2.Patch();
cAutoRepair3.Patch();
}else{
cAutoRepair1.Restore();
cAutoRepair2.Restore();
cAutoRepair3.Restore();
}
// == AUTO AMMO
if ( hacks.AUTOAMMO == 1 )
{
cAutoAmmo1.Patch();
cAutoAmmo2.Patch();
}else{
cAutoAmmo1.Restore();
cAutoAmmo2.Restore();
}
// == AUTO HEAL
if ( hacks.AUTOHEAL == 1 )
{
cAutoHeal1.Patch();
cAutoHeal2.Patch();
}else{
cAutoHeal1.Restore();
cAutoHeal2.Restore();
}
// == BONE SHOT
if ( hacks.BONESHOT == 1 )
{
cHeadShot.Patch();
}
if ( hacks.BONESHOT == 2 )
{
cHeadShot.Restore();
cNeckShot.Patch();
}
if ( hacks.BONESHOT == 0 )
{
cHeadShot.Restore();
cNeckShot.Restore();
}
// == QUICK PLANT/DEFUSE
if ( hacks.QUICKPLANTDEFUSE == 1 )
{
cQuickDefuse.Patch();
cQuickPlant.Patch();
}else{
cQuickDefuse.Restore();
cQuickPlant.Restore();
}
// == Plant Def Anywhere
if ( hacks.QUICKPLANTDEFUSE == 1 && hacks.PLANTDEFUSEANYWHERE == 1 )
{
cPlantDef.Patch();
}else{
cPlantDef.Restore();
}
// == AUTO SHOT
if ( hacks.AUTOSHOT == 1 )
{
cAutoShot.Patch();
}else{
cAutoShot.Restore();
}
// == NO RESTRICTION
if ( hacks.NORESTRICTION == 1 )
{
cNoRestriction.Patch();
}else{
cNoRestriction.Restore();
}
// == RADARGPS
if ( hacks.RADAR == 1 )
{
dwServer = *(DWORD*)ADR_SERVERPTR;
if ( dwServer !=0 )
{
DWORD dwFFA = *(DWORD*)(dwServer+0x9C5C0);
if ( dwFFA == 1 )
{
cRadarFFA1.Patch();
cRadarFFA2.Patch();
}else{
cRadarFFA1.Restore();
cRadarFFA2.Restore();
}
}
cRadarGPS.Patch();
}else{
cRadarGPS.Restore();
cRadarFFA1.Restore();
cRadarFFA2.Restore();
}
// == INVISIBLE
if ( hacks.INVISIBLE == 1 )
{
cInvisible.Patch();
}else{
cInvisible.Restore();
}
// == ANTI M14
if ( hacks.ANTIM14 == 1 )
{
cAntiM14.Patch();
}else{
cAntiM14.Restore();
}
// == ANTI FLASH
if ( hacks.ANTIFLASH == 1 )
{
cAntiFlash.Patch();
}else{
cAntiFlash.Restore();
}
// == MINEINFO
if ( hacks.MINEINFO == 1 )
{
cMineInfo1.Patch();
cMineInfo2.Patch();
cMineInfoFFA1.Patch();
cMineInfoFFA2.Patch();
}else{
cMineInfo1.Restore();
cMineInfo2.Restore();
cMineInfoFFA1.Restore();
cMineInfoFFA2.Restore();
}
// == Fast Reload
if ( hacks.FASTRELOAD == 1 )
{
cFastReload1.Patch();
cFastReload2.Patch();
}else{
cFastReload1.Restore();
cFastReload2.Restore();
}
// == Quick Spawn
if ( hacks.QUICKSPAWN == 1 )
{
cQuickSpawn1.Patch();
cQuickSpawn2.Patch();
}else{
cQuickSpawn1.Restore();
cQuickSpawn2.Restore();
}
// == Walk Thru
if ( hacks.WALKTHRU == 1 )
{
cWalkThru.Patch();
}else{
cWalkThru.Restore();
}
// == ANTIAFK
if ( hacks.ANTIAFK == 1 )
{
cAntiAfk.Patch();
}else{
cAntiAfk.Restore();
}
// == UNL AMMO
if ( hacks.UNLAMMO == 1 )
{
cUnlAmmo.Patch();
}else{
cUnlAmmo.Restore();
}
// == VEH SUPERJUMP
if ( hacks.VEHJUMP == 1 )
{
cVehJump1.Patch();
cVehJump2.Patch();
if ( cVehJump == true )
{
tools->VProtect((void*)(ADR_VEHJUMP3),0x4,PAGE_EXECUTE_READWRITE,&OldProtection);
cVehJump = false;
}
if ( *(DWORD*)(dwGame+OFS_PLAYERSTARE) == *(DWORD*)ADR_INVEHICLE )
{
*(float*) (ADR_VEHJUMP3) = 0;
}else{
*(float*) (ADR_VEHJUMP3) = 40;
}
}else{
cVehJump1.Restore();
cVehJump2.Restore();
if ( cVehJump == false )
{
*(float*) (ADR_VEHJUMP3) = 40;
tools->VProtect((void*)(ADR_VEHJUMP3),0x4,OldProtection,0);
cVehJump = true;
}
}
// == VEH NO DAMAGE
if ( hacks.VEHNODAMAGE == 1 )
{
cVehNoDamage.Patch();
}else{
cVehNoDamage.Restore();
}
// == VEH INVISIBLE
if ( hacks.VEHINVISIBLE == 1 )
{
cVehInvisible.Patch();
}else{
cVehInvisible.Restore();
}
// == VEH SUPER FIRE
if ( hacks.VEHSUPERFIRE == 1 )
{
cVehSuperFire1.Patch();
cVehSuperFire2.Patch();
cVehSuperFire3.Patch();
}else{
cVehSuperFire1.Restore();
cVehSuperFire2.Restore();
cVehSuperFire3.Restore();
}
// == STAMINA
if ( hacks.FULLSTAMINA == 1 )
{
cStamina1.Patch();
cStamina2.Patch();
cStamina3.Patch();
}else{
cStamina1.Restore();
cStamina2.Restore();
cStamina3.Restore();
}
// == NO RECOIL
if ( hacks.NORECOIL == 1 )
{
cNoRecoil.Patch();
}else{
cNoRecoil.Restore();
}
// == NO SPREAD
if ( hacks.NOSPREAD == 1 )
{
cNoSpread.Patch();
}else{
cNoSpread.Restore();
}
// == NO RELOAD
if ( hacks.NORELOAD == 1 )
{
cNoReload.Patch();
}else{
cNoReload.Restore();
}
// VMProtectEnd();
}
void cHackvar :: cInGameFunction (void)
{
dwGame = *(DWORD*)ADR_PLAYERPTR;
if ( dwGame !=0 )
{
// == FOLLOW PLAYER
if ( hacks.USERTELEPORT == 1 && hacks.PLAYERFIND !=0 )
{
CPlayerInfo * spInfo = GetPlayerInfo(hacks.PLAYERFIND-1);
CPlayer * spPlayer = g_pBase->player[hacks.PLAYERFIND-1];
if ( spInfo && spPlayer)
{
if ( tools->IsValidPlayer(spPlayer,spInfo) )
{
if ( spInfo->health > 0 )
{
g_pBase->local->pos1 = spPlayer->pos1;
}
}
}
}
// == User Invisible
if ( hacks.USERINVISIBLE == 1 && hacks.PLAYERFIND !=0 )
{
CPlayerInfo * spInfo = GetPlayerInfo(hacks.PLAYERFIND-1);
CPlayer * spPlayer = g_pBase->player[hacks.PLAYERFIND-1];
if ( spInfo && spPlayer )
{
if ( tools->IsValidPlayer(spPlayer,spInfo) )
{
if ( spInfo->health > 0 )
{
spPlayer->pos1.b = 0;
spPlayer->pos1.y = 0;
spPlayer->pos1.d = 0;
spPlayer->pos1.m = 0;
spPlayer->pos1.g = 0;
spPlayer->pos1.s = 0;
}
}
}
}
// == TELEKILL
if ( hacks.TELEKILL == 1 )
{
if (GetAsyncKeyState(VK_RBUTTON)&0x8000)
{
for ( int i = 0; i < 32; i++ )
{
CPlayerInfo *pInfo = GetPlayerInfo(i);
CPlayer *spPlayer = g_pBase->player[i];
if ( pInfo && spPlayer )
{
if ( tools->IsValidPlayer(spPlayer,pInfo) )
{
CPlayerInfo *pLocalInfo = GetPlayerInfo(g_pBase->local->index);
if( pInfo->team != pLocalInfo->team )
{
if( pInfo->health !=0 )
{
g_pBase->local->pos1 = spPlayer->pos1;
break;
}
}
}
}
}
}
}
// == Zombie OPK
if ( hacks.ZOMBIEOPK == 1 )
{
dwServer = *(DWORD*)ADR_SERVERPTR;
if ( dwServer !=0 )
{
DWORD dwZombie = *(DWORD*)(dwServer+0x9C5C0);
if ( dwZombie == 9 )
{
for(int i = 0; i < 32; i++)
{
CPlayer * pPlayer = g_pBase->player[i];
if ( pPlayer )
{
g_pBase->local->pos1.b =0.0f; //ME
g_pBase->local->pos1.d =0.0f; //ME
g_pBase->local->pos1.g =0.0f; //ME
/*<--------------->*/
pPlayer->pos1.b = 80.0f; //Zombie
pPlayer->pos1.d = 80.0f; //Zombie
pPlayer->pos1.g = 80.0f; //Zombie
}
}
}
}
}
// == SPEED HACK
if ( hacks.SPEED != 0 )
{
if ( cSpeed == true )
{
tools->VProtect((void*)(ADR_SPEED),0x8,PAGE_EXECUTE_READWRITE,&OldProtection);
cSpeed = false;
}
switch ( hacks.SPEED )
{
case 1 :*(double*)(ADR_SPEED) = 96+10; break;
case 2 :*(double*)(ADR_SPEED) = 96+20; break;
case 3 :*(double*)(ADR_SPEED) = 96+200; break;
case 4 :*(double*)(ADR_SPEED) = 96+500; break;
case 5 :*(double*)(ADR_SPEED) = 96+1000; break;
}
}else{
if ( cSpeed == false )
{
*(double*)(ADR_SPEED) = 96;
tools->VProtect((void*)(ADR_SPEED),0x8,OldProtection,0);
cSpeed = true;
}
}
// == SPEED ROLLING
if ( hacks.SPEEDROLL != 0 )
{
if ( cSpeedRoll == true )
{
tools->VProtect((void*)(ADR_SPEEDROLLING),0x4,PAGE_EXECUTE_READWRITE,&OldProtection);
cSpeedRoll = false;
}
switch ( hacks.SPEEDROLL )
{
case 1 :*(float*)(ADR_SPEEDROLLING) = 2.75; break;
case 2 :*(float*)(ADR_SPEEDROLLING) = 3.75; break;
case 3 :*(float*)(ADR_SPEEDROLLING) = 4.75; break;
case 4 :*(float*)(ADR_SPEEDROLLING) = 5.75; break;
case 5 :*(float*)(ADR_SPEEDROLLING) = 6.75; break;
}
}else{
if ( cSpeedRoll == false )
{
*(float*)(ADR_SPEEDROLLING) = 1.75f;
tools->VProtect((void*)ADR_SPEEDROLLING,0x4,OldProtection,0);
cSpeedRoll = true;
}
}
// == QUICK ALL
if ( hacks.FASTALL == 1 )
{
*(float*)(ADR_FASTFLAG) = 20.0f;
*(float*)(ADR_FASTMEDIC) = 15.0f;
*(float*)(ADR_FASTAMMO) = 15.0f;
}
// == Weapon Gravity
if ( hacks.WEAPNOGRAVITY == 1 )
{
if ( cWepGrav == true )
{
tools->VProtect((void*)(ADR_WEAPONGRAVITY),0x8,PAGE_EXECUTE_READWRITE,&OldProtection);
*(double*)(ADR_WEAPONGRAVITY) = 9999;
cWepGrav = false;
}
}else{
if ( cWepGrav == false )
{
*(double*)(ADR_WEAPONGRAVITY) = 1000;
tools->VProtect((void*)ADR_WEAPONGRAVITY,0x8,OldProtection,0);
cWepGrav = true;
}
}
// == SWIM
if ( hacks.SWIM == 1 )
{
if ( *(DWORD*)(dwGame+OFS_PLAYERSTARE) != *(DWORD*)ADR_INVEHICLE )
{
*(DWORD*)(dwGame+OFS_PLAYERSTARE) = *(DWORD*)ADR_SWIM1;
UnLockSwim.Patch();
cSwim = false;
}else{
cSwim = false;
}
}else{
if ( cSwim == false )
{
*(DWORD*)(dwGame+OFS_PLAYERSTARE) = *(DWORD*)ADR_SWIM2;
*(DWORD*)(dwGame+OFS_PLAYERSTARE) = *(DWORD*)(dwGame+OFS_PLAYERSTARE);
UnLockSwim.Restore();
cSwim = true;
}
}
// == SUPER JUMP
if ( hacks.SUPERJUMP == 1 )
{
if (GetAsyncKeyState(0x20))
{
*(float*)(dwGame+OFS_SUPERJUMP) = *(float*)(dwGame+OFS_SUPERJUMP) + 35;
}
}
// == NO FALL DAMAGE
if ( hacks.NOFALL == 1 )
{
*(float*)(dwGame+OFS_NOFALLDAMAGE) = -9999999;
}
// == SCOPE
if ( hacks.NOSCOPE == 1 )
{
if (GetAsyncKeyState(0x02))
{
*(DWORD*)(ADR_SCOPE) = 8;
}else{
*(DWORD*)(ADR_SCOPE) = 5;
}
}
// == NO BOUNDS
if ( hacks.NOBOUNDS == 1 )
{
*(DWORD*)(ADR_NOBOUNDS1) = 0;
*(DWORD*)(ADR_NOBOUNDS2) = 0;
*(DWORD*)(ADR_NOBOUNDS3) = 0;
}
// == NO WATER
if ( hacks.NOWATER == 1 )
{
if ( cWaterB == true )
{
cWater1 = *(int*)(ADR_NOWATER_1);
cWater2 = *(int*)(ADR_NOWATER_2);
*(int*)(ADR_NOWATER_1) = 0;
*(int*)(ADR_NOWATER_2) = 0;
cWaterB = false;
}
}else{
if ( cWaterB == false )
{
*(int*)(ADR_NOWATER_1) = cWater1;
*(int*)(ADR_NOWATER_2) = cWater2;
cWaterB = true;
}
}
}
}
void cHackvar :: cInServerFunction (void)
{
dwServer = *(DWORD*)ADR_SERVERPTR;
if ( dwServer !=0 )
{
// == PREMIUM
switch ( hacks.PREMIUM )
{
case 1:
*(long*)( dwServer+OFS_PREMIUM) = 1;
*(long*)( dwServer+OFS_PREMIUM + 0x4 ) = 2592000;
break;
case 2:
*(long*)( dwServer+OFS_PREMIUM ) = 2;
*(long*)( dwServer+OFS_PREMIUM + 0x4 ) = 2592000;
break;
case 3:
*(long*)( dwServer+OFS_PREMIUM ) = 3;
*(long*)( dwServer+OFS_PREMIUM + 0x4 ) = 2592000;
break;
case 4:
*(long*)( dwServer+OFS_PREMIUM ) = 4;
*(long*)( dwServer+OFS_PREMIUM + 0x4 ) = 2592000;
break;
}
// == GM ALERT MESSAGE
if ( hacks.GMALERT == 1 )
{
char *GMName = (char*)(ADR_GMALERTNAME);
char *GMIP = (char*)(ADR_GMALERTIP);
if ( strlen(GMName) > 2 || strlen(GMIP) > 2 )
{
char GMWarnMex[333];
sprintf(GMWarnMex,/*ATTENTION >> %s is spectating room!*/XorStr<0x2C,36,0x4B99FFE8>("\x6D\x79\x7A\x6A\x7E\x65\x7B\x7C\x7A\x15\x08\x09\x18\x1C\x49\x1B\x55\x4E\x1E\x4C\x30\x24\x21\x37\x25\x31\x2F\x29\x2F\x69\x38\x24\x23\x20\x6F"+0x4B99FFE8).s,ADR_GMALERTNAME,ADR_GMALERTIP);
PrintText((int*)0x0,(int*)0x1,GMWarnMex,(BYTE*)0xFF,(BYTE*)0x00,(BYTE*)0x00);//Red
}
}
// == GM ALERT LOBBY
if ( hacks.GMALERT == 2 )
{
char *GMName = (char*)(ADR_GMALERTNAME);
if ( strlen(GMName) > 2 )
{
GETBACKLOBBY();
}
}
// == GM ALERT CRASH
if ( hacks.GMALERT == 3 )
{
char *GMName = (char*)(ADR_GMALERTNAME);
if ( strlen(GMName) > 2 )
{
ExitProcess(TRUE);
}
}
// == Room Master
if ( hacks.ROOMMASTER == 1 )
{
DWORD *PLSLOT;
DWORD *RMSLOT;
PLSLOT =(DWORD *)((dwServer)+ OFS_PLAYERSLOT);
RMSLOT =(DWORD *)((dwServer)+ OFS_ROOMMASTER);
*RMSLOT = *PLSLOT;
}
// == SUPER MASTER
if ( hacks.SUPERMASTER == 1 )
{
if ( cSuperMaster == true )
{
SuperMaster = *(long*)(dwServer+OFS_SUPERMASTER);
*(long*)(dwServer+OFS_SUPERMASTER) = 1;
cSuperMaster = false;
}
}else{
if ( cSuperMaster == false )
{
*(long*)(dwServer+OFS_SUPERMASTER) = SuperMaster;
cSuperMaster = true;
}
}
// == ALL SLOT
if ( hacks.SLOTS == 1 )
{
if ( cSlot == true )
{
Slot5 = *(BYTE*)(dwServer+OFS_SLOTS);
Slot6 = *(BYTE*)(dwServer+OFS_SLOTS+0x1);
Slot7 = *(BYTE*)(dwServer+OFS_SLOTS+0x2);
Slot8 = *(BYTE*)(dwServer+OFS_SLOTS+0x3);
// ==========================================
*(BYTE*)(dwServer+OFS_SLOTS) = 1;
*(BYTE*)(dwServer+OFS_SLOTS+0x1) = 1;
*(BYTE*)(dwServer+OFS_SLOTS+0x2) = 1;
*(BYTE*)(dwServer+OFS_SLOTS+0x3) = 1;
cSlot = false;
}
}else{
if ( cSlot == false )
{
*(BYTE*)(dwServer+OFS_SLOTS) = Slot5;
*(BYTE*)(dwServer+OFS_SLOTS+0x1) = Slot6;
*(BYTE*)(dwServer+OFS_SLOTS+0x2) = Slot7;
*(BYTE*)(dwServer+OFS_SLOTS+0x3) = Slot8;
cSlot = true;
}
}
// == WEAPON BINDER
if ( hacks.CLASS > 0 )
{
find_weapons();
if (hacks.WEAPONSLOT1 >0)
WPNput(hacks.CLASS - 1, 0, hacks.WEAPONSLOT1-1);
if (hacks.WEAPONSLOT2 > 0)
WPNput(hacks.CLASS - 1, 1, hacks.WEAPONSLOT2-1);
if ( hacks.WEAPONSLOT3 > 0)
WPNput(hacks.CLASS- 1, 2, hacks.WEAPONSLOT3-1);
if ( hacks.WEAPONSLOT4 > 0)
WPNput(hacks.CLASS - 1, 3, hacks.WEAPONSLOT4-1);
if ( hacks.WEAPONSLOT5 > 0)
WPNput(hacks.CLASS - 1, 4 , hacks.WEAPONSLOT5-1);
if ( hacks.WEAPONSLOT6 > 0)
WPNput(hacks.CLASS - 1, 5, hacks.WEAPONSLOT6-1);
if ( hacks.WEAPONSLOT7 > 0)
WPNput(hacks.CLASS- 1, 6, hacks.WEAPONSLOT7-1);
if ( hacks.WEAPONSLOT8 > 0)
WPNput(hacks.CLASS - 1, 7, hacks.WEAPONSLOT8-1);
}
}
// == PLAYER FINDER
if ( hacks.PLAYERFIND )
{
DWORD Name = NULL;
DWORD Ip = NULL;
int i = (hacks.PLAYERFIND-1);
Name = (ADR_USERNAME + (ADR_PLAYERSIZE * i));
Ip = (ADR_USERIP + (ADR_PLAYERSIZE * i));
if ( strlen((char*)Name) >0 )
{
sprintf(SNAME,/*%s*/XorStr<0xDE,3,0x8CBF9E26>("\xFB\xAC"+0x8CBF9E26).s,(void*)Name);
sprintf(SIP,/*%s*/XorStr<0xDE,3,0x8CBF9E26>("\xFB\xAC"+0x8CBF9E26).s,(void*)Ip);
}else{
sprintf(SNAME,/*Empty Slot*/XorStr<0x07,11,0x75D18515>("\x42\x65\x79\x7E\x72\x2C\x5E\x62\x60\x64"+0x75D18515).s);
sprintf(SIP,/*Empty Slot*/XorStr<0x07,11,0x75D18515>("\x42\x65\x79\x7E\x72\x2C\x5E\x62\x60\x64"+0x75D18515).s);
}
}
}
void cHackvar :: StartAimbot ( void )
{
DWORD dwPlayerPointer = *(DWORD*)ADR_PLAYERPTR;
if ( hacks.AIMBOT !=0 && dwPlayerPointer!=0 && IsValid==479 )
{
hacks.NORECOIL=1;
D3DXVECTOR3 wLocal,wPlayer,wTarget,WarAngle;
float SetDist,PlrDist;
float SetAngle=9999999;
int botkey;
int PLRID = -1;
CPlayer* MyInfo = g_pBase->local;
switch(hacks.AIMRANGE)
{
case 0:SetDist=999999; break;
case 1:SetDist=10; break;
case 2:SetDist=20; break;
case 3:SetDist=30; break;
case 4:SetDist=40; break;
case 5:SetDist=60; break;
case 6:SetDist=80; break;
case 7:SetDist=100; break;
case 8:SetDist=200; break;
case 9:SetDist=300; break;
case 10:SetDist=400; break;
case 11:SetDist=600; break;
case 12:SetDist=1000; break;
}
switch(hacks.AIMKEY)
{
case 0:botkey=02; break;
case 1:botkey=02; break;
case 2:botkey=01; break;
case 3:botkey=04; break;
case 4:botkey=160; break;
case 5:botkey=162; break;
}
for ( int slot=0 ; slot<32 ; slot++ )
{
CPlayer *pPlayer = g_pBase->player[slot];
CPlayerInfo *pInfo = GetPlayerInfo(slot);
CPlayerInfo *pLocalInfo = GetPlayerInfo(g_pBase->local->index);
if ( MyInfo && pInfo && pPlayer )
{
if ( tools->IsValidPlayer(pPlayer,pInfo) )
{
wLocal.x = MyInfo->pos.x;
wLocal.y = MyInfo->pos.y;
wLocal.z = MyInfo->pos.z;
wPlayer.x = pPlayer->pos.x;
wPlayer.y = pPlayer->pos.y;
wPlayer.z = pPlayer->pos.z;
PlrDist = (float)sqrt(pow((wPlayer.x-wLocal.x),2)+pow((wPlayer.y-wLocal.y),2)+pow((wPlayer.z-wLocal.z),2))/10;
if ( PlrDist < SetDist && pInfo->team != pLocalInfo->team && pInfo->health > 0 && pInfo->name > 0 )
{
SetDist = PlrDist;
PLRID = slot;
cAimBot->AimCorrection(hacks.AIMAT,pPlayer,wPlayer,wTarget);
}
}
}
if ( PLRID != -1 )
{
if ( hacks.AIMBOT==2 )
{
cAimBot->TargetAngle(wTarget,wLocal,WarAngle);
cAimBot->AimToPoint(WarAngle[0],WarAngle[2]);
}
if ( hacks.AIMBOT==1 )
{
if(GetAsyncKeyState(botkey))
{
cAimBot->TargetAngle(wTarget,wLocal,WarAngle);
cAimBot->AimToPoint(WarAngle[0],WarAngle[2]);
}
}
}
}
}
}
void cHackvar :: D3DESP ( LPDIRECT3DDEVICE9 pDevice )
{
for ( int i = 0; i < 32; i++ )
{
if ( !g_pBase->player || !g_pBase->local)break;
CPlayer *spPlayer;
CPlayerInfo *spInfo;
spPlayer = g_pBase->player[i];
spInfo = GetPlayerInfo(i);
if ( spInfo && spPlayer )
{
CPlayerInfo *spLocalInfo = GetPlayerInfo(g_pBase->local->index);
if (hacks.NAMEESP || hacks.HEALTESP || hacks.IPESP || hacks.TEAMESP || hacks.DISTANCEESP )
{
D3DXVECTOR3 g_pPlayer(spPlayer->pos.x, spPlayer->pos.z, spPlayer->pos.y), g_vView;
if ( tools->IsValidPlayer(spPlayer, spInfo) && d3d->GetScreenCoordFromWorld ( pDevice, g_vView, g_pPlayer) )
{
float foffset = g_vView.y-30;
// == Enemy Only
if (hacks.ENEMYONLY == 1 && spInfo->team != spLocalInfo->team && spInfo->health > 0 && spInfo->name > 0 )
{
if (hacks.NAMEESP == 1 )
{
font->DrawText( g_vView.x, foffset,TextRed, spInfo->name,D3DFONT_CENTERED || D3DFONT_ZENABLE || D3DFONT_ITALIC);
foffset += 10;
}
if( hacks.HEALTESP == 1 )
{
d3d->ShowHealt(pDevice, g_vView.x+18,foffset+10,spInfo->health);
foffset += 10;
}
if( hacks.HEALTESP == 2 )
{
int Red1,Green1;
Red1 = 255-((spInfo->health/10)*2.55);
Green1 = (spInfo->health/10)*2.55;
sprintf(szhealth,/*%d %*/XorStr<0x63,5,0x678090F9>("\x46\x00\x45\x43"+0x678090F9).s,(int)spInfo->health/10);
font->DrawText( g_vView.x,foffset,D3DCOLOR_ARGB( 255, Red1, Green1, 0), szhealth, D3DFONT_CENTERED || D3DFONT_ZENABLE || D3DFONT_ITALIC);
foffset += 10;
}
/*
if ( hacks.WEAPONESP == 1 )
{
font->DrawText( g_vView.x,foffset,UrbaESP,EspWeapons[(int)spPlayer->weapon], D3DFONT_CENTERED || D3DFONT_ZENABLE || D3DFONT_ITALIC);
foffset += 10;
}
*/
if ( hacks.IPESP == 1 )
{
font->DrawText( g_vView.x,foffset,TextRed, spInfo->ip,D3DFONT_CENTERED || D3DFONT_ZENABLE || D3DFONT_ITALIC);
foffset += 10;
}
if(hacks.TEAMESP )
{
if ( GetPlayerInfo(i)->team == 1 )
{
font->DrawText(g_vView.x,foffset,D3DCOLOR_ARGB(255,0,255,0),/*N.I.U*/XorStr<0x20,6,0x4A8A24B3>("\x6E\x0F\x6B\x0D\x71"+0x4A8A24B3).s,D3DFONT_CENTERED || D3DFONT_ZENABLE || D3DFONT_ITALIC);
foffset += 10;
}else{
font->DrawText( g_vView.x,foffset,D3DCOLOR_ARGB(255,255,255,0),/*Derberan*/XorStr<0x5D,9,0x5AE559A3>("\x19\x3B\x2D\x02\x04\x10\x02\x0A"+0x5AE559A3).s,D3DFONT_CENTERED || D3DFONT_ZENABLE || D3DFONT_ITALIC);
foffset += 10;
}
}
if( hacks.DISTANCEESP == 1 )
{
sprintf(szDistance,/*%.2f m*/XorStr<0x27,7,0xC1C454F0>("\x02\x06\x1B\x4C\x0B\x41"+0xC1C454F0).s,tools->GetDistance(g_pBase->local, spPlayer)/60);
font->DrawText( g_vView.x,foffset, TextOrange, szDistance,D3DFONT_CENTERED || D3DFONT_ZENABLE || D3DFONT_ITALIC);
foffset += 10;
}
}
if ( hacks.ENEMYONLY == 2 && spInfo->health > 0 )
{
if ( spLocalInfo->team == spInfo->team )
{
UrbaESP = D3DCOLOR_ARGB(255,235,235,235);
}else{
UrbaESP = D3DCOLOR_ARGB(255,255,000,000);
}
if ( hacks.NAMEESP == 1 )
{
font->DrawText( g_vView.x,foffset,UrbaESP, spInfo->name,D3DFONT_CENTERED || D3DFONT_ZENABLE || D3DFONT_ITALIC);
foffset += 10;
}
if( hacks.HEALTESP == 1 )
{
d3d->ShowHealt (pDevice, g_vView.x+18,foffset+10, spInfo->health);
foffset += 10;
}
if ( hacks.HEALTESP == 2 )
{
int Red1,Green1;
Red1 = 255-((spInfo->health/10)*2.55);
Green1 = (spInfo->health/10)*2.55;
sprintf(szhealth,/*%d %*/XorStr<0x63,5,0x678090F9>("\x46\x00\x45\x43"+0x678090F9).s,(int)spInfo->health/10);
font->DrawText( g_vView.x,foffset,D3DCOLOR_ARGB( 255, Red1, Green1, 0), szhealth, D3DFONT_CENTERED || D3DFONT_ZENABLE || D3DFONT_ITALIC);
foffset += 10;
}
/*
if ( hacks.WEAPONESP == 1 )
{
font->DrawText( g_vView.x,foffset,UrbaESP,EspWeapons[(int)spPlayer->weapon], D3DFONT_CENTERED || D3DFONT_ZENABLE || D3DFONT_ITALIC);
foffset += 10;
}
*/
if (hacks.IPESP == 1 )
{
font->DrawText( g_vView.x,foffset,UrbaESP, spInfo->ip,D3DFONT_CENTERED || D3DFONT_ZENABLE || D3DFONT_ITALIC);
foffset += 10;
}
if (hacks.TEAMESP )
{
if ( GetPlayerInfo(i)->team == 1 )
{
font->DrawText(g_vView.x,foffset,D3DCOLOR_ARGB(255,0,255,0),/*N.I.U*/XorStr<0x20,6,0x4A8A24B3>("\x6E\x0F\x6B\x0D\x71"+0x4A8A24B3).s,D3DFONT_CENTERED || D3DFONT_ZENABLE || D3DFONT_ITALIC);
foffset += 10;
}else{
font->DrawText( g_vView.x,foffset,D3DCOLOR_ARGB(255,255,255,0),/*Derberan*/XorStr<0xD5,9,0x20273C3C>("\x91\xB3\xA5\xBA\xBC\xA8\xBA\xB2"+0x20273C3C).s,D3DFONT_CENTERED || D3DFONT_ZENABLE || D3DFONT_ITALIC);
foffset += 10;
}
}
if(hacks.DISTANCEESP == 1 )
{
sprintf(szDistance,/*%.2f m*/XorStr<0x27,7,0xC1C454F0>("\x02\x06\x1B\x4C\x0B\x41"+0xC1C454F0).s,tools->GetDistance(g_pBase->local, spPlayer)/60);
font->DrawText( g_vView.x,foffset,TextOrange, szDistance, D3DFONT_CENTERED || D3DFONT_ZENABLE || D3DFONT_ITALIC);
foffset += 10;
}
}
}
}
}
}
}
|
Anyone Can give me all source code of this?
|
|
|
02/27/2022, 00:44
|
#1123
|
elite*gold: 0
Join Date: Feb 2022
Posts: 20
Received Thanks: 3
|
Quote:
Originally Posted by UR_COD
Anyone Can give me all source code of this?
|
just ask from yazzn or use an packet logger.
|
|
|
02/27/2022, 05:16
|
#1124
|
elite*gold: 0
Join Date: Oct 2021
Posts: 44
Received Thanks: 6
|
Hi, Still you have the Menu Base source code of this?
Quote:
Originally Posted by Combatarmshackeraaa
My old hacks function.h
Code:
#ifndef ADDRESS
#define ADDRESS
#pragma once
#define ADR_GAMENOTICE 0x0040EECD//***
#define ADR_GAMETEXT 0x00522CC0//***
#define ADR_DEVICEPOINTER 0xAE2B74//***
#define OFS_DEVICEPOINTER 0x2B930
#define ADR_PLAYERPTR 0xAE92FC//***
#define ADR_SERVERPTR 0xAE3AC4//***
#define ADR_BASEPTR 0xB1BCF0//***
#define ADR_VIEWANGELS 0xAE2B70//***
#define ADR_GMALERTIP 0xB16928 + 0x10//***
#define ADR_GMALERTNAMEBASE (ADR_GMALERTIP - 0x400)
#define ADR_GMALERTNAME (ADR_GMALERTNAMEBASE + 0x10)
#define ADR_BACKINLOBBY 0x004E11EF
#define OFS_NOFALLDAMAGE 0x102E8
#define OFS_PREMIUM 0x3CC
#define OFS_PLAYERSTARE 0xC4CC
#define OFS_SLOTS 0x9F1E4
#define OFS_SUPERJUMP 0x10308
#define OFS_ROOMMASTER 0x9C7E8
#define OFS_SUPERMASTER 0x9C750
#define OFS_PLAYERSLOT 0xB8368//*****
#define ADR_SPEED 0x8C9E10//*****
#define ADR_SPEEDROLLING 0x8C9C38//*****
#define ADR_SCOPE 0x934460//*****
#define ADR_GETBASE ( 0xB6AC98 - ADR_PLAYERPTR ) //******
#define ADR_NEWCBASE ( ADR_GETBASE - 0x4 )
#define ADR_UNLOCKSWIM 0x00509C10//*****
#define ADR_SWIM1 0xADA95C //*****
#define ADR_SWIM2 0xAE933C //*****
#define ADR_INVEHICLE 0xAE9340 //*****
#define ADR_NOWATER_1 0xAF011C //*****
#define ADR_NOWATER_2 0xAF0120 //*****
#define ADR_WEAPONBASE 0xB07CE8 //******
#define ADR_SLOTBASE 0x9E040
#define ADR_PLAYERID 0xA40
#define ADR_DAMAGEAS 0x005105B0
#define ADR_UNLOXYGEN 0x00509CD2
#define ADR_PRONE 0x004F7D44
#define ADR_NOSPREAD 0x0051042C
#define ADR_NORECOIL 0x00500B8E
#define ADR_NORELOAD 0x0051C02A
#define ADR_BULLETS 0x00510696
#define ADR_BULLETSJMP 0x005106A2
#define ADR_STAMINA1 0x004575F8
#define ADR_STAMINA2 0x004F800B
#define ADR_STAMINA3 0x0050819A
#define ADR_VEHNODAMAGE 0x0042A91F
#define ADR_VEHINVISIBLE 0x0042AC8E
#define ADR_VEHSUPERFIRE1 0x004273C0
#define ADR_VEHSUPERFIRE2 0x004273EB
#define ADR_VEHSUPERFIRE3 0x0042742B
#define ADR_UNLAMMO 0x00513A0A
#define ADR_WALKTHRU 0x0076FB70
#define ADR_ANTIAFK 0x00592D17
#define ADR_QUICKSPAWN1 0x005E3249
#define ADR_QUICKSPAWN2 0x005E3263
#define ADR_FASTRELOAD1 0x0051C216
#define ADR_FASTRELOAD2 0x0059882E
#define ADR_STAMINAUP1 0x0040938E
#define ADR_STAMINAUP2 0x004093D5
#define ADR_CLIPA 0x00456646
#define ADR_CLIPS 0x0045665F
#define ADR_SNIPERPX 0x0045666D
#define ADR_COMPBANDAGE 0x004566C8
#define ADR_DEATHCAM 0x004566FA
#define ADR_ANTIFLASH 0x005A9818
#define ADR_ANTIM14 0x005A9744
#define ADR_MINEINFO1 0x00448404
#define ADR_MINEINFO2 0x00448482
#define ADR_MINEINFOFFA1 0x004483EB
#define ADR_MINEINFOFFA2 0x00448469
#define ADR_INVISIBLE 0x0050CFBC
#define ADR_RADARGPS 0x0059C874
#define ADR_RADARFFA1 0x0059C892
#define ADR_RADARFFA2 0x0059EAE6
#define ADR_NORESTRICTION 0x004F6C4F
#define ADR_AUTOSHOT 0x004F6C44
#define ADR_QUICKPLANT 0x00512E29
#define ADR_QUICKDEFUSE 0x0050EF26
#define ADR_PLANTANYWHERE 0x0057F8F8
#define ADR_BONESHOT 0x0044A575
#define ADR_AUTOHEAL1 0x00507D93
#define ADR_AUTOHEAL2 0x00508000
#define ADR_AUTOAMMO1 0x00507C8A
#define ADR_AUTOAMMO2 0x00507CCA
#define ADR_AUTOREPAIR1 0x00427446
#define ADR_AUTOREPAIR2 0x00427475
#define ADR_AUTOREPAIR3 0x004274F2
#define ADR_ANTIOVERHEART 0x00724B46
#define ADR_SHOTTHRU1 0x006041D0
#define ADR_SHOTTHRU2 0x006041D6
#define ADR_PREMCROSSCALL1 0x0057702A
#define ADR_PREMCROSSCALL2 0x00407F34
#define ADR_PREMCROSSCHANGE 0x00577050
#define ADR_PREMIUMCROSS1 0x00577172
#define ADR_PREMIUMCROSS2 0x0057717A
#define ADR_UNLOCKCROSS 0x00577385
#define ADR_OPK1 0x00408103
#define ADR_OPK2 0x0040810C
#define ADR_OPK3 0x00408118
#define ADR_ZERODELAY 0x0051BD25
#define ADR_SPAMBOT 0x0051F1F1
#define ADR_FAKEKICK 0x0058EB9B
#define ADR_USERKILL 0x00416CFC
#define ADR_ARTILLERY0 0x004F82E0
#define ADR_ARTILLERY1 0x004F8555
#define ADR_ARTILLERY2 0x00594F1E
#define ADR_ARTILLERY3 0x00594FB1
#define ADR_ARTILLERY4 0x00594CF9
#define ADR_ARTILLERY5 0x00577A01
#define ADR_ARTILLERY6 0x00594E98
#define ADR_ARTILLERY7 0x0059502E
#define ADR_VEHJUMP1 0x0045E153
#define ADR_VEHJUMP2 0x0045E15C
#define ADR_VEHJUMP3 0x8C9AA4
#define ADR_AUTOREADYSTART 0x005469B8
#define ADR_WEAPONGRAVITY 0x8C9A38
#define ADR_PLAYERSIZE 0x0B18
#define ADR_USERNAME 0xB1C334
#define ADR_USERIP (0xB1C1E8+0x10)
#define ADR_CHECKREADYSTART 0xB1C738
#define ADR_CLASSROOMPOINTER 0xAE9554
#define ADR_WEAPONGLOBAL1 0xB07CA8
#define ADR_WEAPONGLOBAL2 0xB5C5E8
#define ADR_FASTAMMO 0xAED90C
#define ADR_FASTMEDIC 0xAED914
#define ADR_FASTFLAG 0xAED924
#define ADR_NOBOUNDS1 0xB7AB24
#define ADR_NOBOUNDS2 0xB7AB28
#define ADR_NOBOUNDS3 0xB7AB36
#define IsReady ((ADR_CHECKREADYSTART)+(ADR_PLAYERSIZE*(*(int*)(*(DWORD*)(ADR_SERVERPTR)+OFS_PLAYERSLOT)) ))
class CVehicle;
struct vectorB
{
float x,a,z,b,y,d,m,g,s;
};
struct vectorA
{
float x,z,y;
};
struct CPlayer
{
char unknown0[50328]; //0x0000
BYTE index; //0xC498
char unknown50329[43]; //0xC499
CVehicle* wVehicle; //0xC4C4
char unknown50376[15588]; //0xC4C8
float pitch; //0x101AC
char unknown65968[24]; //0x101B0
float yaw; //0x101C8
char unknown65996[8]; //0x101CC
vectorA pos; //0x101D4
char unknown66008[14]; //0x101D8
WORD weapon; //0x101EE
char unknown66032[92]; //0x101F0
__int32 status; //0x1024C
char unknown66128[164]; //0x10250
vectorB pos1; //0x102F4
char unknown66296[172]; //0x102F8
BYTE shotting; //0x103A4
};
struct CLocal
{
char unknown51[32]; //0x0000
vectorA pos; //0x0020
char unknown52[36]; //0x002C
float pitch; //0x0050
float yaw; //0x0054
char unknown53[16]; //0x0058
float view_down; //0x0068
float view_up; //0x006C
float fovx; //0x0070
float fovy; //0x0074
};
struct CPlayerInfo
{
char unknown0[1288]; //0x0000
char ip[16]; //0x0508
char unknown1304[300]; //0x0518
char name[20]; //0x0644
char unknown1624[836]; //0x0658
__int32 health; //0x099C
char unknown2464[340]; //0x09A0
BYTE team; //0x0AF4
char unknown2805[13671]; //0x0AF5
};
struct CBase
{
CPlayer* local;
char unknown0[ADR_NEWCBASE];
CPlayer** player;
};
struct CWeaponInformations
{
char _0x0000[20];
char Name[25]; //0x0014
char _0x002D[39];
char ShortName[4]; //0x0054
char _0x0058[1];
char Animation[4]; //0x0059
char _0x005D[5219];
DWORD dwDamage; //0x14C0
DWORD dwDefence; //0x14C4
DWORD dwRange; //0x14C8
DWORD dwAmmoNum; //0x14CC
DWORD dwMagazineNum; //0x14D0
DWORD dwEffectRange; //0x14D4
DWORD dwParabola; //0x14D8 ?
float ReactAmount; //0x14DC
float ReactRecovery; //0x14E0
float Accurate; //0x14E4
DWORD dwShotSpeed; //0x14E8
DWORD dwWeight; //0x14EC
};
struct CWeaponGlobalPtr
{
CWeaponInformations* WeaponInformations[340]; //0x0000
};
struct CWeaponGlobal
{
char _0x0000[64];
CWeaponGlobalPtr* WeaponPtr;
};
#endif
Code:
#include "cFunction.h"
#include "cAimbot.h"
cHackvar hacks;
mYcAimbot * cAimBot;
CPlayerInfo* GetPlayerInfo(int index)
{
if ( index > 32 ) return 0;
DWORD dwBasePointer = ADR_BASEPTR;
DWORD dwSize = ADR_PLAYERSIZE;
return (CPlayerInfo*) (dwBasePointer + (index*dwSize));
};
CBase *g_pBase = (CBase*)ADR_PLAYERPTR;
bool bValueStored = false;
bool oncea = false;
// ==
D3DCOLOR UrbaESP;
D3DCOLOR UrbaDistance;
char szhealth[100];
char szDistance[100];
// ===
DWORD OldProtection;
// ===
bool cSwim = true;
// ===
BYTE Slot5,Slot6,Slot7,Slot8;
bool cSlot = true;
// ===
bool cPlayerKill = true;
// ===
int cWater1,cWater2;
bool cWaterB = true;
// ===
bool cWepGrav = true;
// ===
bool cVehJump = true;
// ===
bool cSpeedRoll = true;
bool cSpeed = true;
// ===
bool cSuperMaster = true;
long SuperMaster;
// ====
bool cCrossHairs1 = true;
bool cCrossHairs2 = true;
bool cCrossHairs3 = true;
bool cCrossHairs4 = true;
bool cCrossHairs5 = true;
bool cCrossHairs9 = true;
// ==
DWORD dwGame = 0;
DWORD dwServer = 0;
// ==
DWORD *serverptr = (DWORD*)ADR_SERVERPTR;
#define MAX_WEAPONS 350
struct sWeaponsOriginalValues
{
DWORD dwWeight;
DWORD dwShotSpeed;
};
sWeaponsOriginalValues weaponsOriginalValues[MAX_WEAPONS];
struct t_weap
{
char unknown[12];
int id;
char lname[32];
char sname1[32];
char sname2[32];
char sname3[32];
char data[5336];
};
struct t_slot
{
BYTE enab;
BYTE type;
BYTE id;
BYTE novaule;
char dum1[33];
char sname[16];
char dum2[19];
DWORD adr_weap;
DWORD adr_inv;
};
struct t_invslot
{
BYTE enab;
BYTE type;
BYTE id;
BYTE novaule;
char dum1[33];
char sname[16];
char dum2[19];
DWORD adr_weap;
DWORD adr_inv;
};
DWORD dwADR_WEAPONBASE = ADR_WEAPONBASE;
DWORD dwOFS_SLOTBASE = ADR_SLOTBASE;
DWORD dwOFS_PLAYERID = ADR_PLAYERID;
t_weap *pweap[342];
t_slot *pslot[8];
t_invslot *pinvoslot[8];
t_invslot *WPNinvslotadr(int pclass, int slot)
{
return (t_invslot *)(*serverptr+dwOFS_SLOTBASE+(pclass*0x50)+(slot*0x50));
}
t_slot *WPNslotadr(int pclass, int slot)
{
return (t_slot *)(*serverptr+dwOFS_SLOTBASE+(pclass*0x280)+(slot*0x50));
}
void WPNput(int pclass, int slot, int weappon)
{
t_slot *pslot;
if (weappon<0 || pweap[weappon] == 0) return;
pslot=WPNslotadr(pclass,slot);
pslot->adr_weap=(DWORD)pweap[weappon];
strcpy(pslot->sname, pweap[weappon]->lname);
pslot->id = weappon;
pslot->type = 0x44;
pslot->enab = 1;
}
void find_weapons(void)
{
DWORD *p_weapbase, *baseadr;
t_weap *weap;
for (int i=0; i<342; i++)pweap[i]=0;
p_weapbase=(DWORD *)dwADR_WEAPONBASE;
baseadr=(DWORD*)(*p_weapbase);
for (int b=0;b<342;b++)
{
weap=(t_weap *)(*baseadr);
if (weap)pweap[b]=weap;
baseadr++;
}
}
int WPNget(int pclass, int slot)
{
t_slot *pslot;
pslot=WPNslotadr(pclass,slot);
return pslot->id;
}
BYTE NOP [8] = {0x90,0x90,0x90,0x90,0x90,0x90,0x90,0x90};
BYTE JMP [1] = {0xEB};
BYTE RETN [1] = {0xC3};
BYTE RETNC [3] = {0xC2,0x0C,0x00};
BYTE ANTIM14ON [6] = {0xE9,0xAA,0x00,0x00,0x00,0x90};
BYTE INVISIBLEON [3] = {0x8D,0x47,0x0C};
BYTE QPLANTON [2] = {0xEB,0x3F};
BYTE QDEFUSEON [2] = {0xEB,0x42};
BYTE VEHFIREON [2] = {0xEB,0x0A};
BYTE REPAIRJMP [2] = {0xEB,0x24};
BYTE HEADON [5] = {0xB9,0x64,0xC1,0x54,0xA5};
BYTE NEKCON [5] = {0xB9,0x1D,0xFD,0x87,0x9F};
BYTE EXTRACLIPON [3] = {0xB0,0x01,0x90};
BYTE STWON [2] = {0xD9,0x40};
BYTE AUTOHEALON [6] = {0xE9,0x3F,0x02,0x00,0x00,0x90};
BYTE CROSSSELECT1 [5] = {0xB8,0x01,0x00,0x00,0x00};
BYTE CROSSSELECT2 [5] = {0xB8,0x02,0x00,0x00,0x00};
BYTE CROSSSELECT3 [5] = {0xB8,0x03,0x00,0x00,0x00};
BYTE CROSSSELECT4 [5] = {0xB8,0x04,0x00,0x00,0x00};
BYTE CROSSSELECT5 [5] = {0xB8,0x05,0x00,0x00,0x00};
BYTE CROSSSELECT9 [5] = {0xB8,0x09,0x00,0x00,0x00};
BYTE STAMINAUPON [3] = {0xB1,0x01,0x90};
BYTE SNIPERXON [2] = {0xB3,0x01};
BYTE PLANTDEFON [3] = {0xB3,0x01,0x88};
BYTE DAMAGEASPUNCH [7] = {0xB8,0x01,0x00,0x00,0x00,0x90,0x90};
BYTE DAMAGEASCOLT [7] = {0xB8,0x07,0x00,0x00,0x00,0x90,0x90};
BYTE BULLETOFF [6] = {0xFF,0x85,0x14,0xFF,0xFF,0xFF};
BYTE KICKASOFF [6] = {0x8D,0x8F,0xB0,0x96,0x09,0x00};
BYTE USERKILLOFF [6] = {0xD9,0x58,0x50,0xDB,0x45,0x28};
CPatch cProne (ADR_PRONE,NOP,2);
CPatch cNoRecoil (ADR_NORECOIL,RETNC,3);
CPatch cNoReload (ADR_NORELOAD,NOP,6);
CPatch cNoSpread (ADR_NOSPREAD,NOP,6);
CPatch cStamina1 (ADR_STAMINA1,JMP,1);
CPatch cStamina2 (ADR_STAMINA2,JMP,1);
CPatch cStamina3 (ADR_STAMINA3,JMP,1);
CPatch cVehNoDamage (ADR_VEHNODAMAGE,RETN,1);
CPatch cVehInvisible (ADR_VEHINVISIBLE,NOP,3);
CPatch cVehSuperFire1 (ADR_VEHSUPERFIRE1,NOP,2);
CPatch cVehSuperFire2 (ADR_VEHSUPERFIRE2,NOP,2);
CPatch cVehSuperFire3 (ADR_VEHSUPERFIRE3,VEHFIREON,2);
CPatch cVehOverHeart (ADR_ANTIOVERHEART,NOP,4);
CPatch cUnlAmmo (ADR_UNLAMMO,RETN,1);
CPatch cWalkThru (ADR_WALKTHRU,NOP,3);
CPatch cAntiAfk (ADR_ANTIAFK,JMP,1);
CPatch cQuickSpawn1 (ADR_QUICKSPAWN1,JMP,1);
CPatch cQuickSpawn2 (ADR_QUICKSPAWN2,NOP,6);
CPatch cFastReload1 (ADR_FASTRELOAD1,NOP,2);
CPatch cFastReload2 (ADR_FASTRELOAD2,NOP,2);
CPatch cMineInfo1 (ADR_MINEINFO1,NOP,6);
CPatch cMineInfo2 (ADR_MINEINFO2,NOP,6);
CPatch cMineInfoFFA1 (ADR_MINEINFOFFA1,NOP,2);
CPatch cMineInfoFFA2 (ADR_MINEINFOFFA2,NOP,2);
CPatch cAntiFlash (ADR_ANTIFLASH,JMP,1);
CPatch cAntiM14 (ADR_ANTIM14,ANTIM14ON,6);
CPatch cInvisible (ADR_INVISIBLE,INVISIBLEON,3);
CPatch cRadarGPS (ADR_RADARGPS,JMP,1);
CPatch cRadarFFA1 (ADR_RADARFFA1,JMP,1);
CPatch cRadarFFA2 (ADR_RADARFFA2,JMP,1);
CPatch cNoRestriction (ADR_NORESTRICTION,NOP,6);
CPatch cQuickPlant (ADR_QUICKPLANT,QPLANTON,2);
CPatch cQuickDefuse (ADR_QUICKDEFUSE,QDEFUSEON,2);
CPatch cHeadShot (ADR_BONESHOT,HEADON,5);
CPatch cNeckShot (ADR_BONESHOT,NEKCON,5);
CPatch cAutoHeal1 (ADR_AUTOHEAL1,AUTOHEALON,6);
CPatch cAutoHeal2 (ADR_AUTOHEAL2,NOP,6);
CPatch cAutoAmmo1 (ADR_AUTOAMMO1,JMP,1);
CPatch cAutoAmmo2 (ADR_AUTOAMMO2,NOP,6);
CPatch cAutoRepair1 (ADR_AUTOREPAIR1,NOP,6);
CPatch cAutoRepair2 (ADR_AUTOREPAIR2,NOP,6);
CPatch cAutoRepair3 (ADR_AUTOREPAIR3,REPAIRJMP,2);
CPatch cExtraClipA (ADR_CLIPA,EXTRACLIPON,3);
CPatch cExtraClipS (ADR_CLIPS,EXTRACLIPON,3);
CPatch cPXStamina1 (ADR_STAMINAUP1,STAMINAUPON,3);
CPatch cPXStamina2 (ADR_STAMINAUP2,STAMINAUPON,3);
CPatch cDeathCam (ADR_DEATHCAM,NOP,2);
CPatch cSnierPX (ADR_SNIPERPX,SNIPERXON,2);
CPatch cCompBandage (ADR_COMPBANDAGE,EXTRACLIPON,3);
CPatch cShotThru1 (ADR_SHOTTHRU1,STWON,2);
CPatch cShotThru2 (ADR_SHOTTHRU2,STWON,2);
CPatch cOPK1 (ADR_OPK1,NOP,3);
CPatch cOPK2 (ADR_OPK2,NOP,3);
CPatch cOPK3 (ADR_OPK3,NOP,2);
CPatch cZeroDelay (ADR_ZERODELAY,NOP,2);
CPatch UnLockSwim (ADR_UNLOCKSWIM,NOP,2);
CPatch cCrossChange (ADR_PREMCROSSCHANGE,NOP,2);
CPatch cPremCross1 (ADR_PREMIUMCROSS1,NOP,6);
CPatch cPremCrossSel1 (ADR_PREMIUMCROSS2,CROSSSELECT1,5);
CPatch cPremCrossSel2 (ADR_PREMIUMCROSS2,CROSSSELECT2,5);
CPatch cPremCrossSel3 (ADR_PREMIUMCROSS2,CROSSSELECT3,5);
CPatch cPremCrossSel4 (ADR_PREMIUMCROSS2,CROSSSELECT4,5);
CPatch cPremCrossSel5 (ADR_PREMIUMCROSS2,CROSSSELECT5,5);
CPatch cPremCrossSel9 (ADR_PREMIUMCROSS2,CROSSSELECT9,5);
CPatch cUnLockCross (ADR_UNLOCKCROSS,NOP,2);
CPatch cAutoShot (ADR_AUTOSHOT,NOP,6);
CPatch cUnlOxygen (ADR_UNLOXYGEN,NOP,2);
CPatch cPlantDef (ADR_PLANTANYWHERE,PLANTDEFON,3);
CPatch cPunchDamage (ADR_DAMAGEAS,DAMAGEASPUNCH,7);
CPatch cColtDamage (ADR_DAMAGEAS,DAMAGEASCOLT,7);
CPatch cArtillery0 (ADR_ARTILLERY0,NOP,2);
CPatch cArtillery1 (ADR_ARTILLERY1,NOP,2);
CPatch cArtillery2 (ADR_ARTILLERY2,JMP,1);
CPatch cArtillery3 (ADR_ARTILLERY3,JMP,1);
CPatch cArtillery4 (ADR_ARTILLERY4,JMP,1);
CPatch cArtillery5 (ADR_ARTILLERY5,NOP,5);
CPatch cArtillery6 (ADR_ARTILLERY6,JMP,1);
CPatch cArtillery7 (ADR_ARTILLERY7,NOP,6);
CPatch cVehJump1 (ADR_VEHJUMP1,NOP,2);
CPatch cVehJump2 (ADR_VEHJUMP2,NOP,2);
void GETBACKLOBBY (void)
{
dwServer = *(DWORD*)ADR_SERVERPTR;
if (dwServer !=0 )
{
DWORD dwKickMeNow = *(DWORD*)(dwServer+0x996B0);
DWORD GetMeInLobby = ADR_BACKINLOBBY;
__asm
{
mov eax,dwKickMeNow
call [GetMeInLobby]
}
}
}
void cHackvar :: SpamBot ( char *SpamTexting )
{
DWORD dwWriteChat = ADR_SPAMBOT;
Sleep(2500);
__asm
{
mov ecx,SpamTexting
call dwWriteChat
}
}
void CallCrosshair (void)
{
// VMProtectBeginMutation("CallCrosshair");
dwGame = *(DWORD*)ADR_PLAYERPTR;
if ( dwGame !=0 )
{
DWORD CrosshairsCall1 = ADR_PREMCROSSCALL1;
DWORD CrosshairsCall2 = ADR_PREMCROSSCALL2;
cCrossChange.Patch();
__asm
{
call [CrosshairsCall2]
mov eax,dword ptr ds:[eax+0x30]
call [CrosshairsCall1]
}
cCrossChange.Restore();
}
// VMProtectEnd();
}
DWORD dwBulletsJMP = NULL;
__declspec (naked) void new_bullets (void)
{
// VMProtectBeginMutation("new_bullets");
if ( hacks.BULLETS !=0 )
{
__asm
{
mov ecx,hacks.BULLETS
mov dword ptr ss :[ebp-0x124],ecx
jmp dword ptr [dwBulletsJMP]
}
}
//VMProtectEnd();
}
DWORD IDKick = NULL;
DWORD fakeKickJmp = NULL;
__declspec (naked) void new_fakekick()
{
//VMProtectBeginMutation("new_fakekick");
if ( hacks.KICKAS !=0 )
{
__asm
{
lea ecx, dword ptr [edi+0x996B0]
mov eax,IDKick
jmp dword ptr [fakeKickJmp]
}
}
//VMProtectEnd();
}
DWORD UserKillKJmp = NULL;
DWORD UserID = NULL;
__declspec (naked) void new_userkill(void)
{
//VMProtectBeginMutation("new_userkill");
if ( hacks.USERKILL !=0 && hacks.PLAYERFIND !=0 )
{
__asm
{
mov ecx,UserID
mov dword ptr [eax+0x1C],ecx
jmp dword ptr [UserKillKJmp]
}
}
//VMProtectEnd();
}
void __cdecl GetGameNotice ( char* Text )
{
DWORD dwGameNotice = ADR_GAMENOTICE;
__asm
{
push Text
call [dwGameNotice]
pop ecx
}
}
void __cdecl PrintText ( int * UpGames , int * InChat, char *szName, BYTE *Red, BYTE *Green, BYTE *Blue )
{
__asm
{
push UpGames
push InChat
push Red
pop edi
push Green
push Blue
push szName
mov esi,ADR_GAMETEXT
call esi
}
}
void cHackvar :: cAsmFunction (void)
{
//VMProtectBeginMutation("cAsmFunction");
// == USER KILL
if ( hacks.USERKILL !=0 && hacks.PLAYERFIND !=0 )
{
cPlayerKill = false;
dwGame = *(DWORD*)ADR_PLAYERPTR;
if ( dwGame !=0 )
{
UserID = ( hacks.PLAYERFIND-1);
CPlayerInfo *pInfo = GetPlayerInfo (UserID);
CPlayerInfo *pLocalInfo = GetPlayerInfo( g_pBase->local->index );
if ( (pLocalInfo->health > 0) && ( pInfo->team != pLocalInfo->team ) && (pInfo->health > 0) && strcmp(hacks.SNAME,"Empty Slot")!=0 )
{
UserKillKJmp = (ADR_USERKILL+0x6);
tools->DetourCreate((BYTE*)ADR_USERKILL,(BYTE*)new_userkill,6);
}else{
patch->memcpy_s((void*)ADR_USERKILL,(BYTE*)USERKILLOFF,6);
}
}else{
patch->memcpy_s((void*)ADR_USERKILL,(BYTE*)USERKILLOFF,6);
}
}else{
if ( cPlayerKill == false )
{
patch->memcpy_s((void*)ADR_USERKILL,(BYTE*)USERKILLOFF,6);
cPlayerKill = true;
}
}
// == KICK AS
if ( hacks.KICKAS !=0 )
{
switch ( hacks.KICKAS )
{
case 1 : ( IDKick = 0x25 ); break;
case 2 : ( IDKick = (hacks.PLAYERFIND-1) ); break;
}
if (hacks.BGHOSTKICKER)
{
fakeKickJmp = (ADR_FAKEKICK+0x6);
tools->DetourCreate((BYTE*)ADR_FAKEKICK,(BYTE*)new_fakekick,6);
hacks.BGHOSTKICKER=false;
}
}else{
if (!hacks.BGHOSTKICKER)
{
patch->memcpy_s((void*)ADR_FAKEKICK,(BYTE*)KICKASOFF,6);
hacks.BGHOSTKICKER=true;
}
}
// == Artillery
if ( hacks.ARTILLERY == 1 )
{
cArtillery0.Patch();
cArtillery1.Patch();
cArtillery2.Patch();
cArtillery3.Patch();
cArtillery4.Patch();
cArtillery5.Patch();
cArtillery6.Patch();
cArtillery7.Patch();
}else{
cArtillery0.Restore();
cArtillery1.Restore();
cArtillery2.Restore();
cArtillery3.Restore();
cArtillery4.Restore();
cArtillery5.Restore();
cArtillery6.Restore();
cArtillery7.Restore();
}
// == WEAPON DAMAGE
if ( hacks.WEAPONDAMAGE == 1 )
{
cPunchDamage.Patch();
}
if ( hacks.WEAPONDAMAGE == 2 )
{
cPunchDamage.Restore();
cColtDamage.Patch();
}
if ( hacks.WEAPONDAMAGE == 0 )
{
cPunchDamage.Restore();
cColtDamage.Restore();
}
// == CROSSHAIR
if ( hacks.CROSSHAIR !=0 )
{
cPremCross1.Patch();
cUnLockCross.Patch();
if ( hacks.CROSSHAIR == 1 )
{
if ( cCrossHairs1 == true )
{
cPremCrossSel1.Patch();
CallCrosshair();
cCrossHairs1 = false;
cCrossHairs2 = true;
cCrossHairs3 = true;
cCrossHairs4 = true;
cCrossHairs5 = true;
}
}
if ( hacks.CROSSHAIR == 2 )
{
if ( cCrossHairs2 == true )
{
cPremCrossSel1.Restore();
cPremCrossSel2.Patch();
CallCrosshair();
cCrossHairs2 = false;
cCrossHairs5 = true;
cCrossHairs4 = true;
cCrossHairs3 = true;
cCrossHairs1 = true;
}
}
if ( hacks.CROSSHAIR == 3 )
{
if ( cCrossHairs3 == true )
{
cPremCrossSel2.Restore();
cPremCrossSel3.Patch();
CallCrosshair();
cCrossHairs3 = false;
cCrossHairs5 = true;
cCrossHairs4 = true;
cCrossHairs2 = true;
cCrossHairs1 = true;
}
}
if ( hacks.CROSSHAIR == 4 )
{
if ( cCrossHairs4 == true )
{
cPremCrossSel3.Restore();
cPremCrossSel4.Patch();
CallCrosshair();
cCrossHairs4 = false;
cCrossHairs5 = true;
cCrossHairs3 = true;
cCrossHairs2 = true;
cCrossHairs1 = true;
}
}
if ( hacks.CROSSHAIR == 5 )
{
if ( cCrossHairs5 == true )
{
cPremCrossSel4.Restore();
cPremCrossSel5.Patch();
CallCrosshair();
cCrossHairs5 = false;
cCrossHairs4 = true;
cCrossHairs3 = true;
cCrossHairs2 = true;
cCrossHairs1 = true;
}
}
if ( hacks.CROSSHAIR == 6 )
{
if ( cCrossHairs9 == true )
{
cPremCrossSel5.Restore();
cPremCrossSel9.Patch();
CallCrosshair();
cCrossHairs9 = false;
cCrossHairs5 = true;
cCrossHairs4 = true;
cCrossHairs3 = true;
cCrossHairs2 = true;
cCrossHairs1 = true;
}
}
}else{
if ( cCrossHairs1 == false || cCrossHairs2 == false || cCrossHairs3 == false || cCrossHairs4 == false || cCrossHairs5 == false || cCrossHairs9 == false )
{
cPremCross1.Restore();
cPremCrossSel1.Restore();
cPremCrossSel2.Restore();
cPremCrossSel3.Restore();
cPremCrossSel4.Restore();
cPremCrossSel5.Restore();
cPremCrossSel9.Restore();
cUnLockCross.Restore();
CallCrosshair();
cCrossHairs1 = true;
cCrossHairs2 = true;
cCrossHairs3 = true;
cCrossHairs4 = true;
cCrossHairs5 = true;
cCrossHairs9 = true;
}
}
if(!bValueStored)
{
CWeaponGlobal* weaponPtr_1 = (CWeaponGlobal*)ADR_WEAPONGLOBAL1;
CWeaponGlobal* weaponPtr_2 = (CWeaponGlobal*)ADR_WEAPONGLOBAL2;
if ( weaponPtr_1 !=0 && weaponPtr_2 !=0 )
{
for(int i = 0; i < MAX_WEAPONS; i++)
{
weaponsOriginalValues[i].dwWeight = weaponPtr_1->WeaponPtr->WeaponInformations[i]->dwWeight;
weaponsOriginalValues[i].dwWeight = weaponPtr_2->WeaponPtr->WeaponInformations[i]->dwWeight;
weaponsOriginalValues[i].dwShotSpeed = weaponPtr_1->WeaponPtr->WeaponInformations[i]->dwShotSpeed;
weaponsOriginalValues[i].dwShotSpeed = weaponPtr_2->WeaponPtr->WeaponInformations[i]->dwShotSpeed;
bValueStored = true;
}
}
}
// NO WEAPON RANGE
if ( hacks.WEAPONRANGE == 1 )
{
if ( g_pBase->local )
{
CWeaponGlobal* weaponPtr_1 = (CWeaponGlobal*)ADR_WEAPONGLOBAL1;
CWeaponGlobal* weaponPtr_2 = (CWeaponGlobal*)ADR_WEAPONGLOBAL2;
if ( weaponPtr_1 !=0 && weaponPtr_2 !=0 )
{
weaponPtr_1->WeaponPtr->WeaponInformations[g_pBase->local->weapon]->dwRange = 1000000;
weaponPtr_2->WeaponPtr->WeaponInformations[g_pBase->local->weapon]->dwRange = 1000000;
}
}
}
// EXTRA RANGE
if ( hacks.EXTRARANGE !=0 )
{
if ( g_pBase->local )
{
CWeaponGlobal* weaponPtr_1 = (CWeaponGlobal*)ADR_WEAPONGLOBAL1;
CWeaponGlobal* weaponPtr_2 = (CWeaponGlobal*)ADR_WEAPONGLOBAL2;
if ( weaponPtr_1 !=0 && weaponPtr_2 !=0 )
{
switch ( hacks.EXTRARANGE )
{
case 1 :
weaponPtr_1->WeaponPtr->WeaponInformations[g_pBase->local->weapon]->dwEffectRange = 10000;
weaponPtr_2->WeaponPtr->WeaponInformations[g_pBase->local->weapon]->dwEffectRange = 10000;
break;
case 2 :
weaponPtr_1->WeaponPtr->WeaponInformations[g_pBase->local->weapon]->dwEffectRange = 20000;
weaponPtr_2->WeaponPtr->WeaponInformations[g_pBase->local->weapon]->dwEffectRange = 20000;
break;
case 3 :
weaponPtr_1->WeaponPtr->WeaponInformations[g_pBase->local->weapon]->dwEffectRange = 30000;
weaponPtr_2->WeaponPtr->WeaponInformations[g_pBase->local->weapon]->dwEffectRange = 30000;
break;
case 4 :
weaponPtr_1->WeaponPtr->WeaponInformations[g_pBase->local->weapon]->dwEffectRange = 40000;
weaponPtr_2->WeaponPtr->WeaponInformations[g_pBase->local->weapon]->dwEffectRange = 40000;
break;
case 5 :
weaponPtr_1->WeaponPtr->WeaponInformations[g_pBase->local->weapon]->dwEffectRange = 1000000;
weaponPtr_2->WeaponPtr->WeaponInformations[g_pBase->local->weapon]->dwEffectRange = 1000000;
break;
}
}
}
}
// == Super Weapons
if ( hacks.WEAPONPLUS == 1 )
{
if ( g_pBase->local )
{
CWeaponGlobal* weaponPtr_1 = (CWeaponGlobal*)ADR_WEAPONGLOBAL1;
CWeaponGlobal* weaponPtr_2 = (CWeaponGlobal*)ADR_WEAPONGLOBAL2;
if ( weaponPtr_1 !=0 && weaponPtr_2 !=0 )
{
weaponPtr_1->WeaponPtr->WeaponInformations[g_pBase->local->weapon]->dwShotSpeed = 50000;
weaponPtr_2->WeaponPtr->WeaponInformations[g_pBase->local->weapon]->dwShotSpeed = 50000;
}
}
}else{
if ( bValueStored )
{
CWeaponGlobal* weaponPtr_1 = (CWeaponGlobal*)ADR_WEAPONGLOBAL1;
CWeaponGlobal* weaponPtr_2 = (CWeaponGlobal*)ADR_WEAPONGLOBAL2;
if ( weaponPtr_1 !=0 && weaponPtr_2 !=0 )
{
for(int i = 0; i < MAX_WEAPONS; i++)
{
weaponPtr_1->WeaponPtr->WeaponInformations[i]->dwShotSpeed = weaponsOriginalValues[i].dwShotSpeed;
weaponPtr_2->WeaponPtr->WeaponInformations[i]->dwShotSpeed = weaponsOriginalValues[i].dwShotSpeed;
}
}
}
}
// == No Weapon weight
if ( hacks.NOWEAPONWEIGHT == 1 )
{
if ( g_pBase->local )
{
CWeaponGlobal* weaponPtr_1 = (CWeaponGlobal*)ADR_WEAPONGLOBAL1;
CWeaponGlobal* weaponPtr_2 = (CWeaponGlobal*)ADR_WEAPONGLOBAL2;
if ( weaponPtr_1 !=0 && weaponPtr_2 !=0 )
{
weaponPtr_1->WeaponPtr->WeaponInformations[g_pBase->local->weapon]->dwWeight = 0;
weaponPtr_2->WeaponPtr->WeaponInformations[g_pBase->local->weapon]->dwWeight = 0;
}
}
}else{
if ( bValueStored )
{
CWeaponGlobal* weaponPtr_1 = (CWeaponGlobal*)ADR_WEAPONGLOBAL1;
CWeaponGlobal* weaponPtr_2 = (CWeaponGlobal*)ADR_WEAPONGLOBAL2;
if ( weaponPtr_1 !=0 && weaponPtr_2 !=0 )
{
for(int i = 0; i < MAX_WEAPONS; i++)
{
weaponPtr_1->WeaponPtr->WeaponInformations[i]->dwWeight = weaponsOriginalValues[i].dwWeight;
weaponPtr_2->WeaponPtr->WeaponInformations[i]->dwWeight = weaponsOriginalValues[i].dwWeight;
}
}
}
}
// == UNLIMITED OXYGEN
if ( hacks.UNLOXYGEN == 1 )
{
cUnlOxygen.Patch();
}else{
cUnlOxygen.Restore();
}
// == COMP BANDAGE
if ( hacks.COMPBANDAGE == 1 )
{
cCompBandage.Patch();
}else{
cCompBandage.Restore();
}
// == SNIPER ZOOM x2
if ( hacks.SZOOM == 1 )
{
cSnierPX.Patch();
}else{
cSnierPX.Restore();
}
// == DEATH CAM
if ( hacks.DTCAM == 1 )
{
cDeathCam.Patch();
}else{
cDeathCam.Restore();
}
// == SP UP
if ( hacks.SPUP == 1 )
{
cPXStamina1.Patch();
cPXStamina2.Patch();
}else{
cPXStamina1.Restore();
cPXStamina2.Restore();
}
/*
// == CLAN WAR
if ( hacks.CLANTAG == 1 )
{
*(int*)(ADR_CLANTAG_1) = 1;
*(int*)(ADR_CLANTAG_2) = 1;
*(int*)(ADR_CLANTAG_3) = 1;
*(int*)(ADR_CLANTAG_4) = 1;
*(int*)(ADR_ENBLCLANCHAT) = 1;
*/
// memcpy((void*)ADR_CLANNAME,/*NexonArmy*/XorStr<0x3B,10,0xBF748C35>("\x75\x59\x45\x51\x51\x01\x33\x2F\x3A"+0xBF748C35).s,9);
//}
// == BULLETS
if ( hacks.BULLETS !=0 )
{
if ( hacks.BBULLET )
{
dwBulletsJMP = ADR_BULLETSJMP;
tools->DetourCreate((BYTE*)ADR_BULLETS,(BYTE*)new_bullets,6);
hacks.BBULLET = false;
}
}else{
if (!hacks.BBULLET)
{
patch->memcpy_s((void*)ADR_BULLETS,BULLETOFF,6);
hacks.BBULLET = true;
}
}
// == ZERO DELAY
if ( hacks.ZERODELAY == 1 )
{
cZeroDelay.Patch();
}else{
cZeroDelay.Restore();
}
// == OPK
if ( hacks.OPK == 1 )
{
cOPK1.Patch();
cOPK2.Patch();
cOPK3.Patch();
}else{
cOPK1.Restore();
cOPK2.Restore();
cOPK3.Restore();
}
// == PRONE
if ( hacks.PRONE == 1 )
{
cProne.Patch();
}else{
cProne.Restore();
}
// == SHOTTHRU
if ( hacks.SHOTTHRU == 1 )
{
dwGame = *(DWORD*)ADR_PLAYERPTR;
if ( dwGame !=0 )
{
cShotThru1.Patch();
cShotThru2.Patch();
}else{
cShotThru1.Restore();
cShotThru2.Restore();
}
}else{
cShotThru1.Restore();
cShotThru2.Restore();
}
// == EXTRA CLIP S
if ( hacks.EXTRACLIPS == 1 )
{
cExtraClipS.Patch();
}else{
cExtraClipS.Restore();
}
// == EXTRA CLIP A
if ( hacks.EXTRACLIPA == 1 )
{
cExtraClipA.Patch();
}else{
cExtraClipA.Restore();
}
// == VEH NO OVER HEART
if ( hacks.VEHOVERHEART == 1 )
{
cVehOverHeart.Patch();
}else{
cVehOverHeart.Restore();
}
// == AUTO REPAIR
if ( hacks.AUTOREPAIR == 1 )
{
cAutoRepair1.Patch();
cAutoRepair2.Patch();
cAutoRepair3.Patch();
}else{
cAutoRepair1.Restore();
cAutoRepair2.Restore();
cAutoRepair3.Restore();
}
// == AUTO AMMO
if ( hacks.AUTOAMMO == 1 )
{
cAutoAmmo1.Patch();
cAutoAmmo2.Patch();
}else{
cAutoAmmo1.Restore();
cAutoAmmo2.Restore();
}
// == AUTO HEAL
if ( hacks.AUTOHEAL == 1 )
{
cAutoHeal1.Patch();
cAutoHeal2.Patch();
}else{
cAutoHeal1.Restore();
cAutoHeal2.Restore();
}
// == BONE SHOT
if ( hacks.BONESHOT == 1 )
{
cHeadShot.Patch();
}
if ( hacks.BONESHOT == 2 )
{
cHeadShot.Restore();
cNeckShot.Patch();
}
if ( hacks.BONESHOT == 0 )
{
cHeadShot.Restore();
cNeckShot.Restore();
}
// == QUICK PLANT/DEFUSE
if ( hacks.QUICKPLANTDEFUSE == 1 )
{
cQuickDefuse.Patch();
cQuickPlant.Patch();
}else{
cQuickDefuse.Restore();
cQuickPlant.Restore();
}
// == Plant Def Anywhere
if ( hacks.QUICKPLANTDEFUSE == 1 && hacks.PLANTDEFUSEANYWHERE == 1 )
{
cPlantDef.Patch();
}else{
cPlantDef.Restore();
}
// == AUTO SHOT
if ( hacks.AUTOSHOT == 1 )
{
cAutoShot.Patch();
}else{
cAutoShot.Restore();
}
// == NO RESTRICTION
if ( hacks.NORESTRICTION == 1 )
{
cNoRestriction.Patch();
}else{
cNoRestriction.Restore();
}
// == RADARGPS
if ( hacks.RADAR == 1 )
{
dwServer = *(DWORD*)ADR_SERVERPTR;
if ( dwServer !=0 )
{
DWORD dwFFA = *(DWORD*)(dwServer+0x9C5C0);
if ( dwFFA == 1 )
{
cRadarFFA1.Patch();
cRadarFFA2.Patch();
}else{
cRadarFFA1.Restore();
cRadarFFA2.Restore();
}
}
cRadarGPS.Patch();
}else{
cRadarGPS.Restore();
cRadarFFA1.Restore();
cRadarFFA2.Restore();
}
// == INVISIBLE
if ( hacks.INVISIBLE == 1 )
{
cInvisible.Patch();
}else{
cInvisible.Restore();
}
// == ANTI M14
if ( hacks.ANTIM14 == 1 )
{
cAntiM14.Patch();
}else{
cAntiM14.Restore();
}
// == ANTI FLASH
if ( hacks.ANTIFLASH == 1 )
{
cAntiFlash.Patch();
}else{
cAntiFlash.Restore();
}
// == MINEINFO
if ( hacks.MINEINFO == 1 )
{
cMineInfo1.Patch();
cMineInfo2.Patch();
cMineInfoFFA1.Patch();
cMineInfoFFA2.Patch();
}else{
cMineInfo1.Restore();
cMineInfo2.Restore();
cMineInfoFFA1.Restore();
cMineInfoFFA2.Restore();
}
// == Fast Reload
if ( hacks.FASTRELOAD == 1 )
{
cFastReload1.Patch();
cFastReload2.Patch();
}else{
cFastReload1.Restore();
cFastReload2.Restore();
}
// == Quick Spawn
if ( hacks.QUICKSPAWN == 1 )
{
cQuickSpawn1.Patch();
cQuickSpawn2.Patch();
}else{
cQuickSpawn1.Restore();
cQuickSpawn2.Restore();
}
// == Walk Thru
if ( hacks.WALKTHRU == 1 )
{
cWalkThru.Patch();
}else{
cWalkThru.Restore();
}
// == ANTIAFK
if ( hacks.ANTIAFK == 1 )
{
cAntiAfk.Patch();
}else{
cAntiAfk.Restore();
}
// == UNL AMMO
if ( hacks.UNLAMMO == 1 )
{
cUnlAmmo.Patch();
}else{
cUnlAmmo.Restore();
}
// == VEH SUPERJUMP
if ( hacks.VEHJUMP == 1 )
{
cVehJump1.Patch();
cVehJump2.Patch();
if ( cVehJump == true )
{
tools->VProtect((void*)(ADR_VEHJUMP3),0x4,PAGE_EXECUTE_READWRITE,&OldProtection);
cVehJump = false;
}
if ( *(DWORD*)(dwGame+OFS_PLAYERSTARE) == *(DWORD*)ADR_INVEHICLE )
{
*(float*) (ADR_VEHJUMP3) = 0;
}else{
*(float*) (ADR_VEHJUMP3) = 40;
}
}else{
cVehJump1.Restore();
cVehJump2.Restore();
if ( cVehJump == false )
{
*(float*) (ADR_VEHJUMP3) = 40;
tools->VProtect((void*)(ADR_VEHJUMP3),0x4,OldProtection,0);
cVehJump = true;
}
}
// == VEH NO DAMAGE
if ( hacks.VEHNODAMAGE == 1 )
{
cVehNoDamage.Patch();
}else{
cVehNoDamage.Restore();
}
// == VEH INVISIBLE
if ( hacks.VEHINVISIBLE == 1 )
{
cVehInvisible.Patch();
}else{
cVehInvisible.Restore();
}
// == VEH SUPER FIRE
if ( hacks.VEHSUPERFIRE == 1 )
{
cVehSuperFire1.Patch();
cVehSuperFire2.Patch();
cVehSuperFire3.Patch();
}else{
cVehSuperFire1.Restore();
cVehSuperFire2.Restore();
cVehSuperFire3.Restore();
}
// == STAMINA
if ( hacks.FULLSTAMINA == 1 )
{
cStamina1.Patch();
cStamina2.Patch();
cStamina3.Patch();
}else{
cStamina1.Restore();
cStamina2.Restore();
cStamina3.Restore();
}
// == NO RECOIL
if ( hacks.NORECOIL == 1 )
{
cNoRecoil.Patch();
}else{
cNoRecoil.Restore();
}
// == NO SPREAD
if ( hacks.NOSPREAD == 1 )
{
cNoSpread.Patch();
}else{
cNoSpread.Restore();
}
// == NO RELOAD
if ( hacks.NORELOAD == 1 )
{
cNoReload.Patch();
}else{
cNoReload.Restore();
}
// VMProtectEnd();
}
void cHackvar :: cInGameFunction (void)
{
dwGame = *(DWORD*)ADR_PLAYERPTR;
if ( dwGame !=0 )
{
// == FOLLOW PLAYER
if ( hacks.USERTELEPORT == 1 && hacks.PLAYERFIND !=0 )
{
CPlayerInfo * spInfo = GetPlayerInfo(hacks.PLAYERFIND-1);
CPlayer * spPlayer = g_pBase->player[hacks.PLAYERFIND-1];
if ( spInfo && spPlayer)
{
if ( tools->IsValidPlayer(spPlayer,spInfo) )
{
if ( spInfo->health > 0 )
{
g_pBase->local->pos1 = spPlayer->pos1;
}
}
}
}
// == User Invisible
if ( hacks.USERINVISIBLE == 1 && hacks.PLAYERFIND !=0 )
{
CPlayerInfo * spInfo = GetPlayerInfo(hacks.PLAYERFIND-1);
CPlayer * spPlayer = g_pBase->player[hacks.PLAYERFIND-1];
if ( spInfo && spPlayer )
{
if ( tools->IsValidPlayer(spPlayer,spInfo) )
{
if ( spInfo->health > 0 )
{
spPlayer->pos1.b = 0;
spPlayer->pos1.y = 0;
spPlayer->pos1.d = 0;
spPlayer->pos1.m = 0;
spPlayer->pos1.g = 0;
spPlayer->pos1.s = 0;
}
}
}
}
// == TELEKILL
if ( hacks.TELEKILL == 1 )
{
if (GetAsyncKeyState(VK_RBUTTON)&0x8000)
{
for ( int i = 0; i < 32; i++ )
{
CPlayerInfo *pInfo = GetPlayerInfo(i);
CPlayer *spPlayer = g_pBase->player[i];
if ( pInfo && spPlayer )
{
if ( tools->IsValidPlayer(spPlayer,pInfo) )
{
CPlayerInfo *pLocalInfo = GetPlayerInfo(g_pBase->local->index);
if( pInfo->team != pLocalInfo->team )
{
if( pInfo->health !=0 )
{
g_pBase->local->pos1 = spPlayer->pos1;
break;
}
}
}
}
}
}
}
// == Zombie OPK
if ( hacks.ZOMBIEOPK == 1 )
{
dwServer = *(DWORD*)ADR_SERVERPTR;
if ( dwServer !=0 )
{
DWORD dwZombie = *(DWORD*)(dwServer+0x9C5C0);
if ( dwZombie == 9 )
{
for(int i = 0; i < 32; i++)
{
CPlayer * pPlayer = g_pBase->player[i];
if ( pPlayer )
{
g_pBase->local->pos1.b =0.0f; //ME
g_pBase->local->pos1.d =0.0f; //ME
g_pBase->local->pos1.g =0.0f; //ME
/*<--------------->*/
pPlayer->pos1.b = 80.0f; //Zombie
pPlayer->pos1.d = 80.0f; //Zombie
pPlayer->pos1.g = 80.0f; //Zombie
}
}
}
}
}
// == SPEED HACK
if ( hacks.SPEED != 0 )
{
if ( cSpeed == true )
{
tools->VProtect((void*)(ADR_SPEED),0x8,PAGE_EXECUTE_READWRITE,&OldProtection);
cSpeed = false;
}
switch ( hacks.SPEED )
{
case 1 :*(double*)(ADR_SPEED) = 96+10; break;
case 2 :*(double*)(ADR_SPEED) = 96+20; break;
case 3 :*(double*)(ADR_SPEED) = 96+200; break;
case 4 :*(double*)(ADR_SPEED) = 96+500; break;
case 5 :*(double*)(ADR_SPEED) = 96+1000; break;
}
}else{
if ( cSpeed == false )
{
*(double*)(ADR_SPEED) = 96;
tools->VProtect((void*)(ADR_SPEED),0x8,OldProtection,0);
cSpeed = true;
}
}
// == SPEED ROLLING
if ( hacks.SPEEDROLL != 0 )
{
if ( cSpeedRoll == true )
{
tools->VProtect((void*)(ADR_SPEEDROLLING),0x4,PAGE_EXECUTE_READWRITE,&OldProtection);
cSpeedRoll = false;
}
switch ( hacks.SPEEDROLL )
{
case 1 :*(float*)(ADR_SPEEDROLLING) = 2.75; break;
case 2 :*(float*)(ADR_SPEEDROLLING) = 3.75; break;
case 3 :*(float*)(ADR_SPEEDROLLING) = 4.75; break;
case 4 :*(float*)(ADR_SPEEDROLLING) = 5.75; break;
case 5 :*(float*)(ADR_SPEEDROLLING) = 6.75; break;
}
}else{
if ( cSpeedRoll == false )
{
*(float*)(ADR_SPEEDROLLING) = 1.75f;
tools->VProtect((void*)ADR_SPEEDROLLING,0x4,OldProtection,0);
cSpeedRoll = true;
}
}
// == QUICK ALL
if ( hacks.FASTALL == 1 )
{
*(float*)(ADR_FASTFLAG) = 20.0f;
*(float*)(ADR_FASTMEDIC) = 15.0f;
*(float*)(ADR_FASTAMMO) = 15.0f;
}
// == Weapon Gravity
if ( hacks.WEAPNOGRAVITY == 1 )
{
if ( cWepGrav == true )
{
tools->VProtect((void*)(ADR_WEAPONGRAVITY),0x8,PAGE_EXECUTE_READWRITE,&OldProtection);
*(double*)(ADR_WEAPONGRAVITY) = 9999;
cWepGrav = false;
}
}else{
if ( cWepGrav == false )
{
*(double*)(ADR_WEAPONGRAVITY) = 1000;
tools->VProtect((void*)ADR_WEAPONGRAVITY,0x8,OldProtection,0);
cWepGrav = true;
}
}
// == SWIM
if ( hacks.SWIM == 1 )
{
if ( *(DWORD*)(dwGame+OFS_PLAYERSTARE) != *(DWORD*)ADR_INVEHICLE )
{
*(DWORD*)(dwGame+OFS_PLAYERSTARE) = *(DWORD*)ADR_SWIM1;
UnLockSwim.Patch();
cSwim = false;
}else{
cSwim = false;
}
}else{
if ( cSwim == false )
{
*(DWORD*)(dwGame+OFS_PLAYERSTARE) = *(DWORD*)ADR_SWIM2;
*(DWORD*)(dwGame+OFS_PLAYERSTARE) = *(DWORD*)(dwGame+OFS_PLAYERSTARE);
UnLockSwim.Restore();
cSwim = true;
}
}
// == SUPER JUMP
if ( hacks.SUPERJUMP == 1 )
{
if (GetAsyncKeyState(0x20))
{
*(float*)(dwGame+OFS_SUPERJUMP) = *(float*)(dwGame+OFS_SUPERJUMP) + 35;
}
}
// == NO FALL DAMAGE
if ( hacks.NOFALL == 1 )
{
*(float*)(dwGame+OFS_NOFALLDAMAGE) = -9999999;
}
// == SCOPE
if ( hacks.NOSCOPE == 1 )
{
if (GetAsyncKeyState(0x02))
{
*(DWORD*)(ADR_SCOPE) = 8;
}else{
*(DWORD*)(ADR_SCOPE) = 5;
}
}
// == NO BOUNDS
if ( hacks.NOBOUNDS == 1 )
{
*(DWORD*)(ADR_NOBOUNDS1) = 0;
*(DWORD*)(ADR_NOBOUNDS2) = 0;
*(DWORD*)(ADR_NOBOUNDS3) = 0;
}
// == NO WATER
if ( hacks.NOWATER == 1 )
{
if ( cWaterB == true )
{
cWater1 = *(int*)(ADR_NOWATER_1);
cWater2 = *(int*)(ADR_NOWATER_2);
*(int*)(ADR_NOWATER_1) = 0;
*(int*)(ADR_NOWATER_2) = 0;
cWaterB = false;
}
}else{
if ( cWaterB == false )
{
*(int*)(ADR_NOWATER_1) = cWater1;
*(int*)(ADR_NOWATER_2) = cWater2;
cWaterB = true;
}
}
}
}
void cHackvar :: cInServerFunction (void)
{
dwServer = *(DWORD*)ADR_SERVERPTR;
if ( dwServer !=0 )
{
// == PREMIUM
switch ( hacks.PREMIUM )
{
case 1:
*(long*)( dwServer+OFS_PREMIUM) = 1;
*(long*)( dwServer+OFS_PREMIUM + 0x4 ) = 2592000;
break;
case 2:
*(long*)( dwServer+OFS_PREMIUM ) = 2;
*(long*)( dwServer+OFS_PREMIUM + 0x4 ) = 2592000;
break;
case 3:
*(long*)( dwServer+OFS_PREMIUM ) = 3;
*(long*)( dwServer+OFS_PREMIUM + 0x4 ) = 2592000;
break;
case 4:
*(long*)( dwServer+OFS_PREMIUM ) = 4;
*(long*)( dwServer+OFS_PREMIUM + 0x4 ) = 2592000;
break;
}
// == GM ALERT MESSAGE
if ( hacks.GMALERT == 1 )
{
char *GMName = (char*)(ADR_GMALERTNAME);
char *GMIP = (char*)(ADR_GMALERTIP);
if ( strlen(GMName) > 2 || strlen(GMIP) > 2 )
{
char GMWarnMex[333];
sprintf(GMWarnMex,/*ATTENTION >> %s is spectating room!*/XorStr<0x2C,36,0x4B99FFE8>("\x6D\x79\x7A\x6A\x7E\x65\x7B\x7C\x7A\x15\x08\x09\x18\x1C\x49\x1B\x55\x4E\x1E\x4C\x30\x24\x21\x37\x25\x31\x2F\x29\x2F\x69\x38\x24\x23\x20\x6F"+0x4B99FFE8).s,ADR_GMALERTNAME,ADR_GMALERTIP);
PrintText((int*)0x0,(int*)0x1,GMWarnMex,(BYTE*)0xFF,(BYTE*)0x00,(BYTE*)0x00);//Red
}
}
// == GM ALERT LOBBY
if ( hacks.GMALERT == 2 )
{
char *GMName = (char*)(ADR_GMALERTNAME);
if ( strlen(GMName) > 2 )
{
GETBACKLOBBY();
}
}
// == GM ALERT CRASH
if ( hacks.GMALERT == 3 )
{
char *GMName = (char*)(ADR_GMALERTNAME);
if ( strlen(GMName) > 2 )
{
ExitProcess(TRUE);
}
}
// == Room Master
if ( hacks.ROOMMASTER == 1 )
{
DWORD *PLSLOT;
DWORD *RMSLOT;
PLSLOT =(DWORD *)((dwServer)+ OFS_PLAYERSLOT);
RMSLOT =(DWORD *)((dwServer)+ OFS_ROOMMASTER);
*RMSLOT = *PLSLOT;
}
// == SUPER MASTER
if ( hacks.SUPERMASTER == 1 )
{
if ( cSuperMaster == true )
{
SuperMaster = *(long*)(dwServer+OFS_SUPERMASTER);
*(long*)(dwServer+OFS_SUPERMASTER) = 1;
cSuperMaster = false;
}
}else{
if ( cSuperMaster == false )
{
*(long*)(dwServer+OFS_SUPERMASTER) = SuperMaster;
cSuperMaster = true;
}
}
// == ALL SLOT
if ( hacks.SLOTS == 1 )
{
if ( cSlot == true )
{
Slot5 = *(BYTE*)(dwServer+OFS_SLOTS);
Slot6 = *(BYTE*)(dwServer+OFS_SLOTS+0x1);
Slot7 = *(BYTE*)(dwServer+OFS_SLOTS+0x2);
Slot8 = *(BYTE*)(dwServer+OFS_SLOTS+0x3);
// ==========================================
*(BYTE*)(dwServer+OFS_SLOTS) = 1;
*(BYTE*)(dwServer+OFS_SLOTS+0x1) = 1;
*(BYTE*)(dwServer+OFS_SLOTS+0x2) = 1;
*(BYTE*)(dwServer+OFS_SLOTS+0x3) = 1;
cSlot = false;
}
}else{
if ( cSlot == false )
{
*(BYTE*)(dwServer+OFS_SLOTS) = Slot5;
*(BYTE*)(dwServer+OFS_SLOTS+0x1) = Slot6;
*(BYTE*)(dwServer+OFS_SLOTS+0x2) = Slot7;
*(BYTE*)(dwServer+OFS_SLOTS+0x3) = Slot8;
cSlot = true;
}
}
// == WEAPON BINDER
if ( hacks.CLASS > 0 )
{
find_weapons();
if (hacks.WEAPONSLOT1 >0)
WPNput(hacks.CLASS - 1, 0, hacks.WEAPONSLOT1-1);
if (hacks.WEAPONSLOT2 > 0)
WPNput(hacks.CLASS - 1, 1, hacks.WEAPONSLOT2-1);
if ( hacks.WEAPONSLOT3 > 0)
WPNput(hacks.CLASS- 1, 2, hacks.WEAPONSLOT3-1);
if ( hacks.WEAPONSLOT4 > 0)
WPNput(hacks.CLASS - 1, 3, hacks.WEAPONSLOT4-1);
if ( hacks.WEAPONSLOT5 > 0)
WPNput(hacks.CLASS - 1, 4 , hacks.WEAPONSLOT5-1);
if ( hacks.WEAPONSLOT6 > 0)
WPNput(hacks.CLASS - 1, 5, hacks.WEAPONSLOT6-1);
if ( hacks.WEAPONSLOT7 > 0)
WPNput(hacks.CLASS- 1, 6, hacks.WEAPONSLOT7-1);
if ( hacks.WEAPONSLOT8 > 0)
WPNput(hacks.CLASS - 1, 7, hacks.WEAPONSLOT8-1);
}
}
// == PLAYER FINDER
if ( hacks.PLAYERFIND )
{
DWORD Name = NULL;
DWORD Ip = NULL;
int i = (hacks.PLAYERFIND-1);
Name = (ADR_USERNAME + (ADR_PLAYERSIZE * i));
Ip = (ADR_USERIP + (ADR_PLAYERSIZE * i));
if ( strlen((char*)Name) >0 )
{
sprintf(SNAME,/*%s*/XorStr<0xDE,3,0x8CBF9E26>("\xFB\xAC"+0x8CBF9E26).s,(void*)Name);
sprintf(SIP,/*%s*/XorStr<0xDE,3,0x8CBF9E26>("\xFB\xAC"+0x8CBF9E26).s,(void*)Ip);
}else{
sprintf(SNAME,/*Empty Slot*/XorStr<0x07,11,0x75D18515>("\x42\x65\x79\x7E\x72\x2C\x5E\x62\x60\x64"+0x75D18515).s);
sprintf(SIP,/*Empty Slot*/XorStr<0x07,11,0x75D18515>("\x42\x65\x79\x7E\x72\x2C\x5E\x62\x60\x64"+0x75D18515).s);
}
}
}
void cHackvar :: StartAimbot ( void )
{
DWORD dwPlayerPointer = *(DWORD*)ADR_PLAYERPTR;
if ( hacks.AIMBOT !=0 && dwPlayerPointer!=0 && IsValid==479 )
{
hacks.NORECOIL=1;
D3DXVECTOR3 wLocal,wPlayer,wTarget,WarAngle;
float SetDist,PlrDist;
float SetAngle=9999999;
int botkey;
int PLRID = -1;
CPlayer* MyInfo = g_pBase->local;
switch(hacks.AIMRANGE)
{
case 0:SetDist=999999; break;
case 1:SetDist=10; break;
case 2:SetDist=20; break;
case 3:SetDist=30; break;
case 4:SetDist=40; break;
case 5:SetDist=60; break;
case 6:SetDist=80; break;
case 7:SetDist=100; break;
case 8:SetDist=200; break;
case 9:SetDist=300; break;
case 10:SetDist=400; break;
case 11:SetDist=600; break;
case 12:SetDist=1000; break;
}
switch(hacks.AIMKEY)
{
case 0:botkey=02; break;
case 1:botkey=02; break;
case 2:botkey=01; break;
case 3:botkey=04; break;
case 4:botkey=160; break;
case 5:botkey=162; break;
}
for ( int slot=0 ; slot<32 ; slot++ )
{
CPlayer *pPlayer = g_pBase->player[slot];
CPlayerInfo *pInfo = GetPlayerInfo(slot);
CPlayerInfo *pLocalInfo = GetPlayerInfo(g_pBase->local->index);
if ( MyInfo && pInfo && pPlayer )
{
if ( tools->IsValidPlayer(pPlayer,pInfo) )
{
wLocal.x = MyInfo->pos.x;
wLocal.y = MyInfo->pos.y;
wLocal.z = MyInfo->pos.z;
wPlayer.x = pPlayer->pos.x;
wPlayer.y = pPlayer->pos.y;
wPlayer.z = pPlayer->pos.z;
PlrDist = (float)sqrt(pow((wPlayer.x-wLocal.x),2)+pow((wPlayer.y-wLocal.y),2)+pow((wPlayer.z-wLocal.z),2))/10;
if ( PlrDist < SetDist && pInfo->team != pLocalInfo->team && pInfo->health > 0 && pInfo->name > 0 )
{
SetDist = PlrDist;
PLRID = slot;
cAimBot->AimCorrection(hacks.AIMAT,pPlayer,wPlayer,wTarget);
}
}
}
if ( PLRID != -1 )
{
if ( hacks.AIMBOT==2 )
{
cAimBot->TargetAngle(wTarget,wLocal,WarAngle);
cAimBot->AimToPoint(WarAngle[0],WarAngle[2]);
}
if ( hacks.AIMBOT==1 )
{
if(GetAsyncKeyState(botkey))
{
cAimBot->TargetAngle(wTarget,wLocal,WarAngle);
cAimBot->AimToPoint(WarAngle[0],WarAngle[2]);
}
}
}
}
}
}
void cHackvar :: D3DESP ( LPDIRECT3DDEVICE9 pDevice )
{
for ( int i = 0; i < 32; i++ )
{
if ( !g_pBase->player || !g_pBase->local)break;
CPlayer *spPlayer;
CPlayerInfo *spInfo;
spPlayer = g_pBase->player[i];
spInfo = GetPlayerInfo(i);
if ( spInfo && spPlayer )
{
CPlayerInfo *spLocalInfo = GetPlayerInfo(g_pBase->local->index);
if (hacks.NAMEESP || hacks.HEALTESP || hacks.IPESP || hacks.TEAMESP || hacks.DISTANCEESP )
{
D3DXVECTOR3 g_pPlayer(spPlayer->pos.x, spPlayer->pos.z, spPlayer->pos.y), g_vView;
if ( tools->IsValidPlayer(spPlayer, spInfo) && d3d->GetScreenCoordFromWorld ( pDevice, g_vView, g_pPlayer) )
{
float foffset = g_vView.y-30;
// == Enemy Only
if (hacks.ENEMYONLY == 1 && spInfo->team != spLocalInfo->team && spInfo->health > 0 && spInfo->name > 0 )
{
if (hacks.NAMEESP == 1 )
{
font->DrawText( g_vView.x, foffset,TextRed, spInfo->name,D3DFONT_CENTERED || D3DFONT_ZENABLE || D3DFONT_ITALIC);
foffset += 10;
}
if( hacks.HEALTESP == 1 )
{
d3d->ShowHealt(pDevice, g_vView.x+18,foffset+10,spInfo->health);
foffset += 10;
}
if( hacks.HEALTESP == 2 )
{
int Red1,Green1;
Red1 = 255-((spInfo->health/10)*2.55);
Green1 = (spInfo->health/10)*2.55;
sprintf(szhealth,/*%d %*/XorStr<0x63,5,0x678090F9>("\x46\x00\x45\x43"+0x678090F9).s,(int)spInfo->health/10);
font->DrawText( g_vView.x,foffset,D3DCOLOR_ARGB( 255, Red1, Green1, 0), szhealth, D3DFONT_CENTERED || D3DFONT_ZENABLE || D3DFONT_ITALIC);
foffset += 10;
}
/*
if ( hacks.WEAPONESP == 1 )
{
font->DrawText( g_vView.x,foffset,UrbaESP,EspWeapons[(int)spPlayer->weapon], D3DFONT_CENTERED || D3DFONT_ZENABLE || D3DFONT_ITALIC);
foffset += 10;
}
*/
if ( hacks.IPESP == 1 )
{
font->DrawText( g_vView.x,foffset,TextRed, spInfo->ip,D3DFONT_CENTERED || D3DFONT_ZENABLE || D3DFONT_ITALIC);
foffset += 10;
}
if(hacks.TEAMESP )
{
if ( GetPlayerInfo(i)->team == 1 )
{
font->DrawText(g_vView.x,foffset,D3DCOLOR_ARGB(255,0,255,0),/*N.I.U*/XorStr<0x20,6,0x4A8A24B3>("\x6E\x0F\x6B\x0D\x71"+0x4A8A24B3).s,D3DFONT_CENTERED || D3DFONT_ZENABLE || D3DFONT_ITALIC);
foffset += 10;
}else{
font->DrawText( g_vView.x,foffset,D3DCOLOR_ARGB(255,255,255,0),/*Derberan*/XorStr<0x5D,9,0x5AE559A3>("\x19\x3B\x2D\x02\x04\x10\x02\x0A"+0x5AE559A3).s,D3DFONT_CENTERED || D3DFONT_ZENABLE || D3DFONT_ITALIC);
foffset += 10;
}
}
if( hacks.DISTANCEESP == 1 )
{
sprintf(szDistance,/*%.2f m*/XorStr<0x27,7,0xC1C454F0>("\x02\x06\x1B\x4C\x0B\x41"+0xC1C454F0).s,tools->GetDistance(g_pBase->local, spPlayer)/60);
font->DrawText( g_vView.x,foffset, TextOrange, szDistance,D3DFONT_CENTERED || D3DFONT_ZENABLE || D3DFONT_ITALIC);
foffset += 10;
}
}
if ( hacks.ENEMYONLY == 2 && spInfo->health > 0 )
{
if ( spLocalInfo->team == spInfo->team )
{
UrbaESP = D3DCOLOR_ARGB(255,235,235,235);
}else{
UrbaESP = D3DCOLOR_ARGB(255,255,000,000);
}
if ( hacks.NAMEESP == 1 )
{
font->DrawText( g_vView.x,foffset,UrbaESP, spInfo->name,D3DFONT_CENTERED || D3DFONT_ZENABLE || D3DFONT_ITALIC);
foffset += 10;
}
if( hacks.HEALTESP == 1 )
{
d3d->ShowHealt (pDevice, g_vView.x+18,foffset+10, spInfo->health);
foffset += 10;
}
if ( hacks.HEALTESP == 2 )
{
int Red1,Green1;
Red1 = 255-((spInfo->health/10)*2.55);
Green1 = (spInfo->health/10)*2.55;
sprintf(szhealth,/*%d %*/XorStr<0x63,5,0x678090F9>("\x46\x00\x45\x43"+0x678090F9).s,(int)spInfo->health/10);
font->DrawText( g_vView.x,foffset,D3DCOLOR_ARGB( 255, Red1, Green1, 0), szhealth, D3DFONT_CENTERED || D3DFONT_ZENABLE || D3DFONT_ITALIC);
foffset += 10;
}
/*
if ( hacks.WEAPONESP == 1 )
{
font->DrawText( g_vView.x,foffset,UrbaESP,EspWeapons[(int)spPlayer->weapon], D3DFONT_CENTERED || D3DFONT_ZENABLE || D3DFONT_ITALIC);
foffset += 10;
}
*/
if (hacks.IPESP == 1 )
{
font->DrawText( g_vView.x,foffset,UrbaESP, spInfo->ip,D3DFONT_CENTERED || D3DFONT_ZENABLE || D3DFONT_ITALIC);
foffset += 10;
}
if (hacks.TEAMESP )
{
if ( GetPlayerInfo(i)->team == 1 )
{
font->DrawText(g_vView.x,foffset,D3DCOLOR_ARGB(255,0,255,0),/*N.I.U*/XorStr<0x20,6,0x4A8A24B3>("\x6E\x0F\x6B\x0D\x71"+0x4A8A24B3).s,D3DFONT_CENTERED || D3DFONT_ZENABLE || D3DFONT_ITALIC);
foffset += 10;
}else{
font->DrawText( g_vView.x,foffset,D3DCOLOR_ARGB(255,255,255,0),/*Derberan*/XorStr<0xD5,9,0x20273C3C>("\x91\xB3\xA5\xBA\xBC\xA8\xBA\xB2"+0x20273C3C).s,D3DFONT_CENTERED || D3DFONT_ZENABLE || D3DFONT_ITALIC);
foffset += 10;
}
}
if(hacks.DISTANCEESP == 1 )
{
sprintf(szDistance,/*%.2f m*/XorStr<0x27,7,0xC1C454F0>("\x02\x06\x1B\x4C\x0B\x41"+0xC1C454F0).s,tools->GetDistance(g_pBase->local, spPlayer)/60);
font->DrawText( g_vView.x,foffset,TextOrange, szDistance, D3DFONT_CENTERED || D3DFONT_ZENABLE || D3DFONT_ITALIC);
foffset += 10;
}
}
}
}
}
}
}
|
Hellow....Can you give the source code i wanna try and update on WR Papaya <3
Quote:
Originally Posted by Vicous00
just ask from yazzn or use an packet logger.
|
Do you have Menu base before?
|
|
|
03/01/2022, 14:17
|
#1125
|
elite*gold: 0
Join Date: Feb 2022
Posts: 20
Received Thanks: 3
|
Quote:
Originally Posted by UR_COD
Hellow....Can you give the source code i wanna try and update on WR Papaya <3
Do you have Menu base before?
|
No i do not
|
|
|
Similar Threads
|
[Farmville2]Rock&Wood Cheat.
10/28/2012 - Facebook - 0 Replies
Credits:
http://www.pwnthis.net/2012/10/farmville-2-cheats -vanishing-rocks.html
1. Gehe auf deine Farm.
2. Öffne Cheat Engine.
3. Öffne den flash plugin bei Firefox.
4. Ändere den Value type auf Text.
5. Scanne: obstruction_rock.
6. Wähle alle Ergebnisse aus und nutzen dann den roten Pfeil.
|
Can you help me in Cheat Engine for the rock paper scissor please ?
08/04/2011 - 4Story - 4 Replies
With Cheat Engine 6 I tried to modifie the number of victories:
I win one time, I put 1 and do first scan
I win twice, I put 2 and I do next scen
I win three times and I put 3 and next scan and I found the adress number:
07482200
I modifie for put 15 and I try to leave and he didn't work I repaet operations and I try to continue but didn't work either =(
Do you know how make that ?
|
help war rock cheat
04/14/2008 - Say Hello - 3 Replies
can some 1 give me some cheat for war rock thx.
[email protected]:confused:
|
All times are GMT +2. The time now is 07:14.
|
|