예제 #1
0
        public static void EnableChams()
        {
            if (!ESPOptions.ChamsEnabled)
            {
                return;
            }

            Color32 friendly_front = ColorUtilities.getColor("_ChamsFriendVisible");
            Color32 friendly_back  = ColorUtilities.getColor("_ChamsFriendInvisible");
            Color32 enemy_front    = ColorUtilities.getColor("_ChamsEnemyVisible");
            Color32 enemy_back     = ColorUtilities.getColor("_ChamsEnemyInvisible");

            SteamPlayer[] players = Provider.clients.ToArray();
            for (int index = 0; index < players.Length; index++)
            {
                SteamPlayer p     = players[index];
                Color32     front = FriendUtilities.IsFriendly(p.player) ? friendly_front : enemy_front;
                Color32     back  = FriendUtilities.IsFriendly(p.player) ? friendly_back : enemy_back;

                Player plr = p.player;

                if (plr == null || plr == OptimizationVariables.MainPlayer || plr.gameObject == null || plr.life == null ||
                    plr.life.isDead)
                {
                    continue;
                }

                GameObject pgo = plr.gameObject;
                DoChamsGameObject(pgo, front, back);
            }
        }
예제 #2
0
        public static void EnableChams()
        {
            bool flag  = !ESPOptions.ChamsEnabled;
            bool flag2 = !flag;

            if (flag2)
            {
                Color32 color  = ColorUtilities.getColor("_ChamsFriendVisible");
                Color32 color2 = ColorUtilities.getColor("_ChamsFriendInvisible");
                Color32 color3 = ColorUtilities.getColor("_ChamsEnemyVisible");
                Color32 color4 = ColorUtilities.getColor("_ChamsEnemyInvisible");
                foreach (SteamPlayer steamPlayer in Provider.clients.ToArray())
                {
                    Color32 front  = FriendUtilities.IsFriendly(steamPlayer.player) ? color : color3;
                    Color32 behind = FriendUtilities.IsFriendly(steamPlayer.player) ? color2 : color4;
                    Player  player = steamPlayer.player;
                    bool    flag3  = player == null || player == OptimizationVariables.MainPlayer || player.gameObject == null || player.life == null || player.life.isDead;
                    bool    flag4  = !flag3;
                    if (flag4)
                    {
                        GameObject gameObject = player.gameObject;
                        ESPCoroutines.DoChamsGameObject(gameObject, front, behind);
                    }
                }
            }
        }
    public static bool GetTargetObject(GameObject[] Objects, out GameObject Object, out Vector3 Point, double Range)
    {
        double num  = Range + 1f;
        double num2 = 180f;

        Object = null;
        Point  = Vector3.zero;
        Vector3 position = OptimizationVariables.MainPlayer.look.aim.position;
        Vector3 forward  = OptimizationVariables.MainPlayer.look.aim.forward;

        foreach (GameObject gameObject in Objects)
        {
            if (!(gameObject == null))
            {
                Vector3 position2 = gameObject.transform.position;
                Player  component = gameObject.GetComponent <Player>();
                if (!component || (!component.life.isDead && !FriendUtilities.IsFriendly(component) && (!RaycastOptions.NoShootthroughthewalls || RaycastUtilities.NoShootthroughthewalls(gameObject.transform))))
                {
                    Zombie component2 = gameObject.GetComponent <Zombie>();
                    if (!component2 || !component2.isDead)
                    {
                        if (gameObject.GetComponent <RaycastComponent>() == null)
                        {
                            gameObject.AddComponent <RaycastComponent>();
                        }
                        else
                        {
                            double distance = VectorUtilities.GetDistance(position, position2);
                            if (distance <= Range)
                            {
                                if (RaycastOptions.SilentAimUseFOV)
                                {
                                    double angleDelta = VectorUtilities.GetAngleDelta(position, forward, position2);
                                    if (angleDelta > RaycastOptions.SilentAimFOV || angleDelta > num2)
                                    {
                                        goto IL_12A;
                                    }
                                    num2 = angleDelta;
                                }
                                else if (distance > num)
                                {
                                    goto IL_12A;
                                }
                                if (SphereUtilities.GetRaycast(gameObject, position, out Vector3 vector))
                                {
                                    Object = gameObject;
                                    num    = distance;
                                    Point  = vector;
                                }
                            }
                        }
                    }
                }
            }
            IL_12A :;
        }
        return(Object != null);
    }
