-
Автор темы
- #1
Basic Skeleton using CS2 Offsets.
Just render it on your overlay if External.
I will release more functions later perhaps.
Just render it on your overlay if External.
I will release more functions later perhaps.
C++:
if (skeleton)
{
uint64_t pawn = (uint64_t)pPlayerController->m_hPlayerPawn();
uint64_t gamescene = read<uint64_t>(pawn + gamescenemode);
uint64_t bonearray = read<uint64_t>(gamescene + modelstate + bonearray_offset);
Vector3 head = read<Vector3>(bonearray + 6 * 32);
Vector3 cou = read<Vector3>(bonearray + 5 * 32);
Vector3 shoulderR = read<Vector3>(bonearray + 8 * 32);
Vector3 shoulderL = read<Vector3>(bonearray + 13 * 32);
Vector3 brasR = read<Vector3>(bonearray + 9 * 32);
Vector3 brasL = read<Vector3>(bonearray + 14 * 32);
Vector3 handR = read<Vector3>(bonearray + 11 * 32);
Vector3 handL = read<Vector3>(bonearray + 16 * 32);
Vector3 cock = read<Vector3>(bonearray + 0 * 32);
Vector3 kneesR = read<Vector3>(bonearray + 23 * 32);
Vector3 kneesL = read<Vector3>(bonearray + 26 * 32);
Vector3 feetR = read<Vector3>(bonearray + 24 * 32);
Vector3 feetL = read<Vector3>(bonearray + 27 * 32);
Vector3 Ahead, Acou, AshoulderR, AshoulderL, AbrasR, AbrasL, AhandR, AhandL, Acock, AkneesR, AkneesL, AfeetR, AfeetL;
if (!world_to_screen(head, Ahead, viewmatrix))
continue;
if (!world_to_screen(cou, Acou, viewmatrix))
continue;
if (!world_to_screen(shoulderR, AshoulderR, viewmatrix))
continue;
if (!world_to_screen(shoulderL, AshoulderL, viewmatrix))
continue;
if (!world_to_screen(brasR, AbrasR, viewmatrix))
continue;
if (!world_to_screen(brasL, AbrasL, viewmatrix))
continue;
if (!world_to_screen(handL, AhandL, viewmatrix))
continue;
if (!world_to_screen(handR, AhandR, viewmatrix))
continue;
if (!world_to_screen(cock, Acock, viewmatrix))
continue;
if (!world_to_screen(kneesR, AkneesR, viewmatrix))
continue;
if (!world_to_screen( kneesL, AkneesL, viewmatrix))
continue;
if (!world_to_screen(feetR, AfeetR, viewmatrix))
continue;
if (!world_to_screen(feetL, AfeetL, viewmatrix))
continue;
ImDrawList* drawList = ImGui::GetOverlayDrawList();
drawList->AddLine(ImVec2(Ahead.x, Ahead.y), ImVec2(Acou.x, Acou.y), IM_COL32(255, 255, 255, 255));
drawList->AddLine(ImVec2(Acou.x, Acou.y), ImVec2(AshoulderR.x, AshoulderR.y), IM_COL32(255, 255, 255, 255));
drawList->AddLine(ImVec2(Acou.x, Acou.y), ImVec2(AshoulderL.x, AshoulderL.y), IM_COL32(255, 255, 255, 255));
drawList->AddLine(ImVec2(AshoulderR.x, AshoulderR.y), ImVec2(AbrasR.x, AbrasR.y), IM_COL32(255, 255, 255, 255));
drawList->AddLine(ImVec2(AshoulderL.x, AshoulderL.y), ImVec2(AbrasL.x, AbrasL.y), IM_COL32(255, 255, 255, 255));
drawList->AddLine(ImVec2(AbrasR.x, AbrasR.y), ImVec2(AhandR.x, AhandR.y), IM_COL32(255, 255, 255, 255));
drawList->AddLine(ImVec2(AbrasL.x, AbrasL.y), ImVec2(AhandL.x, AhandL.y), IM_COL32(255, 255, 255, 255));
drawList->AddLine(ImVec2(Acou.x, Acou.y), ImVec2(Acock.x, Acock.y), IM_COL32(255, 255, 255, 255));
drawList->AddLine(ImVec2(Acock.x, Acock.y), ImVec2(AkneesR.x, AkneesR.y), IM_COL32(255, 255, 255, 255));
drawList->AddLine(ImVec2(Acock.x, Acock.y), ImVec2(AkneesL.x, AkneesL.y), IM_COL32(255, 255, 255, 255));
drawList->AddLine(ImVec2(AkneesR.x, AkneesR.y), ImVec2(AfeetR.x, AfeetR.y), IM_COL32(255, 255, 255, 255));
drawList->AddLine(ImVec2(AkneesL.x, AkneesL.y), ImVec2(AfeetL.x, AfeetL.y), IM_COL32(255, 255, 255, 255));
}