utils.cppworld_to_screen с вейва, mutex ситуацию не исправил, с чем может быть связано? шейкает все, что связано с игроком.
bool get_bbox(entity_t* e, Box& box, bool player_esp)
{
auto collideable = e->GetCollideable();
auto m_rgflCoordinateFrame = e->m_rgflCoordinateFrame();
auto min = collideable->OBBMins();
auto max = collideable->OBBMaxs();
Vector points[8] =
{
Vector(min.x, min.y, min.z),
Vector(min.x, max.y, min.z),
Vector(max.x, max.y, min.z),
Vector(max.x, min.y, min.z),
Vector(max.x, max.y, max.z),
Vector(min.x, max.y, max.z),
Vector(min.x, min.y, max.z),
Vector(max.x, min.y, max.z)
};
Vector pointsTransformed[8];
for (auto i = 0; i < 8; i++)
math::vector_transform(points[i], m_rgflCoordinateFrame, pointsTransformed[i]);
Vector pos = e->GetAbsOrigin();
Vector flb;
Vector brt;
Vector blb;
Vector frt;
Vector frb;
Vector brb;
Vector blt;
Vector flt;
auto bFlb = math::WorldToScreen(pointsTransformed[3], flb);
auto bBrt = math::WorldToScreen(pointsTransformed[5], brt);
auto bBlb = math::WorldToScreen(pointsTransformed[0], blb);
auto bFrt = math::WorldToScreen(pointsTransformed[4], frt);
auto bFrb = math::WorldToScreen(pointsTransformed[2], frb);
auto bBrb = math::WorldToScreen(pointsTransformed[1], brb);
auto bBlt = math::WorldToScreen(pointsTransformed[6], blt);
auto bFlt = math::WorldToScreen(pointsTransformed[7], flt);
if (!bFlb && !bBrt && !bBlb && !bFrt && !bFrb && !bBrb && !bBlt && !bFlt)
return false;
Vector arr[8] =
{
flb,
brt,
blb,
frt,
frb,
brb,
blt,
flt
};
auto left = flb.x;
auto top = flb.y;
auto right = flb.x;
auto bottom = flb.y;
for (auto i = 1; i < 8; i++)
{
if (left > arr[i].x)
left = arr[i].x;
if (top < arr[i].y)
top = arr[i].y;
if (right < arr[i].x)
right = arr[i].x;
if (bottom > arr[i].y)
bottom = arr[i].y;
}
box.x = left;
box.y = bottom;
box.w = right - left;
box.h = top - bottom;
box.t = top;
box.j = right;
return true; // fix by delorean
}
пиздатый фикс дружище ?utils.cpp
C++:bool get_bbox(entity_t* e, Box& box, bool player_esp) { auto collideable = e->GetCollideable(); auto m_rgflCoordinateFrame = e->m_rgflCoordinateFrame(); auto min = collideable->OBBMins(); auto max = collideable->OBBMaxs(); Vector points[8] = { Vector(min.x, min.y, min.z), Vector(min.x, max.y, min.z), Vector(max.x, max.y, min.z), Vector(max.x, min.y, min.z), Vector(max.x, max.y, max.z), Vector(min.x, max.y, max.z), Vector(min.x, min.y, max.z), Vector(max.x, min.y, max.z) }; Vector pointsTransformed[8]; for (auto i = 0; i < 8; i++) math::vector_transform(points[i], m_rgflCoordinateFrame, pointsTransformed[i]); Vector pos = e->GetAbsOrigin(); Vector flb; Vector brt; Vector blb; Vector frt; Vector frb; Vector brb; Vector blt; Vector flt; auto bFlb = math::WorldToScreen(pointsTransformed[3], flb); auto bBrt = math::WorldToScreen(pointsTransformed[5], brt); auto bBlb = math::WorldToScreen(pointsTransformed[0], blb); auto bFrt = math::WorldToScreen(pointsTransformed[4], frt); auto bFrb = math::WorldToScreen(pointsTransformed[2], frb); auto bBrb = math::WorldToScreen(pointsTransformed[1], brb); auto bBlt = math::WorldToScreen(pointsTransformed[6], blt); auto bFlt = math::WorldToScreen(pointsTransformed[7], flt); if (!bFlb && !bBrt && !bBlb && !bFrt && !bFrb && !bBrb && !bBlt && !bFlt) return false; Vector arr[8] = { flb, brt, blb, frt, frb, brb, blt, flt }; auto left = flb.x; auto top = flb.y; auto right = flb.x; auto bottom = flb.y; for (auto i = 1; i < 8; i++) { if (left > arr[i].x) left = arr[i].x; if (top < arr[i].y) top = arr[i].y; if (right < arr[i].x) right = arr[i].x; if (bottom > arr[i].y) bottom = arr[i].y; } box.x = left; box.y = bottom; box.w = right - left; box.h = top - bottom; box.t = top; box.j = right; return true; // fix by delorean }
А чем он плохой дружок?пиздатый фикс дружище ?
что ты нахуй высрал? проблема не в этом блятьutils.cpp
C++:bool get_bbox(entity_t* e, Box& box, bool player_esp) { auto collideable = e->GetCollideable(); auto m_rgflCoordinateFrame = e->m_rgflCoordinateFrame(); auto min = collideable->OBBMins(); auto max = collideable->OBBMaxs(); Vector points[8] = { Vector(min.x, min.y, min.z), Vector(min.x, max.y, min.z), Vector(max.x, max.y, min.z), Vector(max.x, min.y, min.z), Vector(max.x, max.y, max.z), Vector(min.x, max.y, max.z), Vector(min.x, min.y, max.z), Vector(max.x, min.y, max.z) }; Vector pointsTransformed[8]; for (auto i = 0; i < 8; i++) math::vector_transform(points[i], m_rgflCoordinateFrame, pointsTransformed[i]); Vector pos = e->GetAbsOrigin(); Vector flb; Vector brt; Vector blb; Vector frt; Vector frb; Vector brb; Vector blt; Vector flt; auto bFlb = math::WorldToScreen(pointsTransformed[3], flb); auto bBrt = math::WorldToScreen(pointsTransformed[5], brt); auto bBlb = math::WorldToScreen(pointsTransformed[0], blb); auto bFrt = math::WorldToScreen(pointsTransformed[4], frt); auto bFrb = math::WorldToScreen(pointsTransformed[2], frb); auto bBrb = math::WorldToScreen(pointsTransformed[1], brb); auto bBlt = math::WorldToScreen(pointsTransformed[6], blt); auto bFlt = math::WorldToScreen(pointsTransformed[7], flt); if (!bFlb && !bBrt && !bBlb && !bFrt && !bFrb && !bBrb && !bBlt && !bFlt) return false; Vector arr[8] = { flb, brt, blb, frt, frb, brb, blt, flt }; auto left = flb.x; auto top = flb.y; auto right = flb.x; auto bottom = flb.y; for (auto i = 1; i < 8; i++) { if (left > arr[i].x) left = arr[i].x; if (top < arr[i].y) top = arr[i].y; if (right < arr[i].x) right = arr[i].x; if (bottom > arr[i].y) bottom = arr[i].y; } box.x = left; box.y = bottom; box.w = right - left; box.h = top - bottom; box.t = top; box.j = right; return true; // fix by delorean }
шейкает в каком плане? видео не хочешь скинуть или мы гадать должны?world_to_screen с вейва, mutex ситуацию не исправил, с чем может быть связано? шейкает все, что связано с игроком.
или ты кидаешь видео и я тебе помогаю, либо ты остаёшься сидеть и ждать ответа
сейчас я ничего кинуть не могу, но видимо тебе понятно, лично для тебя объясню:или ты кидаешь видео и я тебе помогаю, либо ты остаёшься сидеть и ждать ответа
Есть 2 варианта почему это может быть, но без демонстрации я не могу быть уверен, что проблема в той или иной функциисейчас я ничего кинуть не могу, но видимо тебе понятно, лично для тебя объясню:
гетаешь кость(хитбокс, ориджин) юзаешь ворлд ту скрин и охуеваешь от тряски(слово тряска блять) текста, фигуры, хотя по факту, такого не должно быть(фигура должна не двигаться).
озвучь.Есть 2 варианта почему это может быть, но без демонстрации я не могу быть уверен, что проблема в той или иной функции
Либо getbox либо w2sозвучь.
w2sЛибо getbox либо w2s
Если есть доступ к сурсам - код под хайд кидай, разберу, что не так
Я говорю, что здесь может быть в двух функциях проблема, смотря правильно ли они сделаны или нет
Я говорю, что здесь может быть в двух функциях проблема, смотря правильно ли они сделаны или нет
как можно синхронизировать? смотрел ксгосимпл, там вроде мутекс, но результатов он мне не даёт.ты рендеришь через dx9 используя имгуи, твоя w2s матрица обнуляется/обновляется в момент когда начинается отрисовка нового кадра, поэтому у тебя телепортации/дрожь и прочее, с rgflCoordinateFrame аналогично, тебе нужно синхронизировать эти функции с игрой, и все будет перфект, либо используй игровые функции для есп
ебать как будто у тебя они естьу тебя пофиксилось потому что у тебя мозгов нет, тут ничего удивительного.
сохранять данные в игровом треде например в paint/painttraverse, а использовать уже в оверлее, тогда все будет чики пуки, либо ебстись с мутексами и всей этой говной (которая лично у меня никогда нормально не работала)как можно синхронизировать? смотрел ксгосимпл, там вроде мутекс, но результатов он мне не даёт.
const auto invw = 1.0f / w;out.x /= w; out.y /= w;
адекватный человек уже сказал решение вышеconst auto invw = 1.0f / w;
out.x *= invw;
out.y *= invw;
Попробуй. Если не поможет (это единственное отличие было по коду w2s) - то проблема в getbox, если же не в нём, тогда что-то ломает матрицу или позиции игрока
Лично у меня не разу не трясло есп, хотя чему я удивляюсь. Он же в пасте лв меняет рендер, когда иммортал нихуя не знает и чит к хуям убил.адекватный человек уже сказал решение выше
Проект предоставляет различный материал, относящийся к сфере киберспорта, программирования, ПО для игр, а также позволяет его участникам общаться на многие другие темы. Почта для жалоб: admin@yougame.biz