Пример #1
0
 private static void UpdateXml()
 {
     try
     {
         FileWatcher.EnableRaisingEvents = false;
         using (StreamWriter sw = new StreamWriter(FilePath, false, Encoding.UTF8))
         {
             sw.WriteLine("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
             sw.WriteLine("<KillNotice>");
             sw.WriteLine(string.Format("<ST Version=\"{0}\" />", Config.Version));
             sw.WriteLine("    <!-- <Weapon Name=\"\" NewName=\"\" /> -->");
             sw.WriteLine();
             sw.WriteLine();
             if (Dict.Count > 0)
             {
                 foreach (KeyValuePair <string, string> kvp in Dict)
                 {
                     sw.WriteLine(string.Format("    <Weapon Name=\"{0}\" NewName=\"{1}\" />", kvp.Key, kvp.Value));
                 }
             }
             else
             {
                 List <ItemClass> _itemClassMelee  = ItemClass.GetItemsWithTag(FastTags.Parse("melee"));
                 List <ItemClass> _itemClassRanged = ItemClass.GetItemsWithTag(FastTags.Parse("ranged"));
                 for (int i = 0; i < _itemClassMelee.Count; i++)
                 {
                     ItemClass     _itemClass = _itemClassMelee[i];
                     List <string> _tags      = _itemClass.ItemTags.GetTagNames();
                     if (_itemClass.CreativeMode != EnumCreativeMode.None && _itemClass.CreativeMode != EnumCreativeMode.Dev && !_tags.Contains("ammo"))
                     {
                         sw.WriteLine(string.Format("    <Weapon Name=\"{0}\" NewName=\"{1}\" />", _itemClass.GetItemName(), _itemClass.GetLocalizedItemName() ?? _itemClass.GetItemName()));
                     }
                 }
                 for (int i = 0; i < _itemClassRanged.Count; i++)
                 {
                     ItemClass     _itemClass = _itemClassRanged[i];
                     List <string> _tags      = _itemClass.ItemTags.GetTagNames();
                     if (_itemClass.CreativeMode != EnumCreativeMode.None && _itemClass.CreativeMode != EnumCreativeMode.Dev && !_tags.Contains("ammo"))
                     {
                         sw.WriteLine(string.Format("    <Weapon Name=\"{0}\" NewName=\"{1}\" />", _itemClass.GetItemName(), _itemClass.GetLocalizedItemName() ?? _itemClass.GetItemName()));
                     }
                 }
             }
             sw.WriteLine("</KillNotice>");
             sw.Flush();
             sw.Close();
         }
     }
     catch (Exception e)
     {
         Log.Out(string.Format("[SERVERTOOLS] Error in KillNotice.UpdateXml: {0}", e.Message));
     }
     FileWatcher.EnableRaisingEvents = true;
 }
Пример #2
0
 private static void UpdateXml()
 {
     fileWatcher.EnableRaisingEvents = false;
     using (StreamWriter sw = new StreamWriter(filePath))
     {
         sw.WriteLine("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
         sw.WriteLine("<KillNotice>");
         sw.WriteLine("    <Weapons>");
         if (dict.Count > 0)
         {
             foreach (KeyValuePair <string, string> kvp in dict)
             {
                 sw.WriteLine(string.Format("        <Weapon Name=\"{0}\" NewName=\"{1}\" />", kvp.Key, kvp.Value));
             }
         }
         else
         {
             List <ItemClass> _itemClassMelee  = ItemClass.GetItemsWithTag(FastTags.Parse("melee"));
             List <ItemClass> _itemClassRanged = ItemClass.GetItemsWithTag(FastTags.Parse("ranged"));
             for (int i = 0; i < _itemClassMelee.Count; i++)
             {
                 ItemClass     _itemClass = _itemClassMelee[i];
                 List <string> _tags      = _itemClass.ItemTags.GetTagNames();
                 if (_itemClass.CreativeMode != EnumCreativeMode.None && _itemClass.CreativeMode != EnumCreativeMode.Dev && !_tags.Contains("ammo"))
                 {
                     sw.WriteLine(string.Format("        <Weapon Name=\"{0}\" NewName=\"{1}\" />", _itemClass.GetItemName(), _itemClass.GetLocalizedItemName() ?? _itemClass.GetItemName()));
                 }
             }
             for (int i = 0; i < _itemClassRanged.Count; i++)
             {
                 ItemClass     _itemClass = _itemClassRanged[i];
                 List <string> _tags      = _itemClass.ItemTags.GetTagNames();
                 if (_itemClass.CreativeMode != EnumCreativeMode.None && _itemClass.CreativeMode != EnumCreativeMode.Dev && !_tags.Contains("ammo"))
                 {
                     sw.WriteLine(string.Format("        <Weapon Name=\"{0}\" NewName=\"{1}\" />", _itemClass.GetItemName(), _itemClass.GetLocalizedItemName() ?? _itemClass.GetItemName()));
                 }
             }
         }
         sw.WriteLine("    </Weapons>");
         sw.WriteLine("</KillNotice>");
         sw.Flush();
         sw.Close();
     }
     fileWatcher.EnableRaisingEvents = true;
 }
Пример #3
0
        public static void GetCurrencyName()
        {
            List <ItemClass> itemClassCurrency = ItemClass.GetItemsWithTag(FastTags.Parse("currency"));

            if (itemClassCurrency != null && itemClassCurrency.Count > 0)
            {
                Currency_Item = itemClassCurrency[0].Name;
                Log.Out(string.Format("[SERVERTOOLS] Wallet and Bank tool set to utilize item named '{0}'", Currency_Item));
            }
            else
            {
                No_Currency      = true;
                Wallet.IsEnabled = false;
                Bank.IsEnabled   = false;
                Config.WriteXml();
                Config.LoadXml();
                Log.Out(string.Format("[SERVERTOOLS] Unable to find an item with the tag 'currency' in the item list. Wallet and Bank tool are disabled until server restart"));
            }
        }
Пример #4
0
 private static void UpgradeXml()
 {
     try
     {
         FileWatcher.EnableRaisingEvents = false;
         using (StreamWriter sw = new StreamWriter(FilePath, false, Encoding.UTF8))
         {
             sw.WriteLine("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
             sw.WriteLine("<KillNotice>");
             sw.WriteLine(string.Format("<ST Version=\"{0}\" />", Config.Version));
             sw.WriteLine("    <!-- <Weapon Name=\"\" NewName=\"\" /> -->");
             for (int i = 0; i < OldNodeList.Count; i++)
             {
                 if (OldNodeList[i].NodeType == XmlNodeType.Comment && !OldNodeList[i].OuterXml.Contains("<!-- <Weapon Name=\"\""))
                 {
                     sw.WriteLine(OldNodeList[i].OuterXml);
                 }
             }
             sw.WriteLine();
             sw.WriteLine();
             bool blank = true;
             for (int i = 0; i < OldNodeList.Count; i++)
             {
                 if (OldNodeList[i].NodeType != XmlNodeType.Comment)
                 {
                     XmlElement line = (XmlElement)OldNodeList[i];
                     if (line.HasAttributes && line.Name == "Weapon")
                     {
                         blank = false;
                         string name = "", newName = "";
                         if (line.HasAttribute("Name"))
                         {
                             name = line.GetAttribute("Name");
                         }
                         if (line.HasAttribute("NewName"))
                         {
                             newName = line.GetAttribute("NewName");
                         }
                         sw.WriteLine(string.Format("    <Weapon Name=\"{0}\" NewName=\"{1}\" />", name, newName));
                     }
                 }
             }
             if (blank)
             {
                 List <ItemClass> _itemClassMelee  = ItemClass.GetItemsWithTag(FastTags.Parse("melee"));
                 List <ItemClass> _itemClassRanged = ItemClass.GetItemsWithTag(FastTags.Parse("ranged"));
                 for (int i = 0; i < _itemClassMelee.Count; i++)
                 {
                     ItemClass     _itemClass = _itemClassMelee[i];
                     List <string> _tags      = _itemClass.ItemTags.GetTagNames();
                     if (_itemClass.CreativeMode != EnumCreativeMode.None && _itemClass.CreativeMode != EnumCreativeMode.Dev && !_tags.Contains("ammo"))
                     {
                         sw.WriteLine(string.Format("    <Weapon Name=\"{0}\" NewName=\"{1}\" />", _itemClass.GetItemName(), _itemClass.GetLocalizedItemName() ?? _itemClass.GetItemName()));
                     }
                 }
                 for (int i = 0; i < _itemClassRanged.Count; i++)
                 {
                     ItemClass     _itemClass = _itemClassRanged[i];
                     List <string> _tags      = _itemClass.ItemTags.GetTagNames();
                     if (_itemClass.CreativeMode != EnumCreativeMode.None && _itemClass.CreativeMode != EnumCreativeMode.Dev && !_tags.Contains("ammo"))
                     {
                         sw.WriteLine(string.Format("    <Weapon Name=\"{0}\" NewName=\"{1}\" />", _itemClass.GetItemName(), _itemClass.GetLocalizedItemName() ?? _itemClass.GetItemName()));
                     }
                 }
             }
             sw.WriteLine("</KillNotice>");
             sw.Flush();
             sw.Close();
         }
     }
     catch (Exception e)
     {
         Log.Out(string.Format("[SERVERTOOLS] Error in KillNotice.UpgradeXml: {0}", e.Message));
     }
     FileWatcher.EnableRaisingEvents = true;
     LoadXml();
 }