Source Code Bone ESP - ALL Models

  • CSGO recently moved logic from 'client_panorama.dll' to 'client.dll', you must update all code that uses 'client_panorama.dll' and replace it with 'client.dll' or the code will not work.
Hexui Undetected CSGO Cheats Sinkicheat PUBG Cheat

HexMurder

Arcane Hacker
Dank Tier VIP
Dank Tier Donator
Jun 7, 2012
319
7,988
22
Been waiting for someone to release some source with the correct bones for a while and it hasn't happened. So i went ahead and found them all myself. Took an ample amount of time. Not sure the "proper" method of doing this, but this is how i did it. I found the name of the model, and just check and see which is which, and draw accordingly. Hopefully this saves someone some time in the future, because it took ages to get all of these lol.

C++:
public void DrawBone(int i, int bone1, int bone2, Color color, int thickness)
        {
            Engine.Vec3 bone1_pos;
            Engine.Point<float> W2S_bone1 = new Engine.Point<float>(0,0);

            bone1_pos = Engine.BoneMatrix.GetBonePos(Engine.enemy[i].BoneBase, bone1);

            Engine.Vec3 bone2_pos;
            Engine.Point<float> W2S_bone2 = new Engine.Point<float>(0, 0);
            bone2_pos = Engine.BoneMatrix.GetBonePos(Engine.enemy[i].BoneBase, bone2);

            if(Engine.WorldToScreen(bone1_pos, ref W2S_bone1) && Engine.WorldToScreen(bone2_pos, ref W2S_bone2))
            {
                DrawLineAA(W2S_bone1.X, W2S_bone1.Y, W2S_bone2.X, W2S_bone2.Y, thickness, color);
            }
        }

