diff --git a/data/menu/nullifiedcat/catbot.xml b/data/menu/nullifiedcat/catbot.xml index f170cb2b..6a1157e5 100755 --- a/data/menu/nullifiedcat/catbot.xml +++ b/data/menu/nullifiedcat/catbot.xml @@ -39,6 +39,7 @@ + diff --git a/src/hooks/CreateMove.cpp b/src/hooks/CreateMove.cpp index 35e636b4..a413a761 100644 --- a/src/hooks/CreateMove.cpp +++ b/src/hooks/CreateMove.cpp @@ -514,7 +514,13 @@ DEFINE_HOOKED_METHOD(CreateMove, bool, void *this_, float input_sample_time, cmd->viewangles.y); cmd->forwardmove = cos(yaw) * speed; cmd->sidemove = sin(yaw) * speed; - if (cmd->viewangles.x >= 90 && cmd->viewangles.x <= 270) + + float angles = fmod(cmd->viewangles.x + 180.0f, 360.0f); + if (angles < 0) + angles += 180.0f; + angles -= 180.0f; + angles *=-1; + if (angles >= 90 && angles <= 270) cmd->forwardmove = -cmd->forwardmove; } diff --git a/src/hooks/DispatchUserMessage.cpp b/src/hooks/DispatchUserMessage.cpp index d637751a..54b516a5 100644 --- a/src/hooks/DispatchUserMessage.cpp +++ b/src/hooks/DispatchUserMessage.cpp @@ -16,6 +16,7 @@ static settings::Bool dispatch_log{ "debug.log-dispatch-user-msg", "false" }; static settings::Bool chat_filter_enable{ "chat.censor.enable", "false" }; static settings::Bool identify{ "chat.identify", "false" }; static settings::Bool answerIdentify{ "chat.identify.answer", "false" }; +static settings::Bool anti_votekick{ "cat-bot.anti-autobalance", "false" }; static bool retrun = false; static Timer sendmsg{}; @@ -76,19 +77,15 @@ DEFINE_HOOKED_METHOD(DispatchUserMessage, bool, void *this_, int type, } int loop_index, s, i, j; char *data, c; - if (type == 5) + if (type == 5 && *anti_votekick) if (buf.GetNumBytesLeft() > 35) { std::string message_name; - for (int i = 0; i < buf.GetNumBytesLeft(); i++) - { - int byte = buf.ReadByte(); - message_name.push_back(byte); - } + while (buf.GetNumBytesLeft()) + message_name.push_back(buf.ReadByte()); logging::Info("%s", message_name.c_str()); - if (message_name.find("TeamChangePending") != message_name.npos) - logging::Info("test, %d %d", int(message_name[0]), - (CE_GOOD(LOCAL_E) ? LOCAL_E->m_IDX : -1)); + if (message_name.find("TeamChangeP") != message_name.npos && CE_GOOD(LOCAL_E)) + g_IEngine->ClientCmd_Unrestricted("cat_disconnect;wait 100;cat_mm_join"); buf.Seek(0); } if (type == 4) diff --git a/src/hooks/visual/PaintTraverse.cpp b/src/hooks/visual/PaintTraverse.cpp index 21aedb30..930081b2 100644 --- a/src/hooks/visual/PaintTraverse.cpp +++ b/src/hooks/visual/PaintTraverse.cpp @@ -24,7 +24,11 @@ CatCommand join_spam("join_spam", "Spam joins server for X seconds", joinspam.update(); spamdur = id; }); - +CatCommand join("mm_join", "Join mm Matcgh", [](){ + auto gc = re::CTFGCClientSystem::GTFGCClientSystem(); + if (gc) + gc->JoinMMMatch(); +}); void *pure_orig = nullptr; void **pure_addr = nullptr;