EFTCheatPVE/stoopid.raw/Menu2.cs

6283 lines
156 KiB
C#

using System;
using System.Collections;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Threading.Tasks;
using Comfort.Common;
using EFT;
using EFT.Bots;
using EFT.Counters;
using EFT.Interactive;
using EFT.InventoryLogic;
using EFT.UI;
using EFT.Weather;
using Newtonsoft.Json;
using stupid.solutions;
using stupid.solutions.Data;
using stupid.solutions.Features;
using stupid.solutions.stupid.solutions.enums;
using stupid.solutions.Utils;
using TMPro;
using UnityEngine;
using UnityEngine.UI;
public class Menu2 : MonoBehaviour
{
private enum SaveType
{
File,
List
}
private enum KeybindType
{
ClearCache,
Skill,
Aimbot,
UnlockDoors,
teleportitem,
killall,
tpall,
instaheal,
speedhack,
flyhack
}
public class SlotData
{
public string SlotName { get; set; }
public string ContainedItemId { get; set; }
public string ContainedItemName { get; set; }
public string ContainedItemShortName { get; set; }
}
public class BackpackItemData
{
public string ItemId { get; set; }
public string ItemName { get; set; }
public string ItemShortName { get; set; }
public List<SlotData> Slots { get; set; } = new List<SlotData>();
}
public enum ColorCategory
{
ItemESP,
ESP,
Aimbot,
Chams
}
[StructLayout(LayoutKind.Auto)]
[CompilerGenerated]
private struct _003CSpawnSelectedPreset_003Ed__388 : IAsyncStateMachine
{
private static class _003C_003Eo__388
{
public static CallSite<Func<CallSite, object, object>> _003C_003Ep__0;
public static CallSite<Func<CallSite, object, object>> _003C_003Ep__1;
public static CallSite<Func<CallSite, object, bool>> _003C_003Ep__2;
public static CallSite<Action<CallSite, object>> _003C_003Ep__3;
}
public int _003C_003E1__state;
public AsyncTaskMethodBuilder _003C_003Et__builder;
public Menu2 _003C_003E4__this;
private Dictionary<string, stupid.solutions.SlotData> _003CslotsDictionary_003E5__2;
private ItemFactory _003CitemFactory_003E5__3;
private object _003Citem_003E5__4;
private IEnumerator _003C_003E7__wrap4;
private TaskAwaiter _003C_003Eu__1;
private object _003C_003Eu__2;
private void MoveNext()
{
int num = _003C_003E1__state;
Menu2 CS_0024_003C_003E8__locals6 = _003C_003E4__this;
try
{
if (num == 0)
{
goto IL_033e;
}
dynamic val;
if (num == 1)
{
val = _003C_003Eu__2;
_003C_003Eu__2 = null;
num = (_003C_003E1__state = -1);
goto IL_0726;
}
if (string.IsNullOrEmpty(CS_0024_003C_003E8__locals6.selectedPresetName) || CS_0024_003C_003E8__locals6.pullItemPresets == null || CS_0024_003C_003E8__locals6.pullItemPresets.templateList == null)
{
ConsoleScreen.Log("No preset selected or presets list is empty.");
}
else
{
TemplateData templateData = CS_0024_003C_003E8__locals6.pullItemPresets.templateList.FirstOrDefault((TemplateData template) => template.PresetName == CS_0024_003C_003E8__locals6.selectedPresetName);
if (templateData == null)
{
ConsoleScreen.Log("Selected preset not found in the list.");
}
else
{
ConsoleScreen.Log("Spawning preset: " + templateData.PresetName);
KeyValuePair<string, stupid.solutions.ItemTemplate> keyValuePair = templateData.ItemTemplate.FirstOrDefault();
if (keyValuePair.Value == null)
{
ConsoleScreen.Log("No item template found for the selected preset.");
}
else
{
string key = keyValuePair.Key;
_003CslotsDictionary_003E5__2 = keyValuePair.Value.Slots;
_003CitemFactory_003E5__3 = new ItemFactory();
_003Citem_003E5__4 = _003CitemFactory_003E5__3.CreateItem(key);
if (!(((dynamic)_003Citem_003E5__4 == null) ? true : false))
{
((dynamic)_003Citem_003E5__4).SpawnedInSession = true;
dynamic val2 = ((dynamic)_003Citem_003E5__4).AllSlots;
if (val2 != null)
{
_003C_003E7__wrap4 = ((IEnumerable)val2).GetEnumerator();
goto IL_033e;
}
ConsoleScreen.Log("No slots found for the main item.");
goto IL_0587;
}
ConsoleScreen.Log("Failed to create the main item from the template.");
}
}
}
goto end_IL_000e;
IL_0587:
val = CS_0024_003C_003E8__locals6.AddItemToBackpack((dynamic)_003Citem_003E5__4).GetAwaiter();
if (!(bool)val.IsCompleted)
{
num = (_003C_003E1__state = 1);
_003C_003Eu__2 = val;
ICriticalNotifyCompletion awaiter = val as ICriticalNotifyCompletion;
if (awaiter == null)
{
INotifyCompletion awaiter2 = (INotifyCompletion)(object)val;
_003C_003Et__builder.AwaitOnCompleted(ref awaiter2, ref this);
awaiter2 = null;
}
else
{
_003C_003Et__builder.AwaitUnsafeOnCompleted(ref awaiter, ref this);
}
awaiter = null;
return;
}
goto IL_0726;
IL_0726:
val.GetResult();
goto end_IL_000e;
IL_033e:
try
{
if (num != 0)
{
goto IL_0545;
}
TaskAwaiter awaiter3 = _003C_003Eu__1;
_003C_003Eu__1 = default(TaskAwaiter);
num = (_003C_003E1__state = -1);
goto IL_053e;
IL_053e:
awaiter3.GetResult();
goto IL_0545;
IL_0545:
if (_003C_003E7__wrap4.MoveNext())
{
dynamic current = _003C_003E7__wrap4.Current;
string text = current.FullId;
if (_003CslotsDictionary_003E5__2.TryGetValue(text, out var value))
{
string itemId = value.ItemId;
Item item = _003CitemFactory_003E5__3.CreateItem(itemId);
item.SpawnedInSession = true;
if (item != null)
{
try
{
current.AddWithoutRestrictions(item);
ConsoleScreen.Log("Added component item " + itemId + " to slot '" + text + "'.");
}
catch (Exception ex)
{
ConsoleScreen.Log("Error adding component to slot '" + text + "': " + ex.Message);
}
}
else
{
ConsoleScreen.Log("Failed to create component item with ID " + itemId + ".");
}
}
awaiter3 = Task.Delay(10).GetAwaiter();
if (!awaiter3.IsCompleted)
{
num = (_003C_003E1__state = 0);
_003C_003Eu__1 = awaiter3;
_003C_003Et__builder.AwaitUnsafeOnCompleted(ref awaiter3, ref this);
return;
}
goto IL_053e;
}
}
finally
{
if (num < 0 && _003C_003E7__wrap4 is IDisposable disposable)
{
disposable.Dispose();
}
}
_003C_003E7__wrap4 = null;
goto IL_0587;
end_IL_000e:;
}
catch (Exception exception)
{
_003C_003E1__state = -2;
_003CslotsDictionary_003E5__2 = null;
_003CitemFactory_003E5__3 = null;
_003Citem_003E5__4 = null;
_003C_003Et__builder.SetException(exception);
return;
}
_003C_003E1__state = -2;
_003CslotsDictionary_003E5__2 = null;
_003CitemFactory_003E5__3 = null;
_003Citem_003E5__4 = null;
_003C_003Et__builder.SetResult();
}
void IAsyncStateMachine.MoveNext()
{
//ILSpy generated this explicit interface implementation from .override directive in MoveNext
this.MoveNext();
}
[DebuggerHidden]
private void SetStateMachine(IAsyncStateMachine stateMachine)
{
_003C_003Et__builder.SetStateMachine(stateMachine);
}
void IAsyncStateMachine.SetStateMachine(IAsyncStateMachine stateMachine)
{
//ILSpy generated this explicit interface implementation from .override directive in SetStateMachine
this.SetStateMachine(stateMachine);
}
}
private QuestModule questModule;
private AILister aILister;
[SerializeField]
public GameObject menu;
[SerializeField]
public GameObject menuBar;
[SerializeField]
public GameObject watermark;
[SerializeField]
public GameObject watermarkmagicbullet;
[SerializeField]
public GameObject aimbotPanel;
[SerializeField]
public GameObject playerESPPanel;
[SerializeField]
public GameObject itemESPPanel;
[SerializeField]
public GameObject miscOptionsPanel;
[SerializeField]
public GameObject settingsPanel;
[SerializeField]
public GameObject itemspawnpanel;
[SerializeField]
public GameObject aispawnpanel;
[SerializeField]
public Button aimbotButton;
[SerializeField]
public Button playerESPButton;
[SerializeField]
public Button itemESPButton;
[SerializeField]
public Button miscOptionsButton;
[SerializeField]
public Button settingsButton;
[SerializeField]
public Toggle aimbotToggle;
[SerializeField]
public TMP_Text aimbotSmoothLabel;
[SerializeField]
public Slider aimbotSmoothSlider;
[SerializeField]
public Toggle aimbotDrawFOVToggle;
[SerializeField]
public TMP_Text aimbotFOVLabel;
[SerializeField]
public Slider aimbotFOVSlider;
[SerializeField]
public Toggle noRecoilToggle;
[SerializeField]
public Toggle crosshairToggle;
[SerializeField]
public Toggle silentAimToggle;
[SerializeField]
public Toggle silentTargetLinesToggle;
[SerializeField]
public Toggle instahitToggle;
[SerializeField]
public Toggle ammodrawToggle;
[SerializeField]
public TMP_Dropdown aimboneDropdown;
[SerializeField]
public Toggle CheckVisibletoggle;
[SerializeField]
public Toggle MagicBulletToggle;
[SerializeField]
public Toggle infiniteammo;
[SerializeField]
public Toggle tracers;
[SerializeField]
public Toggle hitmarkers;
[SerializeField]
public Toggle drawPlayersToggle;
[SerializeField]
public Toggle drawPlayerBoxToggle;
[SerializeField]
public Toggle drawPlayerNameToggle;
[SerializeField]
public Toggle drawPlayerLineToggle;
[SerializeField]
public Toggle drawPlayerHealthToggle;
[SerializeField]
public Toggle drawWeaponToggle;
[SerializeField]
public Toggle enableSkeletonToggle;
[SerializeField]
public Toggle ChamsToggle;
[SerializeField]
public Toggle drawRadarToggle;
[SerializeField]
public Slider drawPlayersDistanceSlider;
[SerializeField]
public TMP_Text drawplayerdistancelabel;
[SerializeField]
public Toggle drawaimpostoggle;
[SerializeField]
public Slider radardistanceslider;
[SerializeField]
public TMP_Text radardistancelabel;
[SerializeField]
public Toggle fullbright;
[SerializeField]
public Toggle grenadeesp;
[SerializeField]
public Toggle drawLootItemsToggle;
[SerializeField]
public Slider drawLootItemsDistanceSlider;
[SerializeField]
public TMP_Text drawlootitemsdistancelabel;
[SerializeField]
public Toggle superRareItemsToggle;
[SerializeField]
public Toggle kappaItemsToggle;
[SerializeField]
public Toggle questItemsToggle;
[SerializeField]
public Toggle commonItemsToggle;
[SerializeField]
public Slider commonItemsDistanceSlider;
[SerializeField]
public TMP_Text commonItemsdistancelabel;
[SerializeField]
public Toggle drawLootableContainersToggle;
[SerializeField]
public Slider drawLootableContainersDistanceSlider;
[SerializeField]
public TMP_Text drawcontainerdistancelabel;
[SerializeField]
public Toggle bodyESPToggle;
[SerializeField]
public Toggle playerInventoryESPToggle;
[SerializeField]
public Toggle searchItemToggle;
[SerializeField]
public TMP_InputField searchItemInputField;
[SerializeField]
public Toggle teleportItemsToggle;
[SerializeField]
public Toggle drawExfiltrationPointsToggle;
[SerializeField]
public Toggle flyhackToggle;
[SerializeField]
public Toggle speedhackToggle;
[SerializeField]
public Slider speedSlider;
[SerializeField]
public Toggle maincamfovchanger;
[SerializeField]
public Slider maincamfov;
[SerializeField]
public Toggle infStaminaToggle;
[SerializeField]
public Toggle instaHealToggle;
[SerializeField]
public Toggle thermalVisionToggle;
[SerializeField]
public Toggle godmodeToggle;
[SerializeField]
public Toggle instaSearchToggle;
[SerializeField]
public Toggle noVisorToggle;
[SerializeField]
public Toggle flaresToggle;
[SerializeField]
public Toggle noJamToggle;
[SerializeField]
public Toggle fireRateToggle;
[SerializeField]
public Toggle farreachtoggle;
[SerializeField]
public Toggle invisibletoggle;
[SerializeField]
public Toggle showitemspawnmenu;
[SerializeField]
public Toggle weaponchams;
[SerializeField]
public Button spawnitembutton;
[SerializeField]
public Button spawnbossbutton;
[SerializeField]
public Button addxpsessionbutton;
[SerializeField]
public Button completequestbutton;
[SerializeField]
public Slider xpslider;
[SerializeField]
public TMP_Text xpsliderlabel;
[SerializeField]
public Toggle tppmc;
[SerializeField]
public Toggle tpboss;
[SerializeField]
public Toggle alwayssurvived;
public static string publicSearchString = "Grenade";
public static string itemidstring = "";
public static string spawnid = "";
[SerializeField]
public Button clearCacheKeyButton;
[SerializeField]
public TMP_Text clearCacheKeyLabel;
[SerializeField]
public Button skillKeyButton;
[SerializeField]
public TMP_Text skillKeyLabel;
[SerializeField]
public Button aimbotKeyButton;
[SerializeField]
public TMP_Text aimbotKeyLabel;
[SerializeField]
public Button unlockDoorsKeyButton;
[SerializeField]
public TMP_Text unlockDoorsKeyLabel;
[SerializeField]
public Button teleportitembutton;
[SerializeField]
public TMP_Text teleportitemlabel;
[SerializeField]
public Button killallbutton;
[SerializeField]
public TMP_Text killalllabel;
[SerializeField]
public Button tpallkeybutton;
[SerializeField]
public TMP_Text tpallkeylabel;
[SerializeField]
public Button instahealkeybutton;
[SerializeField]
public TMP_Text instahealkeylabel;
[SerializeField]
private GameObject itembuttontemplate;
[SerializeField]
private Transform buttonContainer;
[SerializeField]
private TMP_InputField searchInputField;
[SerializeField]
private ScrollRect scrollRect;
[SerializeField]
public TMP_Text iteminfotext;
[SerializeField]
public Toggle sicc;
[SerializeField]
public Toggle thicc;
[SerializeField]
public Toggle ammobox;
[SerializeField]
public Toggle fillraidbp;
[SerializeField]
public Toggle bypassrestrictions;
[SerializeField]
private Transform traderbuttonContainer;
[SerializeField]
private ScrollRect traderscrollRect;
[SerializeField]
private Slider traderreputationSlider;
[SerializeField]
private Button applyTraderrepButton;
[SerializeField]
public GameObject traderreppanel;
[SerializeField]
public TMP_Text traderinfotext;
[SerializeField]
public TMP_Text traderreptoaddvalue;
[SerializeField]
private Transform skillButtonContainer;
[SerializeField]
private ScrollRect skillScrollRect;
[SerializeField]
private TMP_Text skillInfoText;
[SerializeField]
private TMP_Text skillLevelToAddText;
[SerializeField]
private Slider skillLevelSlider;
[SerializeField]
private Button applySkillButton;
[SerializeField]
public GameObject skillspanel;
[SerializeField]
private Transform presetButtonContainer;
[SerializeField]
private ScrollRect presetScrollRect;
[SerializeField]
private TMP_Text presetInfoText;
[SerializeField]
private Button spawnpresetitembutton;
[SerializeField]
private GameObject presetsPanel;
[SerializeField]
private TMP_InputField searchInputFieldTemplates;
[SerializeField]
public GameObject updatepanel;
[SerializeField]
private Button closeupdatebutton;
[SerializeField]
private TMP_Text updateinfo;
[SerializeField]
public Toggle stimsItemsToggle;
[SerializeField]
public TMP_InputField TPItemInputField;
[SerializeField]
public Toggle superrareTPToggle;
[SerializeField]
public Toggle KappaTPToggle;
[SerializeField]
public Toggle QuestTPToggle;
[SerializeField]
public Toggle StimsTPToggle;
[SerializeField]
public Toggle SearchTPToggle;
[SerializeField]
private Button saveprimaryweapon;
[SerializeField]
private Button loadfromfilebutton;
[SerializeField]
public Toggle autofillslots;
[SerializeField]
public GameObject aiButtonTemplate;
[SerializeField]
public Transform aiButtonContainer;
[SerializeField]
public TMP_Text aiInfoText;
[SerializeField]
public TMP_InputField aiSearchBar;
[SerializeField]
public ScrollRect aiScrollRect;
[SerializeField]
public GameObject helppanel;
[SerializeField]
private Button closehelpbutton;
[SerializeField]
private Button openhelpbutton;
[SerializeField]
public Toggle QuestESP;
[SerializeField]
public Toggle QuestDescription;
[SerializeField]
public Toggle SimplifiedStrings;
[SerializeField]
public Toggle DrawOutline;
[SerializeField]
public Toggle DrawTripWires;
[SerializeField]
public Toggle Artillery;
[SerializeField]
public Slider SkeletonUpdateSlider;
[SerializeField]
public Slider FONTSIZE;
[SerializeField]
public TMP_Text FONTSIZETXT;
[SerializeField]
public TMP_Text SkeletonUpdateSliderText;
[SerializeField]
public Toggle DrawWatermark;
[SerializeField]
public Toggle DurabilityExploit;
[SerializeField]
public Toggle DrawHideoutItems;
[SerializeField]
public Toggle DrawWishlistItems;
[SerializeField]
public Toggle DrawItemValue;
[SerializeField]
public Toggle filtersuperrare;
[SerializeField]
public Toggle filterkappa;
[SerializeField]
public Toggle filterquest;
[SerializeField]
public Toggle filterwishlist;
[SerializeField]
public Toggle filterstim;
[SerializeField]
public Toggle filterhideout;
[SerializeField]
public Toggle filtervalue;
[SerializeField]
public Slider filtervalueslider;
[SerializeField]
public TMP_Text filtervalueslidertext;
[SerializeField]
public Button addtowishlist;
[SerializeField]
public Button Refresh;
[SerializeField]
private GameObject MainColorSettingsMenu;
[SerializeField]
private GameObject colorButtonTemplate;
[SerializeField]
private Transform colorButtonContainer;
[SerializeField]
private GameObject colorSettingMenu;
[SerializeField]
private Slider redSlider;
[SerializeField]
private Slider greenSlider;
[SerializeField]
private Slider blueSlider;
[SerializeField]
private Image colorPreview;
[SerializeField]
private Button applyColorButton;
[SerializeField]
private TMP_Text colorNameText;
[SerializeField]
private TMP_Dropdown categoryDropdown;
[SerializeField]
private Button CancelColorButton;
[SerializeField]
public Slider ESPfiltervalueslider;
[SerializeField]
public Toggle ESPfiltervalue;
[SerializeField]
private TMP_Text ESPfiltervaluesliderlabel;
[SerializeField]
public Toggle ShowColorMenu;
[SerializeField]
public Button MaxWeaponSkills;
[SerializeField]
public Toggle TPHideoutItems;
[SerializeField]
public Toggle TPWishlistItems;
[SerializeField]
public Toggle TPHVItems;
[SerializeField]
public Toggle SpoofNicknameToggle;
[SerializeField]
public Button speedhacktogglekeybutton1;
[SerializeField]
public TMP_Text speedhacktogglekeylabel1;
[SerializeField]
public Button flyhacktogglekeybutton1;
[SerializeField]
public TMP_Text flyhacktogglekeylabel1;
[SerializeField]
public Toggle disableallinputs;
[SerializeField]
public TMP_Text bulletspershotLabel;
[SerializeField]
public Toggle bulletspershottoggle;
[SerializeField]
public Slider bulletspershot;
[SerializeField]
public Toggle bigheadstoggle;
[SerializeField]
public Slider ItemTPRadiusSlider;
[SerializeField]
public TMP_Text ItemTPRadiusLabel;
[SerializeField]
private GameObject TransitPanel;
[SerializeField]
public GameObject transitButtonTemplate;
[SerializeField]
public Transform transitButtonContainer;
[SerializeField]
public ScrollRect transitScrollRect;
[SerializeField]
public TMP_Text transitInfoText;
[SerializeField]
public Button applyTransitButton;
[SerializeField]
public Button senditemsTransitButton;
[SerializeField]
public Button canceltransitbutton;
[SerializeField]
public Toggle showraidsettingsmenu;
[SerializeField]
private TMP_Text notransitstexttmp;
[SerializeField]
private GameObject RaidSettingsPanel;
[SerializeField]
private TMP_Dropdown botAmountDropdown;
[SerializeField]
private TMP_Dropdown botDifficultyDropdown;
[SerializeField]
private Toggle taggedAndCursedToggle;
[SerializeField]
private Toggle scavwartoggle;
[SerializeField]
private Toggle metabolismDisabledToggle;
[SerializeField]
private TMP_Dropdown windTypeDropdown;
[SerializeField]
private TMP_Dropdown timeFlowTypeDropdown;
[SerializeField]
private TMP_Dropdown cloudinessTypeDropdown;
[SerializeField]
private TMP_Dropdown rainTypeDropdown;
[SerializeField]
public Toggle modifyraidsettingstoggle;
[SerializeField]
private GameObject EntityPanel;
[SerializeField]
private Transform entityButtonContainer;
[SerializeField]
private GameObject entityButtonTemplate;
[SerializeField]
private TMP_Text entityInfoText;
[SerializeField]
private ScrollRect entityScrollRect;
[SerializeField]
private Button killEntityButton;
[SerializeField]
private Button healEntityButton;
[SerializeField]
private Button tpEntityToCrosshairButton;
[SerializeField]
private Button makebraindeadbutton;
[SerializeField]
private Button GiveBotBlickyKit;
[SerializeField]
private Button GiveAllBotsBlickyKitButton;
[SerializeField]
private TMP_Text noentitiestexttmp;
[SerializeField]
public Toggle makeallbotsfriendlytoggle;
[Header("Main Advanced Item Spawning Stuff")]
[SerializeField]
private Button OpenADvancedItemSpawningButton;
[SerializeField]
private GameObject advancedItemPanel;
[SerializeField]
private Button spawnadvancedButton;
[SerializeField]
private Button cancelButton;
[SerializeField]
private Button refreshSlotsButton;
[SerializeField]
private Button saveToFileButton;
[SerializeField]
private Button saveToPresetListButton;
[Header("Buff UI")]
[SerializeField]
private Transform buffListContainer;
[SerializeField]
private GameObject buffButtonTemplate;
[SerializeField]
private GameObject buffEditWindow;
[SerializeField]
private Slider buffSlider;
[SerializeField]
private TMP_Text buffNameText;
[SerializeField]
private TMP_Text buffValueText;
[SerializeField]
private Button applyBuffButton;
[SerializeField]
private TMP_Dropdown buffTypeDropdown;
[Header("Slot UI")]
[SerializeField]
private Transform slotListContainer;
[SerializeField]
private GameObject slotButtonTemplate;
[Header("Slot Item Selection UI")]
[SerializeField]
private GameObject slotItemWindow;
[SerializeField]
private TMP_Text slotItemWindowTitle;
[SerializeField]
private TMP_Text slotItemInfoText;
[SerializeField]
private Transform slotCompatibleItemsContainer;
[SerializeField]
private GameObject compatibleItemButtonTemplate;
[SerializeField]
private Button cancelSlotButton;
[SerializeField]
private Button applySlotButton;
[Header("Item Save Window")]
[SerializeField]
private Button confirmSaveButton;
[SerializeField]
private Button cancelSaveButton;
[SerializeField]
private GameObject popupWindow;
[SerializeField]
private TMP_InputField presetNameInput;
private SaveType currentSaveType;
private List<BuffComponent> cachedBuffs = new List<BuffComponent>();
private List<(string slotName, dynamic slotRef)> cachedSlots = new List<(string, object)>();
private BuffComponent currentEditingBuff;
private string selectedSlotItemId;
private dynamic currentEditingSlotRef;
private string currentSlotName;
private bool populatedTransits;
private bool wasInGame;
private int selectedTransitId = -1;
private string selectedAIName;
private string empty = "";
public static string TPItemInputstring = "Grenade";
private string selectedColorKey;
private string selectedTraderId;
private bool waitingForKey;
private KeybindType currentKeybindType;
private List<ItemData> ItemsList;
public static Main main = new Main();
public static PullItemIDs pullItemIDs;
private string selectedSkillName;
private PullItemPresets pullItemPresets;
private string selectedPresetName;
private bool populatedtemplates;
public static bool showmenu = false;
public static bool closedupdate = false;
public static bool showhelp = false;
public bool hidspawnmenuforcolor;
private static int entitylistcount = 0;
private static float entitylistupdatedelay = 5f;
private static float nextentitycachetime;
private static string advanceditemidcache;
private dynamic advanceditemcache;
public bool updatep = true;
private float debounceTime = 0.5f;
private Coroutine debounceCoroutine;
private float newDebounceTime = 0.5f;
private Coroutine newDebounceCoroutine;
private Coroutine spawnDebounceCoroutine;
private Coroutine searchDebounceCoroutine;
private Coroutine aisearchDebounceCoroutine;
private Dictionary<string, int> skillLevels = new Dictionary<string, int>
{
{ "Strength", 0 },
{ "StressResistance", 0 },
{ "MagDrills", 0 },
{ "Melee", 0 },
{ "HideoutManagement", 0 },
{ "Crafting", 0 },
{ "HeavyVests", 0 },
{ "LightVests", 0 },
{ "RecoilControl", 0 },
{ "LMG", 0 },
{ "Assault", 0 },
{ "Pistol", 0 },
{ "Perception", 0 },
{ "Sniper", 0 },
{ "Sniping", 0 },
{ "Endurance", 0 },
{ "Throwing", 0 },
{ "Charisma", 0 },
{ "BotReload", 0 },
{ "TroubleShooting", 0 },
{ "Health", 0 },
{ "Vitality", 0 },
{ "Metabolism", 0 },
{ "Immunity", 0 },
{ "Intellect", 0 },
{ "Attention", 0 },
{ "Shotgun", 0 },
{ "HMG", 0 },
{ "Launcher", 0 },
{ "DMR", 0 },
{ "AimDrills", 0 },
{ "Surgery", 0 },
{ "CovertMovement", 0 },
{ "Search", 0 },
{ "FieldMedicine", 0 },
{ "FirstAid", 0 },
{ "SMG", 0 },
{ "WeaponTreatment", 0 },
{ "Revolver", 0 },
{ "AttachedLauncher", 0 }
};
private Item item;
private ItemPresetManager presetManager = new ItemPresetManager();
private bool saveFlag;
private Item item12;
private Dictionary<string, string> traderIDs = new Dictionary<string, string>
{
{ "Prapor", "54cb50c76803fa8b248b4571" },
{ "Therapist", "54cb57776803fa99248b456e" },
{ "Fence", "579dc571d53a0658a154fbec" },
{ "Skier", "58330581ace78e27b8b10cee" },
{ "Peacekeeper", "5935c25fb3acc3127c3d8cd9" },
{ "Mechanic", "5a7c2eca46aef81a7ca2145d" },
{ "Ragman", "5ac3b934156ae10c4430e83c" },
{ "Jaeger", "5c0647fdd443bc2504c2d371" },
{ "Lighthouse Keeper", "638f541a29ffd1183d187f57" }
};
public static Dictionary<string, (Func<Color> getColor, Action<Color> setColor, string description, ColorCategory category)> ColorDictionary = new Dictionary<string, (Func<Color>, Action<Color>, string, ColorCategory)>
{
{
"SuperrareColor",
(() => Settings.SuperrareColor, delegate(Color value)
{
Settings.SuperrareColor = value;
}, "Super rare items Color", ColorCategory.ItemESP)
},
{
"KappaColor",
(() => Settings.KappaColor, delegate(Color value)
{
Settings.KappaColor = value;
}, "Kappa items Color", ColorCategory.ItemESP)
},
{
"QuestItemColor",
(() => Settings.QuestItemColor, delegate(Color value)
{
Settings.QuestItemColor = value;
}, "Quest items Color", ColorCategory.ItemESP)
},
{
"StimItemColor",
(() => Settings.StimItemColor, delegate(Color value)
{
Settings.StimItemColor = value;
}, "Stim items Color", ColorCategory.ItemESP)
},
{
"HideoutColor",
(() => Settings.HideoutColor, delegate(Color value)
{
Settings.HideoutColor = value;
}, "Hideout items Color", ColorCategory.ItemESP)
},
{
"WishlistColor",
(() => Settings.WishlistColor, delegate(Color value)
{
Settings.WishlistColor = value;
}, "Wishlist items Color", ColorCategory.ItemESP)
},
{
"SearchedColor",
(() => Settings.SearchedColor, delegate(Color value)
{
Settings.SearchedColor = value;
}, "Searched items Color", ColorCategory.ItemESP)
},
{
"CommonItemColor",
(() => Settings.CommonItemColor, delegate(Color value)
{
Settings.CommonItemColor = value;
}, "Common items Color", ColorCategory.ItemESP)
},
{
"USECColor",
(() => Settings.USECColor, delegate(Color value)
{
Settings.USECColor = value;
}, "USEC Color ", ColorCategory.ESP)
},
{
"BEARColor",
(() => Settings.BEARColor, delegate(Color value)
{
Settings.BEARColor = value;
}, "BEAR Color", ColorCategory.ESP)
},
{
"BossColor",
(() => Settings.BossandGuardColor, delegate(Color value)
{
Settings.BossandGuardColor = value;
}, "Bosses Color", ColorCategory.ESP)
},
{
"GuardColor",
(() => Settings.GuardColor, delegate(Color value)
{
Settings.GuardColor = value;
}, "Guard Color", ColorCategory.ESP)
},
{
"ScavColor",
(() => Settings.ScavColor, delegate(Color value)
{
Settings.ScavColor = value;
}, "Scav Color", ColorCategory.ESP)
},
{
"ZombieColor",
(() => Settings.ZombieColor, delegate(Color value)
{
Settings.ZombieColor = value;
}, "Zombie Color", ColorCategory.ESP)
},
{
"RogueColor",
(() => Settings.RogueColor, delegate(Color value)
{
Settings.RogueColor = value;
}, "Rogue Color", ColorCategory.ESP)
},
{
"RaiderColor",
(() => Settings.RaiderColor, delegate(Color value)
{
Settings.RaiderColor = value;
}, "Raider Color", ColorCategory.ESP)
},
{
"CultistColor",
(() => Settings.CultistColor, delegate(Color value)
{
Settings.CultistColor = value;
}, "Cultist Color", ColorCategory.ESP)
},
{
"BTRColor",
(() => Settings.BTRColor, delegate(Color value)
{
Settings.BTRColor = value;
}, "BTR", ColorCategory.ESP)
},
{
"ESPBoxColor",
(() => Settings.ESPBoxColor, delegate(Color value)
{
Settings.ESPBoxColor = value;
}, "Box ESP Hidden", ColorCategory.ESP)
},
{
"ESPBoxVisColor",
(() => Settings.boxsightline, delegate(Color value)
{
Settings.boxsightline = value;
}, "Box ESP Visible", ColorCategory.ESP)
},
{
"ESPLineColor",
(() => Settings.ESPLineColor, delegate(Color value)
{
Settings.ESPLineColor = value;
}, "Line ESP Hidden", ColorCategory.ESP)
},
{
"ESPLineColorVisible",
(() => Settings.isvisibleline, delegate(Color value)
{
Settings.isvisibleline = value;
}, "Line ESP Visible", ColorCategory.ESP)
},
{
"SkeletonColor",
(() => Settings.SkeletonColor, delegate(Color value)
{
Settings.SkeletonColor = value;
}, "Skeleton ESP Color", ColorCategory.ESP)
},
{
"EnemyWeaponTextColor",
(() => Settings.EnemyWeaponTextColor, delegate(Color value)
{
Settings.EnemyWeaponTextColor = value;
}, "Enemy Weapon Text", ColorCategory.ESP)
},
{
"EnemyWeaponAMMOTextColor",
(() => Settings.EnemyAmmoCounterColor, delegate(Color value)
{
Settings.EnemyAmmoCounterColor = value;
}, "Enemy Ammo Count", ColorCategory.ESP)
},
{
"EnemyHealingTextColor",
(() => Settings.healingcolor, delegate(Color value)
{
Settings.healingcolor = value;
}, "Enemy Healing Indicator", ColorCategory.ESP)
},
{
"TeammateColor",
(() => Settings.teammatecolor, delegate(Color value)
{
Settings.teammatecolor = value;
}, "Teammate Color", ColorCategory.ESP)
},
{
"PlayerScavColor",
(() => Settings.playerscavcolor, delegate(Color value)
{
Settings.playerscavcolor = value;
}, "Player Scav Color", ColorCategory.ESP)
},
{
"Selected Entity Color",
(() => Settings.SelectedEntityColor, delegate(Color value)
{
Settings.SelectedEntityColor = value;
}, "Selected Entity Color", ColorCategory.ESP)
},
{
"CrosshairColor",
(() => Settings.CrosshairColor, delegate(Color value)
{
Settings.CrosshairColor = value;
}, "Crosshair Color", ColorCategory.Aimbot)
},
{
"TargetSnaplineColor",
(() => Settings.TargetSnaplineColor, delegate(Color value)
{
Settings.TargetSnaplineColor = value;
}, "Aim Target snapline Color", ColorCategory.Aimbot)
},
{
"AimFOVColor",
(() => Settings.AimFOVColor, delegate(Color value)
{
Settings.AimFOVColor = value;
}, "Aim FOV circle Color", ColorCategory.Aimbot)
},
{
"AmmoCounterColor",
(() => Settings.AmmoCounterColor, delegate(Color value)
{
Settings.AmmoCounterColor = value;
}, "Ammo counter Color", ColorCategory.Aimbot)
},
{
"TracerColor",
(() => Settings.TracerColor, delegate(Color value)
{
Settings.TracerColor = value;
}, "Tracers Color", ColorCategory.Aimbot)
},
{
"HitmarkerHeadShotColor",
(() => Settings.HitmarkerHeadShotColor, delegate(Color value)
{
Settings.HitmarkerHeadShotColor = value;
}, "Hitmarker for headshots Color", ColorCategory.Aimbot)
},
{
"HitmarkerHitColor",
(() => Settings.HitmarkerHitColor, delegate(Color value)
{
Settings.HitmarkerHitColor = value;
}, "Hitmarker for hits Color", ColorCategory.Aimbot)
},
{
"ExfilColor",
(() => Settings.ExfilESPColor, delegate(Color value)
{
Settings.ExfilESPColor = value;
}, "Exfil Point Color", ColorCategory.ESP)
},
{
"TransitColor",
(() => Settings.TransitPointColor, delegate(Color value)
{
Settings.TransitPointColor = value;
}, "Transit Point Color", ColorCategory.ESP)
},
{
"PChamsHidden",
(() => Settings.PlayerChamsHidden, delegate(Color value)
{
Settings.PlayerChamsHidden = value;
}, "Player Chams Hidden", ColorCategory.Chams)
},
{
"PChamsVisible",
(() => Settings.PlayerChamsVisible, delegate(Color value)
{
Settings.PlayerChamsVisible = value;
}, "Player Chams Visible", ColorCategory.Chams)
},
{
"GChamsHidden",
(() => Settings.GrenadeHidden, delegate(Color value)
{
Settings.GrenadeHidden = value;
}, "Grenade Chams Hidden", ColorCategory.Chams)
},
{
"GChamsVisible",
(() => Settings.GrenadeVisible, delegate(Color value)
{
Settings.GrenadeVisible = value;
}, "Grenade Chams Visible", ColorCategory.Chams)
},
{
"TChamsHidden",
(() => Settings.TripwireHidden, delegate(Color value)
{
Settings.TripwireHidden = value;
}, "Tripwire Chams Hidden", ColorCategory.Chams)
},
{
"TChamsVisible",
(() => Settings.TripwireVisible, delegate(Color value)
{
Settings.TripwireVisible = value;
}, "Tripwire Chams Visible", ColorCategory.Chams)
},
{
"SChamsColor",
(() => Settings.SelfChamsColor, delegate(Color value)
{
Settings.SelfChamsColor = value;
}, "Self Chams Color", ColorCategory.Chams)
}
};
public static Player selectedEntity;
private Dictionary<string, GameObject> activeEntityButtons = new Dictionary<string, GameObject>();
private void Start()
{
questModule = UnityEngine.Object.FindObjectOfType<QuestModule>();
aILister = UnityEngine.Object.FindObjectOfType<AILister>();
pullItemPresets = UnityEngine.Object.FindObjectOfType<PullItemPresets>();
pullItemIDs = UnityEngine.Object.FindObjectOfType<PullItemIDs>();
itembuttontemplate.SetActive(value: false);
PopulateRaidSettingsDropdowns();
LoadSettings();
Initialize();
if (menu != null)
{
Canvas component = menu.GetComponent<Canvas>();
if (component != null)
{
component.sortingOrder = 32767;
}
CanvasGroup component2 = menu.GetComponent<CanvasGroup>();
if (component2 != null)
{
component2.blocksRaycasts = component2.alpha > 0f;
component2.ignoreParentGroups = false;
component2.interactable = true;
}
menuBar.SetActive(value: false);
watermark.SetActive(value: false);
watermarkmagicbullet.SetActive(value: false);
helppanel.SetActive(value: false);
updatepanel.SetActive(value: true);
}
if (searchItemInputField != null)
{
searchItemInputField.onEndEdit.AddListener(OnSearchItemInputEndEdit);
searchItemInputField.onValueChanged.AddListener(OnSearchItemValueChanged);
}
if (TPItemInputField != null)
{
TPItemInputField.onEndEdit.AddListener(TPItemInputEndEdit);
TPItemInputField.onValueChanged.AddListener(TPItemValueChanged);
}
if (closeupdatebutton != null)
{
closeupdatebutton.onClick.AddListener(UpdateWindow);
}
if (openhelpbutton != null)
{
openhelpbutton.onClick.AddListener(ShowHelpPanel);
}
if (closehelpbutton != null)
{
closehelpbutton.onClick.AddListener(HideHelpPanel);
}
if (Refresh != null)
{
Refresh.onClick.AddListener(Refreshsearchupdate);
}
if (addtowishlist != null)
{
addtowishlist.onClick.AddListener(AddItemToWishList);
}
clearCacheKeyButton.onClick.AddListener(delegate
{
OnKeybindButtonClick(KeybindType.ClearCache);
});
skillKeyButton.onClick.AddListener(delegate
{
OnKeybindButtonClick(KeybindType.Skill);
});
aimbotKeyButton.onClick.AddListener(delegate
{
OnKeybindButtonClick(KeybindType.Aimbot);
});
unlockDoorsKeyButton.onClick.AddListener(delegate
{
OnKeybindButtonClick(KeybindType.UnlockDoors);
});
teleportitembutton.onClick.AddListener(delegate
{
OnKeybindButtonClick(KeybindType.teleportitem);
});
killallbutton.onClick.AddListener(delegate
{
OnKeybindButtonClick(KeybindType.killall);
});
tpallkeybutton.onClick.AddListener(delegate
{
OnKeybindButtonClick(KeybindType.tpall);
});
instahealkeybutton.onClick.AddListener(delegate
{
OnKeybindButtonClick(KeybindType.instaheal);
});
speedhacktogglekeybutton1.onClick.AddListener(delegate
{
OnKeybindButtonClick(KeybindType.speedhack);
});
flyhacktogglekeybutton1.onClick.AddListener(delegate
{
OnKeybindButtonClick(KeybindType.flyhack);
});
applyTraderrepButton.onClick.AddListener(OnApplyButtonClick);
applyTransitButton.onClick.AddListener(OnApplyTransitButtonClick);
senditemsTransitButton.onClick.AddListener(OnSendItemsTransitButtonClick);
canceltransitbutton.onClick.AddListener(OnCancelCountdownClick);
if (traderreputationSlider != null)
{
traderreputationSlider.value = Settings.reptoadd;
traderreputationSlider.onValueChanged.AddListener(OnSliderValueChanged);
}
MaxWeaponSkills.onClick.AddListener(MaxWeaponskill);
redSlider.onValueChanged.AddListener(OnColorSliderValueChanged);
blueSlider.onValueChanged.AddListener(OnColorSliderValueChanged);
greenSlider.onValueChanged.AddListener(OnColorSliderValueChanged);
InitializeColorSliders();
categoryDropdown.ClearOptions();
categoryDropdown.AddOptions(Enum.GetNames(typeof(ColorCategory)).ToList());
categoryDropdown.onValueChanged.AddListener(delegate
{
OnCategoryDropdownChanged();
});
PopulateColorList();
colorSettingMenu.SetActive(value: false);
CancelColorButton.onClick.AddListener(OnCancelColorChangeClick);
applyColorButton.onClick.AddListener(OnApplyColorButtonClick);
killEntityButton.onClick.AddListener(OnKillEntityClick);
tpEntityToCrosshairButton.onClick.AddListener(OnTeleportEntityClick);
healEntityButton.onClick.AddListener(OnHealEntityClick);
makebraindeadbutton.onClick.AddListener(onmakebraindeadclick);
GiveBotBlickyKit.onClick.AddListener(ongivebotblickykitclick);
GiveAllBotsBlickyKitButton.onClick.AddListener(ongiveallbotsblickykitclick);
PopulateTraderList();
PopulateSkillList();
PopulateAIMenu();
skillLevelSlider.onValueChanged.AddListener(OnSkillLevelSliderValueChanged);
applySkillButton.onClick.AddListener(OnApplySkillButtonClick);
skillLevelSlider.value = 0f;
skillLevelToAddText.text = $"Level to Set: {skillLevelSlider.value:F0}";
spawnpresetitembutton.onClick.AddListener(SpawnTemplateDelegate);
saveToFileButton.onClick.AddListener(delegate
{
OpenPopupSaveFile();
});
saveToPresetListButton.onClick.AddListener(delegate
{
OpenPopupSaveList();
});
confirmSaveButton.onClick.AddListener(OnConfirmSave);
cancelSaveButton.onClick.AddListener(delegate
{
popupWindow.SetActive(value: false);
});
popupWindow.SetActive(value: false);
InitializeAimboneDropdown();
UpdateAimbotSettingsUI();
UpdatePlayerESPSettingsUI();
UpdateItemESPSettingsUI();
UpdateMiscOptionsSettingsUI();
AddToggleListeners();
AddSliderListeners();
advancedItemPanel.SetActive(value: false);
OpenADvancedItemSpawningButton.onClick.AddListener(Spawnitemadvanced);
}
private void LoadSettings()
{
UpdateAimbotSettingsUI();
UpdatePlayerESPSettingsUI();
UpdateItemESPSettingsUI();
UpdateMiscOptionsSettingsUI();
}
private void SaveSettings()
{
Settings.SaveSettings();
}
public void Initialize()
{
if (aimbotButton != null)
{
aimbotButton.onClick.AddListener(ShowAimbotPanel);
}
if (playerESPButton != null)
{
playerESPButton.onClick.AddListener(ShowPlayerESPPanel);
}
if (itemESPButton != null)
{
itemESPButton.onClick.AddListener(ShowItemESPPanel);
}
if (miscOptionsButton != null)
{
miscOptionsButton.onClick.AddListener(ShowMiscOptionsPanel);
}
if (settingsButton != null)
{
settingsButton.onClick.AddListener(ShowSettingsPanel);
}
if (spawnitembutton != null)
{
spawnitembutton.onClick.AddListener(OnSpawnItemButtonClick);
}
if (saveprimaryweapon != null)
{
saveprimaryweapon.onClick.AddListener(SavePrimaryWeaponToJson);
}
if (loadfromfilebutton != null)
{
loadfromfilebutton.onClick.AddListener(LoadandSpawnitem);
}
if (spawnbossbutton != null)
{
spawnbossbutton.onClick.AddListener(SpawnBot);
}
if (addxpsessionbutton != null)
{
addxpsessionbutton.onClick.AddListener(XPAdder);
}
if (completequestbutton != null)
{
completequestbutton.onClick.AddListener(FinishQuestsWrapper);
}
if (searchInputField != null)
{
searchInputField.onEndEdit.AddListener(OnSearchTextChanged);
}
if (searchInputFieldTemplates != null)
{
searchInputFieldTemplates.onEndEdit.AddListener(OnTemplateSearchTextChanged);
}
if (aiSearchBar != null)
{
aiSearchBar.onEndEdit.AddListener(OnAISearchTextChanged);
}
HideAllPanels();
UpdateKeybindLabels();
}
private void Update()
{
if (!updatep)
{
return;
}
try
{
if (!populatedTransits && LocationsFixerV2.transitPoints.Count > 0 && Main.GameWorld != null && transitButtonTemplate != null)
{
populatedTransits = true;
PopulateTransitList();
}
if (populatedTransits && Main.GameWorld == null)
{
populatedTransits = false;
}
if (LocationsFixerV2.transitPoints.Count == 0 && transitButtonContainer.childCount >= 1 && transitButtonTemplate != null && transitButtonContainer != null)
{
PopulateTransitList();
}
if (Main.GamePlayers.Count > 0 && entityButtonTemplate != null)
{
UpdateEntityList();
}
if (Main.GamePlayers.Count == 0 && entityButtonContainer.childCount >= 1 && entityButtonTemplate != null && entityButtonContainer != null)
{
UpdateEntityList();
}
if (closedupdate && watermark != null && watermarkmagicbullet != null)
{
if (Settings.MagicBullet && Settings.drawwatermark)
{
watermark.SetActive(value: false);
watermarkmagicbullet.SetActive(value: true);
}
else if (Settings.drawwatermark)
{
watermark.SetActive(value: true);
watermarkmagicbullet.SetActive(value: false);
}
else
{
watermark.SetActive(value: false);
watermarkmagicbullet.SetActive(value: false);
}
}
if (Input.GetKeyDown(KeyCode.Insert) && showmenu)
{
if (menuBar != null)
{
menuBar.SetActive(!menuBar.activeSelf);
}
ClearButtons();
}
if (Settings.sicc)
{
Settings.ammobox = false;
}
if (Settings.ammobox)
{
Settings.sicc = false;
}
if (Settings.fillraidbp)
{
Settings.thicc = false;
}
if (Settings.thicc)
{
Settings.fillraidbp = false;
}
UpdateAimbotSettingsUI();
UpdatePlayerESPSettingsUI();
UpdateItemESPSettingsUI();
UpdateMiscOptionsSettingsUI();
if (showmenu)
{
if (itemspawnpanel != null && Settings.Itemspawnmenu)
{
if (Settings.showraidsettingsmenu)
{
Settings.showraidsettingsmenu = false;
itemspawnpanel.SetActive(value: true);
}
else
{
itemspawnpanel.SetActive(value: true);
}
}
else if (itemspawnpanel != null)
{
itemspawnpanel.SetActive(value: false);
}
if (aispawnpanel != null && Settings.Itemspawnmenu)
{
aispawnpanel.SetActive(value: true);
}
else if (aispawnpanel != null)
{
aispawnpanel.SetActive(value: false);
}
if (traderreppanel != null && Settings.Itemspawnmenu)
{
traderreppanel.SetActive(value: true);
}
else if (traderreppanel != null)
{
traderreppanel.SetActive(value: false);
}
if (skillspanel != null && Settings.Itemspawnmenu)
{
skillspanel.SetActive(value: true);
}
else if (skillspanel != null)
{
skillspanel.SetActive(value: false);
}
if (presetsPanel != null && Settings.Itemspawnmenu)
{
presetsPanel.SetActive(value: true);
}
else if (presetsPanel != null)
{
presetsPanel.SetActive(value: false);
}
if (MainColorSettingsMenu != null && Settings.ShowColorSettingsMenu)
{
MainColorSettingsMenu.SetActive(value: true);
if (Settings.Itemspawnmenu && !hidspawnmenuforcolor)
{
hidspawnmenuforcolor = true;
Settings.Itemspawnmenu = false;
}
}
else if (MainColorSettingsMenu != null)
{
MainColorSettingsMenu.SetActive(value: false);
if (!Settings.Itemspawnmenu && hidspawnmenuforcolor)
{
hidspawnmenuforcolor = false;
Settings.Itemspawnmenu = true;
}
}
if (TransitPanel != null && Settings.showraidsettingsmenu)
{
if (Settings.Itemspawnmenu)
{
Settings.Itemspawnmenu = false;
TransitPanel.SetActive(value: true);
RaidSettingsPanel.SetActive(value: true);
EntityPanel.SetActive(value: true);
}
else
{
TransitPanel.SetActive(value: true);
RaidSettingsPanel.SetActive(value: true);
EntityPanel.SetActive(value: true);
}
}
else if (TransitPanel != null)
{
TransitPanel.SetActive(value: false);
RaidSettingsPanel.SetActive(value: false);
EntityPanel.SetActive(value: false);
}
}
if (waitingForKey && Input.anyKeyDown)
{
foreach (KeyCode value in Enum.GetValues(typeof(KeyCode)))
{
if (Input.GetKeyDown(value))
{
AssignKeybind(value);
break;
}
}
waitingForKey = false;
}
if (!populatedtemplates)
{
PopulateAllTemplates();
}
if (Settings.modifyraidsettings)
{
ApplyRaidSettings();
}
}
catch (Exception)
{
}
}
public void UpdateWindow()
{
closedupdate = true;
updatepanel.SetActive(value: false);
menuBar.SetActive(value: true);
menu.SetActive(value: true);
aimbotPanel.SetActive(value: true);
if (Settings.MagicBullet)
{
watermarkmagicbullet.SetActive(value: true);
}
else
{
watermark.SetActive(value: true);
}
showmenu = true;
}
public void ShowHelpPanel()
{
showhelp = true;
if (helppanel != null && showhelp)
{
menuBar.SetActive(value: false);
helppanel.SetActive(value: true);
}
}
public void HideHelpPanel()
{
showhelp = false;
if (helppanel != null && !showhelp)
{
menuBar.SetActive(value: true);
helppanel.SetActive(value: false);
}
}
public void XPAdder()
{
if (!(Main.GameWorld = null))
{
int num = (int)Settings.expamount;
Main.LocalPlayer.Profile.EftStats.SessionCounters.SetLong(num, CounterTag.Exp);
ConsoleScreen.Log("patchedxp");
}
}
public void NullifyRiskyCounters()
{
long value = 0L;
Main.LocalPlayer.Profile.EftStats.SessionCounters.SetLong(value, CounterTag.Money, ECurrencyType.RUB);
Main.LocalPlayer.Profile.EftStats.SessionCounters.SetLong(value, CounterTag.Keys);
Main.LocalPlayer.Profile.EftStats.SessionCounters.SetLong(value, CounterTag.Money, ECurrencyType.EUR);
Main.LocalPlayer.Profile.EftStats.SessionCounters.SetLong(value, CounterTag.Money, ECurrencyType.USD);
}
public void ShowAimbotPanel()
{
HideAllPanels();
aimbotPanel.SetActive(value: true);
}
public void ShowPlayerESPPanel()
{
HideAllPanels();
playerESPPanel.SetActive(value: true);
}
public void ShowItemESPPanel()
{
HideAllPanels();
itemESPPanel.SetActive(value: true);
}
public void ShowMiscOptionsPanel()
{
HideAllPanels();
miscOptionsPanel.SetActive(value: true);
}
private void FinishQuestsWrapper()
{
questModule.FinishQuests();
}
public void ShowSettingsPanel()
{
HideAllPanels();
settingsPanel.SetActive(value: true);
}
public void LoadandSpawnitem()
{
LoadAndSpawnItemFromJson();
}
private void OnSearchTextChanged(string searchTerm)
{
if (debounceCoroutine != null)
{
StopCoroutine(debounceCoroutine);
}
debounceCoroutine = StartCoroutine(DebounceUpdateSearchResults(searchTerm));
}
public void SpawnTemplateDelegate()
{
if (spawnDebounceCoroutine != null)
{
StopCoroutine(spawnDebounceCoroutine);
}
spawnDebounceCoroutine = StartCoroutine(DebounceSpawnSelectedPreset());
}
private IEnumerator DebounceSpawnSelectedPreset()
{
yield return new WaitForSeconds(0.1f);
SpawnSelectedPreset();
}
public void OnTemplateSearchTextChanged(string searchText)
{
if (searchDebounceCoroutine != null)
{
StopCoroutine(searchDebounceCoroutine);
}
searchDebounceCoroutine = StartCoroutine(DebounceUpdateSearchText(searchText));
}
public void OnAISearchTextChanged(string searchText)
{
if (aisearchDebounceCoroutine != null)
{
StopCoroutine(aisearchDebounceCoroutine);
}
aisearchDebounceCoroutine = StartCoroutine(DebounceAISearchText(searchText));
}
private IEnumerator DebounceUpdateSearchText(string searchTerm)
{
yield return new WaitForSeconds(0.1f);
UpdatePresetResults(searchTerm);
}
private IEnumerator DebounceAISearchText(string searchTerm)
{
yield return new WaitForSeconds(0.1f);
UpdateAIResults(searchTerm);
}
private void ClearButtons()
{
foreach (Transform item in buttonContainer)
{
UnityEngine.Object.Destroy(item.gameObject);
}
}
private void ClearPresetButtons()
{
foreach (Transform item in presetButtonContainer)
{
UnityEngine.Object.Destroy(item.gameObject);
}
}
private void OnSpawnItemButtonClick()
{
if (newDebounceCoroutine != null)
{
StopCoroutine(newDebounceCoroutine);
}
newDebounceCoroutine = StartCoroutine(HandleDebouncedEvent());
}
private IEnumerator HandleDebouncedEvent()
{
yield return new WaitForSeconds(newDebounceTime);
SpawnItemHelper();
}
private IEnumerator DebounceUpdateSearchResults(string searchTerm)
{
yield return new WaitForSeconds(debounceTime);
UpdateSearchResults(searchTerm);
}
private void InitializeColorSliders()
{
redSlider.minValue = 0f;
redSlider.maxValue = 1f;
greenSlider.minValue = 0f;
greenSlider.maxValue = 1f;
blueSlider.minValue = 0f;
blueSlider.maxValue = 1f;
redSlider.onValueChanged.AddListener(OnColorSliderValueChanged);
greenSlider.onValueChanged.AddListener(OnColorSliderValueChanged);
blueSlider.onValueChanged.AddListener(OnColorSliderValueChanged);
}
private void PopulateColorList()
{
foreach (Transform item2 in colorButtonContainer)
{
UnityEngine.Object.Destroy(item2.gameObject);
}
ColorCategory value = (ColorCategory)categoryDropdown.value;
foreach (KeyValuePair<string, (Func<Color>, Action<Color>, string, ColorCategory)> item3 in ColorDictionary)
{
string colorName = item3.Key;
Color color = item3.Value.Item1();
string item = item3.Value.Item3;
if (item3.Value.Item4 != value)
{
continue;
}
GameObject gameObject = UnityEngine.Object.Instantiate(colorButtonTemplate, colorButtonContainer);
if (gameObject == null)
{
continue;
}
TMP_Text componentInChildren = gameObject.GetComponentInChildren<TMP_Text>();
if (componentInChildren != null)
{
componentInChildren.text = item ?? "";
}
Image componentInChildren2 = gameObject.GetComponentInChildren<Image>();
if (componentInChildren2 != null)
{
componentInChildren2.color = color;
}
Button component = gameObject.GetComponent<Button>();
if (component != null)
{
component.onClick.AddListener(delegate
{
OnColorButtonClick(colorName);
});
}
gameObject.SetActive(value: true);
}
LayoutRebuilder.ForceRebuildLayoutImmediate(colorButtonContainer.GetComponent<RectTransform>());
}
private void OnColorButtonClick(string colorKey)
{
selectedColorKey = colorKey;
Color color = ColorDictionary[colorKey].getColor();
string item = ColorDictionary[colorKey].description;
redSlider.value = color.r;
greenSlider.value = color.g;
blueSlider.value = color.b;
colorPreview.color = color;
colorNameText.text = "Editing: \n" + item;
colorSettingMenu.SetActive(value: true);
}
public void OnColorSliderValueChanged(float value)
{
colorPreview.color = new Color(redSlider.value, greenSlider.value, blueSlider.value, 1f);
}
public void OnApplyColorButtonClick()
{
try
{
if (!string.IsNullOrEmpty(selectedColorKey))
{
Color color = new Color(redSlider.value, greenSlider.value, blueSlider.value);
if (ColorDictionary.ContainsKey(selectedColorKey))
{
ColorDictionary[selectedColorKey].setColor(color);
ConsoleScreen.Log($"Saving color for {selectedColorKey}: {color}");
}
Settings.SaveSettings();
colorSettingMenu.SetActive(value: false);
selectedColorKey = null;
colorNameText.text = "Please Select A Colour To Change";
PopulateColorList();
}
}
catch (Exception ex)
{
ConsoleScreen.Log(ex.Message + " \n " + ex.StackTrace);
}
}
public void OnCancelColorChangeClick()
{
colorSettingMenu.SetActive(value: false);
selectedColorKey = null;
colorNameText.text = "Please Select A Colour To Change";
PopulateColorList();
}
public void OnCategoryDropdownChanged()
{
PopulateColorList();
}
public void PopulateTransitList()
{
try
{
ConsoleScreen.Log("Repopulating Transit List...");
foreach (Transform item in transitButtonContainer)
{
UnityEngine.Object.Destroy(item.gameObject);
}
if (LocationsFixerV2.transitPoints.Count > 0)
{
notransitstexttmp.text = " ";
}
else
{
notransitstexttmp.text = "No Transits to List";
}
transitInfoText.text = "Please Select A Transit from the List";
selectedTransitId = -1;
foreach (TransitPoint transitPoint in LocationsFixerV2.transitPoints)
{
if (transitPoint == null || transitPoint.name == null || transitPoint.parameters == null)
{
continue;
}
GameObject gameObject = UnityEngine.Object.Instantiate(transitButtonTemplate, transitButtonContainer);
if (gameObject == null)
{
continue;
}
TMP_Text componentInChildren = gameObject.GetComponentInChildren<TMP_Text>();
if (componentInChildren != null)
{
componentInChildren.text = RemoveUnderscores(transitPoint.name.Transliterate()) ?? "";
}
Button component = gameObject.GetComponent<Button>();
if (component != null)
{
int id = transitPoint.parameters.id;
string name = RemoveUnderscores(transitPoint.name.Transliterate());
component.onClick.AddListener(delegate
{
OnTransitButtonClick(id, name);
});
}
gameObject.SetActive(value: true);
}
LayoutRebuilder.ForceRebuildLayoutImmediate(transitButtonContainer.GetComponent<RectTransform>());
transitScrollRect.verticalNormalizedPosition = 1f;
Canvas.ForceUpdateCanvases();
}
catch (Exception arg)
{
ConsoleScreen.Log($"Error in Populate Transit list : {arg}");
}
}
private string RemoveUnderscores(string input)
{
return input.Replace("_", " ");
}
private void OnTransitButtonClick(int id, string name)
{
selectedTransitId = id;
transitInfoText.text = $"Selected Transit Point:\nName: {name}\nID: {id}";
}
public void OnApplyTransitButtonClick()
{
if (selectedTransitId == -1)
{
ConsoleScreen.Log("[TRANSIT] No transit point selected.");
}
else
{
LocationsFixerV2.StartTransitByID(selectedTransitId);
}
}
public void OnSendItemsTransitButtonClick()
{
if (selectedTransitId == -1)
{
ConsoleScreen.Log("[TRANSIT ITEMS] No transit point selected.");
}
else
{
LocationsFixerV2.TransferItemsFromTempStash(selectedTransitId);
}
}
public void OnCancelCountdownClick()
{
LocationsFixerV2.StopTransitCountdown();
}
private void PopulateTraderList()
{
foreach (KeyValuePair<string, string> trader in traderIDs)
{
GameObject gameObject = UnityEngine.Object.Instantiate(itembuttontemplate, traderbuttonContainer);
if (gameObject == null)
{
continue;
}
TMP_Text componentInChildren = gameObject.GetComponentInChildren<TMP_Text>();
if (componentInChildren != null)
{
componentInChildren.text = trader.Key;
}
Button component = gameObject.GetComponent<Button>();
if (component != null)
{
component.onClick.AddListener(delegate
{
OnTraderButtonClick(trader.Key, trader.Value);
});
}
gameObject.SetActive(value: true);
}
LayoutRebuilder.ForceRebuildLayoutImmediate(traderbuttonContainer.GetComponent<RectTransform>());
traderscrollRect.verticalNormalizedPosition = 1f;
Canvas.ForceUpdateCanvases();
}
private void OnTraderButtonClick(string traderName, string traderId)
{
selectedTraderId = traderId;
Player localPlayer = Main.LocalPlayer;
if (!(localPlayer == null))
{
if (localPlayer.Profile.TradersInfo.TryGetValue(selectedTraderId, out var value))
{
traderinfotext.text = $"Trader Info\nSelected Trader: {traderName}\nCurrent Rep Value: {value.Standing:F2}";
traderreptoaddvalue.text = $"Value to Add: {Settings.reptoadd:F2}";
}
else
{
traderinfotext.text = "Trader Info\nSelected Trader: " + traderName + "\nCurrent Rep Value: N/A";
traderreptoaddvalue.text = $"Value to Add: {Settings.reptoadd:F2}";
}
}
}
private void OnApplyButtonClick()
{
if (!string.IsNullOrEmpty(selectedTraderId))
{
Player localPlayer = Main.LocalPlayer;
if (!(localPlayer == null) && localPlayer.Profile.TradersInfo.TryGetValue(selectedTraderId, out var value))
{
float num = (float)(value.Standing + (double)Settings.reptoadd);
value.SetStanding(num);
OnTraderButtonClick(GetTraderNameById(selectedTraderId), selectedTraderId);
}
}
}
private string GetTraderNameById(string traderId)
{
foreach (KeyValuePair<string, string> traderID in traderIDs)
{
if (traderID.Value == traderId)
{
return traderID.Key;
}
}
return "Unknown Trader";
}
private void OnSliderValueChanged(float value)
{
Settings.reptoadd = value;
traderreptoaddvalue.text = $"Value to Add: {Settings.reptoadd:F2}";
}
private void OnSkillLevelSliderValueChanged(float value)
{
skillLevelToAddText.text = $"Level to Set: {value:F0}";
}
private void PopulateSkillList()
{
foreach (string skill in skillLevels.Keys)
{
GameObject gameObject = UnityEngine.Object.Instantiate(itembuttontemplate, skillButtonContainer);
if (gameObject == null)
{
continue;
}
TMP_Text componentInChildren = gameObject.GetComponentInChildren<TMP_Text>();
if (componentInChildren != null)
{
componentInChildren.text = skill;
}
Button component = gameObject.GetComponent<Button>();
if (component != null)
{
component.onClick.AddListener(delegate
{
OnSkillButtonClick(skill);
});
}
gameObject.SetActive(value: true);
}
LayoutRebuilder.ForceRebuildLayoutImmediate(skillButtonContainer.GetComponent<RectTransform>());
skillScrollRect.verticalNormalizedPosition = 1f;
Canvas.ForceUpdateCanvases();
}
private void OnApplySkillButtonClick()
{
if (string.IsNullOrEmpty(selectedSkillName))
{
return;
}
Player localPlayer = Main.LocalPlayer;
if (!(localPlayer == null))
{
int num = (int)skillLevelSlider.value;
switch (selectedSkillName)
{
case "Strength":
localPlayer.Skills.Strength.SetLevel(num);
break;
case "StressResistance":
localPlayer.Skills.StressResistance.SetLevel(num);
break;
case "MagDrills":
localPlayer.Skills.MagDrills.SetLevel(num);
break;
case "Melee":
localPlayer.Skills.Melee.SetLevel(num);
break;
case "HideoutManagement":
localPlayer.Skills.HideoutManagement.SetLevel(num);
break;
case "Crafting":
localPlayer.Skills.Crafting.SetLevel(num);
break;
case "HeavyVests":
localPlayer.Skills.HeavyVests.SetLevel(num);
break;
case "LightVests":
localPlayer.Skills.LightVests.SetLevel(num);
break;
case "RecoilControl":
localPlayer.Skills.RecoilControl.SetLevel(num);
break;
case "LMG":
localPlayer.Skills.LMG.SetLevel(num);
break;
case "Assault":
localPlayer.Skills.Assault.SetLevel(num);
break;
case "Pistol":
localPlayer.Skills.Pistol.SetLevel(num);
break;
case "Perception":
localPlayer.Skills.Perception.SetLevel(num);
break;
case "Sniper":
localPlayer.Skills.Sniper.SetLevel(num);
break;
case "Sniping":
localPlayer.Skills.Sniping.SetLevel(num);
break;
case "Endurance":
localPlayer.Skills.Endurance.SetLevel(num);
break;
case "Throwing":
localPlayer.Skills.Throwing.SetLevel(num);
break;
case "Charisma":
localPlayer.Skills.Charisma.SetLevel(num);
break;
case "BotReload":
localPlayer.Skills.BotReload.SetLevel(num);
break;
case "TroubleShooting":
localPlayer.Skills.TroubleShooting.SetLevel(num);
break;
case "Health":
localPlayer.Skills.Health.SetLevel(num);
break;
case "Vitality":
localPlayer.Skills.Vitality.SetLevel(num);
break;
case "Metabolism":
localPlayer.Skills.Metabolism.SetLevel(num);
break;
case "Immunity":
localPlayer.Skills.Immunity.SetLevel(num);
break;
case "Intellect":
localPlayer.Skills.Intellect.SetLevel(num);
break;
case "Attention":
localPlayer.Skills.Attention.SetLevel(num);
break;
case "Shotgun":
localPlayer.Skills.Shotgun.SetLevel(num);
break;
case "HMG":
localPlayer.Skills.HMG.SetLevel(num);
break;
case "Launcher":
localPlayer.Skills.Launcher.SetLevel(num);
break;
case "DMR":
localPlayer.Skills.DMR.SetLevel(num);
break;
case "AimDrills":
localPlayer.Skills.AimDrills.SetLevel(num);
break;
case "Surgery":
localPlayer.Skills.Surgery.SetLevel(num);
break;
case "CovertMovement":
localPlayer.Skills.CovertMovement.SetLevel(num);
break;
case "Search":
localPlayer.Skills.Search.SetLevel(num);
break;
case "FieldMedicine":
localPlayer.Skills.FieldMedicine.SetLevel(num);
break;
case "FirstAid":
localPlayer.Skills.FirstAid.SetLevel(num);
break;
case "SMG":
localPlayer.Skills.SMG.SetLevel(num);
break;
case "WeaponTreatment":
localPlayer.Skills.WeaponTreatment.SetLevel(num);
break;
case "Revolver":
localPlayer.Skills.Revolver.SetLevel(num);
break;
case "AttachedLauncher":
localPlayer.Skills.AttachedLauncher.SetLevel(num);
break;
}
skillLevels[selectedSkillName] = num;
}
}
private void OnSkillButtonClick(string skillName)
{
selectedSkillName = skillName;
Player localPlayer = Main.LocalPlayer;
if (!(localPlayer == null))
{
int num = 0;
num = skillName switch
{
"Strength" => localPlayer.Skills.Strength.Level,
"StressResistance" => localPlayer.Skills.StressResistance.Level,
"MagDrills" => localPlayer.Skills.MagDrills.Level,
"Melee" => localPlayer.Skills.Melee.Level,
"HideoutManagement" => localPlayer.Skills.HideoutManagement.Level,
"Crafting" => localPlayer.Skills.Crafting.Level,
"HeavyVests" => localPlayer.Skills.HeavyVests.Level,
"LightVests" => localPlayer.Skills.LightVests.Level,
"RecoilControl" => localPlayer.Skills.RecoilControl.Level,
"LMG" => localPlayer.Skills.LMG.Level,
"Assault" => localPlayer.Skills.Assault.Level,
"Pistol" => localPlayer.Skills.Pistol.Level,
"Perception" => localPlayer.Skills.Perception.Level,
"Sniper" => localPlayer.Skills.Sniper.Level,
"Sniping" => localPlayer.Skills.Sniping.Level,
"Endurance" => localPlayer.Skills.Endurance.Level,
"Throwing" => localPlayer.Skills.Throwing.Level,
"Charisma" => localPlayer.Skills.Charisma.Level,
"BotReload" => localPlayer.Skills.BotReload.Level,
"TroubleShooting" => localPlayer.Skills.TroubleShooting.Level,
"Health" => localPlayer.Skills.Health.Level,
"Vitality" => localPlayer.Skills.Vitality.Level,
"Metabolism" => localPlayer.Skills.Metabolism.Level,
"Immunity" => localPlayer.Skills.Immunity.Level,
"Intellect" => localPlayer.Skills.Intellect.Level,
"Attention" => localPlayer.Skills.Attention.Level,
"Shotgun" => localPlayer.Skills.Shotgun.Level,
"HMG" => localPlayer.Skills.HMG.Level,
"Launcher" => localPlayer.Skills.Launcher.Level,
"DMR" => localPlayer.Skills.DMR.Level,
"AimDrills" => localPlayer.Skills.AimDrills.Level,
"Surgery" => localPlayer.Skills.Surgery.Level,
"CovertMovement" => localPlayer.Skills.CovertMovement.Level,
"Search" => localPlayer.Skills.Search.Level,
"FieldMedicine" => localPlayer.Skills.FieldMedicine.Level,
"FirstAid" => localPlayer.Skills.FirstAid.Level,
"SMG" => localPlayer.Skills.SMG.Level,
"WeaponTreatment" => localPlayer.Skills.WeaponTreatment.Level,
"Revolver" => localPlayer.Skills.Revolver.Level,
"AttachedLauncher" => localPlayer.Skills.AttachedLauncher.Level,
_ => 0,
};
skillInfoText.text = $"Selected Skill: {selectedSkillName}\nCurrent Level: {num}";
skillLevelToAddText.text = $"Level to Set: {skillLevelSlider.value:F0}";
skillLevelSlider.value = num;
}
}
private void AddItemToWishList()
{
Main.GetWishlistItems();
_E8D9 obj = Main.LocalPlayer.Profile?.WishlistManager;
if (obj != null)
{
if (spawnid != null)
{
obj.AddToWishlist(itemidstring, EWishlistGroup.Other, simulate: false);
}
Refreshsearchupdate();
}
}
private void PopulateAndFilterItemList(string searchTerm = "")
{
if (pullItemIDs == null || pullItemIDs.itemList == null)
{
return;
}
ClearButtons();
VerticalLayoutGroup component = buttonContainer.GetComponent<VerticalLayoutGroup>();
if (component != null)
{
component.enabled = false;
component.enabled = true;
}
List<ItemData> itemList = pullItemIDs.itemList;
bool anyFilterSelected = Settings.filtersuperrare || Settings.filterkappa || Settings.filterquest || Settings.filterwishlist || Settings.filterhideout || Settings.filterstim;
foreach (ItemData item in itemList.Where(delegate(ItemData itemData)
{
bool flag = stupid.solutions.QuestESP.QuestItemIds.Contains(itemData.Name);
bool flag2 = Main.IsSuperrare(itemData.Name);
bool flag3 = Main.IsKappa(itemData.Name);
bool flag4 = Main.IsStim(itemData.Name);
bool flag5 = Main.wishlistitemids.Contains(itemData.Id);
bool flag6 = Main.hideoutitemids.Contains(itemData.Id);
bool flag7 = !anyFilterSelected;
if (Settings.filtersuperrare && flag2)
{
flag7 = true;
}
if (Settings.filterkappa && flag3)
{
flag7 = true;
}
if (Settings.filterquest && flag)
{
flag7 = true;
}
if (Settings.filterwishlist && flag5)
{
flag7 = true;
}
if (Settings.filterhideout && flag6)
{
flag7 = true;
}
if (Settings.filterstim && flag4)
{
flag7 = true;
}
int? itemPriceBYID2 = GameUtils.GetItemPriceBYID(itemData.Id);
if (Settings.filtervalue && (!itemPriceBYID2.HasValue || itemPriceBYID2.Value < Settings.moneyfiltervalue))
{
return false;
}
return (string.IsNullOrEmpty(searchTerm) || itemData.ShortName.Contains(searchTerm) || itemData.Name.Contains(searchTerm) || itemData.Id.Contains(searchTerm)) && flag7;
}).ToList())
{
int? itemPriceBYID = GameUtils.GetItemPriceBYID(item.Id);
GameObject gameObject = UnityEngine.Object.Instantiate(itembuttontemplate, buttonContainer);
if (gameObject == null)
{
continue;
}
TMP_Text componentInChildren = gameObject.GetComponentInChildren<TMP_Text>();
if (componentInChildren != null)
{
if (!Main.wishlistitemids.Contains(item.Id))
{
if (!Settings.filtervalue)
{
componentInChildren.text = item.ShortName;
}
else
{
componentInChildren.text = $"{item.ShortName} - {itemPriceBYID / 1000}K";
}
}
else if (!Settings.filtervalue)
{
componentInChildren.text = item.ShortName ?? "";
componentInChildren.color = Color.magenta;
}
else
{
componentInChildren.text = $"{item.ShortName} - {itemPriceBYID / 1000}K";
componentInChildren.color = Color.magenta;
}
}
Button component2 = gameObject.GetComponent<Button>();
if (component2 != null)
{
component2.onClick.AddListener(delegate
{
SpawnItemDelegate(item.Id, item.Name, item.avg24hPrice, item.BasePrice);
});
}
gameObject.SetActive(value: true);
}
LayoutRebuilder.ForceRebuildLayoutImmediate(buttonContainer.GetComponent<RectTransform>());
scrollRect.verticalNormalizedPosition = 1f;
Canvas.ForceUpdateCanvases();
}
private void UpdateSearchResults(string searchTerm)
{
PopulateAndFilterItemList(searchTerm);
}
private void Refreshsearchupdate()
{
string searchTerm = "";
if (searchInputField.text != null)
{
searchTerm = searchInputField.text;
}
PopulateAndFilterItemList(searchTerm);
}
public void PopulateAllTemplates()
{
if (itembuttontemplate == null || pullItemPresets == null || pullItemPresets.templateList == null || pullItemPresets.templateList.Count == 0)
{
return;
}
populatedtemplates = true;
ClearButtons();
foreach (Transform item in presetButtonContainer)
{
UnityEngine.Object.Destroy(item.gameObject);
}
VerticalLayoutGroup component = presetButtonContainer.GetComponent<VerticalLayoutGroup>();
if (component != null)
{
component.enabled = false;
component.enabled = true;
}
foreach (TemplateData template in pullItemPresets.templateList)
{
GameObject gameObject = UnityEngine.Object.Instantiate(itembuttontemplate, presetButtonContainer);
if (gameObject == null)
{
continue;
}
TMP_Text componentInChildren = gameObject.GetComponentInChildren<TMP_Text>();
if (componentInChildren != null)
{
componentInChildren.text = template.PresetName;
}
Button component2 = gameObject.GetComponent<Button>();
if (component2 != null)
{
component2.onClick.AddListener(delegate
{
SelectPreset(template.PresetName, template.ItemTemplate.FirstOrDefault().Value.Description);
});
}
gameObject.SetActive(value: true);
}
LayoutRebuilder.ForceRebuildLayoutImmediate(presetButtonContainer.GetComponent<RectTransform>());
presetScrollRect.verticalNormalizedPosition = 1f;
Canvas.ForceUpdateCanvases();
}
private void UpdatePresetResults(string searchTerm)
{
if (pullItemPresets == null || pullItemPresets.templateList == null)
{
return;
}
if (string.IsNullOrEmpty(searchTerm))
{
PopulateAllTemplates();
return;
}
ClearPresetButtons();
VerticalLayoutGroup component = presetButtonContainer.GetComponent<VerticalLayoutGroup>();
if (component != null)
{
component.enabled = false;
component.enabled = true;
}
List<TemplateData> list = pullItemPresets.templateList.Where((TemplateData templateData) => templateData.PresetName.Contains(searchTerm)).ToList();
if (pullItemPresets.templateList == null)
{
ConsoleScreen.Log("template list is null");
}
foreach (TemplateData template in list)
{
GameObject gameObject = UnityEngine.Object.Instantiate(itembuttontemplate, presetButtonContainer);
if (gameObject == null)
{
continue;
}
TMP_Text componentInChildren = gameObject.GetComponentInChildren<TMP_Text>();
if (componentInChildren != null)
{
componentInChildren.text = template.PresetName;
}
Button component2 = gameObject.GetComponent<Button>();
if (component2 != null)
{
component2.onClick.AddListener(delegate
{
SelectPreset(template.PresetName, template.ItemTemplate.FirstOrDefault().Value.Description);
});
}
gameObject.SetActive(value: true);
}
LayoutRebuilder.ForceRebuildLayoutImmediate(presetButtonContainer.GetComponent<RectTransform>());
presetScrollRect.verticalNormalizedPosition = 1f;
Canvas.ForceUpdateCanvases();
}
private void SelectPreset(string presetName, string description)
{
selectedPresetName = presetName;
ConsoleScreen.Log("Selected preset: " + presetName);
presetInfoText.text = " Selected preset : " + presetName + "\n Description : " + description;
}
public unsafe async Task SpawnSelectedPreset()
{
if (string.IsNullOrEmpty(selectedPresetName) || pullItemPresets == null || pullItemPresets.templateList == null)
{
ConsoleScreen.Log("No preset selected or presets list is empty.");
return;
}
TemplateData templateData = pullItemPresets.templateList.FirstOrDefault((TemplateData template) => template.PresetName == selectedPresetName);
if (templateData == null)
{
ConsoleScreen.Log("Selected preset not found in the list.");
return;
}
ConsoleScreen.Log("Spawning preset: " + templateData.PresetName);
KeyValuePair<string, stupid.solutions.ItemTemplate> keyValuePair = templateData.ItemTemplate.FirstOrDefault();
if (keyValuePair.Value == null)
{
ConsoleScreen.Log("No item template found for the selected preset.");
return;
}
string key = keyValuePair.Key;
Dictionary<string, stupid.solutions.SlotData> slotsDictionary = keyValuePair.Value.Slots;
ItemFactory itemFactory = new ItemFactory();
dynamic item = itemFactory.CreateItem(key);
if (item == null)
{
ConsoleScreen.Log("Failed to create the main item from the template.");
return;
}
item.SpawnedInSession = true;
dynamic val = item.AllSlots;
if (val != null)
{
foreach (dynamic item3 in val)
{
string text = item3.FullId;
if (slotsDictionary.TryGetValue(text, out var value))
{
string itemId = value.ItemId;
Item item2 = itemFactory.CreateItem(itemId);
item2.SpawnedInSession = true;
if (item2 != null)
{
try
{
item3.AddWithoutRestrictions(item2);
ConsoleScreen.Log("Added component item " + itemId + " to slot '" + text + "'.");
}
catch (Exception ex)
{
ConsoleScreen.Log("Error adding component to slot '" + text + "': " + ex.Message);
}
}
else
{
ConsoleScreen.Log("Failed to create component item with ID " + itemId + ".");
}
}
await Task.Delay(10);
}
}
else
{
ConsoleScreen.Log("No slots found for the main item.");
}
dynamic awaiter = AddItemToBackpack(item).GetAwaiter();
if (!(bool)awaiter.IsCompleted)
{
ICriticalNotifyCompletion awaiter2 = awaiter as ICriticalNotifyCompletion;
AsyncTaskMethodBuilder asyncTaskMethodBuilder = default(AsyncTaskMethodBuilder);
if (awaiter2 == null)
{
INotifyCompletion awaiter3 = (INotifyCompletion)(object)awaiter;
asyncTaskMethodBuilder.AwaitOnCompleted(ref awaiter3, ref *(_003CSpawnSelectedPreset_003Ed__388*)/*Error near IL_06ed: stateMachine*/);
}
else
{
asyncTaskMethodBuilder.AwaitUnsafeOnCompleted(ref awaiter2, ref *(_003CSpawnSelectedPreset_003Ed__388*)/*Error near IL_0700: stateMachine*/);
}
/*Error near IL_0709: leave MoveNext - await not detected correctly*/;
}
awaiter.GetResult();
}
private void SpawnItemDelegate(string itemId, string fullname, int? value, int basevalue)
{
itemidstring = itemId;
string text = ((!value.HasValue) ? $"Value: {basevalue / 1000}K" : $"Value: {value / 1000}K");
iteminfotext.text = "Selected Item Info :\nFull Name : " + fullname + "\nItem ID: " + itemId + "\n" + text;
}
private void UpdateAIResults(string searchTerm)
{
if (string.IsNullOrEmpty(searchTerm))
{
PopulateAIMenu();
}
else
{
if (aILister.aiPresets == null)
{
return;
}
ClearAIButtons();
VerticalLayoutGroup component = aiButtonContainer.GetComponent<VerticalLayoutGroup>();
if (component != null)
{
component.enabled = false;
component.enabled = true;
}
foreach (AIData ai in aILister.aiPresets.Where((AIData aIData) => aIData.Name.Contains(searchTerm)).ToList())
{
GameObject gameObject = UnityEngine.Object.Instantiate(aiButtonTemplate, aiButtonContainer);
if (gameObject == null)
{
continue;
}
TMP_Text componentInChildren = gameObject.GetComponentInChildren<TMP_Text>();
if (componentInChildren != null)
{
componentInChildren.text = ai.Name;
componentInChildren.color = ai.NameColor;
}
Button component2 = gameObject.GetComponent<Button>();
if (component2 != null)
{
component2.onClick.AddListener(delegate
{
SelectAI(ai.Name, ai.EnumID, ai.Description);
});
}
gameObject.SetActive(value: true);
}
LayoutRebuilder.ForceRebuildLayoutImmediate(aiButtonContainer.GetComponent<RectTransform>());
if (aiScrollRect != null)
{
aiScrollRect.verticalNormalizedPosition = 1f;
}
Canvas.ForceUpdateCanvases();
}
}
public void PopulateAIMenu()
{
if (aILister.aiPresets == null || aILister.aiPresets.Count == 0)
{
ConsoleScreen.Log("No AI presets available.");
return;
}
if (aILister.aiPresets.Count > 0)
{
ConsoleScreen.Log($"Found {aILister.aiPresets.Count} AI for List");
}
ClearAIButtons();
VerticalLayoutGroup component = aiButtonContainer.GetComponent<VerticalLayoutGroup>();
if (component != null)
{
component.enabled = false;
component.enabled = true;
}
foreach (AIData ai in aILister.aiPresets)
{
GameObject gameObject = UnityEngine.Object.Instantiate(aiButtonTemplate, aiButtonContainer);
if (gameObject == null)
{
continue;
}
TMP_Text componentInChildren = gameObject.GetComponentInChildren<TMP_Text>();
if (componentInChildren != null)
{
componentInChildren.text = ai.Name;
componentInChildren.color = ai.NameColor;
}
Button component2 = gameObject.GetComponent<Button>();
if (component2 != null)
{
component2.onClick.AddListener(delegate
{
SelectAI(ai.Name, ai.EnumID, ai.Description);
});
}
gameObject.SetActive(value: true);
}
LayoutRebuilder.ForceRebuildLayoutImmediate(aiButtonContainer.GetComponent<RectTransform>());
if (aiScrollRect != null)
{
aiScrollRect.verticalNormalizedPosition = 1f;
}
Canvas.ForceUpdateCanvases();
}
private void SelectAI(string aiName, WildSpawnType aiID, string description)
{
selectedAIName = aiName;
spawnid = aiID.ToString();
aiInfoText.text = "Selected AI: " + aiName + "\nDescription: " + description;
}
private void ClearAIButtons()
{
foreach (Transform item in aiButtonContainer)
{
UnityEngine.Object.Destroy(item.gameObject);
}
}
public void SpawnBot()
{
IBotGame instance = Singleton<IBotGame>.Instance;
string text = spawnid;
try
{
if (instance == null || spawnid == null)
{
return;
}
if (Enum.TryParse<WildSpawnType>(text, out var result))
{
BotSpawnParams botSpawnParams = new BotSpawnParams();
botSpawnParams.Id_spawn = "";
if (result == WildSpawnType.infectedAssault || result == WildSpawnType.infectedLaborant || result == WildSpawnType.infectedPmc || result == WildSpawnType.infectedCivil)
{
botSpawnParams.TriggerType = SpawnTriggerType.botEvent;
}
else
{
botSpawnParams.TriggerType = SpawnTriggerType.none;
}
instance.BotsController.GetSpawner().SpawnBotByTypeForce(1, result, BotDifficulty.normal, botSpawnParams);
ConsoleScreen.Log($"Spawned AI: {selectedAIName} ({result})");
}
else
{
ConsoleScreen.Log("Invalid WildSpawnType: " + text);
}
}
catch (SystemException ex)
{
ConsoleScreen.Log("Error spawning Bot " + ex.Message);
}
}
public void SpawnItemHelper()
{
if (Settings.fillraidbp)
{
FillRaidBag();
}
if (Settings.thicc)
{
AddItemsToThiccCase();
}
else if (Settings.ammobox || Settings.sicc)
{
AddItemsToBackpack();
}
else
{
Spawnitem();
}
}
public void FillRaidBag()
{
if (Main.GameWorld == null)
{
ConsoleScreen.Log("Log: Game world not found to spawn items in.");
return;
}
try
{
ItemFactory itemFactory = new ItemFactory();
dynamic containedItem = Main.LocalPlayer.Profile.Inventory.Equipment.GetSlot(EquipmentSlot.Backpack).ContainedItem;
if (containedItem == null)
{
Item item = itemFactory.CreateItem("5df8a4d786f77412672a1e3b");
if (item == null)
{
ConsoleScreen.Log("Log: Failed to create backpack.");
return;
}
Main.LocalPlayer.Profile.Inventory.Equipment.GetSlot(EquipmentSlot.Backpack).AddWithoutRestrictions(item);
containedItem = Main.LocalPlayer.Profile.Inventory.Equipment.GetSlot(EquipmentSlot.Backpack).ContainedItem;
}
if (containedItem == null || containedItem.Grids == null || containedItem.Grids.Length == 0)
{
ConsoleScreen.Log("Log: No valid grid found in backpack.");
return;
}
dynamic val = containedItem.Grids[0];
if (!Settings.sicc && !Settings.ammobox && !Settings.thicc)
{
for (int i = 0; i < val.GridWidth; i++)
{
for (int j = 0; j < val.GridHeight; j++)
{
dynamic val2 = itemFactory.CreateItem(itemidstring);
if (val2 == null)
{
ConsoleScreen.Log("Log: Failed to create item with ID " + itemidstring + ".");
continue;
}
val2.SpawnedInSession = true;
val2.StackObjectsCount = val2.Template.StackMaxSize;
if (Settings.componentexploit)
{
ProcessComponents(val2);
}
LocationInGrid locationInGrid = val.FindFreeSpace(val2);
if (!(locationInGrid != null))
{
ConsoleScreen.Log("Log: No free space left in backpack for more items.");
return;
}
val.AddItemWithoutRestrictions(val2, locationInGrid);
}
}
}
else
{
string text = (Settings.sicc ? Settings.SICCID : "5aafbde786f774389d0cbc0f");
int num = (Settings.sicc ? 1 : 2);
int num2 = 2;
int num3 = val.GridWidth;
int num4 = val.GridHeight;
int num5 = num3 * num4 / (num * num2);
for (int k = 0; k < num5; k++)
{
dynamic val3 = itemFactory.CreateItem(text);
if (val3 == null)
{
ConsoleScreen.Log("Log: Failed to create container with ID " + text + ".");
continue;
}
val3.SpawnedInSession = true;
FillContainerWithNestedItems(val3, itemidstring, itemFactory);
LocationInGrid locationInGrid2 = val.FindFreeSpace(val3);
if (!(locationInGrid2 != null))
{
ConsoleScreen.Log("Log: No free space left in backpack for more containers.");
break;
}
val.AddItemWithoutRestrictions(val3, locationInGrid2);
ConsoleScreen.Log("Log: Container added to backpack successfully.");
}
}
ConsoleScreen.Log("Log: Backpack filled to maximum capacity.");
}
catch (Exception ex)
{
ConsoleScreen.Log("Log: Exception occurred while filling backpack: " + ex.Message);
}
}
public void Spawnitemadvanced()
{
advanceditemidcache = itemidstring;
advanceditemcache = new ItemFactory().CreateItem(advanceditemidcache);
if (advanceditemcache == null)
{
ConsoleScreen.Log("Failed to create advanced item.");
return;
}
cachedBuffs = ExtractBuffs(advanceditemcache);
cachedSlots = ExtractSlots(advanceditemcache);
ShowAdvancedItemMenu();
}
private List<BuffComponent> ExtractBuffs(dynamic item)
{
List<BuffComponent> list = new List<BuffComponent>();
try
{
dynamic itemComponents = item.GetItemComponents<BuffComponent>();
if (itemComponents != null)
{
list.AddRange(itemComponents);
}
}
catch
{
dynamic itemComponent = item.GetItemComponent<BuffComponent>();
if (itemComponent != null)
{
list.Add(itemComponent);
}
}
return list;
}
private List<(string slotName, dynamic slotRef)> ExtractSlots(dynamic item)
{
List<(string, object)> list = new List<(string, object)>();
dynamic val = item.AllSlots;
if (val != null)
{
foreach (dynamic item2 in val)
{
if (item2.ContainedItem == null)
{
list.Add(((string)(object)item2.Name, item2));
}
}
}
return list;
}
private void RefreshslotItems()
{
ConsoleScreen.Log("Updating Items Available Slots...");
int count = cachedSlots.Count;
cachedSlots = ExtractSlots(advanceditemcache);
PopulateSlotListUI(cachedSlots);
ConsoleScreen.Log($"Item Slots Updated : {count} -> {cachedSlots.Count}");
}
private void ShowAdvancedItemMenu()
{
advancedItemPanel.SetActive(value: true);
slotItemWindow.SetActive(value: false);
PopulateBuffListUI(cachedBuffs);
PopulateSlotListUI(cachedSlots);
spawnadvancedButton.onClick.RemoveAllListeners();
spawnadvancedButton.onClick.AddListener(OnSpawnAdvancedConfirmed);
cancelButton.onClick.RemoveAllListeners();
cancelButton.onClick.AddListener(CloseAdvancedSpawnMenuandReset);
refreshSlotsButton.onClick.RemoveAllListeners();
refreshSlotsButton.onClick.AddListener(delegate
{
RefreshslotItems();
});
buffEditWindow.SetActive(cachedBuffs.Count > 0);
slotListContainer.parent.gameObject.SetActive(cachedSlots.Count > 0);
}
private void CloseAdvancedSpawnMenuandReset()
{
advancedItemPanel.SetActive(value: false);
advanceditemcache = null;
cachedBuffs.Clear();
cachedSlots.Clear();
PopulateBuffListUI(cachedBuffs);
PopulateSlotListUI(cachedSlots);
}
private void PopulateBuffListUI(List<BuffComponent> buffs)
{
foreach (Transform item in buffListContainer)
{
UnityEngine.Object.Destroy(item.gameObject);
}
foreach (BuffComponent buff in buffs)
{
string buffname = "Empty Buff Slot";
if (IsValidBuff(buff.BuffType))
{
buffname = buff.BuffType.ToString();
}
GameObject obj = UnityEngine.Object.Instantiate(buffButtonTemplate, buffListContainer);
obj.GetComponentInChildren<TMP_Text>().text = $"{buffname} ({buff.Value:F2})";
obj.GetComponent<Button>().onClick.AddListener(delegate
{
OnBuffSelected(buff, buffname);
});
obj.SetActive(value: true);
}
}
private bool IsValidBuff(ERepairBuffType type)
{
if (Enum.IsDefined(typeof(ERepairBuffType), type))
{
return type != (ERepairBuffType)(-1);
}
return false;
}
private void OnBuffSelected(BuffComponent buff, string buffName)
{
currentEditingBuff = buff;
buffNameText.text = buffName;
buffSlider.value = (float)buff.Value;
buffTypeDropdown.ClearOptions();
List<string> options = Enum.GetNames(typeof(ERepairBuffType)).ToList();
buffTypeDropdown.AddOptions(options);
int buffType = (int)buff.BuffType;
if (buffType >= 0 && buffType < buffTypeDropdown.options.Count)
{
buffTypeDropdown.value = buffType;
}
UpdateBuffInfoText(buff);
buffValueText.text = $"Buff Value: {buff.Value:F2}";
buffSlider.onValueChanged.RemoveAllListeners();
buffSlider.onValueChanged.AddListener(delegate(float value)
{
buffValueText.text = $"Buff Value: {value:F2}";
});
applyBuffButton.onClick.RemoveAllListeners();
applyBuffButton.onClick.AddListener(delegate
{
float value = buffSlider.value;
if (Enum.TryParse<ERepairBuffType>(buffTypeDropdown.options[buffTypeDropdown.value].text, out var result))
{
buff.BuffType = result;
}
buff.Value = value;
currentEditingBuff = null;
buffNameText.text = "Please select a Buff from the List";
buffValueText.text = "";
PopulateBuffListUI(cachedBuffs);
});
}
private void DumpAndSetAllAttributes(dynamic item1)
{
Item item2 = item1 as Item;
if (item2.Attributes == null)
{
ConsoleScreen.Log("No attributes found.");
return;
}
foreach (_EFA5 attribute in item2.Attributes)
{
float num;
try
{
num = ((attribute.Base != null) ? attribute.Base() : float.NaN);
}
catch
{
num = float.NaN;
}
string arg = attribute.DisplayName ?? attribute.Name ?? "Unknown";
ConsoleScreen.Log($"Attribute: {arg} | Current Value: {num}");
attribute.Base = () => 1000000f;
attribute.StringValue = () => "1000000";
attribute.Update();
}
ConsoleScreen.Log("All attribute Base values replaced with 1,000,000.");
}
private void UpdateBuffInfoText(BuffComponent buff)
{
buffNameText.text = $"Buff: {buff.BuffType}";
buffValueText.text = $"Buff Value: {buff.Value:F2}";
}
private void PopulateSlotListUI(List<(string, dynamic)> slots)
{
foreach (Transform item in slotListContainer)
{
UnityEngine.Object.Destroy(item.gameObject);
}
foreach (var slot in slots)
{
string slotName = slot.Item1;
dynamic slotRef = slot.Item2;
GameObject obj = UnityEngine.Object.Instantiate(slotButtonTemplate, slotListContainer);
obj.GetComponentInChildren<TMP_Text>().text = slotName;
obj.GetComponent<Button>().onClick.AddListener(delegate
{
OpenSlotSelectWindow(slotRef, slotName);
});
obj.SetActive(value: true);
}
}
private void OpenSlotSelectWindow(dynamic slot, string slotName)
{
currentEditingSlotRef = slot;
currentSlotName = slotName;
selectedSlotItemId = null;
if (!slotItemWindow.activeSelf)
{
slotItemWindow.SetActive(value: true);
}
slotItemWindowTitle.text = "Slot: " + slotName;
slotItemInfoText.text = "Select an item...";
try
{
foreach (Transform item2 in slotCompatibleItemsContainer)
{
UnityEngine.Object.Destroy(item2.gameObject);
}
}
catch (Exception arg)
{
ConsoleScreen.Log($"[AdvancedItemSpawner] Instance Clearing Error: {arg}");
}
List<ItemData> list = new List<ItemData>();
try
{
if (slot.Filters != null)
{
foreach (dynamic item3 in slot.Filters)
{
dynamic val = item3 == null;
if (val || item3.Filter == null)
{
continue;
}
foreach (object item4 in item3.Filter)
{
try
{
string text = ((dynamic)item4)?.ToString()?.Trim();
if (!string.IsNullOrEmpty(text) && text.Length == 24)
{
ItemData itemDataByID = GetItemDataByID(text);
list.Add(itemDataByID);
}
}
catch (Exception)
{
}
}
}
}
else
{
ConsoleScreen.Log("[AdvancedItemSpawner] Slot '" + slotName + "' has no filters.");
}
}
catch (Exception ex2)
{
ConsoleScreen.Log("[AdvancedItemSpawner] ERROR parsing filters: " + ex2.Message + "\n" + ex2.StackTrace);
}
if (list.Count == 0)
{
slotItemInfoText.text = "No compatible items.";
ConsoleScreen.Log("[AdvancedItemSpawner] No compatible items for slot '" + slotName + "'.");
slotItemWindow.SetActive(value: false);
return;
}
ConsoleScreen.Log($"[AdvancedItemSpawner] Found {list.Count} compatible items for slot '{slotName}':");
foreach (ItemData id in list.Distinct())
{
GameObject obj = UnityEngine.Object.Instantiate(compatibleItemButtonTemplate, slotCompatibleItemsContainer);
obj.GetComponentInChildren<TMP_Text>().text = id.ShortName;
obj.GetComponent<Button>().onClick.AddListener(delegate
{
selectedSlotItemId = id.Id;
slotItemInfoText.text = "Selected Item Name : " + id.Name + "\nSelected Item ID:" + id.Id;
});
obj.SetActive(value: true);
}
cancelSlotButton.onClick.RemoveAllListeners();
cancelSlotButton.onClick.AddListener(delegate
{
HideSlotItemWindow();
});
applySlotButton.onClick.RemoveAllListeners();
applySlotButton.onClick.AddListener(delegate
{
if (!string.IsNullOrEmpty(selectedSlotItemId))
{
try
{
Item item = new ItemFactory().CreateItem(selectedSlotItemId);
if (item != null)
{
item.SpawnedInSession = true;
currentEditingSlotRef.AddWithoutRestrictions(item);
ConsoleScreen.Log("[AdvancedItemSpawner] Applied item " + selectedSlotItemId + " to slot " + currentSlotName);
foreach (BuffComponent item5 in ExtractBuffs(item))
{
if (!cachedBuffs.Contains(item5))
{
cachedBuffs.Add(item5);
}
}
buffEditWindow.SetActive(cachedBuffs.Count > 0);
PopulateBuffListUI(cachedBuffs);
}
else
{
ConsoleScreen.Log("[AdvancedItemSpawner] Failed to create item from ID " + selectedSlotItemId);
}
}
catch (Exception ex3)
{
ConsoleScreen.Log("[AdvancedItemSpawner] Failed to apply item to slot: " + ex3.Message);
}
}
HideSlotItemWindow();
});
}
private void HideSlotItemWindow()
{
RefreshslotItems();
slotItemWindow.SetActive(value: false);
selectedSlotItemId = null;
slotItemInfoText.text = "Select an item...";
}
private ItemData GetItemDataByID(string itemID)
{
if (pullItemIDs.itemList != null && pullItemIDs.itemList.Count > 0)
{
ItemData itemData = pullItemIDs.itemList.FirstOrDefault((ItemData item) => item.Id == itemID);
if (itemData != null && !string.IsNullOrEmpty(itemData.Name))
{
return itemData;
}
}
return new ItemData
{
Id = itemID,
ShortName = "Default Component",
Name = "Default Component",
NormalizedName = "default_component",
Types = new List<string>(),
BasePrice = 0,
avg24hPrice = null
};
}
private void OnSpawnAdvancedConfirmed()
{
if (advanceditemcache != null)
{
AddItemToBackpack(advanceditemcache);
advancedItemPanel.SetActive(value: false);
advanceditemcache = null;
cachedBuffs.Clear();
cachedSlots.Clear();
PopulateBuffListUI(cachedBuffs);
PopulateSlotListUI(cachedSlots);
ConsoleScreen.Log("Advanced item spawned successfully.");
}
}
private void OpenPopupSaveFile()
{
UnityEngine.Debug.Log("Opening popup for save type: " + SaveType.File);
ConsoleScreen.Log("Opening popup for save type: " + SaveType.File);
if (popupWindow == null)
{
UnityEngine.Debug.LogError("popupWindow is not assigned!");
ConsoleScreen.Log("Opening popup for save type: " + SaveType.File);
}
else if (presetNameInput == null)
{
UnityEngine.Debug.LogError("presetNameInput is not assigned!");
ConsoleScreen.Log("Opening popup for save type: " + SaveType.File);
}
else
{
currentSaveType = SaveType.File;
popupWindow.SetActive(value: true);
}
}
private void OpenPopupSaveList()
{
UnityEngine.Debug.Log("Opening popup for save type: " + SaveType.List);
ConsoleScreen.Log("Opening popup for save type: " + SaveType.List);
if (popupWindow == null)
{
UnityEngine.Debug.LogError("popupWindow is not assigned!");
ConsoleScreen.Log("Opening popup for save type: " + SaveType.List);
}
else if (presetNameInput == null)
{
UnityEngine.Debug.LogError("presetNameInput is not assigned!");
ConsoleScreen.Log("Opening popup for save type: " + SaveType.List);
}
else
{
currentSaveType = SaveType.List;
popupWindow.SetActive(value: true);
}
}
private void OnConfirmSave()
{
string text = presetNameInput.text.Trim();
if (string.IsNullOrEmpty(text))
{
ConsoleScreen.Log("Please enter a name.");
return;
}
if (advanceditemcache == null)
{
ConsoleScreen.LogError("No item selected to save.");
return;
}
if (currentSaveType == SaveType.File)
{
SaveItemToFile(advanceditemcache, text);
}
else
{
pullItemPresets.SaveItemToPresetList(advanceditemcache, text);
PopulateAllTemplates();
}
popupWindow.SetActive(value: false);
}
public void Spawnitem()
{
if (Main.GameWorld == null)
{
return;
}
try
{
ItemFactory itemFactory = new ItemFactory();
string text = itemidstring;
dynamic val = itemFactory.CreateItem(text);
dynamic property = val.GetType().GetProperty("AllSlots");
if (val == null)
{
ConsoleScreen.Log("Log: Failed to create item.");
return;
}
if (property == null)
{
ConsoleScreen.Log("Log: Item does not contain a definition for AllSlots. Not attempting to fill.");
}
ConsoleScreen.Log("Log: Item created successfully.");
val.SpawnedInSession = true;
val.StackObjectsCount = val.Template.StackMaxSize;
presetManager.itemParameters["ItemId"] = text;
presetManager.itemParameters["StackMaxSize"] = (object)val.Template.StackMaxSize;
presetManager.itemParameters["QuestItem"] = (object)val.QuestItem;
dynamic val2 = ((property != null) ? property.GetValue(val) : null);
if ((val2 != null) & Settings.fillslots)
{
ProcessSlotsForSpawn(val);
}
if (Settings.componentexploit)
{
ProcessComponents(val);
}
AddItemToBackpack(val);
if (saveFlag)
{
string filePath = Path.Combine(Application.persistentDataPath, "itempresets.json");
presetManager.SaveToJson(filePath);
presetManager.Clear();
saveFlag = false;
}
}
catch (Exception ex)
{
ConsoleScreen.Log("Log: Exception occurred: " + ex.Message);
}
}
private void ProcessComponents(dynamic item)
{
if (item.GetItemComponent<DogtagComponent>() is DogtagComponent dogtagComponent)
{
string text = item.Template.Name;
if (text.Contains("bear") || text.Contains("BEAR") || text.Contains("Bear"))
{
dogtagComponent.Side = EPlayerSide.Bear;
}
else
{
dogtagComponent.Side = EPlayerSide.Usec;
}
dogtagComponent.Level = 75;
dogtagComponent.KillerName = "a Solution by xXBattleyeXx";
dogtagComponent.WeaponName = "Balls WTF";
dogtagComponent.Time = DateTime.Now;
dogtagComponent.CarriedByGroupMember = false;
dogtagComponent.Nickname = "stupid.solutions";
dogtagComponent.Item.SpawnedInSession = true;
dogtagComponent.Status = "My boiiiiiiiiiiiiiiiiiiiiiahahsdgwajh";
}
_ = item.GetItemComponent<EquipmentPenaltyComponent>() is EquipmentPenaltyComponent;
if (item.GetItemComponent<FoodDrinkComponent>() is FoodDrinkComponent foodDrinkComponent)
{
foodDrinkComponent.HpPercent = 999999f;
foodDrinkComponent.Item.SpawnedInSession = true;
}
_ = item.GetItemComponent<GridLayoutComponent>() is GridLayoutComponent;
_ = item.GetItemComponent<StimulatorBuffsComponent>() is StimulatorBuffsComponent;
if (item.GetItemComponent<KeyComponent>() is KeyComponent keyComponent)
{
keyComponent.NumberOfUsages = -100000;
keyComponent.Item.SpawnedInSession = true;
}
if (item.GetItemComponent<KeycardComponent>() is KeycardComponent keycardComponent)
{
keycardComponent.Key.NumberOfUsages = -100000;
keycardComponent.Item.SpawnedInSession = true;
}
if (item.GetItemComponent<MedKitComponent>() is MedKitComponent medKitComponent)
{
medKitComponent.HpResource = 99999f;
medKitComponent.Item.SpawnedInSession = true;
}
if (item.GetItemComponent<RecodableComponent>() is RecodableComponent recodableComponent)
{
recodableComponent.IsEncoded = true;
recodableComponent.SetEncoded(value: true);
recodableComponent.Item.SpawnedInSession = true;
}
if (item.GetItemComponent<RepairKitComponent>() is RepairKitComponent repairKitComponent)
{
repairKitComponent.Resource = 999999f;
repairKitComponent.Item.SpawnedInSession = true;
}
if (item.GetItemComponent<RepairableComponent>() is RepairableComponent repairableComponent)
{
repairableComponent.Durability = 999999f;
repairableComponent.Item.SpawnedInSession = true;
}
_ = item.GetItemComponent<SightComponent>() is SightComponent;
if (item.GetItemComponent<ResourceComponent>() is ResourceComponent resourceComponent)
{
resourceComponent.Value = 999999f;
resourceComponent.Item.SpawnedInSession = true;
}
}
private void ProcessSlotsForSpawn(dynamic item)
{
if (!Settings.fillslots)
{
return;
}
ItemFactory itemFactory = new ItemFactory();
dynamic val = item.AllSlots;
if (val == null)
{
ConsoleScreen.Log("Log: No slots found for the base item.");
return;
}
foreach (dynamic item3 in val)
{
string text = item3.Name;
string text2 = item3.FullId;
Dictionary<string, string> value = new Dictionary<string, string>
{
{ "SlotID", text2 },
{ "SlotName", text }
};
presetManager.itemParameters[text2] = value;
dynamic val2 = item3.Filters;
dynamic val3 = val2 == null;
if (val3 || val2.Length == 0)
{
continue;
}
foreach (dynamic item4 in val2)
{
val3 = item4 == null || item4.Filter == null;
if (val3 || item4.Filter.Length == 0)
{
continue;
}
string text3 = ((item4.Filter.Length == 1) ? item4.Filter[0].ToString() : item4.Filter[UnityEngine.Random.Range(0, item4.Filter.Length)].ToString());
ConsoleScreen.Log("Log: Slot " + text + " - Selected component item ID: " + text3);
if (!string.IsNullOrEmpty(text3))
{
Item item2 = itemFactory.CreateItem(text3);
item2.SpawnedInSession = true;
if (item2 != null)
{
item3.AddWithoutRestrictions(item2);
((Dictionary<string, string>)presetManager.itemParameters[text2])["ItemId"] = text3;
}
}
break;
}
}
}
public async Task LoadAndSpawnItemFromJson()
{
try
{
string filePath = Path.Combine(Application.persistentDataPath, "itempresets.json");
string mainItemId;
Dictionary<string, Dictionary<string, string>> dictionary = presetManager.LoadFromJson(filePath, out mainItemId);
if (dictionary == null || string.IsNullOrEmpty(mainItemId))
{
return;
}
ItemFactory itemFactory = new ItemFactory();
dynamic item = itemFactory.CreateItem(mainItemId);
if ((item == null) || !dictionary.TryGetValue("Slots", out var slotsDictionary) || slotsDictionary == null)
{
return;
}
item.SpawnedInSession = true;
dynamic val = item.AllSlots;
if (val == null)
{
return;
}
foreach (dynamic item3 in val)
{
string key = item3.FullId;
if (slotsDictionary.TryGetValue(key, out var value))
{
slotsDictionary.Remove(key);
Item item2 = itemFactory.CreateItem(value);
item2.SpawnedInSession = true;
if (item2 != null)
{
try
{
item3.AddWithoutRestrictions(item2);
}
catch (Exception)
{
}
}
}
await Task.Delay(10);
}
AddItemToBackpack(item);
}
catch (Exception)
{
}
}
private void SaveItemToFile(dynamic item, string filename)
{
Dictionary<string, object> dictionary = new Dictionary<string, object>();
dictionary.Add(item.TemplateId.ToString(), new Dictionary<string, object>
{
{ "StackMaxSize", 1 },
{ "QuestItem", false },
{
"Slots",
new Dictionary<string, Dictionary<string, string>>()
}
});
Dictionary<string, object> dictionary2 = dictionary;
Dictionary<string, Dictionary<string, string>> dictionary3 = (Dictionary<string, Dictionary<string, string>>)((Dictionary<string, object>)dictionary2[item.TemplateId.ToString()])["Slots"];
foreach (dynamic item2 in item.AllSlots)
{
if (item2.ContainedItem != null)
{
dynamic val = item2.FullId;
Dictionary<string, string> dictionary4 = new Dictionary<string, string>();
dictionary4.Add("SlotID", item2.FullId);
dictionary4.Add("SlotName", item2.Name);
dictionary4.Add("ItemId", item2.ContainedItem.TemplateId);
dictionary3[val] = dictionary4;
}
}
string text = Path.Combine(Application.persistentDataPath, filename + ".json");
File.WriteAllText(text, JsonConvert.SerializeObject(dictionary2, Formatting.Indented));
ConsoleScreen.Log("Saved to file: " + text);
}
public void SavePrimaryWeaponToJson()
{
ConsoleScreen.Log("Attempting to save Primary Weapon...");
try
{
dynamic containedItem = Main.LocalPlayer.Profile.Inventory.Equipment.GetSlot(EquipmentSlot.FirstPrimaryWeapon).ContainedItem;
if (containedItem == null)
{
return;
}
Dictionary<string, object> dictionary = new Dictionary<string, object>();
dictionary.Add(containedItem.TemplateId.ToString(), new Dictionary<string, object>
{
{ "StackMaxSize", 1 },
{ "QuestItem", false },
{
"Slots",
new Dictionary<string, Dictionary<string, string>>()
}
});
Dictionary<string, object> dictionary2 = dictionary;
Dictionary<string, Dictionary<string, string>> dictionary3 = (Dictionary<string, Dictionary<string, string>>)((Dictionary<string, object>)dictionary2[containedItem.TemplateId.ToString()])["Slots"];
foreach (dynamic item in containedItem.AllSlots)
{
if (item.ContainedItem != null)
{
dynamic val = item.FullId;
Dictionary<string, string> dictionary4 = new Dictionary<string, string>();
dictionary4.Add("SlotID", item.FullId);
dictionary4.Add("SlotName", item.Name);
dictionary4.Add("ItemId", item.ContainedItem.TemplateId);
dictionary3[val] = dictionary4;
}
}
string text = Path.Combine(Application.persistentDataPath, "itempresets.json");
File.WriteAllText(text, JsonConvert.SerializeObject(dictionary2, Formatting.Indented));
ConsoleScreen.Log("Saved successfully: " + text);
}
catch (Exception ex)
{
ConsoleScreen.Log("Exception occurred: " + ex.Message);
}
}
private async Task AddItemToBackpack(dynamic item)
{
dynamic containedItem = Main.LocalPlayer.Profile.Inventory.Equipment.GetSlot(EquipmentSlot.Backpack).ContainedItem;
if (containedItem == null)
{
Item item2 = new ItemFactory().CreateItem("5df8a4d786f77412672a1e3b");
if (item2 != null)
{
Main.LocalPlayer.Profile.Inventory.Equipment.GetSlot(EquipmentSlot.Backpack).AddWithoutRestrictions(item2);
containedItem = Main.LocalPlayer.Profile.Inventory.Equipment.GetSlot(EquipmentSlot.Backpack).ContainedItem;
}
}
if (containedItem != null)
{
dynamic val = containedItem.Grids[0].FindFreeSpace(item);
if (val == null)
{
ItemFactory.GridHelper gridHelper = new ItemFactory.GridHelper();
dynamic val2 = containedItem.Grids[0];
LocationInGrid locationInGrid = gridHelper.FindFreeSpace(item, val2);
containedItem.Grids[0].AddItemWithoutRestrictions(item, locationInGrid);
ConsoleScreen.Log($"using old method = {locationInGrid}");
}
else if (val != null)
{
containedItem.Grids[0].AddItemWithoutRestrictions(item, val);
ConsoleScreen.Log("Item successfully added to the backpack.");
}
}
else
{
ConsoleScreen.LogError("No backpack found to place the item.");
}
}
private async Task testgrid()
{
dynamic containedItem = Main.LocalPlayer.Profile.Inventory.Equipment.GetSlot(EquipmentSlot.SecuredContainer).ContainedItem;
if (containedItem == null)
{
ItemFactory itemFactory = new ItemFactory();
Gridmanager gridmanager = new Gridmanager();
Item item = itemFactory.CreateItem("5c093ca986f7740a1867ab12");
if (item != null)
{
gridmanager.ReplaceGrid(item, 4, 90);
Main.LocalPlayer.Profile.Inventory.Equipment.GetSlot(EquipmentSlot.SecuredContainer).AddWithoutRestrictions(item);
containedItem = Main.LocalPlayer.Profile.Inventory.Equipment.GetSlot(EquipmentSlot.SecuredContainer).ContainedItem;
}
}
if (containedItem != null)
{
string text = "5c0a794586f77461c458f894";
Gridmanager gridmanager2 = new Gridmanager();
gridmanager2.ReplaceGrid(containedItem, 4, 90, text);
}
}
public void AddItemsToThiccCase()
{
if (Main.GameWorld == null)
{
return;
}
try
{
ItemFactory itemFactory = new ItemFactory();
dynamic val = itemFactory.CreateItem("5aafbde786f774389d0cbc0f");
if (val.GetItemComponent<TagComponent>() is TagComponent tagComponent)
{
_ = (string)val.Template.ShortName;
tagComponent.Name = "Contains THICC";
tagComponent.Color = 2;
tagComponent.Item.SpawnedInSession = true;
}
dynamic val2 = itemFactory.CreateItem("5c0a840b86f7742ffa4f2482");
val2.SpawnedInSession = true;
val.SpawnedInSession = true;
if (val2 == null)
{
ConsoleScreen.Log("Log: Failed to create Thicc case.");
return;
}
dynamic containedItem = Main.LocalPlayer.Profile.Inventory.Equipment.GetSlot(EquipmentSlot.Backpack).ContainedItem;
if (GameUtils.IsInventoryItemValid(containedItem))
{
LocationInGrid locationInGrid = containedItem.Grids[0].FindFreeSpace(val);
LocationInGrid locationInGrid2 = val.Grids[0].FindFreeSpace(val2);
if (locationInGrid != null)
{
HandleThiccCaseContents(val2, itemFactory);
val.Grids[0].AddItemWithoutRestrictions(val2, locationInGrid2);
val.Grids[0].AddItemWithoutRestrictions(val2, locationInGrid2);
containedItem.Grids[0].AddItemWithoutRestrictions(val, locationInGrid);
ConsoleScreen.Log("Log: Thicc case added to the backpack successfully.");
}
return;
}
Item item = itemFactory.CreateItem("5df8a4d786f77412672a1e3b");
if (item != null)
{
Main.LocalPlayer.Profile.Inventory.Equipment.GetSlot(EquipmentSlot.Backpack).AddWithoutRestrictions(item);
dynamic containedItem2 = Main.LocalPlayer.Profile.Inventory.Equipment.GetSlot(EquipmentSlot.Backpack).ContainedItem;
LocationInGrid locationInGrid3 = containedItem2.Grids[0].FindFreeSpace(val);
LocationInGrid locationInGrid4 = val.Grids[0].FindFreeSpace(val2);
if (containedItem2 != null)
{
val.Grids[0].AddItemWithoutRestrictions(val2, locationInGrid4);
val.Grids[0].AddItemWithoutRestrictions(val2, locationInGrid4);
containedItem.Grids[0].AddItemWithoutRestrictions(val, locationInGrid3);
}
}
}
catch (Exception ex)
{
ConsoleScreen.Log("Log: Exception occurred: " + ex.Message);
}
}
private void HandleThiccCaseContents(dynamic thiccCase, ItemFactory itemFactory)
{
if (Main.GameWorld == null)
{
return;
}
dynamic val = thiccCase.Grids[0];
int num = val.GridWidth;
int num2 = val.GridHeight;
string id = (Settings.sicc ? Settings.SICCID : "5aafbde786f774389d0cbc0f");
int num3 = (Settings.sicc ? 1 : 2);
int num4 = 2;
int num5 = num * num2 / (num3 * num4);
for (int i = 0; i < num5; i++)
{
dynamic val2 = itemFactory.CreateItem(id);
if (val2 != null)
{
val2.SpawnedInSession = true;
LocationInGrid locationInGrid = val.FindFreeSpace(val2);
if (locationInGrid != null)
{
val.AddItemWithoutRestrictions(val2, locationInGrid);
ConsoleScreen.Log("Log: Container added to Thicc case.");
FillContainerWithNestedItems(val2, itemidstring, itemFactory);
}
else
{
ConsoleScreen.Log("Log: No free space in Thicc case for container.");
}
}
else
{
ConsoleScreen.Log("Log: Failed to create container.");
}
}
}
public void AddItemsToBackpack()
{
if (Main.GameWorld == null)
{
return;
}
try
{
ItemFactory itemFactory = new ItemFactory();
string id = (Settings.sicc ? Settings.SICCID : "5aafbde786f774389d0cbc0f");
_ = Settings.sicc;
dynamic val = itemFactory.CreateItem(id);
if (val == null)
{
ConsoleScreen.Log("Log: Failed to create container.");
return;
}
val.SpawnedInSession = true;
dynamic containedItem = Main.LocalPlayer.Profile.Inventory.Equipment.GetSlot(EquipmentSlot.Backpack).ContainedItem;
if (GameUtils.IsInventoryItemValid(containedItem))
{
LocationInGrid locationInGrid = containedItem.Grids[0].FindFreeSpace(val);
if (locationInGrid != null)
{
containedItem.Grids[0].AddItemWithoutRestrictions(val, locationInGrid);
ConsoleScreen.Log("Log: Container added to the backpack successfully.");
FillContainerWithNestedItems(val, itemidstring, itemFactory);
}
else
{
ConsoleScreen.Log("Log: No free space in backpack for container.");
}
}
else
{
ConsoleScreen.Log("Log: Backpack is not valid.");
}
}
catch (Exception ex)
{
ConsoleScreen.Log("Log: Exception occurred: " + ex.Message);
}
}
private void FillContainerWithNestedItems(dynamic container, string nestedItemID, ItemFactory itemFactory)
{
if (Main.GameWorld == null)
{
return;
}
dynamic val = container.Grids[0];
int num = val.GridWidth;
int num2 = val.GridHeight;
int num3 = 1;
int num4 = 1;
int num5 = num * num2 / (num3 * num4);
for (int i = 0; i < num5; i++)
{
dynamic val2 = itemFactory.CreateItem(nestedItemID);
if (val2 != null)
{
val2.SpawnedInSession = true;
val2.StackObjectsCount = val2.Template.StackMaxSize;
if (container.GetItemComponent<TagComponent>() is TagComponent tagComponent)
{
string text = val2.Template.ShortName;
tagComponent.Name = "Contains " + text + " ";
tagComponent.Color = 2;
tagComponent.Item.SpawnedInSession = true;
}
if (Settings.componentexploit)
{
ProcessComponents(val2);
}
LocationInGrid locationInGrid = val.FindFreeSpace(val2);
if (!(locationInGrid != null))
{
ConsoleScreen.Log("Log: No free space in container for nested item.");
break;
}
val.AddItemWithoutRestrictions(val2, locationInGrid);
}
else
{
ConsoleScreen.Log("Log: Failed to create nested item with ID: " + nestedItemID + ".");
}
}
}
private void OnKeybindButtonClick(KeybindType keybindType)
{
currentKeybindType = keybindType;
waitingForKey = true;
switch (keybindType)
{
case KeybindType.ClearCache:
clearCacheKeyLabel.text = "Press a key...";
break;
case KeybindType.Skill:
skillKeyLabel.text = "Press a key...";
break;
case KeybindType.Aimbot:
aimbotKeyLabel.text = "Press a key...";
break;
case KeybindType.UnlockDoors:
unlockDoorsKeyLabel.text = "Press a key...";
break;
case KeybindType.teleportitem:
teleportitemlabel.text = "Press a key...";
break;
case KeybindType.killall:
killalllabel.text = "Press a key...";
break;
case KeybindType.tpall:
tpallkeylabel.text = "Press a key...";
break;
case KeybindType.instaheal:
instahealkeylabel.text = "Press a key...";
break;
case KeybindType.flyhack:
flyhacktogglekeylabel1.text = "Press a key...";
break;
case KeybindType.speedhack:
speedhacktogglekeylabel1.text = "Press a key...";
break;
}
}
private void AssignKeybind(KeyCode newKey)
{
switch (currentKeybindType)
{
case KeybindType.ClearCache:
Settings.ClearCache = newKey;
clearCacheKeyLabel.text = "Key: " + newKey;
break;
case KeybindType.Skill:
Settings.tpp = newKey;
skillKeyLabel.text = "Key: " + newKey;
break;
case KeybindType.Aimbot:
Settings.AimbotKey = newKey;
aimbotKeyLabel.text = "Key: " + newKey;
break;
case KeybindType.UnlockDoors:
Settings.UnlockDoors = newKey;
unlockDoorsKeyLabel.text = "Key: " + newKey;
break;
case KeybindType.teleportitem:
Settings.teleportitem = newKey;
teleportitemlabel.text = "Key: " + newKey;
break;
case KeybindType.killall:
Settings.KillAll = newKey;
killalllabel.text = "Key: " + newKey;
break;
case KeybindType.tpall:
Settings.TPall = newKey;
tpallkeylabel.text = "Key: " + newKey;
break;
case KeybindType.instaheal:
Settings.Instahealkey = newKey;
instahealkeylabel.text = "Key: " + newKey;
break;
case KeybindType.flyhack:
Settings.flyhacktoggle = newKey;
flyhacktogglekeylabel1.text = "Key: " + newKey;
break;
case KeybindType.speedhack:
Settings.speedhacktoggle = newKey;
speedhacktogglekeylabel1.text = "Key: " + newKey;
break;
}
}
private void UpdateKeybindLabels()
{
clearCacheKeyLabel.text = "Key: " + Settings.ClearCache;
skillKeyLabel.text = "Key: " + Settings.tpp;
aimbotKeyLabel.text = "Key: " + Settings.AimbotKey;
unlockDoorsKeyLabel.text = "Key: " + Settings.UnlockDoors;
teleportitemlabel.text = "Key: " + Settings.teleportitem;
killalllabel.text = "Key: " + Settings.KillAll;
tpallkeylabel.text = "Key: " + Settings.TPall;
instahealkeylabel.text = "Key: " + Settings.Instahealkey;
speedhacktogglekeylabel1.text = "Key: " + Settings.speedhacktoggle;
flyhacktogglekeylabel1.text = "Key: " + Settings.flyhacktoggle;
}
public void HideAllPanels()
{
aimbotPanel.SetActive(value: false);
playerESPPanel.SetActive(value: false);
itemESPPanel.SetActive(value: false);
miscOptionsPanel.SetActive(value: false);
settingsPanel.SetActive(value: false);
}
public void UpdateAimbotSettingsUI()
{
if (aimbotToggle != null)
{
aimbotToggle.isOn = Settings.Aimbot;
}
if (aimbotSmoothLabel != null)
{
aimbotSmoothLabel.text = $"Aimbot Smooth {(int)Settings.AimbotSmooth}";
}
if (aimbotSmoothSlider != null)
{
aimbotSmoothSlider.value = Settings.AimbotSmooth;
}
if (aimbotDrawFOVToggle != null)
{
aimbotDrawFOVToggle.isOn = Settings.AimbotDrawFOV;
}
if (aimbotFOVLabel != null)
{
aimbotFOVLabel.text = $"Aimbot FOV {(int)Settings.AimbotFOV}";
}
if (aimbotFOVSlider != null)
{
aimbotFOVSlider.value = Settings.AimbotFOV;
}
if (noRecoilToggle != null)
{
noRecoilToggle.isOn = Settings.NoRecoil;
}
if (crosshairToggle != null)
{
crosshairToggle.isOn = Settings.Crosshair;
}
if (silentAimToggle != null)
{
silentAimToggle.isOn = Settings.SilentAim;
}
if (silentTargetLinesToggle != null)
{
silentTargetLinesToggle.isOn = Settings.SilentTargetLines;
}
if (instahitToggle != null)
{
instahitToggle.isOn = Settings.instahit;
}
if (ammodrawToggle != null)
{
ammodrawToggle.isOn = Settings.DrawInfo;
}
if (CheckVisibletoggle != null)
{
CheckVisibletoggle.isOn = Settings.CheckVisible;
}
if (MagicBulletToggle != null)
{
MagicBulletToggle.isOn = Settings.MagicBullet;
}
if (infiniteammo != null)
{
infiniteammo.isOn = Settings.infammo;
}
if (tracers != null)
{
tracers.isOn = Settings.tracers;
}
if (hitmarkers != null)
{
hitmarkers.isOn = Settings.HitMarkers;
}
if (bulletspershotLabel != null)
{
bulletspershotLabel.text = $"Bullets Per Shot {Settings.bulletspershot}";
}
if (bulletspershottoggle != null)
{
bulletspershottoggle.isOn = Settings.bulletspershottoggle;
}
if (bulletspershot != null)
{
bulletspershot.value = Settings.bulletspershot;
}
}
public void ApplyAimbotSettingsUI()
{
Settings.Aimbot = aimbotToggle.isOn;
Settings.AimbotSmooth = aimbotSmoothSlider.value;
Settings.AimbotDrawFOV = aimbotDrawFOVToggle.isOn;
Settings.AimbotFOV = aimbotFOVSlider.value;
Settings.NoRecoil = noRecoilToggle.isOn;
Settings.Crosshair = crosshairToggle.isOn;
Settings.SilentAim = silentAimToggle.isOn;
Settings.SilentTargetLines = silentTargetLinesToggle.isOn;
Settings.instahit = instahitToggle.isOn;
Settings.DrawInfo = ammodrawToggle.isOn;
Settings.CheckVisible = CheckVisibletoggle.isOn;
Settings.MagicBullet = MagicBulletToggle.isOn;
Settings.infammo = infiniteammo.isOn;
Settings.tracers = tracers.isOn;
Settings.HitMarkers = hitmarkers.isOn;
Settings.bulletspershottoggle = bulletspershottoggle.isOn;
Settings.bulletspershot = (int)bulletspershot.value;
SaveSettings();
}
private void InitializeAimboneDropdown()
{
if (aimboneDropdown != null)
{
aimboneDropdown.options.Clear();
aimboneDropdown.options.Add(new TMP_Dropdown.OptionData("Head"));
aimboneDropdown.options.Add(new TMP_Dropdown.OptionData("Neck"));
aimboneDropdown.options.Add(new TMP_Dropdown.OptionData("Body 1"));
aimboneDropdown.options.Add(new TMP_Dropdown.OptionData("Body 2"));
SetDropdownValueFromSettings();
aimboneDropdown.onValueChanged.AddListener(delegate
{
AimboneDropdownValueChanged(aimboneDropdown);
});
}
}
private void SetDropdownValueFromSettings()
{
int key = new Dictionary<int, int>
{
{ 0, 133 },
{ 1, 132 },
{ 2, 36 },
{ 3, 35 }
}.FirstOrDefault((KeyValuePair<int, int> x) => x.Value == Settings.Aimbone).Key;
if (key >= 0 && key < aimboneDropdown.options.Count)
{
aimboneDropdown.value = key;
}
}
private void AimboneDropdownValueChanged(TMP_Dropdown dropdown)
{
Dictionary<int, int> obj = new Dictionary<int, int>
{
{ 0, 133 },
{ 1, 132 },
{ 2, 36 },
{ 3, 35 }
};
int value = dropdown.value;
if (obj.TryGetValue(value, out var value2))
{
Settings.Aimbone = value2;
SaveSettings();
}
}
private void TPItemValueChanged(string input)
{
if (!string.IsNullOrWhiteSpace(input))
{
TPItemInputstring = input;
}
}
private void TPItemInputEndEdit(string input)
{
if (!string.IsNullOrWhiteSpace(input))
{
TPItemInputstring = input;
}
else
{
UnityEngine.Debug.LogWarning("Input is either null or whitespace.");
}
}
public void UpdatePlayerESPSettingsUI()
{
if (drawPlayersToggle != null)
{
drawPlayersToggle.isOn = Settings.DrawPlayers;
}
if (drawPlayerBoxToggle != null)
{
drawPlayerBoxToggle.isOn = Settings.DrawPlayerBox;
}
if (drawPlayerNameToggle != null)
{
drawPlayerNameToggle.isOn = Settings.DrawPlayerName;
}
if (drawPlayerLineToggle != null)
{
drawPlayerLineToggle.isOn = Settings.DrawPlayerLine;
}
if (drawPlayerHealthToggle != null)
{
drawPlayerHealthToggle.isOn = Settings.DrawPlayerHealth;
}
if (drawWeaponToggle != null)
{
drawWeaponToggle.isOn = Settings.playerWeapon;
}
if (enableSkeletonToggle != null)
{
enableSkeletonToggle.isOn = Settings.EnableSkeleton;
}
if (ChamsToggle != null)
{
ChamsToggle.isOn = Settings.Chams;
}
if (drawRadarToggle != null)
{
drawRadarToggle.isOn = Settings.DrawRadar;
}
if (drawaimpostoggle != null)
{
drawaimpostoggle.isOn = Settings.drawaimpos;
}
if (fullbright != null)
{
fullbright.isOn = Settings.fullbright;
}
if (grenadeesp != null)
{
grenadeesp.isOn = Settings.grenadeesp;
}
if (DrawTripWires != null)
{
DrawTripWires.isOn = Settings.tripwire;
}
if (drawPlayersDistanceSlider != null)
{
drawPlayersDistanceSlider.value = Settings.DrawPlayersDistance;
}
if (drawplayerdistancelabel != null)
{
drawplayerdistancelabel.text = $"Player Distance {(int)Settings.DrawPlayersDistance} m";
}
if (radardistanceslider != null)
{
radardistanceslider.value = Settings.DrawPlayersRadarDistance;
}
if (radardistancelabel != null)
{
radardistancelabel.text = $"Radar Distance {(int)Settings.DrawPlayersRadarDistance} m";
}
if (SkeletonUpdateSlider != null)
{
SkeletonUpdateSlider.value = Settings.cachedelayskelet;
}
float num = 1f / Settings.cachedelayskelet;
if (SkeletonUpdateSliderText != null)
{
SkeletonUpdateSliderText.text = $"Skeleton Update Speed {num:F2} FPS ";
}
if (FONTSIZE != null)
{
FONTSIZE.value = Settings.fontsize;
}
if (FONTSIZETXT != null)
{
FONTSIZETXT.text = $"ESP Font Size : {Settings.fontsize} ";
}
}
public void ApplyPlayerESPSettingsUI()
{
Settings.DrawPlayers = drawPlayersToggle.isOn;
Settings.DrawPlayerBox = drawPlayerBoxToggle.isOn;
Settings.DrawPlayerName = drawPlayerNameToggle.isOn;
Settings.DrawPlayerLine = drawPlayerLineToggle.isOn;
Settings.DrawPlayerHealth = drawPlayerHealthToggle.isOn;
Settings.playerWeapon = drawWeaponToggle.isOn;
Settings.EnableSkeleton = enableSkeletonToggle.isOn;
Settings.DrawRadar = drawRadarToggle.isOn;
Settings.DrawPlayersDistance = drawPlayersDistanceSlider.value;
Settings.DrawPlayersRadarDistance = radardistanceslider.value;
Settings.cachedelayskelet = SkeletonUpdateSlider.value;
Settings.fontsize = (int)FONTSIZE.value;
Settings.Chams = ChamsToggle.isOn;
Settings.drawaimpos = drawaimpostoggle.isOn;
Settings.fullbright = fullbright.isOn;
Settings.grenadeesp = grenadeesp.isOn;
Settings.tripwire = DrawTripWires.isOn;
SaveSettings();
}
public void UpdateItemESPSettingsUI()
{
if (drawLootItemsToggle != null)
{
drawLootItemsToggle.isOn = Settings.DrawLootItems;
}
if (drawLootItemsDistanceSlider != null)
{
drawLootItemsDistanceSlider.value = Settings.DrawLootItemsDistance;
}
if (drawlootitemsdistancelabel != null)
{
drawlootitemsdistancelabel.text = $"Item Distance : {(int)Settings.DrawLootItemsDistance} m";
}
if (superRareItemsToggle != null)
{
superRareItemsToggle.isOn = Settings.superrare;
}
if (kappaItemsToggle != null)
{
kappaItemsToggle.isOn = Settings.kappa;
}
if (questItemsToggle != null)
{
questItemsToggle.isOn = Settings.quest;
}
if (superrareTPToggle != null)
{
superrareTPToggle.isOn = Settings.superrareTP;
}
if (commonItemsToggle != null)
{
commonItemsToggle.isOn = Settings.common;
}
if (stimsItemsToggle != null)
{
stimsItemsToggle.isOn = Settings.stim;
}
if (KappaTPToggle != null)
{
KappaTPToggle.isOn = Settings.kappaTP;
}
if (QuestTPToggle != null)
{
QuestTPToggle.isOn = Settings.questTP;
}
if (SearchTPToggle != null)
{
SearchTPToggle.isOn = Settings.searchTP;
}
if (StimsTPToggle != null)
{
StimsTPToggle.isOn = Settings.StimTP;
}
if (commonItemsDistanceSlider != null)
{
commonItemsDistanceSlider.value = Settings.commonitemdistance;
}
if (commonItemsdistancelabel != null)
{
commonItemsdistancelabel.text = $"Common Item Distance : {(int)Settings.commonitemdistance} m";
}
if (drawLootableContainersToggle != null)
{
drawLootableContainersToggle.isOn = Settings.DrawLootableContainers;
}
if (drawLootableContainersDistanceSlider != null)
{
drawLootableContainersDistanceSlider.value = Settings.DrawLootableContainersDistance;
}
if (drawcontainerdistancelabel != null)
{
drawcontainerdistancelabel.text = $"Container Distance : {(int)Settings.DrawLootableContainersDistance} m";
}
if (bodyESPToggle != null)
{
bodyESPToggle.isOn = Settings.BodyESP;
}
if (playerInventoryESPToggle != null)
{
playerInventoryESPToggle.isOn = Settings.PlayerInventoryESP;
}
if (searchItemToggle != null)
{
searchItemToggle.isOn = Settings.searchItem;
}
if (teleportItemsToggle != null)
{
teleportItemsToggle.isOn = Settings.TeleportItems;
}
if (drawExfiltrationPointsToggle != null)
{
drawExfiltrationPointsToggle.isOn = Settings.DrawExfiltrationPoints;
}
if (ChamsToggle != null)
{
ChamsToggle.isOn = Settings.Chams;
}
if (DrawHideoutItems != null)
{
DrawHideoutItems.isOn = Settings.drawhideoutitems;
}
if (DrawWishlistItems != null)
{
DrawWishlistItems.isOn = Settings.drawwishlistitem;
}
if (ESPfiltervalue != null)
{
ESPfiltervalue.isOn = Settings.ESPFilterbyprice;
}
if (TPWishlistItems != null)
{
TPWishlistItems.isOn = Settings.TPwishlistitem;
}
if (TPHideoutItems != null)
{
TPHideoutItems.isOn = Settings.TPhideoutitem;
}
if (TPHVItems != null)
{
TPHVItems.isOn = Settings.TPHVitem;
}
if (DrawItemValue != null)
{
DrawItemValue.isOn = Settings.drawvalue;
}
if (ESPfiltervalueslider != null)
{
ESPfiltervalueslider.value = Settings.ESPPRICEfiltervalue;
}
if (ESPfiltervaluesliderlabel != null)
{
ESPfiltervaluesliderlabel.text = $"Minimum Item Value : {Settings.ESPPRICEfiltervalue / 1000}K";
}
if (ItemTPRadiusSlider != null)
{
ItemTPRadiusSlider.value = Settings.loottpradius;
}
if (ItemTPRadiusLabel != null)
{
ItemTPRadiusLabel.text = $"Teleport Radius : {(int)Settings.loottpradius} m";
}
}
public void ApplyItemESPSettingsUI()
{
Settings.DrawLootItems = drawLootItemsToggle.isOn;
Settings.DrawLootItemsDistance = drawLootItemsDistanceSlider.value;
Settings.superrare = superRareItemsToggle.isOn;
Settings.kappa = kappaItemsToggle.isOn;
Settings.quest = questItemsToggle.isOn;
Settings.common = commonItemsToggle.isOn;
Settings.commonitemdistance = commonItemsDistanceSlider.value;
Settings.DrawLootableContainers = drawLootableContainersToggle.isOn;
Settings.DrawLootableContainersDistance = drawLootableContainersDistanceSlider.value;
Settings.BodyESP = bodyESPToggle.isOn;
Settings.PlayerInventoryESP = playerInventoryESPToggle.isOn;
Settings.searchItem = searchItemToggle.isOn;
Settings.TeleportItems = teleportItemsToggle.isOn;
Settings.DrawExfiltrationPoints = drawExfiltrationPointsToggle.isOn;
Settings.superrareTP = superrareTPToggle.isOn;
Settings.StimTP = StimsTPToggle.isOn;
Settings.kappaTP = KappaTPToggle.isOn;
Settings.searchTP = SearchTPToggle.isOn;
Settings.questTP = QuestTPToggle.isOn;
Settings.stim = stimsItemsToggle.isOn;
Settings.TPHVitem = TPHVItems.isOn;
Settings.TPhideoutitem = TPHideoutItems.isOn;
Settings.TPwishlistitem = TPWishlistItems.isOn;
Settings.drawhideoutitems = DrawHideoutItems.isOn;
Settings.drawwishlistitem = DrawWishlistItems.isOn;
Settings.ESPFilterbyprice = ESPfiltervalue.isOn;
Settings.drawvalue = DrawItemValue.isOn;
Settings.ESPPRICEfiltervalue = (int)ESPfiltervalueslider.value;
Settings.loottpradius = ItemTPRadiusSlider.value;
SaveSettings();
}
public void UpdateMiscOptionsSettingsUI()
{
if (flyhackToggle != null)
{
flyhackToggle.isOn = Settings.Flyhack;
}
if (speedhackToggle != null)
{
speedhackToggle.isOn = Settings.Speedhack;
}
if (speedSlider != null)
{
speedSlider.value = Settings.Speed;
}
if (maincamfovchanger != null)
{
maincamfovchanger.isOn = Settings.changemaincamfov;
}
if (maincamfov != null)
{
maincamfov.value = Settings.maincamfov;
}
if (xpslider != null)
{
xpslider.value = Settings.expamount;
}
if (xpsliderlabel != null)
{
xpsliderlabel.text = $"XP {(int)Settings.expamount}";
}
if (infStaminaToggle != null)
{
infStaminaToggle.isOn = Settings.Infstamina;
}
if (instaHealToggle != null)
{
instaHealToggle.isOn = Settings.Instaheal;
}
if (thermalVisionToggle != null)
{
thermalVisionToggle.isOn = Settings.Thermal;
}
if (godmodeToggle != null)
{
godmodeToggle.isOn = Settings.Godmode;
}
if (instaSearchToggle != null)
{
instaSearchToggle.isOn = Settings.InstaSearch;
}
if (noVisorToggle != null)
{
noVisorToggle.isOn = Settings.NoVisor;
}
if (flaresToggle != null)
{
flaresToggle.isOn = Settings.flares;
}
if (noJamToggle != null)
{
noJamToggle.isOn = Settings.nojam;
}
if (fireRateToggle != null)
{
fireRateToggle.isOn = Settings.firerate;
}
if (showitemspawnmenu != null)
{
showitemspawnmenu.isOn = Settings.Itemspawnmenu;
}
if (weaponchams != null)
{
weaponchams.isOn = Settings.weaponchams;
}
if (alwayssurvived != null)
{
alwayssurvived.isOn = Settings.alwayssurvived;
}
if (tppmc != null)
{
tppmc.isOn = Settings.tppmc;
}
if (tpboss != null)
{
tpboss.isOn = Settings.tpboss;
}
if (sicc != null)
{
sicc.isOn = Settings.sicc;
}
if (thicc != null)
{
thicc.isOn = Settings.thicc;
}
if (ammobox != null)
{
ammobox.isOn = Settings.ammobox;
}
if (bypassrestrictions != null)
{
bypassrestrictions.isOn = Settings.removefilters;
}
if (fillraidbp != null)
{
fillraidbp.isOn = Settings.fillraidbp;
}
if (autofillslots != null)
{
autofillslots.isOn = Settings.fillslots;
}
if (farreachtoggle != null)
{
farreachtoggle.isOn = Settings.farreach;
}
if (invisibletoggle != null)
{
invisibletoggle.isOn = Settings.invisible;
}
if (QuestESP != null)
{
QuestESP.isOn = Settings.QuestESP;
}
if (QuestDescription != null)
{
QuestDescription.isOn = Settings.DrawDescription;
}
if (SimplifiedStrings != null)
{
SimplifiedStrings.isOn = Settings.DrawSimpleStrings;
}
if (DrawOutline != null)
{
DrawOutline.isOn = Settings.DrawOutline;
}
if (Artillery != null)
{
Artillery.isOn = Settings.artillery;
}
if (DrawWatermark != null)
{
DrawWatermark.isOn = Settings.drawwatermark;
}
if (DurabilityExploit != null)
{
DurabilityExploit.isOn = Settings.componentexploit;
}
if (filtersuperrare != null)
{
filtersuperrare.isOn = Settings.filtersuperrare;
}
if (filterkappa != null)
{
filterkappa.isOn = Settings.filterkappa;
}
if (filterquest != null)
{
filterquest.isOn = Settings.filterquest;
}
if (filterwishlist != null)
{
filterwishlist.isOn = Settings.filterwishlist;
}
if (filterstim != null)
{
filterstim.isOn = Settings.filterstim;
}
if (ShowColorMenu != null)
{
ShowColorMenu.isOn = Settings.ShowColorSettingsMenu;
}
if (disableallinputs != null)
{
disableallinputs.isOn = Settings.allinputdisabled;
}
if (filterhideout != null)
{
filterhideout.isOn = Settings.filterhideout;
}
if (filtervalue != null)
{
filtervalue.isOn = Settings.filtervalue;
}
if (filtervalueslider != null)
{
filtervalueslider.value = Settings.moneyfiltervalue;
}
if (filtervalueslidertext != null)
{
filtervalueslidertext.text = $"Minimum Value : {Settings.moneyfiltervalue / 1000}K ";
}
if (SpoofNicknameToggle != null)
{
SpoofNicknameToggle.isOn = Settings.hidenick;
}
if (bigheadstoggle != null)
{
bigheadstoggle.isOn = Settings.BigHeads;
}
if (showraidsettingsmenu != null)
{
showraidsettingsmenu.isOn = Settings.showraidsettingsmenu;
}
if (modifyraidsettingstoggle != null)
{
modifyraidsettingstoggle.isOn = Settings.modifyraidsettings;
}
if (makeallbotsfriendlytoggle != null)
{
makeallbotsfriendlytoggle.isOn = Settings.makeallbotsfriendly;
}
}
public void ApplyMiscOptionsSettingsUI()
{
Settings.Flyhack = flyhackToggle.isOn;
Settings.Speedhack = speedhackToggle.isOn;
Settings.Speed = speedSlider.value;
Settings.changemaincamfov = maincamfovchanger.isOn;
Settings.maincamfov = maincamfov.value;
Settings.expamount = xpslider.value;
Settings.Infstamina = infStaminaToggle.isOn;
Settings.Instaheal = instaHealToggle.isOn;
Settings.Thermal = thermalVisionToggle.isOn;
Settings.Godmode = godmodeToggle.isOn;
Settings.InstaSearch = instaSearchToggle.isOn;
Settings.NoVisor = noVisorToggle.isOn;
Settings.flares = flaresToggle.isOn;
Settings.nojam = noJamToggle.isOn;
Settings.firerate = fireRateToggle.isOn;
Settings.Itemspawnmenu = showitemspawnmenu.isOn;
Settings.weaponchams = weaponchams.isOn;
Settings.alwayssurvived = alwayssurvived.isOn;
Settings.tppmc = tppmc.isOn;
Settings.tpboss = tpboss.isOn;
Settings.QuestESP = QuestESP.isOn;
Settings.DrawDescription = QuestDescription.isOn;
Settings.DrawSimpleStrings = SimplifiedStrings.isOn;
Settings.DrawOutline = DrawOutline.isOn;
Settings.artillery = Artillery.isOn;
Settings.drawwatermark = DrawWatermark.isOn;
Settings.componentexploit = DurabilityExploit.isOn;
Settings.thicc = thicc.isOn;
Settings.sicc = sicc.isOn;
Settings.ammobox = ammobox.isOn;
Settings.removefilters = bypassrestrictions.isOn;
Settings.fillraidbp = fillraidbp.isOn;
Settings.fillslots = autofillslots.isOn;
Settings.farreach = farreachtoggle.isOn;
Settings.invisible = invisibletoggle.isOn;
Settings.filtersuperrare = filtersuperrare.isOn;
Settings.filterkappa = filterkappa.isOn;
Settings.filterquest = filterquest.isOn;
Settings.filterwishlist = filterwishlist.isOn;
Settings.filterstim = filterstim.isOn;
Settings.ShowColorSettingsMenu = ShowColorMenu.isOn;
Settings.allinputdisabled = disableallinputs.isOn;
Settings.filterhideout = filterhideout.isOn;
Settings.filtervalue = filtervalue.isOn;
Settings.moneyfiltervalue = (int)filtervalueslider.value;
Settings.hidenick = SpoofNicknameToggle.isOn;
Settings.BigHeads = bigheadstoggle.isOn;
Settings.showraidsettingsmenu = showraidsettingsmenu.isOn;
Settings.modifyraidsettings = modifyraidsettingstoggle.isOn;
Settings.makeallbotsfriendly = makeallbotsfriendlytoggle.isOn;
SaveSettings();
}
private void OnSearchItemValueChanged(string input)
{
if (!string.IsNullOrWhiteSpace(input))
{
publicSearchString = input;
}
}
private void OnSearchItemInputEndEdit(string input)
{
if (!string.IsNullOrWhiteSpace(input))
{
publicSearchString = input;
}
}
private void SpawnItemValueChanged(string input)
{
if (!string.IsNullOrWhiteSpace(input))
{
itemidstring = input;
}
}
private void SpawnItemInputEndEdit(string input)
{
if (!string.IsNullOrWhiteSpace(input))
{
itemidstring = input;
}
}
private void SpawnAIValueChanged(string input)
{
if (!string.IsNullOrWhiteSpace(input))
{
spawnid = input;
}
}
private void SpawnAIInputEndEdit(string input)
{
if (!string.IsNullOrWhiteSpace(input))
{
spawnid = input;
}
}
public void AddToggleListeners()
{
if (aimbotToggle != null)
{
aimbotToggle.onValueChanged.AddListener(delegate
{
ApplyAimbotSettingsUI();
});
}
if (noRecoilToggle != null)
{
noRecoilToggle.onValueChanged.AddListener(delegate
{
ApplyAimbotSettingsUI();
});
}
if (crosshairToggle != null)
{
crosshairToggle.onValueChanged.AddListener(delegate
{
ApplyAimbotSettingsUI();
});
}
if (silentAimToggle != null)
{
silentAimToggle.onValueChanged.AddListener(delegate
{
ApplyAimbotSettingsUI();
});
}
if (silentTargetLinesToggle != null)
{
silentTargetLinesToggle.onValueChanged.AddListener(delegate
{
ApplyAimbotSettingsUI();
});
}
if (instahitToggle != null)
{
instahitToggle.onValueChanged.AddListener(delegate
{
ApplyAimbotSettingsUI();
});
}
if (ammodrawToggle != null)
{
ammodrawToggle.onValueChanged.AddListener(delegate
{
ApplyAimbotSettingsUI();
});
}
if (CheckVisibletoggle != null)
{
CheckVisibletoggle.onValueChanged.AddListener(delegate
{
ApplyAimbotSettingsUI();
});
}
if (MagicBulletToggle != null)
{
MagicBulletToggle.onValueChanged.AddListener(delegate
{
ApplyAimbotSettingsUI();
});
}
if (infiniteammo != null)
{
infiniteammo.onValueChanged.AddListener(delegate
{
ApplyAimbotSettingsUI();
});
}
if (aimbotDrawFOVToggle != null)
{
aimbotDrawFOVToggle.onValueChanged.AddListener(delegate
{
ApplyAimbotSettingsUI();
});
}
if (tracers != null)
{
tracers.onValueChanged.AddListener(delegate
{
ApplyAimbotSettingsUI();
});
}
if (hitmarkers != null)
{
hitmarkers.onValueChanged.AddListener(delegate
{
ApplyAimbotSettingsUI();
});
}
if (drawPlayersToggle != null)
{
drawPlayersToggle.onValueChanged.AddListener(delegate
{
ApplyPlayerESPSettingsUI();
});
}
if (drawPlayerBoxToggle != null)
{
drawPlayerBoxToggle.onValueChanged.AddListener(delegate
{
ApplyPlayerESPSettingsUI();
});
}
if (drawPlayerNameToggle != null)
{
drawPlayerNameToggle.onValueChanged.AddListener(delegate
{
ApplyPlayerESPSettingsUI();
});
}
if (drawPlayerLineToggle != null)
{
drawPlayerLineToggle.onValueChanged.AddListener(delegate
{
ApplyPlayerESPSettingsUI();
});
}
if (drawPlayerHealthToggle != null)
{
drawPlayerHealthToggle.onValueChanged.AddListener(delegate
{
ApplyPlayerESPSettingsUI();
});
}
if (drawWeaponToggle != null)
{
drawWeaponToggle.onValueChanged.AddListener(delegate
{
ApplyPlayerESPSettingsUI();
});
}
if (enableSkeletonToggle != null)
{
enableSkeletonToggle.onValueChanged.AddListener(delegate
{
ApplyPlayerESPSettingsUI();
});
}
if (drawRadarToggle != null)
{
drawRadarToggle.onValueChanged.AddListener(delegate
{
ApplyPlayerESPSettingsUI();
});
}
if (ChamsToggle != null)
{
ChamsToggle.onValueChanged.AddListener(delegate
{
ApplyPlayerESPSettingsUI();
});
}
if (drawaimpostoggle != null)
{
drawaimpostoggle.onValueChanged.AddListener(delegate
{
ApplyPlayerESPSettingsUI();
});
}
if (fullbright != null)
{
fullbright.onValueChanged.AddListener(delegate
{
ApplyPlayerESPSettingsUI();
});
}
if (grenadeesp != null)
{
grenadeesp.onValueChanged.AddListener(delegate
{
ApplyPlayerESPSettingsUI();
});
}
if (DrawTripWires != null)
{
DrawTripWires.onValueChanged.AddListener(delegate
{
ApplyPlayerESPSettingsUI();
});
}
if (drawLootItemsToggle != null)
{
drawLootItemsToggle.onValueChanged.AddListener(delegate
{
ApplyItemESPSettingsUI();
});
}
if (superRareItemsToggle != null)
{
superRareItemsToggle.onValueChanged.AddListener(delegate
{
ApplyItemESPSettingsUI();
});
}
if (kappaItemsToggle != null)
{
kappaItemsToggle.onValueChanged.AddListener(delegate
{
ApplyItemESPSettingsUI();
});
}
if (questItemsToggle != null)
{
questItemsToggle.onValueChanged.AddListener(delegate
{
ApplyItemESPSettingsUI();
});
}
if (commonItemsToggle != null)
{
commonItemsToggle.onValueChanged.AddListener(delegate
{
ApplyItemESPSettingsUI();
});
}
if (drawLootableContainersToggle != null)
{
drawLootableContainersToggle.onValueChanged.AddListener(delegate
{
ApplyItemESPSettingsUI();
});
}
if (bodyESPToggle != null)
{
bodyESPToggle.onValueChanged.AddListener(delegate
{
ApplyItemESPSettingsUI();
});
}
if (playerInventoryESPToggle != null)
{
playerInventoryESPToggle.onValueChanged.AddListener(delegate
{
ApplyItemESPSettingsUI();
});
}
if (searchItemToggle != null)
{
searchItemToggle.onValueChanged.AddListener(delegate
{
ApplyItemESPSettingsUI();
});
}
if (teleportItemsToggle != null)
{
teleportItemsToggle.onValueChanged.AddListener(delegate
{
ApplyItemESPSettingsUI();
});
}
if (drawExfiltrationPointsToggle != null)
{
drawExfiltrationPointsToggle.onValueChanged.AddListener(delegate
{
ApplyItemESPSettingsUI();
});
}
if (stimsItemsToggle != null)
{
stimsItemsToggle.onValueChanged.AddListener(delegate
{
ApplyItemESPSettingsUI();
});
}
if (superrareTPToggle != null)
{
superrareTPToggle.onValueChanged.AddListener(delegate
{
ApplyItemESPSettingsUI();
});
}
if (KappaTPToggle != null)
{
KappaTPToggle.onValueChanged.AddListener(delegate
{
ApplyItemESPSettingsUI();
});
}
if (QuestTPToggle != null)
{
QuestTPToggle.onValueChanged.AddListener(delegate
{
ApplyItemESPSettingsUI();
});
}
if (StimsTPToggle != null)
{
StimsTPToggle.onValueChanged.AddListener(delegate
{
ApplyItemESPSettingsUI();
});
}
if (SearchTPToggle != null)
{
SearchTPToggle.onValueChanged.AddListener(delegate
{
ApplyItemESPSettingsUI();
});
}
if (flyhackToggle != null)
{
flyhackToggle.onValueChanged.AddListener(delegate
{
ApplyMiscOptionsSettingsUI();
});
}
if (speedhackToggle != null)
{
speedhackToggle.onValueChanged.AddListener(delegate
{
ApplyMiscOptionsSettingsUI();
});
}
if (maincamfovchanger != null)
{
maincamfovchanger.onValueChanged.AddListener(delegate
{
ApplyMiscOptionsSettingsUI();
});
}
if (infStaminaToggle != null)
{
infStaminaToggle.onValueChanged.AddListener(delegate
{
ApplyMiscOptionsSettingsUI();
});
}
if (instaHealToggle != null)
{
instaHealToggle.onValueChanged.AddListener(delegate
{
ApplyMiscOptionsSettingsUI();
});
}
if (thermalVisionToggle != null)
{
thermalVisionToggle.onValueChanged.AddListener(delegate
{
ApplyMiscOptionsSettingsUI();
});
}
if (godmodeToggle != null)
{
godmodeToggle.onValueChanged.AddListener(delegate
{
ApplyMiscOptionsSettingsUI();
});
}
if (instaSearchToggle != null)
{
instaSearchToggle.onValueChanged.AddListener(delegate
{
ApplyMiscOptionsSettingsUI();
});
}
if (noVisorToggle != null)
{
noVisorToggle.onValueChanged.AddListener(delegate
{
ApplyMiscOptionsSettingsUI();
});
}
if (flaresToggle != null)
{
flaresToggle.onValueChanged.AddListener(delegate
{
ApplyMiscOptionsSettingsUI();
});
}
if (noJamToggle != null)
{
noJamToggle.onValueChanged.AddListener(delegate
{
ApplyMiscOptionsSettingsUI();
});
}
if (fireRateToggle != null)
{
fireRateToggle.onValueChanged.AddListener(delegate
{
ApplyMiscOptionsSettingsUI();
});
}
if (farreachtoggle != null)
{
farreachtoggle.onValueChanged.AddListener(delegate
{
ApplyMiscOptionsSettingsUI();
});
}
if (invisibletoggle != null)
{
invisibletoggle.onValueChanged.AddListener(delegate
{
ApplyMiscOptionsSettingsUI();
});
}
if (showitemspawnmenu != null)
{
showitemspawnmenu.onValueChanged.AddListener(delegate
{
ApplyMiscOptionsSettingsUI();
});
}
if (thicc != null)
{
thicc.onValueChanged.AddListener(delegate
{
ApplyMiscOptionsSettingsUI();
});
}
if (sicc != null)
{
sicc.onValueChanged.AddListener(delegate
{
ApplyMiscOptionsSettingsUI();
});
}
if (autofillslots != null)
{
autofillslots.onValueChanged.AddListener(delegate
{
ApplyMiscOptionsSettingsUI();
});
}
if (ammobox != null)
{
ammobox.onValueChanged.AddListener(delegate
{
ApplyMiscOptionsSettingsUI();
});
}
if (bypassrestrictions != null)
{
bypassrestrictions.onValueChanged.AddListener(delegate
{
ApplyMiscOptionsSettingsUI();
});
}
if (fillraidbp != null)
{
fillraidbp.onValueChanged.AddListener(delegate
{
ApplyMiscOptionsSettingsUI();
});
}
if (weaponchams != null)
{
weaponchams.onValueChanged.AddListener(delegate
{
ApplyMiscOptionsSettingsUI();
});
}
if (alwayssurvived != null)
{
alwayssurvived.onValueChanged.AddListener(delegate
{
ApplyMiscOptionsSettingsUI();
});
}
if (tppmc != null)
{
tppmc.onValueChanged.AddListener(delegate
{
ApplyMiscOptionsSettingsUI();
});
}
if (tpboss != null)
{
tpboss.onValueChanged.AddListener(delegate
{
ApplyMiscOptionsSettingsUI();
});
}
if (QuestESP != null)
{
QuestESP.onValueChanged.AddListener(delegate
{
ApplyMiscOptionsSettingsUI();
});
}
if (QuestDescription != null)
{
QuestDescription.onValueChanged.AddListener(delegate
{
ApplyMiscOptionsSettingsUI();
});
}
if (SimplifiedStrings != null)
{
SimplifiedStrings.onValueChanged.AddListener(delegate
{
ApplyMiscOptionsSettingsUI();
});
}
if (DrawOutline != null)
{
DrawOutline.onValueChanged.AddListener(delegate
{
ApplyMiscOptionsSettingsUI();
});
}
if (Artillery != null)
{
Artillery.onValueChanged.AddListener(delegate
{
ApplyMiscOptionsSettingsUI();
});
}
if (DrawWatermark != null)
{
DrawWatermark.onValueChanged.AddListener(delegate
{
ApplyMiscOptionsSettingsUI();
});
}
if (DurabilityExploit != null)
{
DurabilityExploit.onValueChanged.AddListener(delegate
{
ApplyMiscOptionsSettingsUI();
});
}
if (DrawHideoutItems != null)
{
DrawHideoutItems.onValueChanged.AddListener(delegate
{
ApplyItemESPSettingsUI();
});
}
if (DrawWishlistItems != null)
{
DrawWishlistItems.onValueChanged.AddListener(delegate
{
ApplyItemESPSettingsUI();
});
}
if (ESPfiltervalue != null)
{
ESPfiltervalue.onValueChanged.AddListener(delegate
{
ApplyItemESPSettingsUI();
});
}
if (DrawItemValue != null)
{
DrawItemValue.onValueChanged.AddListener(delegate
{
ApplyItemESPSettingsUI();
});
}
if (filtersuperrare != null)
{
filtersuperrare.onValueChanged.AddListener(delegate
{
ApplyMiscOptionsSettingsUI();
});
}
if (filterkappa != null)
{
filterkappa.onValueChanged.AddListener(delegate
{
ApplyMiscOptionsSettingsUI();
});
}
if (filterquest != null)
{
filterquest.onValueChanged.AddListener(delegate
{
ApplyMiscOptionsSettingsUI();
});
}
if (filterwishlist != null)
{
filterwishlist.onValueChanged.AddListener(delegate
{
ApplyMiscOptionsSettingsUI();
});
}
if (filterstim != null)
{
filterstim.onValueChanged.AddListener(delegate
{
ApplyMiscOptionsSettingsUI();
});
}
if (TPWishlistItems != null)
{
TPWishlistItems.onValueChanged.AddListener(delegate
{
ApplyItemESPSettingsUI();
});
}
if (TPHideoutItems != null)
{
TPHideoutItems.onValueChanged.AddListener(delegate
{
ApplyItemESPSettingsUI();
});
}
if (TPHVItems != null)
{
TPHVItems.onValueChanged.AddListener(delegate
{
ApplyItemESPSettingsUI();
});
}
if (ShowColorMenu != null)
{
ShowColorMenu.onValueChanged.AddListener(delegate
{
ApplyMiscOptionsSettingsUI();
});
}
if (disableallinputs != null)
{
disableallinputs.onValueChanged.AddListener(delegate
{
ApplyMiscOptionsSettingsUI();
});
}
if (filterhideout != null)
{
filterhideout.onValueChanged.AddListener(delegate
{
ApplyMiscOptionsSettingsUI();
});
}
if (filtervalue != null)
{
filtervalue.onValueChanged.AddListener(delegate
{
ApplyMiscOptionsSettingsUI();
});
}
if (SpoofNicknameToggle != null)
{
SpoofNicknameToggle.onValueChanged.AddListener(delegate
{
ApplyMiscOptionsSettingsUI();
});
}
if (bulletspershottoggle != null)
{
bulletspershottoggle.onValueChanged.AddListener(delegate
{
ApplyAimbotSettingsUI();
});
}
if (bigheadstoggle != null)
{
bigheadstoggle.onValueChanged.AddListener(delegate
{
ApplyMiscOptionsSettingsUI();
});
}
if (showraidsettingsmenu != null)
{
showraidsettingsmenu.onValueChanged.AddListener(delegate
{
ApplyMiscOptionsSettingsUI();
});
}
if (makeallbotsfriendlytoggle != null)
{
makeallbotsfriendlytoggle.onValueChanged.AddListener(delegate
{
ApplyMiscOptionsSettingsUI();
});
}
if (modifyraidsettingstoggle != null)
{
modifyraidsettingstoggle.onValueChanged.AddListener(delegate
{
ApplyMiscOptionsSettingsUI();
});
}
SaveSettings();
}
private void AddSliderListeners()
{
if (aimbotSmoothSlider != null)
{
aimbotSmoothSlider.onValueChanged.AddListener(delegate
{
ApplyAimbotSettingsUI();
});
}
if (aimbotFOVSlider != null)
{
aimbotFOVSlider.onValueChanged.AddListener(delegate
{
ApplyAimbotSettingsUI();
});
}
if (radardistanceslider != null)
{
radardistanceslider.onValueChanged.AddListener(delegate
{
ApplyPlayerESPSettingsUI();
});
}
if (SkeletonUpdateSlider != null)
{
SkeletonUpdateSlider.onValueChanged.AddListener(delegate
{
ApplyPlayerESPSettingsUI();
});
}
if (FONTSIZE != null)
{
FONTSIZE.onValueChanged.AddListener(delegate
{
ApplyPlayerESPSettingsUI();
});
}
if (drawPlayersDistanceSlider != null)
{
drawPlayersDistanceSlider.onValueChanged.AddListener(delegate
{
ApplyPlayerESPSettingsUI();
});
}
if (drawLootItemsDistanceSlider != null)
{
drawLootItemsDistanceSlider.onValueChanged.AddListener(delegate
{
ApplyItemESPSettingsUI();
});
}
if (commonItemsDistanceSlider != null)
{
commonItemsDistanceSlider.onValueChanged.AddListener(delegate
{
ApplyItemESPSettingsUI();
});
}
if (drawLootableContainersDistanceSlider != null)
{
drawLootableContainersDistanceSlider.onValueChanged.AddListener(delegate
{
ApplyItemESPSettingsUI();
});
}
if (speedSlider != null)
{
speedSlider.onValueChanged.AddListener(delegate
{
ApplyMiscOptionsSettingsUI();
});
}
if (maincamfov != null)
{
maincamfov.onValueChanged.AddListener(delegate
{
ApplyMiscOptionsSettingsUI();
});
}
if (xpslider != null)
{
xpslider.onValueChanged.AddListener(delegate
{
ApplyMiscOptionsSettingsUI();
});
}
if (filtervalueslider != null)
{
filtervalueslider.onValueChanged.AddListener(delegate
{
ApplyMiscOptionsSettingsUI();
});
}
if (ESPfiltervalueslider != null)
{
ESPfiltervalueslider.onValueChanged.AddListener(delegate
{
ApplyItemESPSettingsUI();
});
}
if (bulletspershot != null)
{
bulletspershot.onValueChanged.AddListener(delegate
{
ApplyAimbotSettingsUI();
});
}
if (ItemTPRadiusSlider != null)
{
ItemTPRadiusSlider.onValueChanged.AddListener(delegate
{
ApplyItemESPSettingsUI();
});
}
}
public void MaxWeaponskill()
{
Player localPlayer = Main.LocalPlayer;
if (!(localPlayer != null))
{
return;
}
foreach (_E9D4 value in localPlayer.Skills.Mastering.Values)
{
value.Current = value.MasteringGroup.Level2 + value.MasteringGroup.Level3;
}
}
private void PopulateRaidSettingsDropdowns()
{
PopulateRaidDropdown(botAmountDropdown, typeof(EBotAmount));
PopulateRaidDropdown(botDifficultyDropdown, typeof(EBotDifficulty));
PopulateRaidDropdown(windTypeDropdown, typeof(EWindSpeed));
PopulateRaidDropdown(timeFlowTypeDropdown, typeof(ETimeFlowType));
PopulateRaidDropdown(cloudinessTypeDropdown, typeof(ECloudinessType));
PopulateRaidDropdown(rainTypeDropdown, typeof(ERainType));
botAmountDropdown.value = 0;
botDifficultyDropdown.value = 0;
windTypeDropdown.value = 0;
timeFlowTypeDropdown.value = 0;
cloudinessTypeDropdown.value = 0;
rainTypeDropdown.value = 0;
}
private void PopulateRaidDropdown(TMP_Dropdown dropdown, Type enumType)
{
dropdown.ClearOptions();
List<string> list = new List<string> { "Default" };
list.AddRange(Enum.GetNames(enumType));
dropdown.AddOptions(list);
}
private void ApplyRaidSettings()
{
if (Settings.modifyraidsettings && !(LocationsFixerV2._tarkovApplication == null) && !(Main.GameWorld != null))
{
RaidSettings currentRaidSettings = LocationsFixerV2._tarkovApplication.CurrentRaidSettings;
if (botAmountDropdown.value != 0)
{
currentRaidSettings.BotSettings.BotAmount = (EBotAmount)(botAmountDropdown.value - 1);
}
if (botDifficultyDropdown.value != 0)
{
currentRaidSettings.WavesSettings.BotDifficulty = (EBotDifficulty)(botDifficultyDropdown.value - 1);
}
currentRaidSettings.WavesSettings.IsTaggedAndCursed = taggedAndCursedToggle.isOn;
currentRaidSettings.MetabolismDisabled = metabolismDisabledToggle.isOn;
currentRaidSettings.BotSettings.IsScavWars = scavwartoggle.isOn;
if (windTypeDropdown.value != 0)
{
currentRaidSettings.TimeAndWeatherSettings.WindType = (EWindSpeed)(windTypeDropdown.value - 1);
}
if (timeFlowTypeDropdown.value != 0)
{
currentRaidSettings.TimeAndWeatherSettings.TimeFlowType = (ETimeFlowType)(timeFlowTypeDropdown.value - 1);
}
if (cloudinessTypeDropdown.value != 0)
{
currentRaidSettings.TimeAndWeatherSettings.CloudinessType = (ECloudinessType)(cloudinessTypeDropdown.value - 1);
}
if (rainTypeDropdown.value != 0)
{
currentRaidSettings.TimeAndWeatherSettings.RainType = (ERainType)(rainTypeDropdown.value - 1);
}
}
}
public void UpdateEntityList()
{
if (entityButtonTemplate == null)
{
return;
}
if (Main.GameWorld == null || Main.GamePlayers.Count < 1)
{
ClearAllEntitiesFromList();
return;
}
HashSet<string> currentEntityIds = new HashSet<string>();
foreach (GamePlayer gamePlayer in Main.GamePlayers)
{
if (gamePlayer != null && !(gamePlayer.Player == null) && !gamePlayer.Player.IsYourPlayer && gamePlayer.Player.Profile?.Info?.Settings != null)
{
string text = gamePlayer.Player.GetInstanceID().ToString();
currentEntityIds.Add(text);
if (!activeEntityButtons.ContainsKey(text))
{
AddEntityToList(gamePlayer, text);
}
}
}
foreach (string item in activeEntityButtons.Keys.Where((string id) => !currentEntityIds.Contains(id)).ToList())
{
UnityEngine.Object.Destroy(activeEntityButtons[item]);
activeEntityButtons.Remove(item);
}
if (activeEntityButtons.Count == 0)
{
noentitiestexttmp.text = "No Entities to List";
}
else
{
noentitiestexttmp.text = " ";
}
if (selectedEntity != null && !selectedEntity.HealthController.IsAlive)
{
selectedEntity = null;
entityInfoText.text = " Please Select an Entity\n From The List !";
}
else if (selectedEntity == null && entityInfoText.text != null)
{
entityInfoText.text = " Please Select an Entity\n From The List !";
}
LayoutRebuilder.ForceRebuildLayoutImmediate(entityButtonContainer.GetComponent<RectTransform>());
Canvas.ForceUpdateCanvases();
}
private void AddEntityToList(GamePlayer player, string id)
{
if (entityButtonTemplate == null)
{
return;
}
GameObject gameObject = UnityEngine.Object.Instantiate(entityButtonTemplate, entityButtonContainer);
if (gameObject == null)
{
return;
}
TMP_Text componentInChildren = gameObject.GetComponentInChildren<TMP_Text>();
var (nickname, color) = EntityManager.GetEntityDisplayInfo(player);
if (componentInChildren != null)
{
componentInChildren.text = nickname;
componentInChildren.color = color;
}
Button component = gameObject.GetComponent<Button>();
if (component != null)
{
GamePlayer capturedPlayer = player;
component.onClick.AddListener(delegate
{
OnEntityButtonClick(capturedPlayer, nickname);
});
}
gameObject.SetActive(value: true);
activeEntityButtons[id] = gameObject;
}
private void ClearAllEntitiesFromList()
{
foreach (Transform item in entityButtonContainer)
{
UnityEngine.Object.Destroy(item.gameObject);
}
activeEntityButtons.Clear();
noentitiestexttmp.text = "No Entities to List";
if (selectedEntity != null)
{
selectedEntity = null;
entityInfoText.text = " Please Select an Entity\n From The List !";
}
}
private void OnEntityButtonClick(GamePlayer entity, string name)
{
if (entity == null)
{
return;
}
foreach (GamePlayer gamePlayer in Main.GamePlayers)
{
if (gamePlayer == entity)
{
gamePlayer.isselected = true;
}
else
{
gamePlayer.isselected = false;
}
}
selectedEntity = entity.Player;
UpdateEntityInfoText(name);
}
public void UpdateEntityInfoText(string name = "", bool disregardstring = false)
{
_E9AD info = selectedEntity.Profile.Info;
string text = "";
if (disregardstring)
{
foreach (GamePlayer gamePlayer in Main.GamePlayers)
{
if (gamePlayer.Player == selectedEntity)
{
string item = EntityManager.GetEntityDisplayInfo(gamePlayer).displayName;
text = item;
}
}
}
else
{
text = name;
}
entityInfoText.text = "Selected Entity:\nESP Name: " + text + "\n" + $"Role: {info.Settings.Role}\n" + $"Side: {info.Side}\n" + $"Is Ally ? : {selectedEntity.AIData.BotOwner.BotsGroup.IsAlly(Main.LocalPlayer)}\n" + $"Health: [{selectedEntity.ActiveHealthController.GetBodyPartHealth(EBodyPart.Common).Current:F0}/{selectedEntity.ActiveHealthController.GetBodyPartHealth(EBodyPart.Common).Maximum:F0}]";
}
public void OnKillEntityClick()
{
EntityManager.KillEntity(selectedEntity);
if (!selectedEntity.HealthController.IsAlive)
{
entityInfoText.text = " Please Select an Entity\n From The List !";
}
else
{
UpdateEntityInfoText(string.Empty, disregardstring: true);
}
}
public void OnHealEntityClick()
{
EntityManager.HealEntity(selectedEntity);
UpdateEntityInfoText(string.Empty, disregardstring: true);
}
public void OnTeleportEntityClick()
{
EntityManager.TeleportEntityToCrosshair(selectedEntity);
UpdateEntityInfoText(string.Empty, disregardstring: true);
}
public void onmakebraindeadclick()
{
EntityManager.ToggleOffEntityObject(selectedEntity);
UpdateEntityInfoText(string.Empty, disregardstring: true);
}
public void ongivebotblickykitclick()
{
EntityManager.GiveBotsBlickyKit(selectedEntity);
UpdateEntityInfoText(string.Empty, disregardstring: true);
}
public void ongiveallbotsblickykitclick()
{
foreach (GamePlayer gamePlayer in Main.GamePlayers)
{
EntityManager.GiveBotsBlickyKit(gamePlayer.Player);
}
}
}