Подведи собственные итоги года совместно с YOUGAME и забери ценные призы! Перейти

Горит уже.. ВОЛКБОТ

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
8 Янв 2019
Сообщения
75
Реакции
1
бля. ребят, мб может кто-то за пару сотен перенести с хуо на тгф волкбот? Я УЖЕ ЭТО СДЕЛАЛ НО ОН ПРОСТО НЕ РАБОТАЕТ

C++:
Expand Collapse Copy
void CMiscellaneous::Autowalkbot()
{
    if (!Vars.Misc.Autowalkbot || !G::LocalPlayer->GetAlive())
        return;

    float BestDistance = 0.f;
    float BestAngle = -9999999.f;

    G::UserCmd->forwardmove = 450.f;

    
    
    C_TraceFilter filter1(G::LocalPlayer);
    Vector Origin = G::LocalPlayer->GetOrigin() + Vector(0, 0, 10);

    Vector EyeAngle;
    I::Engine->GetViewAngles1(EyeAngle);


    C_Trace TraceFront;
    I::EngineTrace->TraceRay1(C_Ray(Origin, M::ProjectPoint(Origin, M::NormalizeYaw((EyeAngle.y + 90)), 40)), mask_solid, &filter1, &TraceFront);

    static bool jumpedb4 = false;

    if (!(G::LocalPlayer->GetFlags() & FL_ONGROUND))
        G::UserCmd->buttons |= IN_DUCK;
    else
        jumpedb4 = false;

    if (TraceFront.flFraction != 1.0f && (G::LocalPlayer->GetFlags() & FL_ONGROUND) && !jumpedb4)
    {
        G::UserCmd->buttons |= IN_JUMP;
        jumpedb4 = true;
    }

    static bool RandomDirect = true;
    RandomDirect = false;
    srand(time(NULL));
    int RandomStart = rand() % 36;
    int i = RandomStart;
    bool DoubleStart = false;
    bool Loop = true;
    while (Loop)
    {
        i += RandomDirect ? 1 : -1;

        if (RandomDirect && i > 36)
        {
            i = 0;
            DoubleStart = true;
        }
        else if (!RandomDirect && i < 0)
        {
            i = 36;
            DoubleStart = true;
        }

        if (RandomDirect && i >= RandomStart && DoubleStart)
        {
            Loop = false;
            break;
        }
        else if (!RandomDirect && i <= RandomStart && DoubleStart)
        {
            Loop = false;
            break;
        }

        C_Trace TraceInit;
        I::EngineTrace->TraceRay1(C_Ray(Origin, M::ProjectPoint(Origin, M::NormalizeYaw(i * 10), 300) + Vector(0, 0, 90)), mask_solid, &filter1, &TraceInit);

        if (TraceInit.flFraction > BestDistance)
        {
            BestAngle = M::NormalizeYaw(i * 10);
            BestDistance = TraceInit.flFraction;
        }
    }

    BestAngle = M::NormalizeYaw(BestAngle - 90);

    float Delta = M::NormalizeYaw(BestAngle - EyeAngle.y);

    if (Delta >= 0)
    {
        EyeAngle.y = M::NormalizeYaw(EyeAngle.y + ((abs(Delta) <= 5) ? abs(Delta) : 5));
    }
    else
    {
        EyeAngle.y = M::NormalizeYaw(EyeAngle.y - ((abs(Delta) <= 5) ? abs(Delta) : 5));
    }

    C_Trace TraceLeft;
    I::EngineTrace->TraceRay1(C_Ray(Origin, M::ProjectPoint(Origin, M::NormalizeYaw((EyeAngle.y - 90) - 45), 300)), mask_solid, &filter1, &TraceLeft);
    C_Trace TraceRight;
    I::EngineTrace->TraceRay1(C_Ray(Origin, M::ProjectPoint(Origin, M::NormalizeYaw((EyeAngle.y - 90) + 45), 300)), mask_solid, &filter1, &TraceRight);

    if (TraceLeft.flFraction > TraceRight.flFraction)
    {
        G::UserCmd->sidemove = -100.f;
    }
    else
    {
        G::UserCmd->sidemove = 100.f;
    }

    EyeAngle.x = 0.f;

    I::Engine->SetViewAngles1(EyeAngle);
}
 
Назад
Сверху Снизу