Untitled
unknown
plain_text
a month ago
3.2 kB
3
Indexable
vec3_t RotatePoint(vec3_t EntityPos, vec3_t LocalPlayerPos, int posX, int posY, int sizeX, int sizeY, float angle, float zoom, bool* viewCheck) { float r_1, r_2; float x_1, y_1; r_1 = -(EntityPos.y - LocalPlayerPos.y); r_2 = EntityPos.x - LocalPlayerPos.x; float Yaw = -(angle - 90.0f); float yawToRadian = Yaw * (float)(M_PI / 180.0F); x_1 = (r_1 * cos(yawToRadian) - r_2 * sin(yawToRadian)) / 20; y_1 = (r_1 * sin(yawToRadian) + r_2 * cos(yawToRadian)) / 20; *viewCheck = y_1 < 0; x_1 *= zoom; y_1 *= zoom; int sizX = sizeX / 2; int sizY = sizeY / 2; x_1 += sizX; y_1 += sizY; if (x_1 < 5) x_1 = 5; if (x_1 > sizeX - 5) x_1 = sizeX - 5; if (y_1 < 5) y_1 = 5; if (y_1 > sizeY - 5) y_1 = sizeY - 5; x_1 += posX; y_1 += posY; return vec3_t(x_1, y_1, 0); } float player_t::get_yaw() { auto c = driver::read<uintptr_t>(sdk::module_base + offsets::camera_base); if (!c) return 0.0f; auto v = driver::read<Matrix4x4>(c + 0x11C); float yaw = atan2(v._31, v._11) * (180.0f / M_PI); if (yaw < 0.0f) { yaw += 360.0f; } return yaw; } if (vars::radarshow) { static float radarX = 46.0f; static float radarY = 26.0f; float radarWidth = 245.0f; float radarHeight = 245.0f; float radarAlpha = vars::radar_transparency / 100.0f; float zoom = 1.0f; // Factor de zoom float angle = local.get_yaw(); // Ángulo de visión del jugador local float maxRange = 16000.0f; // Rango máximo en metros ImU32 radarColor = IM_COL32( static_cast<int>(SubTittleColor.Value.x * 255), static_cast<int>(SubTittleColor.Value.y * 255), static_cast<int>(SubTittleColor.Value.z * 255), static_cast<int>(radarAlpha * 255) ); ImGui::GetForegroundDrawList()->AddRectFilled( ImVec2(radarX, radarY), ImVec2(radarX + radarWidth, radarY + radarHeight), radarColor ); ImVec2 radarCenter = ImVec2(radarX + (radarWidth / 2), radarY + (radarHeight / 2)); auto local_pos = local.get_pos(); vec3_t localPlayerPos = vec3_t(local_pos.x, local_pos.y, local_pos.z); for (int i = 0; i < sdk::player_count(); ++i) { vec3_t playerPos = player.get_pos(); vec2_t screenPos; if (sdk::w2s(playerPos, screenPos)) { bool viewCheck; vec3_t rotatedPos = sdk::RotatePoint(playerPos, localPlayerPos, radarX, radarY, radarWidth, radarHeight, angle, zoom, &viewCheck, maxRange); ImGui::GetForegroundDrawList()->AddCircleFilled(ImVec2(rotatedPos.x, rotatedPos.y), 3.0f, IM_COL32(255, 0, 0, 255)); } } }
Editor is loading...
Leave a Comment