Ejemplo n.º 1
0
 public void Load()
 {
     foreach (KeyBind Inputkey in Keylist)
     {
         Inputkey.RequireAlt   = Reader.ReadByte(Inputkey.function.ToString(), "RequireAlt", Inputkey.RequireAlt);
         Inputkey.RequireShift = Reader.ReadByte(Inputkey.function.ToString(), "RequireShift", Inputkey.RequireShift);
         Inputkey.RequireTilde = Reader.ReadByte(Inputkey.function.ToString(), "RequireTilde", Inputkey.RequireTilde);
         Inputkey.RequireCtrl  = Reader.ReadByte(Inputkey.function.ToString(), "RequireCtrl", Inputkey.RequireCtrl);
         string Input = Reader.ReadString(Inputkey.function.ToString(), "RequireKey", Inputkey.Key.ToString());
         Enum.TryParse(Input, out Inputkey.Key);
     }
 }
Ejemplo n.º 2
0
 public static void Load()
 {
     EnvirPath             = Reader.ReadString("Paths", "Envir", EnvirPath);
     MapPath               = Reader.ReadString("Paths", "Maps", MapPath);
     ExportPath            = Reader.ReadString("Paths", "Export", ExportPath);
     NPCPath               = Reader.ReadString("Paths", "NPCs", NPCPath);
     QuestPath             = Reader.ReadString("Paths", "Quests", QuestPath);
     DropPath              = Reader.ReadString("Paths", "Drops", DropPath);
     DatabaseVersion       = Reader.ReadInt32("Database", "Version", DatabaseVersion);
     CustomDatabaseVersion = Reader.ReadInt32("Database", "CustomVersion", CustomDatabaseVersion);
     ToolVersion           = Reader.ReadDouble("Tool", "CurrentVersion", ToolVersion);
     DatabasePath          = Reader.ReadString("Paths", "Database", DatabasePath);
     CredxGold             = Reader.ReadInt16("Config", "CreditXGold", CredxGold);
     LoadRandomItemStats();
     LoadMines();
 }
Ejemplo n.º 3
0
        public static void ReadIni <T>(InIReader reader) where T : class, new()
        {
            Type objType = typeof(T);

            //取属性上的自定义特性
            foreach (FieldInfo fieldInfo in objType.GetFields())
            {
                object[] objAttrs = fieldInfo.GetCustomAttributes(typeof(IniAttribute), true);
                if (objAttrs.Length <= 0)
                {
                    continue;
                }

                IniAttribute attr = objAttrs[0] as IniAttribute;
                if (attr == null)
                {
                    continue;
                }

                if (Reader.FindValue(attr.Section, fieldInfo.Name) == null)
                {
                    continue;
                }

                if (fieldInfo.FieldType == typeof(bool))
                {
                    bool value = reader.ReadBoolean(attr.Section, fieldInfo.Name, false);
                    fieldInfo.SetValue(null, value);
                }
                else if (fieldInfo.FieldType == typeof(int))
                {
                    int value = reader.ReadInt32(attr.Section, fieldInfo.Name, 0);
                    fieldInfo.SetValue(null, value);
                }
                else if (fieldInfo.FieldType == typeof(string))
                {
                    string value = reader.ReadString(attr.Section, fieldInfo.Name, "");
                    fieldInfo.SetValue(null, value);
                }
            }
        }
Ejemplo n.º 4
0
 public GuildBuffInfo(InIReader reader, int i)
 {
     Id  = reader.ReadInt32("Buff-" + i.ToString(), "Id",0);
     Icon = reader.ReadInt32("Buff-" + i.ToString(), "Icon", 0);
     name = reader.ReadString("Buff-" + i.ToString(), "Name","");
     LevelRequirement = reader.ReadByte("Buff-" + i.ToString(), "LevelReq",0);
     PointsRequirement = reader.ReadByte("Buff-" + i.ToString(), "PointsReq",1);
     TimeLimit = reader.ReadInt32("Buff-" + i.ToString(), "TimeLimit",0);;
     ActivationCost = reader.ReadInt32("Buff-" + i.ToString(), "ActivationCost",0);
     BuffAc = reader.ReadByte("Buff-" + i.ToString(), "BuffAc",0);
     BuffMac = reader.ReadByte("Buff-" + i.ToString(), "BuffMAC",0);
     BuffDc = reader.ReadByte("Buff-" + i.ToString(), "BuffDc",0);
     BuffMc = reader.ReadByte("Buff-" + i.ToString(), "BuffMc",0);
     BuffSc = reader.ReadByte("Buff-" + i.ToString(), "BuffSc",0);
     BuffMaxHp = reader.ReadInt32("Buff-" + i.ToString(), "BuffMaxHp",0);
     BuffMaxMp = reader.ReadInt32("Buff-" + i.ToString(), "BuffMaxMp",0);
     BuffMineRate = reader.ReadByte("Buff-" + i.ToString(), "BuffMineRate",0);
     BuffGemRate = reader.ReadByte("Buff-" + i.ToString(), "BuffGemRate",0);
     BuffFishRate = reader.ReadByte("Buff-" + i.ToString(), "BuffFishRate",0);
     BuffExpRate = reader.ReadByte("Buff-" + i.ToString(), "BuffExpRate",0);
     BuffCraftRate = reader.ReadByte("Buff-" + i.ToString(), "BuffCraftRate",0);
     BuffSkillRate = reader.ReadByte("Buff-" + i.ToString(), "BuffSkillRate",0);
     BuffHpRegen = reader.ReadByte("Buff-" + i.ToString(), "BuffHpRegen",0);
     BuffMPRegen = reader.ReadByte("Buff-" + i.ToString(), "BuffMpRegen",0);
     BuffAttack = reader.ReadByte("Buff-" + i.ToString(), "BuffAttack",0);
     BuffDropRate = reader.ReadByte("Buff-" + i.ToString(), "BuffDropRate",0);
     BuffGoldRate = reader.ReadByte("Buff-" + i.ToString(), "BuffGoldRate",0);
 }
