Menu!
This commit is contained in:
parent
f0eb6a6f83
commit
f8d48adb38
42
cathook/src/cvwrapper.cpp
Normal file
42
cathook/src/cvwrapper.cpp
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
/*
|
||||||
|
* cvwrapper.cpp
|
||||||
|
*
|
||||||
|
* Created on: Dec 18, 2016
|
||||||
|
* Author: nullifiedcat
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "cvwrapper.h"
|
||||||
|
|
||||||
|
#include "common.h"
|
||||||
|
#include "sdk.h"
|
||||||
|
|
||||||
|
void CatVar::Increment() {
|
||||||
|
if (!m_pConVar) return;
|
||||||
|
switch (m_Type) {
|
||||||
|
case CatVar_t::CV_SWITCH: {
|
||||||
|
m_pConVar->SetValue(!m_pConVar->GetInt());
|
||||||
|
} break;
|
||||||
|
case CatVar_t::CV_INT:
|
||||||
|
m_pConVar->SetValue(m_pConVar->GetInt() + 1);
|
||||||
|
break;
|
||||||
|
case CatVar_t::CV_FLOAT:
|
||||||
|
m_pConVar->SetValue(m_pConVar->GetFloat() + 0.5f);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void CatVar::Decrement() {
|
||||||
|
if (!m_pConVar) return;
|
||||||
|
switch (m_Type) {
|
||||||
|
case CatVar_t::CV_SWITCH:
|
||||||
|
m_pConVar->SetValue((int)!m_pConVar->GetInt());
|
||||||
|
break;
|
||||||
|
case CatVar_t::CV_INT:
|
||||||
|
m_pConVar->SetValue(m_pConVar->GetInt() - 1);
|
||||||
|
break;
|
||||||
|
case CatVar_t::CV_FLOAT:
|
||||||
|
m_pConVar->SetValue(m_pConVar->GetFloat() - 0.5f);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -11,23 +11,21 @@
|
|||||||
class ConVar;
|
class ConVar;
|
||||||
|
|
||||||
enum CatVar_t {
|
enum CatVar_t {
|
||||||
|
CV_SWITCH,
|
||||||
CV_INT,
|
CV_INT,
|
||||||
CV_FLOAT,
|
CV_FLOAT,
|
||||||
CV_STRING
|
CV_STRING
|
||||||
};
|
};
|
||||||
|
|
||||||
class ICatVar {
|
class CatVar {
|
||||||
public:
|
public:
|
||||||
virtual ~ICatVar();
|
inline CatVar(ConVar* var, CatVar_t type) { m_pConVar = var; m_Type = type; }
|
||||||
virtual CatVar_t GetType() = 0;
|
inline CatVar_t GetType() { return m_Type; }
|
||||||
virtual ConVar* GetConVar() = 0;
|
inline ConVar* GetConVar() { return m_pConVar; }
|
||||||
};
|
void Increment();
|
||||||
|
void Decrement();
|
||||||
class CatVar_INT : public ICatVar {
|
|
||||||
public:
|
|
||||||
CatVar_t GetType() { return CatVar_t::CV_INT; }
|
|
||||||
ConVar* GetConVar() { return m_pConVar; }
|
|
||||||
|
|
||||||
|
CatVar_t m_Type;
|
||||||
ConVar* m_pConVar;
|
ConVar* m_pConVar;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -90,6 +90,8 @@ Color draw::black(0, 0, 0, 255);
|
|||||||
|
|
||||||
Color colors::white(255, 255, 255, 255);
|
Color colors::white(255, 255, 255, 255);
|
||||||
Color colors::pink (255, 105, 180, 255);
|
Color colors::pink (255, 105, 180, 255);
|
||||||
|
Color colors::pinka(255, 105, 180, 180);
|
||||||
|
Color colors::bg_blk(0, 0, 0, 180);
|
||||||
Color colors::black(0, 0, 0, 255);
|
Color colors::black(0, 0, 0, 255);
|
||||||
Color colors::tf_red(184, 56, 59, 255);
|
Color colors::tf_red(184, 56, 59, 255);
|
||||||
Color colors::tf_blu(88, 133, 162, 255);
|
Color colors::tf_blu(88, 133, 162, 255);
|
||||||
@ -187,6 +189,18 @@ void draw::DrawString(int x, int y, Color color, Color background, bool center,
|
|||||||
draw::DrawString(draw::font_handle, x, y, color, string);
|
draw::DrawString(draw::font_handle, x, y, color, string);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void draw::DrawString(int x, int y, Color color, const char* text, ...) {
|
||||||
|
if (!text) return;
|
||||||
|
va_list list;
|
||||||
|
char buffer[1024] = { '\0' };
|
||||||
|
wchar_t string[1024] = { '\0' };
|
||||||
|
va_start(list, text);
|
||||||
|
vsprintf(buffer, text, list);
|
||||||
|
va_end(list);
|
||||||
|
swprintf(string, 1024, L"%s", buffer);
|
||||||
|
draw::DrawString(draw::font_handle, x, y, color, string);
|
||||||
|
}
|
||||||
|
|
||||||
bool draw::EntityCenterToScreen(IClientEntity* entity, Vector& out) {
|
bool draw::EntityCenterToScreen(IClientEntity* entity, Vector& out) {
|
||||||
if (!entity) return false;
|
if (!entity) return false;
|
||||||
Vector world;
|
Vector world;
|
||||||
|
@ -25,7 +25,9 @@ extern Color TEAM_COLORS[4];
|
|||||||
|
|
||||||
namespace colors {
|
namespace colors {
|
||||||
extern Color pink;
|
extern Color pink;
|
||||||
|
extern Color pinka;
|
||||||
extern Color white;
|
extern Color white;
|
||||||
|
extern Color bg_blk;
|
||||||
extern Color black;
|
extern Color black;
|
||||||
extern Color tf_red;
|
extern Color tf_red;
|
||||||
extern Color tf_blu;
|
extern Color tf_blu;
|
||||||
@ -70,6 +72,7 @@ extern Color black;
|
|||||||
void Initialize();
|
void Initialize();
|
||||||
void DrawString(unsigned long font, int x, int y, Color color, const wchar_t* text);
|
void DrawString(unsigned long font, int x, int y, Color color, const wchar_t* text);
|
||||||
void DrawString(int x, int y, Color color, Color background, bool center, const char* text, ...);
|
void DrawString(int x, int y, Color color, Color background, bool center, const char* text, ...);
|
||||||
|
void DrawString(int x, int y, Color color, const char* text, ...);
|
||||||
void DrawRect(int x, int y, int w, int h, Color color);
|
void DrawRect(int x, int y, int w, int h, Color color);
|
||||||
bool WorldToScreen(Vector &origin, Vector &screen);
|
bool WorldToScreen(Vector &origin, Vector &screen);
|
||||||
bool EntityCenterToScreen(IClientEntity* entity, Vector& out);
|
bool EntityCenterToScreen(IClientEntity* entity, Vector& out);
|
||||||
|
@ -6,45 +6,154 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "controls.h"
|
#include "controls.h"
|
||||||
#include "common.h"
|
#include "gui.h"
|
||||||
#include "sdk.h"
|
#include "../common.h"
|
||||||
|
#include "../sdk.h"
|
||||||
|
|
||||||
GUI_List::GUI_List(const char* name) {
|
GUI_List::GUI_List(const char* name, const char* title) {
|
||||||
m_pszListName = name;
|
m_pszListID = name;
|
||||||
|
m_pszListTitle = title;
|
||||||
m_pFirst = 0;
|
m_pFirst = 0;
|
||||||
|
m_nElementCount = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void GUI_List::Draw(int x, int y) {
|
void GUI_List::Move(int x, int y) {
|
||||||
|
this->x = x;
|
||||||
|
this->y = y;
|
||||||
|
}
|
||||||
|
|
||||||
|
void GUI_List::Draw() {
|
||||||
IGUIListElement* current = m_pFirst;
|
IGUIListElement* current = m_pFirst;
|
||||||
int n_elements = 0;
|
draw::DrawRect(x, y, LIST_WIDTH, m_nElementCount * VERTICAL_SPACING, colors::bg_blk);
|
||||||
|
int curidx = 0;
|
||||||
while (current) {
|
while (current) {
|
||||||
current->Draw(x + 1, y + 1 + n_elements * VERTICAL_SPACING);
|
current->Draw(x + 1, y + 1 + curidx++ * VERTICAL_SPACING, (current == m_pSelected));
|
||||||
n_elements++;
|
|
||||||
current = current->m_pNext;
|
current = current->m_pNext;
|
||||||
}
|
}
|
||||||
draw::OutlineRect(x, y, x + LIST_WIDTH, y + n_elements * VERTICAL_SPACING, colors::tf_blu);
|
draw::OutlineRect(x, y, LIST_WIDTH, m_nElementCount * VERTICAL_SPACING, colors::pink);
|
||||||
}
|
}
|
||||||
|
|
||||||
void GUI_List::AddElement(IGUIListElement* element) {
|
void GUI_List::AddElement(IGUIListElement* element) {
|
||||||
if (!m_pFirst) {
|
if (!m_pFirst) {
|
||||||
|
m_pSelected = element;
|
||||||
m_pFirst = element;
|
m_pFirst = element;
|
||||||
m_pLast = element;
|
m_pLast = element;
|
||||||
|
element->m_nIndex = m_nElementCount++;
|
||||||
|
element->m_pParentList = this;
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
IGUIListElement* current = m_pFirst;
|
IGUIListElement* current = m_pFirst;
|
||||||
while (current) {
|
while (current) {
|
||||||
current = current->m_pNext;
|
if (current->m_pNext)
|
||||||
|
current = current->m_pNext;
|
||||||
|
else {
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (current) {
|
if (current) {
|
||||||
current->m_pNext = element;
|
current->m_pNext = element;
|
||||||
element->m_pPrev = current;
|
element->m_pPrev = current;
|
||||||
|
element->m_nIndex = m_nElementCount++;
|
||||||
|
element->m_pParentList = this;
|
||||||
m_pLast = current;
|
m_pLast = current;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void GUIListElement_Var::GUIListElement_Var(ICatVar* var) {
|
IGUIListElement::~IGUIListElement() {}
|
||||||
|
|
||||||
|
void GUI_List::SelectNext() {
|
||||||
|
if (!m_pSelected) {
|
||||||
|
m_pSelected = m_pFirst;
|
||||||
|
} else {
|
||||||
|
m_pSelected = m_pSelected->m_pNext;
|
||||||
|
}
|
||||||
|
if (!m_pSelected)
|
||||||
|
m_pSelected = m_pFirst;
|
||||||
|
}
|
||||||
|
|
||||||
|
void GUI_List::SelectPrev() {
|
||||||
|
if (!m_pSelected) {
|
||||||
|
m_pSelected = m_pFirst;
|
||||||
|
} else {
|
||||||
|
m_pSelected = m_pSelected->m_pPrev;
|
||||||
|
}
|
||||||
|
if (!m_pSelected)
|
||||||
|
m_pSelected = m_pLast;
|
||||||
|
}
|
||||||
|
|
||||||
|
void GUI_List::KeyEvent(ButtonCode_t key) {
|
||||||
|
switch (key) {
|
||||||
|
case ButtonCode_t::KEY_UP:
|
||||||
|
SelectPrev(); break;
|
||||||
|
case ButtonCode_t::KEY_DOWN:
|
||||||
|
SelectNext(); break;
|
||||||
|
default:
|
||||||
|
if (m_pSelected) {
|
||||||
|
m_pSelected->KeyEvent(key);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
GUIListElement_Var::GUIListElement_Var(CatVar* var) {
|
||||||
m_pCatVar = var;
|
m_pCatVar = var;
|
||||||
|
m_pNext = 0;
|
||||||
|
m_pPrev = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void GUIListElement_Var::Draw(int x, int y) {
|
void GUIListElement_Var::Draw(int x, int y, bool selected) {
|
||||||
|
switch (m_pCatVar->m_Type) {
|
||||||
|
case CatVar_t::CV_SWITCH: {
|
||||||
|
draw::DrawString(x, y, selected ? colors::pink : colors::pinka, "%s", m_pCatVar->GetConVar()->GetHelpText());
|
||||||
|
int l, h;
|
||||||
|
bool enabled = m_pCatVar->GetConVar()->GetInt();
|
||||||
|
draw::GetStringLength(enabled ? (char*)"ON" : (char*)"OFF", l, h);
|
||||||
|
draw::DrawString(x + LIST_WIDTH - l - 3, y, selected ? colors::pink : colors::pinka, enabled ? "ON" : "OFF");
|
||||||
|
} break;
|
||||||
|
case CatVar_t::CV_FLOAT: {
|
||||||
|
draw::DrawString(x, y, selected ? colors::pink : colors::pinka, "%s", m_pCatVar->GetConVar()->GetHelpText());
|
||||||
|
int l, h;
|
||||||
|
draw::GetStringLength(strfmt("%.1f", m_pCatVar->GetConVar()->GetFloat()), l, h);
|
||||||
|
draw::DrawString(x + LIST_WIDTH - l - 3, y, selected ? colors::pink : colors::pinka, "%.1f", m_pCatVar->GetConVar()->GetFloat());
|
||||||
|
} break;
|
||||||
|
case CatVar_t::CV_INT: {
|
||||||
|
draw::DrawString(x, y, selected ? colors::pink : colors::pinka, "%s", m_pCatVar->GetConVar()->GetHelpText());
|
||||||
|
int l, h;
|
||||||
|
draw::GetStringLength(strfmt("%i", m_pCatVar->GetConVar()->GetInt()), l, h);
|
||||||
|
draw::DrawString(x + LIST_WIDTH - l - 3, y, selected ? colors::pink : colors::pinka, "%i", m_pCatVar->GetConVar()->GetInt());
|
||||||
|
} break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void GUIListElement_Var::KeyEvent(ButtonCode_t key) {
|
||||||
|
switch (key) {
|
||||||
|
case ButtonCode_t::KEY_SPACE:
|
||||||
|
case ButtonCode_t::KEY_ENTER:
|
||||||
|
m_pCatVar->Increment();
|
||||||
|
break;
|
||||||
|
case ButtonCode_t::KEY_RIGHT:
|
||||||
|
m_pCatVar->Increment();
|
||||||
|
break;
|
||||||
|
case ButtonCode_t::KEY_LEFT:
|
||||||
|
m_pCatVar->Decrement();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
GUIListElement_SubList::GUIListElement_SubList(GUI_List* list) {
|
||||||
|
m_pList = list;
|
||||||
|
m_pNext = 0;
|
||||||
|
m_pPrev = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
void GUIListElement_SubList::Draw(int x, int y, bool selected) {
|
||||||
|
draw::DrawString(x, y, selected ? colors::pink : colors::pinka, "> %s", m_pList->m_pszListTitle);
|
||||||
|
}
|
||||||
|
|
||||||
|
void GUIListElement_SubList::KeyEvent(ButtonCode_t key) {
|
||||||
|
switch (key) {
|
||||||
|
case ButtonCode_t::KEY_ENTER:
|
||||||
|
case ButtonCode_t::KEY_SPACE:
|
||||||
|
m_pList->Move(m_pParentList->x + LIST_WIDTH, m_pParentList->y + VERTICAL_SPACING * m_nIndex);
|
||||||
|
g_pGUI->PushList(m_pList->m_pszListID);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -8,36 +8,60 @@
|
|||||||
#ifndef CONTROLS_H_
|
#ifndef CONTROLS_H_
|
||||||
#define CONTROLS_H_
|
#define CONTROLS_H_
|
||||||
|
|
||||||
|
#include "../cvwrapper.h"
|
||||||
|
#include "../sdk.h"
|
||||||
|
|
||||||
#define VERTICAL_SPACING 14
|
#define VERTICAL_SPACING 14
|
||||||
#define LIST_WIDTH 100
|
#define LIST_WIDTH 200
|
||||||
|
|
||||||
|
class IGUIListElement;
|
||||||
|
|
||||||
class GUI_List {
|
class GUI_List {
|
||||||
public:
|
public:
|
||||||
GUI_List(const char* name);
|
GUI_List(const char* id, const char* title);
|
||||||
void Draw(int x, int y);
|
void Draw();
|
||||||
|
void Move(int x, int y);
|
||||||
void AddElement(IGUIListElement* element);
|
void AddElement(IGUIListElement* element);
|
||||||
|
void KeyEvent(ButtonCode_t key);
|
||||||
|
void SelectNext();
|
||||||
|
void SelectPrev();
|
||||||
|
|
||||||
|
int x, y;
|
||||||
|
IGUIListElement* m_pSelected;
|
||||||
IGUIListElement* m_pFirst;
|
IGUIListElement* m_pFirst;
|
||||||
IGUIListElement* m_pLast;
|
IGUIListElement* m_pLast;
|
||||||
const char* m_pszListName;
|
int m_nElementCount;
|
||||||
|
const char* m_pszListID;
|
||||||
|
const char* m_pszListTitle;
|
||||||
};
|
};
|
||||||
|
|
||||||
class IGUIListElement {
|
class IGUIListElement {
|
||||||
public:
|
public:
|
||||||
virtual ~IGUIListElement();
|
virtual ~IGUIListElement();
|
||||||
virtual void Draw(int x, int y) = 0;
|
virtual void Draw(int x, int y, bool selected) = 0;
|
||||||
virtual void KeyEvent(ButtonCode_t key) = 0;
|
virtual void KeyEvent(ButtonCode_t key) = 0;
|
||||||
IGUIListElement* m_pNext;
|
IGUIListElement* m_pNext;
|
||||||
IGUIListElement* m_pPrev;
|
IGUIListElement* m_pPrev;
|
||||||
|
int m_nIndex;
|
||||||
|
GUI_List* m_pParentList;
|
||||||
};
|
};
|
||||||
|
|
||||||
class GUIListElement_Var : public IGUIListElement {
|
class GUIListElement_Var : public IGUIListElement {
|
||||||
public:
|
public:
|
||||||
GUIListElement_Var(ICatVar* var);
|
GUIListElement_Var(CatVar* var);
|
||||||
void Draw(int x, int y);
|
void Draw(int x, int y, bool selected);
|
||||||
void KeyEvent(ButtonCode_t key);
|
void KeyEvent(ButtonCode_t key);
|
||||||
|
|
||||||
ICatVar* m_pCatVar;
|
CatVar* m_pCatVar;
|
||||||
|
};
|
||||||
|
|
||||||
|
class GUIListElement_SubList : public IGUIListElement {
|
||||||
|
public:
|
||||||
|
GUIListElement_SubList(GUI_List* list);
|
||||||
|
void Draw(int x, int y, bool selected);
|
||||||
|
void KeyEvent(ButtonCode_t key);
|
||||||
|
|
||||||
|
GUI_List* m_pList;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif /* CONTROLS_H_ */
|
#endif /* CONTROLS_H_ */
|
||||||
|
@ -6,25 +6,169 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "gui.h"
|
#include "gui.h"
|
||||||
|
#include "controls.h"
|
||||||
#include "../common.h"
|
#include "../common.h"
|
||||||
#include "../sdk.h"
|
#include "../sdk.h"
|
||||||
|
#include "../hacks/hacklist.h"
|
||||||
|
|
||||||
GUI::GUI() {
|
GUI::GUI() {
|
||||||
m_bActive = false;
|
m_bActive = false;
|
||||||
|
m_nListCount = 0;
|
||||||
|
m_nStackSize = 0;
|
||||||
|
m_ListStack = new GUI_List*[LISTS_MAX]();
|
||||||
|
m_Lists = new GUI_List*[LISTS_MAX]();
|
||||||
|
}
|
||||||
|
|
||||||
|
void GUI::AddList(GUI_List* list) {
|
||||||
|
m_Lists[m_nListCount] = list;
|
||||||
|
m_nListCount++;
|
||||||
|
}
|
||||||
|
|
||||||
|
void GUI::PushList(const char* id) {
|
||||||
|
logging::Info("Pushing list %s", id);
|
||||||
|
if (m_nStackSize == LISTS_MAX - 1) return;
|
||||||
|
for (int i = 0; i < m_nListCount; i++) {
|
||||||
|
GUI_List* list = m_Lists[i];
|
||||||
|
if (strcmp(list->m_pszListID, id) == 0) {
|
||||||
|
logging::Info("Found!");
|
||||||
|
m_ListStack[m_nStackSize] = list;
|
||||||
|
m_nStackSize++;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void GUI::PopList() {
|
||||||
|
if (m_nStackSize == 1) return;
|
||||||
|
m_nStackSize--;
|
||||||
}
|
}
|
||||||
|
|
||||||
void GUI::Draw() {
|
void GUI::Draw() {
|
||||||
if (!m_bActive) return;
|
if (!m_bActive) return;
|
||||||
draw::DrawString(50, 50, colors::pink, colors::black, false, "Menu Active!!");
|
for (int i = 0; i < m_nStackSize; i++) {
|
||||||
|
GUI_List* list = m_ListStack[i];
|
||||||
|
if (list)
|
||||||
|
list->Draw();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bool GUI::KeyEvent(ButtonCode_t key) {
|
bool GUI::KeyEvent(ButtonCode_t key) {
|
||||||
if (key == KEY_INSERT)
|
if (key == KEY_INSERT)
|
||||||
m_bActive = !m_bActive;
|
m_bActive = !m_bActive;
|
||||||
if (!m_bActive) return false;
|
if (!m_bActive) return false;
|
||||||
switch (key) {
|
if (key == KEY_BACKSPACE) {
|
||||||
|
PopList();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (m_nStackSize) {
|
||||||
|
if (m_ListStack[m_nStackSize - 1])
|
||||||
|
m_ListStack[m_nStackSize - 1]->KeyEvent(key);
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#define CREATE_LIST(id, name) \
|
||||||
|
GUI_List* list_##id = new GUI_List(#id, name); \
|
||||||
|
AddList(list_##id);
|
||||||
|
|
||||||
|
#define ADD_SUBLIST(list, sublist) \
|
||||||
|
list_##list->AddElement(new GUIListElement_SubList(list_##sublist));
|
||||||
|
|
||||||
|
#define ADD_SWITCH(list, var) \
|
||||||
|
list_##list->AddElement(new GUIListElement_Var(new CatVar(var, CatVar_t::CV_SWITCH)));
|
||||||
|
|
||||||
|
#define ADD_INT(list, var) \
|
||||||
|
list_##list->AddElement(new GUIListElement_Var(new CatVar(var, CatVar_t::CV_INT)));
|
||||||
|
|
||||||
|
#define ADD_FLOAT(list, var) \
|
||||||
|
list_##list->AddElement(new GUIListElement_Var(new CatVar(var, CatVar_t::CV_FLOAT)));
|
||||||
|
|
||||||
|
|
||||||
|
void GUI::Setup() {
|
||||||
|
CREATE_LIST(main, "MAIN");
|
||||||
|
CREATE_LIST(aimbot, "Aimbot");
|
||||||
|
CREATE_LIST(antiaim, "Anti-Aim");
|
||||||
|
CREATE_LIST(autoheal, "Auto Heal");
|
||||||
|
CREATE_LIST(autoreflect, "Auto Reflect");
|
||||||
|
CREATE_LIST(autosticky, "Auto Sticky");
|
||||||
|
CREATE_LIST(esp, "ESP");
|
||||||
|
CREATE_LIST(bhop, "Bunnyhop");
|
||||||
|
CREATE_LIST(trigger, "Triggerbot");
|
||||||
|
|
||||||
|
list_main->Move(100, 100);
|
||||||
|
|
||||||
|
ADD_SUBLIST(main, aimbot);
|
||||||
|
ADD_SUBLIST(main, antiaim);
|
||||||
|
ADD_SUBLIST(main, autoreflect);
|
||||||
|
ADD_SUBLIST(main, autosticky);
|
||||||
|
ADD_SUBLIST(main, esp);
|
||||||
|
ADD_SUBLIST(main, autoheal);
|
||||||
|
ADD_SUBLIST(main, bhop);
|
||||||
|
|
||||||
|
ADD_SWITCH(aimbot, g_phAimbot->v_bEnabled);
|
||||||
|
// TODO enums
|
||||||
|
ADD_INT(aimbot, g_phAimbot->v_iAimKeyMode);
|
||||||
|
ADD_INT(aimbot, g_phAimbot->v_iAimKey);
|
||||||
|
ADD_INT(aimbot, g_phAimbot->v_iHitbox);
|
||||||
|
ADD_SWITCH(aimbot, g_phAimbot->v_bAutoHitbox);
|
||||||
|
ADD_SWITCH(aimbot, g_phAimbot->v_bPrediction);
|
||||||
|
ADD_SWITCH(aimbot, g_phAimbot->v_bAutoShoot);
|
||||||
|
ADD_SWITCH(aimbot, g_phAimbot->v_bSilent);
|
||||||
|
ADD_SWITCH(aimbot, g_phAimbot->v_bZoomedOnly);
|
||||||
|
ADD_SWITCH(aimbot, g_phAimbot->v_bRespectCloak);
|
||||||
|
ADD_SWITCH(aimbot, g_phAimbot->v_bAimBuildings);
|
||||||
|
ADD_FLOAT(aimbot, g_phAimbot->v_fFOV);
|
||||||
|
ADD_SWITCH(aimbot, g_phAimbot->v_bMachinaPenetration);
|
||||||
|
CREATE_LIST(aimbot_smooth, "Smooth")
|
||||||
|
ADD_SUBLIST(aimbot, aimbot_smooth);
|
||||||
|
ADD_SWITCH(aimbot_smooth, g_phAimbot->v_bSmooth);
|
||||||
|
ADD_INT(aimbot, g_phAimbot->v_iSeenDelay);
|
||||||
|
|
||||||
|
ADD_SWITCH(antiaim, g_phAntiAim->v_bEnabled);
|
||||||
|
ADD_FLOAT(antiaim, g_phAntiAim->v_flPitch);
|
||||||
|
ADD_FLOAT(antiaim, g_phAntiAim->v_flSpinSpeed);
|
||||||
|
|
||||||
|
ADD_SWITCH(main, g_phAntiDisguise->v_bEnabled);
|
||||||
|
ADD_SWITCH(autoheal, g_phAutoHeal->v_bEnabled);
|
||||||
|
ADD_SWITCH(autoheal, g_phAutoHeal->v_bSilent);
|
||||||
|
|
||||||
|
ADD_SWITCH(autoreflect, g_phAutoReflect->v_bEnabled);
|
||||||
|
ADD_SWITCH(autoreflect, g_phAutoReflect->v_bDisableWhenAttacking);
|
||||||
|
ADD_SWITCH(autoreflect, g_phAutoReflect->v_bReflectStickies);
|
||||||
|
ADD_INT(autoreflect, g_phAutoReflect->v_iReflectDistance);
|
||||||
|
|
||||||
|
ADD_SWITCH(autosticky, g_phAutoSticky->v_bEnabled);
|
||||||
|
// TODO step increment
|
||||||
|
|
||||||
|
ADD_SWITCH(esp, g_phESP->v_bEnabled);
|
||||||
|
ADD_SWITCH(esp, g_phESP->v_bBox);
|
||||||
|
ADD_SWITCH(esp, g_phESP->v_bEntityESP);
|
||||||
|
CREATE_LIST(esp_item, "Item ESP");
|
||||||
|
|
||||||
|
ADD_SUBLIST(esp, esp_item);
|
||||||
|
ADD_SWITCH(esp_item, g_phESP->v_bItemESP);
|
||||||
|
ADD_SWITCH(esp_item, g_phESP->v_bShowAmmoPacks);
|
||||||
|
ADD_SWITCH(esp_item, g_phESP->v_bShowHealthPacks);
|
||||||
|
ADD_SWITCH(esp_item, g_phESP->v_bShowDroppedWeapons);
|
||||||
|
ADD_SWITCH(esp_item, g_phESP->v_bShowPowerups);
|
||||||
|
ADD_SWITCH(esp, g_phESP->v_bLegit);
|
||||||
|
ADD_INT(esp, g_phESP->v_iLegitSeenTicks);
|
||||||
|
ADD_SWITCH(esp, g_phESP->v_bVisCheck);
|
||||||
|
ADD_SWITCH(esp, g_phESP->v_bTeammatePowerup);
|
||||||
|
ADD_SWITCH(esp, g_phESP->v_bTeammates);
|
||||||
|
|
||||||
|
ADD_SWITCH(bhop, g_phBunnyhop->v_bEnabled);
|
||||||
|
ADD_SWITCH(bhop, g_phBunnyhop->v_bAutoJump);
|
||||||
|
|
||||||
|
ADD_SWITCH(trigger, g_phTriggerbot->v_bBodyshot);
|
||||||
|
ADD_SWITCH(trigger, g_phTriggerbot->v_bBuildings);
|
||||||
|
ADD_SWITCH(trigger, g_phTriggerbot->v_bEnabled);
|
||||||
|
ADD_SWITCH(trigger, g_phTriggerbot->v_bFinishingHit);
|
||||||
|
ADD_SWITCH(trigger, g_phTriggerbot->v_bIgnoreCloak);
|
||||||
|
ADD_SWITCH(trigger, g_phTriggerbot->v_bZoomedOnly);
|
||||||
|
|
||||||
|
PushList("main");
|
||||||
|
}
|
||||||
|
|
||||||
GUI* g_pGUI = 0;
|
GUI* g_pGUI = 0;
|
||||||
|
@ -10,12 +10,26 @@
|
|||||||
|
|
||||||
#include "../sdk.h"
|
#include "../sdk.h"
|
||||||
|
|
||||||
|
#define LISTS_MAX 64
|
||||||
|
|
||||||
|
class GUI_List;
|
||||||
|
|
||||||
class GUI {
|
class GUI {
|
||||||
public:
|
public:
|
||||||
GUI();
|
GUI();
|
||||||
void Draw();
|
void Draw();
|
||||||
bool KeyEvent(ButtonCode_t key);
|
bool KeyEvent(ButtonCode_t key);
|
||||||
|
void AddList(GUI_List* list);
|
||||||
|
|
||||||
|
void PushList(const char* id);
|
||||||
|
void PopList();
|
||||||
|
|
||||||
|
void Setup();
|
||||||
|
|
||||||
|
GUI_List** m_Lists;
|
||||||
|
GUI_List** m_ListStack;
|
||||||
|
int m_nListCount;
|
||||||
|
int m_nStackSize;
|
||||||
bool m_bActive;
|
bool m_bActive;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -43,6 +43,8 @@
|
|||||||
#include "targeting/ITargetSystem.h"
|
#include "targeting/ITargetSystem.h"
|
||||||
#include "profiler.h"
|
#include "profiler.h"
|
||||||
#include "gui/gui.h"
|
#include "gui/gui.h"
|
||||||
|
#include "gui/controls.h"
|
||||||
|
#include "cvwrapper.h"
|
||||||
|
|
||||||
#include "sdk.h"
|
#include "sdk.h"
|
||||||
#include "copypasted/CSignature.h"
|
#include "copypasted/CSignature.h"
|
||||||
@ -351,6 +353,8 @@ void hack::Initialize() {
|
|||||||
g_Settings.Init();
|
g_Settings.Init();
|
||||||
InitTargetingConVars();
|
InitTargetingConVars();
|
||||||
EndConVars();
|
EndConVars();
|
||||||
|
g_pGUI = new GUI();
|
||||||
|
g_pGUI->Setup();
|
||||||
logging::Info("Initializing NetVar tree...");
|
logging::Info("Initializing NetVar tree...");
|
||||||
gNetvars.init();
|
gNetvars.init();
|
||||||
logging::Info("Initializing entity offsets...");
|
logging::Info("Initializing entity offsets...");
|
||||||
@ -369,7 +373,6 @@ void hack::Initialize() {
|
|||||||
while(!(clientMode = **(uintptr_t***)((uintptr_t)((*(void***)interfaces::baseClient)[10]) + 1))) {
|
while(!(clientMode = **(uintptr_t***)((uintptr_t)((*(void***)interfaces::baseClient)[10]) + 1))) {
|
||||||
sleep(1);
|
sleep(1);
|
||||||
}
|
}
|
||||||
g_pGUI = new GUI();
|
|
||||||
hooks::hkClientMode->Init((void*)clientMode, 0);
|
hooks::hkClientMode->Init((void*)clientMode, 0);
|
||||||
hooks::hkClientMode->HookMethod((void*)&hack::Hk_CreateMove, hooks::offCreateMove);
|
hooks::hkClientMode->HookMethod((void*)&hack::Hk_CreateMove, hooks::offCreateMove);
|
||||||
hooks::hkClientMode->HookMethod((void*)&hack::Hk_OverrideView, hooks::offOverrideView);
|
hooks::hkClientMode->HookMethod((void*)&hack::Hk_OverrideView, hooks::offOverrideView);
|
||||||
|
@ -43,36 +43,36 @@ Aimbot::Aimbot() {
|
|||||||
target_systems[1] = new TargetSystemFOV();
|
target_systems[1] = new TargetSystemFOV();
|
||||||
target_systems[2] = new TargetSystemDistance();
|
target_systems[2] = new TargetSystemDistance();
|
||||||
m_bAimKeySwitch = false;
|
m_bAimKeySwitch = false;
|
||||||
this->v_iAimKeyMode = CreateConVar(CON_PREFIX "aimbot_aimkey_mode", "1", "AimKey mode [DISABLED/PTE/PTD/TOGGLE]");
|
this->v_iAimKeyMode = CreateConVar(CON_PREFIX "aimbot_aimkey_mode", "1", "Aimkey Mode");
|
||||||
this->v_bEnabled = CreateConVar(CON_PREFIX "aimbot_enabled", "0", "Enables aimbot. EXPERIMENTAL AND TOTALLY NOT LEGIT");
|
this->v_bEnabled = CreateConVar(CON_PREFIX "aimbot_enabled", "0", "Enabled");
|
||||||
this->v_iHitbox = CreateConVar(CON_PREFIX "aimbot_hitbox", "0", "Hitbox");
|
this->v_iHitbox = CreateConVar(CON_PREFIX "aimbot_hitbox", "0", "Hitbox");
|
||||||
this->v_bAutoHitbox = CreateConVar(CON_PREFIX "aimbot_autohitbox", "1", "Autohitbox");
|
this->v_bAutoHitbox = CreateConVar(CON_PREFIX "aimbot_autohitbox", "1", "Autohitbox");
|
||||||
this->v_bPrediction = CreateConVar(CON_PREFIX "aimbot_prediction", "1", "Latency prediction");
|
this->v_bPrediction = CreateConVar(CON_PREFIX "aimbot_prediction", "1", "Latency pred");
|
||||||
this->v_bAutoShoot = CreateConVar(CON_PREFIX "aimbot_autoshoot", "1", "Autoshoot");
|
this->v_bAutoShoot = CreateConVar(CON_PREFIX "aimbot_autoshoot", "1", "Autoshoot");
|
||||||
this->v_bSilent = CreateConVar(CON_PREFIX "aimbot_silent", "1", "Silent mode");
|
this->v_bSilent = CreateConVar(CON_PREFIX "aimbot_silent", "1", "Silent");
|
||||||
this->v_bZoomedOnly = CreateConVar(CON_PREFIX "aimbot_zoomed", "1", "Only acitve with zoomed rifle");
|
this->v_bZoomedOnly = CreateConVar(CON_PREFIX "aimbot_zoomed", "1", "Zoomed Only");
|
||||||
this->v_iAutoShootCharge = CreateConVar(CON_PREFIX "aimbot_autoshoot_charge", "0.0", "Minimal charge for autoshoot");
|
this->v_iAutoShootCharge = CreateConVar(CON_PREFIX "aimbot_autoshoot_charge", "0.0", "Autoshoot Charge");
|
||||||
this->v_iMaxRange = CreateConVar(CON_PREFIX "aimbot_maxrange", "0", "Max distance");
|
this->v_iMaxRange = CreateConVar(CON_PREFIX "aimbot_maxrange", "0", "Max distance");
|
||||||
this->v_bRespectCloak = CreateConVar(CON_PREFIX "aimbot_respect_cloak", "1", "Will not shoot cloaked spies.");
|
this->v_bRespectCloak = CreateConVar(CON_PREFIX "aimbot_respect_cloak", "1", "Respect cloak");
|
||||||
this->v_bCharge = CreateConVar(CON_PREFIX "aimbot_charge", "0", "Autoshoot only with charge ready");
|
this->v_bCharge = CreateConVar(CON_PREFIX "aimbot_charge", "0", "Wait for charge");
|
||||||
this->v_bEnabledAttacking = CreateConVar(CON_PREFIX "aimbot_enable_attack_only", "0", "Aimbot only active with attack key held");
|
this->v_bEnabledAttacking = CreateConVar(CON_PREFIX "aimbot_enable_attack_only", "0", "Active when attacking");
|
||||||
this->v_bStrictAttack = CreateConVar(CON_PREFIX "aimbot_strict_attack", "0", "Not attacking unless target is locked");
|
this->v_bStrictAttack = CreateConVar(CON_PREFIX "aimbot_strict_attack", "0", "Strict attack");
|
||||||
this->v_bProjectileAimbot = CreateConVar(CON_PREFIX "aimbot_projectile", "1", "Projectile aimbot (EXPERIMENTAL)");
|
this->v_bProjectileAimbot = CreateConVar(CON_PREFIX "aimbot_projectile", "1", "Projectile aimbot");
|
||||||
this->v_iOverrideProjSpeed = CreateConVar(CON_PREFIX "aimbot_proj_speed", "0", "Override proj speed");
|
this->v_iOverrideProjSpeed = CreateConVar(CON_PREFIX "aimbot_proj_speed", "0", "Projectile speed");
|
||||||
this->v_bDebug = CreateConVar(CON_PREFIX "aimbot_debug", "0", "Aimbot debug");
|
this->v_bDebug = CreateConVar(CON_PREFIX "aimbot_debug", "0", "Debug");
|
||||||
this->v_fFOV = CreateConVar(CON_PREFIX "aimbot_fov", "0", "Aimbot fov");
|
this->v_fFOV = CreateConVar(CON_PREFIX "aimbot_fov", "0", "FOV");
|
||||||
this->v_bMachinaPenetration = CreateConVar(CON_PREFIX "aimbot_machina", "0", "Machina penetration aimbot (just for fun)");
|
this->v_bMachinaPenetration = CreateConVar(CON_PREFIX "aimbot_machina", "0", "Machina Mode");
|
||||||
this->v_bSmooth = CreateConVar(CON_PREFIX "aimbot_smooth", "0", "Smooth aimbot");
|
this->v_bSmooth = CreateConVar(CON_PREFIX "aimbot_smooth", "0", "Smooth");
|
||||||
this->v_flAutoShootHuntsmanCharge = CreateConVar(CON_PREFIX "aimbot_huntsman_charge", "0.5", "Huntsman autoshoot charge");
|
this->v_flAutoShootHuntsmanCharge = CreateConVar(CON_PREFIX "aimbot_huntsman_charge", "0.5", "Huntsman charge");
|
||||||
this->v_fSmoothValue = CreateConVar(CON_PREFIX "aimbot_smooth_value", "0.2", "Smooth value");
|
this->v_fSmoothValue = CreateConVar(CON_PREFIX "aimbot_smooth_value", "0.2", "Smooth value");
|
||||||
this->v_iAimKey = CreateConVar(CON_PREFIX "aimbot_aimkey", "0", "Aim Key");
|
this->v_iAimKey = CreateConVar(CON_PREFIX "aimbot_aimkey", "0", "Aimkey");
|
||||||
this->v_iPriorityMode = CreateConVar(CON_PREFIX "aimbot_prioritymode", "0", "Priority mode [SMART/FOV/DISTANCE/HEALTH]");
|
this->v_iPriorityMode = CreateConVar(CON_PREFIX "aimbot_prioritymode", "0", "Priority mode");
|
||||||
this->v_bMinigunFix = CreateConVar(CON_PREFIX "aimbot_minigun_fix", "1", "Minigun fix [EXPERIMENTAL]");
|
this->v_bMinigunFix = CreateConVar(CON_PREFIX "aimbot_minigun_fix", "1", "Minigun fix");
|
||||||
v_bAimBuildings = CreateConVar(CON_PREFIX "aimbot_buildings", "1", "Aim at buildings");
|
v_bAimBuildings = CreateConVar(CON_PREFIX "aimbot_buildings", "1", "Aim @ Buildings");
|
||||||
v_bActiveOnlyWhenCanShoot = CreateConVar(CON_PREFIX "aimbot_only_when_can_shoot", "1", "Aimbot active only when can shoot");
|
v_bActiveOnlyWhenCanShoot = CreateConVar(CON_PREFIX "aimbot_only_when_can_shoot", "1", "Active when can shoot");
|
||||||
v_fSmoothAutoshootTreshold = CreateConVar(CON_PREFIX "aimbot_smooth_autoshoot_treshold", "0.01", "Smooth aim autoshoot treshold");
|
v_fSmoothAutoshootTreshold = CreateConVar(CON_PREFIX "aimbot_smooth_autoshoot_treshold", "0.01", "Smooth autoshoot");
|
||||||
this->v_fSmoothRandomness = CreateConVar(CON_PREFIX "aimbot_smooth_randomness", "1.0", "Smooth randomness");
|
this->v_fSmoothRandomness = CreateConVar(CON_PREFIX "aimbot_smooth_randomness", "1.0", "Smooth randomness");
|
||||||
this->v_iSeenDelay = CreateConVar(CON_PREFIX "aimbot_delay", "0", "Delay before shooting if enemy was invisible");
|
this->v_iSeenDelay = CreateConVar(CON_PREFIX "aimbot_delay", "0", "Aimbot delay");
|
||||||
fix_silent = false;
|
fix_silent = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
DEFINE_HACK_SINGLETON(Airstuck);
|
DEFINE_HACK_SINGLETON(Airstuck);
|
||||||
|
|
||||||
Airstuck::Airstuck() {
|
Airstuck::Airstuck() {
|
||||||
v_bStuck = CreateConVar(CON_PREFIX "airstuck", "0", "Toggle airstuck");
|
v_bStuck = CreateConVar(CON_PREFIX "airstuck", "0", "Airstuck");
|
||||||
}
|
}
|
||||||
|
|
||||||
const char* Airstuck::GetName() {
|
const char* Airstuck::GetName() {
|
||||||
|
@ -17,7 +17,7 @@ const char* AntiAim::GetName() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
AntiAim::AntiAim() {
|
AntiAim::AntiAim() {
|
||||||
this->v_bEnabled = CreateConVar(CON_PREFIX "aa_enabled", "0", "Enable AntiAim");
|
this->v_bEnabled = CreateConVar(CON_PREFIX "aa_enabled", "0", "Enable");
|
||||||
this->v_flPitch = CreateConVar(CON_PREFIX "aa_pitch", "-89.0", "Pitch");
|
this->v_flPitch = CreateConVar(CON_PREFIX "aa_pitch", "-89.0", "Pitch");
|
||||||
this->v_flSpinSpeed = CreateConVar(CON_PREFIX "aa_spin", "10.0", "Spin speed");
|
this->v_flSpinSpeed = CreateConVar(CON_PREFIX "aa_spin", "10.0", "Spin speed");
|
||||||
}
|
}
|
||||||
|
@ -17,7 +17,7 @@ const char* AntiDisguise::GetName() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
AntiDisguise::AntiDisguise() {
|
AntiDisguise::AntiDisguise() {
|
||||||
v_bEnabled = CreateConVar(CON_PREFIX "antidisguise", "0", "Disables spy disguise");
|
v_bEnabled = CreateConVar(CON_PREFIX "antidisguise", "0", "Remove spy disguise");
|
||||||
}
|
}
|
||||||
|
|
||||||
void AntiDisguise::PaintTraverse(void*, unsigned int, bool, bool) {
|
void AntiDisguise::PaintTraverse(void*, unsigned int, bool, bool) {
|
||||||
|
@ -63,8 +63,8 @@ bool AutoHeal::CanHeal(int idx) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
AutoHeal::AutoHeal() {
|
AutoHeal::AutoHeal() {
|
||||||
this->v_bEnabled = CreateConVar(CON_PREFIX "autoheal_enabled", "0", "Enable AutoHeal");
|
this->v_bEnabled = CreateConVar(CON_PREFIX "autoheal_enabled", "0", "Enable");
|
||||||
this->v_bSilent = CreateConVar(CON_PREFIX "autoheal_silent", "1", "Silent AutoHeal");
|
this->v_bSilent = CreateConVar(CON_PREFIX "autoheal_silent", "1", "Silent");
|
||||||
m_iCurrentHealingTarget = -1;
|
m_iCurrentHealingTarget = -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -54,9 +54,9 @@ bool AutoReflect::ShouldReflect(IClientEntity* ent) {
|
|||||||
// Hack Methods
|
// Hack Methods
|
||||||
|
|
||||||
AutoReflect::AutoReflect() {
|
AutoReflect::AutoReflect() {
|
||||||
v_bEnabled = CreateConVar(CON_PREFIX "reflect_enabled", "0", "Autoreflect");
|
v_bEnabled = CreateConVar(CON_PREFIX "reflect_enabled", "0", "Enable");
|
||||||
v_iReflectDistance = CreateConVar(CON_PREFIX "reflect_distance", "200", "Autoreflect distance");
|
v_iReflectDistance = CreateConVar(CON_PREFIX "reflect_distance", "200", "Distance");
|
||||||
v_bDisableWhenAttacking = CreateConVar(CON_PREFIX "reflect_only_idle", "0", "Autoreflect active only when not shooting");
|
v_bDisableWhenAttacking = CreateConVar(CON_PREFIX "reflect_only_idle", "0", "Only when not shooting");
|
||||||
v_bReflectStickies = CreateConVar(CON_PREFIX "reflect_stickybombs", "0", "Reflect stickies");
|
v_bReflectStickies = CreateConVar(CON_PREFIX "reflect_stickybombs", "0", "Reflect stickies");
|
||||||
}
|
}
|
||||||
// TODO
|
// TODO
|
||||||
|
@ -18,10 +18,10 @@ const char* AutoSticky::GetName() {
|
|||||||
|
|
||||||
// TODO scottish cyclops
|
// TODO scottish cyclops
|
||||||
AutoSticky::AutoSticky() {
|
AutoSticky::AutoSticky() {
|
||||||
this->v_flDetonateDistance = CreateConVar(CON_PREFIX "sticky_distance", "200", "Sticky detonation distance");
|
this->v_flDetonateDistance = CreateConVar(CON_PREFIX "sticky_distance", "200", "Distance");
|
||||||
this->v_bBuildings = CreateConVar(CON_PREFIX "sticky_buildings", "1", "Stickies detonate at enemies' buildings");
|
this->v_bBuildings = CreateConVar(CON_PREFIX "sticky_buildings", "1", "Detonate buildings");
|
||||||
this->v_bEnabled = CreateConVar(CON_PREFIX "sticky_enabled", "0", "Enable stickybot");
|
this->v_bEnabled = CreateConVar(CON_PREFIX "sticky_enabled", "0", "Enable");
|
||||||
this->v_bScottish = CreateConVar(CON_PREFIX "sticky_scottish", "0", "Enable stickybot scottish resistance compatability");
|
this->v_bScottish = CreateConVar(CON_PREFIX "sticky_scottish", "0", "Scottish");
|
||||||
}
|
}
|
||||||
|
|
||||||
bool AutoSticky::ShouldDetonate(IClientEntity* bomb) {
|
bool AutoSticky::ShouldDetonate(IClientEntity* bomb) {
|
||||||
|
@ -17,7 +17,7 @@ const char* AutoStrafe::GetName() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
AutoStrafe::AutoStrafe() {
|
AutoStrafe::AutoStrafe() {
|
||||||
v_bEnabled = CreateConVar(CON_PREFIX "autostrafe", "0", "Autostrafe enabled");
|
v_bEnabled = CreateConVar(CON_PREFIX "autostrafe", "0", "Enable AutoStrafe");
|
||||||
}
|
}
|
||||||
|
|
||||||
bool AutoStrafe::CreateMove(void*, float, CUserCmd* cmd) {
|
bool AutoStrafe::CreateMove(void*, float, CUserCmd* cmd) {
|
||||||
|
@ -17,7 +17,7 @@ const char* Bunnyhop::GetName() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Bunnyhop::Bunnyhop() {
|
Bunnyhop::Bunnyhop() {
|
||||||
this->v_bEnabled = CreateConVar(CON_PREFIX "bhop_enabled", "0", "Enable/Disable BunnyHop");
|
this->v_bEnabled = CreateConVar(CON_PREFIX "bhop_enabled", "0", "Enable");
|
||||||
this->v_bAutoJump = CreateConVar(CON_PREFIX "bhop_autojump", "0", "AutoJump");
|
this->v_bAutoJump = CreateConVar(CON_PREFIX "bhop_autojump", "0", "AutoJump");
|
||||||
this->v_iAutoJumpSpeed = CreateConVar(CON_PREFIX "bhop_autojump_speed", "300", "AutoJump speed");
|
this->v_iAutoJumpSpeed = CreateConVar(CON_PREFIX "bhop_autojump_speed", "300", "AutoJump speed");
|
||||||
}
|
}
|
||||||
|
@ -35,25 +35,25 @@ void ESP::PaintTraverse(void*, unsigned int, bool, bool) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
ESP::ESP() {
|
ESP::ESP() {
|
||||||
this->v_bEnabled = CreateConVar(CON_PREFIX "esp_enabled", "0", "Enables ESP");
|
this->v_bEnabled = CreateConVar(CON_PREFIX "esp_enabled", "0", "ESP");
|
||||||
this->v_bEntityESP = CreateConVar(CON_PREFIX "esp_entity", "0", "Entity ESP (dev)");
|
this->v_bEntityESP = CreateConVar(CON_PREFIX "esp_entity", "0", "Entity ESP");
|
||||||
this->v_bTeammates = CreateConVar(CON_PREFIX "esp_teammates", "0", "ESP own team");
|
this->v_bTeammates = CreateConVar(CON_PREFIX "esp_teammates", "0", "ESP Teammates");
|
||||||
this->v_bItemESP = CreateConVar(CON_PREFIX "esp_item", "1", "Item ESP (powerups, health packs, etc)");
|
this->v_bItemESP = CreateConVar(CON_PREFIX "esp_item", "1", "Item ESP");
|
||||||
this->v_bTeammatePowerup = CreateConVar(CON_PREFIX "esp_powerup_team", "1", "Show powerups on teammates if u_esp_teammates is 0");
|
this->v_bTeammatePowerup = CreateConVar(CON_PREFIX "esp_powerup_team", "1", "Teammate powerups");
|
||||||
this->v_bShowEntityID = CreateConVar(CON_PREFIX "esp_entity_id", "0", "Shows EID");
|
this->v_bShowEntityID = CreateConVar(CON_PREFIX "esp_entity_id", "0", "Entity ID");
|
||||||
this->v_bShowDistance = CreateConVar(CON_PREFIX "esp_distance", "1", "Distance ESP");
|
this->v_bShowDistance = CreateConVar(CON_PREFIX "esp_distance", "1", "Distance ESP");
|
||||||
this->v_bBox = CreateConVar(CON_PREFIX "esp_box", "1", "Box");
|
this->v_bBox = CreateConVar(CON_PREFIX "esp_box", "1", "Box");
|
||||||
this->v_bShowFriendID = CreateConVar(CON_PREFIX "esp_friendid", "0", "Show friend ID");
|
this->v_bShowFriendID = CreateConVar(CON_PREFIX "esp_friendid", "0", "Show FriendID");
|
||||||
this->v_bShowFriends = CreateConVar(CON_PREFIX "esp_friends", "1", "Show friends");
|
this->v_bShowFriends = CreateConVar(CON_PREFIX "esp_friends", "1", "Show friends");
|
||||||
this->v_bVisCheck = CreateConVar(CON_PREFIX "esp_vischeck", "1", "Visibility Checking");
|
this->v_bVisCheck = CreateConVar(CON_PREFIX "esp_vischeck", "1", "VisCheck");
|
||||||
this->v_bLegit = CreateConVar(CON_PREFIX "esp_legit", "0", "'legit' esp mode");
|
this->v_bLegit = CreateConVar(CON_PREFIX "esp_legit", "0", "Legit Mode");
|
||||||
this->v_iLegitSeenTicks = CreateConVar(CON_PREFIX "esp_legit_seenticks", "150", "Ticks the entity is still shown after being hidden");
|
this->v_iLegitSeenTicks = CreateConVar(CON_PREFIX "esp_legit_seenticks", "150", "Legit delay");
|
||||||
v_bShowDroppedWeapons = CreateConVar(CON_PREFIX "esp_item_weapons", "0", "Show dropped weapons");
|
v_bShowDroppedWeapons = CreateConVar(CON_PREFIX "esp_item_weapons", "0", "Dropped weapons");
|
||||||
v_bShowAmmoPacks = CreateConVar(CON_PREFIX "esp_item_ammo", "0", "Show ammo packs");
|
v_bShowAmmoPacks = CreateConVar(CON_PREFIX "esp_item_ammo", "0", "Ammo packs");
|
||||||
v_bShowHealthPacks = CreateConVar(CON_PREFIX "esp_item_health", "1", "Show health packs");
|
v_bShowHealthPacks = CreateConVar(CON_PREFIX "esp_item_health", "1", "Health packs");
|
||||||
v_bShowPowerups = CreateConVar(CON_PREFIX "esp_item_powerups", "1", "Show powerups");
|
v_bShowPowerups = CreateConVar(CON_PREFIX "esp_item_powerups", "1", "Powerups");
|
||||||
this->v_bShowTank = CreateConVar(CON_PREFIX "esp_show_tank", "1", "Tank ESP");
|
this->v_bShowTank = CreateConVar(CON_PREFIX "esp_show_tank", "1", "Show tank");
|
||||||
v_bShowHealthNumbers = CreateConVar(CON_PREFIX "esp_health_num", "1", "Show health number");
|
v_bShowHealthNumbers = CreateConVar(CON_PREFIX "esp_health_num", "1", "Health in numbers");
|
||||||
v_bShowMoney = CreateConVar(CON_PREFIX "esp_money", "1", "MvM money");
|
v_bShowMoney = CreateConVar(CON_PREFIX "esp_money", "1", "MvM money");
|
||||||
v_bShowRedMoney = CreateConVar(CON_PREFIX "esp_money_red", "1", "Red MvM money");
|
v_bShowRedMoney = CreateConVar(CON_PREFIX "esp_money_red", "1", "Red MvM money");
|
||||||
}
|
}
|
||||||
|
@ -22,7 +22,6 @@ public:
|
|||||||
void ProcessEntity(CachedEntity* ent);
|
void ProcessEntity(CachedEntity* ent);
|
||||||
void ProcessEntityPT(CachedEntity* ent);
|
void ProcessEntityPT(CachedEntity* ent);
|
||||||
ConVar* v_bEnabled;
|
ConVar* v_bEnabled;
|
||||||
ConVar* v_bBoxESP;
|
|
||||||
ConVar* v_bEntityESP;
|
ConVar* v_bEntityESP;
|
||||||
ConVar* v_bTeammates;
|
ConVar* v_bTeammates;
|
||||||
ConVar* v_bItemESP;
|
ConVar* v_bItemESP;
|
||||||
|
@ -15,9 +15,9 @@ DEFINE_HACK_SINGLETON(SpyAlert);
|
|||||||
const char* SpyAlert::GetName() { return "SPY ALERT"; }
|
const char* SpyAlert::GetName() { return "SPY ALERT"; }
|
||||||
|
|
||||||
SpyAlert::SpyAlert() {
|
SpyAlert::SpyAlert() {
|
||||||
this->v_bEnabled = CreateConVar(CON_PREFIX "spyalert_enabled", "0", "Spy alert enabled");
|
this->v_bEnabled = CreateConVar(CON_PREFIX "spyalert_enabled", "0", "Enable");
|
||||||
this->v_flWarningDistance = CreateConVar(CON_PREFIX "spyalert_warning", "500.0", "Spy warning distance");
|
this->v_flWarningDistance = CreateConVar(CON_PREFIX "spyalert_warning", "500.0", "Warning distance");
|
||||||
this->v_flBackstabDistance = CreateConVar(CON_PREFIX "spyalert_backstab", "200.0", "Spy backstab warning distance");
|
this->v_flBackstabDistance = CreateConVar(CON_PREFIX "spyalert_backstab", "200.0", "Backstab distance");
|
||||||
}
|
}
|
||||||
|
|
||||||
bool SpyAlert::CreateMove(void*, float, CUserCmd* cmd) {
|
bool SpyAlert::CreateMove(void*, float, CUserCmd* cmd) {
|
||||||
|
@ -23,14 +23,14 @@ trace::FilterDefault* filter;
|
|||||||
Triggerbot::Triggerbot() {
|
Triggerbot::Triggerbot() {
|
||||||
filter = new trace::FilterDefault();
|
filter = new trace::FilterDefault();
|
||||||
enemy_trace = new trace_t();
|
enemy_trace = new trace_t();
|
||||||
this->v_bBodyshot = CreateConVar(CON_PREFIX "trigger_bodyshot", "1", "Enables bodyshotting when there is enough charge to oneshot enemy");
|
this->v_bBodyshot = CreateConVar(CON_PREFIX "trigger_bodyshot", "1", "Bodyshot");
|
||||||
this->v_bEnabled = CreateConVar(CON_PREFIX "trigger_enabled", "0", "Triggerbot enabled");
|
this->v_bEnabled = CreateConVar(CON_PREFIX "trigger_enabled", "0", "Enable");
|
||||||
this->v_bFinishingHit = CreateConVar(CON_PREFIX "trigger_finish", "1", "Allows noscope bodyshots when enemy is at <50 health");
|
this->v_bFinishingHit = CreateConVar(CON_PREFIX "trigger_finish", "1", "Noscope weak enemies");
|
||||||
this->v_bIgnoreCloak = CreateConVar(CON_PREFIX "trigger_cloak", "0", "Gets triggered at cloaked spies");
|
this->v_bIgnoreCloak = CreateConVar(CON_PREFIX "trigger_cloak", "0", "Ignore cloak");
|
||||||
this->v_bZoomedOnly = CreateConVar(CON_PREFIX "trigger_zoomed", "1", "Trigger is only active when you are zoomed (as sniper)");
|
this->v_bZoomedOnly = CreateConVar(CON_PREFIX "trigger_zoomed", "1", "Zoomed only");
|
||||||
this->v_iHitbox = CreateConVar(CON_PREFIX "trigger_hitbox", "-1", "Hitbox (-1: whole body)");
|
this->v_iHitbox = CreateConVar(CON_PREFIX "trigger_hitbox", "-1", "Hitbox");
|
||||||
this->v_iMinRange = CreateConVar(CON_PREFIX "trigger_range", "0", "Trigger is activated only at certain range");
|
this->v_iMinRange = CreateConVar(CON_PREFIX "trigger_range", "0", "Max range");
|
||||||
this->v_bBuildings = CreateConVar(CON_PREFIX "trigger_buildings", "1", "Trigger is activated at buildings");
|
this->v_bBuildings = CreateConVar(CON_PREFIX "trigger_buildings", "1", "Trigger @ Buildings");
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Triggerbot::CreateMove(void* thisptr, float sampl, CUserCmd* cmd) {
|
bool Triggerbot::CreateMove(void* thisptr, float sampl, CUserCmd* cmd) {
|
||||||
|
27
cathook/src/hacks/hacklist.h
Normal file
27
cathook/src/hacks/hacklist.h
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
/*
|
||||||
|
* hacklist.h
|
||||||
|
*
|
||||||
|
* Created on: Dec 18, 2016
|
||||||
|
* Author: nullifiedcat
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef HACKS_HACKLIST_H_
|
||||||
|
#define HACKS_HACKLIST_H_
|
||||||
|
|
||||||
|
#include "Aimbot.h"
|
||||||
|
#include "Airstuck.h"
|
||||||
|
#include "AntiAim.h"
|
||||||
|
#include "AntiDisguise.h"
|
||||||
|
#include "AutoHeal.h"
|
||||||
|
#include "AutoReflect.h"
|
||||||
|
#include "AutoSticky.h"
|
||||||
|
#include "AutoStrafe.h"
|
||||||
|
#include "Bunnyhop.h"
|
||||||
|
#include "ESP.h"
|
||||||
|
#include "FollowBot.h"
|
||||||
|
#include "HuntsmanCompensation.h"
|
||||||
|
#include "Misc.h"
|
||||||
|
#include "SpyAlert.h"
|
||||||
|
#include "Trigger.h"
|
||||||
|
|
||||||
|
#endif /* HACKS_HACKLIST_H_ */
|
@ -31,6 +31,7 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* URAN */
|
/* URAN */
|
||||||
|
#define Q_snprintf snprintf
|
||||||
#include "../logging.h"
|
#include "../logging.h"
|
||||||
#include "../interfaces.h"
|
#include "../interfaces.h"
|
||||||
|
|
||||||
@ -943,7 +944,7 @@ void ConVar::InternalSetIntValue( int nValue )
|
|||||||
if ( !( m_nFlags & FCVAR_NEVER_AS_STRING ) )
|
if ( !( m_nFlags & FCVAR_NEVER_AS_STRING ) )
|
||||||
{
|
{
|
||||||
char tempVal[ 32 ];
|
char tempVal[ 32 ];
|
||||||
Q_snprintf( tempVal, sizeof( tempVal ), "%d", m_nValue );
|
snprintf( tempVal, sizeof( tempVal ), "%d", m_nValue );
|
||||||
ChangeStringValue( tempVal, flOldValue );
|
ChangeStringValue( tempVal, flOldValue );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
Reference in New Issue
Block a user