Beispiel #1
0
                void ProcessLine(string line)
                {
                    if (line.Contains("custim_timer_source"))
                    {
                        int? val = ExtractSettingNumericValue(line);
                        if (val == 0) _CustomTimerSource = EnumFileSource.ProfileFolder;
                        else if (val == 1) _CustomTimerSource = EnumFileSource.PlayerFolder;
                    }
                    else if (line.Contains("exec_source"))
                    {
                        int? val = ExtractSettingNumericValue(line);
                        if (val == 0) _ExecSource = EnumFileSource.ProfileFolder;
                        else if (val == 1) _ExecSource = EnumFileSource.PlayerFolder;
                    }
                    else if (line.Contains("key_bindings_source"))
                    {
                        int? val = ExtractSettingNumericValue(line);
                        if (val == 0) _KeyBindSource = EnumFileSource.ProfileFolder;
                        else if (val == 1) _KeyBindSource = EnumFileSource.PlayerFolder;
                    }
                    else if (line.Contains("auto_run_source"))
                    {
                        int? val = ExtractSettingNumericValue(line);
                        if (val == 0) _AutoRunSource = EnumFileSource.ProfileFolder;
                        else if (val == 1) _AutoRunSource = EnumFileSource.PlayerFolder;
                    }

                    else if (line.Contains("irc_log_rotation"))
                    {
                        int? val = ExtractSettingNumericValue(line);
                        if (val == 0) _IrcLoggingType = EnumLoggingType.Never;
                        else if (val == 1) _IrcLoggingType = EnumLoggingType.OneFile;
                        else if (val == 2) _IrcLoggingType = EnumLoggingType.Monthly;
                        else if (val == 3) _IrcLoggingType = EnumLoggingType.Daily;
                    }
                    else if (line.Contains("other_log_rotation"))
                    {
                        int? val = ExtractSettingNumericValue(line);
                        if (val == 0) _OtherLoggingType = EnumLoggingType.Never;
                        else if (val == 1) _OtherLoggingType = EnumLoggingType.OneFile;
                        else if (val == 2) _OtherLoggingType = EnumLoggingType.Monthly;
                        else if (val == 3) _OtherLoggingType = EnumLoggingType.Daily;
                    }
                    else if (line.Contains("event_log_rotation"))
                    {
                        int? val = ExtractSettingNumericValue(line);
                        if (val == 0) _EventLoggingType = EnumLoggingType.Never;
                        else if (val == 1) _EventLoggingType = EnumLoggingType.OneFile;
                        else if (val == 2) _EventLoggingType = EnumLoggingType.Monthly;
                        else if (val == 3) _EventLoggingType = EnumLoggingType.Daily;
                    }
                    else if (line.Contains("skillgain_minimum"))
                    {
                        int? val = ExtractSettingNumericValue(line);
                        if (val == 0) _SkillGainRate = EnumSkillGainRate.Never;
                        else if (val == 1) _SkillGainRate = EnumSkillGainRate.PerInteger;
                        else if (val == 2) _SkillGainRate = EnumSkillGainRate.Per0_1;
                        else if (val == 3) _SkillGainRate = EnumSkillGainRate.Per0_01;
                        else if (val == 4) _SkillGainRate = EnumSkillGainRate.per0_001;
                        else if (val == 5) _SkillGainRate = EnumSkillGainRate.Always;
                    }

                    else if (line.Contains("skillgain_no_alignment"))
                    {
                        bool? val = ExtractBoolValue(line);
                        if (val == true) _NoSkillMessageOnAlignmentChange = true;
                        else if (val == false) _NoSkillMessageOnAlignmentChange = false;
                    }
                    else if (line.Contains("skillgain_no_favor"))
                    {
                        bool? val = ExtractBoolValue(line);
                        if (val == true) _NoSkillMessageOnFavorChange = true;
                        else if (val == false) _NoSkillMessageOnFavorChange = false;
                    }
                    else if (line.Contains("save_skills_on_quit"))
                    {
                        bool? val = ExtractBoolValue(line);
                        if (val == true) _SaveSkillsOnQuit = true;
                        else if (val == false) _SaveSkillsOnQuit = false;
                    }
                    else if (line.Contains("setting_timestamps"))
                    {
                        bool? val = ExtractBoolValue(line);
                        if (val == true) _TimestampMessages = true;
                        else if (val == false) _TimestampMessages = false;
                    }
                }
Beispiel #2
0
 /// <summary>
 /// Sets 'skillgain tab updates' to specified value in this config,
 /// requires that no wurm clients are running, else will abort
 /// </summary>
 /// <param name="newValue"></param>
 /// <returns></returns>
 public bool SetSkillGainRate(EnumSkillGainRate newValue)
 {
     try
     {
         if (State.WurmClientRunning == State.EnumWurmClientStatus.Running) return false;
         if (newValue == EnumSkillGainRate.Unknown) return false;
         string replacement = "skillgain_minimum=";
         if (newValue == EnumSkillGainRate.Never) replacement += "0";
         if (newValue == EnumSkillGainRate.PerInteger) replacement += "1";
         if (newValue == EnumSkillGainRate.Per0_1) replacement += "2";
         if (newValue == EnumSkillGainRate.Per0_01) replacement += "3";
         if (newValue == EnumSkillGainRate.per0_001) replacement += "4";
         if (newValue == EnumSkillGainRate.Always) replacement += "5";
         if (RewriteFile(@"skillgain_minimum=\d", replacement))
         {
             _SkillGainRate = newValue;
             return true;
         }
         else return false;
     }
     catch (Exception _e)
     {
         Logger.LogError("Error while modifying settings in wurm config file", this, _e);
         return false;
     }
 }