Ejemplo n.º 5
0
        public static void Load()
        {
            //Languahe
            GameLanguage.LoadClientLanguage(@".\Language.ini");

            if (!Directory.Exists(DataPath))
            {
                Directory.CreateDirectory(DataPath);
            }
            if (!Directory.Exists(MapPath))
            {
                Directory.CreateDirectory(MapPath);
            }
            if (!Directory.Exists(SoundPath))
            {
                Directory.CreateDirectory(SoundPath);
            }

            //Graphics
            FullScreen = Reader.ReadBoolean("Graphics", "FullScreen", FullScreen);
            Borderless = Reader.ReadBoolean("Graphics", "Borderless", Borderless);
            TopMost    = Reader.ReadBoolean("Graphics", "AlwaysOnTop", TopMost);
            FPSCap     = Reader.ReadBoolean("Graphics", "FPSCap", FPSCap);
            Resolution = Reader.ReadInt32("Graphics", "Resolution", Resolution);
            DebugMode  = Reader.ReadBoolean("Graphics", "DebugMode", DebugMode);

            //Network
            UseConfig = Reader.ReadBoolean("Network", "UseConfig", UseConfig);
            if (UseConfig)
            {
                IPAddress = Reader.ReadString("Network", "IPAddress", IPAddress);
                Port      = Reader.ReadInt32("Network", "Port", Port);
            }

            //Logs
            LogErrors = Reader.ReadBoolean("Logs", "LogErrors", LogErrors);
            LogChat   = Reader.ReadBoolean("Logs", "LogChat", LogChat);

            //Sound
            Volume       = Reader.ReadByte("Sound", "Volume", Volume);
            SoundOverLap = Reader.ReadInt32("Sound", "SoundOverLap", SoundOverLap);
            MusicVolume  = Reader.ReadByte("Sound", "Music", MusicVolume);

            //Game
            AccountID = Reader.ReadString("Game", "AccountID", AccountID);
            Password  = Reader.ReadString("Game", "Password", Password);

            SkillMode = Reader.ReadBoolean("Game", "SkillMode", SkillMode);
            SkillBar  = Reader.ReadBoolean("Game", "SkillBar", SkillBar);
            //SkillSet = Reader.ReadBoolean("Game", "SkillSet", SkillSet);
            Effect             = Reader.ReadBoolean("Game", "Effect", Effect);
            LevelEffect        = Reader.ReadBoolean("Game", "LevelEffect", Effect);
            DropView           = Reader.ReadBoolean("Game", "DropView", DropView);
            NameView           = Reader.ReadBoolean("Game", "NameView", NameView);
            HPView             = Reader.ReadBoolean("Game", "HPMPView", HPView);
            ModeView           = Reader.ReadBoolean("Game", "ModeView", ModeView);
            FontName           = Reader.ReadString("Game", "FontName", FontName);
            TransparentChat    = Reader.ReadBoolean("Game", "TransparentChat", TransparentChat);
            DisplayDamage      = Reader.ReadBoolean("Game", "DisplayDamage", DisplayDamage);
            TargetDead         = Reader.ReadBoolean("Game", "TargetDead", TargetDead);
            ExpandedBuffWindow = Reader.ReadBoolean("Game", "ExpandedBuffWindow", ExpandedBuffWindow);
            DuraView           = Reader.ReadBoolean("Game", "DuraWindow", DuraView);

            for (int i = 0; i < SkillbarLocation.Length / 2; i++)
            {
                SkillbarLocation[i, 0] = Reader.ReadInt32("Game", "Skillbar" + i.ToString() + "X", SkillbarLocation[i, 0]);
                SkillbarLocation[i, 1] = Reader.ReadInt32("Game", "Skillbar" + i.ToString() + "Y", SkillbarLocation[i, 1]);
            }

            //Chat
            ShowNormalChat  = Reader.ReadBoolean("Chat", "ShowNormalChat", ShowNormalChat);
            ShowYellChat    = Reader.ReadBoolean("Chat", "ShowYellChat", ShowYellChat);
            ShowWhisperChat = Reader.ReadBoolean("Chat", "ShowWhisperChat", ShowWhisperChat);
            ShowLoverChat   = Reader.ReadBoolean("Chat", "ShowLoverChat", ShowLoverChat);
            ShowMentorChat  = Reader.ReadBoolean("Chat", "ShowMentorChat", ShowMentorChat);
            ShowGroupChat   = Reader.ReadBoolean("Chat", "ShowGroupChat", ShowGroupChat);
            ShowGuildChat   = Reader.ReadBoolean("Chat", "ShowGuildChat", ShowGuildChat);

            //Filters
            FilterNormalChat  = Reader.ReadBoolean("Filter", "FilterNormalChat", FilterNormalChat);
            FilterWhisperChat = Reader.ReadBoolean("Filter", "FilterWhisperChat", FilterWhisperChat);
            FilterShoutChat   = Reader.ReadBoolean("Filter", "FilterShoutChat", FilterShoutChat);
            FilterSystemChat  = Reader.ReadBoolean("Filter", "FilterSystemChat", FilterSystemChat);
            FilterLoverChat   = Reader.ReadBoolean("Filter", "FilterLoverChat", FilterLoverChat);
            FilterMentorChat  = Reader.ReadBoolean("Filter", "FilterMentorChat", FilterMentorChat);
            FilterGroupChat   = Reader.ReadBoolean("Filter", "FilterGroupChat", FilterGroupChat);
            FilterGuildChat   = Reader.ReadBoolean("Filter", "FilterGuildChat", FilterGuildChat);

            //AutoPatcher
            P_Patcher        = Reader.ReadBoolean("Launcher", "Enabled", P_Patcher);
            P_Host           = Reader.ReadString("Launcher", "Host", P_Host);
            P_PatchFileName  = Reader.ReadString("Launcher", "PatchFile", P_PatchFileName);
            P_NeedLogin      = Reader.ReadBoolean("Launcher", "NeedLogin", P_NeedLogin);
            P_Login          = Reader.ReadString("Launcher", "Login", P_Login);
            P_Password       = Reader.ReadString("Launcher", "Password", P_Password);
            P_AutoStart      = Reader.ReadBoolean("Launcher", "AutoStart", P_AutoStart);
            P_ServerName     = Reader.ReadString("Launcher", "ServerName", P_ServerName);
            P_BrowserAddress = Reader.ReadString("Launcher", "Browser", P_BrowserAddress);

            if (!P_Host.EndsWith("/"))
            {
                P_Host += "/";
            }
            if (P_Host.StartsWith("www.", StringComparison.OrdinalIgnoreCase))
            {
                P_Host = P_Host.Insert(0, "http://");
            }
            if (P_BrowserAddress.StartsWith("www.", StringComparison.OrdinalIgnoreCase))
            {
                P_BrowserAddress = P_BrowserAddress.Insert(0, "http://");
            }
        }
