Исходник Better resolver for weave.su

Начинающий
Статус
Оффлайн
Регистрация
5 Июл 2020
Сообщения
5
Реакции[?]
0
Поинты[?]
0
Resolver better for Weave.su

Update 07.12.2020

by > bluenzz and marcos

Resolver.cpp here

Пожалуйста, авторизуйтесь для просмотра ссылки.
 
Последнее редактирование:
бос рунета
Участник
Статус
Оффлайн
Регистрация
24 Ноя 2017
Сообщения
526
Реакции[?]
151
Поинты[?]
0
CoderMys3lf
Забаненный
Статус
Оффлайн
Регистрация
7 Май 2020
Сообщения
139
Реакции[?]
35
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
фывфывфывфывфыфывфывфывфывфывфыв
Забаненный
Статус
Оффлайн
Регистрация
2 Июл 2020
Сообщения
557
Реакции[?]
140
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
/del Ничем не отличается от стандартного ресика вейви.
 
Забаненный
Статус
Оффлайн
Регистрация
18 Авг 2020
Сообщения
15
Реакции[?]
11
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
нахуя ты это высрал, ничего нового от деф вейва не вижу
 
Рыба
Пользователь
Статус
Оффлайн
Регистрация
18 Янв 2018
Сообщения
408
Реакции[?]
30
Поинты[?]
0
Лол, це що бурят бубла? ой . До связи
#include "Hooks.h"
#include "Resolver.h"
#include "RageBacktracking.h"
#include "Ragebot.h"
#include "AnimationFix.h"


std::string ResolverMode[65];
int last_ticks[65];
int IBasePlayer::GetChokedPackets() {
auto ticks = TIME_TO_TICKS(GetSimulationTime() - GetOldSimulationTime());
if (ticks == 0 && last_ticks[GetIndex()] > 0) {
return last_ticks[GetIndex()] - 1;
}
else {
last_ticks[GetIndex()] = ticks;
return ticks;
}
}

float CResolver::GetAngle(IBasePlayer* player) {
return Math::NormalizeYaw(player->GetEyeAngles().y);
}

float CResolver::GetForwardYaw(IBasePlayer* player) {
return Math::NormalizeYaw(GetBackwardYaw(player) - 180.f);
}

float CResolver::GetBackwardYaw(IBasePlayer* player) {
return Math::CalculateAngle(csgo->local->GetOrigin(), player->GetOrigin()).y;
}

float CResolver::GetLeftYaw(IBasePlayer* player) {
return Math::NormalizeYaw(Math::CalculateAngle(csgo->local->GetOrigin(), player->GetOrigin()).y - 90.f);
}

float CResolver::GetRightYaw(IBasePlayer* player) {
return Math::NormalizeYaw(Math::CalculateAngle(csgo->local->GetOrigin(), player->GetOrigin()).y + 90.f);
}
bool CResolver::TargetJitter(IBasePlayer* player, bool v2) {
float yaw = v2 ? GetRightYaw(player) : GetLeftYaw(player);
return fabsf(GetAngle(player) - Math::NormalizeYaw(yaw + 90.f))
>= fabsf(GetAngle(player) - Math::NormalizeYaw(yaw - 90.f));
}
bool CResolver::TargetSide(IBasePlayer* player) {
float yaw = Math::NormalizeYaw(GetBackwardYaw(player));
float angle = GetAngle(player);
return fabsf(angle - Math::NormalizeYaw(yaw + 90.f))
>= fabsf(angle - Math::NormalizeYaw(yaw - 90.f));
}

