-
Автор темы
- #1
Методы для класса C_PlantedC4, пруфы работы оставил ниже, не обращайте внимание на то, что данные в консоли обновляются с задержкой, тк приложение работает в фоне. Есть небольшая хуйня что время после обезвреживание бомбы продолжает идти до старта нового раунда, позже пофикшу.
Методы даже отслеживают с дефузами ли дефают или нет, и время ставят
Слипы можете хуярить любые, это значения не имеет, но лучше 500 мс.
Методы даже отслеживают с дефузами ли дефают или нет, и время ставят
Слипы можете хуярить любые, это значения не имеет, но лучше 500 мс.
Пожалуйста, авторизуйтесь для просмотра ссылки.
Bomb.h:
#pragma once
namespace csBomb {
clock_t BombPlantedTime = 0;
clock_t BombDefusedTime = 0;
uintptr_t getC4BaseClass() {
uintptr_t dwPlantedC4 = Memory::Read<uintptr_t>(Process::Client + Offset::dwPlantedC4);
return Memory::Read<uintptr_t>(dwPlantedC4);
}
Vector3 getPositionWTS() {
uintptr_t C4Node = Memory::Read<uintptr_t>(csBomb::getC4BaseClass() + NetVar::m_pGameSceneNode);
Vector3 C34Position = Memory::Read<Vector3>(C4Node + NetVar::m_vecAbsOrigin);
SDK::GetViewMatrix();
return SDK::WorldToScreen(C34Position, Game::ViewMatrix);
}
const char* getSite() {
int Site = Memory::Read<int>(csBomb::getC4BaseClass() + NetVar::m_nBombSite);
return (Site != 1) ? "A" : "B";
}
bool isPlanted() {
bool BombIsPlanted = Memory::Read<bool>(Process::Client + Offset::dwPlantedC4 - 0x8);
if (BombIsPlanted) {
if (BombPlantedTime == 0) {
BombPlantedTime = clock();
}
}
else {
BombPlantedTime = 0;
}
return BombIsPlanted;
}
bool isBeingDefused() {
bool BombIsDefused = Memory::Read<bool>(csBomb::getC4BaseClass() + NetVar::m_bBeingDefused);
if (BombIsDefused) {
if (BombDefusedTime == 0) {
BombDefusedTime = clock();
}
}
else {
BombDefusedTime = 0;
}
return BombIsDefused;
}
float getDefuseLength() {
return Memory::Read<float>(csBomb::getC4BaseClass() + NetVar::m_flDefuseLength);
}
float getTimerLength() {
return Memory::Read<float>(csBomb::getC4BaseClass() + NetVar::m_flTimerLength);
}
float getBombTime() {
float BombTime = getTimerLength() - ((clock() - BombPlantedTime) / CLOCKS_PER_SEC);
return (BombTime >= 0) ? BombTime : 0.f;
}
float getDefuseTime() {
float DefuseTime = getDefuseLength() - ((clock() - BombDefusedTime) / CLOCKS_PER_SEC);
return (isBeingDefused() && DefuseTime >= 0) ? DefuseTime : 0;
}
}
Последнее редактирование: