|
||
|
|||||||
| Server Support on Windows Get (and give) support on general questions related to the RunUO server itself. |
![]() |
|
|
Thread Tools | Display Modes |
|
|
#1 (permalink) |
|
Newbie
|
Enclosed is a copy of debug server crash log im out of back ups as reverting each crash
any help you can offer will be greatly apprecaited enclServer Crash Report =================== RunUO Version 1.0.0, Build 36918 Operating System: Microsoft Windows NT 5.1.2600.0 .NET Framework: 1.1.4322.573 Time: 10/23/2006 8:53:21 AM Mobiles: 9887 Items: 259997 Exception: System.NullReferenceException: Object reference not set to an instance of an object. at Server.Items.Daat99Holder.Serialize(GenericWriter writer) in c:\Program Files\RunUO-1.0.0\RunUO 1.0\Scripts\!KBK Customs\Systems & Tools\Craft & Related\OWL\New\daat99 Holder.cs:line 482 at Server.World.SaveItems() at Server.World.Save(Boolean message) at Server.World.Save() at Server.Misc.AutoSave.Save() in c:\Program Files\RunUO-1.0.0\RunUO 1.0\Scripts\Misc\AutoSave.cs:line 81 at Server.Scripts.Commands.CommandHandlers.Save_OnCom mand(CommandEventArgs e) in c:\Program Files\RunUO-1.0.0\RunUO 1.0\Scripts\Commands\Handlers.cs:line 932 at Server.Commands.Handle(Mobile from, String text) at Server.Gumps.AdminGump.InvokeCommand(String ip) in c:\Program Files\RunUO-1.0.0\RunUO 1.0\Scripts\Gumps\AdminGump.cs:line 2586 at Server.Gumps.AdminGump.Shutdown(Boolean restart, Boolean save) in c:\Program Files\RunUO-1.0.0\RunUO 1.0\Scripts\Gumps\AdminGump.cs:line 2576 at Server.Gumps.AdminGump.OnResponse(NetState sender, RelayInfo info) in c:\Program Files\RunUO-1.0.0\RunUO 1.0\Scripts\Gumps\AdminGump.cs:line 1591 at Server.Network.PacketHandlers.DisplayGumpResponse( NetState state, PacketReader pvSrc) at Server.Network.MessagePump.HandleReceive(NetState ns) at Server.Network.MessagePump.Slice() at Server.Core.Main(String[] args) |
|
|
|
|
|
#2 (permalink) |
|
Master of the Internet
Join Date: Oct 2005
Age: 45
Posts: 6,283
|
Did you modify Daat90 Holder.cs? Line 482 does not coincide with a line I would expect a crash on. That doesn't necessarily mean anything, but that maybe my copy is different than yours for some reason.
__________________
Why is it that I'm never as smart as I thought I was yesterday? My vast knowledge is only surpassed by my infinite ignorance. <TheOutkastDev> i might have to hire an assassin to killl mal so that i can jump in front of the bullet and piss on him |
|
|
|
|
|
#3 (permalink) |
|
Newbie
|
Enclosed is a copy of my Daat file I dont remember changing anything in Daat at all for any reason
using System; using System.Collections; using Server; using Server.daat99; using Server.Engines.Craft; using Server.Gumps; using Server.Mobiles; using Server.Network; namespace Server.Items { public class Daat99Holder : Item { private ArrayList al_ItemList; public ArrayList ItemList{ get{ return al_ItemList; } set{ al_ItemList = value; InvalidateProperties(); } } private ArrayList al_Resources; public ArrayList Resources{ get{ return al_Resources; } set{ al_ItemList = value; InvalidateProperties(); } } private DateTime dt_NextReward; [CommandProperty( AccessLevel.Administrator )] public TimeSpan NextReward { get { TimeSpan ts = dt_NextReward - DateTime.Now; if ( ts < TimeSpan.Zero ) ts = TimeSpan.Zero; return ts; } set { try{ dt_NextReward = DateTime.Now + value; } catch{} } } private int i_ItemsCrafted; [CommandProperty( AccessLevel.Administrator )] public int ItemsCrafted{ get{ return i_ItemsCrafted; } set{ i_ItemsCrafted = value; } } [Constructable] public Daat99Holder() : base( 0x1869 ) { Name = "daat99 holder, don't [props or [move it!!! must stay in the player bank!!! use dclick"; Movable = false; Visible = false; LootType = LootType.Blessed; DefaultRecipe( this ); } public void DefaultRecipe( Daat99Holder dh ) { al_ItemList = new ArrayList(); al_Resources = new ArrayList(); for (int ii = 0; ii < RecipesLists.All.Count; ii++) al_ItemList.Add((Type)RecipesLists.All[ii]); for (int ii = 0; ii < RecipesLists.Resources.Count; ii++) al_Resources.Add(RecipesLists.Resources[ii]); int i = 0; int backup = 0; Type temp; //Tinkering if ( RecipesLists.TN1.Count > 1 ) { for (i = 0; i < 10; i++) { temp = (Type)RecipesLists.TN1[Utility.Random((int)(RecipesLists.TN1.Count))]; if ( dh.al_ItemList.Contains( temp ) ) { dh.al_ItemList.Remove( temp ); if (backup != 0) { backup = 0; break; } else backup++; } } } else if ( RecipesLists.TN1.Count == 1 && dh.al_ItemList.Contains( (Type)RecipesLists.TN1[0] ) ) dh.al_ItemList.Remove( (Type)RecipesLists.TN1[0] ); if (RecipesLists.TN2.Count > 0) { temp = (Type)RecipesLists.TN2[Utility.Random((int)(RecipesLists.TN2.Count))]; if ( dh.al_ItemList.Contains( temp ) ) dh.al_ItemList.Remove( temp ); } if (RecipesLists.TN3.Count > 0) { temp = (Type)RecipesLists.TN3[Utility.Random((int)(RecipesLists.TN3.Count))]; if ( dh.al_ItemList.Contains( temp ) ) dh.al_ItemList.Remove( temp ); } if (RecipesLists.TN4.Count > 0) { temp = (Type)RecipesLists.TN4[Utility.Random((int)(RecipesLists.TN4.Count))]; if ( dh.al_ItemList.Contains( temp ) ) dh.al_ItemList.Remove( temp ); } if (RecipesLists.TN5.Count > 0) { temp = (Type)RecipesLists.TN5[Utility.Random((int)(RecipesLists.TN5.Count))]; if ( dh.al_ItemList.Contains( temp ) ) dh.al_ItemList.Remove( temp ); } //Blacksmithy if ( RecipesLists.BS1.Count > 1 ) { for (i = 0; i < 10; i++) { temp = (Type)RecipesLists.BS1[Utility.Random((int)(RecipesLists.BS1.Count))]; if ( dh.al_ItemList.Contains( temp ) ) { dh.al_ItemList.Remove( temp ); if (backup != 0) { backup = 0; break; } else backup++; } } } else if ( RecipesLists.BS1.Count == 1 && dh.al_ItemList.Contains( (Type)RecipesLists.BS1[0] ) ) dh.al_ItemList.Remove( (Type)RecipesLists.BS1[0] ); if (RecipesLists.BS2.Count > 0) { temp = (Type)RecipesLists.BS2[Utility.Random((int)(RecipesLists.BS2.Count))]; if ( dh.al_ItemList.Contains( temp ) ) dh.al_ItemList.Remove( temp ); } if (RecipesLists.BS3.Count > 0) { temp = (Type)RecipesLists.BS3[Utility.Random((int)(RecipesLists.BS3.Count))]; if ( dh.al_ItemList.Contains( temp ) ) dh.al_ItemList.Remove( temp ); } if (RecipesLists.BS4.Count > 0) { temp = (Type)RecipesLists.BS4[Utility.Random((int)(RecipesLists.BS4.Count))]; if ( dh.al_ItemList.Contains( temp ) ) dh.al_ItemList.Remove( temp ); } if (RecipesLists.BS5.Count > 0) { temp = (Type)RecipesLists.BS5[Utility.Random((int)(RecipesLists.BS5.Count))]; if ( dh.al_ItemList.Contains( temp ) ) dh.al_ItemList.Remove( temp ); } //Tailoring if ( RecipesLists.TL1.Count > 1 ) { for (i = 0; i < 10; i++) { temp = (Type)RecipesLists.TL1[Utility.Random((int)(RecipesLists.TL1.Count))]; if ( dh.al_ItemList.Contains( temp ) ) { dh.al_ItemList.Remove( temp ); if (backup != 0) { backup = 0; break; } else backup++; } } } else if ( RecipesLists.TL1.Count == 1 && dh.al_ItemList.Contains( (Type)RecipesLists.TL1[0] ) ) dh.al_ItemList.Remove( (Type)RecipesLists.TL1[0] ); if (RecipesLists.TL2.Count > 0) { temp = (Type)RecipesLists.TL2[Utility.Random((int)(RecipesLists.TL2.Count))]; if ( dh.al_ItemList.Contains( temp ) ) dh.al_ItemList.Remove( temp ); } if (RecipesLists.TL3.Count > 0) { temp = (Type)RecipesLists.TL3[Utility.Random((int)(RecipesLists.TL3.Count))]; if ( dh.al_ItemList.Contains( temp ) ) dh.al_ItemList.Remove( temp ); } if (RecipesLists.TL4.Count > 0) { temp = (Type)RecipesLists.TL4[Utility.Random((int)(RecipesLists.TL4.Count))]; if ( dh.al_ItemList.Contains( temp ) ) dh.al_ItemList.Remove( temp ); } if (RecipesLists.TL5.Count > 0) { temp = (Type)RecipesLists.TL5[Utility.Random((int)(RecipesLists.TL5.Count))]; if ( dh.al_ItemList.Contains( temp ) ) dh.al_ItemList.Remove( temp ); } //Cooking if ( RecipesLists.CK1.Count > 1 ) { for (i = 0; i < 10; i++) { temp = (Type)RecipesLists.CK1[Utility.Random((int)(RecipesLists.CK1.Count))]; if ( dh.al_ItemList.Contains( temp ) ) { dh.al_ItemList.Remove( temp ); if (backup != 0) { backup = 0; break; } else backup++; } } } else if ( RecipesLists.CK1.Count == 1 && dh.al_ItemList.Contains( (Type)RecipesLists.CK1[0] ) ) dh.al_ItemList.Remove( (Type)RecipesLists.CK1[0] ); if (RecipesLists.CK2.Count > 0) { temp = (Type)RecipesLists.CK2[Utility.Random((int)(RecipesLists.CK2.Count))]; if ( dh.al_ItemList.Contains( temp ) ) dh.al_ItemList.Remove( temp ); } if (RecipesLists.CK3.Count > 0) { temp = (Type)RecipesLists.CK3[Utility.Random((int)(RecipesLists.CK3.Count))]; if ( dh.al_ItemList.Contains( temp ) ) dh.al_ItemList.Remove( temp ); } if (RecipesLists.CK4.Count > 0) { temp = (Type)RecipesLists.CK4[Utility.Random((int)(RecipesLists.CK4.Count))]; if ( dh.al_ItemList.Contains( temp ) ) dh.al_ItemList.Remove( temp ); } if (RecipesLists.CK5.Count > 0) { temp = (Type)RecipesLists.CK5[Utility.Random((int)(RecipesLists.CK5.Count))]; if ( dh.al_ItemList.Contains( temp ) ) dh.al_ItemList.Remove( temp ); } //Alchemy if ( RecipesLists.ACall.Count > 1 ) { for (i = 0; i < 10; i++) { temp = (Type)RecipesLists.ACall[Utility.Random((int)(RecipesLists.ACall.Count))]; if ( dh.al_ItemList.Contains( temp ) ) { dh.al_ItemList.Remove( temp ); if (backup != 0) { backup = 0; break; } else backup++; } } } //Inscription if ( RecipesLists.IN1.Count > 1 ) { for (i = 0; i < 10; i++) { temp = (Type)RecipesLists.IN1[Utility.Random((int)(RecipesLists.IN1.Count))]; if ( dh.al_ItemList.Contains( temp ) ) { dh.al_ItemList.Remove( temp ); if (backup != 0) { backup = 0; break; } else backup++; } } } else if ( RecipesLists.IN1.Count == 1 && dh.al_ItemList.Contains( (Type)RecipesLists.IN1[0] ) ) dh.al_ItemList.Remove( (Type)RecipesLists.IN1[0] ); if (RecipesLists.IN2.Count > 0) { temp = (Type)RecipesLists.IN2[Utility.Random((int)(RecipesLists.IN2.Count))]; if ( dh.al_ItemList.Contains( temp ) ) dh.al_ItemList.Remove( temp ); } if (RecipesLists.IN3.Count > 0) { temp = (Type)RecipesLists.IN3[Utility.Random((int)(RecipesLists.IN3.Count))]; if ( dh.al_ItemList.Contains( temp ) ) dh.al_ItemList.Remove( temp ); } if (RecipesLists.IN4.Count > 0) { temp = (Type)RecipesLists.IN4[Utility.Random((int)(RecipesLists.IN4.Count))]; if ( dh.al_ItemList.Contains( temp ) ) dh.al_ItemList.Remove( temp ); } if (RecipesLists.IN5.Count > 0) { temp = (Type)RecipesLists.IN5[Utility.Random((int)(RecipesLists.IN5.Count))]; if ( dh.al_ItemList.Contains( temp ) ) dh.al_ItemList.Remove( temp ); } //BowFletching if (RecipesLists.BF1.Count > 0) { temp = (Type)RecipesLists.BF1[Utility.Random((int)(RecipesLists.BF1.Count))]; if ( dh.al_ItemList.Contains( temp ) ) dh.al_ItemList.Remove( temp ); } //Carpentry if ( RecipesLists.CR1.Count > 1 ) { for (i = 0; i < 10; i++) { temp = (Type)RecipesLists.CR1[Utility.Random((int)(RecipesLists.CR1.Count))]; if ( dh.al_ItemList.Contains( temp ) ) { dh.al_ItemList.Remove( temp ); if (backup != 0) { backup = 0; break; } else backup++; } } } else if ( RecipesLists.CR1.Count == 1 && dh.al_ItemList.Contains( (Type)RecipesLists.CR1[0] ) ) dh.al_ItemList.Remove( (Type)RecipesLists.CR1[0] ); if (RecipesLists.CR2.Count > 0) { temp = (Type)RecipesLists.CR2[Utility.Random((int)(RecipesLists.CR2.Count))]; if ( dh.al_ItemList.Contains( temp ) ) dh.al_ItemList.Remove( temp ); } if (RecipesLists.CR3.Count > 0) { temp = (Type)RecipesLists.CR3[Utility.Random((int)(RecipesLists.CR3.Count))]; if ( dh.al_ItemList.Contains( temp ) ) dh.al_ItemList.Remove( temp ); } if (RecipesLists.CR4.Count > 0) { temp = (Type)RecipesLists.CR4[Utility.Random((int)(RecipesLists.CR4.Count))]; if ( dh.al_ItemList.Contains( temp ) ) dh.al_ItemList.Remove( temp ); } if (RecipesLists.CR5.Count > 0) { temp = (Type)RecipesLists.CR5[Utility.Random((int)(RecipesLists.CR5.Count))]; if ( dh.al_ItemList.Contains( temp ) ) dh.al_ItemList.Remove( temp ); } } public void GiveDedication( Mobile from, CraftSystem cs ) { Type type = al_ItemList[Utility.Random(al_ItemList.Count)] as Type; for ( int i = 0; i < al_ItemList.Count; i++ ) { if ( cs is DefTinkering ) { if ( RecipesLists.TNall.Contains( type ) ) break; } else if ( cs is DefBlacksmithy ) { if ( RecipesLists.BSall.Contains( type ) ) break; } else if ( cs is DefTailoring ) { if ( RecipesLists.TLall.Contains( type ) ) break; } else if ( cs is DefCooking ) { if ( RecipesLists.CKall.Contains( type ) ) break; } else if ( cs is DefGlassblowing ) { if ( RecipesLists.GBall.Contains( type ) ) break; } else if ( cs is DefAlchemy ) { if ( RecipesLists.ACall.Contains( type ) ) break; } else if ( cs is DefInscription ) { if ( RecipesLists.INall.Contains( type ) ) break; } else if ( cs is DefBowFletching ) { if ( RecipesLists.BFall.Contains( type ) ) break; } else if ( cs is DefMasonry ) { if ( RecipesLists.MSall.Contains( type ) ) break; } else if ( cs is DefCarpentry ) { if ( RecipesLists.CRall.Contains( type ) ) break; } else break; --i; type = al_ItemList[Utility.Random(al_ItemList.Count)] as Type; } if (type == null) return; string s_Key = type.Name, s_Temp = type.Name; int i_Break = s_Temp.IndexOfAny("ABCDEFGHIJKLMNOPQRSTUVWXYZ".ToC harArray(),1); if ( i_Break > -1 ) { s_Key = s_Temp.Substring( 0, i_Break ); s_Temp = s_Temp.Substring( i_Break ); i_Break = s_Temp.IndexOfAny("ABCDEFGHIJKLMNOPQRSTUVWXYZ".ToC harArray(),1); while ( i_Break > -1 ) { s_Key = s_Key + " " + s_Temp.Substring(0, i_Break ); s_Temp = s_Temp.Substring( i_Break ); i_Break = s_Temp.IndexOfAny("ABCDEFGHIJKLMNOPQRSTUVWXYZ".ToC harArray(),1); } if ( s_Temp != null && s_Temp != s_Key ) s_Key += " " + s_Temp; } al_ItemList.Remove(type); from.SendMessage(88, "Your dedication to crafting has paid off, you felt an inspiration and you learned how to make {0}.", s_Key ); i_ItemsCrafted -= 100; NextReward = TimeSpan.FromHours( 24.0 ); } public override void OnDoubleClick( Mobile from ) { if (from.AccessLevel == AccessLevel.Administrator) from.SendGump(new Daat99HolderGump(from, this)); } public Daat99Holder( Serial serial ) : base( serial ) { } public override void Serialize( GenericWriter writer ) { base.Serialize( writer ); writer.Write( (int) 3 ); // version //version 3, changed the holder name //version 2, remove duplicate recipes writer.Write( (TimeSpan) NextReward ); writer.Write( (int) i_ItemsCrafted ); //version 0 writer.Write( al_ItemList.Count ); for ( int i = 0; i < al_ItemList.Count; ++i ) writer.Write( (string) al_ItemList[i].ToString() ); writer.Write( al_Resources.Count ); for ( int i = 0; i < al_Resources.Count; ++i ) writer.Write( (int) al_Resources[i] ); } public override void Deserialize( GenericReader reader ) { base.Deserialize( reader ); int version = reader.ReadInt(); switch (version) { case 3: goto case 1; case 2: { Name = "daat99 holder, don't [props or [move it!!! must stay in the player bank!!! use dclick"; goto case 1; } case 1: { NextReward = reader.ReadTimeSpan(); i_ItemsCrafted = reader.ReadInt(); goto case 0; } case 0: { int lenght = reader.ReadInt(); al_ItemList = new ArrayList(); for (int i=0; i < lenght; i++) { try { if ( version < 2 ) { Type type = (Type)(ScriptCompiler.FindTypeByFullName(reader.Re adString())); if ( !al_ItemList.Contains( type ) ) al_ItemList.Add(type); } else al_ItemList.Add(ScriptCompiler.FindTypeByFullName( reader.ReadString())); } catch{} } lenght = reader.ReadInt(); al_Resources = new ArrayList(); for (int i=0; i < lenght; i++) { try { al_Resources.Add((CraftResource)reader.ReadInt()); } catch{} } break; } } } } public class Daat99HolderGump : Gump { private PlayerMobile pm_From; private Daat99Holder dh_DH; public Daat99HolderGump(Mobile from, Daat99Holder dh) : base(0, 0) { if (!(from is PlayerMobile)) return; pm_From = (PlayerMobile)from; dh_DH = dh; pm_From.CloseGump(typeof(Daat99HolderGump)); AddPage(0); AddBackground(3, 3, 365, 430, 2600); AddLabel(135, 25, 88, "Daat99 Holder"); AddLabel(30, 50, 33, "Level"); AddImage(120, 50, 2225); AddImage(150, 50, 2226); AddImage(180, 50, 2227); AddImage(210, 50, 2228); AddImage(240, 50, 2229); AddImage(270, 50, 2230); AddLabel(300, 50, 33, "All:"); AddLabel(30, 75, 64, "Tinkering:"); AddLabel(30, 100, 64, "Blacksmithy:"); AddLabel(30, 125, 64, "Tailoring:"); AddLabel(30, 150, 64, "Cooking:"); AddLabel(30, 175, 64, "Glassblowing:"); AddLabel(30, 200, 64, "Alchemy:"); AddLabel(30, 225, 64, "Inscription:"); AddLabel(30, 250, 64, "Bowfletching:"); AddLabel(30, 275, 64, "Masonry:"); AddLabel(30, 300, 64, "Carpentry:"); AddLabel(30, 325, 64, "All:"); for (int skill = 1; skill <= 11; skill++) for (int level = 1; level <= 7; level++) AddButton(90 + level*30, 50 + skill*25, 9020, 9021, level + skill*100, GumpButtonType.Reply, 0); AddLabel(30, 345, 64, "Resources:"); AddLabel(100, 345, 40, "Ore:"); AddButton(125, 345, 9020, 9021, 51, GumpButtonType.Reply, 0); AddLabel(150, 345, 40, "Wood:"); AddButton(185, 345, 9020, 9021, 52, GumpButtonType.Reply, 0); AddLabel(210, 345, 40, "Leather:"); AddButton(260, 345, 9020, 9021, 53, GumpButtonType.Reply, 0); AddLabel(285, 345, 40, "Scale:"); AddButton(320, 345, 9020, 9021, 54, GumpButtonType.Reply, 0); AddLabel( 30, 365, 30, @"Press above to add\remove items from the holder."); AddRadio( 70, 383, 9727, 9730, true, 1 ); AddLabel( 105, 385, 32, "Add"); AddButton( 145 , 385, 1214, 1213, 100, GumpButtonType.Reply, 0); AddRadio( 230, 383, 9727, 9730, false, 0 ); AddLabel( 265, 385, 32, "Remove"); } public override void OnResponse(NetState state, RelayInfo info) { Mobile from = state.Mobile; if (dh_DH == null) return; if (info.IsSwitched(1)) { switch (info.ButtonID) { case 51: { for ( int i=0; i < RecipesLists.Metal.Length; i++) if ( dh_DH.Resources.Contains(RecipesLists.Metal[i])) dh_DH.Resources.Remove((CraftResource)RecipesLists .Metal[i]); break; } case 52: { for ( int i=0; i < RecipesLists.Wood.Length; i++) if ( dh_DH.Resources.Contains(RecipesLists.Wood[i])) dh_DH.Resources.Remove((CraftResource)RecipesLists .Wood[i]); break; } case 53: { for ( int i=0; i < RecipesLists.Leather.Length; i++) if ( dh_DH.Resources.Contains(RecipesLists.Leather[i])) dh_DH.Resources.Remove((CraftResource)RecipesLists .Leather[i]); break; } case 54: { for ( int i=0; i < RecipesLists.Scales.Length; i++) if ( dh_DH.Resources.Contains(RecipesLists.Scales[i])) dh_DH.Resources.Remove((CraftResource)RecipesLists .Scales[i]); break; } case 101: { for (int i=0; i < RecipesLists.TN1.Count; i++) if ( dh_DH.ItemList.Contains( RecipesLists.TN1[i] ) ) dh_DH.ItemList.Remove((Type)RecipesLists.TN1[i]); break; } case 102: { for (int i=0; i < RecipesLists.TN2.Count; i++) if ( dh_DH.ItemList.Contains( RecipesLists.TN2[i] ) ) dh_DH.ItemList.Remove((Type)RecipesLists.TN2[i]); break; } case 103: { for (int i=0; i < RecipesLists.TN3.Count; i++) if ( dh_DH.ItemList.Contains( RecipesLists.TN3[i] ) ) dh_DH.ItemList.Remove((Type)RecipesLists.TN3[i]); break; } case 104: { for (int i=0; i < RecipesLists.TN4.Count; i++) if ( dh_DH.ItemList.Contains( RecipesLists.TN4[i] ) ) dh_DH.ItemList.Remove((Type)RecipesLists.TN4[i]); break; } case 105: { for (int i=0; i < RecipesLists.TN5.Count; i++) if ( dh_DH.ItemList.Contains( RecipesLists.TN5[i] ) ) dh_DH.ItemList.Remove((Type)RecipesLists.TN5[i]); break; } case 106: { for (int i=0; i < RecipesLists.TN6.Count; i++) if ( dh_DH.ItemList.Contains( RecipesLists.TN6[i] ) ) dh_DH.ItemList.Remove((Type)RecipesLists.TN6[i]); break; } case 107: { for (int i=0; i < RecipesLists.TNall.Count; i++) if ( dh_DH.ItemList.Contains( RecipesLists.TNall[i] ) ) dh_DH.ItemList.Remove((Type)RecipesLists.TNall[i]); break; } case 201: { for (int i=0; i < RecipesLists.BS1.Count; i++) if ( dh_DH.ItemList.Contains( RecipesLists.BS1[i] ) ) dh_DH.ItemList.Remove((Type)RecipesLists.BS1[i]); break; } case 202: { for (int i=0; i < RecipesLists.BS2.Count; i++) if ( dh_DH.ItemList.Contains( RecipesLists.BS2[i] ) ) dh_DH.ItemList.Remove((Type)RecipesLists.BS2[i]); break; } case 203: { for (int i=0; i < RecipesLists.BS3.Count; i++) if ( dh_DH.ItemList.Contains( RecipesLists.BS3[i] ) ) dh_DH.ItemList.Remove((Type)RecipesLists.BS3[i]); break; } case 204: { for (int i=0; i < RecipesLists.BS4.Count; i++) if ( dh_DH.ItemList.Contains( RecipesLists.BS4[i] ) ) dh_DH.ItemList.Remove((Type)RecipesLists.BS4[i]); break; } case 205: { for (int i=0; i < RecipesLists.BS5.Count; i++) if ( dh_DH.ItemList.Contains( RecipesLists.BS5[i] ) ) dh_DH.ItemList.Remove((Type)RecipesLists.BS5[i]); break; } case 206: { for (int i=0; i < RecipesLists.BS6.Count; i++) if ( dh_DH.ItemList.Contains( RecipesLists.BS6[i] ) ) dh_DH.ItemList.Remove((Type)RecipesLists.BS6[i]); break; } case 207: { for (int i=0; i < RecipesLists.BSall.Count; i++) if ( dh_DH.ItemList.Contains( RecipesLists.BSall[i] ) ) dh_DH.ItemList.Remove((Type)RecipesLists.BSall[i]); break; } case 301: { for (int i=0; i < RecipesLists.TL1.Count; i++) if ( dh_DH.ItemList.Contains( RecipesLists.TL1[i] ) ) dh_DH.ItemList.Remove((Type)RecipesLists.TL1[i]); break; } case 302: { for (int i=0; i < RecipesLists.TL2.Count; i++) if ( dh_DH.ItemList.Contains( RecipesLists.TL2[i] ) ) dh_DH.ItemList.Remove((Type)RecipesLists.TL2[i]); break; } case 303: { for (int i=0; i < RecipesLists.TL3.Count; i++) if ( dh_DH.ItemList.Contains( RecipesLists.TL3[i] ) ) dh_DH.ItemList.Remove((Type)RecipesLists.TL3[i]); break; } case 304: { for (int i=0; i < RecipesLists.TL4.Count; i++) if ( dh_DH.ItemList.Contains( RecipesLists.TL4[i] ) ) dh_DH.ItemList.Remove((Type)RecipesLists.TL4[i]); break; } case 305: { for (int i=0; i < RecipesLists.TL5.Count; i++) if ( dh_DH.ItemList.Contains( RecipesLists.TL5[i] ) ) dh_DH.ItemList.Remove((Type)RecipesLists.TL5[i]); break; } case 306: { for (int i=0; i < RecipesLists.TL6.Count; i++) if ( dh_DH.ItemList.Contains( RecipesLists.TL6[i] ) ) dh_DH.ItemList.Remove((Type)RecipesLists.TL6[i]); break; } case 307: { for (int i=0; i < RecipesLists.TLall.Count; i++) if ( dh_DH.ItemList.Contains( RecipesLists.TLall[i] ) ) dh_DH.ItemList.Remove((Type)RecipesLists.TLall[i]); break; } case 401: { for (int i=0; i < RecipesLists.CK1.Count; i++) if ( dh_DH.ItemList.Contains( RecipesLists.CK1[i] ) ) dh_DH.ItemList.Remove((Type)RecipesLists.CK1[i]); break; } case 402: { for (int i=0; i < RecipesLists.CK2.Count; i++) if ( dh_DH.ItemList.Contains( RecipesLists.CK2[i] ) ) dh_DH.ItemList.Remove((Type)RecipesLists.CK2[i]); break; } case 403: { for (int i=0; i < RecipesLists.CK3.Count; i++) if ( dh_DH.ItemList.Contains( RecipesLists.CK3[i] ) ) dh_DH.ItemList.Remove((Type)RecipesLists.CK3[i]); break; } case 404: { for (int i=0; i < RecipesLists.CK4.Count; i++) if ( dh_DH.ItemList.Contains( RecipesLists.CK4[i] ) ) dh_DH.ItemList.Remove((Type)RecipesLists.CK4[i]); break; } case 405: { for (int i=0; i < RecipesLists.CK5.Count; i++) if ( dh_DH.ItemList.Contains( RecipesLists.CK5[i] ) ) dh_DH.ItemList.Remove((Type)RecipesLists.CK5[i]); break; } case 406: { for (int i=0; i < RecipesLists.CK6.Count; i++) if ( dh_DH.ItemList.Contains( RecipesLists.CK6[i] ) ) dh_DH.ItemList.Remove((Type)RecipesLists.CK6[i]); break; } case 407: { for (int i=0; i < RecipesLists.CKall.Count; i++) if ( dh_DH.ItemList.Contains( RecipesLists.CKall[i] ) ) dh_DH.ItemList.Remove((Type)RecipesLists.CKall[i]); break; } case 501: { for (int i=0; i < RecipesLists.GB1.Count; i++) if ( dh_DH.ItemList.Contains( RecipesLists.GB1[i] ) ) dh_DH.ItemList.Remove((Type)RecipesLists.GB1[i]); break; } case 502: { for (int i=0; i < RecipesLists.GB2.Count; i++) if ( dh_DH.ItemList.Contains( RecipesLists.GB2[i] ) ) dh_DH.ItemList.Remove((Type)RecipesLists.GB2[i]); break; } case 503: { for (int i=0; i < RecipesLists.GB3.Count; i++) if ( dh_DH.ItemList.Contains( RecipesLists.GB3[i] ) ) dh_DH.ItemList.Remove((Type)RecipesLists.GB3[i]); break; } case 504: { for (int i=0; i < RecipesLists.GB4.Count; i++) if ( dh_DH.ItemList.Contains( RecipesLists.GB4[i] ) ) dh_DH.ItemList.Remove((Type)RecipesLists.GB4[i]); break; } case 505: { for (int i=0; i < RecipesLists.GB5.Count; i++) if ( dh_DH.ItemList.Contains( RecipesLists.GB5[i] ) ) dh_DH.ItemList.Remove((Type)RecipesLists.GB5[i]); break; } case 506: { for (int i=0; i < RecipesLists.GB6.Count; i++) if ( dh_DH.ItemList.Contains( RecipesLists.GB6[i] ) ) dh_DH.ItemList.Remove((Type)RecipesLists.GB6[i]); break; } case 507: { for (int i=0; i < RecipesLists.GBall.Count; i++) if ( dh_DH.ItemList.Contains( RecipesLists.GBall[i] ) ) dh_DH.ItemList.Remove((Type)RecipesLists.GBall[i]); break; } case 601: { for (int i=0; i < RecipesLists.AC1.Count; i++) if ( dh_DH.ItemList.Contains( RecipesLists.AC1[i] ) ) dh_DH.ItemList.Remove((Type)RecipesLists.AC1[i]); break; } case 602: { for (int i=0; i < RecipesLists.AC2.Count; i++) if ( dh_DH.ItemList.Contains( RecipesLists.AC2[i] ) ) dh_DH.ItemList.Remove((Type)RecipesLists.AC2[i]); break; } case 603: { for (int i=0; i < RecipesLists.AC3.Count; i++) if ( dh_DH.ItemList.Contains( RecipesLists.AC3[i] ) ) dh_DH.ItemList.Remove((Type)RecipesLists.AC3[i]); break; } case 604: { for (int i=0; i < RecipesLists.AC4.Count; i++) if ( dh_DH.ItemList.Contains( RecipesLists.AC4[i] ) ) dh_DH.ItemList.Remove((Type)RecipesLists.AC4[i]); break; } case 605: { for (int i=0; i < RecipesLists.AC5.Count; i++) if ( dh_DH.ItemList.Contains( RecipesLists.AC5[i] ) ) dh_DH.ItemList.Remove((Type)RecipesLists.AC5[i]); break; } case 606: { for (int i=0; i < RecipesLists.AC6.Count; i++) if ( dh_DH.ItemList.Contains( RecipesLists.AC6[i] ) ) dh_DH.ItemList.Remove((Type)RecipesLists.AC6[i]); break; } case 607: { for (int i=0; i < RecipesLists.ACall.Count; i++) if ( dh_DH.ItemList.Contains( RecipesLists.ACall[i] ) ) dh_DH.ItemList.Remove((Type)RecipesLists.ACall[i]); break; } case 701: { for (int i=0; i < RecipesLists.IN1.Count; i++) if ( dh_DH.ItemList.Contains( RecipesLists.IN1[i] ) ) dh_DH.ItemList.Remove((Type)RecipesLists.IN1[i]); break; } case 702: { for (int i=0; i < RecipesLists.IN2.Count; i++) if ( dh_DH.ItemList.Contains( RecipesLists.IN2[i] ) ) dh_DH.ItemList.Remove((Type)RecipesLists.IN2[i]); break; } case 703: { for (int i=0; i < RecipesLists.IN3.Count; i++) if ( dh_DH.ItemList.Contains( RecipesLists.IN3[i] ) ) dh_DH.ItemList.Remove((Type)RecipesLists.IN3[i]); break; } case 704: { for (int i=0; i < RecipesLists.IN4.Count; i++) if ( dh_DH.ItemList.Contains( RecipesLists.IN4[i] ) ) dh_DH.ItemList.Remove((Type)RecipesLists.IN4[i]); break; } case 705: { for (int i=0; i < RecipesLists.IN5.Count; i++) if ( dh_DH.ItemList.Contains( RecipesLists.IN5[i] ) ) dh_DH.ItemList.Remove((Type)RecipesLists.IN5[i]); break; } case 706: { for (int i=0; i < RecipesLists.IN6.Count; i++) if ( dh_DH.ItemList.Contains( RecipesLists.IN6[i] ) ) dh_DH.ItemList.Remove((Type)RecipesLists.IN6[i]); break; } case 707: { for (int i=0; i < RecipesLists.INall.Count; i++) if ( dh_DH.ItemList.Contains( RecipesLists.INall[i] ) ) dh_DH.ItemList.Remove((Type)RecipesLists.INall[i]); break; } case 801: { for (int i=0; i < RecipesLists.BF1.Count; i++) if ( dh_DH.ItemList.Contains( RecipesLists.BF1[i] ) ) dh_DH.ItemList.Remove((Type)RecipesLists.BF1[i]); break; } case 802: { for (int i=0; i < RecipesLists.BF2.Count; i++) if ( dh_DH.ItemList.Contains( RecipesLists.BF2[i] ) ) dh_DH.ItemList.Remove((Type)RecipesLists.BF2[i]); break; } case 803: { for (int i=0; i < RecipesLists.BF3.Count; i++) if ( dh_DH.ItemList.Contains( RecipesLists.BF3[i] ) ) dh_DH.ItemList.Remove((Type)RecipesLists.BF3[i]); break; } case 804: { for (int i=0; i < RecipesLists.BF4.Count; i++) if ( dh_DH.ItemList.Contains( RecipesLists.BF4[i] ) ) dh_DH.ItemList.Remove((Type)RecipesLists.BF4[i]); break; } case 805: { for (int i=0; i < RecipesLists.BF5.Count; i++) if ( dh_DH.ItemList.Contains( RecipesLists.BF5[i] ) ) dh_DH.ItemList.Remove((Type)RecipesLists.BF5[i]); break; } case 806: { for (int i=0; i < RecipesLists.BF6.Count; i++) if ( dh_DH.ItemList.Contains( RecipesLists.BF6[i] ) ) dh_DH.ItemList.Remove((Type)RecipesLists.BF6[i]); break; } case 807: { for (int i=0; i < RecipesLists.BFall.Count; i++) if ( dh_DH.ItemList.Contains( RecipesLists.BFall[i] ) ) dh_DH.ItemList.Remove((Type)RecipesLists.BFall[i]); break; } case 901: { for (int i=0; i < RecipesLists.MS1.Count; i++) if ( dh_DH.ItemList.Contains( RecipesLists.MS1[i] ) ) dh_DH.ItemList.Remove((Type)RecipesLists.MS1[i]); break; } case 902: { for (int i=0; i < RecipesLists.MS2.Count; i++) if ( dh_DH.ItemList.Contains( RecipesLists.MS2[i] ) ) dh_DH.ItemList.Remove((Type)RecipesLists.MS2[i]); break; } case 903: { for (int i=0; i < RecipesLists.MS3.Count; i++) if ( dh_DH.ItemList.Contains( RecipesLists.MS3[i] ) ) dh_DH.ItemList.Remove((Type)RecipesLists.MS3[i]); break; } case 904: { for (int i=0; i < RecipesLists.MS4.Count; i++) if ( dh_DH.ItemList.Contains( RecipesLists.MS4[i] ) ) dh_DH.ItemList.Remove((Type)RecipesLists.MS4[i]); break; } case 905: { for (int i=0; i < RecipesLists.MS5.Count; i++) if ( dh_DH.ItemList.Contains( RecipesLists.MS5[i] ) ) dh_DH.ItemList.Remove((Type)RecipesLists.MS5[i]); break; } case 906: { for (int i=0; i < RecipesLists.MS6.Count; i++) if ( dh_DH.ItemList.Contains( RecipesLists.MS6[i] ) ) dh_DH.ItemList.Remove((Type)RecipesLists.MS6[i]); break; } case 907: { for (int i=0; i < RecipesLists.MSall.Count; i++) if ( dh_DH.ItemList.Contains( RecipesLists.MSall[i] ) ) dh_DH.ItemList.Remove((Type)RecipesLists.MSall[i]); break; } case 1001: { for (int i=0; i < RecipesLists.CR1.Count; i++) if ( dh_DH.ItemList.Contains( RecipesLists.CR1[i] ) ) dh_DH.ItemList.Remove((Type)RecipesLists.CR1[i]); break; } case 1002: { for (int i=0; i < RecipesLists.CR2.Count; i++) if ( dh_DH.ItemList.Contains( RecipesLists.CR2[i] ) ) dh_DH.ItemList.Remove((Type)RecipesLists.CR2[i]); break; } case 1003: { for (int i=0; i < RecipesLists.CR3.Count; i++) if ( dh_DH.ItemList.Contains( RecipesLists.CR3[i] ) ) dh_DH.ItemList.Remove((Type)RecipesLists.CR3[i]); break; } case 1004: { for (int i=0; i < RecipesLists.CR4.Count; i++) if ( dh_DH.ItemList.Contains( RecipesLists.CR4[i] ) ) dh_DH.ItemList.Remove((Type)RecipesLists.CR4[i]); break; } case 1005: { for (int i=0; i < RecipesLists.CR5.Count; i++) if ( dh_DH.ItemList.Contains( RecipesLists.CR5[i] ) ) dh_DH.ItemList.Remove((Type)RecipesLists.CR5[i]); break; } case 1006: { for (int i=0; i < RecipesLists.CR6.Count; i++) if ( dh_DH.ItemList.Contains( RecipesLists.CR6[i] ) ) dh_DH.ItemList.Remove((Type)RecipesLists.CR6[i]); break; } case 1007: { for (int i=0; i < RecipesLists.CRall.Count; i++) if ( dh_DH.ItemList.Contains( RecipesLists.CRall[i] ) ) dh_DH.ItemList.Remove((Type)RecipesLists.CRall[i]); break; } case 1101: { for (int i=0; i < RecipesLists.Lvl1.Count; i++) if ( dh_DH.ItemList.Contains( RecipesLists.Lvl1[i] ) ) dh_DH.ItemList.Remove((Type)RecipesLists.Lvl1[i]); break; } case 1102: { for (int i=0; i < RecipesLists.Lvl2.Count; i++) if ( dh_DH.ItemList.Contains( RecipesLists.Lvl2[i] ) ) dh_DH.ItemList.Remove((Type)RecipesLists.Lvl2[i]); break; } case 1103: { for (int i=0; i < RecipesLists.Lvl3.Count; i++) if ( dh_DH.ItemList.Contains( RecipesLists.Lvl3[i] ) ) dh_DH.ItemList.Remove((Type)RecipesLists.Lvl3[i]); break; } case 1104: { for (int i=0; i < RecipesLists.Lvl4.Count; i++) if ( dh_DH.ItemList.Contains( RecipesLists.Lvl4[i] ) ) dh_DH.ItemList.Remove((Type)RecipesLists.Lvl4[i]); break; } case 1105: { for (int i=0; i < RecipesLists.Lvl5.Count; i++) if ( dh_DH.ItemList.Contains( RecipesLists.Lvl5[i] ) ) dh_DH.ItemList.Remove((Type)RecipesLists.Lvl5[i]); break; } case 1106: { for (int i=0; i < RecipesLists.Lvl6.Count; i++) if ( dh_DH.ItemList.Contains( RecipesLists.Lvl6[i] ) ) dh_DH.ItemList.Remove((Type)RecipesLists.Lvl6[i]); break; } case 1107: { for (int i=0; i < RecipesLists.All.Count; i++) if ( dh_DH.ItemList.Contains( RecipesLists.All[i] ) ) dh_DH.ItemList.Remove((Type)RecipesLists.All[i]); break; } } } else { switch (info.ButtonID) { case 51: { for ( int i=0; i < RecipesLists.Metal.Length; i++) if (!( dh_DH.Resources.Contains(RecipesLists.Metal[i]))) dh_DH.Resources.Add((CraftResource)RecipesLists.Me tal[i]); break; } case 52: { for ( int i=0; i < RecipesLists.Wood.Length; i++) if (!( dh_DH.Resources.Contains(RecipesLists.Wood[i]))) dh_DH.Resources.Add((CraftResource)RecipesLists.Wo od[i]); break; } case 53: { for ( int i=0; i < RecipesLists.Leather.Length; i++) if (!( dh_DH.Resources.Contains(RecipesLists.Leather[i]))) dh_DH.Resources.Add((CraftResource)RecipesLists.Le ather[i]); break; } case 54: { for ( int i=0; i < RecipesLists.Scales.Length; i++) if (!( dh_DH.Resources.Contains(RecipesLists.Scales[i]))) dh_DH.Resources.Add((CraftResource)RecipesLists.Sc ales[i]); break; } case 101: { for (int i=0; i < RecipesLists.TN1.Count; i++) if (!( dh_DH.ItemList.Contains( RecipesLists.TN1[i] ) )) dh_DH.ItemList.Add((Type)RecipesLists.TN1[i]); break; } case 102: { for (int i=0; i < RecipesLists.TN2.Count; i++) if (!( dh_DH.ItemList.Contains( RecipesLists.TN2[i] ) )) dh_DH.ItemList.Add((Type)RecipesLists.TN2[i]); break; } case 103: { for (int i=0; i < RecipesLists.TN3.Count; i++) if (!( dh_DH.ItemList.Contains( RecipesLists.TN3[i] ) )) dh_DH.ItemList.Add((Type)RecipesLists.TN3[i]); break; } case 104: { for (int i=0; i < RecipesLists.TN4.Count; i++) if (!( dh_DH.ItemList.Contains( RecipesLists.TN4[i] ) )) dh_DH.ItemList.Add((Type)RecipesLists.TN4[i]); break; } case 105: { for (int i=0; i < RecipesLists.TN5.Count; i++) if (!( dh_DH.ItemList.Contains( RecipesLists.TN5[i] ) )) dh_DH.ItemList.Add((Type)RecipesLists.TN5[i]); break; } case 106: { for (int i=0; i < RecipesLists.TN6.Count; i++) if (!( dh_DH.ItemList.Contains( RecipesLists.TN6[i] ) )) dh_DH.ItemList.Add((Type)RecipesLists.TN6[i]); break; } case 107: { for (int i=0; i < RecipesLists.TNall.Count; i++) if (!( dh_DH.ItemList.Contains( RecipesLists.TNall[i] ) )) dh_DH.ItemList.Add((Type)RecipesLists.TNall[i]); break; } case 201: { for (int i=0; i < RecipesLists.BS1.Count; i++) if (!( dh_DH.ItemList.Contains( RecipesLists.BS1[i] ) )) dh_DH.ItemList.Add((Type)RecipesLists.BS1[i]); break; } case 202: { for (int i=0; i < RecipesLists.BS2.Count; i++) if (!( dh_DH.ItemList.Contains( RecipesLists.BS2[i] ) )) dh_DH.ItemList.Add((Type)RecipesLists.BS2[i]); break; } case 203: { for (int i=0; i < RecipesLists.BS3.Count; i++) if (!( dh_DH.ItemList.Contains( RecipesLists.BS3[i] ) )) dh_DH.ItemList.Add((Type)RecipesLists.BS3[i]); break; } case 204: { for (int i=0; i < RecipesLists.BS4.Count; i++) if (!( dh_DH.ItemList.Contains( RecipesLists.BS4[i] ) )) dh_DH.ItemList.Add((Type)RecipesLists.BS4[i]); break; } case 205: { for (int i=0; i < RecipesLists.BS5.Count; i++) if (!( dh_DH.ItemList.Contains( RecipesLists.BS5[i] ) )) dh_DH.ItemList.Add((Type)RecipesLists.BS5[i]); break; } case 206: { for (int i=0; i < RecipesLists.BS6.Count; i++) if (!( dh_DH.ItemList.Contains( RecipesLists.BS6[i] ) )) dh_DH.ItemList.Add((Type)RecipesLists.BS6[i]); break; } case 207: { for (int i=0; i < RecipesLists.BSall.Count; i++) if (!( dh_DH.ItemList.Contains( RecipesLists.BSall[i] ) )) dh_DH.ItemList.Add((Type)RecipesLists.BSall[i]); break; } case 301: { for (int i=0; i < RecipesLists.TL1.Count; i++) if (!( dh_DH.ItemList.Contains( RecipesLists.TL1[i] ) )) dh_DH.ItemList.Add((Type)RecipesLists.TL1[i]); break; } case 302: { for (int i=0; i < RecipesLists.TL2.Count; i++) if (!( dh_DH.ItemList.Contains( RecipesLists.TL2[i] ) )) dh_DH.ItemList.Add((Type)RecipesLists.TL2[i]); break; } case 303: { for (int i=0; i < RecipesLists.TL3.Count; i++) if (!( dh_DH.ItemList.Contains( RecipesLists.TL3[i] ) )) dh_DH.ItemList.Add((Type)RecipesLists.TL3[i]); break; } case 304: { for (int i=0; i < RecipesLists.TL4.Count; i++) if (!( dh_DH.ItemList.Contains( RecipesLists.TL4[i] ) )) dh_DH.ItemList.Add((Type)RecipesLists.TL4[i]); break; } case 305: { for (int i=0; i < RecipesLists.TL5.Count; i++) if (!( dh_DH.ItemList.Contains( RecipesLists.TL5[i] ) )) dh_DH.ItemList.Add((Type)RecipesLists.TL5[i]); break; } case 306: { for (int i=0; i < RecipesLists.TL6.Count; i++) if (!( dh_DH.ItemList.Contains( RecipesLists.TL6[i] ) )) dh_DH.ItemList.Add((Type)RecipesLists.TL6[i]); break; } case 307: { for (int i=0; i < RecipesLists.TLall.Count; i++) if (!( dh_DH.ItemList.Contains( RecipesLists.TLall[i] ) )) dh_DH.ItemList.Add((Type)RecipesLists.TLall[i]); break; } case 401: { for (int i=0; i < RecipesLists.CK1.Count; i++) if (!( dh_DH.ItemList.Contains( RecipesLists.CK1[i] ) )) dh_DH.ItemList.Add((Type)RecipesLists.CK1[i]); break; } case 402: { for (int i=0; i < RecipesLists.CK2.Count; i++) if (!( dh_DH.ItemList.Contains( RecipesLists.CK2[i] ) )) dh_DH.ItemList.Add((Type)RecipesLists.CK2[i]); break; } case 403: { for (int i=0; i < RecipesLists.CK3.Count; i++) if (!( dh_DH.ItemList.Contains( RecipesLists.CK3[i] ) )) dh_DH.ItemList.Add((Type)RecipesLists.CK3[i]); break; } case 404: { for (int i=0; i < RecipesLists.CK4.Count; i++) if (!( dh_DH.ItemList.Contains( RecipesLists.CK4[i] ) )) dh_DH.ItemList.Add((Type)RecipesLists.CK4[i]); break; } case 405: { for (int i=0; i < RecipesLists.CK5.Count; i++) if (!( dh_DH.ItemList.Contains( RecipesLists.CK5[i] ) )) dh_DH.ItemList.Add((Type)RecipesLists.CK5[i]); break; } case 406: { for (int i=0; i < RecipesLists.CK6.Count; i++) if (!( dh_DH.ItemList.Contains( RecipesLists.CK6[i] ) )) dh_DH.ItemList.Add((Type)RecipesLists.CK6[i]); break; } case 407: { for (int i=0; i < RecipesLists.CKall.Count; i++) if (!( dh_DH.ItemList.Contains( RecipesLists.CKall[i] ) )) dh_DH.ItemList.Add((Type)RecipesLists.CKall[i]); break; } case 501: { for (int i=0; i < RecipesLists.GB1.Count; i++) if (!( dh_DH.ItemList.Contains( RecipesLists.GB1[i] ) )) dh_DH.ItemList.Add((Type)RecipesLists.GB1[i]); break; } case 502: { for (int i=0; i < RecipesLists.GB2.Count; i++) if (!( dh_DH.ItemList.Contains( RecipesLists.GB2[i] ) )) dh_DH.ItemList.Add((Type)RecipesLists.GB2[i]); break; } case 503: { for (int i=0; i < RecipesLists.GB3.Count; i++) if (!( dh_DH.ItemList.Contains( RecipesLists.GB3[i] ) )) dh_DH.ItemList.Add((Type)RecipesLists.GB3[i]); break; } case 504: { for (int i=0; i < RecipesLists.GB4.Count; i++) if (!( dh_DH.ItemList.Contains( RecipesLists.GB4[i] ) )) dh_DH.ItemList.Add((Type)RecipesLists.GB4[i]); break; } case 505: { for (int i=0; i < RecipesLists.GB5.Count; i++) if (!( dh_DH.ItemList.Contains( RecipesLists.GB5[i] ) )) dh_DH.ItemList.Add((Type)RecipesLists.GB5[i]); break; } case 506: { for (int i=0; i < RecipesLists.GB6.Count; i++) if (!( dh_DH.ItemList.Contains( RecipesLists.GB6[i] ) )) dh_DH.ItemList.Add((Type)RecipesLists.GB6[i]); break; } case 507: { for (int i=0; i < RecipesLists.GBall.Count; i++) if (!( dh_DH.ItemList.Contains( RecipesLists.GBall[i] ) )) dh_DH.ItemList.Add((Type)RecipesLists.GBall[i]); break; } case 601: { for (int i=0; i < RecipesLists.AC1.Count; i++) if (!( dh_DH.ItemList.Contains( RecipesLists.AC1[i] ) )) dh_DH.ItemList.Add((Type)RecipesLists.AC1[i]); break; } case 602: { for (int i=0; i < RecipesLists.AC2.Count; i++) if (!( dh_DH.ItemList.Contains( RecipesLists.AC2[i] ) )) dh_DH.ItemList.Add((Type)RecipesLists.AC2[i]); break; } case 603: { for (int i=0; i < RecipesLists.AC3.Count; i++) if (!( dh_DH.ItemList.Contains( RecipesLists.AC3[i] ) )) dh_DH.ItemList.Add((Type)RecipesLists.AC3[i]); break; } case 604: { for (int i=0; i < RecipesLists.AC4.Count; i++) if (!( dh_DH.ItemList.Contains( RecipesLists.AC4[i] ) )) dh_DH.ItemList.Add((Type)RecipesLists.AC4[i]); break; } case 605: { for (int i=0; i < RecipesLists.AC5.Count; i++) if (!( dh_DH.ItemList.Contains( RecipesLists.AC5[i] ) )) dh_DH.ItemList.Add((Type)RecipesLists.AC5[i]); break; } case 606: { for (int i=0; i < RecipesLists.AC6.Count; i++) if (!( dh_DH.ItemList.Contains( RecipesLists.AC6[i] ) )) dh_DH.ItemList.Add((Type)RecipesLists.AC6[i]); break; } case 607: { for (int i=0; i < RecipesLists.ACall.Count; i++) if (!( dh_DH.ItemList.Contains( RecipesLists.ACall[i] ) )) dh_DH.ItemList.Add((Type)RecipesLists.ACall[i]); break; } case 701: { for (int i=0; i < RecipesLists.IN1.Count; i++) if (!( dh_DH.ItemList.Contains( RecipesLists.IN1[i] ) )) dh_DH.ItemList.Add((Type)RecipesLists.IN1[i]); break; } case 702: { for (int i=0; i < RecipesLists.IN2.Count; i++) if (!( dh_DH.ItemList.Contains( RecipesLists.IN2[i] ) )) dh_DH.ItemList.Add((Type)RecipesLists.IN2[i]); break; } case 703: { for (int i=0; i < RecipesLists.IN3.Count; i++) if (!( dh_DH.ItemList.Contains( RecipesLists.IN3[i] ) )) dh_DH.ItemList.Add((Type)RecipesLists.IN3[i]); break; } case 704: { for (int i=0; i < RecipesLists.IN4.Count; i++) if (!( dh_DH.ItemList.Contains( RecipesLists.IN4[i] ) )) dh_DH.ItemList.Add((Type)RecipesLists.IN4[i]); break; } case 705: { for (int i=0; i < RecipesLists.IN5.Count; i++) if (!( dh_DH.ItemList.Contains( RecipesLists.IN5[i] ) )) dh_DH.ItemList.Add((Type)RecipesLists.IN5[i]); break; } case 706: { for (int i=0; i < RecipesLists.IN6.Count; i++) if (!( dh_DH.ItemList.Contains( RecipesLists.IN6[i] ) )) dh_DH.ItemList.Add((Type)RecipesLists.IN6[i]); break; } case 707: { for (int i=0; i < RecipesLists.INall.Count; i++) if (!( dh_DH.ItemList.Contains( RecipesLists.INall[i] ) )) dh_DH.ItemList.Add((Type)RecipesLists.INall[i]); break; } case 801: { for (int i=0; i < RecipesLists.BF1.Count; i++) if (!( dh_DH.ItemList.Contains( RecipesLists.BF1[i] ) )) dh_DH.ItemList.Add((Type)RecipesLists.BF1[i]); break; } case 802: { for (int i=0; i < RecipesLists.BF2.Count; i++) if (!( dh_DH.ItemList.Contains( RecipesLists.BF2[i] ) )) dh_DH.ItemList.Add((Type)RecipesLists.BF2[i]); break; } case 803: { for (int i=0; i < RecipesLists.BF3.Count; i++) if (!( dh_DH.ItemList.Contains( RecipesLists.BF3[i] ) )) dh_DH.ItemList.Add((Type)RecipesLists.BF3[i]); break; } case 804: { for (int i=0; i < RecipesLists.BF4.Count; i++) if (!( dh_DH.ItemList.Contains( RecipesLists.BF4[i] ) )) dh_DH.ItemList.Add((Type)RecipesLists.BF4[i]); break; } case 805: { for (int i=0; i < RecipesLists.BF5.Count; i++) if (!( dh_DH.ItemList.Contains( RecipesLists.BF5[i] ) )) dh_DH.ItemList.Add((Type)RecipesLists.BF5[i]); break; } case 806: { for (int i=0; i < RecipesLists.BF6.Count; i++) if (!( dh_DH.ItemList.Contains( RecipesLists.BF6[i] ) )) dh_DH.ItemList.Add((Type)RecipesLists.BF6[i]); break; } case 807: { for (int i=0; i < RecipesLists.BFall.Count; i++) if (!( dh_DH.ItemList.Contains( RecipesLists.BFall[i] ) )) dh_DH.ItemList.Add((Type)RecipesLists.BFall[i]); break; } case 901: { for (int i=0; i < RecipesLists.MS1.Count; i++) if (!( dh_DH.ItemList.Contains( RecipesLists.MS1[i] ) )) dh_DH.ItemList.Add((Type)RecipesLists.MS1[i]); break; } case 902: { for (int i=0; i < RecipesLists.MS2.Count; i++) if (!( dh_DH.ItemList.Contains( RecipesLists.MS2[i] ) )) dh_DH.ItemList.Add((Type)RecipesLists.MS2[i]); break; } case 903: { for (int i=0; i < RecipesLists.MS3.Count; i++) if (!( dh_DH.ItemList.Contains( RecipesLists.MS3[i] ) )) dh_DH.ItemList.Add((Type)RecipesLists.MS3[i]); break; } case 904: { for (int i=0; i < RecipesLists.MS4.Count; i++) if (!( dh_DH.ItemList.Contains( RecipesLists.MS4[i] ) )) dh_DH.ItemList.Add((Type)RecipesLists.MS4[i]); break; } case 905: { for (int i=0; i < RecipesLists.MS5.Count; i++) if (!( dh_DH.ItemList.Contains( RecipesLists.MS5[i] ) )) dh_DH.ItemList.Add((Type)RecipesLists.MS5[i]); break; } case 906: { for (int i=0; i < RecipesLists.MS6.Count; i++) if (!( dh_DH.ItemList.Contains( RecipesLists.MS6[i] ) )) dh_DH.ItemList.Add((Type)RecipesLists.MS6[i]); break; } case 907: { for (int i=0; i < RecipesLists.MSall.Count; i++) if (!( dh_DH.ItemList.Contains( RecipesLists.MSall[i] ) )) dh_DH.ItemList.Add((Type)RecipesLists.MSall[i]); break; } case 1001: { for (int i=0; i < RecipesLists.CR1.Count; i++) if (!( dh_DH.ItemList.Contains( RecipesLists.CR1[i] ) )) dh_DH.ItemList.Add((Type)RecipesLists.CR1[i]); break; } case 1002: { for (int i=0; i < RecipesLists.CR2.Count; i++) if (!( dh_DH.ItemList.Contains( RecipesLists.CR2[i] ) )) dh_DH.ItemList.Add((Type)RecipesLists.CR2[i]); break; } case 1003: { for (int i=0; i < RecipesLists.CR3.Count; i++) if (!( dh_DH.ItemList.Contains( RecipesLists.CR3[i] ) )) dh_DH.ItemList.Add((Type)RecipesLists.CR3[i]); break; } case 1004: { for (int i=0; i < RecipesLists.CR4.Count; i++) if (!( dh_DH.ItemList.Contains( RecipesLists.CR4[i] ) )) dh_DH.ItemList.Add((Type)RecipesLists.CR4[i]); break; } case 1005: { for (int i=0; i < RecipesLists.CR5.Count; i++) if (!( dh_DH.ItemList.Contains( RecipesLists.CR5[i] ) )) dh_DH.ItemList.Add((Type)RecipesLists.CR5[i]); break; } case 1006: { for (int i=0; i < RecipesLists.CR6.Count; i++) if (!( dh_DH.ItemList.Contains( RecipesLists.CR6[i] ) )) dh_DH.ItemList.Add((Type)RecipesLists.CR6[i]); break; } case 1007: { for (int i=0; i < RecipesLists.CRall.Count; i++) if (!( dh_DH.ItemList.Contains( RecipesLists.CRall[i] ) )) dh_DH.ItemList.Add((Type)RecipesLists.CRall[i]); break; } case 1101: { for (int i=0; i < RecipesLists.Lvl1.Count; i++) if (!( dh_DH.ItemList.Contains( RecipesLists.Lvl1[i] ) )) dh_DH.ItemList.Add((Type)RecipesLists.Lvl1[i]); break; } case 1102: { for (int i=0; i < RecipesLists.Lvl2.Count; i++) if (!( dh_DH.ItemList.Contains( RecipesLists.Lvl2[i] ) )) dh_DH.ItemList.Add((Type)RecipesLists.Lvl2[i]); break; } case 1103: { for (int i=0; i < RecipesLists.Lvl3.Count; i++) if (!( dh_DH.ItemList.Contains( RecipesLists.Lvl3[i] ) )) dh_DH.ItemList.Add((Type)RecipesLists.Lvl3[i]); break; } case 1104: { for (int i=0; i < RecipesLists.Lvl4.Count; i++) if (!( dh_DH.ItemList.Contains( RecipesLists.Lvl4[i] ) )) dh_DH.ItemList.Add((Type)RecipesLists.Lvl4[i]); break; } case 1105: { for (int i=0; i < RecipesLists.Lvl5.Count; i++) if (!( dh_DH.ItemList.Contains( RecipesLists.Lvl5[i] ) )) dh_DH.ItemList.Add((Type)RecipesLists.Lvl5[i]); break; } case 1106: { for (int i=0; i < RecipesLists.Lvl6.Count; i++) if (!( dh_DH.ItemList.Contains( RecipesLists.Lvl6[i] ) )) dh_DH.ItemList.Add((Type)RecipesLists.Lvl6[i]); break; } case 1107: { for (int i=0; i < RecipesLists.All.Count; i++) if (!( dh_DH.ItemList.Contains( RecipesLists.All[i] ) )) dh_DH.ItemList.Add((Type)RecipesLists.All[i]); break; } } } if (info.ButtonID == 100) dh_DH.DefaultRecipe( dh_DH ); if (info.ButtonID >= 100) from.SendGump( new Daat99HolderGump(pm_From, dh_DH) ); } } } |
|
|
|
|
|
#4 (permalink) |
|
Master of the Internet
Join Date: Oct 2005
Age: 45
Posts: 6,283
|
It looks like you didn't follow some part of the instructions. The object al_ItemList is null, which is supposed to be impossible if installed and set up correctly. Can't be completely sure if that is the problem though.
__________________
Why is it that I'm never as smart as I thought I was yesterday? My vast knowledge is only surpassed by my infinite ignorance. <TheOutkastDev> i might have to hire an assassin to killl mal so that i can jump in front of the bullet and piss on him |
|
|
|
|
|
#5 (permalink) |
|
Newbie
|
crash logs are also including pet loyalty timers pet obey etc i will inc copy of last crash log showing this also I had recently made script for legendary llama been on shard for a few weeks i removed this script didnt seem to make a difference so i readded it to server
Server Crash Report =================== RunUO Version 1.0.0, Build 36918 Operating System: Microsoft Windows NT 5.1.2600.0 .NET Framework: 1.1.4322.573 Time: 10/23/2006 6:52:16 AM Mobiles: 10047 Items: 261202 Exception: System.NullReferenceException: Object reference not set to an instance of an object. at Server.Mobiles.LoyaltyTimer.OnTick() at Server.Timer.Slice() at Server.Core.Main(String[] args) |
|
|
|
|
|
#6 (permalink) |
|
Master of the Internet
Join Date: Oct 2005
Age: 45
Posts: 6,283
|
Well, something is wrong with some pet also, so I would guess that script should be removed again
![]()
__________________
Why is it that I'm never as smart as I thought I was yesterday? My vast knowledge is only surpassed by my infinite ignorance. <TheOutkastDev> i might have to hire an assassin to killl mal so that i can jump in front of the bullet and piss on him |
|
|
|
|
|
#8 (permalink) |
|
Master of the Internet
Join Date: Oct 2005
Age: 45
Posts: 6,283
|
Did anyone move or props etc one of the Daat99Holder objects in a bankbox? If so, that could cause such a problem I believe. No idea how to fix it though.
__________________
Why is it that I'm never as smart as I thought I was yesterday? My vast knowledge is only surpassed by my infinite ignorance. <TheOutkastDev> i might have to hire an assassin to killl mal so that i can jump in front of the bullet and piss on him |
|
|
|
|
|
#9 (permalink) |
|
Newbie
|
Im into adding new things on a constant basis keeping shard fresh and always something new and becoming something of a making my own script junkie tho im new at it and have only used other scripts remade to suit what im after ive made many several new added lately tho llama only new pet
is there anyway to track it down without going through the constant crashing i have no backups that runuo supplies at world saves just a thought?? |
|
|
|
|
|
#10 (permalink) |
|
Newbie
|
yes!!!!!!!!!!!!!!!!! Staffer found in a players bank he was in jail she didnt know what it was or why in the world he would have it so she unlock and removed from his bank showed it to me last night I then explained that players had no idea they were even there because only staff could see!!!!
|
|
|
|
|
|
#12 (permalink) |
|
Master of the Internet
Join Date: Oct 2005
Age: 45
Posts: 6,283
|
Well, I think I can make something so it won't crash, but it won't solve the real problem. In the future, make sure that you make your own backups of the backups by copying saves somewhere else so you'll have at least one to go to.
Code:
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
writer.Write( (int) 3 ); // version
//version 3, changed the holder name
//version 2, remove duplicate recipes
writer.Write( (TimeSpan) NextReward );
writer.Write( (int) i_ItemsCrafted );
//version 0
writer.Write( alItemTypeList == null ? 0 : alItemTypeList.Count);
for ( int i = 0; i < al_ItemList.Count; ++i )
writer.Write( (string) al_ItemList[i].ToString() );
writer.Write( al_Resources.Count );
for ( int i = 0; i < al_Resources.Count; ++i )
writer.Write( (int) al_Resources[i] );
}
__________________
Why is it that I'm never as smart as I thought I was yesterday? My vast knowledge is only surpassed by my infinite ignorance. <TheOutkastDev> i might have to hire an assassin to killl mal so that i can jump in front of the bullet and piss on him |
|
|
|
|
|
#13 (permalink) |
|
RunUO Forum Moderator
|
It's highly recomenced that you update your OWLTR to the laster OWLTR that I released for RunUO 1.0.0.
__________________
I always try to help
![]() Sometimes, I don't know how.... ![]() My Web Page Forum Rules ------------------------------------------------------------- Extensive OWLTR System | Token System | World Teleporters ------------------------------------------------------------- |
|
|
|