Ejemplo n.º 6
0
        public static void LoadGuildSettings()
        {
            if (!File.Exists(ConfigPath + @".\GuildSettings.ini"))
            {
                Guild_CreationCostList.Add(new ItemVolume(){Amount = 1000000});
                Guild_CreationCostList.Add(new ItemVolume(){ItemName = "WoomaHorn",Amount = 1});
                return;
            }
            InIReader reader = new InIReader(ConfigPath + @".\GuildSettings.ini");
            Guild_RequiredLevel = reader.ReadByte("Guilds", "MinimumLevel", Guild_RequiredLevel);
            Guild_ExpRate = reader.ReadFloat("Guilds", "ExpRate", Guild_ExpRate);
            Guild_PointPerLevel = reader.ReadByte("Guilds", "PointPerLevel", Guild_PointPerLevel);
            Guild_WarTime = reader.ReadInt64("Guilds", "WarTime", Guild_WarTime);
            Guild_WarCost = reader.ReadUInt32("Guilds", "WarCost", Guild_WarCost);

            int i = 0;
            while (reader.ReadUInt32("Required-" + i.ToString(),"Amount",0) != 0)
            {
                Guild_CreationCostList.Add(new ItemVolume()
                {
                    ItemName = reader.ReadString("Required-" + i.ToString(), "ItemName", ""),
                    Amount = reader.ReadUInt32("Required-" + i.ToString(), "Amount", 0)
                }
                );
                i++;
            }
            i = 0;
            while (reader.ReadInt64("Exp", "Level-" + i.ToString(), -1) != -1)
            {
                Guild_ExperienceList.Add(reader.ReadInt64("Exp", "Level-" + i.ToString(), 0));
                i++;
            }
            i = 0;
            while (reader.ReadInt32("Cap", "Level-" + i.ToString(), -1) != -1)
            {
                Guild_MembercapList.Add(reader.ReadInt32("Cap", "Level-" + i.ToString(), 0));
                i++;
            }
            byte TotalBuffs = reader.ReadByte("Guilds", "TotalBuffs", 0);
            for (i = 0; i < TotalBuffs; i++)
            {
                Guild_BuffList.Add(new GuildBuffInfo(reader, i));
            }



        }
Ejemplo n.º 7
0
        public static void LoadMines()
        {
            if (!File.Exists(ConfigPath + @".\Mines.ini"))
            {
                MineSetList.Add(new MineSet(1));
                MineSetList.Add(new MineSet(2));
                SaveMines();
                return;
            }
            InIReader reader = new InIReader(ConfigPath + @".\Mines.ini");
            int i = 0;
            MineSet Mine;
            while (reader.ReadByte("Mine" + i.ToString(), "SpotRegenRate", 255) != 255)
            {
                Mine = new MineSet();
                Mine.Name = reader.ReadString("Mine" + i.ToString(), "Name", Mine.Name);
                Mine.SpotRegenRate = reader.ReadByte("Mine" + i.ToString(), "SpotRegenRate", Mine.SpotRegenRate);
                Mine.MaxStones = reader.ReadByte("Mine" + i.ToString(), "MaxStones", Mine.MaxStones);
                Mine.HitRate = reader.ReadByte("Mine" + i.ToString(), "HitRate", Mine.HitRate);
                Mine.DropRate = reader.ReadByte("Mine" + i.ToString(), "DropRate", Mine.DropRate);
                Mine.TotalSlots = reader.ReadByte("Mine" + i.ToString(), "TotalSlots", Mine.TotalSlots);
                int j = 0;
                while (reader.ReadByte("Mine" + i.ToString(), "D" + j.ToString() + "-MinSlot", 255) != 255)
                {
                    Mine.Drops.Add(new MineDrop()
                        {
                            ItemName = reader.ReadString("Mine" + i.ToString(), "D" + j.ToString() + "-ItemName", ""),
                            MinSlot = reader.ReadByte("Mine" + i.ToString(), "D" + j.ToString() + "-MinSlot", 255),
                            MaxSlot = reader.ReadByte("Mine" + i.ToString(), "D" + j.ToString() + "-MaxSlot", 255),
                            MinDura = reader.ReadByte("Mine" + i.ToString(), "D" + j.ToString() + "-MinDura", 255),
                            MaxDura = reader.ReadByte("Mine" + i.ToString(), "D" + j.ToString() + "-MaxDura", 255),
                            BonusChance = reader.ReadByte("Mine" + i.ToString(), "D" + j.ToString() + "-BonusChance", 255),
                            MaxBonusDura = reader.ReadByte("Mine" + i.ToString(), "D" + j.ToString() + "-MaxBonusDura", 255)
                        });
                    j++;
                }
                MineSetList.Add(Mine);
                i++;
            }

        }