if (Engine.enemy[i].model.Contains("tm_separatist"))
                {
                    Drawings.DrawBone(i, 67, 66, Color.MediumOrchid, 2);
                    Drawings.DrawBone(i, 66, 0, Color.MediumOrchid, 2);
                    Drawings.DrawBone(i, 0, 73, Color.MediumOrchid, 2);
                    Drawings.DrawBone(i, 73, 74, Color.MediumOrchid, 2);

                    Drawings.DrawBone(i, 0, 6, Color.MediumOrchid, 2);
                    Drawings.DrawBone(i, 6, 7, Color.MediumOrchid, 2);
                    Drawings.DrawBone(i, 7, 8, Color.MediumOrchid, 2);

                    Drawings.DrawBone(i, 7, 10, Color.MediumOrchid, 2);
                    Drawings.DrawBone(i, 10, 11, Color.MediumOrchid, 2);
                    Drawings.DrawBone(i, 11, 12, Color.MediumOrchid, 2);

                    Drawings.DrawBone(i, 7, 38, Color.MediumOrchid, 2);
                    Drawings.DrawBone(i, 38, 39, Color.MediumOrchid, 2);
                    Drawings.DrawBone(i, 39, 40, Color.MediumOrchid, 2);
                }
                else if (Engine.enemy[i].model.Contains("tm_leet"))
                {
                    Drawings.DrawBone(i, 67, 66, Color.MediumOrchid, 2);
                    Drawings.DrawBone(i, 66, 0, Color.MediumOrchid, 2);
                    Drawings.DrawBone(i, 0, 73, Color.MediumOrchid, 2);
                    Drawings.DrawBone(i, 73, 74, Color.MediumOrchid, 2);

                    Drawings.DrawBone(i, 0, 6, Color.MediumOrchid, 2);
                    Drawings.DrawBone(i, 6, 7, Color.MediumOrchid, 2);
                    Drawings.DrawBone(i, 7, 8, Color.MediumOrchid, 2);

                    Drawings.DrawBone(i, 7, 10, Color.MediumOrchid, 2);
                    Drawings.DrawBone(i, 10, 11, Color.MediumOrchid, 2);
                    Drawings.DrawBone(i, 11, 12, Color.MediumOrchid, 2);

                    Drawings.DrawBone(i, 7, 38, Color.MediumOrchid, 2);
                    Drawings.DrawBone(i, 38, 39, Color.MediumOrchid, 2);
                    Drawings.DrawBone(i, 39, 40, Color.MediumOrchid, 2);
                }
                else if (Engine.enemy[i].model.Contains("tm_phoenix"))
                {
                    Drawings.DrawBone(i, 67, 66, Color.MediumOrchid, 2);
                    Drawings.DrawBone(i, 66, 0, Color.MediumOrchid, 2);
                    Drawings.DrawBone(i, 0, 73, Color.MediumOrchid, 2);
                    Drawings.DrawBone(i, 73, 74, Color.MediumOrchid, 2);

                    Drawings.DrawBone(i, 0, 6, Color.MediumOrchid, 2);
                    Drawings.DrawBone(i, 6, 7, Color.MediumOrchid, 2);
                    Drawings.DrawBone(i, 7, 8, Color.MediumOrchid, 2);

                    Drawings.DrawBone(i, 7, 10, Color.MediumOrchid, 2);
                    Drawings.DrawBone(i, 10, 11, Color.MediumOrchid, 2);
                    Drawings.DrawBone(i, 11, 12, Color.MediumOrchid, 2);

                    Drawings.DrawBone(i, 7, 38, Color.MediumOrchid, 2);
                    Drawings.DrawBone(i, 38, 39, Color.MediumOrchid, 2);
                    Drawings.DrawBone(i, 39, 40, Color.MediumOrchid, 2);
                }
                else if (Engine.enemy[i].model.Contains("tm_prof"))
                {
                    Drawings.DrawBone(i, 72, 71, Color.MediumOrchid, 2);
                    Drawings.DrawBone(i, 71, 0, Color.MediumOrchid, 2);
                    Drawings.DrawBone(i, 0, 78, Color.MediumOrchid, 2);
                    Drawings.DrawBone(i, 78, 79, Color.MediumOrchid, 2);

                    Drawings.DrawBone(i, 0, 6, Color.MediumOrchid, 2);
                    Drawings.DrawBone(i, 6, 7, Color.MediumOrchid, 2);
                    Drawings.DrawBone(i, 7, 8, Color.MediumOrchid, 2);

                    Drawings.DrawBone(i, 7, 11, Color.MediumOrchid, 2);
                    Drawings.DrawBone(i, 11, 12, Color.MediumOrchid, 2);
                    Drawings.DrawBone(i, 12, 13, Color.MediumOrchid, 2);

                    Drawings.DrawBone(i, 7, 39, Color.MediumOrchid, 2);
                    Drawings.DrawBone(i, 39, 40, Color.MediumOrchid, 2);
                    Drawings.DrawBone(i, 40, 41, Color.MediumOrchid, 2);
                }
                else if (Engine.enemy[i].model.Contains("tm_anar"))
                {
                    Drawings.DrawBone(i, 69, 68, Color.MediumOrchid, 2);
                    Drawings.DrawBone(i, 68, 0, Color.MediumOrchid, 2);
                    Drawings.DrawBone(i, 0, 75, Color.MediumOrchid, 2);
                    Drawings.DrawBone(i, 75, 76, Color.MediumOrchid, 2);

                    Drawings.DrawBone(i, 0, 6, Color.MediumOrchid, 2);
                    Drawings.DrawBone(i, 6, 7, Color.MediumOrchid, 2);
                    Drawings.DrawBone(i, 7, 8, Color.MediumOrchid, 2);

                    Drawings.DrawBone(i, 7, 12, Color.MediumOrchid, 2);
                    Drawings.DrawBone(i, 12, 13, Color.MediumOrchid, 2);
                    Drawings.DrawBone(i, 13, 14, Color.MediumOrchid, 2);

                    Drawings.DrawBone(i, 7, 40, Color.MediumOrchid, 2);
                    Drawings.DrawBone(i, 40, 41, Color.MediumOrchid, 2);
                    Drawings.DrawBone(i, 41, 42, Color.MediumOrchid, 2);
                }
                else if (Engine.enemy[i].model.Contains("ctm_swat"))
                {
                    Drawings.DrawBone(i, 69, 68, Color.MediumOrchid, 2);
                    Drawings.DrawBone(i, 68, 0, Color.MediumOrchid, 2);
                    Drawings.DrawBone(i, 0, 75, Color.MediumOrchid, 2);
                    Drawings.DrawBone(i, 75, 76, Color.MediumOrchid, 2);

                    Drawings.DrawBone(i, 0, 6, Color.MediumOrchid, 2);
                    Drawings.DrawBone(i, 6, 7, Color.MediumOrchid, 2);
                    Drawings.DrawBone(i, 7, 8, Color.MediumOrchid, 2);

                    Drawings.DrawBone(i, 7, 12, Color.MediumOrchid, 2);
                    Drawings.DrawBone(i, 12, 13, Color.MediumOrchid, 2);
                    Drawings.DrawBone(i, 13, 14, Color.MediumOrchid, 2);

                    Drawings.DrawBone(i, 7, 40, Color.MediumOrchid, 2);
                    Drawings.DrawBone(i, 40, 41, Color.MediumOrchid, 2);
                    Drawings.DrawBone(i, 41, 42, Color.MediumOrchid, 2);
                }

                else if(Engine.enemy[i].model.Contains("CTM_SAS") || Engine.enemy[i].model.Contains("ctm_sas"))
                {
                    Drawings.DrawBone(i, 83, 82, Color.MediumOrchid, 2);
                    Drawings.DrawBone(i, 82, 0, Color.MediumOrchid, 2);
                    Drawings.DrawBone(i, 0, 73, Color.MediumOrchid, 2);
                    Drawings.DrawBone(i, 73, 74, Color.MediumOrchid, 2);

                    Drawings.DrawBone(i, 0, 6, Color.MediumOrchid, 2);
                    Drawings.DrawBone(i, 6, 7, Color.MediumOrchid, 2);
                    Drawings.DrawBone(i, 7, 8, Color.MediumOrchid, 2);

                    Drawings.DrawBone(i, 7, 11, Color.MediumOrchid, 2);
                    Drawings.DrawBone(i, 11, 12, Color.MediumOrchid, 2);
                    Drawings.DrawBone(i, 12, 13, Color.MediumOrchid, 2);

                    Drawings.DrawBone(i, 7, 40, Color.MediumOrchid, 2);
                    Drawings.DrawBone(i, 40, 41, Color.MediumOrchid, 2);
                    Drawings.DrawBone(i, 41, 42, Color.MediumOrchid, 2);
                }
                else if (Engine.enemy[i].model.Contains("ctm_idf"))
                {
                    Drawings.DrawBone(i, 72, 71, Color.MediumOrchid, 2);
                    Drawings.DrawBone(i, 71, 0, Color.MediumOrchid, 2);
                    Drawings.DrawBone(i, 0, 78, Color.MediumOrchid, 2);
                    Drawings.DrawBone(i, 78, 79, Color.MediumOrchid, 2);

                    Drawings.DrawBone(i, 0, 6, Color.MediumOrchid, 2);
                    Drawings.DrawBone(i, 6, 7, Color.MediumOrchid, 2);
                    Drawings.DrawBone(i, 7, 8, Color.MediumOrchid, 2);

                    Drawings.DrawBone(i, 7, 11, Color.MediumOrchid, 2);
                    Drawings.DrawBone(i, 11, 12, Color.MediumOrchid, 2);
                    Drawings.DrawBone(i, 12, 13, Color.MediumOrchid, 2);

                    Drawings.DrawBone(i, 7, 41, Color.MediumOrchid, 2);
                    Drawings.DrawBone(i, 41, 42, Color.MediumOrchid, 2);
                    Drawings.DrawBone(i, 42, 43, Color.MediumOrchid, 2);
                }
                else if (Engine.enemy[i].model.Contains("ctm_st6"))
                {
                    Drawings.DrawBone(i, 67, 66, Color.MediumOrchid, 2);
                    Drawings.DrawBone(i, 66, 0, Color.MediumOrchid, 2);
                    Drawings.DrawBone(i, 0, 73, Color.MediumOrchid, 2);
                    Drawings.DrawBone(i, 73, 74, Color.MediumOrchid, 2);

                    Drawings.DrawBone(i, 0, 6, Color.MediumOrchid, 2);
                    Drawings.DrawBone(i, 6, 7, Color.MediumOrchid, 2);
                    Drawings.DrawBone(i, 7, 8, Color.MediumOrchid, 2);

                    Drawings.DrawBone(i, 7, 10, Color.MediumOrchid, 2);
                    Drawings.DrawBone(i, 10, 11, Color.MediumOrchid, 2);
                    Drawings.DrawBone(i, 11, 12, Color.MediumOrchid, 2);

                    Drawings.DrawBone(i, 7, 38, Color.MediumOrchid, 2);
                    Drawings.DrawBone(i, 38, 39, Color.MediumOrchid, 2);
                    Drawings.DrawBone(i, 39, 40, Color.MediumOrchid, 2);
                }
                else if (Engine.enemy[i].model.Contains("ctm_fbi"))
                {
                    Drawings.DrawBone(i, 67, 66, Color.MediumOrchid, 2);
                    Drawings.DrawBone(i, 66, 0, Color.MediumOrchid, 2);
                    Drawings.DrawBone(i, 0, 73, Color.MediumOrchid, 2);
                    Drawings.DrawBone(i, 73, 74, Color.MediumOrchid, 2);

                    Drawings.DrawBone(i, 0, 6, Color.MediumOrchid, 2);
                    Drawings.DrawBone(i, 6, 7, Color.MediumOrchid, 2);
                    Drawings.DrawBone(i, 7, 8, Color.MediumOrchid, 2);

                    Drawings.DrawBone(i, 7, 10, Color.MediumOrchid, 2);
                    Drawings.DrawBone(i, 10, 11, Color.MediumOrchid, 2);
                    Drawings.DrawBone(i, 11, 12, Color.MediumOrchid, 2);

                    Drawings.DrawBone(i, 7, 38, Color.MediumOrchid, 2);
                    Drawings.DrawBone(i, 38, 39, Color.MediumOrchid, 2);
                    Drawings.DrawBone(i, 39, 40, Color.MediumOrchid, 2);
                }
                else if (Engine.enemy[i].model.Contains("ctm_gsg9"))
                {
                    Drawings.DrawBone(i, 67, 66, Color.MediumOrchid, 2);
                    Drawings.DrawBone(i, 66, 0, Color.MediumOrchid, 2);
                    Drawings.DrawBone(i, 0, 73, Color.MediumOrchid, 2);
                    Drawings.DrawBone(i, 73, 74, Color.MediumOrchid, 2);

                    Drawings.DrawBone(i, 0, 6, Color.MediumOrchid, 2);
                    Drawings.DrawBone(i, 6, 7, Color.MediumOrchid, 2);
                    Drawings.DrawBone(i, 7, 8, Color.MediumOrchid, 2);

                    Drawings.DrawBone(i, 7, 10, Color.MediumOrchid, 2);
                    Drawings.DrawBone(i, 10, 11, Color.MediumOrchid, 2);
                    Drawings.DrawBone(i, 11, 12, Color.MediumOrchid, 2);

                    Drawings.DrawBone(i, 7, 38, Color.MediumOrchid, 2);
                    Drawings.DrawBone(i, 38, 39, Color.MediumOrchid, 2);
                    Drawings.DrawBone(i, 39, 40, Color.MediumOrchid, 2);
                }
                else if (Engine.enemy[i].model.Contains("ctm_gign"))
                {
                    Drawings.DrawBone(i, 71, 70, Color.MediumOrchid, 2);
                    Drawings.DrawBone(i, 70, 0, Color.MediumOrchid, 2);
                    Drawings.DrawBone(i, 0, 77, Color.MediumOrchid, 2);
                    Drawings.DrawBone(i, 77, 79, Color.MediumOrchid, 2);

                    Drawings.DrawBone(i, 0, 6, Color.MediumOrchid, 2);
                    Drawings.DrawBone(i, 6, 7, Color.MediumOrchid, 2);
                    Drawings.DrawBone(i, 7, 8, Color.MediumOrchid, 2);

                    Drawings.DrawBone(i, 7, 11, Color.MediumOrchid, 2);
                    Drawings.DrawBone(i, 11, 12, Color.MediumOrchid, 2);
                    Drawings.DrawBone(i, 12, 13, Color.MediumOrchid, 2);

                    Drawings.DrawBone(i, 7, 40, Color.MediumOrchid, 2);
                    Drawings.DrawBone(i, 40, 41, Color.MediumOrchid, 2);
                    Drawings.DrawBone(i, 41, 42, Color.MediumOrchid, 2);
                }
