-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdata.cpp
More file actions
128 lines (105 loc) · 3.8 KB
/
data.cpp
File metadata and controls
128 lines (105 loc) · 3.8 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
#include "data.h"
#include "helper.h"
#define PLAYER_LIST 0x4DFFF7C
#define PLAYER_CAMP 0xf4
#define PLAYER_HP 0x100
#define PLAYER_X 0xa0
#define PLAYER_Y 0xa4
#define PLAYER_Z 0xa8
#define PLAYER_BONES 0x26a8
#define PALYER_BONES_X 0x18C
#define PALYER_BONES_y 0x19C
#define PALYER_BONES_Z 0x1aC
#define MATRIX 0x4DF0DC4
#define TOWARD 0x59F19C
#define VERTICAL 0x4D90
#define HORIZONTAL 0x4D94
boolean GetPlayer(Player& player)
{
static Helper* helper = Helper::Make();
static uint_ptr module_address = helper->GetModuleAddress("client.dll");
uint32_t base = 0;
uint32_t head = module_address + PLAYER_LIST;
helper->ReadMemory(head, &base, sizeof(base));
if (base != 0) {
helper->ReadMemory(base + PLAYER_CAMP, &player.camp, sizeof(player.camp));
helper->ReadMemory(base + PLAYER_HP, &player.hp, sizeof(player.hp));
helper->ReadMemory(base + PLAYER_X, &player.x, sizeof(player.x));
helper->ReadMemory(base + PLAYER_Y, &player.y, sizeof(player.y));
helper->ReadMemory(base + PLAYER_Z, &player.z, sizeof(player.z));
uint32_t bones = 0;
helper->ReadMemory(base + PLAYER_BONES, &bones, sizeof(bones));
helper->ReadMemory(bones + PALYER_BONES_X, &player.bx, sizeof(player.bx));
helper->ReadMemory(bones + PALYER_BONES_y, &player.by, sizeof(player.by));
helper->ReadMemory(bones + PALYER_BONES_Z, &player.bz, sizeof(player.bz));
return true;
}
return false;
}
boolean GetPalyerList(std::vector<Player>* collection)
{
static Helper* helper = Helper::Make();
static uint_ptr module_address = helper->GetModuleAddress("client.dll");
uint32_t base = 0;
uint32_t head = module_address + PLAYER_LIST;
helper->ReadMemory(head, &base, sizeof(base));
uint32_t team = 0;
helper->ReadMemory(base + PLAYER_CAMP, &team, sizeof(team));
for (int i = 0; i <= 32; i++) {
Player player{};
helper->ReadMemory(head += 0x10, &base, sizeof(base));
if (base == 0) {
continue;
}
helper->ReadMemory(base + PLAYER_CAMP, &player.camp, sizeof(player.camp));
//if (team == player.camp) {
// continue;
//}
helper->ReadMemory(base + PLAYER_HP, &player.hp, sizeof(player.hp));
if (player.hp <= 0) {
continue;
}
helper->ReadMemory(base + PLAYER_X, &player.x, sizeof(player.x));
helper->ReadMemory(base + PLAYER_Y, &player.y, sizeof(player.y));
helper->ReadMemory(base + PLAYER_Z, &player.z, sizeof(player.z));
uint32_t bones = 0;
helper->ReadMemory(base + PLAYER_BONES, &bones, sizeof(bones));
helper->ReadMemory(bones + PALYER_BONES_X, &player.bx, sizeof(player.bx));
helper->ReadMemory(bones + PALYER_BONES_y, &player.by, sizeof(player.by));
helper->ReadMemory(bones + PALYER_BONES_Z, &player.bz, sizeof(player.bz));
collection->push_back(player);
}
return collection->size() > 0;
}
boolean GetMatrix(float_t matrix[4][4])
{
static Helper* helper = Helper::Make();
static uint_ptr module_address = helper->GetModuleAddress("client.dll");
return helper->ReadMemory(module_address + MATRIX, matrix, 64);
}
boolean ModifyToward(float_t horizontal, float_t vertical)
{
static Helper* helper = Helper::Make();
static uint_ptr module_address = helper->GetModuleAddress("engine.dll");
uint32_t base = 0;
helper->ReadMemory(module_address + TOWARD, &base, sizeof(base));
if (base != 0) {
helper->WriteMemory(base + HORIZONTAL, &horizontal, sizeof(horizontal));
helper->WriteMemory(base + VERTICAL, &vertical, sizeof(vertical));
return true;
}
return false;
}
boolean GetToward(float_t* horizontal, float_t* vertical)
{
static Helper* helper = Helper::Make();
static uint_ptr module_address = helper->GetModuleAddress("engine.dll");
uint32_t base = 0;
helper->ReadMemory(module_address + TOWARD, &base, sizeof(base));
if (base != 0) {
helper->ReadMemory(base + HORIZONTAL, horizontal, sizeof(horizontal));
helper->ReadMemory(base + VERTICAL, vertical, sizeof(vertical));
return true;
}
return false;
}