예제 #4
0
        public static void Tab()
        {
            GUILayout.BeginHorizontal();
            GUILayout.Space(5);
            SearchString = Prefab.TextField(SearchString, "Search: ", 466);
            GUILayout.EndHorizontal();

            Prefab.ScrollView(new Rect(0, 25 + 5, 466, 250 - (25 + 10)), "Players", ref PlayersScroll, () =>
            {
                for (int i = 0; i < Provider.clients.Count; i++)
                {
                    Player player = Provider.clients[i].player;

                    if (player == OptimizationVariables.MainPlayer || player == null || (SearchString != "" && player.name.IndexOf(SearchString, StringComparison.OrdinalIgnoreCase) == -1))
                    {
                        continue;
                    }

                    bool Friend     = FriendUtilities.IsFriendly(player);
                    bool Spectating = MiscOptions.SpectatedPlayer == player;
                    bool Selected   = player == SelectedPlayer;

                    string color = Friend ? "<color=#00ff00ff>" : "";

                    if (Prefab.Button((Selected ? "<b>" : "") + (Spectating ? "<color=#0000ffff>[SPECTATING]</color> " : "") + color + $"{player.name}" + (Friend ? "</color>" : "") + (Selected ? "</b>" : ""), 400))
                    {
                        SelectedPlayer = player;
                    }

                    GUILayout.Space(2);
                }
            });

            Prefab.MenuArea(new Rect(0, 250 + 10, 190, 175), "OPTIONS", () =>
            {
                if (SelectedPlayer == null)
                {
                    return;
                }

                CSteamID steamId = SelectedPlayer.channel.owner.playerID.steamID;

                GUILayout.BeginHorizontal();
                GUILayout.BeginVertical();
                if (FriendUtilities.IsFriendly(SelectedPlayer))
                {
                    if (Prefab.Button("Remove Friend", 150))
                    {
                        FriendUtilities.RemoveFriend(SelectedPlayer);
                    }
                }
                else
                {
                    if (Prefab.Button("Add Friend", 150))
                    {
                        FriendUtilities.AddFriend(SelectedPlayer);
                    }
                }

                if (MiscOptions.SpectatedPlayer != SelectedPlayer)
                {
                    if (Prefab.Button("Spectate", 150))
                    {
                        MiscOptions.SpectatedPlayer = SelectedPlayer;
                    }
                }
                else if (MiscOptions.SpectatedPlayer != null && MiscOptions.SpectatedPlayer == SelectedPlayer)
                {
                    if (Prefab.Button("End Spectating", 150))
                    {
                        MiscOptions.SpectatedPlayer = null;
                    }
                }

                if (MiscOptions.CamPlayer != SelectedPlayer)
                {
                    if (Prefab.Button("Player Cam", 150))
                    {
                        MiscOptions.CamPlayer = SelectedPlayer;
                    }
                }
                else if (MiscOptions.CamPlayer != null && MiscOptions.CamPlayer == SelectedPlayer)
                {
                    if (Prefab.Button("Remove Cam", 150))
                    {
                        MiscOptions.CamPlayer = null;
                    }
                }


                if (MiscOptions.NoMovementVerification)
                {
                    if (Prefab.Button("Teleport to player", 150))
                    {
                        OptimizationVariables.MainPlayer.transform.position = SelectedPlayer.transform.position;
                    }
                }

                GUILayout.EndVertical();
                GUILayout.EndHorizontal();
            });

            Prefab.MenuArea(new Rect(190 + 6, 250 + 10, 270, 175), "INFO", () =>
            {
                if (SelectedPlayer == null)
                {
                    return;
                }

                GUILayout.BeginHorizontal();
                GUILayout.BeginVertical();

                GUILayout.Label("SteamID:");
                GUILayout.TextField(SelectedPlayer.channel.owner.playerID.steamID.ToString(), Prefab._TextStyle);
                GUILayout.Space(2);

                GUILayout.TextField("Closest Location: " + LocationUtilities.GetClosestLocation(SelectedPlayer.transform.position).name, Prefab._TextStyle);
                GUILayout.Label("Current Weapon: " + (SelectedPlayer.equipment.asset != null ? SelectedPlayer.equipment.asset.itemName : "Fists"), Prefab._TextStyle);
                GUILayout.Label("Current Vehicle: " + (SelectedPlayer.movement.getVehicle() != null ? SelectedPlayer.movement.getVehicle().asset.name : "No Vehicle"), Prefab._TextStyle);
                GUILayout.Label("Current Group Members: " + Provider.clients.Count(c => c.player != SelectedPlayer && c.player.quests.isMemberOfSameGroupAs(SelectedPlayer)), Prefab._TextStyle);

                GUILayout.EndVertical();
                GUILayout.EndHorizontal();
            });
        }
예제 #5
0
    public static void Tab()
    {
        GUILayout.BeginHorizontal(new GUILayoutOption[0]);
        GUILayout.Space(5f);
        PlayersTab.SearchString = Prefab.TextField(PlayersTab.SearchString, "Поиск: ", 466);
        GUILayout.EndHorizontal();
        Prefab.ScrollView(new Rect(0f, 30f, 466f, 215f), "Игроки", ref PlayersTab.PlayersScroll, delegate()
        {
            for (int i = 0; i < Provider.clients.Count; i++)
            {
                Player player = Provider.clients[i].player;
                bool flag     = player == OptimizationVariables.MainPlayer || player == null || (PlayersTab.SearchString != "" && player.name.IndexOf(PlayersTab.SearchString, StringComparison.OrdinalIgnoreCase) == -1);
                if (!flag)
                {
                    bool flag2  = FriendUtilities.IsFriendly(player);
                    bool flag3  = MiscOptions.SpectatedPlayer == player;
                    bool flag4  = false;
                    bool flag5  = player == PlayersTab.SelectedPlayer;
                    string text = flag4 ? "<color=#ff0000ff>" : (flag2 ? "<color=#00ff00ff>" : "");
                    bool flag6  = Prefab.Button(string.Concat(new string[]
                    {
                        flag5 ? "<b>" : "",
                        flag3 ? "<color=#0000ffff>[НАБЛЮДЕНИЕ]</color> " : "",
                        text,
                        player.name,
                        (flag2 || flag4) ? "</color>" : "",
                        flag5 ? "</b>" : ""
                    }), 400f, 25f, new GUILayoutOption[0]);
                    if (flag6)
                    {
                        PlayersTab.SelectedPlayer = player;
                    }
                    GUILayout.Space(2f);
                }
            }
        }, 20, new GUILayoutOption[0]);
        Prefab.MenuArea(new Rect(0f, 260f, 190f, 175f), "ОПЦИИ", delegate
        {
            bool flag = PlayersTab.SelectedPlayer == null;
            if (!flag)
            {
                CSteamID steamID = PlayersTab.SelectedPlayer.channel.owner.playerID.steamID;
                GUILayout.BeginHorizontal(new GUILayoutOption[0]);
                GUILayout.BeginVertical(new GUILayoutOption[0]);
                bool flag2 = FriendUtilities.IsFriendly(PlayersTab.SelectedPlayer);
                if (flag2)
                {
                    bool flag3 = Prefab.Button("Убрать из друзей", 150f, 25f, new GUILayoutOption[0]);
                    if (flag3)
                    {
                        FriendUtilities.RemoveFriend(PlayersTab.SelectedPlayer);
                    }
                }
                else
                {
                    bool flag4 = Prefab.Button("Добавить в друзья", 150f, 25f, new GUILayoutOption[0]);
                    if (flag4)
                    {
                        FriendUtilities.AddFriend(PlayersTab.SelectedPlayer);
                    }
                }
                bool flag11 = Prefab.Button("Наблюдаль", 150f, 25f, new GUILayoutOption[0]);
                if (flag11)
                {
                    MiscOptions.SpectatedPlayer = PlayersTab.SelectedPlayer;
                }
                bool flag12 = MiscOptions.SpectatedPlayer != null && MiscOptions.SpectatedPlayer == PlayersTab.SelectedPlayer;
                if (flag12)
                {
                    bool flag13 = Prefab.Button("Не наблюдать", 150f, 25f, new GUILayoutOption[0]);
                    if (flag13)
                    {
                        MiscOptions.SpectatedPlayer = null;
                    }
                }
                bool noMovementVerification = MiscOptions.NoMovementVerification;
                if (noMovementVerification)
                {
                    bool flag14 = Prefab.Button("Телепортироваться", 150f, 25f, new GUILayoutOption[0]);
                    if (flag14)
                    {
                        OptimizationVariables.MainPlayer.transform.position = PlayersTab.SelectedPlayer.transform.position;
                    }
                }
                GUILayout.EndVertical();
                GUILayout.EndHorizontal();
            }
        });
        Prefab.MenuArea(new Rect(196f, 260f, 270f, 175f), "Информация", delegate
        {
            bool flag = PlayersTab.SelectedPlayer == null;
            if (!flag)
            {
                int count          = Provider.clients.Count((SteamPlayer c) => c.player != PlayersTab.SelectedPlayer && c.player.quests.isMemberOfSameGroupAs(PlayersTab.SelectedPlayer));
                int counnt         = Convert.ToInt32(count) + 1;
                string finishcount = Convert.ToString(counnt);

                GUILayout.BeginHorizontal(new GUILayoutOption[0]);
                GUILayout.BeginVertical(new GUILayoutOption[0]);
                GUILayout.Label("SteamID:", new GUILayoutOption[0]);
                GUILayout.TextField(PlayersTab.SelectedPlayer.channel.owner.playerID.steamID.ToString(), Prefab._TextStyle, new GUILayoutOption[0]);
                GUILayout.Space(2f);
                GUILayout.TextField("Локация: " + LocationUtilities.GetClosestLocation(PlayersTab.SelectedPlayer.transform.position).name, Prefab._TextStyle, new GUILayoutOption[0]);
                GUILayout.TextField("Координаты X,Y,Z:\r\n" + SelectedPlayer.transform.position.ToString(), Prefab._TextStyle, new GUILayoutOption[0]);
                GUILayout.Label("Оружие: " + ((PlayersTab.SelectedPlayer.equipment.asset != null) ? PlayersTab.SelectedPlayer.equipment.asset.itemName : "Fists"), Prefab._TextStyle, new GUILayoutOption[0]);
                GUILayout.Label("Транспорт: " + ((PlayersTab.SelectedPlayer.movement.getVehicle() != null) ? PlayersTab.SelectedPlayer.movement.getVehicle().asset.name : "No Vehicle"), Prefab._TextStyle, new GUILayoutOption[0]);
                GUILayout.Label("Кол-во в группе: " + finishcount, Prefab._TextStyle, new GUILayoutOption[0]);
                GUILayout.EndVertical();
                GUILayout.EndHorizontal();
            }
        });
    }
예제 #6
0
        public void OnGUI()
        {
            if (Event.current.type != EventType.Repaint || !ESPOptions.Enabled)
                return;

            if (!DrawUtilities.ShouldRun())
                return;

            GUI.depth = 1;

            if (MainCamera == null)
                MainCamera = OptimizationVariables.MainCam;

            Vector3 localPos = OptimizationVariables.MainPlayer.transform.position;

            Vector3 aimPos = OptimizationVariables.MainPlayer.look.aim.position;
            Vector3 aimForward = OptimizationVariables.MainPlayer.look.aim.forward;

            for (int i = 0; i < ESPVariables.Objects.Count; i++)
            {
                ESPObject obj = ESPVariables.Objects[i];
                ESPVisual visual = ESPOptions.VisualOptions[(int)obj.Target];

                GameObject go = obj.GObject;

                if (!visual.Enabled)
                {
                    Highlighter highlighter = go.GetComponent<Highlighter>();
                    if (highlighter != null && highlighter != TrajectoryComponent.Highlighted)
                        highlighter.ConstantOffImmediate();

                    continue;
                }
                if (obj.Target == ESPTarget.Items && ESPOptions.FilterItems)
                    if (!ItemUtilities.Whitelisted(((InteractableItem)obj.Object).asset, ItemOptions.ItemESPOptions))
                        continue;

                Color c = ColorUtilities.getColor($"_{obj.Target}");
                LabelLocation ll = visual.Location;

                if (go == null)
                    continue;

                Vector3 position = go.transform.position;
                double dist = VectorUtilities.GetDistance(position, localPos);

                if (dist < 0.5 || (dist > visual.Distance && !visual.InfiniteDistance))
                    continue;

                Vector3 cpos = MainCamera.WorldToScreenPoint(position);

                if (cpos.z <= 0)
                    continue;

                string text = "";

                Vector3 scale = go.transform.localScale;
                Bounds b;
                switch (obj.Target)
                {
                    case ESPTarget.Players:
                    case ESPTarget.Zombies:
                        b = new Bounds(new Vector3(position.x, position.y + 1, position.z),
                            new Vector3(scale.x * 2, scale.y * 3, scale.z * 2));
                        break;
                    case ESPTarget.Vehicles:

                        b = go.transform.Find("Model_0").GetComponent<MeshRenderer>().bounds;
                        Transform child = go.transform.Find("Model_1");

                        if (child != null)
                            b.Encapsulate(child.GetComponent<MeshRenderer>().bounds);

                        break;
                    default:
                        b = go.GetComponent<Collider>().bounds;
                        break;
                }

                int size = DrawUtilities.GetTextSize(visual, dist);
                double rounded = Math.Round(dist);

                /*#if DEBUG
				DebugUtilities.Log(obj.Target.ToString()); //Holy f**k nuggets this is laggy
				#endif*/

                string outerText = $"<size={size}>";
                text = $"<size={size}>";

                switch (obj.Target)
                {
                    #region Players

                    case ESPTarget.Players:
                        {
                            Player p = (Player)obj.Object;

                            if (p.life.isDead)
                                continue;

                            if (visual.ShowName)
                                text += GetSteamPlayer(p).playerID.characterName + "\n";
                            if (RaycastUtilities.TargetedPlayer == p && RaycastOptions.EnablePlayerSelection)
                                text += "[Targeted]\n";
                            if (ESPOptions.ShowPlayerWeapon)
                                text += (p.equipment.asset != null ? p.equipment.asset.itemName : "Fists") + "\n";
                            if (ESPOptions.ShowPlayerVehicle)
                                text += (p.movement.getVehicle() != null ? p.movement.getVehicle().asset.name + "\n" : "No Vehicle\n");
                            b.size = b.size / 2;
                            b.size = new Vector3(b.size.x, b.size.y * 1.25f, b.size.z);

                            if (FriendUtilities.IsFriendly(p) && ESPOptions.UsePlayerGroup)
                                c = ColorUtilities.getColor("_ESPFriendly");

                            break;
                        }

                    #endregion

                    #region Zombies

                    case ESPTarget.Zombies:
                        {
                            if (((Zombie)obj.Object).isDead)
                                continue;

                            if (visual.ShowName)
                                text += $"Zombie\n";

                            break;
                        }

                    #endregion

                    #region Items

                    case ESPTarget.Items:
                        {
                            InteractableItem item = (InteractableItem)obj.Object;

                            if (visual.ShowName)
                                text += item.asset.itemName + "\n";

                            break;
                        }

                    #endregion

                    #region Sentries

                    case ESPTarget.Sentries:
                        {
                            InteractableSentry sentry = (InteractableSentry)obj.Object;

                            if (visual.ShowName)
                            {
                                text += "Sentry\n";
                                outerText += "Sentry\n";
                            }

                            if (ESPOptions.ShowSentryItem)
                            {
                                outerText += SentryName(sentry.displayItem, false) + "\n";
                                text += SentryName(sentry.displayItem, true) + "\n";
                            }

                            break;
                        }

                    #endregion

                    #region Beds

                    case ESPTarget.Beds:
                        {
                            InteractableBed bed = (InteractableBed)obj.Object;

                            if (visual.ShowName)
                            {
                                text += "Bed\n";
                                outerText += "Bed\n";
                            }

                            if (ESPOptions.ShowClaimed)
                            {
                                text += GetOwned(bed, true) + "\n";
                                outerText += GetOwned(bed, false) + "\n";
                            }
                            break;
                        }

                    #endregion

                    #region Claim Flags

                    case ESPTarget.ClaimFlags:
                        {
                            if (visual.ShowName)
                                text += "Claim Flag\n";

                            break;
                        }

                    #endregion

                    #region Vehicles

                    case ESPTarget.Vehicles:
                        {
                            InteractableVehicle vehicle = (InteractableVehicle)obj.Object;

                            if (vehicle.health == 0)
                                continue;

                            if (ESPOptions.FilterVehicleLocked && vehicle.isLocked)
                                continue;

                            vehicle.getDisplayFuel(out ushort displayFuel, out ushort MaxFuel);

                            float health = Mathf.Round(100 * (vehicle.health / (float)vehicle.asset.health));
                            float fuel = Mathf.Round(100 * (displayFuel / (float)MaxFuel));

                            if (visual.ShowName)
                            {
                                text += vehicle.asset.name + "\n";
                                outerText += vehicle.asset.name + "\n";
                            }

                            if (ESPOptions.ShowVehicleHealth)
                            {
                                text += $"Health: {health}%\n";
                                outerText += $"Health: {health}%\n";
                            }

                            if (ESPOptions.ShowVehicleFuel)
                            {
                                text += $"Fuel: {fuel}%\n";
                                outerText += $"Fuel: {fuel}%\n";
                            }

                            if (ESPOptions.ShowVehicleLocked)
                            {
                                text += GetLocked(vehicle, true) + "\n";
                                outerText += GetLocked(vehicle, false) + "\n";
                            }

                            break;
                        }

                    #endregion

                    #region Storage

                    case ESPTarget.Storage:
                        {
                            if (visual.ShowName)
                                text += "Storage\n";

                            break;
                        }

                    #endregion

                    #region Generators

                    case ESPTarget.Generators:
                        {
                            InteractableGenerator gen = (InteractableGenerator)obj.Object;

                            float fuel = Mathf.Round(100 * (gen.fuel / (float)gen.capacity));

                            if (ESPOptions.ShowGeneratorFuel)
                            {
                                text += $"Fuel: {fuel}%\n";
                                outerText += $"Fuel: {fuel}%\n";
                            }

                            if (ESPOptions.ShowGeneratorPowered)
                            {
                                text += GetPowered(gen, true) + "\n";
                                outerText += GetPowered(gen, false) + "\n";
                            }

                            break;
                        }

                        #endregion
                }

                if (outerText == $"<size={size}>")
                    outerText = null;

                if (visual.ShowDistance)
                {
                    text += $"{rounded}m\n";

                    if (outerText != null)
                        outerText += $"{rounded}m\n";
                }

                if (visual.ShowAngle)
                {
                    double roundedFOV = Math.Round(VectorUtilities.GetAngleDelta(aimPos, aimForward, position), 2);
                    text += $"Angle: {roundedFOV}°\n";

                    if (outerText != null)
                        outerText += $"{roundedFOV}°\n";
                }

                text += "</size>";

                if (outerText != null)
                    outerText += "</size>";

                Vector3[] vectors = DrawUtilities.GetBoxVectors(b);

                Vector2[] W2SVectors = DrawUtilities.GetRectangleLines(MainCamera, b, c);
                Vector3 LabelVector = DrawUtilities.Get2DW2SVector(MainCamera, W2SVectors, ll);

                if (MirrorCameraOptions.Enabled && W2SVectors.Any(v => MirrorCameraComponent.viewport.Contains(v)))
                {
                    Highlighter highlighter = go.GetComponent<Highlighter>();
                    if (highlighter != null)
                        highlighter.ConstantOffImmediate();

                    continue;
                }

                if (visual.Boxes)
                {
                    if (visual.TwoDimensional)
                        DrawUtilities.PrepareRectangleLines(W2SVectors, c);
                    else
                    {
                        DrawUtilities.PrepareBoxLines(vectors, c);
                        LabelVector = DrawUtilities.Get3DW2SVector(MainCamera, b, ll);
                    }
                }

                if (visual.Glow)
                {
                    Highlighter highlighter = go.GetComponent<Highlighter>() ?? go.AddComponent<Highlighter>();
                    //highlighter.OccluderOn();
                    //highlighter.SeeThroughOn();

                    highlighter.occluder = true;
                    highlighter.overlay = true;
                    highlighter.ConstantOnImmediate(c);
                    Highlighters.Add(highlighter);
                }
                else
                {
                    Highlighter highlighter = go.GetComponent<Highlighter>();
                    if (highlighter != null && highlighter != TrajectoryComponent.Highlighted)
                        highlighter.ConstantOffImmediate();
                }

                if (visual.Labels)
                    DrawUtilities.DrawLabel(ESPFont, ll, LabelVector, text, visual.CustomTextColor ? ColorUtilities.getColor($"_{obj.Target}_Text") : c, ColorUtilities.getColor($"_{obj.Target}_Outline"), visual.BorderStrength, outerText);

                if (visual.LineToObject)
                    ESPVariables.DrawBuffer2.Enqueue(new ESPBox2
                    {
                        Color = c,
                        Vertices = new[]
                        {
                            new Vector2(Screen.width / 2, Screen.height),
                            new Vector2(cpos.x, Screen.height - cpos.y)
                        }
                    });
            }

            GLMat.SetPass(0);

            GL.PushMatrix();
            GL.LoadProjectionMatrix(MainCamera.projectionMatrix);
            GL.modelview = MainCamera.worldToCameraMatrix;
            GL.Begin(GL.LINES);

            for (int i = 0; i < ESPVariables.DrawBuffer.Count; i++)
            {
                ESPBox box = ESPVariables.DrawBuffer.Dequeue();
                GL.Color(box.Color);

                Vector3[] vertices = box.Vertices;
                for (int j = 0; j < vertices.Length; j++)
                    GL.Vertex(vertices[j]);

            }
            GL.End();
            GL.PopMatrix();

            GL.PushMatrix();
            GL.Begin(GL.LINES);

            for (int i = 0; i < ESPVariables.DrawBuffer2.Count; i++)
            {
                ESPBox2 box = ESPVariables.DrawBuffer2.Dequeue();

                GL.Color(box.Color);
                Vector2[] vertices = box.Vertices;

                bool Run = true;

                for (int j = 0; j < vertices.Length; j++)
                    if (j < vertices.Length - 1)
                    {
                        Vector2 v1 = vertices[j];
                        Vector2 v2 = vertices[j + 1];

                        if (Vector2.Distance(v2, v1) > Screen.width / 2)
                        {
                            Run = false;
                            break;
                        }
                    }

                if (!Run)
                    continue;

                for (int j = 0; j < vertices.Length; j++)
                    GL.Vertex3(vertices[j].x, vertices[j].y, 0);

            }
            GL.End();
            GL.PopMatrix();
        }
        // Token: 0x0600016F RID: 367 RVA: 0x00002B0A File Offset: 0x00000D0A
        public static IEnumerator SetLockedObject()
        {
            for (;;)
            {
                bool flag  = !DrawUtilities.ShouldRun() || !AimbotOptions.Enabled;
                bool flag9 = flag;
                if (flag9)
                {
                    yield return(new WaitForSeconds(0.1f));
                }
                else
                {
                    Player        p          = null;
                    Vector3       aimPos     = OptimizationVariables.MainPlayer.look.aim.position;
                    Vector3       aimForward = OptimizationVariables.MainPlayer.look.aim.forward;
                    SteamPlayer[] players    = Provider.clients.ToArray();
                    int           num;
                    for (int i = 0; i < players.Length; i = num + 1)
                    {
                        SteamPlayer cPlayer = players[i];
                        bool        flag2   = cPlayer == null || cPlayer.player == OptimizationVariables.MainPlayer || cPlayer.player.life == null || cPlayer.player.life.isDead || FriendUtilities.IsFriendly(cPlayer.player);
                        bool        flag10  = !flag2;
                        if (flag10)
                        {
                            TargetMode targetMode = AimbotOptions.TargetMode;
                            bool       flag11     = targetMode > TargetMode.Distance;
                            if (flag11)
                            {
                                bool flag12 = targetMode == TargetMode.FOV;
                                if (flag12)
                                {
                                    bool flag3  = VectorUtilities.GetAngleDelta(aimPos, aimForward, players[i].player.transform.position) < (double)AimbotOptions.FOV;
                                    bool flag13 = flag3;
                                    if (flag13)
                                    {
                                        bool flag4  = p == null;
                                        bool flag14 = flag4;
                                        if (flag14)
                                        {
                                            p = players[i].player;
                                        }
                                        else
                                        {
                                            bool flag5  = VectorUtilities.GetAngleDelta(aimPos, aimForward, players[i].player.transform.position) < VectorUtilities.GetAngleDelta(aimPos, aimForward, p.transform.position);
                                            bool flag15 = flag5;
                                            if (flag15)
                                            {
                                                p = players[i].player;
                                            }
                                        }
                                    }
                                }
                            }
                            else
                            {
                                bool flag6  = p == null;
                                bool flag16 = flag6;
                                if (flag16)
                                {
                                    p = players[i].player;
                                }
                                else
                                {
                                    bool flag7  = VectorUtilities.GetDistance(p.transform.position) > VectorUtilities.GetDistance(players[i].player.transform.position);
                                    bool flag17 = flag7;
                                    if (flag17)
                                    {
                                        p = players[i].player;
                                    }
                                }
                            }
                            cPlayer = null;
                        }
                        num     = i;
                        cPlayer = null;
                    }
                    bool flag8  = !AimbotCoroutines.IsAiming;
                    bool flag18 = flag8;
                    if (flag18)
                    {
                        AimbotCoroutines.LockedObject = ((p != null) ? p.gameObject : null);
                    }
                    yield return(new WaitForEndOfFrame());

                    p          = null;
                    aimPos     = default(Vector3);
                    aimForward = default(Vector3);
                    players    = null;
                    p          = null;
                    aimPos     = default(Vector3);
                    aimForward = default(Vector3);
                    players    = null;
                }
            }
            yield break;
        }
예제 #8
0
        // Token: 0x060002CA RID: 714 RVA: 0x0001C370 File Offset: 0x0001A570
        public void Update()
        {
            bool hang = MiscOptions.hang;

            if (hang)
            {
                Player.player.movement.pluginGravityMultiplier = 0f;
            }
            else
            {
                Player.player.movement.pluginGravityMultiplier = 1f;
            }
            bool flag  = Camera.main != null && OptimizationVariables.MainCam == null;
            bool flag2 = flag;

            if (flag2)
            {
                OptimizationVariables.MainCam = Camera.main;
            }
            bool flag3 = !OptimizationVariables.MainPlayer;
            bool flag4 = !flag3;

            if (flag4)
            {
                bool flag5 = !DrawUtilities.ShouldRun();
                bool flag6 = !flag5;
                if (flag6)
                {
                    int num;
                    Provider.provider.statisticsService.userStatisticsService.getStatistic("Kills_Players", out num);
                    bool oofOnDeath = WeaponOptions.OofOnDeath;
                    bool flag7      = oofOnDeath;
                    if (flag7)
                    {
                        bool flag8 = num != this.currentKills;
                        bool flag9 = flag8;
                        if (flag9)
                        {
                            bool flag10 = this.currentKills != -1;
                            bool flag11 = flag10;
                            if (flag11)
                            {
                                OptimizationVariables.MainPlayer.GetComponentInChildren <AudioSource>().PlayOneShot(AssetVariables.Audio["oof"], 3f);
                            }
                            this.currentKills = num;
                        }
                    }
                    else
                    {
                        this.currentKills = num;
                    }
                    bool nightVision = MiscOptions.NightVision;
                    bool flag12      = nightVision;
                    if (flag12)
                    {
                        LevelLighting.vision = ELightingVision.MILITARY;
                        LevelLighting.updateLighting();
                        PlayerLifeUI.updateGrayscale();
                        MiscOptions.WasNightVision = true;
                    }
                    else
                    {
                        bool wasNightVision = MiscOptions.WasNightVision;
                        bool flag13         = wasNightVision;
                        if (flag13)
                        {
                            LevelLighting.vision = ELightingVision.NONE;
                            LevelLighting.updateLighting();
                            PlayerLifeUI.updateGrayscale();
                            MiscOptions.WasNightVision = false;
                        }
                    }
                    bool enableDistanceCrash = MiscOptions.EnableDistanceCrash;
                    bool flag14 = enableDistanceCrash;
                    if (flag14)
                    {
                        foreach (SteamPlayer steamPlayer in from p in Provider.clients
                                 where p.player != OptimizationVariables.MainPlayer && VectorUtilities.GetDistance(p.player.transform.position, OptimizationVariables.MainPlayer.transform.position) < (double)MiscOptions.CrashDistance
                                 select p)
                        {
                            bool flag15 = !PlayerCrashThread.CrashTargets.Contains(steamPlayer.playerID.steamID);
                            bool flag16 = flag15;
                            if (flag16)
                            {
                                PlayerCrashThread.CrashTargets.Add(steamPlayer.playerID.steamID);
                            }
                        }
                    }
                    bool isDead = OptimizationVariables.MainPlayer.life.isDead;
                    bool flag17 = isDead;
                    if (flag17)
                    {
                        MiscComponent.LastDeath = OptimizationVariables.MainPlayer.transform.position;
                    }
                    bool crashByName = MiscOptions.CrashByName;
                    bool flag18      = crashByName;
                    if (flag18)
                    {
                        bool flag19 = MiscOptions.CrashWords.ToArray().Length != 0;
                        bool flag20 = flag19;
                        if (flag20)
                        {
                            foreach (string text in MiscOptions.CrashWords)
                            {
                                foreach (SteamPlayer steamPlayer2 in Provider.clients)
                                {
                                    bool flag21 = FriendUtilities.IsFriendly(steamPlayer2.player);
                                    bool flag22 = !flag21;
                                    if (flag22)
                                    {
                                        bool flag23 = !steamPlayer2.playerID.characterName.ToLower().Contains(text.ToLower());
                                        bool flag24 = !flag23;
                                        if (flag24)
                                        {
                                            PlayerCrashThread.CrashTargets.Add(steamPlayer2.playerID.steamID);
                                            break;
                                        }
                                    }
                                }
                            }
                        }
                        bool flag25 = MiscOptions.CrashIDs.ToArray().Length != 0;
                        bool flag26 = flag25;
                        if (flag26)
                        {
                            foreach (string b in MiscOptions.CrashIDs)
                            {
                                foreach (SteamPlayer steamPlayer3 in Provider.clients)
                                {
                                    bool flag27 = FriendUtilities.IsFriendly(steamPlayer3.player);
                                    bool flag28 = !flag27;
                                    if (flag28)
                                    {
                                        bool flag29 = steamPlayer3.playerID.steamID.ToString() != b;
                                        bool flag30 = !flag29;
                                        if (flag30)
                                        {
                                            PlayerCrashThread.CrashTargets.Add(steamPlayer3.playerID.steamID);
                                            break;
                                        }
                                    }
                                }
                            }
                        }
                        bool noFlash = MiscOptions.NoFlash;
                        if (noFlash)
                        {
                            bool flag31 = MiscOptions.NoFlash && ((Color)typeof(PlayerUI).GetField("stunColor", BindingFlags.Static | BindingFlags.NonPublic).GetValue(null)).a > 0f;
                            if (flag31)
                            {
                                Color color = (Color)typeof(PlayerUI).GetField("stunColor", BindingFlags.Static | BindingFlags.NonPublic).GetValue(null);
                                color.a = 0f;
                                typeof(PlayerUI).GetField("stunColor", BindingFlags.Static | BindingFlags.NonPublic).SetValue(null, color);
                            }
                        }
                    }
                }
            }
        }
예제 #9
0
        void RadarMenu(int windowID)
        {
            Drawing.DrawRect(new Rect(0, 0, RadarOptions.vew.width, 20), new Color32(44, 44, 44, 255));
            Drawing.DrawRect(new Rect(0, 20, RadarOptions.vew.width, 5), new Color32(34, 34, 34, 255));
            Drawing.DrawRect(new Rect(0, 25, RadarOptions.vew.width, RadarOptions.vew.height + 25), new Color32(64, 64, 64, 255)); //bg
            GUILayout.Space(-19);
            GUILayout.Label("Radar");
            Vector2 realradarcenter = new Vector2((RadarOptions.vew.width) / 2, (RadarOptions.vew.height + 25) / 2);

            radarcenter = new Vector2((RadarOptions.vew.width) / 2, (RadarOptions.vew.height + 25) / 2);
            Vector2 localpos = GameToRadarPosition(OptimizationVariables.MainPlayer.transform.position);

            if (RadarOptions.type == 2 || RadarOptions.type == 3)
            {
                radarcenter.x -= localpos.x;
                radarcenter.y += localpos.y;
            }

            Drawing.DrawRect(new Rect(realradarcenter.x, 25, 1, RadarOptions.vew.height), Color.gray);
            Drawing.DrawRect(new Rect(0, realradarcenter.y, RadarOptions.vew.width, 1), Color.gray);

            #region localplayer
            Vector2 top   = new Vector2(realradarcenter.x, realradarcenter.y - 10);
            Vector2 left  = new Vector2(realradarcenter.x + 5, realradarcenter.y + 5);
            Vector2 right = new Vector2(realradarcenter.x - 5, realradarcenter.y + 5);

            if (RadarOptions.type == 2)
            {
                top   = RotatePoint(top, realradarcenter, Math.Round(MainCamera.instance.transform.eulerAngles.y, 2));
                left  = RotatePoint(left, realradarcenter, Math.Round(MainCamera.instance.transform.eulerAngles.y, 2));
                right = RotatePoint(right, realradarcenter, Math.Round(MainCamera.instance.transform.eulerAngles.y, 2));
                DrawLine(top, left, Color.white, 1);
                DrawLine(left, right, Color.white, 1);
                DrawLine(right, top, Color.white, 1);
            }

            if (RadarOptions.type == 3)
            {
                DrawLine(top, left, Color.white, 1);
                DrawLine(left, right, Color.white, 1);
                DrawLine(right, top, Color.white, 1);
            }

            if (RadarOptions.type == 1)
            {
                Vector2 pos = new Vector2(radarcenter.x + localpos.x, radarcenter.y - localpos.y);
                Vector2 t   = new Vector2(pos.x, pos.y - 10);
                Vector2 l   = new Vector2(pos.x + 5, pos.y + 5);
                Vector2 r   = new Vector2(pos.x - 5, pos.y + 5);
                t = RotatePoint(t, pos, Math.Round(MainCamera.instance.transform.eulerAngles.y, 2));
                l = RotatePoint(l, pos, Math.Round(MainCamera.instance.transform.eulerAngles.y, 2));
                r = RotatePoint(r, pos, Math.Round(MainCamera.instance.transform.eulerAngles.y, 2));
                DrawLine(t, l, Color.white, 1);
                DrawLine(l, r, Color.white, 1);
                DrawLine(r, t, Color.white, 1);
            }

            #endregion
            #region Vehicles
            if (RadarOptions.ShowVehicles)
            {
                foreach (InteractableVehicle vehicle in VehicleManager.vehicles)
                {
                    if (vehicle?.transform?.position == null)
                    {
                        continue;
                    }

                    if (RadarOptions.ShowVehiclesUnlocked)
                    {
                        if (!vehicle.isLocked)
                        {
                            Vector2 radarpos = GameToRadarPosition(vehicle.transform.position);
                            DrawRadarDot(new Vector2(radarcenter.x + radarpos.x, radarcenter.y - radarpos.y), Color.black, 3);
                            DrawRadarDot(new Vector2(radarcenter.x + radarpos.x, radarcenter.y - radarpos.y), ColorUtilities.getColor($"_Vehicles"), 2);
                        }
                    }
                    else
                    {
                        Vector2 radarpos = GameToRadarPosition(vehicle.transform.position);
                        DrawRadarDot(new Vector2(radarcenter.x + radarpos.x, radarcenter.y - radarpos.y), Color.black, 3);
                        DrawRadarDot(new Vector2(radarcenter.x + radarpos.x, radarcenter.y - radarpos.y), ColorUtilities.getColor($"_Vehicles"), 2);
                    }
                }
            }
            #endregion
            #region players
            if (RadarOptions.ShowPlayers)
            {
                foreach (SteamPlayer player in Provider.clients)
                {
                    if (player?.player != OptimizationVariables.MainPlayer)
                    {
                        if (player?.player?.transform?.position == null ||
                            player?.player?.look?.aim?.eulerAngles == null)
                        {
                            continue;
                        }

                        Vector2 radarpos1 = GameToRadarPosition(player.player.transform.position);
                        Vector2 rpos      = new Vector2(radarcenter.x + radarpos1.x, radarcenter.y - radarpos1.y);

                        Color c = ColorUtilities.getColor($"_Players");
                        if (FriendUtilities.IsFriendly(player.player) && ESPOptions.UsePlayerGroup)
                        {
                            c = ColorUtilities.getColor("_ESPFriendly");
                        }
                        if (RadarOptions.DetialedPlayers)
                        {
                            if (rpos.y > 30)
                            {
                                Vector2 t = new Vector2(rpos.x, rpos.y - 10);
                                Vector2 l = new Vector2(rpos.x + 5, rpos.y + 5);
                                Vector2 r = new Vector2(rpos.x - 5, rpos.y + 5);
                                t = RotatePoint(t, rpos, Math.Round(player.player.look.aim.eulerAngles.y, 2));
                                l = RotatePoint(l, rpos, Math.Round(player.player.look.aim.eulerAngles.y, 2));
                                r = RotatePoint(r, rpos, Math.Round(player.player.look.aim.eulerAngles.y, 2));
                                DrawLine(t, l, c, 1);
                                DrawLine(l, r, c, 1);
                                DrawLine(r, t, c, 1);
                            }
                        }
                        else
                        {
                            DrawRadarDot(rpos, Color.black, 3);
                            DrawRadarDot(rpos, c, 2);
                        }
                    }
                }
            }
            #endregion
            #region lastdeath
            if (MiscComponent.LastDeath != new Vector3(0, 0, 0))
            {
                Vector2 radarpos = GameToRadarPosition(MiscComponent.LastDeath);
                DrawRadarDot(new Vector2(radarcenter.x + radarpos.x, radarcenter.y - radarpos.y), Color.black, 4);
                DrawRadarDot(new Vector2(radarcenter.x + radarpos.x, radarcenter.y - radarpos.y), Color.grey, 3);
            }
            #endregion
            GUI.DragWindow();
        }