void CResolver::DetectSide(IBasePlayer* player, int *side)
{
Vector src3D, dst3D, forward, right, up, src, dst;
float back_two, right_two, left_two;
trace_t tr;
Ray_t ray, ray2, ray3, ray4, ray5;
CTraceFilter filter;

Math::AngleVectors(Vector(0, GetBackwardYaw(player), 0), &forward, &right, &up);

filter.pSkip = player;
src3D = player->GetEyePosition();
dst3D = src3D + (forward * 384); //Might want to experiment with other numbers, incase you don't know what the number does, its how far the trace will go. Lower = shorter.

ray.Init(src3D, dst3D);
interfaces.trace->TraceRay(ray, MASK_SHOT, &filter, &tr);
back_two = (tr.endpos - tr.startpos).Length();

ray2.Init(src3D + right * 35, dst3D + right * 35);
interfaces.trace->TraceRay(ray2, MASK_SHOT, &filter, &tr);
right_two = (tr.endpos - tr.startpos).Length();

ray3.Init(src3D - right * 35, dst3D - right * 35);
interfaces.trace->TraceRay(ray3, MASK_SHOT, &filter, &tr);
left_two = (tr.endpos - tr.startpos).Length();

if (left_two > right_two) {
*side = -1;
//Body should be right
}
else if (right_two > left_two) {
*side = 1;
}
else
*side = 0;
}

bool CResolver::DoesHaveJitter(IBasePlayer* player, int *new_side) {
static float LastAngle[64];
static int LastBrute[64];
static bool Switch[64];
static float LastUpdateTime[64];

int i = player->GetIndex();

float CurrentAngle = player->GetEyeAngles().y;
if (!Math::IsNearEqual(CurrentAngle, LastAngle, 50.f)) {
Switch = !Switch;
LastAngle = CurrentAngle;
*new_side = Switch ? 1 : -1;
LastBrute = *new_side;
LastUpdateTime = interfaces.global_vars->curtime;
return true;
}
else {
if (fabsf(LastUpdateTime - interfaces.global_vars->curtime >= TICKS_TO_TIME(17))
|| player->GetSimulationTime() != player->GetOldSimulationTime()) {
LastAngle = CurrentAngle;
}
*new_side = LastBrute;
}
return false;
}


void CResolver::StoreAntifreestand()
{
if (!csgo->local->isAlive())
return;

if (!csgo->weapon->IsGun())
return;


for (int i = 1; i < interfaces.engine->GetMaxClients(); ++i)
{
auto player = interfaces.ent_list->GetClientEntity(i);

if (!player || !player->isAlive() || player->IsDormant() || player->GetTeam() == csgo->local->GetTeam())
continue;

bool Autowalled = false, HitSide1 = false, HitSide2 = false;
auto idx = player->GetIndex();
float angToLocal = Math::CalculateAngle(csgo->local->GetOrigin(), player->GetOrigin()).y;
Vector ViewPoint = csgo->local->GetOrigin() + Vector(0, 0, 90);
Vector2D Side1 = { (45 * sin(DEG2RAD(angToLocal))),(45 * cos(DEG2RAD(angToLocal))) };
Vector2D Side2 = { (45 * sin(DEG2RAD(angToLocal + 180))) ,(45 * cos(DEG2RAD(angToLocal + 180))) };

Vector2D Side3 = { (50 * sin(DEG2RAD(angToLocal))),(50 * cos(DEG2RAD(angToLocal))) };
Vector2D Side4 = { (50 * sin(DEG2RAD(angToLocal + 180))) ,(50 * cos(DEG2RAD(angToLocal + 180))) };

Vector Origin = player->GetOrigin();

Vector2D OriginLeftRight[] = { Vector2D(Side1.x, Side1.y), Vector2D(Side2.x, Side2.y) };

Vector2D OriginLeftRightLocal[] = { Vector2D(Side3.x, Side3.y), Vector2D(Side4.x, Side4.y) };

for (int side = 0; side < 2; side++)
{
Vector OriginAutowall = { Origin.x + OriginLeftRight[side].x, Origin.y - OriginLeftRight[side].y , Origin.z + 90 };
Vector ViewPointAutowall = { ViewPoint.x + OriginLeftRightLocal[side].x, ViewPoint.y - OriginLeftRightLocal[side].y , ViewPoint.z };

if (g_AutoWall.CanHitFloatingPoint(OriginAutowall, ViewPoint))
{
if (side == 0)
{
HitSide1 = true;
FreestandSide[idx] = -1;
}
else if (side == 1)
{
HitSide2 = true;
FreestandSide[idx] = 1;
}

Autowalled = true;
}
else
{
for (int sidealternative = 0; sidealternative < 2; sidealternative++)
{
Vector ViewPointAutowallalternative = { Origin.x + OriginLeftRight[sidealternative].x, Origin.y - OriginLeftRight[sidealternative].y , Origin.z + 90 };

if (g_AutoWall.CanHitFloatingPoint(ViewPointAutowallalternative, ViewPointAutowall))
{
if (sidealternative == 0)
{
HitSide1 = true;
FreestandSide[idx] = -1;
//FreestandAngle[pPlayerEntity->EntIndex()] = 90;
}
else if (sidealternative == 1)
{
HitSide2 = true;
FreestandSide[idx] = 1;
//FreestandAngle[pPlayerEntity->EntIndex()] = -90;
}

Autowalled = true;
}
}
}
}
}
}


