Гайд WalkBot [INDIGO]

nixware.cc
Эксперт
Статус
Оффлайн
Регистрация
1 Июл 2017
Сообщения
1,631
Реакции[?]
1,534
Поинты[?]
31K
Walkbot.cpp
Код:
#include "WalkBot.h"

static unsigned int rally;
static bool reachedEnd;
static bool hasAutobought;
static bool hasDied;
bool slowLastTick = false;

const std::vector<Vector> tRallyPoints = { Vector(-503.56f, -739.92f, 114.16f),
Vector(-1913.50f,-735.72f, 121.20f),Vector(-1676.94f, 726.70f, 31.00f),
Vector(-1655.66f,1053.87f,31.57f), Vector(-1989.64f,1330.22f,28.93f),Vector(-1926.35f,2197.58f,-3.22f), Vector(-1685.82,2231.82,-2.47),
Vector(-1331.98f,2231.99f,2.05f), Vector(-1286.65f,2164.06f,4.25f),Vector(-606.69f,2370.25f,-105.67f),
Vector(-429.61f, 2196.21f, -123.86),Vector(279.11f,2175.06f,-128.18f),Vector(1380.f, 2131.6f, -5.48f),
Vector(1398.04f, 928.93f, -8.78f), Vector(841.17f, 950.18f, 0.14f),Vector(581.58f, 674.48f, 1.50f) ,
Vector(690.59f, 345.20f, 1.54f), Vector(446.82f, 70.25f, -3.26f), Vector(-5.52f, -829.16f, -3.58f)
};

const std::vector<Vector> ctRallyPoints = { Vector(279.11f,2175.06f,-128.18f),
Vector(1380.f, 2131.6f, -5.48f), Vector(1398.04f, 928.93f, -8.78f), Vector(841.17f, 950.18f, 0.14f),
Vector(581.58f, 674.48f, 1.50f) , Vector(690.59f, 345.20f, 1.54f), Vector(446.82f, 70.25f, -3.26f),
Vector(-5.52f, -829.16f, -3.58f), Vector(-503.56f, -739.92f, 114.16f), Vector(-1913.50f,-735.72f, 121.20f),
Vector(-1676.94f, 726.70f, 31.00f), Vector(-1655.66f,1053.87f,31.57f), Vector(-1989.64f,1330.22f,28.93f),
Vector(-1926.35f,2197.58f,-3.22f), Vector(-1331.98f,2231.99f,2.05f), Vector(-1286.65f,2164.06f,4.25f),
Vector(-606.69f,2370.25f,-105.67f),Vector(-429.61f, 2196.21f, -123.86) };

void inline Reset()
{
    if (reachedEnd || forceReset || hasDied) {
        rally = 0;
        reachedEnd = false;
        forceReset = false;
        hasDied = false;
    }
}

bool DoRally(const std::vector<Vector> points, CUserCmd *cmd) // return true if rally is completed.
{
    CBaseEntity* localPlayer = (CBaseEntity*)Interfaces::EntityList()->GetClientEntity(Interfaces::Engine()->GetLocalPlayer());
    if (reachedEnd)
        return true;
    if ((std::abs(localPlayer->GetEyePosition().x - points[rally].x) < 0.6f) &&
        (std::abs(localPlayer->GetEyePosition().y - points[rally].y) < 0.6f)) {
        if (rally == points.size() - 1)
        {
            if (!reachedEnd)
            {
                reachedEnd = true;
            }
            return true; // Finished Walking
        }
        rally++;
    }

    Vector move = CalcAngle2(localPlayer->GetEyePosition(), points[rally]);
    cmd->forwardmove = 250.0f;
    cmd->sidemove = 0;
    cmd->buttons |= IN_WALK;
    CorrectMovement(move, cmd, cmd->forwardmove, cmd->sidemove);
    return false;
}

