Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- OptionsSkeleton.SetFileId("opt_chams");
- OptionsSkeleton.AddItem("None");
- OptionsSkeleton.AddItem("Normal");
- OptionsSkeleton.AddItem("Visible Only");
- OptionsGroup.PlaceLabledControl("Skeleton", this, &OptionsSkeleton);
- if (Menu::Window.VisualsTab.OptionsSkeleton.GetIndex())
- DrawSkeleton(pEntity);
- void CEsp::DrawSkeleton(IClientEntity* pEntity)
- {
- if (Menu::Window.VisualsTab.OptionsSkeleton.GetIndex() == 1)
- {
- studiohdr_t* pStudioHdr = Interfaces::ModelInfo->GetStudiomodel(pEntity->GetModel());
- if (!pStudioHdr)
- return;
- Vector vParent, vChild, sParent, sChild;
- for (int j = 0; j < pStudioHdr->numbones; j++)
- {
- mstudiobone_t* pBone = pStudioHdr->GetBone(j);
- if (pBone && (pBone->flags & BONE_USED_BY_HITBOX) && (pBone->parent != -1))
- {
- vChild = pEntity->GetBonePos(j);
- vParent = pEntity->GetBonePos(pBone->parent);
- if (Render::WorldToScreen(vParent, sParent) && Render::WorldToScreen(vChild, sChild))
- {
- Render::Line(sParent[0], sParent[1], sChild[0], sChild[1], Color(255, 255, 255, 255));
- }
- }
- }
- }
- if (Menu::Window.VisualsTab.OptionsSkeleton.GetIndex() == 2)
- {
- typedef bool(__cdecl* GoesThroughSmoke)(Vector, Vector);
- static uint32_t GoesThroughSmokeOffset = (uint32_t)Utilities::Memory::FindPatternV2("client.dll", "55 8B EC 83 EC 08 8B 15 ? ? ? ? 0F 57 C0");
- static GoesThroughSmoke GoesThroughSmokeFunction = (GoesThroughSmoke)GoesThroughSmokeOffset;
- studiohdr_t* pStudioHdr = Interfaces::ModelInfo->GetStudiomodel(pEntity->GetModel());
- if (!pStudioHdr)
- return;
- Vector vParent, vChild, sParent, sChild;
- for (int j = 0; j < pStudioHdr->numbones; j++)
- {
- mstudiobone_t* pBone = pStudioHdr->GetBone(j);
- if (pBone && (pBone->flags & BONE_USED_BY_HITBOX) && (pBone->parent != -1))
- {
- vChild = pEntity->GetBonePos(j);
- vParent = pEntity->GetBonePos(pBone->parent);
- bool IsVis = GameUtils::IsVisible(hackManager.pLocal(), pEntity, (int)CSGOHitboxID::Head);
- if (GoesThroughSmokeFunction(hackManager.pLocal()->GetEyePosition(), pEntity->GetBonePos(8)))
- return;
- if (IsVis)
- if (Render::WorldToScreen(vParent, sParent) && Render::WorldToScreen(vChild, sChild))
- {
- Render::Line(sParent[0], sParent[1], sChild[0], sChild[1], Color(255, 255, 255, 255));
- }
- }
- }
- }
- if (Menu::Window.VisualsTab.OptionsSkeleton.GetIndex() == 0)
- {
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement