예제 #1
0
        public static void Crosshair2d()
        {
            Vector3 AimAtPoint = FUNC.W2S(Cons.AimPoint);

            P(new Vector2(Screen.width / 2f - 2f, Screen.height / 2f - 1f), new Color(0f, 0f, 0f), 4f);
            P(new Vector2(Screen.width / 2f - 1f, Screen.height / 2f - 1f), new Color(0.30f, 0.88f, 0.2196f), 2f);
        }
예제 #2
0
        public static void Crosshair()
        {
            Vector3 AimAtPoint = FUNC.W2S(Cons.AimPoint);

            P(new Vector2(AimAtPoint.x - 2f, Screen.height - AimAtPoint.y - 1f), new Color(0f, 0f, 0f), 4f);
            P(new Vector2(AimAtPoint.x - 1f, Screen.height - AimAtPoint.y - 1f), new Color(0.30f, 0.88f, 0.2196f), 2f);
        }
예제 #3
0
                public static void Grenades()
                {
                    // 100m for grenades is more then enough
                    if (Cons.Main._grenades == null || Cons.Main._localPlayer == null)
                    {
                        return;
                    }
                    var e         = Cons.Main._grenades.GetEnumerator();
                    var LabelSize = new GUIStyle {
                        fontSize = 12
                    };
                    float deltaDistance = 25f;
                    float devLabel      = 1f;

                    while (e.MoveNext())
                    {
                        try
                        {
                            var throwable = e.Current;
                            if (throwable != null)
                            {
                                if (FUNC.isInScreenRestricted(FUNC.W2S(throwable.transform.position)))
                                {
                                    float dTO = FastMath.FD(Camera.main.transform.position, throwable.transform.position);
                                    if (dTO > Cons.Distances.Grenade)
                                    {
                                        continue;
                                    }

                                    Vector3 pGrenadePosition = FUNC.W2S(throwable.transform.position);
                                    int     FontSize         = 10;
                                    FastMath.DistSizer(dTO, ref FontSize, ref deltaDistance, ref devLabel);
                                    LabelSize.fontSize         = FontSize;
                                    LabelSize.normal.textColor = Constants.Colors.ESP.grenades;
                                    string  distanceText = $"{(int)dTO}m";
                                    Vector2 sizeOfText   = GUI.skin.GetStyle(distanceText).CalcSize(new GUIContent(distanceText));
                                    Drawing.Special.DrawPoint(
                                        pGrenadePosition.x - 1.5f,
                                        (float)(Screen.height - pGrenadePosition.y) - 1.5f,
                                        3f,
                                        Constants.Colors.ESP.grenades
                                        );
                                    Drawing.Special.DrawText(
                                        distanceText,
                                        pGrenadePosition.x - sizeOfText.x / 2f,
                                        (float)Screen.height - pGrenadePosition.y - deltaDistance - 1,
                                        sizeOfText,
                                        LabelSize,
                                        Constants.Colors.ESP.grenades
                                        );
                                }
                            }
                        }
                        catch (NullReferenceException ex)
                        {
                            ErrorHandler.Catch("Grenade", ex);
                        }
                    }
                }
예제 #4
0
                public static void DeadBodies()
                {
                    if (Cons.Main._corpses == null)
                    {
                        return;
                    }
                    var e         = Cons.Main._corpses.GetEnumerator();
                    var LabelSize = new GUIStyle {
                        fontSize = 12
                    };
                    float deltaDistance = 25f;
                    float devLabel      = 1f;

                    while (e.MoveNext())
                    {
                        try
                        {
                            var item = e.Current;
                            if (item != null)
                            {
                                if (FUNC.isInScreenRestricted(FUNC.W2S(item.transform.position)))
                                { // do not display out of bounds items
                                    float distance = FastMath.FD(Camera.main.transform.position, item.transform.position);
                                    if (distance < Cons.Distances.Corpses)
                                    {
                                        Vector3 itemPosition = FUNC.W2S(item.transform.position);
                                        float[] boxSize      = new float[2] {
                                            3f, 1.5f
                                        };
                                        int FontSize = 12;
                                        FastMath.DistSizer(distance, ref FontSize, ref deltaDistance, ref devLabel);
                                        LabelSize.fontSize         = FontSize;
                                        LabelSize.normal.textColor = new Color(.7f, .7f, .7f, .8f);
                                        string  distanceText = $"{(int)distance}m";
                                        Vector2 sizeOfText   = GUI.skin.GetStyle(distanceText).CalcSize(new GUIContent(distanceText));
                                        Drawing.Special.DrawPoint(
                                            itemPosition.x - boxSize[1],
                                            (float)(Screen.height - itemPosition.y) - boxSize[1],
                                            boxSize[0],
                                            Constants.Colors.ESP.bodies
                                            );
                                        Drawing.Special.DrawText(
                                            distanceText,
                                            itemPosition.x - sizeOfText.x / 2f,
                                            (float)(Screen.height - itemPosition.y) - deltaDistance - 1,
                                            sizeOfText,
                                            LabelSize,
                                            Constants.Colors.ESP.bodies
                                            );
                                    }
                                }
                            }
                        }
                        catch (NullReferenceException ex)
                        {
                            ErrorHandler.Catch("Corpses", ex);
                        }
                    }
                }
예제 #5
0
                public static void Containers()
                {
                    var e         = Cons.Main._containers;
                    var LabelSize = new GUIStyle {
                        fontSize = 12
                    };
                    float deltaDistance = 25f;
                    float devLabel      = 1f;

                    while (e.MoveNext())
                    {
                        try
                        {
                            var Container = e.Current.Key;
                            var Location  = e.Current.Value;
                            if (Container.RootItem.IsContainer)
                            {
                                #region Find Item Inside if specified
                                if (!Calculations.ItemIsInside(Container))
                                {
                                    continue;
                                }
                                #endregion
                                if (FUNC.W2S(Location.Transform.position).z > 0.01f)
                                { // do not display out of bounds items
                                    float distance = FastMath.FD(Camera.main.transform.position, Location.Transform.position);
                                    if (distance < Cons.Distances.Crates)
                                    {
                                        Vector3 itemPosition = FUNC.W2S(Location.Transform.position);
                                        float[] boxSize      = new float[2] {
                                            3f, 1.5f
                                        };
                                        int FontSize = 12;
                                        FastMath.DistSizer(distance, ref FontSize, ref deltaDistance, ref devLabel);
                                        LabelSize.fontSize         = FontSize;
                                        LabelSize.normal.textColor = new Color(.7f, .7f, .7f, .8f);
                                        string  distanceText = $"<{(int)distance}m>";
                                        Vector2 sizeOfText   = GUI.skin.GetStyle(distanceText).CalcSize(new GUIContent(distanceText));
                                        Drawing.Special.DrawPoint(itemPosition.x - boxSize[1], (float)(Screen.height - itemPosition.y) - boxSize[1], boxSize[0], Constants.Colors.ESP.items);
                                        Drawing.Special.DrawText(
                                            distanceText,
                                            itemPosition.x - sizeOfText.x / 2f,
                                            (float)Screen.height - itemPosition.y - deltaDistance - 1,
                                            sizeOfText,
                                            LabelSize,
                                            Constants.Colors.ESP.items
                                            );
                                    }
                                }
                            }
                        }
                        catch (NullReferenceException ex)
                        {
                            ErrorHandler.Catch("Containers", ex);
                        }
                    }
                }
예제 #6
0
        public class Draw { // yes its used in draw bo be more accurate
            public static void Aimbot()
            {
                try
                {
                    Vector3 AimAtGuy         = Vector3.zero;
                    float   distanceOfTarget = 9999f;
                    foreach (Player player in Cons.Main._players)
                    {
                        if (player != null && player != Cons.Main._localPlayer && player.HealthController != null)
                        {
                            if (!Cons.LocalPlayer.isInYourGroup(player))
                            {
                                Vector3 vector = FUNC.Bones.GetBonePosByID(player, (int)FUNC.Bones.BodyPart.Head);
                                float   dist   = FastMath.FD(Camera.main.transform.position, player.Transform.position);
                                if (dist > Cons.Distances.Aim)
                                {
                                    continue;
                                }
                                if (vector != Vector3.zero && Calculations.CalcInFov(vector) <= Cons.Aim.AAN_FOV /* && IsVisible(player.gameObject, getBonePos(player))*/)
                                {
                                    if (distanceOfTarget > dist)
                                    {
                                        distanceOfTarget = dist;

                                        // bulletspeed is in meters/second like distance is on meters
                                        float travelTime = dist / Cons.Main._localPlayer.Weapon.CurrentAmmoTemplate.InitialSpeed;
                                        vector.x += (player.Velocity.x * travelTime);
                                        vector.y += (player.Velocity.y * travelTime);

                                        AimAtGuy = vector;
                                    }
                                }
                            }
                        }
                    }
                    if (AimAtGuy != Vector3.zero)
                    {
                        Calculations.AimAtPos(AimAtGuy);
                        Drawing.DrawBox(FUNC.W2S(AimAtGuy).x - 5f, FUNC.W2S(AimAtGuy).y - 5f, 10f, 10f, Color.blue);
                    }
                }
                catch (Exception e)
                {
                    ErrorHandler.Catch("Draw_AiBo", e);
                }
            }
예제 #7
0
                public static void SnapLines(Player p, Color c)
                {
                    Vector3 w2s = FUNC.W2S(p.PlayerBones.RootJoint.position);

                    if (FUNC.isInScreenYZ(w2s))
                    {
                        Drawing.DrawLine(
                            new Vector2(
                                (Screen.width / 2),
                                Screen.height
                                ),
                            new Vector2(
                                w2s.x,
                                Screen.height - w2s.y
                                ),
                            c
                            );
                    }
                }
예제 #8
0
                public static void Players()
                {
                    try
                    {
                        #region [INITIALS] - to skip data overflow (incase)
                        float  deltaDistance     = 25f;
                        string playerDisplayName = "";
                        float  devLabel          = 1f;
                        string Status            = "";
                        var    LabelSize         = new GUIStyle {
                            fontSize = 12
                        };
                        Color playerColor      = Constants.Colors.ESP.npc;
                        float distancesAxisY_0 = 0;
                        float distancesAxisY_1 = 0;
                        float distancesAxisY_2 = 0;
                        Color Backup;
                        #endregion
                        var e = Cons.Main._players.GetEnumerator();
                        while (e.MoveNext())
                        {
                            var player = e.Current;
                            if (FUNC.isInScreenYZ(FUNC.W2S(player.Transform.position)))
                            {
                                //fix for colors not holds after leaving screen
                                Calculations.PlayerType playerType = Calculations.PlayerType.Scav;
                                playerDisplayName = Calculations.PlayerName(player, ref playerType);
                                playerColor       = Calculations.PlayerColor(playerType);
                                #region [Snap.Lines]
                                if (Cons.Bools.SnapLines && player != Cons.Main._localPlayer)
                                {
                                    Calculations.SnapLines(player, playerColor);
                                }
                                #endregion
                                if (FUNC.isInScreenRestricted(FUNC.W2S(player.Transform.position)))
                                {
                                    float dTO = FastMath.FD(Camera.main.transform.position, player.Transform.position);
                                    // main head vector 3d (x,y,z)
                                    Vector3 pHeadVector = FUNC.W2S(player.PlayerBones.Head.position);
                                    // setting head size comparing head position and neck position and multiplying by 1.5 (actually its head size)
                                    float find_sizebox = Math.Abs(pHeadVector.y - FUNC.W2S(player.PlayerBones.Neck.position).y) * 1.5f; // size of the head - its not good but its scaling without much maths
                                                                                                                                        // making sure head will not be too big
                                    find_sizebox = (find_sizebox > 30f) ? 30f : find_sizebox;
                                    float half_sizebox = (find_sizebox > 30f) ? 15f : find_sizebox / 2f;
                                    // size of fonts depending on distance
                                    int FontSize = 12;
                                    FastMath.DistSizer(dTO, ref FontSize, ref deltaDistance, ref devLabel);
                                    LabelSize.fontSize = FontSize;
                                    //create 3 size table of distances for texts (name, status, weapon)
                                    distancesAxisY_0 = deltaDistance + 10f;
                                    distancesAxisY_1 = distancesAxisY_0 + FontSize + 1;
                                    distancesAxisY_2 = distancesAxisY_1 + FontSize + 1;
                                    Status           = Calculations.GetPlayerTotalHealth(player); // Health here
                                    #region BONE-DUMP

                                    /*if (dTO < 20f)
                                     * {
                                     *  //string forDump = "";
                                     *  try
                                     *  {
                                     *      for (int i = 0; i < 134; i++)
                                     *      {
                                     *          if ((i > 13 && i <= 27) || i == 38 || i == 39 || i == 40 || i == 41 || (i >= 66 && i <= 70) || i == 132)
                                     *          {
                                     *              string name = "";
                                     *              try
                                     *              {
                                     *                  name = FUNC.Bones.SkeletonBoneName(player.PlayerBones.AnimatedTransform.Original.gameObject.GetComponent<PlayerBody>().SkeletonRootJoint, i);
                                     *                  name = name.Split('/')[name.Split('/').Length - 1];
                                     *                  Vector3 pos = FUNC.W2S(FUNC.Bones.GetBonePosByID(player, i));
                                     *                  Drawing.Text(new Rect(pos.x, Screen.height - pos.y, 20f, 20f), i.ToString());
                                     *              }
                                     *              catch (Exception)
                                     *              {
                                     *                  name = "bad";
                                     *              }
                                     *              //forDump = forDump + name + " - " + i + Environment.NewLine;
                                     *          }
                                     *      }
                                     *  }
                                     *  catch (Exception ex)
                                     *  {
                                     *      ErrorHandler.Catch("DUMPED", ex);
                                     *  }
                                     *  //ErrorHandler.Dump("DUMPED", forDump);
                                     * }*/
                                    #endregion
                                    #region [BONE-ESP]
                                    if (Cons.Bools.ShowBones)
                                    {
                                        Calculations.PlayerBones(dTO, player);
                                    }
                                    #endregion
                                    if (playerType != Calculations.PlayerType.TeamMate)
                                    {
                                        Backup    = GUI.color;
                                        GUI.color = Color.red;
                                        Drawing.Special.DrawPoint(pHeadVector.x - half_sizebox, (float)(Screen.height - pHeadVector.y) - half_sizebox, find_sizebox, Constants.Colors.Red);
                                        GUI.color = Backup;
                                    }
                                    #region [VISIBILITY-CHECK]
                                    string isVisible = "";
                                    if (Raycast.BodyRaycastCheck(player.gameObject, pHeadVector))
                                    {
                                        isVisible = "+";
                                    }
                                    #endregion
                                    #region [Group-Num]
                                    int    gInt;
                                    string groupID = "";
                                    try
                                    {
                                        if (Types.GroupTable.TryGetValue(player.GroupId, out gInt))
                                        {
                                            groupID = "{" + gInt + "}";
                                        }
                                    }
                                    catch (Exception) { }
                                    #endregion
                                    #region [INIT-Texts]
                                    string nameNickname = $"{playerDisplayName}{groupID}";
                                    string playerStatus = $"{isVisible}[{(int)dTO}m] {Status}";
                                    string WeaponName   = "";
                                    #endregion

                                    #region [TRY-DecodeWeaponName]
                                    try
                                    {
                                        WeaponName = player.Weapon.ShortName.Localized();
                                    }
                                    catch (Exception)
                                    {
                                        WeaponName = "No Weapon";
                                    }
                                    #endregion

                                    // set colors now
                                    LabelSize.normal.textColor = playerColor;
                                    #region Slot 0 - Player Name (vector, size, drawing)
                                    if (nameNickname != "")
                                    {
                                        Vector2 vector_playerName = GUI.skin.GetStyle(nameNickname).CalcSize(new GUIContent(nameNickname));
                                        float   player_NameText   = (devLabel == 1f) ? vector_playerName.x : (vector_playerName.x / devLabel);
                                        Drawing.Special.DrawText(
                                            nameNickname,
                                            pHeadVector.x - player_NameText / 2f,
                                            (float)Screen.height - FUNC.W2S(player.PlayerBones.Head.position).y - distancesAxisY_0,
                                            vector_playerName,
                                            LabelSize,
                                            playerColor
                                            );
                                    }
                                    #endregion
                                    #region Slot 1 - Status (distance, health)
                                    Vector2 vector_playerStatus = GUI.skin.GetStyle(playerStatus).CalcSize(new GUIContent(playerStatus));
                                    float   player_TextWidth    = (devLabel == 1f) ? vector_playerStatus.x : (vector_playerStatus.x / devLabel);
                                    Drawing.Special.DrawText(
                                        playerStatus,
                                        pHeadVector.x - player_TextWidth / 2f,
                                        (float)Screen.height - FUNC.W2S(player.PlayerBones.Head.position).y - distancesAxisY_1,
                                        vector_playerStatus,
                                        LabelSize,
                                        playerColor
                                        );
                                    #endregion
                                    #region Slot 2 - Weapon Name (vector, size, drawing) - if not empty
                                    if (WeaponName != "")
                                    {
                                        Vector2 vector_WeaponName = GUI.skin.GetStyle(WeaponName).CalcSize(new GUIContent(WeaponName));
                                        float   player_WeaponName = (devLabel == 1f) ? vector_WeaponName.x : (vector_WeaponName.x / devLabel);
                                        Drawing.Special.DrawText(
                                            WeaponName,
                                            pHeadVector.x - player_TextWidth / 2f,
                                            (float)Screen.height - FUNC.W2S(player.PlayerBones.Head.position).y - distancesAxisY_2,
                                            vector_WeaponName,
                                            LabelSize,
                                            playerColor
                                            );
                                    }
                                    #endregion
                                }
                            }
                        }
                    }
                    catch (Exception e)
                    {
                        ErrorHandler.Catch("e5p_Players_Draw_Players", e);
                    }
                }
예제 #9
0
                public static void Exfils()
                {
                    if (Cons.Main._exfils == null)
                    {
                        return;
                    }
                    var e         = Cons.Main._exfils.GetEnumerator();
                    var LabelSize = new GUIStyle {
                        fontSize = 12
                    };
                    float deltaDistance = 25f;
                    float devLabel      = 1f;

                    while (e.MoveNext())
                    {
                        try
                        {
                            var exfil = e.Current;
                            if (exfil != null)
                            {
                                if (FUNC.isInScreenRestricted(FUNC.W2S(exfil.transform.position)))
                                { // do not display out of bounds items
                                    float distance = FastMath.FD(Camera.main.transform.position, exfil.transform.position);
                                    if (distance < Cons.Distances.Exfils)
                                    {
                                        Vector3 itemPosition = FUNC.W2S(exfil.transform.position);
                                        float[] boxSize      = new float[2] {
                                            3f, 1.5f
                                        };
                                        int FontSize = 12;
                                        FastMath.DistSizer(distance, ref FontSize, ref deltaDistance, ref devLabel);
                                        LabelSize.fontSize         = FontSize;
                                        LabelSize.normal.textColor = new Color(.7f, .7f, .7f, .8f);
                                        string requirements = (exfil.HasRequirements) ? "req" : "";
                                        string exfil_Status = Calculations.TypeOfExfiltration(exfil.Status);

                                        string  distanceText = $"({(int)distance}m){requirements}";
                                        Vector2 sizeOfText2  = GUI.skin.GetStyle(exfil_Status).CalcSize(new GUIContent(exfil_Status));
                                        Vector2 sizeOfText   = GUI.skin.GetStyle(distanceText).CalcSize(new GUIContent(distanceText));
                                        Drawing.Special.DrawPoint(itemPosition.x - boxSize[1], (float)(Screen.height - itemPosition.y) - boxSize[1], boxSize[0], Constants.Colors.Red);
                                        Drawing.Special.DrawText(
                                            exfil_Status,
                                            itemPosition.x - sizeOfText2.x / 2f,
                                            (float)Screen.height - itemPosition.y - deltaDistance - FontSize - 1,
                                            sizeOfText2,
                                            LabelSize,
                                            Constants.Colors.Red
                                            );
                                        Drawing.Special.DrawText(
                                            distanceText,
                                            itemPosition.x - sizeOfText.x / 2f,
                                            (float)Screen.height - itemPosition.y - deltaDistance - 1,
                                            sizeOfText,
                                            LabelSize,
                                            Constants.Colors.Red
                                            );
                                    }
                                }
                            }
                        }
                        catch (NullReferenceException ex)
                        {
                            ErrorHandler.Catch("Exfils", ex);
                        }
                    }
                }
예제 #10
0
 public static void PlayerBones(float distance, Player player)
 {
     if (distance < 100f)
     {
         var pRPVect     = FUNC.W2S(player.PlayerBones.RightPalm.position);
         var PLPVect     = FUNC.W2S(player.PlayerBones.LeftPalm.position);
         var PLShVect    = FUNC.W2S(player.PlayerBones.LeftShoulder.position);
         var PLRShVect   = FUNC.W2S(player.PlayerBones.RightShoulder.position);
         var PLNeckVect  = FUNC.W2S(player.PlayerBones.Neck.position);
         var PLCentrVect = FUNC.W2S(player.PlayerBones.Pelvis.position);
         //var PLRTighVect = FUNC.W2S(player.PlayerBones.RightThigh2.position);
         //var PLLTighVect = FUNC.W2S(player.PlayerBones.LeftThigh2.position);
         var   PLRFootVect = FUNC.W2S(player.PlayerBones.KickingFoot.position);
         var   PLLFootVect = FUNC.W2S(FUNC.Bones.GetBonePosByID(player, 18));
         var   PLLBowVect  = FUNC.W2S(FUNC.Bones.GetBonePosByID(player, 91));
         var   PLRBowVect  = FUNC.W2S(FUNC.Bones.GetBonePosByID(player, 112));
         var   PLLKneeVect = FUNC.W2S(FUNC.Bones.GetBonePosByID(player, 17));
         var   PLRKneeVect = FUNC.W2S(FUNC.Bones.GetBonePosByID(player, 22));
         Color Backup      = GUI.color;
         GUI.color = Color.white;
         if (FUNC.isInScreenRestricted(PLNeckVect) && FUNC.isInScreenRestricted(PLCentrVect))
         {
             Drawing.DrawLine(new Vector2(PLNeckVect.x, (float)Screen.height - PLNeckVect.y), new Vector2(PLCentrVect.x, (float)Screen.height - PLCentrVect.y), Color.white, 1f);
         }
         if (FUNC.isInScreenRestricted(PLShVect) && FUNC.isInScreenRestricted(PLLBowVect))
         {
             Drawing.DrawLine(new Vector2(PLShVect.x, (float)Screen.height - PLShVect.y), new Vector2(PLLBowVect.x, (float)Screen.height - PLLBowVect.y), Color.white, 1f);
         }
         if (FUNC.isInScreenRestricted(PLRShVect) && FUNC.isInScreenRestricted(PLRBowVect))
         {
             Drawing.DrawLine(new Vector2(PLRShVect.x, (float)Screen.height - PLRShVect.y), new Vector2(PLRBowVect.x, (float)Screen.height - PLRBowVect.y), Color.white, 1f);
         }
         if (FUNC.isInScreenRestricted(PLLBowVect) && FUNC.isInScreenRestricted(PLPVect))
         {
             Drawing.DrawLine(new Vector2(PLLBowVect.x, (float)Screen.height - PLLBowVect.y), new Vector2(PLPVect.x, (float)Screen.height - PLPVect.y), Color.white, 1f);
         }
         if (FUNC.isInScreenRestricted(PLRBowVect) && FUNC.isInScreenRestricted(pRPVect))
         {
             Drawing.DrawLine(new Vector2(PLRBowVect.x, (float)Screen.height - PLRBowVect.y), new Vector2(pRPVect.x, (float)Screen.height - pRPVect.y), Color.white, 1f);
         }
         if (FUNC.isInScreenRestricted(PLRShVect) && FUNC.isInScreenRestricted(PLShVect))
         {
             Drawing.DrawLine(new Vector2(PLRShVect.x, (float)Screen.height - PLRShVect.y), new Vector2(PLShVect.x, (float)Screen.height - PLShVect.y), Color.white, 1f);
         }
         if (FUNC.isInScreenRestricted(PLLKneeVect) && FUNC.isInScreenRestricted(PLCentrVect))
         {
             Drawing.DrawLine(new Vector2(PLLKneeVect.x, (float)Screen.height - PLLKneeVect.y), new Vector2(PLCentrVect.x, (float)Screen.height - PLCentrVect.y), Color.white, 1f);
         }
         if (FUNC.isInScreenRestricted(PLRKneeVect) && FUNC.isInScreenRestricted(PLCentrVect))
         {
             Drawing.DrawLine(new Vector2(PLRKneeVect.x, (float)Screen.height - PLRKneeVect.y), new Vector2(PLCentrVect.x, (float)Screen.height - PLCentrVect.y), Color.white, 1f);
         }
         if (FUNC.isInScreenRestricted(PLLKneeVect) && FUNC.isInScreenRestricted(PLLFootVect))
         {
             Drawing.DrawLine(new Vector2(PLLKneeVect.x, (float)Screen.height - PLLKneeVect.y), new Vector2(PLLFootVect.x, (float)Screen.height - PLLFootVect.y), Color.white, 1f);
         }
         if (FUNC.isInScreenRestricted(PLRKneeVect) && FUNC.isInScreenRestricted(PLRFootVect))
         {
             Drawing.DrawLine(new Vector2(PLRKneeVect.x, (float)Screen.height - PLRKneeVect.y), new Vector2(PLRFootVect.x, (float)Screen.height - PLRFootVect.y), Color.white, 1f);
         }
         GUI.color = Backup;
     }
 }