Ejemplo n.º 8
0
        public static void LoadRefine()
        {
            if (!File.Exists(ConfigPath + @".\RefineSystem.ini"))
            {
                SaveRefine();
                return;
            }

            InIReader reader = new InIReader(ConfigPath + @".\RefineSystem.ini");
            OnlyRefineWeapon = reader.ReadBoolean("Config", "OnlyRefineWeapon", OnlyRefineWeapon);
            RefineBaseChance = reader.ReadByte("Config", "BaseChance", RefineBaseChance);
            RefineTime = reader.ReadInt32("Config", "Time", RefineTime);
            RefineIncrease = reader.ReadByte("Config", "StatIncrease", RefineIncrease);
            RefineCritChance = reader.ReadByte("Config", "CritChance", RefineCritChance);
            RefineCritIncrease = reader.ReadByte("Config", "CritIncrease", RefineCritIncrease);
            RefineWepStatReduce = reader.ReadByte("Config", "WepStatReducedChance", RefineWepStatReduce);
            RefineItemStatReduce = reader.ReadByte("Config", "ItemStatReducedChance", RefineItemStatReduce);
            RefineCost = reader.ReadInt32("Config", "RefineCost", RefineCost);

            RefineOreName = reader.ReadString("Ore", "OreName", RefineOreName);
        }
Ejemplo n.º 9
0
        public static void LoadFishing()
        {
            if (!File.Exists(ConfigPath + @".\FishingSystem.ini"))
            {
                SaveFishing();
                return;
            }

            InIReader reader = new InIReader(ConfigPath + @".\FishingSystem.ini");
            FishingAttempts = reader.ReadInt32("Rates", "Attempts", FishingAttempts);
            FishingSuccessStart = reader.ReadInt32("Rates", "SuccessStart", FishingSuccessStart);
            FishingSuccessMultiplier = reader.ReadInt32("Rates", "SuccessMultiplier", FishingSuccessMultiplier);
            FishingDelay = reader.ReadInt64("Rates", "Delay", FishingDelay);
            FishingMobSpawnChance = reader.ReadInt32("Rates", "MonsterSpawnChance", FishingMobSpawnChance);
            FishingMonster = reader.ReadString("Game", "Monster", FishingMonster);
        }
Ejemplo n.º 10
0
        public static void Load()
        {
            if (!Directory.Exists(DataPath))
            {
                Directory.CreateDirectory(DataPath);
            }
            if (!Directory.Exists(MapPath))
            {
                Directory.CreateDirectory(MapPath);
            }
            if (!Directory.Exists(SoundPath))
            {
                Directory.CreateDirectory(SoundPath);
            }

            //Graphics
            FullScreen     = Reader.ReadBoolean("Graphics", "FullScreen", FullScreen);
            TopMost        = Reader.ReadBoolean("Graphics", "AlwaysOnTop", TopMost);
            FPSCap         = Reader.ReadBoolean("Graphics", "FPSCap", FPSCap);
            HighResolution = Reader.ReadBoolean("Graphics", "HighResolution", HighResolution);
            DebugMode      = Reader.ReadBoolean("Graphics", "DebugMode", DebugMode);

            //Network
            UseConfig = Reader.ReadBoolean("Network", "UseConfig", UseConfig);
            if (UseConfig)
            {
                IPAddress = Reader.ReadString("Network", "IPAddress", IPAddress);
                Port      = Reader.ReadInt32("Network", "Port", Port);
            }

            //Logs
            LogErrors = Reader.ReadBoolean("Logs", "LogErrors", LogErrors);
            LogChat   = Reader.ReadBoolean("Logs", "LogChat", LogChat);

            //Sound
            Volume       = Reader.ReadByte("Sound", "Volume", Volume);
            SoundOverLap = Reader.ReadInt32("Sound", "SoundOverLap", SoundOverLap);

            //Game
            AccountID = Reader.ReadString("Game", "AccountID", AccountID);
            Password  = Reader.ReadString("Game", "Password", Password);

            SkillMode       = Reader.ReadBoolean("Game", "SkillMode", SkillMode);
            SkillBar        = Reader.ReadBoolean("Game", "SkillBar", SkillBar);
            SkillSet        = Reader.ReadBoolean("Game", "SkillSet", SkillSet);
            Effect          = Reader.ReadBoolean("Game", "Effect", Effect);
            LevelEffect     = Reader.ReadBoolean("Game", "LevelEffect", Effect);
            DropView        = Reader.ReadBoolean("Game", "DropView", DropView);
            NameView        = Reader.ReadBoolean("Game", "NameView", NameView);
            HPView          = Reader.ReadBoolean("Game", "HPMPView", HPView);
            FontName        = Reader.ReadString("Game", "FontName", FontName);
            TransparentChat = Reader.ReadBoolean("Game", "TransparentChat", TransparentChat);

            //Chat
            ShowNormalChat  = Reader.ReadBoolean("Chat", "ShowNormalChat", ShowNormalChat);
            ShowYellChat    = Reader.ReadBoolean("Chat", "ShowYellChat", ShowYellChat);
            ShowWhisperChat = Reader.ReadBoolean("Chat", "ShowWhisperChat", ShowWhisperChat);
            ShowLoverChat   = Reader.ReadBoolean("Chat", "ShowLoverChat", ShowLoverChat);
            ShowMentorChat  = Reader.ReadBoolean("Chat", "ShowMentorChat", ShowMentorChat);
            ShowGroupChat   = Reader.ReadBoolean("Chat", "ShowGroupChat", ShowGroupChat);
            ShowGuildChat   = Reader.ReadBoolean("Chat", "ShowGuildChat", ShowGuildChat);

            //Filters
            FilterNormalChat  = Reader.ReadBoolean("Filter", "FilterNormalChat", FilterNormalChat);
            FilterWhisperChat = Reader.ReadBoolean("Filter", "FilterWhisperChat", FilterWhisperChat);
            FilterShoutChat   = Reader.ReadBoolean("Filter", "FilterShoutChat", FilterShoutChat);
            FilterSystemChat  = Reader.ReadBoolean("Filter", "FilterSystemChat", FilterSystemChat);
            FilterLoverChat   = Reader.ReadBoolean("Filter", "FilterLoverChat", FilterLoverChat);
            FilterMentorChat  = Reader.ReadBoolean("Filter", "FilterMentorChat", FilterMentorChat);
            FilterGroupChat   = Reader.ReadBoolean("Filter", "FilterGroupChat", FilterGroupChat);
            FilterGuildChat   = Reader.ReadBoolean("Filter", "FilterGuildChat", FilterGuildChat);
        }