//Yes i know, a few of these models share the same bone structure. I just kept them seperate in case they change them again in the future.


https://guidedhacking.com/threads/how-to-find-the-bone-matrix-use-m_dwbonematrix.14005/
 
Last edited by a moderator:

Rake

Cesspool Admin
Administrator
Jan 21, 2014
12,118
78,998
2,392
Superb work, looks like it was alot of fun :p
 

bimmerlegend

Newbie
Full Member
Mar 22, 2017
14
68
0
These hitboxes should still be up2date if you want more fun.

C#:
    Public Structure Vector3D
        Public X As Single
        Public Y As Single
        Public Z As Single

        Shared Sub New()
            'New vector
        End Sub
        Sub New(ByVal X As Single, ByVal Y As Single, ByVal Z As Single)
            Me.X = X
            Me.Y = Y
            Me.Z = Z
        End Sub
        Sub New(ByVal XYZ As Single)
            Me.X = XYZ
            Me.Y = XYZ
            Me.Z = XYZ
        End Sub

        Public Shared Operator <(ByVal Param1 As Vector3D, ByVal Param2 As Vector3D) As Boolean
            Return (Param1.X + Param1.Y + Param1.Z) < (Param2.X + Param2.Y + Param2.Z)
        End Operator
        Public Shared Operator >(ByVal Param1 As Vector3D, ByVal Param2 As Vector3D) As Boolean
            Return (Param1.X + Param1.Y + Param1.Z) > (Param2.X + Param2.Y + Param2.Z)
        End Operator
        Public Shared Operator +(ByVal Param1 As Vector3D, ByVal Param2 As Vector3D) As Vector3D
            Return New Vector3D(Param1.X + Param2.X, Param1.Y + Param2.Y, Param1.Z + Param2.Z)
        End Operator
        Public Shared Operator -(ByVal Param1 As Vector3D, ByVal Param2 As Vector3D) As Vector3D
            Return New Vector3D(Param1.X - Param2.X, Param1.Y - Param2.Y, Param1.Z - Param2.Z)
        End Operator

        Public Shared Operator /(ByVal Param1 As Vector3D, ByVal Param2 As Integer) As Vector3D
            Return New Vector3D(Param1.X / Param2, Param1.Y / Param2, Param1.Z / Param2)
        End Operator

        Public Shared Operator /(ByVal Param1 As Vector3D, ByVal Param2 As Vector3D) As Vector3D
            Return New Vector3D(Param1.X / Param2.X, Param1.Y / Param2.Y, Param1.Z / Param2.Z)
        End Operator

        Public Shared Operator *(ByVal Param1 As Vector3D, ByVal Param2 As Integer) As Vector3D
            Return New Vector3D(Param1.X * Param2, Param1.Y * Param2, Param1.Z * Param2)
        End Operator

        Public Shared Operator *(ByVal Param1 As Vector3D, ByVal Param2 As Vector3D) As Vector3D
            Return New Vector3D(Param1.X * Param2.X, Param1.Y * Param2.Y, Param1.Z * Param2.Z)
        End Operator

        Public Function FSQR() As Single
            Me.X *= Me.X
            Me.Y *= Me.Y
            Me.Z *= Me.Z
            Return Me.X + Me.Y + Me.Z
        End Function
    End Structure 'Vector 3D

   Public Structure HitboxStruct

        Public iBone As Integer
        Public vMin As Vector3D
        Public vMax As Vector3D

        Sub Setup(ByVal bone As Integer, ByVal min As Vector3D, ByVal max As Vector3D)
            Me.iBone = bone
            Me.vMin = min
            Me.vMax = max
        End Sub

    End Structure

    Public Shared HitBox() As HitboxStruct
	HitBox(0).Setup(BoneList.BONE_PELVIS, New Vector3D(-6.42, -5.7459, -6.8587), New Vector3D(4.5796, 4.5796, 6.8373))
	HitBox(1).Setup(BoneList.BONE_L_THIGH, New Vector3D(1.819, -3.959, -2.14), New Vector3D(22.149002, 3.424, 4.5796))
	HitBox(2).Setup(BoneList.BONE_L_CALF, New Vector3D(2.0758, -3.21, -2.1507), New Vector3D(19.26, 2.675, 3.0495))
	HitBox(3).Setup(BoneList.BONE_L_FOOT, New Vector3D(1.8725f, -2.675f, -2.4075f), New Vector3D(5.6175f, 9.694201f, 2.4075f))
	HitBox(4).Setup(BoneList.BONE_R_THIGH, New Vector3D(1.819f, -3.7557f, -4.5796f), New Vector3D(22.149002f, 3.424f, 2.14f))
	HitBox(5).Setup(BoneList.BONE_R_CALF, New Vector3D(2.0758f, -3.21f, -2.8462f), New Vector3D(19.26f, 2.675f, 2.247f))
	HitBox(6).Setup(BoneList.BONE_R_FOOT, New Vector3D(1.8725f, -2.675f, -2.4075f), New Vector3D(5.6175f, 9.694201, 2.4075f))
	HitBox(7).Setup(BoneList.BONE_SPINE2, New Vector3D(-4.28f, -4.5796f, -6.3879f), New Vector3D(3.21f, 5.885f, 6.2809f))
	HitBox(8).Setup(BoneList.BONE_SPINE3, New Vector3D(-4.28f, -5.029f, -6.0883f), New Vector3D(3.21f, 5.885f, 5.9813f))
	HitBox(9).Setup(BoneList.BONE_SPINE4, New Vector3D(-4.28f, -5.35f, -5.885f), New Vector3D(2.9211f, 5.1467f, 5.885f))
	HitBox(10).Setup(BoneList.BONE_NECK, New Vector3D(0.3317f, -3.0174f, -2.4503f), New Vector3D(3.4026f, 2.4182f, 2.354f))
	HitBox(11).Setup(BoneList.BONE_HEAD, New Vector3D(-2.7713f, -2.8783f, -3.103f), New Vector3D(6.955f, 3.5203f, 3.0067f))
	HitBox(12).Setup(BoneList.BONE_L_UPPER_ARM, New Vector3D(-2.675f, -3.21f, -2.14f), New Vector3D(12.84f, 3.21f, 2.14f ))
	HitBox(13).Setup(BoneList.BONE_L_FOREARM, New Vector3D(-0.f, -2.14f, -2.14f), New Vector3D(9.63f, 2.14f, 2.14f))
	HitBox(14).Setup(BoneList.BONE_L_HAND, New Vector3D(-1.7227f, -1.2198f, -1.3803f), New Vector3D(4.4726f, 1.2198f, 1.3803f))
	HitBox(15).Setup(BoneList.BONE_R_UPPER_ARM, New Vector3D(-2.675f, -3.21f, -2.14f), New Vector3D(12.84f, 3.21f, 2.14f))
	HitBox(16).Setup(BoneList.BONE_R_FOREARM, New Vector3D(-0.f, -2.14f, -2.14f), New Vector3D( 9.63f, 2.14f, 2.14f))
	HitBox(17).Setup(BoneList.BONE_R_HAND, New Vector3D(-1.7227f, -1.2198f, -1.3803f), New Vector3D(4.4726f, 1.2198f, 1.3803f))
	HitBox(18).Setup(BoneList.BONE_L_CLAVICLE, New Vector3D(-0.f, -3.21f, -5.35f), New Vector3D(7.49f, 4.28f, 3.21f))
	HitBox(19).Setup(BoneList.BONE_R_CLAVICLE, New Vector3D(-0.f, -3.21f, -3.21f), New Vector3D(7.49f, 4.28f, 5.35f))
	HitBox(20).Setup(BoneList.BONE_HEAD, New Vector3D(-2.5038f, 2.009f, -1.1021f), New Vector3D(6.3023f, 5.2965f, 0.9951f))
	HitBox(21).Setup(BoneList.BONE_SPINE4, New Vector3D(-0.2996f, -6.0027f, -4.996901f), New Vector3D(5.4998f, 2.5038f, 5.1039f))
 

HexMurder

Arcane Hacker
Dank Tier VIP
Dank Tier Donator
Jun 7, 2012
319
7,988
22
These hitboxes should still be up2date if you want more fun.

C#:
    Public Structure Vector3D
        Public X As Single
        Public Y As Single
        Public Z As Single

        Shared Sub New()
            'New vector
        End Sub
        Sub New(ByVal X As Single, ByVal Y As Single, ByVal Z As Single)
            Me.X = X
            Me.Y = Y
            Me.Z = Z
        End Sub
        Sub New(ByVal XYZ As Single)
            Me.X = XYZ
            Me.Y = XYZ
            Me.Z = XYZ
        End Sub

        Public Shared Operator <(ByVal Param1 As Vector3D, ByVal Param2 As Vector3D) As Boolean
            Return (Param1.X + Param1.Y + Param1.Z) < (Param2.X + Param2.Y + Param2.Z)
        End Operator
        Public Shared Operator >(ByVal Param1 As Vector3D, ByVal Param2 As Vector3D) As Boolean
            Return (Param1.X + Param1.Y + Param1.Z) > (Param2.X + Param2.Y + Param2.Z)
        End Operator
        Public Shared Operator +(ByVal Param1 As Vector3D, ByVal Param2 As Vector3D) As Vector3D
            Return New Vector3D(Param1.X + Param2.X, Param1.Y + Param2.Y, Param1.Z + Param2.Z)
        End Operator
        Public Shared Operator -(ByVal Param1 As Vector3D, ByVal Param2 As Vector3D) As Vector3D
            Return New Vector3D(Param1.X - Param2.X, Param1.Y - Param2.Y, Param1.Z - Param2.Z)
        End Operator

        Public Shared Operator /(ByVal Param1 As Vector3D, ByVal Param2 As Integer) As Vector3D
            Return New Vector3D(Param1.X / Param2, Param1.Y / Param2, Param1.Z / Param2)
        End Operator

        Public Shared Operator /(ByVal Param1 As Vector3D, ByVal Param2 As Vector3D) As Vector3D
            Return New Vector3D(Param1.X / Param2.X, Param1.Y / Param2.Y, Param1.Z / Param2.Z)
        End Operator

        Public Shared Operator *(ByVal Param1 As Vector3D, ByVal Param2 As Integer) As Vector3D
            Return New Vector3D(Param1.X * Param2, Param1.Y * Param2, Param1.Z * Param2)
        End Operator

        Public Shared Operator *(ByVal Param1 As Vector3D, ByVal Param2 As Vector3D) As Vector3D
            Return New Vector3D(Param1.X * Param2.X, Param1.Y * Param2.Y, Param1.Z * Param2.Z)
        End Operator

        Public Function FSQR() As Single
            Me.X *= Me.X
            Me.Y *= Me.Y
            Me.Z *= Me.Z
            Return Me.X + Me.Y + Me.Z
        End Function
    End Structure 'Vector 3D

   Public Structure HitboxStruct

        Public iBone As Integer
        Public vMin As Vector3D
        Public vMax As Vector3D

        Sub Setup(ByVal bone As Integer, ByVal min As Vector3D, ByVal max As Vector3D)
            Me.iBone = bone
            Me.vMin = min
            Me.vMax = max
        End Sub

    End Structure

    Public Shared HitBox() As HitboxStruct
	HitBox(0).Setup(BoneList.BONE_PELVIS, New Vector3D(-6.42, -5.7459, -6.8587), New Vector3D(4.5796, 4.5796, 6.8373))
	HitBox(1).Setup(BoneList.BONE_L_THIGH, New Vector3D(1.819, -3.959, -2.14), New Vector3D(22.149002, 3.424, 4.5796))
	HitBox(2).Setup(BoneList.BONE_L_CALF, New Vector3D(2.0758, -3.21, -2.1507), New Vector3D(19.26, 2.675, 3.0495))
	HitBox(3).Setup(BoneList.BONE_L_FOOT, New Vector3D(1.8725f, -2.675f, -2.4075f), New Vector3D(5.6175f, 9.694201f, 2.4075f))
	HitBox(4).Setup(BoneList.BONE_R_THIGH, New Vector3D(1.819f, -3.7557f, -4.5796f), New Vector3D(22.149002f, 3.424f, 2.14f))
	HitBox(5).Setup(BoneList.BONE_R_CALF, New Vector3D(2.0758f, -3.21f, -2.8462f), New Vector3D(19.26f, 2.675f, 2.247f))
	HitBox(6).Setup(BoneList.BONE_R_FOOT, New Vector3D(1.8725f, -2.675f, -2.4075f), New Vector3D(5.6175f, 9.694201, 2.4075f))
	HitBox(7).Setup(BoneList.BONE_SPINE2, New Vector3D(-4.28f, -4.5796f, -6.3879f), New Vector3D(3.21f, 5.885f, 6.2809f))
	HitBox(8).Setup(BoneList.BONE_SPINE3, New Vector3D(-4.28f, -5.029f, -6.0883f), New Vector3D(3.21f, 5.885f, 5.9813f))
	HitBox(9).Setup(BoneList.BONE_SPINE4, New Vector3D(-4.28f, -5.35f, -5.885f), New Vector3D(2.9211f, 5.1467f, 5.885f))
	HitBox(10).Setup(BoneList.BONE_NECK, New Vector3D(0.3317f, -3.0174f, -2.4503f), New Vector3D(3.4026f, 2.4182f, 2.354f))
	HitBox(11).Setup(BoneList.BONE_HEAD, New Vector3D(-2.7713f, -2.8783f, -3.103f), New Vector3D(6.955f, 3.5203f, 3.0067f))
	HitBox(12).Setup(BoneList.BONE_L_UPPER_ARM, New Vector3D(-2.675f, -3.21f, -2.14f), New Vector3D(12.84f, 3.21f, 2.14f ))
	HitBox(13).Setup(BoneList.BONE_L_FOREARM, New Vector3D(-0.f, -2.14f, -2.14f), New Vector3D(9.63f, 2.14f, 2.14f))
	HitBox(14).Setup(BoneList.BONE_L_HAND, New Vector3D(-1.7227f, -1.2198f, -1.3803f), New Vector3D(4.4726f, 1.2198f, 1.3803f))
	HitBox(15).Setup(BoneList.BONE_R_UPPER_ARM, New Vector3D(-2.675f, -3.21f, -2.14f), New Vector3D(12.84f, 3.21f, 2.14f))
	HitBox(16).Setup(BoneList.BONE_R_FOREARM, New Vector3D(-0.f, -2.14f, -2.14f), New Vector3D( 9.63f, 2.14f, 2.14f))
	HitBox(17).Setup(BoneList.BONE_R_HAND, New Vector3D(-1.7227f, -1.2198f, -1.3803f), New Vector3D(4.4726f, 1.2198f, 1.3803f))
	HitBox(18).Setup(BoneList.BONE_L_CLAVICLE, New Vector3D(-0.f, -3.21f, -5.35f), New Vector3D(7.49f, 4.28f, 3.21f))
	HitBox(19).Setup(BoneList.BONE_R_CLAVICLE, New Vector3D(-0.f, -3.21f, -3.21f), New Vector3D(7.49f, 4.28f, 5.35f))
	HitBox(20).Setup(BoneList.BONE_HEAD, New Vector3D(-2.5038f, 2.009f, -1.1021f), New Vector3D(6.3023f, 5.2965f, 0.9951f))
	HitBox(21).Setup(BoneList.BONE_SPINE4, New Vector3D(-0.2996f, -6.0027f, -4.996901f), New Vector3D(5.4998f, 2.5038f, 5.1039f))
Ew bro, you use vb? Thanks man il check it out later.
 

HexMurder

Arcane Hacker
Dank Tier VIP
Dank Tier Donator
Jun 7, 2012
319
7,988
22
How do you get the model ? -> Engine.enemy.model.Contains("tm_phoenix")


Use the offset for m_dwModel.
BaseEntity -> m_dwModel: _______________________ 0x0000006C;
it returns a string of the entities model. Its a long string, so i just use a portion of it. like "tm_phoenix"
 
Attention! Before you post:

Read the How to Ask Questions Guide
99% of questions are answered in the Beginner's Guide, do it before asking a question.

No Hack Requests. Post in the correct section.  Search the forum first. Read the rules.

How to make a good post:

  • Fill out the form correctly
  • Tell us the game name & coding language
  • Post everything we need to know to help you
  • Ask specific questions, be descriptive
  • Post errors, line numbers & screenshots
  • Post code snippets using code tags
  • If it's a large project, zip it up and attach it

If you do not comply, your post may be deleted.  We want to help, please make a good post and we will do our best to help you.

Community Mods