void CResolver::Do(IBasePlayer* player) {
auto animstate = player->GetPlayerAnimState();
if (!animstate)
return;
animstate->m_flGoalFeetYaw = GetAngle(player);
if (!vars.ragebot.resolver)
return;
if (!csgo->local->isAlive())
return;
if (player->GetChokedPackets() <= 0)
return;

int idx = player->GetIndex();

if (player->GetPlayerInfo().fakeplayer)
return;

if (!(player->GetFlags() & FL_ONGROUND))
return;

float angle = GetAngle(player);
int new_side = 0;
/*if (DoesHaveJitter(player, &new_side) && player->GetEyeAngles().x < 45) {
switch (csgo->missedshots[idx] % 2) {
case 0:
ResolverMode[idx] = "AB"();
animstate->m_flGoalFeetYaw = Math::NormalizeYaw(angle + 90.f * new_side);
break;
case 1:
ResolverMode[idx] = "AC"();
animstate->m_flGoalFeetYaw = Math::NormalizeYaw(angle - 90.f * new_side);
break;
}
}
else*/
{
bool forward = fabsf(Math::NormalizeYaw(GetAngle(player) - GetForwardYaw(player))) < 90.f;
if (csgo->missedshots[idx] == 0) {
/*ResolverMode[idx] = "C";

if (forward) {
FreestandSide[idx] *= -1;
ResolverMode[idx] += "B";
}
else
ResolverMode[idx] += "A";
animstate->m_flGoalFeetYaw = Math::NormalizeYaw(angle - 90.f * FreestandSide[idx]);
}
else {*/
if (forward) {
switch (csgo->missedshots[idx] % 2) {
case 1:
ResolverMode[idx] = "DA";
if (FreestandSide[idx] == 1)
animstate->m_flGoalFeetYaw = Math::NormalizeYaw(angle - 90.f);
else
animstate->m_flGoalFeetYaw = Math::NormalizeYaw(angle + 90.f);
break;
case 0:
ResolverMode[idx] = "DB";
if (FreestandSide[idx] == 1)
animstate->m_flGoalFeetYaw = Math::NormalizeYaw(angle + 90.f);
else
animstate->m_flGoalFeetYaw = Math::NormalizeYaw(angle - 90.f);
break;
}
}
else {
switch (csgo->missedshots[idx] % 2) {
case 1:
ResolverMode[idx] = "DA";
if (FreestandSide[idx] == 1)
animstate->m_flGoalFeetYaw = Math::NormalizeYaw(angle + 90.f);
else
animstate->m_flGoalFeetYaw = Math::NormalizeYaw(angle - 90.f);
break;
case 0:
ResolverMode[idx] = "DB";
if (FreestandSide[idx] == 1)
animstate->m_flGoalFeetYaw = Math::NormalizeYaw(angle - 90.f);
else
animstate->m_flGoalFeetYaw = Math::NormalizeYaw(angle + 90.f);
break;
}
}
}
}

animstate->m_flGoalFeetYaw = Math::NormalizeYaw(animstate->m_flGoalFeetYaw);
}

 
Начинающий
Статус
Оффлайн
Регистрация
7 Июл 2020
Сообщения
62
Реакции[?]
4
Поинты[?]
0
[QUOTE = "bluenzz, post: 1575103, membru: 383193"]
Rezolvați mai bine pentru Weave.su

Actualizare 07.12.

de> bluenzz și marcos

Resolver.cpp aici

[URL unfurl = "true"]
Пожалуйста, авторизуйтесь для просмотра ссылки.
[/ URL]
[/ CITARE]
Noice
 
Сверху Снизу