void Walkbot::CreateMove(CUserCmd *cmd)
{
    CBaseEntity* localPlayer = (CBaseEntity*)Interfaces::EntityList()->GetClientEntity(Interfaces::Engine()->GetLocalPlayer());

    if (!localPlayer || !Interfaces::Engine()->IsInGame() || forceReset) {
        Reset();
        return;
    }
    if (!enabled) {
        return;
    }

    if (localPlayer->m_bGunGameImmunity())
    {
        Reset();
        if (autobuy && !hasAutobought && (localPlayer->GetMoney() >= autobuyAt))
        {
            Interfaces::Engine()->ExecuteClientCmd("autobuy");
            hasAutobought = true;
        }
    }
    if (false)//
    {
        slowLastTick = true;
        return;
    }
    else if (slowLastTick) {
        slowLastTick = false;
        return;
    }

    int ourTeam = localPlayer->GetTeamNum();
    if (!localPlayer->IsAlive())
    {
        if (ourTeam == 0)
        {
            Interfaces::Engine()->ExecuteClientCmd("teammenu"); // this will trigger the auto select timer
            return;
        }
        else
        {
            hasDied = true;
            hasAutobought = false;
            return;
        }
    }

    if (ourTeam == 2)
    {
        DoRally(tRallyPoints, cmd);
    }
    else if (ourTeam == 3)
    {
        DoRally(ctRallyPoints, cmd);
    }
}
Walkbot.h
Код:
#pragma once

#include "Engine/Engine.h"
#include <vector>
namespace Walkbot
{
    enum class TeamID : int
    {
        TEAM_UNASSIGNED,
        TEAM_SPECTATOR,
        TEAM_TERRORIST,
        TEAM_COUNTER_TERRORIST,
    };

    //Hooks
    void CreateMove(CUserCmd* cmd);
}
createmove
Код:
            Walkbot::CreateMove(cmd);
В меню:
Код:
            ImGui::Text("Dust 2 Walkbot");

            ImGui::Checkbox("Enable", &enabled);

            ImGui::SameLine();
            if (ImGui::Button("Reset")) {
                forceReset = true;
            }

            ImGui::Separator();

            ImGui::Checkbox("Autobuy", &autobuy);

            ImGui::SameLine();
            ImGui::SliderInt("", &autobuyAt, 0, 16000, "Autobuy At $%0.f");
 
Забаненный
Статус
Оффлайн
Регистрация
9 Янв 2018
Сообщения
116
Реакции[?]
13
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
А куда креаимув вставлять?И для ранних версий индиго пойдет?
 
HVHLEGEND
Забаненный
Статус
Оффлайн
Регистрация
13 Май 2018
Сообщения
745
Реакции[?]
121
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
что делает walbot?
 
Премиум
Статус
Оффлайн
Регистрация
25 Авг 2017
Сообщения
557
Реакции[?]
220
Поинты[?]
0
HVHLEGEND
Забаненный
Статус
Оффлайн
Регистрация
13 Май 2018
Сообщения
745
Реакции[?]
121
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Премиум
Статус
Оффлайн
Регистрация
25 Авг 2017
Сообщения
557
Реакции[?]
220
Поинты[?]
0
ааа типа как в каляске ? за тебя сам ходит\убивает?
Понятия не имею, что там в коляске ходит и убивает. Этот только ходить умеет(да и еще только на дасте 2, да и еще, возможно, на новом спотыкаться будет)...

По поводу самого кода - ну это треш. Лучше уж самостоятельно путь задавать, нежели поинты предварительно ставить(это ИМХО, палками не бейте).
 
nixware.cc
Эксперт
Статус
Оффлайн
Регистрация
1 Июл 2017
Сообщения
1,631
Реакции[?]
1,534
Поинты[?]
31K
Понятия не имею, что там в коляске ходит и убивает. Этот только ходить умеет(да и еще только на дасте 2, да и еще, возможно, на новом спотыкаться будет)...

По поводу самого кода - ну это треш. Лучше уж самостоятельно путь задавать, нежели поинты предварительно ставить(это ИМХО, палками не бейте).
Ходит нормально на старом дасте, так и на новом)
 
Премиум
Статус
Оффлайн
Регистрация
25 Авг 2017
Сообщения
557
Реакции[?]
220
Поинты[?]
0
Пользователь
Статус
Оффлайн
Регистрация
24 Апр 2017
Сообщения
150
Реакции[?]
121
Поинты[?]
0
Вряд ли кто-то когда-то сделает что-то лучше, чем было в р3. Рип р3 кстати, выдали кусок говна мне вместо него))00
 
Забаненный
Статус
Оффлайн
Регистрация
9 Янв 2018
Сообщения
116
Реакции[?]
13
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Похожие темы
Сверху Снизу