Ejemplo n.º 11
0
        public CustomAI LoadCustomAI(string mobName)
        {
            if (mobName.Length <= 0) return null;
            try
            {
                InIReader Reader = new InIReader(@".\Custom\Unique AIs\" + mobName + ".ini");
                CustomAI mobAI = new CustomAI();
                mobAI.Name = mobName;

                #region Loading the Bools
                mobAI.SetXY = Reader.ReadBoolean("Bools", "SetXY", mobAI.SetXY);
                mobAI.MapSpecific = Reader.ReadBoolean("Bools", "MapSpecific", mobAI.MapSpecific);
                mobAI.AnnounceSpawn = Reader.ReadBoolean("Bools", "AnnounceSpawn", mobAI.AnnounceSpawn);
                mobAI.AnnounceDrop = Reader.ReadBoolean("Bools", "AnnounceDrop", mobAI.AnnounceDrop);
                mobAI.AnnounceDeath = Reader.ReadBoolean("Bools", "AnnounceDeath", mobAI.AnnounceDeath);
                mobAI.UseMassAttack = Reader.ReadBoolean("Bools", "UseMassAttack", mobAI.UseMassAttack);
                mobAI.UseSpecialAttack = Reader.ReadBoolean("Bools", "UseSpecialAttack", mobAI.UseSpecialAttack);
                mobAI.UseMeleeAttack = Reader.ReadBoolean("Bools", "UseMeleeAttack", mobAI.UseMeleeAttack);
                mobAI.UseRangeAttack = Reader.ReadBoolean("Bools", "UseRangeAttack", mobAI.UseRangeAttack);
                mobAI.UseMagicAttack = Reader.ReadBoolean("Bools", "UseMagicAttack", mobAI.UseMagicAttack);
                mobAI.Target = Reader.ReadBoolean("Bools", "Target", mobAI.Target);
                mobAI.UseKillTimer = Reader.ReadBoolean("Bools", "UseKillTimer", mobAI.UseKillTimer);
                mobAI.IgnorePets = Reader.ReadBoolean("Bools", "IgnorePets", mobAI.IgnorePets);
                mobAI.DamagePetsMore = Reader.ReadBoolean("Bools", "DamagePetsMore", mobAI.DamagePetsMore);
                mobAI.CanPara = Reader.ReadBoolean("Bools", "CanPara", mobAI.CanPara);
                mobAI.CanGreen = Reader.ReadBoolean("Bools", "CanGreen", mobAI.CanGreen);
                mobAI.CanRed = Reader.ReadBoolean("Bools", "CanRed", mobAI.CanRed);
                mobAI.Spawn_Slaves = Reader.ReadBoolean("Bools", "SpawnSlaves", mobAI.Spawn_Slaves);
                #endregion

                #region Loading the Kill Timer
                if (mobAI.UseKillTimer)
                {
                    mobAI.KillTimer = Reader.ReadString("Strings", "KillTimer", mobAI.KillTimer);
                    if (mobAI.killTimer.Length > 0)
                    {
                        string[] timeString = mobAI.KillTimer.Split(' ');
                        string[] dateString = timeString[0].Split('-');
                        dateString[0] = dateString[0].Replace("(", "");
                        mobAI.LastKillDay = Convert.ToInt32(dateString[0]);
                        mobAI.LastKillMonth = Convert.ToInt32(dateString[1]);
                        mobAI.LastKillYear = Convert.ToInt32(dateString[2]);
                        dateString[1] = dateString[1].Replace("(", "");
                        dateString[1] = dateString[1].Replace(")", "");
                        string[] tempString = timeString[1].Split(':');
                        if (tempString[0].Contains("("))
                            tempString[0] = tempString[0].Replace("(", "");
                        if (tempString[1].Contains(")"))
                            tempString[1] = tempString[1].Replace(")", "");
                        mobAI.LastKillHour = Convert.ToInt32(tempString[0]);
                        mobAI.LastKillMinute = Convert.ToInt32(tempString[1]);
                    }
                    mobAI.RespawnDay = Reader.ReadInt32("Ints", "RespawnDays", mobAI.RespawnDay);
                    mobAI.RespawnMonth = Reader.ReadInt32("Ints", "RespawnMonths", mobAI.RespawnMonth);
                    mobAI.RespawnYear = Reader.ReadInt32("Ints", "RespawnYears", mobAI.RespawnYear);
                    mobAI.RespawnHour = Reader.ReadInt32("Ints", "RespawnHours", mobAI.RespawnHour);
                    mobAI.RespawnMinute = Reader.ReadInt32("Ints", "RespawnMinutes", mobAI.RespawnMinute);
                }
                #endregion

                if (mobAI.MapSpecific)
                    mobAI.MapName = Reader.ReadString("Strings", "MapName", mobAI.MapName);

                #region Loading the announcers
                if (mobAI.AnnounceSpawn)
                    mobAI.SpawnMessage = Reader.ReadString("Strings", "SpawnMessage", mobAI.SpawnMessage);

                if (mobAI.AnnounceDeath)
                    mobAI.DeadMessage = Reader.ReadString("Strings", "DeathMessage", mobAI.DeadMessage);

                if (mobAI.AnnounceDrop)
                    mobAI.ItemMessage = Reader.ReadString("Strings", "ItemMessage", mobAI.ItemMessage);
                #endregion

                if (SetXY)
                {
                    mobAI.MapX = Reader.ReadInt32("Ints", "MapX", mobAI.MapX);
                    mobAI.MapY = Reader.ReadInt32("Ints", "MapY", mobAI.MapY);
                }
                #region Loading the Attacks
                if (mobAI.UseMassAttack)
                {
                    mobAI.MassAttackEffect = Reader.ReadInt32("Ints", "MassAttackEffect", mobAI.MassAttackEffect);
                    mobAI.MassAttackDamage = Reader.ReadInt32("Damage", "MassAttackDamage", mobAI.MassAttackDamage);
                }
                if (mobAI.UseSpecialAttack)
                {
                    mobAI.SpecialAttackEffect = Reader.ReadInt32("Ints", "SpecialAttackEffect", mobAI.SpecialAttackEffect);
                    mobAI.SpecialAttackDamage = Reader.ReadInt32("Damage", "SpecialAttackDamage", mobAI.SpecialAttackDamage);
                }
                if (mobAI.UseMeleeAttack)
                {
                    mobAI.MeleeAttackEffect = Reader.ReadInt32("Ints", "MeleeAttackEffect", mobAI.MeleeAttackEffect);
                    mobAI.MeleeAttackDamage = Reader.ReadInt32("Damage", "MeleeAttackDamage", mobAI.MeleeAttackDamage);
                }
                if (mobAI.UseRangeAttack)
                {
                    mobAI.RangeAttackEffect = Reader.ReadInt32("Ints", "RangeAttackEffect", mobAI.RangeAttackEffect);
                    mobAI.RangeAttackDamage = Reader.ReadInt32("Damage", "RangeAttackDamage", mobAI.RangeAttackDamage);
                }
                if (mobAI.UseMagicAttack)
                {
                    mobAI.MagicAttackEffect = Reader.ReadInt32("Ints", "MagicAttackEffect", mobAI.MagicAttackEffect);
                    mobAI.MagicAttackDamage = Reader.ReadInt32("Damage", "MagicAttackDamage", mobAI.MagicAttackDamage);
                }
                if (mobAI.Target)
                {
                    mobAI.TargetClass = Reader.ReadInt32("Strings", "TargetClass", mobAI.TargetClass); //Default = Warrior
                    mobAI.TargetedClass = (MirClass)mobAI.TargetClass;
                    mobAI.TargetAttackDamage = Reader.ReadInt32("Damage", "TargetDamage", mobAI.TargetAttackDamage);
                }
                if (mobAI.DamagePetsMore)
                    mobAI.PetAttackDamage = Reader.ReadInt32("Damage", "PetDamage", mobAI.PetAttackDamage);
                #endregion

                #region Loading the Slaves Spawns
                if (mobAI.Spawn_Slaves)
                {
                    for (int i = 0; i < 4; i++)
                    {
                        SpawnSlaves monsters = new SpawnSlaves();
                        monsters.Name = Reader.ReadString("Slaves", "Slave" + i, monsters.Name);
                        monsters.Count = Reader.ReadInt32("Slaves", "SlaveCount" + i, monsters.Count);
                        mobAI.Slaves.Add(monsters);
                    }
                }
                #endregion

                #region Loading the Item Drops
                mobAI.ItemCount = Reader.ReadInt32("Ints", "ItemCount", mobAI.ItemCount);
                if (mobAI.ItemCount > 0)
                {
                    for (int i = 0; i < mobAI.ItemCount; i++)
                    {
                        DropItemsWithAnnounce items = new DropItemsWithAnnounce();
                        items.Name = Reader.ReadString("Items", "Item" + i, items.Name);
                        items.Chance = Reader.ReadInt32("Items", "ItemChance" + i, items.Chance);
                        mobAI.Drops.Add(items);
                    }
                }
                #endregion

                #region Loading the current location
                mobAI.CurrentMap = Reader.ReadString("States", "CurrentMap", CurrentMap);
                mobAI.CurrentX = Reader.ReadInt32("States", "CurrentX", CurrentX);
                mobAI.CurrentY = Reader.ReadInt32("States", "CurrentY", CurrentY);

                #endregion

                return mobAI;
            }
            catch
            {
                SMain.Enqueue("Error with loading config");
                return null;
            }

        }
Ejemplo n.º 12
0
        public static void Load()
        {
            if (!Directory.Exists(DataPath))
            {
                Directory.CreateDirectory(DataPath);
            }
            if (!Directory.Exists(MapPath))
            {
                Directory.CreateDirectory(MapPath);
            }
            if (!Directory.Exists(SoundPath))
            {
                Directory.CreateDirectory(SoundPath);
            }

            //Graphics
            FullScreen = Reader.ReadBoolean("Graphics", "FullScreen", FullScreen);
            TopMost    = Reader.ReadBoolean("Graphics", "AlwaysOnTop", TopMost);
            FPSCap     = Reader.ReadBoolean("Graphics", "FPSCap", FPSCap);
            Resolution = Reader.ReadInt32("Graphics", "Resolution", Resolution);
            DebugMode  = Reader.ReadBoolean("Graphics", "DebugMode", DebugMode);

            //Network
            UseConfig = Reader.ReadBoolean("Network", "UseConfig", UseConfig);
            if (UseConfig)
            {
                IPAddress = Reader.ReadString("Network", "IPAddress", IPAddress);

                /*
                 * if (IPAddress != "game.edens-elite.co.uk")
                 *  IPAddress = "game.edens-elite.co.uk";
                 */
                Port = Reader.ReadInt32("Network", "Port", Port);
            }

            //Logs
            LogErrors = Reader.ReadBoolean("Logs", "LogErrors", LogErrors);
            LogChat   = Reader.ReadBoolean("Logs", "LogChat", LogChat);

            //Sound
            Volume       = Reader.ReadByte("Sound", "Volume", Volume);
            SoundOverLap = Reader.ReadInt32("Sound", "SoundOverLap", SoundOverLap);
            MusicVolume  = Reader.ReadByte("Sound", "Music", MusicVolume);

            //Game
            AccountID = Reader.ReadString("Game", "AccountID", AccountID);
            Password  = Reader.ReadString("Game", "Password", Password);

            SkillMode       = Reader.ReadBoolean("Game", "SkillMode", SkillMode);
            SkillBar        = Reader.ReadBoolean("Game", "SkillBar", SkillBar);
            Effect          = Reader.ReadBoolean("Game", "Effect", Effect);
            LevelEffect     = Reader.ReadBoolean("Game", "LevelEffect", Effect);
            DropView        = Reader.ReadBoolean("Game", "DropView", DropView);
            NameView        = Reader.ReadBoolean("Game", "NameView", NameView);
            HPView          = Reader.ReadBoolean("Game", "HPMPView", HPView);
            FontName        = Reader.ReadString("Game", "FontName", FontName);
            TransparentChat = Reader.ReadBoolean("Game", "TransparentChat", TransparentChat);
            DisplayDamage   = Reader.ReadBoolean("Game", "DisplayDamage", DisplayDamage);
            TargetDead      = Reader.ReadBoolean("Game", "TargetDead", TargetDead);
            DuraView        = Reader.ReadBoolean("Game", "DuraWindow", DuraView);
            ServerTimeZone  = Reader.ReadString("Game", "ServerTimeZone", ServerTimeZone);
            MonsterName     = Reader.ReadBoolean("Game", "MonsterName", MonsterName); //Ice
            DropEffect      = Reader.ReadBoolean("Game", "DropEffect", DropEffect);   //Ice
            for (int i = 0; i < SkillbarLocation.Length / 2; i++)
            {
                SkillbarLocation[i, 0] = Reader.ReadInt32("Game", "Skillbar" + i.ToString() + "X", SkillbarLocation[i, 0]);
                SkillbarLocation[i, 1] = Reader.ReadInt32("Game", "Skillbar" + i.ToString() + "Y", SkillbarLocation[i, 1]);
            }

            //Chat
            ShowNormalChat  = Reader.ReadBoolean("Chat", "ShowNormalChat", ShowNormalChat);
            ShowYellChat    = Reader.ReadBoolean("Chat", "ShowYellChat", ShowYellChat);
            ShowWhisperChat = Reader.ReadBoolean("Chat", "ShowWhisperChat", ShowWhisperChat);
            ShowLoverChat   = Reader.ReadBoolean("Chat", "ShowLoverChat", ShowLoverChat);
            ShowMentorChat  = Reader.ReadBoolean("Chat", "ShowMentorChat", ShowMentorChat);
            ShowGroupChat   = Reader.ReadBoolean("Chat", "ShowGroupChat", ShowGroupChat);
            ShowGuildChat   = Reader.ReadBoolean("Chat", "ShowGuildChat", ShowGuildChat);

            //Filters
            FilterNormalChat  = Reader.ReadBoolean("Filter", "FilterNormalChat", FilterNormalChat);
            FilterWhisperChat = Reader.ReadBoolean("Filter", "FilterWhisperChat", FilterWhisperChat);
            FilterShoutChat   = Reader.ReadBoolean("Filter", "FilterShoutChat", FilterShoutChat);
            FilterSystemChat  = Reader.ReadBoolean("Filter", "FilterSystemChat", FilterSystemChat);
            FilterLoverChat   = Reader.ReadBoolean("Filter", "FilterLoverChat", FilterLoverChat);
            FilterMentorChat  = Reader.ReadBoolean("Filter", "FilterMentorChat", FilterMentorChat);
            FilterGroupChat   = Reader.ReadBoolean("Filter", "FilterGroupChat", FilterGroupChat);
            FilterGuildChat   = Reader.ReadBoolean("Filter", "FilterGuildChat", FilterGuildChat);

            //AutoPatcher
            P_Patcher        = Reader.ReadBoolean("Launcher", "Enabled", P_Patcher);
            P_Host           = Reader.ReadString("Launcher", "Host", P_Host);
            P_PatchFileName  = Reader.ReadString("Launcher", "PatchFile", P_PatchFileName);
            P_NeedLogin      = Reader.ReadBoolean("Launcher", "NeedLogin", P_NeedLogin);
            P_Login          = Reader.ReadString("Launcher", "Login", P_Login);
            P_Password       = Reader.ReadString("Launcher", "Password", P_Password);
            P_AutoStart      = Reader.ReadBoolean("Launcher", "AutoStart", P_AutoStart);
            P_ServerName     = Reader.ReadString("Launcher", "ServerName", P_ServerName);
            P_BrowserAddress = Reader.ReadString("Launcher", "Browser", P_BrowserAddress);


            if (C_WebLink.StartsWith("www.", StringComparison.OrdinalIgnoreCase))
            {
                C_WebLink = C_WebLink.Insert(0, "http://");
            }

            if (!P_Host.EndsWith("/"))
            {
                P_Host += "/";
            }
            if (P_Host.StartsWith("www.", StringComparison.OrdinalIgnoreCase))
            {
                P_Host = P_Host.Insert(0, "http://");
            }
            if (P_BrowserAddress.StartsWith("www.", StringComparison.OrdinalIgnoreCase))
            {
                P_BrowserAddress = P_BrowserAddress.Insert(0, "http://");
            }
            if (C_DonateLink.StartsWith("www.", StringComparison.OrdinalIgnoreCase))
            {
                C_DonateLink = C_DonateLink.Insert(0, "http://");
            }

            MissIndicator        = Reader.ReadBoolean("Custom", "MissIndicator", MissIndicator);
            DamageIndicator      = Reader.ReadBoolean("Custom", "DamageIndicator", DamageIndicator);
            MagicDamageIndicator = Reader.ReadBoolean("Custom", "MagicDamageIndicator", MagicDamageIndicator);
            CriticalIndicator    = Reader.ReadBoolean("Custom", "CriticalIndicator", CriticalIndicator);
            HealIndicator        = Reader.ReadBoolean("Custom", "HealIndicator", HealIndicator);
            ManaRecovIndicator   = Reader.ReadBoolean("Custom", "ManaRecovIndicator", ManaRecovIndicator);
            BossHPBar            = Reader.ReadBoolean("Custom", "BossHPBar", BossHPBar);
            MobLightEffect       = Reader.ReadBoolean("Custom", "MobLightEffect", MobLightEffect);
        }
Ejemplo n.º 13
0
        static Settings()
        {
            Main.EnqueueMessage("Loading Config file.");

            if (File.Exists(ConfigPath))
            {
                InIReader IReader = new InIReader(ConfigPath);

                //Path
                MapPath    = IReader.ReadString("Path", "MapPath", MapPath);
                LogPath    = IReader.ReadString("Path", "LogPath", LogPath);
                ClientPath = IReader.ReadString("Path", "ClientPath", ClientPath);

                //Database
                SQLServer   = IReader.ReadString("Database", "SQLServer", SQLServer);
                SQLDatabase = IReader.ReadString("Database", "SQLDatabase", SQLDatabase);
                SQLUserID   = IReader.ReadString("Database", "SQLUserID", SQLUserID);
                SQLPassword = IReader.ReadString("Database", "SQLPassword", SQLPassword);

                //Network
                IPAddress = IReader.ReadString("Network", "IPAddress", IPAddress);
                Port      = IReader.ReadInt32("Network", "Port", Port);
                TimeOut   = IReader.ReadInt64("Network", "TimeOut", TimeOut);
                MaxUser   = IReader.ReadInt32("Network", "MaxUser", MaxUser);
                ReLogTime = IReader.ReadDouble("Network", "ReLogTime", ReLogTime);

                //Security
                CheckVersion = IReader.ReadBoolean("Security", "CheckVersion", CheckVersion);

                //Permission
                AllowNewAccount      = IReader.ReadBoolean("Permission", "AllowNewAccount", AllowNewAccount);
                AllowChangePassword  = IReader.ReadBoolean("Permission", "AllowChangePassword", AllowChangePassword);
                AllowLogin           = IReader.ReadBoolean("Permission", "AllowLogin", AllowLogin);
                AllowNewCharacter    = IReader.ReadBoolean("Permission", "AllowNewCharacter", AllowNewCharacter);
                AllowDeleteCharacter = IReader.ReadBoolean("Permission", "AllowDeleteCharacter", AllowDeleteCharacter);
                AllowStartGame       = IReader.ReadBoolean("Permission", "AllowStartGame", AllowStartGame);

                //Game
                DropRange     = IReader.ReadInt32("Game", "DropRange", DropRange);
                DropStackSize = IReader.ReadInt32("Game", "DropStackSize", DropStackSize);
                ItemTimeOut   = IReader.ReadInt32("Game", "ItemTimeOut", ItemTimeOut);

                ExpRate  = IReader.ReadSingle("Game", "ExpRate", ExpRate);
                DropRate = IReader.ReadSingle("Game", "DropRate", DropRate);

                StartLevel = IReader.ReadByte("Game", "StartLevel", StartLevel);
                StartGold  = IReader.ReadInt64("Game", "StartGold", StartGold);

                if (ExpRate <= 0)
                {
                    ExpRate = 1;
                }
                if (StartLevel <= 0)
                {
                    StartLevel = 1;
                }

                Main.EnqueueMessage("Config file loaded.");
            }
            else
            {
                Main.EnqueueMessage("Config file not found, creating Config file.");
                Save();
            }
            LoadVersion();
            LoadExperienceList();
        }