commit
53504e4dd2
@ -34,7 +34,7 @@ static CatVar ammobox(CV_SWITCH, "glow_ammo", "0", "Ammoboxes", "Render glow on
|
|||||||
static CatVar buildings(CV_SWITCH, "glow_buildings", "0", "Buildings", "Render glow on buildings");
|
static CatVar buildings(CV_SWITCH, "glow_buildings", "0", "Buildings", "Render glow on buildings");
|
||||||
static CatVar stickies(CV_SWITCH, "glow_stickies", "0", "Stickies", "Render glow on stickybombs");
|
static CatVar stickies(CV_SWITCH, "glow_stickies", "0", "Stickies", "Render glow on stickybombs");
|
||||||
static CatVar teammate_buildings(CV_SWITCH, "glow_teammate_buildings", "0", "Teammate Buildings", "Render glow on teammates buildings");
|
static CatVar teammate_buildings(CV_SWITCH, "glow_teammate_buildings", "0", "Teammate Buildings", "Render glow on teammates buildings");
|
||||||
|
//static CatVar weapons_white(CV_SWITCH, "glow_weapons_white", "1", "White Weapon Glow", "Weapons will glow white");
|
||||||
|
|
||||||
struct ShaderStencilState_t
|
struct ShaderStencilState_t
|
||||||
{
|
{
|
||||||
|
@ -11,7 +11,7 @@
|
|||||||
#include <pwd.h>
|
#include <pwd.h>
|
||||||
|
|
||||||
namespace hacks { namespace shared { namespace spam {
|
namespace hacks { namespace shared { namespace spam {
|
||||||
static CatEnum spam_enum({"DISABLED", "DEFAULT", "LENNYFACES", "BLANKS", "FROM FILE"});
|
static CatEnum spam_enum({"DISABLED", "CUSTOM", "DEFAULT", "LENNYFACES", "BLANKS", "NULLCORE", "LMAOBOX", "LITHIUM"});
|
||||||
CatVar spam_source(spam_enum, "spam", "0", "Chat Spam", "Defines source of spam lines. CUSTOM spam file must be set in cat_spam_file and loaded with cat_spam_reload (Use console!)");
|
CatVar spam_source(spam_enum, "spam", "0", "Chat Spam", "Defines source of spam lines. CUSTOM spam file must be set in cat_spam_file and loaded with cat_spam_reload (Use console!)");
|
||||||
CatVar random_order(CV_SWITCH, "spam_random", "0", "Random Order");
|
CatVar random_order(CV_SWITCH, "spam_random", "0", "Random Order");
|
||||||
CatVar filename(CV_STRING, "spam_file", "spam.txt", "Spam file (~/.cathook/...)", "Spam file name. Each line should be no longer than 100 characters, file must be located in ~/.cathook folder");
|
CatVar filename(CV_STRING, "spam_file", "spam.txt", "Spam file (~/.cathook/...)", "Spam file name. Each line should be no longer than 100 characters, file must be located in ~/.cathook folder");
|
||||||
@ -27,13 +27,19 @@ void CreateMove() {
|
|||||||
const std::vector<std::string>* source = nullptr;
|
const std::vector<std::string>* source = nullptr;
|
||||||
switch ((int)spam_source) {
|
switch ((int)spam_source) {
|
||||||
case 1:
|
case 1:
|
||||||
source = &builtin_default; break;
|
|
||||||
case 2:
|
|
||||||
source = &builtin_lennyfaces; break;
|
|
||||||
case 3:
|
|
||||||
source = &builtin_blanks; break;
|
|
||||||
case 4:
|
|
||||||
source = &file.lines; break;
|
source = &file.lines; break;
|
||||||
|
case 2:
|
||||||
|
source = &builtin_default; break;
|
||||||
|
case 3:
|
||||||
|
source = &builtin_lennyfaces; break;
|
||||||
|
case 4:
|
||||||
|
source = &builtin_blanks; break;
|
||||||
|
case 5:
|
||||||
|
source = &builtin_nonecore; break;
|
||||||
|
case 6:
|
||||||
|
source = &builtin_lmaobox; break;
|
||||||
|
case 7:
|
||||||
|
source = &builtin_lithium; break;
|
||||||
default:
|
default:
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -72,4 +78,29 @@ const std::vector<std::string> builtin_blanks = {
|
|||||||
". \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n "
|
". \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n "
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const std::vector<std::string> builtin_nonecore = {
|
||||||
|
"NULL CORE - REDUCE YOUR RISK OF BEING OWNED!",
|
||||||
|
"NULL CORE - WAY TO THE TOP!",
|
||||||
|
"NULL CORE - BEST TF2 CHEAT!",
|
||||||
|
"NULL CORE - NOW WITH BLACKJACK AND HOOKERS!",
|
||||||
|
"NULL CORE - BUTTHURT IN 10 SECONDS FLAT!",
|
||||||
|
"NULL CORE - WHOLE SERVER OBSERVING!",
|
||||||
|
"NULL CORE - GET BACK TO PWNING!",
|
||||||
|
"NULL CORE - WHEN PVP IS TOO HARDCORE!",
|
||||||
|
"NULL CORE - CAN CAUSE KIDS TO RAGE!",
|
||||||
|
"NULL CORE - F2P NOOBS WILL BE 100% NERFED!"
|
||||||
|
};
|
||||||
|
const std::vector<std::string> builtin_lmaobox = {
|
||||||
|
"GET GOOD, GET LMAOBOX!",
|
||||||
|
"LMAOBOX - WAY TO THE TOP",
|
||||||
|
"WWW.LMAOBOX.NET - BEST FREE TF2 HACK!"
|
||||||
|
};
|
||||||
|
const std::vector<std::string> builtin_lithium = {
|
||||||
|
"CHECK OUT www.YouTube.com/c/DurRud FOR MORE INFORMATION!",
|
||||||
|
"PWNING AIMBOTS WITH OP ANTI-AIMS SINCE 2015 - LITHIUMCHEAT",
|
||||||
|
"STOP GETTING MAD AND STABILIZE YOUR MOOD WITH LITHIUMCHEAT!",
|
||||||
|
"SAVE YOUR MONEY AND GET LITHIUMCHEAT! IT IS FREE!",
|
||||||
|
"GOT ROLLED BY LITHIUM? HEY, THAT MEANS IT'S TIME TO GET LITHIUMCHEAT!!"
|
||||||
|
};
|
||||||
|
|
||||||
}}}
|
}}}
|
||||||
|
@ -19,6 +19,9 @@ namespace hacks { namespace shared { namespace spam {
|
|||||||
extern const std::vector<std::string> builtin_default;
|
extern const std::vector<std::string> builtin_default;
|
||||||
extern const std::vector<std::string> builtin_lennyfaces;
|
extern const std::vector<std::string> builtin_lennyfaces;
|
||||||
extern const std::vector<std::string> builtin_blanks;
|
extern const std::vector<std::string> builtin_blanks;
|
||||||
|
extern const std::vector<std::string> builtin_nonecore;
|
||||||
|
extern const std::vector<std::string> builtin_lmaobox;
|
||||||
|
extern const std::vector<std::string> builtin_lithium;
|
||||||
|
|
||||||
extern CatVar enabled;
|
extern CatVar enabled;
|
||||||
extern CatVar filename;
|
extern CatVar filename;
|
||||||
|
@ -184,6 +184,10 @@ void FrameStageNotify_hook(void* thisptr, int stage) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (stage == FRAME_NET_UPDATE_START) {
|
if (stage == FRAME_NET_UPDATE_START) {
|
||||||
|
static int next_name_change = 0;
|
||||||
|
if (next_name_change == 0) {
|
||||||
|
need_name_change = true;
|
||||||
|
} else next_name_change--;
|
||||||
if (force_name.convar->m_StringLength > 2 && need_name_change) {
|
if (force_name.convar->m_StringLength > 2 && need_name_change) {
|
||||||
INetChannel* ch = (INetChannel*)g_IEngine->GetNetChannelInfo();
|
INetChannel* ch = (INetChannel*)g_IEngine->GetNetChannelInfo();
|
||||||
if (ch) {
|
if (ch) {
|
||||||
@ -194,10 +198,12 @@ void FrameStageNotify_hook(void* thisptr, int stage) {
|
|||||||
ch->SendNetMsg(setname, false);
|
ch->SendNetMsg(setname, false);
|
||||||
need_name_change = false;
|
need_name_change = false;
|
||||||
}
|
}
|
||||||
|
next_name_change = 60 * 100;
|
||||||
}
|
}
|
||||||
static ConVar* name_cv = g_ICvar->FindVar("name");
|
static ConVar* name_cv = g_ICvar->FindVar("name");
|
||||||
name_cv->SetValue(force_name.GetString());
|
//name_cv->SetValue(force_name.GetString());
|
||||||
name_cv->m_pszString = (char*)strfmt("%s", force_name.GetString());
|
name_cv->m_pszString = (char*)strfmt("%s", force_name.GetString());
|
||||||
|
name_cv->m_StringLength = strlen(force_name.GetString()) + 1;
|
||||||
}
|
}
|
||||||
if (TF && cathook && !g_Settings.bInvalid && stage == FRAME_RENDER_START) {
|
if (TF && cathook && !g_Settings.bInvalid && stage == FRAME_RENDER_START) {
|
||||||
if (glow_enabled) {
|
if (glow_enabled) {
|
||||||
@ -334,8 +340,8 @@ void LevelInit_hook(void* thisptr, const char* newmap) {
|
|||||||
//name_cv->m_pszString = strfmt("%s", force_name.GetString());
|
//name_cv->m_pszString = strfmt("%s", force_name.GetString());
|
||||||
}
|
}
|
||||||
static ConVar* name_cv = g_ICvar->FindVar("name");
|
static ConVar* name_cv = g_ICvar->FindVar("name");
|
||||||
name_cv->SetValue(force_name.GetString());
|
|
||||||
name_cv->m_pszString = (char*)strfmt("%s", force_name.GetString());
|
name_cv->m_pszString = (char*)strfmt("%s", force_name.GetString());
|
||||||
|
name_cv->m_StringLength = strlen(force_name.GetString()) + 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -361,8 +367,8 @@ void LevelShutdown_hook(void* thisptr) {
|
|||||||
//name_cv->m_pszString = strfmt("%s", force_name.GetString());
|
//name_cv->m_pszString = strfmt("%s", force_name.GetString());
|
||||||
}
|
}
|
||||||
static ConVar* name_cv = g_ICvar->FindVar("name");
|
static ConVar* name_cv = g_ICvar->FindVar("name");
|
||||||
name_cv->SetValue(force_name.GetString());
|
|
||||||
name_cv->m_pszString = (char*)strfmt("%s", force_name.GetString());
|
name_cv->m_pszString = (char*)strfmt("%s", force_name.GetString());
|
||||||
|
name_cv->m_StringLength = strlen(force_name.GetString()) + 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -10,7 +10,9 @@
|
|||||||
static bool hoovy_list[32] = { 0 };
|
static bool hoovy_list[32] = { 0 };
|
||||||
|
|
||||||
bool HasSandvichOut(CachedEntity* entity) {
|
bool HasSandvichOut(CachedEntity* entity) {
|
||||||
CachedEntity* weapon = ENTITY(CE_INT(entity, netvar.hActiveWeapon) & 0xFFF);
|
int weapon_idx = CE_INT(entity, netvar.hActiveWeapon) & 0xFFF;
|
||||||
|
if (!(weapon_idx > 0 && weapon_idx < HIGHEST_ENTITY)) return false;
|
||||||
|
CachedEntity* weapon = ENTITY(weapon_idx);
|
||||||
if (CE_GOOD(weapon)) {
|
if (CE_GOOD(weapon)) {
|
||||||
if (weapon->m_iClassID == g_pClassID->CTFLunchBox && CE_INT(entity, netvar.iClass) == tf_heavy) {
|
if (weapon->m_iClassID == g_pClassID->CTFLunchBox && CE_INT(entity, netvar.iClass) == tf_heavy) {
|
||||||
return true;
|
return true;
|
||||||
|
Reference in New Issue
Block a user