Go Back   RunUO - Ultima Online Emulation > RunUO > Server Support on Windows

Server Support on Windows Get (and give) support on general questions related to the RunUO server itself.

Reply
 
Thread Tools Display Modes
Old 10-23-2006, 11:23 AM   #1 (permalink)
Newbie
 
Join Date: Apr 2006
Location: Fort Worth Texas
Posts: 35
Send a message via ICQ to Kantra Send a message via MSN to Kantra Send a message via Yahoo to Kantra
Default Server crashing over and over at world save

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)
Kantra is offline   Reply With Quote
Old 10-23-2006, 11:25 AM   #2 (permalink)
Master of the Internet
 
Join Date: Oct 2005
Age: 45
Posts: 6,283
Default

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
Malaperth is offline   Reply With Quote
Old 10-23-2006, 11:45 AM   #3 (permalink)
Newbie
 
Join Date: Apr 2006
Location: Fort Worth Texas
Posts: 35
Send a message via ICQ to Kantra Send a message via MSN to Kantra Send a message via Yahoo to Kantra
Default Daat99 Holdercs.

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) );
}
}
}
Kantra is offline   Reply With Quote
Old 10-23-2006, 11:48 AM   #4 (permalink)
Master of the Internet
 
Join Date: Oct 2005
Age: 45
Posts: 6,283
Default

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
Malaperth is offline   Reply With Quote
Old 10-23-2006, 11:50 AM   #5 (permalink)
Newbie
 
Join Date: Apr 2006
Location: Fort Worth Texas
Posts: 35
Send a message via ICQ to Kantra Send a message via MSN to Kantra Send a message via Yahoo to Kantra
Default

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)
Kantra is offline   Reply With Quote
Old 10-23-2006, 11:52 AM   #6 (permalink)
Master of the Internet
 
Join Date: Oct 2005
Age: 45
Posts: 6,283
Default

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
Malaperth is offline   Reply With Quote
Old 10-23-2006, 11:53 AM   #7 (permalink)
Newbie
 
Join Date: Apr 2006
Location: Fort Worth Texas
Posts: 35
Send a message via ICQ to Kantra Send a message via MSN to Kantra Send a message via Yahoo to Kantra
Default Daat and proper instillation

Server has been up and active for over 60 days without a problem and the shard has crashed probably 15 times in the last week i have no idea no idea
Kantra is offline   Reply With Quote
Old 10-23-2006, 11:57 AM   #8 (permalink)
Master of the Internet
 
Join Date: Oct 2005
Age: 45
Posts: 6,283
Default

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
Malaperth is offline   Reply With Quote
Old 10-23-2006, 11:57 AM   #9 (permalink)
Newbie
 
Join Date: Apr 2006
Location: Fort Worth Texas
Posts: 35
Send a message via ICQ to Kantra Send a message via MSN to Kantra Send a message via Yahoo to Kantra
Default tracking down the evil script

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??
Kantra is offline   Reply With Quote
Old 10-23-2006, 12:00 PM   #10 (permalink)
Newbie
 
Join Date: Apr 2006
Location: Fort Worth Texas
Posts: 35
Send a message via ICQ to Kantra Send a message via MSN to Kantra Send a message via Yahoo to Kantra
Default Daat ball in players banks!!!

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!!!!
Kantra is offline   Reply With Quote
Old 10-23-2006, 12:02 PM   #11 (permalink)
Newbie
 
Join Date: Apr 2006
Location: Fort Worth Texas
Posts: 35
Send a message via ICQ to Kantra Send a message via MSN to Kantra Send a message via Yahoo to Kantra
Default Thank you!!

Im going exploring looking for the cure in forums you rock!!
Kantra is offline   Reply With Quote
Old 10-23-2006, 12:06 PM   #12 (permalink)
Master of the Internet
 
Join Date: Oct 2005
Age: 45
Posts: 6,283
Default

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] );
}
I think that will stop it crashing on save, but I am not sure what will happen when it tries to deserialize. I just hope I am not harming your server more than helping.
__________________
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
Malaperth is offline   Reply With Quote
Old 10-23-2006, 12:22 PM   #13 (permalink)
RunUO Forum Moderator
 
daat99's Avatar
 
Join Date: Dec 2004
Location: Israel
Age: 27
Posts: 8,163
Send a message via ICQ to daat99 Send a message via AIM to daat99
Default

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
-------------------------------------------------------------
daat99 is offline   Reply With Quote
Old 10-23-2006, 12:23 PM   #14 (permalink)
Newbie
 
Join Date: Apr 2006
Location: Fort Worth Texas
Posts: 35
Send a message via ICQ to Kantra Send a message via MSN to Kantra Send a message via Yahoo to Kantra
Default Copied Holder cs made your changes

Added your changes unfortunately will have to crash server lol for changes to take effect wish me Luck = ] I will let you know asap Thanks so much for your time Its greatly appreciated!!
Kantra is offline   Reply With Quote
Old 10-23-2006, 12:27 PM   #15 (permalink)
Master of the Internet
 
Join Date: Oct 2005
Age: 45
Posts: 6,283