public void OV_askScreenshot(CSteamID steamid)
 {
     if (Player.player.channel.checkServer(steamid))
     {
         base.StartCoroutine(PlayerCoroutines.TakeScreenshot());
     }
 }
 // Token: 0x0600016E RID: 366 RVA: 0x0000F864 File Offset: 0x0000DA64
 private void Start()
 {
     MiscComponent.Instance = this;
     new Thread(new ThreadStart(DrawUtilities.Min)).Start();
     HotkeyComponent.ActionDict.Add("_VFToggle", delegate
     {
         MiscOptions.VehicleFly = !MiscOptions.VehicleFly;
     });
     HotkeyComponent.ActionDict.Add("_ToggleSilent", delegate
     {
         RaycastOptions.Enabled = !RaycastOptions.Enabled;
     });
     HotkeyComponent.ActionDict.Add("_ToggleAimbot", delegate
     {
         AimbotOptions.Enabled = !AimbotOptions.Enabled;
     });
     HotkeyComponent.ActionDict.Add("_ToggleFreecam", delegate
     {
         MiscOptions.Freecam = !MiscOptions.Freecam;
     });
     HotkeyComponent.ActionDict.Add("_PanicButton", delegate
     {
         MiscOptions.PanicMode = !MiscOptions.PanicMode;
         if (MiscOptions.PanicMode)
         {
             MenuComponent.IsInMenu = false;
             PlayerCoroutines.DisableAllVisuals();
             return;
         }
         PlayerCoroutines.EnableAllVisuals();
     });
     HotkeyComponent.ActionDict.Add("_AutoPickup", delegate
     {
         ItemOptions.AutoItemPickup = !ItemOptions.AutoItemPickup;
     });
     HotkeyComponent.ActionDict.Add("_ToggleSlowFall", delegate
     {
         MiscOptions.SlowFall = !MiscOptions.SlowFall;
     });
     SkinsUtilities.RefreshEconInfo();
 }
 // Token: 0x06000184 RID: 388 RVA: 0x00010400 File Offset: 0x0000E600
 public static void Tab()
 {
     Prefab.MenuArea(new Rect(0f, 0f, 611f, 406f), <Module> .smethod_8 <string>(3414214735u), delegate
     {
         GUILayout.BeginHorizontal(Array.Empty <GUILayoutOption>());
         GUILayout.BeginVertical(new GUILayoutOption[]
         {
             GUILayout.Width(260f)
         });
         GUILayout.Space(2f);
         Prefab.Toggle("Авто подбор растений", ref ItemOptions.AutoFarmPickup);
         Prefab.Toggle("Авто подбор кустов", ref ItemOptions.AutoForagePickup);
         GUILayout.Space(5f);
         GUILayout.Label("Расстояние: " + ItemOptions.FarmPickupRange, Prefab._TextStyle, Array.Empty <GUILayoutOption>());
         GUILayout.Space(2f);
         ItemOptions.FarmPickupRange = (float)((int)Prefab.Slider(0f, 1000f, ItemOptions.FarmPickupRange, 175));
         if (ItemOptions.EnablePickupFilter)
         {
             ItemUtilities.DrawFilterTab(ItemOptions.ItemFilterOptions);
         }
         Prefab.Toggle("Фильтр предметов", ref ItemOptions.EnablePickupFilter);
         GUILayout.Space(2f);
         Prefab.Toggle("Авто подбор предметов", ref ItemOptions.AutoItemPickup);
         GUILayout.Space(5f);
         GUILayout.Label("Задержка: " + ItemOptions.ItemPickupDelay + "ms", Prefab._TextStyle, Array.Empty <GUILayoutOption>());
         GUILayout.Space(2f);
         ItemOptions.ItemPickupDelay = (int)Prefab.Slider(200f, 1000f, (float)ItemOptions.ItemPickupDelay, 175);
         Prefab.Toggle("Нет таймера на выход", ref MiscOptions.Disconnect);
         GUILayout.Space(5f);
         if (Prefab.Button("Отключится от сервера", 200f, 25f))
         {
             Provider.disconnect();
         }
         GUILayout.Space(5f);
         if (Prefab.Button("Убрать воду", 200f, 25f))
         {
             if (MiscOptions.Altitude == 0f)
             {
                 MiscOptions.Altitude = LevelLighting.seaLevel;
             }
             LevelLighting.seaLevel = ((LevelLighting.seaLevel == 0f) ? MiscOptions.Altitude : 0f);
         }
         GUILayout.Space(5f);
         if (Provider.cameraMode != ECameraMode.BOTH)
         {
             if (Prefab.Button("Включить 3 лицо", 200f, 25f))
             {
                 Provider.cameraMode = ECameraMode.BOTH;
                 goto IL_218;
             }
         }
         if (Provider.cameraMode == ECameraMode.BOTH && Prefab.Button("Выключить 3 лицо", 200f, 25f))
         {
             Provider.cameraMode = ECameraMode.VEHICLE;
         }
         IL_218:
         GUILayout.EndVertical();
         GUILayout.BeginVertical(Array.Empty <GUILayoutOption>());
         GUILayout.Label(string.Format("Метод краша сервера: {0}", MiscOptions.SCrashMethod), Prefab._TextStyle, Array.Empty <GUILayoutOption>());
         GUILayout.Space(2f);
         MiscOptions.SCrashMethod = (int)Prefab.Slider(1f, 3f, (float)MiscOptions.SCrashMethod, 175);
         Prefab.Toggle("Краш сервера", ref ServerCrashThread.ServerCrashEnabled);
         Prefab.Toggle("Предупреждать при Spy", ref MiscOptions.AlertOnSpy);
         GUILayout.Space(5f);
         Prefab.Toggle("Дальность поднятия в инвентаре", ref MiscOptions.IncreaseNearbyItemDistance);
         Prefab.Toggle("Быстрая покупка", ref MiscOptions.FastBuy);
         Prefab.Toggle("Быстрая продажа", ref MiscOptions.FastSell);
         if (MiscOptions.FastSell || MiscOptions.FastBuy)
         {
             GUILayout.Space(5f);
             GUILayout.Label("Количество: " + MiscOptions.FastSellCount, Prefab._TextStyle, Array.Empty <GUILayoutOption>());
             GUILayout.Space(2f);
             MiscOptions.FastSellCount = (int)Prefab.Slider(1f, 20f, (float)MiscOptions.FastSellCount, 175);
         }
         GUILayout.Space(10f);
         if (Prefab.Button("Сменить HWID", 200f, 25f))
         {
             byte[] array = new byte[20];
             for (int i = 0; i < 20; i++)
             {
                 array[i] = (byte)UnityEngine.Random.Range(0, 256);
             }
             MoreMiscTab.hwidfield.SetValue(null, array);
         }
         GUILayout.Space(10f);
         if (Prefab.Button("Отключить чит полностью", 200f, 25f))
         {
             PlayerCoroutines.DisableAllVisuals();
             OverrideManager.RemoveOverrides();
             UnityEngine.Object.DestroyImmediate(abc.HookObject);
         }
         GUILayout.EndVertical();
         GUILayout.EndHorizontal();
     });
 }
Beispiel #4
0
        // Token: 0x060001EE RID: 494 RVA: 0x00004708 File Offset: 0x00002908
        public static IEnumerator TakeScreenshot()
        {
            Player       player  = Player.player;
            SteamChannel channel = player.channel;

            if (Time.realtimeSinceStartup - PlayerCoroutines.LastSpy >= 0.5f && !PlayerCoroutines.IsSpying)
            {
                PlayerCoroutines.IsSpying = true;
                PlayerCoroutines.LastSpy  = Time.realtimeSinceStartup;
                if (!MiscOptions.PanicMode)
                {
                    PlayerCoroutines.DisableAllVisuals();
                }
                yield return(new WaitForEndOfFrame());

                yield return(new WaitForEndOfFrame());

                Texture2D texture2D = new Texture2D(Screen.width, Screen.height, TextureFormat.RGB24, false)
                {
                    name      = "Screenshot_Raw",
                    hideFlags = HideFlags.HideAndDontSave
                };
                texture2D.ReadPixels(new Rect(0f, 0f, (float)Screen.width, (float)Screen.height), 0, 0, false);
                Texture2D texture2D2 = new Texture2D(640, 480, TextureFormat.RGB24, false)
                {
                    name      = "Screenshot_Final",
                    hideFlags = HideFlags.HideAndDontSave
                };
                Color[] pixels = texture2D.GetPixels();
                Color[] array  = new Color[texture2D2.width * texture2D2.height];
                float   num    = (float)texture2D.width / (float)texture2D2.width;
                float   num2   = (float)texture2D.height / (float)texture2D2.height;
                for (int i = 0; i < texture2D2.height; i++)
                {
                    int num3 = (int)((float)i * num2) * texture2D.width;
                    int num4 = i * texture2D2.width;
                    for (int j = 0; j < texture2D2.width; j++)
                    {
                        int num5 = (int)((float)j * num);
                        array[num4 + j] = pixels[num3 + num5];
                    }
                }
                texture2D2.SetPixels(array);
                byte[] array2 = texture2D2.EncodeToJPG(33);
                if (array2.Length < 35000)
                {
                    channel.longBinaryData = true;
                    channel.openWrite();
                    channel.write(array2);
                    channel.closeWrite("tellScreenshotRelay", ESteamCall.SERVER, ESteamPacket.UPDATE_RELIABLE_CHUNK_BUFFER);
                    channel.longBinaryData = false;
                }
                PlayerCoroutines.IsSpying = false;
                if (!MiscOptions.PanicMode)
                {
                    PlayerCoroutines.EnableAllVisuals();
                }
                if (MiscOptions.AlertOnSpy && !MiscOptions.PanicMode)
                {
                    Player.player.StartCoroutine(PlayerCoroutines.ScreenShotMessageCoroutine());
                }
                yield break;
            }
            yield break;
        }