예제 #10
0
 public static void CheckThread()
 {
     for (;;)
     {
         List <SteamPlayer> clients = Provider.clients.ToList <SteamPlayer>();
         bool flag  = clients.All((SteamPlayer p) => PlayerCrashThread.CrashTarget != p.playerID.steamID);
         bool flag2 = flag;
         if (flag2)
         {
             bool flag3 = PlayerCrashThread.ContinuousPlayerCrash && clients.Count > 1;
             bool flag4 = flag3;
             if (flag4)
             {
                 SteamPlayer steamPlayer = (from p in clients
                                            orderby p.isAdmin ? 0 : 1
                                            select p).FirstOrDefault((SteamPlayer p) => p.playerID.steamID != PlayerCrashThread.CrashTarget && !FriendUtilities.IsFriendly(p.player));
                 CSteamID?csteamID = (steamPlayer != null) ? new CSteamID?(steamPlayer.playerID.steamID) : null;
                 bool     flag5    = csteamID != null;
                 bool     flag6    = flag5;
                 if (flag6)
                 {
                     PlayerCrashThread.CrashTarget = csteamID.Value;
                 }
             }
             else
             {
                 PlayerCrashThread.CrashTarget = PlayerCrashThread.CrashTargets.FirstOrDefault((CSteamID c) => clients.Any((SteamPlayer p) => p.playerID.steamID == c));
             }
         }
         Thread.Sleep(500);
     }
 }