2024-03-30 00:16:39 -07:00
|
|
|
|
using System;
|
|
|
|
|
using System.IO;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using System.Linq;
|
|
|
|
|
using System.Text;
|
|
|
|
|
using System.Drawing;
|
|
|
|
|
using System.Threading.Tasks;
|
|
|
|
|
using System.Windows.Forms;
|
|
|
|
|
|
|
|
|
|
namespace app
|
|
|
|
|
{
|
|
|
|
|
public class SettingsLoader
|
|
|
|
|
{
|
|
|
|
|
Form1 Form1_0;
|
|
|
|
|
|
|
|
|
|
public string File_PaladinHammer = Application.StartupPath + @"\Settings\Char\PaladinHammer.txt";
|
|
|
|
|
public string File_SorceressBlizzard = Application.StartupPath + @"\Settings\Char\SorceressBlizzard.txt";
|
|
|
|
|
|
|
|
|
|
public string File_CharSettings = Application.StartupPath + @"\Settings\CharSettings.txt";
|
|
|
|
|
public string File_BotSettings = Application.StartupPath + @"\Settings\BotSettings.txt";
|
|
|
|
|
public string File_ItemsSettings = Application.StartupPath + @"\Settings\ItemsSettings.txt";
|
|
|
|
|
public string File_CubingSettings = Application.StartupPath + @"\Settings\CubingRecipes.txt";
|
|
|
|
|
public string File_Settings = Application.StartupPath + @"\Settings\Settings.txt";
|
|
|
|
|
string[] AllLines = new string[] { };
|
|
|
|
|
|
|
|
|
|
public void SetForm1(Form1 form1_1)
|
|
|
|
|
{
|
|
|
|
|
Form1_0 = form1_1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void LoadSettings()
|
|
|
|
|
{
|
|
|
|
|
if (File.Exists(File_CharSettings))
|
|
|
|
|
{
|
|
|
|
|
AllLines = File.ReadAllLines(File_CharSettings);
|
|
|
|
|
LoadCharSettings();
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
Form1_0.method_1("UNABLE TO FIND 'CharSettings.txt' FILE!", Color.Red);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//###################
|
|
|
|
|
ReloadCharSettings();
|
|
|
|
|
//###################
|
|
|
|
|
|
|
|
|
|
//#####
|
|
|
|
|
if (File.Exists(File_BotSettings))
|
|
|
|
|
{
|
|
|
|
|
AllLines = File.ReadAllLines(File_BotSettings);
|
|
|
|
|
LoadBotSettings();
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
Form1_0.method_1("UNABLE TO FIND 'BotSettings.txt' FILE!", Color.Red);
|
|
|
|
|
}
|
|
|
|
|
//#####
|
|
|
|
|
if (File.Exists(File_ItemsSettings))
|
|
|
|
|
{
|
|
|
|
|
AllLines = File.ReadAllLines(File_ItemsSettings);
|
|
|
|
|
LoadItemsSettings();
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
Form1_0.method_1("UNABLE TO FIND 'ItemsSettings.txt' FILE!", Color.Red);
|
|
|
|
|
}
|
|
|
|
|
//#####
|
|
|
|
|
if (File.Exists(File_CubingSettings))
|
|
|
|
|
{
|
|
|
|
|
AllLines = File.ReadAllLines(File_CubingSettings);
|
|
|
|
|
LoadCubingSettings();
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
Form1_0.method_1("UNABLE TO FIND 'CubingRecipes.txt' FILE!", Color.Red);
|
|
|
|
|
}
|
|
|
|
|
//#####
|
|
|
|
|
if (File.Exists(File_Settings))
|
|
|
|
|
{
|
|
|
|
|
AllLines = File.ReadAllLines(File_Settings);
|
|
|
|
|
LoadOthersSettings();
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
SaveOthersSettings();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void LoadOthersSettings()
|
|
|
|
|
{
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
for (int i = 0; i < AllLines.Length; i++)
|
|
|
|
|
{
|
|
|
|
|
if (AllLines[i].Length > 0)
|
|
|
|
|
{
|
|
|
|
|
if (AllLines[i][0] != '/' && AllLines[i][0] != '#')
|
|
|
|
|
{
|
|
|
|
|
if (AllLines[i].Contains("="))
|
|
|
|
|
{
|
|
|
|
|
string[] Params = AllLines[i].Split('=');
|
|
|
|
|
|
|
|
|
|
if (Params[0].Contains("RunNumber"))
|
|
|
|
|
{
|
|
|
|
|
Form1_0.CurrentGameNumber = int.Parse(Params[1]);
|
|
|
|
|
}
|
|
|
|
|
if (Params[0].Contains("D2_LOD_113C_Path"))
|
|
|
|
|
{
|
|
|
|
|
Form1_0.D2_LOD_113C_Path = Params[1];
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
catch
|
|
|
|
|
{
|
|
|
|
|
Form1_0.method_1("UNABLE TO LOAD 'Settings.txt' FILE!", Color.Red);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void ReloadCharSettings()
|
|
|
|
|
{
|
|
|
|
|
if (CharConfig.RunningOnChar == "PaladinHammer")
|
|
|
|
|
{
|
|
|
|
|
if (File.Exists(File_PaladinHammer))
|
|
|
|
|
{
|
|
|
|
|
AllLines = File.ReadAllLines(File_PaladinHammer);
|
|
|
|
|
LoadCurrentCharSettings();
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
Form1_0.method_1("UNABLE TO FIND 'PaladinHammer.txt' FILE!", Color.Red);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else if (CharConfig.RunningOnChar == "SorceressBlizzard")
|
|
|
|
|
{
|
|
|
|
|
if (File.Exists(File_SorceressBlizzard))
|
|
|
|
|
{
|
|
|
|
|
AllLines = File.ReadAllLines(File_SorceressBlizzard);
|
|
|
|
|
LoadCurrentCharSettings();
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
Form1_0.method_1("UNABLE TO FIND 'SorceressBlizzard.txt' FILE!", Color.Red);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void SaveCharSettings()
|
|
|
|
|
{
|
|
|
|
|
string ThisFilePath = "";
|
|
|
|
|
if (CharConfig.RunningOnChar == "PaladinHammer") ThisFilePath = File_PaladinHammer;
|
|
|
|
|
if (CharConfig.RunningOnChar == "SorceressBlizzard") ThisFilePath = File_SorceressBlizzard;
|
|
|
|
|
|
|
|
|
|
string[] AllLines = File.ReadAllLines(ThisFilePath);
|
|
|
|
|
for (int i = 0; i < AllLines.Length; i++)
|
|
|
|
|
{
|
|
|
|
|
if (AllLines[i].Contains("="))
|
|
|
|
|
{
|
|
|
|
|
string[] Splitted = AllLines[i].Split('=');
|
|
|
|
|
if (Splitted[0] == "KeySkillAttack") AllLines[i] = "KeySkillAttack=" + CharConfig.KeySkillAttack;
|
|
|
|
|
if (Splitted[0] == "KeySkillAura") AllLines[i] = "KeySkillAura=" + CharConfig.KeySkillAura;
|
|
|
|
|
if (Splitted[0] == "KeySkillfastMoveAtTown") AllLines[i] = "KeySkillfastMoveAtTown=" + CharConfig.KeySkillfastMoveAtTown;
|
|
|
|
|
if (Splitted[0] == "KeySkillfastMoveOutsideTown") AllLines[i] = "KeySkillfastMoveOutsideTown=" + CharConfig.KeySkillfastMoveOutsideTown;
|
|
|
|
|
if (Splitted[0] == "KeySkillDefenseAura") AllLines[i] = "KeySkillDefenseAura=" + CharConfig.KeySkillDefenseAura;
|
|
|
|
|
if (Splitted[0] == "KeySkillCastDefense") AllLines[i] = "KeySkillCastDefense=" + CharConfig.KeySkillCastDefense;
|
|
|
|
|
if (Splitted[0] == "KeySkillLifeAura") AllLines[i] = "KeySkillLifeAura=" + CharConfig.KeySkillLifeAura;
|
|
|
|
|
|
|
|
|
|
if (Splitted[0] == "BeltPotTypeToHave") AllLines[i] = "BeltPotTypeToHave=" + CharConfig.BeltPotTypeToHave[0] + "," + CharConfig.BeltPotTypeToHave[1] + "," + CharConfig.BeltPotTypeToHave[2] + "," + CharConfig.BeltPotTypeToHave[3];
|
|
|
|
|
|
|
|
|
|
/*InventoryDontCheckItem=
|
|
|
|
|
{
|
|
|
|
|
0,0,0,0,0,0,0,1,1,1,
|
|
|
|
|
0,0,0,0,0,0,0,1,1,1,
|
|
|
|
|
0,0,0,0,0,0,0,1,1,1,
|
|
|
|
|
0,0,0,0,0,0,0,1,1,1
|
|
|
|
|
}*/
|
|
|
|
|
if (Splitted[0] == "InventoryDontCheckItem")
|
|
|
|
|
{
|
|
|
|
|
string InventoryTxtt = "";
|
|
|
|
|
InventoryTxtt += Environment.NewLine + "{" + Environment.NewLine;
|
|
|
|
|
for (int w = 0; w < 40; w++)
|
|
|
|
|
{
|
|
|
|
|
if (w == 10) InventoryTxtt += Environment.NewLine;
|
|
|
|
|
if (w == 20) InventoryTxtt += Environment.NewLine;
|
|
|
|
|
if (w == 30) InventoryTxtt += Environment.NewLine;
|
|
|
|
|
|
|
|
|
|
InventoryTxtt += CharConfig.InventoryDontCheckItem[w];
|
|
|
|
|
|
|
|
|
|
if (w < 40 - 1) InventoryTxtt += ",";
|
|
|
|
|
}
|
|
|
|
|
AllLines[i] = "InventoryDontCheckItem=" + InventoryTxtt;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (Splitted[0] == "PlayerCharName") AllLines[i] = "PlayerCharName=" + CharConfig.PlayerCharName;
|
|
|
|
|
if (Splitted[0] == "UseTeleport") AllLines[i] = "UseTeleport=" + CharConfig.UseTeleport;
|
2024-04-14 18:51:35 -07:00
|
|
|
|
if (Splitted[0] == "UseBO") AllLines[i] = "UseBO=" + CharConfig.UseBO;
|
2024-04-18 18:51:45 -07:00
|
|
|
|
if (Splitted[0] == "IDAtShop") AllLines[i] = "IDAtShop=" + CharConfig.IDAtShop;
|
|
|
|
|
if (Splitted[0] == "GrabForGold") AllLines[i] = "GrabForGold=" + CharConfig.GrabForGold;
|
2024-03-30 00:16:39 -07:00
|
|
|
|
if (Splitted[0] == "ChickenHP") AllLines[i] = "ChickenHP=" + CharConfig.ChickenHP;
|
|
|
|
|
if (Splitted[0] == "TakeHPPotUnder" && !Splitted[0].Contains("MercTakeHPPotUnder")) AllLines[i] = "TakeHPPotUnder=" + CharConfig.TakeHPPotUnder;
|
|
|
|
|
if (Splitted[0] == "TakeRVPotUnder") AllLines[i] = "TakeRVPotUnder=" + CharConfig.TakeRVPotUnder;
|
|
|
|
|
if (Splitted[0] == "TakeManaPotUnder") AllLines[i] = "TakeManaPotUnder=" + CharConfig.TakeManaPotUnder;
|
|
|
|
|
if (Splitted[0] == "GambleAboveGoldAmount") AllLines[i] = "GambleAboveGoldAmount=" + CharConfig.GambleAboveGoldAmount;
|
|
|
|
|
if (Splitted[0] == "GambleUntilGoldAmount") AllLines[i] = "GambleUntilGoldAmount=" + CharConfig.GambleUntilGoldAmount;
|
|
|
|
|
if (Splitted[0] == "PlayerAttackWithRightHand") AllLines[i] = "PlayerAttackWithRightHand=" + CharConfig.PlayerAttackWithRightHand;
|
|
|
|
|
|
|
|
|
|
if (Splitted[0] == "KeysLocationInInventory") AllLines[i] = "KeysLocationInInventory=" + CharConfig.KeysLocationInInventory.Item1 + "," + CharConfig.KeysLocationInInventory.Item2;
|
|
|
|
|
|
|
|
|
|
if (Splitted[0] == "UsingMerc") AllLines[i] = "UsingMerc=" + CharConfig.UsingMerc;
|
|
|
|
|
if (Splitted[0] == "MercTakeHPPotUnder") AllLines[i] = "MercTakeHPPotUnder=" + CharConfig.MercTakeHPPotUnder;
|
|
|
|
|
}
|
|
|
|
|
}
|
2024-04-05 21:50:39 -07:00
|
|
|
|
|
|
|
|
|
File.Create(ThisFilePath).Dispose();
|
|
|
|
|
File.WriteAllLines(ThisFilePath, AllLines);
|
|
|
|
|
|
|
|
|
|
SaveCurrentCharSettings();
|
2024-03-30 00:16:39 -07:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void SaveCurrentSettings()
|
|
|
|
|
{
|
|
|
|
|
string[] AllLines = File.ReadAllLines(File_BotSettings);
|
|
|
|
|
|
|
|
|
|
for (int i = 0; i < AllLines.Length; i++)
|
|
|
|
|
{
|
|
|
|
|
if (AllLines[i].Contains("="))
|
|
|
|
|
{
|
|
|
|
|
string[] Splitted = AllLines[i].Split('=');
|
|
|
|
|
if (Splitted[0] == "MaxGameTime") AllLines[i] = "MaxGameTime=" + CharConfig.MaxGameTime;
|
|
|
|
|
|
|
|
|
|
if (Splitted[0] == "IsRushing") AllLines[i] = "IsRushing=" + CharConfig.IsRushing;
|
|
|
|
|
if (Splitted[0] == "RushLeecherName") AllLines[i] = "RushLeecherName=" + CharConfig.RushLeecherName;
|
|
|
|
|
|
|
|
|
|
if (Splitted[0] == "RunDarkWoodRush") AllLines[i] = "RunDarkWoodRush=" + CharConfig.RunDarkWoodRush;
|
|
|
|
|
if (Splitted[0] == "RunTristramRush") AllLines[i] = "RunTristramRush=" + CharConfig.RunTristramRush;
|
|
|
|
|
if (Splitted[0] == "RunAndarielRush") AllLines[i] = "RunAndarielRush=" + CharConfig.RunAndarielRush;
|
|
|
|
|
if (Splitted[0] == "RunRadamentRush") AllLines[i] = "RunRadamentRush=" + CharConfig.RunRadamentRush;
|
|
|
|
|
if (Splitted[0] == "RunHallOfDeadRush") AllLines[i] = "RunHallOfDeadRush=" + CharConfig.RunHallOfDeadRush;
|
|
|
|
|
if (Splitted[0] == "RunFarOasisRush") AllLines[i] = "RunFarOasisRush=" + CharConfig.RunFarOasisRush;
|
|
|
|
|
if (Splitted[0] == "RunLostCityRush") AllLines[i] = "RunLostCityRush=" + CharConfig.RunLostCityRush;
|
|
|
|
|
if (Splitted[0] == "RunSummonerRush") AllLines[i] = "RunSummonerRush=" + CharConfig.RunSummonerRush;
|
|
|
|
|
if (Splitted[0] == "RunDurielRush") AllLines[i] = "RunDurielRush=" + CharConfig.RunDurielRush;
|
|
|
|
|
if (Splitted[0] == "RunKahlimEyeRush") AllLines[i] = "RunKahlimEyeRush=" + CharConfig.RunKahlimEyeRush;
|
|
|
|
|
if (Splitted[0] == "RunKahlimBrainRush") AllLines[i] = "RunKahlimBrainRush=" + CharConfig.RunKahlimBrainRush;
|
|
|
|
|
if (Splitted[0] == "RunKahlimHeartRush") AllLines[i] = "RunKahlimHeartRush=" + CharConfig.RunKahlimHeartRush;
|
|
|
|
|
if (Splitted[0] == "RunTravincalRush") AllLines[i] = "RunTravincalRush=" + CharConfig.RunTravincalRush;
|
|
|
|
|
if (Splitted[0] == "RunMephistoRush") AllLines[i] = "RunMephistoRush=" + CharConfig.RunMephistoRush;
|
2024-04-05 21:50:39 -07:00
|
|
|
|
if (Splitted[0] == "RunChaosRush") AllLines[i] = "RunChaosRush=" + CharConfig.RunChaosRush;
|
|
|
|
|
if (Splitted[0] == "RunAncientsRush") AllLines[i] = "RunAncientsRush=" + CharConfig.RunAncientsRush;
|
|
|
|
|
if (Splitted[0] == "RunBaalRush") AllLines[i] = "RunBaalRush=" + CharConfig.RunBaalRush;
|
|
|
|
|
|
|
|
|
|
if (Splitted[0] == "ShowOverlay") AllLines[i] = "ShowOverlay=" + CharConfig.ShowOverlay;
|
2024-03-30 00:16:39 -07:00
|
|
|
|
|
2024-04-05 21:50:39 -07:00
|
|
|
|
if (Splitted[0] == "RunWPTaker") AllLines[i] = "RunWPTaker=" + CharConfig.RunWPTaker;
|
|
|
|
|
if (Splitted[0] == "RunTravincalScript") AllLines[i] = "RunTravincalScript=" + CharConfig.RunTravincalScript;
|
2024-03-30 00:16:39 -07:00
|
|
|
|
if (Splitted[0] == "RunPindleskinScript") AllLines[i] = "RunPindleskinScript=" + CharConfig.RunPindleskinScript;
|
|
|
|
|
if (Splitted[0] == "RunDurielScript") AllLines[i] = "RunDurielScript=" + CharConfig.RunDurielScript;
|
|
|
|
|
if (Splitted[0] == "RunSummonerScript") AllLines[i] = "RunSummonerScript=" + CharConfig.RunSummonerScript;
|
|
|
|
|
if (Splitted[0] == "RunMephistoScript") AllLines[i] = "RunMephistoScript=" + CharConfig.RunMephistoScript;
|
|
|
|
|
if (Splitted[0] == "RunAndarielScript") AllLines[i] = "RunAndarielScript=" + CharConfig.RunAndarielScript;
|
|
|
|
|
if (Splitted[0] == "RunCountessScript") AllLines[i] = "RunCountessScript=" + CharConfig.RunCountessScript;
|
|
|
|
|
if (Splitted[0] == "RunChaosScript") AllLines[i] = "RunChaosScript=" + CharConfig.RunChaosScript;
|
2024-04-05 21:50:39 -07:00
|
|
|
|
if (Splitted[0] == "RunChaosLeechScript") AllLines[i] = "RunChaosLeechScript=" + CharConfig.RunChaosLeechScript;
|
2024-03-30 00:16:39 -07:00
|
|
|
|
if (Splitted[0] == "RunLowerKurastScript") AllLines[i] = "RunLowerKurastScript=" + CharConfig.RunLowerKurastScript;
|
2024-04-05 21:50:39 -07:00
|
|
|
|
if (Splitted[0] == "RunBaalScript") AllLines[i] = "RunBaalScript=" + CharConfig.RunBaalScript;
|
2024-03-30 00:16:39 -07:00
|
|
|
|
if (Splitted[0] == "RunBaalLeechScript") AllLines[i] = "RunBaalLeechScript=" + CharConfig.RunBaalLeechScript;
|
|
|
|
|
if (Splitted[0] == "RunItemGrabScriptOnly") AllLines[i] = "RunItemGrabScriptOnly=" + CharConfig.RunItemGrabScriptOnly;
|
2024-04-05 21:50:39 -07:00
|
|
|
|
if (Splitted[0] == "RunCowsScript") AllLines[i] = "RunCowsScript=" + CharConfig.RunCowsScript;
|
|
|
|
|
if (Splitted[0] == "RunEldritchScript") AllLines[i] = "RunEldritchScript=" + CharConfig.RunEldritchScript;
|
|
|
|
|
if (Splitted[0] == "RunShenkScript") AllLines[i] = "RunShenkScript=" + CharConfig.RunShenkScript;
|
|
|
|
|
if (Splitted[0] == "RunNihlatakScript") AllLines[i] = "RunNihlatakScript=" + CharConfig.RunNihlatakScript;
|
2024-03-30 00:16:39 -07:00
|
|
|
|
|
|
|
|
|
if (Splitted[0] == "RunChaosSearchGameScript") AllLines[i] = "RunChaosSearchGameScript=" + CharConfig.RunChaosSearchGameScript;
|
|
|
|
|
if (Splitted[0] == "RunBaalSearchGameScript") AllLines[i] = "RunBaalSearchGameScript=" + CharConfig.RunBaalSearchGameScript;
|
|
|
|
|
if (Splitted[0] == "RunGameMakerScript") AllLines[i] = "RunGameMakerScript=" + CharConfig.RunGameMakerScript;
|
|
|
|
|
if (Splitted[0] == "GameName") AllLines[i] = "GameName=" + CharConfig.GameName;
|
|
|
|
|
if (Splitted[0] == "GameDifficulty") AllLines[i] = "GameDifficulty=" + CharConfig.GameDifficulty;
|
|
|
|
|
if (Splitted[0] == "GamePass") AllLines[i] = "GamePass=" + CharConfig.GamePass;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
File.Create(File_BotSettings).Dispose();
|
|
|
|
|
File.WriteAllLines(File_BotSettings, AllLines);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void SaveOthersSettings()
|
|
|
|
|
{
|
|
|
|
|
string SaveTxtt = "";
|
|
|
|
|
SaveTxtt += "RunNumber=" + Form1_0.CurrentGameNumber + Environment.NewLine;
|
|
|
|
|
SaveTxtt += "D2_LOD_113C_Path=" + Form1_0.D2_LOD_113C_Path + Environment.NewLine;
|
|
|
|
|
|
|
|
|
|
File.Create(File_Settings).Dispose();
|
|
|
|
|
File.WriteAllText(File_Settings, SaveTxtt);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void LoadItemsSettings()
|
|
|
|
|
{
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
bool DoingUnique = false;
|
|
|
|
|
bool DoingKeysRune = false;
|
|
|
|
|
bool DoingSet = false;
|
|
|
|
|
bool DoingNormal = false;
|
|
|
|
|
|
2024-04-18 18:51:45 -07:00
|
|
|
|
Dictionary<string, bool> AllUnique = new Dictionary<string, bool>();
|
|
|
|
|
Dictionary<string, bool> AllKeys = new Dictionary<string, bool>();
|
|
|
|
|
Dictionary<string, bool> AllSet = new Dictionary<string, bool>();
|
|
|
|
|
Dictionary<string, bool> AllNormal = new Dictionary<string, bool>();
|
|
|
|
|
|
|
|
|
|
List<string> UniqueDesc = new List<string>();
|
|
|
|
|
List<string> SetDesc = new List<string>();
|
2024-03-30 00:16:39 -07:00
|
|
|
|
|
|
|
|
|
for (int i = 0; i < AllLines.Length; i++)
|
|
|
|
|
{
|
|
|
|
|
if (AllLines[i].Length > 0)
|
|
|
|
|
{
|
2024-04-18 18:51:45 -07:00
|
|
|
|
if (AllLines[i][2] != '#')
|
2024-03-30 00:16:39 -07:00
|
|
|
|
{
|
|
|
|
|
string ThisItem = AllLines[i];
|
2024-04-18 18:51:45 -07:00
|
|
|
|
bool PickItem = true;
|
|
|
|
|
string Desc = "";
|
|
|
|
|
if (AllLines[i][0] == '/')
|
|
|
|
|
{
|
|
|
|
|
PickItem = false;
|
|
|
|
|
ThisItem = AllLines[i].Substring(2);
|
|
|
|
|
}
|
|
|
|
|
|
2024-03-30 00:16:39 -07:00
|
|
|
|
if (ThisItem.Contains("/"))
|
|
|
|
|
{
|
2024-04-18 18:51:45 -07:00
|
|
|
|
Desc = ThisItem.Substring(ThisItem.IndexOf('/'));
|
2024-03-30 00:16:39 -07:00
|
|
|
|
ThisItem = ThisItem.Substring(0, ThisItem.IndexOf('/')); //remove description '//'
|
|
|
|
|
}
|
|
|
|
|
|
2024-04-18 18:51:45 -07:00
|
|
|
|
if (DoingUnique) { AllUnique.Add(ThisItem, PickItem); UniqueDesc.Add(Desc); }
|
|
|
|
|
if (DoingKeysRune) AllKeys.Add(ThisItem, PickItem);
|
|
|
|
|
if (DoingSet) { AllSet.Add(ThisItem, PickItem); SetDesc.Add(Desc); }
|
|
|
|
|
if (DoingNormal) AllNormal.Add(ThisItem, PickItem);
|
2024-03-30 00:16:39 -07:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (AllLines[i].Contains("UNIQUE ITEMS"))
|
|
|
|
|
{
|
|
|
|
|
DoingUnique = true;
|
|
|
|
|
DoingKeysRune = false;
|
|
|
|
|
DoingSet = false;
|
|
|
|
|
DoingNormal = false;
|
|
|
|
|
}
|
|
|
|
|
if (AllLines[i].Contains("KEYS/GEMS/RUNES ITEMS"))
|
|
|
|
|
{
|
|
|
|
|
DoingUnique = false;
|
|
|
|
|
DoingKeysRune = true;
|
|
|
|
|
DoingSet = false;
|
|
|
|
|
DoingNormal = false;
|
|
|
|
|
}
|
|
|
|
|
if (AllLines[i].Contains("SET ITEMS"))
|
|
|
|
|
{
|
|
|
|
|
DoingUnique = false;
|
|
|
|
|
DoingKeysRune = false;
|
|
|
|
|
DoingSet = true;
|
|
|
|
|
DoingNormal = false;
|
|
|
|
|
}
|
|
|
|
|
if (AllLines[i].Contains("NORMAL ITEMS"))
|
|
|
|
|
{
|
|
|
|
|
DoingUnique = false;
|
|
|
|
|
DoingKeysRune = false;
|
|
|
|
|
DoingSet = false;
|
|
|
|
|
DoingNormal = true;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2024-04-18 18:51:45 -07:00
|
|
|
|
Form1_0.ItemsAlert_0.PickItemsUnique.Clear();
|
|
|
|
|
int CurrI = 0;
|
|
|
|
|
foreach (var ThisDir in AllUnique)
|
|
|
|
|
{
|
|
|
|
|
Form1_0.ItemsAlert_0.PickItemsUnique.Add(ThisDir.Key, ThisDir.Value);
|
|
|
|
|
Form1_0.ItemsAlert_0.PickItemsUniqueDesc.Add(UniqueDesc[CurrI]);
|
|
|
|
|
CurrI++;
|
|
|
|
|
}
|
2024-03-30 00:16:39 -07:00
|
|
|
|
|
2024-04-18 18:51:45 -07:00
|
|
|
|
Form1_0.ItemsAlert_0.PickItemsRunesKeyGems.Clear();
|
|
|
|
|
foreach (var ThisDir in AllKeys) Form1_0.ItemsAlert_0.PickItemsRunesKeyGems.Add(ThisDir.Key, ThisDir.Value);
|
2024-03-30 00:16:39 -07:00
|
|
|
|
|
2024-04-18 18:51:45 -07:00
|
|
|
|
Form1_0.ItemsAlert_0.PickItemsSet.Clear();
|
|
|
|
|
CurrI = 0;
|
|
|
|
|
foreach (var ThisDir in AllSet)
|
|
|
|
|
{
|
|
|
|
|
Form1_0.ItemsAlert_0.PickItemsSet.Add(ThisDir.Key, ThisDir.Value);
|
|
|
|
|
Form1_0.ItemsAlert_0.PickItemsSetDesc.Add(SetDesc[CurrI]);
|
|
|
|
|
CurrI++;
|
|
|
|
|
}
|
2024-03-30 00:16:39 -07:00
|
|
|
|
|
|
|
|
|
//Form1_0.ItemsAlert_0.PickItemsUnique = new string[AllNormal.Count];
|
|
|
|
|
//for (int i = 0; i < AllNormal.Count; i++) Form1_0.ItemsAlert_0.PickItemsUnique[i] = AllNormal[i];
|
|
|
|
|
}
|
|
|
|
|
catch
|
|
|
|
|
{
|
|
|
|
|
Form1_0.method_1("UNABLE TO LOAD 'ItemsSettings.txt' FILE!", Color.Red);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2024-04-18 18:51:45 -07:00
|
|
|
|
public void SaveItemsSettings()
|
|
|
|
|
{
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
bool DoingUnique = false;
|
|
|
|
|
bool DoingKeysRune = false;
|
|
|
|
|
bool DoingSet = false;
|
|
|
|
|
bool DoingNormal = false;
|
|
|
|
|
|
|
|
|
|
AllLines = File.ReadAllLines(File_ItemsSettings);
|
|
|
|
|
for (int i = 0; i < AllLines.Length; i++)
|
|
|
|
|
{
|
|
|
|
|
if (AllLines[i].Length > 0)
|
|
|
|
|
{
|
|
|
|
|
if (AllLines[i][2] != '#')
|
|
|
|
|
{
|
|
|
|
|
string ThisItem = AllLines[i];
|
|
|
|
|
bool PickItem = true;
|
|
|
|
|
string ThisDesc = "";
|
|
|
|
|
if (AllLines[i][0] == '/')
|
|
|
|
|
{
|
|
|
|
|
PickItem = false;
|
|
|
|
|
ThisItem = AllLines[i].Substring(2);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (ThisItem.Contains("/"))
|
|
|
|
|
{
|
|
|
|
|
ThisDesc = ThisItem.Substring(ThisItem.IndexOf('/'));
|
|
|
|
|
ThisItem = ThisItem.Substring(0, ThisItem.IndexOf('/')); //remove description '//'
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (DoingUnique)
|
|
|
|
|
{
|
|
|
|
|
foreach (var ThisDir in Form1_0.ItemsAlert_0.PickItemsUnique)
|
|
|
|
|
{
|
|
|
|
|
if (ThisDir.Key == ThisItem)
|
|
|
|
|
{
|
|
|
|
|
if (!PickItem && ThisDir.Value) AllLines[i] = ThisItem + ThisDesc;
|
|
|
|
|
if (PickItem && !ThisDir.Value) AllLines[i] = "//" + ThisItem + ThisDesc;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (DoingKeysRune)
|
|
|
|
|
{
|
|
|
|
|
foreach (var ThisDir in Form1_0.ItemsAlert_0.PickItemsRunesKeyGems)
|
|
|
|
|
{
|
|
|
|
|
if (ThisDir.Key == ThisItem)
|
|
|
|
|
{
|
|
|
|
|
if (!PickItem && ThisDir.Value) AllLines[i] = ThisItem + ThisDesc;
|
|
|
|
|
if (PickItem && !ThisDir.Value) AllLines[i] = "//" + ThisItem + ThisDesc;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (DoingSet)
|
|
|
|
|
{
|
|
|
|
|
foreach (var ThisDir in Form1_0.ItemsAlert_0.PickItemsSet)
|
|
|
|
|
{
|
|
|
|
|
if (ThisDir.Key == ThisItem)
|
|
|
|
|
{
|
|
|
|
|
if (!PickItem && ThisDir.Value) AllLines[i] = ThisItem + ThisDesc;
|
|
|
|
|
if (PickItem && !ThisDir.Value) AllLines[i] = "//" + ThisItem + ThisDesc;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (DoingNormal)
|
|
|
|
|
{
|
|
|
|
|
/*foreach (var ThisDir in Form1_0.ItemsAlert_0.PickItemsSet)
|
|
|
|
|
{
|
|
|
|
|
if (ThisDir.Key == ThisItem)
|
|
|
|
|
{
|
|
|
|
|
if (!PickItem && ThisDir.Value) AllLines[i] = ThisItem + ThisDesc;
|
|
|
|
|
if (PickItem && !ThisDir.Value) AllLines[i] = "//" + ThisItem + ThisDesc;
|
|
|
|
|
}
|
|
|
|
|
}*/
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (AllLines[i].Contains("UNIQUE ITEMS"))
|
|
|
|
|
{
|
|
|
|
|
DoingUnique = true;
|
|
|
|
|
DoingKeysRune = false;
|
|
|
|
|
DoingSet = false;
|
|
|
|
|
DoingNormal = false;
|
|
|
|
|
}
|
|
|
|
|
if (AllLines[i].Contains("KEYS/GEMS/RUNES ITEMS"))
|
|
|
|
|
{
|
|
|
|
|
DoingUnique = false;
|
|
|
|
|
DoingKeysRune = true;
|
|
|
|
|
DoingSet = false;
|
|
|
|
|
DoingNormal = false;
|
|
|
|
|
}
|
|
|
|
|
if (AllLines[i].Contains("SET ITEMS"))
|
|
|
|
|
{
|
|
|
|
|
DoingUnique = false;
|
|
|
|
|
DoingKeysRune = false;
|
|
|
|
|
DoingSet = true;
|
|
|
|
|
DoingNormal = false;
|
|
|
|
|
}
|
|
|
|
|
if (AllLines[i].Contains("NORMAL ITEMS"))
|
|
|
|
|
{
|
|
|
|
|
DoingUnique = false;
|
|
|
|
|
DoingKeysRune = false;
|
|
|
|
|
DoingSet = false;
|
|
|
|
|
DoingNormal = true;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
File.WriteAllLines(File_ItemsSettings, AllLines);
|
|
|
|
|
}
|
|
|
|
|
catch
|
|
|
|
|
{
|
|
|
|
|
Form1_0.method_1("UNABLE TO LOAD 'ItemsSettings.txt' FILE!", Color.Red);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2024-03-30 00:16:39 -07:00
|
|
|
|
public void LoadBotSettings()
|
|
|
|
|
{
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
for (int i = 0; i < AllLines.Length; i++)
|
|
|
|
|
{
|
|
|
|
|
if (AllLines[i].Length > 0)
|
|
|
|
|
{
|
|
|
|
|
if (AllLines[i][0] != '/' && AllLines[i][0] != '#')
|
|
|
|
|
{
|
|
|
|
|
if (AllLines[i].Contains("="))
|
|
|
|
|
{
|
|
|
|
|
string[] Params = AllLines[i].Split('=');
|
|
|
|
|
|
|
|
|
|
if (Params[0].Contains("MaxGameTime"))
|
|
|
|
|
{
|
|
|
|
|
CharConfig.MaxGameTime = int.Parse(Params[1]);
|
|
|
|
|
}
|
|
|
|
|
if (Params[0].Contains("IsRushing"))
|
|
|
|
|
{
|
|
|
|
|
CharConfig.IsRushing = bool.Parse(Params[1].ToLower());
|
|
|
|
|
}
|
|
|
|
|
if (Params[0].Contains("RushLeecherName"))
|
|
|
|
|
{
|
|
|
|
|
CharConfig.RushLeecherName = Params[1];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (Params[0].Contains("RunDarkWoodRush"))
|
|
|
|
|
{
|
|
|
|
|
CharConfig.RunDarkWoodRush = bool.Parse(Params[1].ToLower());
|
|
|
|
|
}
|
|
|
|
|
if (Params[0].Contains("RunTristramRush"))
|
|
|
|
|
{
|
|
|
|
|
CharConfig.RunTristramRush = bool.Parse(Params[1].ToLower());
|
|
|
|
|
}
|
|
|
|
|
if (Params[0].Contains("RunAndarielRush"))
|
|
|
|
|
{
|
|
|
|
|
CharConfig.RunAndarielRush = bool.Parse(Params[1].ToLower());
|
|
|
|
|
}
|
|
|
|
|
if (Params[0].Contains("RunRadamentRush"))
|
|
|
|
|
{
|
|
|
|
|
CharConfig.RunRadamentRush = bool.Parse(Params[1].ToLower());
|
|
|
|
|
}
|
|
|
|
|
if (Params[0].Contains("RunHallOfDeadRush"))
|
|
|
|
|
{
|
|
|
|
|
CharConfig.RunHallOfDeadRush = bool.Parse(Params[1].ToLower());
|
|
|
|
|
}
|
|
|
|
|
if (Params[0].Contains("RunFarOasisRush"))
|
|
|
|
|
{
|
|
|
|
|
CharConfig.RunFarOasisRush = bool.Parse(Params[1].ToLower());
|
|
|
|
|
}
|
|
|
|
|
if (Params[0].Contains("RunLostCityRush"))
|
|
|
|
|
{
|
|
|
|
|
CharConfig.RunLostCityRush = bool.Parse(Params[1].ToLower());
|
|
|
|
|
}
|
|
|
|
|
if (Params[0].Contains("RunSummonerRush"))
|
|
|
|
|
{
|
|
|
|
|
CharConfig.RunSummonerRush = bool.Parse(Params[1].ToLower());
|
|
|
|
|
}
|
|
|
|
|
if (Params[0].Contains("RunDurielRush"))
|
|
|
|
|
{
|
|
|
|
|
CharConfig.RunDurielRush = bool.Parse(Params[1].ToLower());
|
|
|
|
|
}
|
|
|
|
|
if (Params[0].Contains("RunKahlimEyeRush"))
|
|
|
|
|
{
|
|
|
|
|
CharConfig.RunKahlimEyeRush = bool.Parse(Params[1].ToLower());
|
|
|
|
|
}
|
|
|
|
|
if (Params[0].Contains("RunKahlimBrainRush"))
|
|
|
|
|
{
|
|
|
|
|
CharConfig.RunKahlimBrainRush = bool.Parse(Params[1].ToLower());
|
|
|
|
|
}
|
|
|
|
|
if (Params[0].Contains("RunKahlimHeartRush"))
|
|
|
|
|
{
|
|
|
|
|
CharConfig.RunKahlimHeartRush = bool.Parse(Params[1].ToLower());
|
|
|
|
|
}
|
|
|
|
|
if (Params[0].Contains("RunTravincalRush"))
|
|
|
|
|
{
|
|
|
|
|
CharConfig.RunTravincalRush = bool.Parse(Params[1].ToLower());
|
|
|
|
|
}
|
|
|
|
|
if (Params[0].Contains("RunMephistoRush"))
|
|
|
|
|
{
|
|
|
|
|
CharConfig.RunMephistoRush = bool.Parse(Params[1].ToLower());
|
|
|
|
|
}
|
2024-04-05 21:50:39 -07:00
|
|
|
|
if (Params[0].Contains("RunChaosRush"))
|
|
|
|
|
{
|
|
|
|
|
CharConfig.RunChaosRush = bool.Parse(Params[1].ToLower());
|
|
|
|
|
}
|
|
|
|
|
if (Params[0].Contains("RunAncientsRush"))
|
|
|
|
|
{
|
|
|
|
|
CharConfig.RunAncientsRush = bool.Parse(Params[1].ToLower());
|
|
|
|
|
}
|
|
|
|
|
if (Params[0].Contains("RunBaalRush"))
|
|
|
|
|
{
|
|
|
|
|
CharConfig.RunBaalRush = bool.Parse(Params[1].ToLower());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//##########
|
|
|
|
|
if (Params[0].Contains("ShowOverlay"))
|
|
|
|
|
{
|
|
|
|
|
CharConfig.ShowOverlay = bool.Parse(Params[1].ToLower());
|
|
|
|
|
}
|
|
|
|
|
//##########
|
2024-03-30 00:16:39 -07:00
|
|
|
|
|
2024-04-05 21:50:39 -07:00
|
|
|
|
if (Params[0].Contains("RunWPTaker"))
|
|
|
|
|
{
|
|
|
|
|
CharConfig.RunWPTaker = bool.Parse(Params[1].ToLower());
|
|
|
|
|
}
|
2024-03-30 00:16:39 -07:00
|
|
|
|
if (Params[0].Contains("RunPindleskinScript"))
|
|
|
|
|
{
|
|
|
|
|
CharConfig.RunPindleskinScript = bool.Parse(Params[1].ToLower());
|
|
|
|
|
}
|
|
|
|
|
if (Params[0].Contains("RunDurielScript"))
|
|
|
|
|
{
|
|
|
|
|
CharConfig.RunDurielScript = bool.Parse(Params[1].ToLower());
|
|
|
|
|
}
|
|
|
|
|
if (Params[0].Contains("RunSummonerScript"))
|
|
|
|
|
{
|
|
|
|
|
CharConfig.RunSummonerScript = bool.Parse(Params[1].ToLower());
|
|
|
|
|
}
|
|
|
|
|
if (Params[0].Contains("RunMephistoScript"))
|
|
|
|
|
{
|
|
|
|
|
CharConfig.RunMephistoScript = bool.Parse(Params[1].ToLower());
|
|
|
|
|
}
|
|
|
|
|
if (Params[0].Contains("RunAndarielScript"))
|
|
|
|
|
{
|
|
|
|
|
CharConfig.RunAndarielScript = bool.Parse(Params[1].ToLower());
|
|
|
|
|
}
|
|
|
|
|
if (Params[0].Contains("RunChaosScript"))
|
|
|
|
|
{
|
|
|
|
|
CharConfig.RunChaosScript = bool.Parse(Params[1].ToLower());
|
|
|
|
|
}
|
2024-04-05 21:50:39 -07:00
|
|
|
|
if (Params[0].Contains("RunChaosLeechScript"))
|
|
|
|
|
{
|
|
|
|
|
CharConfig.RunChaosLeechScript = bool.Parse(Params[1].ToLower());
|
|
|
|
|
}
|
2024-03-30 00:16:39 -07:00
|
|
|
|
if (Params[0].Contains("RunCountessScript"))
|
|
|
|
|
{
|
|
|
|
|
CharConfig.RunCountessScript = bool.Parse(Params[1].ToLower());
|
|
|
|
|
}
|
|
|
|
|
if (Params[0].Contains("RunLowerKurastScript"))
|
|
|
|
|
{
|
|
|
|
|
CharConfig.RunLowerKurastScript = bool.Parse(Params[1].ToLower());
|
|
|
|
|
}
|
2024-04-05 21:50:39 -07:00
|
|
|
|
if (Params[0].Contains("RunBaalScript"))
|
|
|
|
|
{
|
|
|
|
|
CharConfig.RunBaalScript = bool.Parse(Params[1].ToLower());
|
|
|
|
|
}
|
2024-03-30 00:16:39 -07:00
|
|
|
|
if (Params[0].Contains("RunBaalLeechScript"))
|
|
|
|
|
{
|
|
|
|
|
CharConfig.RunBaalLeechScript = bool.Parse(Params[1].ToLower());
|
|
|
|
|
}
|
2024-04-05 21:50:39 -07:00
|
|
|
|
if (Params[0].Contains("RunCowsScript"))
|
|
|
|
|
{
|
|
|
|
|
CharConfig.RunCowsScript = bool.Parse(Params[1].ToLower());
|
|
|
|
|
}
|
|
|
|
|
if (Params[0].Contains("RunEldritchScript"))
|
|
|
|
|
{
|
|
|
|
|
CharConfig.RunEldritchScript = bool.Parse(Params[1].ToLower());
|
|
|
|
|
}
|
|
|
|
|
if (Params[0].Contains("RunShenkScript"))
|
|
|
|
|
{
|
|
|
|
|
CharConfig.RunShenkScript = bool.Parse(Params[1].ToLower());
|
|
|
|
|
}
|
|
|
|
|
if (Params[0].Contains("RunNihlatakScript"))
|
|
|
|
|
{
|
|
|
|
|
CharConfig.RunNihlatakScript = bool.Parse(Params[1].ToLower());
|
|
|
|
|
}
|
|
|
|
|
//########
|
|
|
|
|
|
2024-03-30 00:16:39 -07:00
|
|
|
|
if (Params[0].Contains("RunItemGrabScriptOnly"))
|
|
|
|
|
{
|
|
|
|
|
CharConfig.RunItemGrabScriptOnly = bool.Parse(Params[1].ToLower());
|
|
|
|
|
}
|
|
|
|
|
if (Params[0].Contains("RunChaosSearchGameScript"))
|
|
|
|
|
{
|
|
|
|
|
CharConfig.RunChaosSearchGameScript = bool.Parse(Params[1].ToLower());
|
|
|
|
|
}
|
|
|
|
|
if (Params[0].Contains("RunBaalSearchGameScript"))
|
|
|
|
|
{
|
|
|
|
|
CharConfig.RunBaalSearchGameScript = bool.Parse(Params[1].ToLower());
|
|
|
|
|
}
|
|
|
|
|
if (Params[0].Contains("RunGameMakerScript"))
|
|
|
|
|
{
|
|
|
|
|
CharConfig.RunGameMakerScript = bool.Parse(Params[1].ToLower());
|
|
|
|
|
}
|
|
|
|
|
if (Params[0].Contains("GameName"))
|
|
|
|
|
{
|
|
|
|
|
CharConfig.GameName = Params[1];
|
|
|
|
|
}
|
|
|
|
|
if (Params[0].Contains("GamePass"))
|
|
|
|
|
{
|
|
|
|
|
CharConfig.GamePass = Params[1];
|
|
|
|
|
}
|
|
|
|
|
if (Params[0].Contains("GameDifficulty"))
|
|
|
|
|
{
|
|
|
|
|
CharConfig.GameDifficulty = int.Parse(Params[1]);
|
|
|
|
|
}
|
|
|
|
|
//#####
|
|
|
|
|
if (Params[0].Contains("StartStopKey"))
|
|
|
|
|
{
|
|
|
|
|
CharConfig.StartStopKey = int.Parse(Params[1]);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
catch
|
|
|
|
|
{
|
|
|
|
|
Form1_0.method_1("UNABLE TO LOAD 'BotSettings.txt' FILE!", Color.Red);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void LoadCubingSettings()
|
|
|
|
|
{
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
for (int i = 0; i < AllLines.Length; i++)
|
|
|
|
|
{
|
|
|
|
|
if (AllLines[i].Length > 0)
|
|
|
|
|
{
|
|
|
|
|
if (AllLines[i][0] != '/' && AllLines[i][0] != '#')
|
|
|
|
|
{
|
|
|
|
|
if (AllLines[i].Contains("="))
|
|
|
|
|
{
|
|
|
|
|
Form1_0.Cubing_0.CubingRecipes.Add(AllLines[i]);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
catch
|
|
|
|
|
{
|
|
|
|
|
Form1_0.method_1("UNABLE TO LOAD 'CubingRecipes.txt' FILE!", Color.Red);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2024-04-05 21:50:39 -07:00
|
|
|
|
public void SaveCurrentCharSettings()
|
|
|
|
|
{
|
|
|
|
|
string[] AllLines = File.ReadAllLines(File_CharSettings);
|
|
|
|
|
|
|
|
|
|
for (int i = 0; i < AllLines.Length; i++)
|
|
|
|
|
{
|
|
|
|
|
if (AllLines[i].Contains("="))
|
|
|
|
|
{
|
|
|
|
|
string[] Splitted = AllLines[i].Split('=');
|
|
|
|
|
if (Splitted[0] == "RunOnChar") AllLines[i] = "RunOnChar=" + CharConfig.RunningOnChar;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
File.Create(File_CharSettings).Dispose();
|
|
|
|
|
File.WriteAllLines(File_CharSettings, AllLines);
|
|
|
|
|
}
|
|
|
|
|
|
2024-03-30 00:16:39 -07:00
|
|
|
|
public void LoadCharSettings()
|
|
|
|
|
{
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
for (int i = 0; i < AllLines.Length; i++)
|
|
|
|
|
{
|
|
|
|
|
if (AllLines[i].Length > 0)
|
|
|
|
|
{
|
|
|
|
|
if (AllLines[i][0] != '/' && AllLines[i][0] != '#')
|
|
|
|
|
{
|
|
|
|
|
if (AllLines[i].Contains("="))
|
|
|
|
|
{
|
|
|
|
|
string[] Params = AllLines[i].Split('=');
|
|
|
|
|
|
|
|
|
|
if (Params[0].Contains("RunOnChar"))
|
|
|
|
|
{
|
|
|
|
|
CharConfig.RunningOnChar = Params[1];
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
catch
|
|
|
|
|
{
|
|
|
|
|
Form1_0.method_1("UNABLE TO LOAD 'CharSettings.txt' FILE!", Color.Red);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void LoadCurrentCharSettings()
|
|
|
|
|
{
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
for (int i = 0; i < AllLines.Length; i++)
|
|
|
|
|
{
|
|
|
|
|
if (AllLines[i].Length > 0)
|
|
|
|
|
{
|
|
|
|
|
if (AllLines[i][0] != '/' && AllLines[i][0] != '#')
|
|
|
|
|
{
|
|
|
|
|
if (AllLines[i].Contains("="))
|
|
|
|
|
{
|
|
|
|
|
string[] Params = AllLines[i].Split('=');
|
|
|
|
|
|
|
|
|
|
if (Params[0].Contains("KeySkillAttack"))
|
|
|
|
|
{
|
|
|
|
|
Enum.TryParse(Params[1], out CharConfig.KeySkillAttack);
|
|
|
|
|
}
|
|
|
|
|
if (Params[0].Contains("KeySkillAura"))
|
|
|
|
|
{
|
|
|
|
|
Enum.TryParse(Params[1], out CharConfig.KeySkillAura);
|
|
|
|
|
}
|
|
|
|
|
if (Params[0].Contains("KeySkillfastMoveAtTown"))
|
|
|
|
|
{
|
|
|
|
|
Enum.TryParse(Params[1], out CharConfig.KeySkillfastMoveAtTown);
|
|
|
|
|
}
|
|
|
|
|
if (Params[0].Contains("KeySkillfastMoveOutsideTown"))
|
|
|
|
|
{
|
|
|
|
|
Enum.TryParse(Params[1], out CharConfig.KeySkillfastMoveOutsideTown);
|
|
|
|
|
}
|
|
|
|
|
if (Params[0].Contains("KeySkillDefenseAura"))
|
|
|
|
|
{
|
|
|
|
|
Enum.TryParse(Params[1], out CharConfig.KeySkillDefenseAura);
|
|
|
|
|
}
|
|
|
|
|
if (Params[0].Contains("KeySkillCastDefense"))
|
|
|
|
|
{
|
|
|
|
|
Enum.TryParse(Params[1], out CharConfig.KeySkillCastDefense);
|
|
|
|
|
}
|
|
|
|
|
if (Params[0].Contains("KeySkillLifeAura"))
|
|
|
|
|
{
|
|
|
|
|
Enum.TryParse(Params[1], out CharConfig.KeySkillLifeAura);
|
|
|
|
|
}
|
|
|
|
|
//######
|
|
|
|
|
if (Params[0].Contains("BeltPotTypeToHave") && Params[1].Contains(","))
|
|
|
|
|
{
|
|
|
|
|
string[] NewParams = Params[1].Split(',');
|
|
|
|
|
if (NewParams.Length >= 4)
|
|
|
|
|
{
|
|
|
|
|
CharConfig.BeltPotTypeToHave = new int[4] { int.Parse(NewParams[0]),
|
|
|
|
|
int.Parse(NewParams[1]),
|
|
|
|
|
int.Parse(NewParams[2]),
|
|
|
|
|
int.Parse(NewParams[3]) };
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (Params[0].Contains("InventoryDontCheckItem"))
|
|
|
|
|
{
|
|
|
|
|
string[] NewParams1 = AllLines[i + 2].Split(',');
|
|
|
|
|
string[] NewParams2 = AllLines[i + 3].Split(',');
|
|
|
|
|
string[] NewParams3 = AllLines[i + 4].Split(',');
|
|
|
|
|
string[] NewParams4 = AllLines[i + 5].Split(',');
|
|
|
|
|
|
|
|
|
|
if (NewParams1.Length >= 10 && NewParams2.Length >= 10 && NewParams3.Length >= 10 && NewParams4.Length >= 10)
|
|
|
|
|
{
|
|
|
|
|
CharConfig.InventoryDontCheckItem = new int[40];
|
|
|
|
|
for (int k = 0; k < 10; k++)
|
|
|
|
|
{
|
|
|
|
|
CharConfig.InventoryDontCheckItem[k] = int.Parse(NewParams1[k]);
|
|
|
|
|
}
|
|
|
|
|
for (int k = 0; k < 10; k++)
|
|
|
|
|
{
|
|
|
|
|
CharConfig.InventoryDontCheckItem[k + 10] = int.Parse(NewParams2[k]);
|
|
|
|
|
}
|
|
|
|
|
for (int k = 0; k < 10; k++)
|
|
|
|
|
{
|
|
|
|
|
CharConfig.InventoryDontCheckItem[k + 20] = int.Parse(NewParams3[k]);
|
|
|
|
|
}
|
|
|
|
|
for (int k = 0; k < 10; k++)
|
|
|
|
|
{
|
|
|
|
|
CharConfig.InventoryDontCheckItem[k + 30] = int.Parse(NewParams4[k]);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//#####
|
|
|
|
|
if (Params[0].Contains("DummyItemSharedStash1"))
|
|
|
|
|
{
|
|
|
|
|
CharConfig.DummyItemSharedStash1 = Params[1];
|
|
|
|
|
}
|
|
|
|
|
if (Params[0].Contains("DummyItemSharedStash2"))
|
|
|
|
|
{
|
|
|
|
|
CharConfig.DummyItemSharedStash2 = Params[1];
|
|
|
|
|
}
|
|
|
|
|
if (Params[0].Contains("DummyItemSharedStash3"))
|
|
|
|
|
{
|
|
|
|
|
CharConfig.DummyItemSharedStash3 = Params[1];
|
|
|
|
|
}
|
|
|
|
|
//#####
|
|
|
|
|
if (Params[0].Contains("PlayerCharName"))
|
|
|
|
|
{
|
|
|
|
|
CharConfig.PlayerCharName = Params[1];
|
|
|
|
|
}
|
|
|
|
|
if (Params[0].Contains("UseTeleport"))
|
|
|
|
|
{
|
|
|
|
|
CharConfig.UseTeleport = bool.Parse(Params[1].ToLower());
|
|
|
|
|
}
|
2024-04-14 18:51:35 -07:00
|
|
|
|
if (Params[0].Contains("UseBO"))
|
|
|
|
|
{
|
|
|
|
|
CharConfig.UseBO = bool.Parse(Params[1].ToLower());
|
|
|
|
|
}
|
2024-04-18 18:51:45 -07:00
|
|
|
|
if (Params[0].Contains("IDAtShop"))
|
|
|
|
|
{
|
|
|
|
|
CharConfig.IDAtShop = bool.Parse(Params[1].ToLower());
|
|
|
|
|
}
|
|
|
|
|
if (Params[0].Contains("GrabForGold"))
|
|
|
|
|
{
|
|
|
|
|
CharConfig.GrabForGold = bool.Parse(Params[1].ToLower());
|
|
|
|
|
}
|
2024-03-30 00:16:39 -07:00
|
|
|
|
if (Params[0].Contains("ChickenHP"))
|
|
|
|
|
{
|
|
|
|
|
CharConfig.ChickenHP = int.Parse(Params[1]);
|
|
|
|
|
}
|
|
|
|
|
if (Params[0].Contains("TakeHPPotUnder") && !Params[0].Contains("MercTakeHPPotUnder"))
|
|
|
|
|
{
|
|
|
|
|
CharConfig.TakeHPPotUnder = int.Parse(Params[1]);
|
|
|
|
|
}
|
|
|
|
|
if (Params[0].Contains("TakeRVPotUnder"))
|
|
|
|
|
{
|
|
|
|
|
CharConfig.TakeRVPotUnder = int.Parse(Params[1]);
|
|
|
|
|
}
|
|
|
|
|
if (Params[0].Contains("TakeManaPotUnder"))
|
|
|
|
|
{
|
|
|
|
|
CharConfig.TakeManaPotUnder = int.Parse(Params[1]);
|
|
|
|
|
}
|
|
|
|
|
if (Params[0].Contains("GambleAboveGoldAmount"))
|
|
|
|
|
{
|
|
|
|
|
CharConfig.GambleAboveGoldAmount = int.Parse(Params[1]);
|
|
|
|
|
}
|
|
|
|
|
if (Params[0].Contains("GambleUntilGoldAmount"))
|
|
|
|
|
{
|
|
|
|
|
CharConfig.GambleUntilGoldAmount = int.Parse(Params[1]);
|
|
|
|
|
}
|
|
|
|
|
if (Params[0].Contains("PlayerAttackWithRightHand"))
|
|
|
|
|
{
|
|
|
|
|
CharConfig.PlayerAttackWithRightHand = bool.Parse(Params[1].ToLower());
|
|
|
|
|
}
|
|
|
|
|
if (Params[0].Contains("KeysLocationInInventory"))
|
|
|
|
|
{
|
|
|
|
|
//8,0
|
|
|
|
|
string KeyValue1 = Params[1].ToLower().Substring(0, Params[1].IndexOf(","));
|
|
|
|
|
string KeyValue2 = Params[1].ToLower().Substring(Params[1].IndexOf(",") + 1);
|
|
|
|
|
CharConfig.KeysLocationInInventory.Item1 = int.Parse(KeyValue1);
|
|
|
|
|
CharConfig.KeysLocationInInventory.Item2 = int.Parse(KeyValue2);
|
|
|
|
|
}
|
|
|
|
|
//#####
|
|
|
|
|
if (Params[0].Contains("UsingMerc"))
|
|
|
|
|
{
|
|
|
|
|
CharConfig.UsingMerc = bool.Parse(Params[1].ToLower());
|
|
|
|
|
}
|
|
|
|
|
if (Params[0].Contains("MercTakeHPPotUnder"))
|
|
|
|
|
{
|
|
|
|
|
CharConfig.MercTakeHPPotUnder = int.Parse(Params[1]);
|
|
|
|
|
}
|
|
|
|
|
//#####
|
|
|
|
|
|
|
|
|
|
//#####
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
catch
|
|
|
|
|
{
|
|
|
|
|
Form1_0.method_1("UNABLE TO LOAD THE SETTINGS FILE FOR CURRENT CHAR!", Color.Red);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|