works..
This commit is contained in:
parent
909b1cbd09
commit
71d5ce2f80
@ -76,10 +76,12 @@ void AfterCreateMove() {
|
|||||||
if (CE_BAD(entity)) {
|
if (CE_BAD(entity)) {
|
||||||
selection.erase(it++);
|
selection.erase(it++);
|
||||||
} else {
|
} else {
|
||||||
|
#ifndef TEXTMODE
|
||||||
hacks::shared::esp::AddEntityString(entity, "[SELECTED]", colors::orange);
|
hacks::shared::esp::AddEntityString(entity, "[SELECTED]", colors::orange);
|
||||||
if (fmod(g_GlobalVars->curtime, 2.0f) < 1.0f) {
|
if (fmod(g_GlobalVars->curtime, 2.0f) < 1.0f) {
|
||||||
hacks::shared::esp::SetEntityColor(entity, colors::yellow);
|
hacks::shared::esp::SetEntityColor(entity, colors::yellow);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
++it;
|
++it;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -92,10 +94,12 @@ void AfterCreateMove() {
|
|||||||
if (CE_BAD(entity)) {
|
if (CE_BAD(entity)) {
|
||||||
selection_secondary.erase(it++);
|
selection_secondary.erase(it++);
|
||||||
} else {
|
} else {
|
||||||
|
#ifndef TEXTMODE
|
||||||
hacks::shared::esp::AddEntityString(entity, "[SELECTED (SECONDARY)]", colors::orange);
|
hacks::shared::esp::AddEntityString(entity, "[SELECTED (SECONDARY)]", colors::orange);
|
||||||
if (fmod(g_GlobalVars->curtime, 2.0f) < 1.0f) {
|
if (fmod(g_GlobalVars->curtime, 2.0f) < 1.0f) {
|
||||||
hacks::shared::esp::SetEntityColor(entity, colors::yellow);
|
hacks::shared::esp::SetEntityColor(entity, colors::yellow);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
++it;
|
++it;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -198,8 +202,10 @@ void DoWalking() {
|
|||||||
int following_idx2 = 0;
|
int following_idx2 = 0;
|
||||||
if (CE_GOOD(found_entity)) {
|
if (CE_GOOD(found_entity)) {
|
||||||
following_idx2 = found_entity->m_IDX;
|
following_idx2 = found_entity->m_IDX;
|
||||||
|
#ifndef TEXTMODE
|
||||||
hacks::shared::esp::AddEntityString(found_entity, "[FOLLOWING]", colors::green);
|
hacks::shared::esp::AddEntityString(found_entity, "[FOLLOWING]", colors::green);
|
||||||
hacks::shared::esp::SetEntityColor(found_entity, colors::green);
|
hacks::shared::esp::SetEntityColor(found_entity, colors::green);
|
||||||
|
#endif
|
||||||
} else {
|
} else {
|
||||||
crumbStopped = true;
|
crumbStopped = true;
|
||||||
return;
|
return;
|
||||||
@ -689,7 +695,7 @@ void CrumbBottomAdd() {
|
|||||||
logging::Info("Crumb Over-Prune!\nDumping array");
|
logging::Info("Crumb Over-Prune!\nDumping array");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#ifndef TEXTMODE
|
||||||
// Function called when we need to draw onto the screen
|
// Function called when we need to draw onto the screen
|
||||||
void Draw() {
|
void Draw() {
|
||||||
|
|
||||||
@ -821,7 +827,7 @@ void DrawFollowbot() {
|
|||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
}}}
|
}}}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -34,7 +34,9 @@ extern int following_idx;
|
|||||||
bool IsBot(CachedEntity* entity);
|
bool IsBot(CachedEntity* entity);
|
||||||
void AddMessageHandlers(ipc::peer_t* peer);
|
void AddMessageHandlers(ipc::peer_t* peer);
|
||||||
void AfterCreateMove();
|
void AfterCreateMove();
|
||||||
|
#ifndef TEXTMODE
|
||||||
void Draw();
|
void Draw();
|
||||||
|
#endif
|
||||||
void CrumbReset();
|
void CrumbReset();
|
||||||
void CrumbTopAdd(Vector crumbToAdd);
|
void CrumbTopAdd(Vector crumbToAdd);
|
||||||
void CrumbBottomAdd();
|
void CrumbBottomAdd();
|
||||||
|
14
src/ipc.cpp
14
src/ipc.cpp
@ -121,6 +121,20 @@ CatVar server_name(CV_STRING, "ipc_server", "cathook_followbot_server", "IPC ser
|
|||||||
|
|
||||||
peer_t* peer { nullptr };
|
peer_t* peer { nullptr };
|
||||||
|
|
||||||
|
|
||||||
|
void UpdateServerAddress(bool shutdown) {
|
||||||
|
|
||||||
|
const char* s_addr = "0.0.0.0";
|
||||||
|
if (not shutdown and g_IEngine->GetNetChannelInfo()) {
|
||||||
|
s_addr = g_IEngine->GetNetChannelInfo()->GetAddress();
|
||||||
|
}
|
||||||
|
|
||||||
|
peer_t::MutexLock lock(peer);
|
||||||
|
user_data_s& data = peer->memory->peer_user_data[peer->client_id];
|
||||||
|
data.friendid = g_ISteamUser->GetSteamID().GetAccountID();
|
||||||
|
strncpy(data.server, s_addr, sizeof(data.server));
|
||||||
|
}
|
||||||
|
|
||||||
void StoreClientData() {
|
void StoreClientData() {
|
||||||
peer_t::MutexLock lock(peer);
|
peer_t::MutexLock lock(peer);
|
||||||
user_data_s& data = peer->memory->peer_user_data[peer->client_id];
|
user_data_s& data = peer->memory->peer_user_data[peer->client_id];
|
||||||
|
@ -47,6 +47,7 @@ struct server_data_s {
|
|||||||
|
|
||||||
struct user_data_s {
|
struct user_data_s {
|
||||||
char name[32];
|
char name[32];
|
||||||
|
char server[22];
|
||||||
unsigned friendid;
|
unsigned friendid;
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -54,6 +55,7 @@ using peer_t = cat_ipc::Peer<server_data_s, user_data_s>;
|
|||||||
|
|
||||||
extern peer_t* peer;
|
extern peer_t* peer;
|
||||||
|
|
||||||
|
void UpdateServerAddress(bool shutdown = false);
|
||||||
void StoreClientData();
|
void StoreClientData();
|
||||||
void UpdatePlayerlist();
|
void UpdatePlayerlist();
|
||||||
|
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
bool *allowSecureServers { nullptr };
|
bool *allowSecureServers { nullptr };
|
||||||
|
|
||||||
void EXPOSED_Epic_VACBypass_1337_DoNotSteal_xXx_$1_xXx_MLG() {
|
void EXPOSED_Epic_VACBypass_1337_DoNotSteal_xXx_$1_xXx_MLG() {
|
||||||
static char patch[] = { 0x55, 0x89, 0xE5, 0x83, 0xEC, 0x18, 0xB8, 0x01, 0x00, 0x00, 0x00, 0xC9, 0xC3 };
|
static unsigned char patch[] = { 0x55, 0x89, 0xE5, 0x83, 0xEC, 0x18, 0xB8, 0x01, 0x00, 0x00, 0x00, 0xC9, 0xC3 };
|
||||||
uintptr_t Host_IsSecureServerAllowed_addr = gSignatures.GetEngineSignature("55 89 E5 83 EC 18 E8 ? ? ? ? 8B 10 C7 44 24 04 ? ? ? ? 89 04 24 FF 52 2C 85 C0 74 11 C6 05 90 43 88 00 00");
|
uintptr_t Host_IsSecureServerAllowed_addr = gSignatures.GetEngineSignature("55 89 E5 83 EC 18 E8 ? ? ? ? 8B 10 C7 44 24 04 ? ? ? ? 89 04 24 FF 52 2C 85 C0 74 11 C6 05 90 43 88 00 00");
|
||||||
// +0x21 = allowSecureServers
|
// +0x21 = allowSecureServers
|
||||||
logging::Info("1337 VAC bypass: 0x%08x", Host_IsSecureServerAllowed_addr);
|
logging::Info("1337 VAC bypass: 0x%08x", Host_IsSecureServerAllowed_addr);
|
||||||
|
Reference in New Issue
Block a user