RunUO Community

This is a sample guest message. Register a free account today to become a member! Once signed in, you'll be able to participate on this site by adding your own topics and posts, as well as connect with other members through your own private inbox!

FULL Diablo 2 Style Socket System =)

Doomer

Wanderer
The socketed items are made by smiths, not dropped by critters unless you want to script it that way. Hope this helps-Doomer
 
ok.. WTF IS ALL DIS?!!!... dis is confusin da shit outta me... did u guys jus make another version ov diablo al2geather? or did you jus make some type of program to socket items, even though you already could socket them? =\... some 1 plz explain dis 2 me.... i jus joind dis site.... the only reason i joind, is cause this would have been botherin me all week if i didn't figure out wut u all r talkn bout!
 

Maynza

Formerly DontdroptheSOAD
.... you are completely lost. Diablo 2 has nothing to do with Ultima Online this is a script for RunUO to make UO have socket systems like diablo.
 

lover1973

Wanderer
Socketed in lootpack.

I replaced the old D2 sockets system with the new version. so players can find The Gems in monsters' lootpacks, but no Socketed Items, I think that is because i removed all these codes about this system from Basecreature.cs. and I dont wanna let the socketed items can be crafted by players. how can I make gems and socketed items all in lootpack??
i lost the Basecreature.cs file with D2 socket system. Could anybody give that one?? Thanks..
 

LordHogFred

Knight
lover1973 said:
I replaced the old D2 sockets system with the new version. so players can find The Gems in monsters' lootpacks, but no Socketed Items, I think that is because i removed all these codes about this system from Basecreature.cs. and I dont wanna let the socketed items can be crafted by players. how can I make gems and socketed items all in lootpack??
i lost the Basecreature.cs file with D2 socket system. Could anybody give that one?? Thanks..

With the new system the socket items are craftable. However seeing as though you wish for the socket items to be in the Loot Packs I shall work on them for you. Should only take a day or so.
 
mi es dumba$$

ok its probably something im doing wrong but, why is it nothing will drop a socketed armour or weapon, i added everything my shard runs BUT no monster will drop a socketed weapon, wut if i wanted it so that all that was dropped was socketed items, where EVERYTHING has a socket, wut am i supposed to do to set this up?, its probably something so simple that im making it hard, someone help please :confused:
 
guess i couldve read the whole thread of posts before i posted hat but yeah how would i make it so that socketed items are found on monsters as loot?
 

KillerBeeZ

Knight
the way to add these to B36 will still work on 1.0 right? That is, it still uses basecreature.cs ?

if so, this will work (if you don't want them in the lootpacks)

if not, then here is the way to add them to the loot in B36

in BaseCreature.cs

look for...

Code:
		public override bool OnBeforeDeath()
		{

and CHANGE it to ...

Code:
// <Socketed Weapon System>

// editable
		private int m_WeaponSocketRoll = Utility.Random( 75 );
		private int m_ArmorSocketRoll = Utility.Random( 100 );
		private int m_ShieldSocketRoll = Utility.Random( 75 );
// end editable
		
		private int m_SocketWeaponRoll = Utility.Random( 43 );
		private int m_SocketArmorRoll = Utility.Random( 41 );
		private int m_SocketShieldRoll = Utility.Random( 7 );

// editable
		private int m_ChippedSocketGemRoll = Utility.Random( 32 );
		private int m_FlawedSocketGemRoll = Utility.Random( 75 );
		private int m_PlainSocketGemRoll = Utility.Random( 250 );
		private int m_FlawlessSocketGemRoll = Utility.Random( 500 );
		private int m_PerfectSocketGemRoll = Utility.Random( 1500 );
// end editable

		private int m_GetChippedSocketGemRoll = Utility.Random( 7 );
		private int m_GetFlawedSocketGemRoll = Utility.Random( 7 );
		private int m_GetPlainSocketGemRoll = Utility.Random( 7 );
		private int m_GetFlawlessSocketGemRoll = Utility.Random( 7 );
		private int m_GetPerfectSocketGemRoll = Utility.Random( 7 );
// </Socketed Weapon System>

		public override bool OnBeforeDeath()
		{

// <Socketed Weapon System>
			if ( m_WeaponSocketRoll == 0 )
			{
				if ( m_SocketWeaponRoll == 0 )
				{
					PackItem( new SocketedAxe() );
				}
				else if ( m_SocketWeaponRoll == 1 )
				{
					PackItem( new SocketedBattleAxe() );
				}
				else if ( m_SocketWeaponRoll == 2 )
				{
					PackItem( new SocketedDoubleAxe() );
				}
				else if ( m_SocketWeaponRoll == 3 )
				{
					PackItem( new SocketedExecutionersAxe() );
				}
				else if ( m_SocketWeaponRoll == 4 )
				{
					PackItem( new SocketedLargeBattleAxe() );
				}
				else if ( m_SocketWeaponRoll == 5 )
				{
					PackItem( new SocketedTwoHandedAxe() );
				}
				else if ( m_SocketWeaponRoll == 6 )
				{
					PackItem( new SocketedWarAxe() );
				}
				else if ( m_SocketWeaponRoll == 7 )
				{
					PackItem( new SocketedDagger() );
				}
				else if ( m_SocketWeaponRoll == 8 )
				{
					PackItem( new SocketedClub() );
				}
				else if ( m_SocketWeaponRoll == 9 )
				{
					PackItem( new SocketedHammerPick() );
				}
				else if ( m_SocketWeaponRoll == 10 )
				{
					PackItem( new SocketedMace() );
				}
				else if ( m_SocketWeaponRoll == 11 )
				{
					PackItem( new SocketedMaul() );
				}
				else if ( m_SocketWeaponRoll == 12 )
				{
					PackItem( new SocketedScepter() );
				}
				else if ( m_SocketWeaponRoll == 13 )
				{
					PackItem( new SocketedWarHammer() );
				}
				else if ( m_SocketWeaponRoll == 14 )
				{
					PackItem( new SocketedWarMace() );
				}
				else if ( m_SocketWeaponRoll == 15 )
				{
					PackItem( new SocketedBardiche() );
				}
				else if ( m_SocketWeaponRoll == 16 )
				{
					PackItem( new SocketedHalberd() );
				}
				else if ( m_SocketWeaponRoll == 17 )
				{
					PackItem( new SocketedScythe() );
				}
				else if ( m_SocketWeaponRoll == 18 )
				{
					PackItem( new SocketedBow() );
				}
				else if ( m_SocketWeaponRoll == 19 )
				{
					PackItem( new SocketedCompositeBow() );
				}
				else if ( m_SocketWeaponRoll == 20 )
				{
					PackItem( new SocketedCrossbow() );
				}
				else if ( m_SocketWeaponRoll == 21 )
				{
					PackItem( new SocketedHeavyCrossbow() );
				}
				else if ( m_SocketWeaponRoll == 22 )
				{
					PackItem( new SocketedRepeatingCrossbow() );
				}
				else if ( m_SocketWeaponRoll == 23 )
				{
					PackItem( new SocketedBladedStaff() );
				}
				else if ( m_SocketWeaponRoll == 24 )
				{
					PackItem( new SocketedDoubleBladedStaff() );
				}
				else if ( m_SocketWeaponRoll == 25 )
				{
					PackItem( new SocketedPike() );
				}
				else if ( m_SocketWeaponRoll == 26 )
				{
					PackItem( new SocketedShortSpear() );
				}
				else if ( m_SocketWeaponRoll == 27 )
				{
					PackItem( new SocketedSpear() );
				}
				else if ( m_SocketWeaponRoll == 28 )
				{
					PackItem( new SocketedWarFork() );
				}
				else if ( m_SocketWeaponRoll == 29 )
				{
					PackItem( new SocketedPitchfork() );
				}
				else if ( m_SocketWeaponRoll == 30 )
				{
					PackItem( new SocketedBlackStaff() );
				}
				else if ( m_SocketWeaponRoll == 31 )
				{
					PackItem( new SocketedGnarledStaff() );
				}
				else if ( m_SocketWeaponRoll == 32 )
				{
					PackItem( new SocketedQuarterStaff() );
				}
				else if ( m_SocketWeaponRoll == 33 )
				{
					PackItem( new SocketedBoneHarvester() );
				}
				else if ( m_SocketWeaponRoll == 34 )
				{
					PackItem( new SocketedBroadsword() );
				}
				else if ( m_SocketWeaponRoll == 35 )
				{
					PackItem( new SocketedCrescentBlade() );
				}
				else if ( m_SocketWeaponRoll == 36 )
				{
					PackItem( new SocketedCutlass() );
				}
				else if ( m_SocketWeaponRoll == 37 )
				{
					PackItem( new SocketedKatana() );
				}
				else if ( m_SocketWeaponRoll == 38 )
				{
					PackItem( new SocketedKryss() );
				}
				else if ( m_SocketWeaponRoll == 39 )
				{
					PackItem( new SocketedLance() );
				}
				else if ( m_SocketWeaponRoll == 40 )
				{
					PackItem( new SocketedLongSword() );
				}
				else if ( m_SocketWeaponRoll == 41 )
				{
					PackItem( new SocketedScimitar() );
				}
				else if ( m_SocketWeaponRoll == 42 )
				{
					PackItem( new SocketedVikingSword() );
				}
			}
			
			if ( m_ArmorSocketRoll == 0 )
			{
				if ( m_SocketArmorRoll == 0 )
				{
					PackItem( new SocketedBoneArms() );
				}
				else if ( m_SocketArmorRoll == 1 )
				{
					PackItem( new SocketedBoneChest() );
				}
				else if ( m_SocketArmorRoll == 2 )
				{
					PackItem( new SocketedBoneGloves() );
				}
				else if ( m_SocketArmorRoll == 3 )
				{
					PackItem( new SocketedBoneLegs() );
				}
				else if ( m_SocketArmorRoll == 4 )
				{
					PackItem( new SocketedChainChest() );
				}
				else if ( m_SocketArmorRoll == 5 )
				{
					PackItem( new SocketedChainLegs() );
				}
				else if ( m_SocketArmorRoll == 6 )
				{
					PackItem( new SocketedBascinet() );
				}
				else if ( m_SocketArmorRoll == 7 )
				{
					PackItem( new SocketedBoneHelm() );
				}
				else if ( m_SocketArmorRoll == 8 )
				{
					PackItem( new SocketedChainCoif() );
				}
				else if ( m_SocketArmorRoll == 9 )
				{
					PackItem( new SocketedCloseHelm() );
				}
				else if ( m_SocketArmorRoll == 10 )
				{
					PackItem( new SocketedHelmet() );
				}
				else if ( m_SocketArmorRoll == 11 )
				{
					PackItem( new SocketedLeatherCap() );
				}
				else if ( m_SocketArmorRoll == 12 )
				{
					PackItem( new SocketedNorseHelm() );
				}
				else if ( m_SocketArmorRoll == 13 )
				{
					PackItem( new SocketedOrcHelm() );
				}
				else if ( m_SocketArmorRoll == 14 )
				{
					PackItem( new SocketedPlateHelm() );
				}
				else if ( m_SocketArmorRoll == 15 )
				{
					PackItem( new SocketedFemaleLeatherChest() );
				}
				else if ( m_SocketArmorRoll == 16 )
				{
					PackItem( new SocketedLeatherArms() );
				}
				else if ( m_SocketArmorRoll == 17 )
				{
					PackItem( new SocketedLeatherBustierArms() );
				}
				else if ( m_SocketArmorRoll == 18 )
				{
					PackItem( new SocketedLeatherChest() );
				}
				else if ( m_SocketArmorRoll == 19 )
				{
					PackItem( new SocketedLeatherGloves() );
				}
				else if ( m_SocketArmorRoll == 20 )
				{
					PackItem( new SocketedLeatherGorget() );
				}
				else if ( m_SocketArmorRoll == 21 )
				{
					PackItem( new SocketedLeatherLegs() );
				}
				else if ( m_SocketArmorRoll == 22 )
				{
					PackItem( new SocketedLeatherShorts() );
				}
				else if ( m_SocketArmorRoll == 23 )
				{
					PackItem( new SocketedLeatherSkirt() );
				}
				else if ( m_SocketArmorRoll == 24 )
				{
					PackItem( new SocketedFemalePlateChest() );
				}
				else if ( m_SocketArmorRoll == 25 )
				{
					PackItem( new SocketedPlateArms() );
				}
				else if ( m_SocketArmorRoll == 26 )
				{
					PackItem( new SocketedPlateChest() );
				}
				else if ( m_SocketArmorRoll == 27 )
				{
					PackItem( new SocketedPlateGloves() );
				}
				else if ( m_SocketArmorRoll == 28 )
				{
					PackItem( new SocketedPlateGorget() );
				}
				else if ( m_SocketArmorRoll == 29 )
				{
					PackItem( new SocketedPlateLegs() );
				}
				else if ( m_SocketArmorRoll == 30 )
				{
					PackItem( new SocketedRingmailArms() );
				}
				else if ( m_SocketArmorRoll == 31 )
				{
					PackItem( new SocketedRingmailChest() );
				}
				else if ( m_SocketArmorRoll == 32 )
				{
					PackItem( new SocketedRingmailGloves() );
				}
				else if ( m_SocketArmorRoll == 33 )
				{
					PackItem( new SocketedRingmailLegs() );
				}
				else if ( m_SocketArmorRoll == 34 )
				{
					PackItem( new SocketedFemaleStuddedChest() );
				}
				else if ( m_SocketArmorRoll == 35 )
				{
					PackItem( new SocketedStuddedArms() );
				}
				else if ( m_SocketArmorRoll == 36 )
				{
					PackItem( new SocketedStuddedBustierArms() );
				}
				else if ( m_SocketArmorRoll == 37 )
				{
					PackItem( new SocketedStuddedChest() );
				}
				else if ( m_SocketArmorRoll == 38 )
				{
					PackItem( new SocketedStuddedGloves() );
				}
				else if ( m_SocketArmorRoll == 39 )
				{
					PackItem( new SocketedStuddedGorget() );
				}
				else if ( m_SocketArmorRoll == 40 )
				{
					PackItem( new SocketedStuddedLegs() );
				}
			}
			
			if ( m_ShieldSocketRoll == 0 )
			{
				if ( m_SocketShieldRoll == 0 )
				{
					PackItem( new SocketedBronzeShield() );
				}
				else if ( m_SocketShieldRoll == 1 )
				{
					PackItem( new SocketedBuckler() );
				}
				else if ( m_SocketShieldRoll == 2 )
				{
					PackItem( new SocketedHeaterShield() );
				}
				else if ( m_SocketShieldRoll == 3 )
				{
					PackItem( new SocketedMetalKiteShield() );
				}
				else if ( m_SocketShieldRoll == 4 )
				{
					PackItem( new SocketedMetalShield() );
				}
				else if ( m_SocketShieldRoll == 5 )
				{
					PackItem( new SocketedWoodenKiteShield() );
				}
				else if ( m_SocketShieldRoll == 6 )
				{
					PackItem( new SocketedWoodenShield() );
				}
			}
			
			if ( m_ChippedSocketGemRoll == 0 )
			{
				if ( m_GetChippedSocketGemRoll == 0 )
				{
					PackItem( new ChippedAmethyst() );
				}
				else if ( m_GetChippedSocketGemRoll == 1 )
				{
					PackItem( new ChippedDiamond() );
				}
				else if ( m_GetChippedSocketGemRoll == 2 )
				{
					PackItem( new ChippedEmerald() );
				}
				else if ( m_GetChippedSocketGemRoll == 3 )
				{
					PackItem( new ChippedRuby() );
				}
				else if ( m_GetChippedSocketGemRoll == 4 )
				{
					PackItem( new ChippedSapphire() );
				}
				else if ( m_GetChippedSocketGemRoll == 5 )
				{
					PackItem( new ChippedSkull() );
				}
				else if ( m_GetChippedSocketGemRoll == 6 )
				{
					PackItem( new ChippedTopaz() );
				}
			}

			if ( m_FlawedSocketGemRoll == 0 )
			{
				if ( m_GetFlawedSocketGemRoll == 0 )
				{
					PackItem( new FlawedAmethyst() );
				}
				else if ( m_GetFlawedSocketGemRoll == 1 )
				{
					PackItem( new FlawedDiamond() );
				}
				else if ( m_GetFlawedSocketGemRoll == 2 )
				{
					PackItem( new FlawedEmerald() );
				}
				else if ( m_GetFlawedSocketGemRoll == 3 )
				{
					PackItem( new FlawedRuby() );
				}
				else if ( m_GetFlawedSocketGemRoll == 4 )
				{
					PackItem( new FlawedSapphire() );
				}
				else if ( m_GetFlawedSocketGemRoll == 5 )
				{
					PackItem( new FlawedSkull() );
				}
				else if ( m_GetFlawedSocketGemRoll == 6 )
				{
					PackItem( new FlawedTopaz() );
				}
			}

			if ( m_PlainSocketGemRoll == 0 )
			{
				if ( m_GetPlainSocketGemRoll == 0 )
				{
					PackItem( new PlainAmethyst() );
				}
				else if ( m_GetPlainSocketGemRoll == 1 )
				{
					PackItem( new PlainDiamond() );
				}
				else if ( m_GetPlainSocketGemRoll == 2 )
				{
					PackItem( new PlainEmerald() );
				}
				else if ( m_GetPlainSocketGemRoll == 3 )
				{
					PackItem( new PlainRuby() );
				}
				else if ( m_GetPlainSocketGemRoll == 4 )
				{
					PackItem( new PlainSapphire() );
				}
				else if ( m_GetPlainSocketGemRoll == 5 )
				{
					PackItem( new PlainSkull() );
				}
				else if ( m_GetPlainSocketGemRoll == 6 )
				{
					PackItem( new PlainTopaz() );
				}
			}

			if ( m_FlawlessSocketGemRoll == 0 )
			{
				if ( m_GetFlawlessSocketGemRoll == 0 )
				{
					PackItem( new FlawlessAmethyst() );
				}
				else if ( m_GetFlawlessSocketGemRoll == 1 )
				{
					PackItem( new FlawlessDiamond() );
				}
				else if ( m_GetFlawlessSocketGemRoll == 2 )
				{
					PackItem( new FlawlessEmerald() );
				}
				else if ( m_GetFlawlessSocketGemRoll == 3 )
				{
					PackItem( new FlawlessRuby() );
				}
				else if ( m_GetFlawlessSocketGemRoll == 4 )
				{
					PackItem( new FlawlessSapphire() );
				}
				else if ( m_GetFlawlessSocketGemRoll == 5 )
				{
					PackItem( new FlawlessSkull() );
				}
				else if ( m_GetFlawlessSocketGemRoll == 6 )
				{
					PackItem( new FlawlessTopaz() );
				}
			}

			if ( m_PerfectSocketGemRoll == 0 )
			{
				if ( m_GetPerfectSocketGemRoll == 0 )
				{
					PackItem( new PerfectAmethyst() );
				}
				else if ( m_GetPerfectSocketGemRoll == 1 )
				{
					PackItem( new PerfectDiamond() );
				}
				else if ( m_GetPerfectSocketGemRoll == 2 )
				{
					PackItem( new PerfectEmerald() );
				}
				else if ( m_GetPerfectSocketGemRoll == 3 )
				{
					PackItem( new PerfectRuby() );
				}
				else if ( m_GetPerfectSocketGemRoll == 4 )
				{
					PackItem( new PerfectSapphire() );
				}
				else if ( m_GetPerfectSocketGemRoll == 5 )
				{
					PackItem( new PerfectSkull() );
				}
				else if ( m_GetPerfectSocketGemRoll == 6 )
				{
					PackItem( new PerfectTopaz() );
				}
			}
// </Socketed Weapon System>
 

Froman2686

Wanderer
Identifying socketed weapons

Just a quick question:

In Baseweapon.cs:
Code:
public virtual string SocketLabel{ get{ return m_SocketLabel; } set{ m_SocketLabel = value; } }

Does that line identify a weapon as having sockets? I've dug through the code and I can't figure out what that line does. I have a feeling it's somethign simple and I'm looking right over it... :rolleyes:
 

Kalpon777

Wanderer
Alright, this is really sort of frustrating! In the "How To" The last script alteration in loot.cs asks for this;

"To alter Loot.cs you need to find this line of code:
public static Type[] ClothingTypes{ get{ return m_ClothingTypes; } }"

No where in my loot.cs do I see ClothingTypes, I've looked again and again, each line through and through. It's just not there! Everything else was easy, but this part is confusing. I'll post my loot.cs

Code:
using System;
using System.IO;
using System.Reflection;
using Server;
using Server.Items;

namespace Server
{
	public class Loot
	{
		#region List definitions
		private static Type[] m_AosWeaponTypes = new Type[]
			{
				typeof( Scythe ),				typeof( BoneHarvester ),		typeof( Scepter ),
				typeof( BladedStaff ),			typeof( Pike ),					typeof( DoubleBladedStaff ),
				typeof( Lance ),				typeof( CrescentBlade ),		typeof( CompositeBow ),
				typeof( RepeatingCrossbow )
			};

		public static Type[] AosWeaponTypes{ get{ return m_AosWeaponTypes; } }

		private static Type[] m_WeaponTypes = new Type[]
			{
				typeof( Axe ),					typeof( BattleAxe ),			typeof( DoubleAxe ),
				typeof( ExecutionersAxe ),		typeof( Hatchet ),				typeof( LargeBattleAxe ),
				typeof( TwoHandedAxe ),			typeof( WarAxe ),				typeof( Club ),
				typeof( Mace ),					typeof( Maul ),					typeof( WarHammer ),
				typeof( WarMace ),				typeof( Bardiche ),				typeof( Halberd ),
				typeof( Bow ),					typeof( Crossbow ),				typeof( HeavyCrossbow ),
				typeof( Spear ),				typeof( ShortSpear ),			typeof( Pitchfork ),
				typeof( WarFork ),				typeof( BlackStaff ),			typeof( GnarledStaff ),
				typeof( QuarterStaff ),			typeof( Broadsword ),			typeof( Cutlass ),
				typeof( Katana ),				typeof( Kryss ),				typeof( Longsword ),
				typeof( Scimitar ),				typeof( VikingSword )
			};

		public static Type[] WeaponTypes{ get{ return m_WeaponTypes; } }

		private static Type[] m_ArmorTypes = new Type[]
			{
				typeof( BoneArms ),				typeof( BoneChest ),			typeof( BoneGloves ),
				typeof( BoneLegs ),				typeof( BoneHelm ),				typeof( ChainChest ),
				typeof( ChainLegs ),			typeof( ChainCoif ),			typeof( Bascinet ),
				typeof( CloseHelm ),			typeof( Helmet ),				typeof( NorseHelm ),
				typeof( OrcHelm ),				typeof( FemaleLeatherChest ),	typeof( LeatherArms ),
				typeof( LeatherBustierArms ),	typeof( LeatherChest ),			typeof( LeatherGloves ),
				typeof( LeatherGorget ),		typeof( LeatherLegs ),			typeof( LeatherShorts ),
				typeof( LeatherSkirt ),			typeof( LeatherCap ),			typeof( FemalePlateChest ),
				typeof( PlateArms ),			typeof( PlateChest ),			typeof( PlateGloves ),
				typeof( PlateGorget ),			typeof( PlateHelm ),			typeof( PlateLegs ),
				typeof( RingmailArms ),			typeof( RingmailChest ),		typeof( RingmailGloves ),
				typeof( RingmailLegs ),			typeof( FemaleStuddedChest ),	typeof( StuddedArms ),
				typeof( StuddedBustierArms ),	typeof( StuddedChest ),			typeof( StuddedGloves ),
				typeof( StuddedGorget ),		typeof( StuddedLegs )
			};

		public static Type[] ArmorTypes{ get{ return m_ArmorTypes; } }

		private static Type[] m_ShieldTypes = new Type[]
			{
				typeof( BronzeShield ),			typeof( Buckler ),				typeof( HeaterShield ),
				typeof( MetalKiteShield ),		typeof( MetalShield ),			typeof( WoodenKiteShield ),
				typeof( WoodenShield )
			};

		public static Type[] ShieldTypes{ get{ return m_ShieldTypes; } }

		private static Type[] m_GemTypes = new Type[]
			{
				typeof( Amber ),				typeof( Amethyst ),				typeof( Citrine ),
				typeof( Diamond ),				typeof( Emerald ),				typeof( Ruby ),
				typeof( Sapphire ),				typeof( StarSapphire ),			typeof( Tourmaline )
			};

		public static Type[] GemTypes{ get{ return m_GemTypes; } }

		private static Type[] m_JewelryTypes = new Type[]
			{
				typeof( GoldRing ),				typeof( GoldBracelet ),
				typeof( SilverRing ),			typeof( SilverBracelet )
			};

		public static Type[] JewelryTypes{ get{ return m_JewelryTypes; } }

		private static Type[] m_RegTypes = new Type[]
			{
				typeof( BlackPearl ),			typeof( Bloodmoss ),			typeof( Garlic ),
				typeof( Ginseng ),				typeof( MandrakeRoot ),			typeof( Nightshade ),
				typeof( SulfurousAsh ),			typeof( SpidersSilk )
			};

		public static Type[] RegTypes{ get{ return m_RegTypes; } }

		private static Type[] m_NecroRegTypes = new Type[]
			{
				typeof( BatWing ),				typeof( GraveDust ),			typeof( DaemonBlood ),
				typeof( NoxCrystal ),			typeof( PigIron )
			};

		public static Type[] NecroRegTypes{ get{ return m_NecroRegTypes; } }

		private static Type[] m_PotionTypes = new Type[]
			{
				typeof( AgilityPotion ),		typeof( StrengthPotion ),		typeof( RefreshPotion ),
				typeof( LesserCurePotion ),		typeof( LesserHealPotion ),		typeof( LesserPoisonPotion )
			};

		public static Type[] PotionTypes{ get{ return m_PotionTypes; } }

		private static Type[] m_InstrumentTypes = new Type[]
			{
				typeof( Drums ),				typeof( Harp ),					typeof( LapHarp ),
				typeof( Lute ),					typeof( Tambourine ),			typeof( TambourineTassel )
			};

		private static Type[] m_StatueTypes = new Type[]
		{
			typeof( StatueSouth ),			typeof( StatueSouth2 ),			typeof( StatueNorth ),
			typeof( StatueWest ),			typeof( StatueEast ),			typeof( StatueEast2 ),
			typeof( StatueSouthEast ),		typeof( BustSouth ),			typeof( BustEast )
		};

		public static Type[] StatueTypes{ get{ return m_StatueTypes; } }

		private static Type[] m_RegularScrollTypes = new Type[]
			{
				typeof( ClumsyScroll ),			typeof( CreateFoodScroll ),		typeof( FeeblemindScroll ),		typeof( HealScroll ),
				typeof( MagicArrowScroll ),		typeof( NightSightScroll ),		typeof( ReactiveArmorScroll ),	typeof( WeakenScroll ),
				typeof( AgilityScroll ),		typeof( CunningScroll ),		typeof( CureScroll ),			typeof( HarmScroll ),
				typeof( MagicTrapScroll ),		typeof( MagicUnTrapScroll ),	typeof( ProtectionScroll ),		typeof( StrengthScroll ),
				typeof( BlessScroll ),			typeof( FireballScroll ),		typeof( MagicLockScroll ),		typeof( PoisonScroll ),
				typeof( TelekinisisScroll ),	typeof( TeleportScroll ),		typeof( UnlockScroll ),			typeof( WallOfStoneScroll ),
				typeof( ArchCureScroll ),		typeof( ArchProtectionScroll ),	typeof( CurseScroll ),			typeof( FireFieldScroll ),
				typeof( GreaterHealScroll ),	typeof( LightningScroll ),		typeof( ManaDrainScroll ),		typeof( RecallScroll ),
				typeof( BladeSpiritsScroll ),	typeof( DispelFieldScroll ),	typeof( IncognitoScroll ),		typeof( MagicReflectScroll ),
				typeof( MindBlastScroll ),		typeof( ParalyzeScroll ),		typeof( PoisonFieldScroll ),	typeof( SummonCreatureScroll ),
				typeof( DispelScroll ),			typeof( EnergyBoltScroll ),		typeof( ExplosionScroll ),		typeof( InvisibilityScroll ),
				typeof( MarkScroll ),			typeof( MassCurseScroll ),		typeof( ParalyzeFieldScroll ),	typeof( RevealScroll ),
				typeof( ChainLightningScroll ), typeof( EnergyFieldScroll ),	typeof( FlamestrikeScroll ),	typeof( GateTravelScroll ),
				typeof( ManaVampireScroll ),	typeof( MassDispelScroll ),		typeof( MeteorSwarmScroll ),	typeof( PolymorphScroll ),
				typeof( EarthquakeScroll ),		typeof( EnergyVortexScroll ),	typeof( ResurrectionScroll ),	typeof( SummonAirElementalScroll ),
				typeof( SummonDaemonScroll ),	typeof( SummonEarthElementalScroll ),	typeof( SummonFireElementalScroll ),	typeof( SummonWaterElementalScroll )
			};

		private static Type[] m_NecromancyScrollTypes = new Type[]
			{
				typeof( AnimateDeadScroll ),		typeof( BloodOathScroll ),		typeof( CorpseSkinScroll ),	typeof( CurseWeaponScroll ),
				typeof( EvilOmenScroll ),			typeof( HorrificBeastScroll ),	typeof( LichFormScroll ),	typeof( MindRotScroll ),
				typeof( PainSpikeScroll ),			typeof( PoisonStrikeScroll ),	typeof( StrangleScroll ),	typeof( SummonFamiliarScroll ),
				typeof( VampiricEmbraceScroll ),	typeof( VengefulSpiritScroll ),	typeof( WitherScroll ),		typeof( WraithFormScroll )
		};

		private static Type[] m_PaladinScrollTypes = new Type[0];

		public static Type[] RegularScrollTypes{ get{ return m_RegularScrollTypes; } }
		public static Type[] NecromancyScrollTypes{ get{ return m_NecromancyScrollTypes; } }
		public static Type[] PaladinScrollTypes{ get{ return m_PaladinScrollTypes; } }
		#endregion

		#region Accessors
		public static BaseWeapon RandomWeapon()
		{
			if ( Core.AOS )
				return Construct( m_AosWeaponTypes, m_WeaponTypes ) as BaseWeapon;

			return Construct( m_WeaponTypes ) as BaseWeapon;
		}

		public static Item RandomWeaponOrJewelry()
		{
			if ( Core.AOS )
				return Construct( m_AosWeaponTypes, m_WeaponTypes, m_JewelryTypes );

			return Construct( m_WeaponTypes, m_JewelryTypes );
		}

		public static BaseJewel RandomJewelry()
		{
			return Construct( m_JewelryTypes ) as BaseJewel;
		}

		public static BaseArmor RandomArmor()
		{
			return Construct( m_ArmorTypes ) as BaseArmor;
		}

		public static BaseShield RandomShield()
		{
			return Construct( m_ShieldTypes ) as BaseShield;
		}

		public static BaseArmor RandomArmorOrShield()
		{
			return Construct( m_ArmorTypes, m_ShieldTypes ) as BaseArmor;
		}

		public static Item RandomArmorOrShieldOrJewelry()
		{
			return Construct( m_ArmorTypes, m_ShieldTypes, m_JewelryTypes );
		}

		public static Item RandomArmorOrShieldOrWeapon()
		{
			if ( Core.AOS )
				return Construct( m_AosWeaponTypes, m_WeaponTypes, m_ArmorTypes, m_ShieldTypes );

			return Construct( m_WeaponTypes, m_ArmorTypes, m_ShieldTypes );
		}

		public static Item RandomArmorOrShieldOrWeaponOrJewelry()
		{
			if ( Core.AOS )
				return Construct( m_AosWeaponTypes, m_WeaponTypes, m_ArmorTypes, m_ShieldTypes, m_JewelryTypes );

			return Construct( m_WeaponTypes, m_ArmorTypes, m_ShieldTypes, m_JewelryTypes );
		}

		public static Item RandomGem()
		{
			return Construct( m_GemTypes );
		}

		public static Item RandomReagent()
		{
			return Construct( m_RegTypes );
		}

		public static Item RandomNecromancyReagent()
		{
			return Construct( m_NecroRegTypes );
		}

		public static Item RandomPossibleReagent()
		{
			if ( Core.AOS )
				return Construct( m_RegTypes, m_NecroRegTypes );

			return Construct( m_RegTypes );
		}

		public static Item RandomPotion()
		{
			return Construct( m_PotionTypes );
		}

		public static BaseInstrument RandomInstrument()
		{
			return Construct( m_InstrumentTypes ) as BaseInstrument;
		}

		public static Item RandomStatue()
		{
			return Construct( m_StatueTypes );
		}

		public static SpellScroll RandomScroll( int minIndex, int maxIndex, SpellbookType type )
		{
			Type[] types;

			switch ( type )
			{
				default:
				case SpellbookType.Regular: types = m_RegularScrollTypes; break;
				case SpellbookType.Necromancer: types = m_NecromancyScrollTypes; break;
				case SpellbookType.Paladin: types = m_PaladinScrollTypes; break;
			}

			return Construct( types, Utility.RandomMinMax( minIndex, maxIndex ) ) as SpellScroll;
		}
		#endregion

		#region Construction methods
		public static Item Construct( Type type )
		{
			try
			{
				return Activator.CreateInstance( type ) as Item;
			}
			catch
			{
				return null;
			}
		}

		public static Item Construct( Type[] types )
		{
			if ( types.Length > 0 )
				return Construct( types, Utility.Random( types.Length ) );

			return null;
		}

		public static Item Construct( Type[] types, int index )
		{
			if ( index >= 0 && index < types.Length )
				return Construct( types[index] );

			return null;
		}

		public static Item Construct( params Type[][] types )
		{
			int totalLength = 0;

			for ( int i = 0; i < types.Length; ++i )
				totalLength += types[i].Length;

			if ( totalLength > 0 )
			{
				int index = Utility.Random( totalLength );

				for ( int i = 0; i < types.Length; ++i )
				{
					if ( index >= 0 && index < types[i].Length )
						return Construct( types[i][index] );

					index -= types[i].Length;
				}
			}

			return null;
		}
		#endregion
	}
}

Any help please??
 

LordHogFred

Knight
Kalpon777 said:
Alright, this is really sort of frustrating! In the "How To" The last script alteration in loot.cs asks for this;

"To alter Loot.cs you need to find this line of code:
public static Type[] ClothingTypes{ get{ return m_ClothingTypes; } }"

No where in my loot.cs do I see ClothingTypes, I've looked again and again, each line through and through. It's just not there! Everything else was easy, but this part is confusing. I'll post my loot.cs

Code:
using System;
using System.IO;
using System.Reflection;
using Server;
using Server.Items;

namespace Server
{
	public class Loot
	{
		#region List definitions
		private static Type[] m_AosWeaponTypes = new Type[]
			{
				typeof( Scythe ),				typeof( BoneHarvester ),		typeof( Scepter ),
				typeof( BladedStaff ),			typeof( Pike ),					typeof( DoubleBladedStaff ),
				typeof( Lance ),				typeof( CrescentBlade ),		typeof( CompositeBow ),
				typeof( RepeatingCrossbow )
			};

		public static Type[] AosWeaponTypes{ get{ return m_AosWeaponTypes; } }

		private static Type[] m_WeaponTypes = new Type[]
			{
				typeof( Axe ),					typeof( BattleAxe ),			typeof( DoubleAxe ),
				typeof( ExecutionersAxe ),		typeof( Hatchet ),				typeof( LargeBattleAxe ),
				typeof( TwoHandedAxe ),			typeof( WarAxe ),				typeof( Club ),
				typeof( Mace ),					typeof( Maul ),					typeof( WarHammer ),
				typeof( WarMace ),				typeof( Bardiche ),				typeof( Halberd ),
				typeof( Bow ),					typeof( Crossbow ),				typeof( HeavyCrossbow ),
				typeof( Spear ),				typeof( ShortSpear ),			typeof( Pitchfork ),
				typeof( WarFork ),				typeof( BlackStaff ),			typeof( GnarledStaff ),
				typeof( QuarterStaff ),			typeof( Broadsword ),			typeof( Cutlass ),
				typeof( Katana ),				typeof( Kryss ),				typeof( Longsword ),
				typeof( Scimitar ),				typeof( VikingSword )
			};

		public static Type[] WeaponTypes{ get{ return m_WeaponTypes; } }

		private static Type[] m_ArmorTypes = new Type[]
			{
				typeof( BoneArms ),				typeof( BoneChest ),			typeof( BoneGloves ),
				typeof( BoneLegs ),				typeof( BoneHelm ),				typeof( ChainChest ),
				typeof( ChainLegs ),			typeof( ChainCoif ),			typeof( Bascinet ),
				typeof( CloseHelm ),			typeof( Helmet ),				typeof( NorseHelm ),
				typeof( OrcHelm ),				typeof( FemaleLeatherChest ),	typeof( LeatherArms ),
				typeof( LeatherBustierArms ),	typeof( LeatherChest ),			typeof( LeatherGloves ),
				typeof( LeatherGorget ),		typeof( LeatherLegs ),			typeof( LeatherShorts ),
				typeof( LeatherSkirt ),			typeof( LeatherCap ),			typeof( FemalePlateChest ),
				typeof( PlateArms ),			typeof( PlateChest ),			typeof( PlateGloves ),
				typeof( PlateGorget ),			typeof( PlateHelm ),			typeof( PlateLegs ),
				typeof( RingmailArms ),			typeof( RingmailChest ),		typeof( RingmailGloves ),
				typeof( RingmailLegs ),			typeof( FemaleStuddedChest ),	typeof( StuddedArms ),
				typeof( StuddedBustierArms ),	typeof( StuddedChest ),			typeof( StuddedGloves ),
				typeof( StuddedGorget ),		typeof( StuddedLegs )
			};

		public static Type[] ArmorTypes{ get{ return m_ArmorTypes; } }

		private static Type[] m_ShieldTypes = new Type[]
			{
				typeof( BronzeShield ),			typeof( Buckler ),				typeof( HeaterShield ),
				typeof( MetalKiteShield ),		typeof( MetalShield ),			typeof( WoodenKiteShield ),
				typeof( WoodenShield )
			};

		public static Type[] ShieldTypes{ get{ return m_ShieldTypes; } }

		private static Type[] m_GemTypes = new Type[]
			{
				typeof( Amber ),				typeof( Amethyst ),				typeof( Citrine ),
				typeof( Diamond ),				typeof( Emerald ),				typeof( Ruby ),
				typeof( Sapphire ),				typeof( StarSapphire ),			typeof( Tourmaline )
			};

		public static Type[] GemTypes{ get{ return m_GemTypes; } }

		private static Type[] m_JewelryTypes = new Type[]
			{
				typeof( GoldRing ),				typeof( GoldBracelet ),
				typeof( SilverRing ),			typeof( SilverBracelet )
			};

		public static Type[] JewelryTypes{ get{ return m_JewelryTypes; } }

		private static Type[] m_RegTypes = new Type[]
			{
				typeof( BlackPearl ),			typeof( Bloodmoss ),			typeof( Garlic ),
				typeof( Ginseng ),				typeof( MandrakeRoot ),			typeof( Nightshade ),
				typeof( SulfurousAsh ),			typeof( SpidersSilk )
			};

		public static Type[] RegTypes{ get{ return m_RegTypes; } }

		private static Type[] m_NecroRegTypes = new Type[]
			{
				typeof( BatWing ),				typeof( GraveDust ),			typeof( DaemonBlood ),
				typeof( NoxCrystal ),			typeof( PigIron )
			};

		public static Type[] NecroRegTypes{ get{ return m_NecroRegTypes; } }

		private static Type[] m_PotionTypes = new Type[]
			{
				typeof( AgilityPotion ),		typeof( StrengthPotion ),		typeof( RefreshPotion ),
				typeof( LesserCurePotion ),		typeof( LesserHealPotion ),		typeof( LesserPoisonPotion )
			};

		public static Type[] PotionTypes{ get{ return m_PotionTypes; } }

		private static Type[] m_InstrumentTypes = new Type[]
			{
				typeof( Drums ),				typeof( Harp ),					typeof( LapHarp ),
				typeof( Lute ),					typeof( Tambourine ),			typeof( TambourineTassel )
			};

		private static Type[] m_StatueTypes = new Type[]
		{
			typeof( StatueSouth ),			typeof( StatueSouth2 ),			typeof( StatueNorth ),
			typeof( StatueWest ),			typeof( StatueEast ),			typeof( StatueEast2 ),
			typeof( StatueSouthEast ),		typeof( BustSouth ),			typeof( BustEast )
		};

		public static Type[] StatueTypes{ get{ return m_StatueTypes; } }

		private static Type[] m_RegularScrollTypes = new Type[]
			{
				typeof( ClumsyScroll ),			typeof( CreateFoodScroll ),		typeof( FeeblemindScroll ),		typeof( HealScroll ),
				typeof( MagicArrowScroll ),		typeof( NightSightScroll ),		typeof( ReactiveArmorScroll ),	typeof( WeakenScroll ),
				typeof( AgilityScroll ),		typeof( CunningScroll ),		typeof( CureScroll ),			typeof( HarmScroll ),
				typeof( MagicTrapScroll ),		typeof( MagicUnTrapScroll ),	typeof( ProtectionScroll ),		typeof( StrengthScroll ),
				typeof( BlessScroll ),			typeof( FireballScroll ),		typeof( MagicLockScroll ),		typeof( PoisonScroll ),
				typeof( TelekinisisScroll ),	typeof( TeleportScroll ),		typeof( UnlockScroll ),			typeof( WallOfStoneScroll ),
				typeof( ArchCureScroll ),		typeof( ArchProtectionScroll ),	typeof( CurseScroll ),			typeof( FireFieldScroll ),
				typeof( GreaterHealScroll ),	typeof( LightningScroll ),		typeof( ManaDrainScroll ),		typeof( RecallScroll ),
				typeof( BladeSpiritsScroll ),	typeof( DispelFieldScroll ),	typeof( IncognitoScroll ),		typeof( MagicReflectScroll ),
				typeof( MindBlastScroll ),		typeof( ParalyzeScroll ),		typeof( PoisonFieldScroll ),	typeof( SummonCreatureScroll ),
				typeof( DispelScroll ),			typeof( EnergyBoltScroll ),		typeof( ExplosionScroll ),		typeof( InvisibilityScroll ),
				typeof( MarkScroll ),			typeof( MassCurseScroll ),		typeof( ParalyzeFieldScroll ),	typeof( RevealScroll ),
				typeof( ChainLightningScroll ), typeof( EnergyFieldScroll ),	typeof( FlamestrikeScroll ),	typeof( GateTravelScroll ),
				typeof( ManaVampireScroll ),	typeof( MassDispelScroll ),		typeof( MeteorSwarmScroll ),	typeof( PolymorphScroll ),
				typeof( EarthquakeScroll ),		typeof( EnergyVortexScroll ),	typeof( ResurrectionScroll ),	typeof( SummonAirElementalScroll ),
				typeof( SummonDaemonScroll ),	typeof( SummonEarthElementalScroll ),	typeof( SummonFireElementalScroll ),	typeof( SummonWaterElementalScroll )
			};

		private static Type[] m_NecromancyScrollTypes = new Type[]
			{
				typeof( AnimateDeadScroll ),		typeof( BloodOathScroll ),		typeof( CorpseSkinScroll ),	typeof( CurseWeaponScroll ),
				typeof( EvilOmenScroll ),			typeof( HorrificBeastScroll ),	typeof( LichFormScroll ),	typeof( MindRotScroll ),
				typeof( PainSpikeScroll ),			typeof( PoisonStrikeScroll ),	typeof( StrangleScroll ),	typeof( SummonFamiliarScroll ),
				typeof( VampiricEmbraceScroll ),	typeof( VengefulSpiritScroll ),	typeof( WitherScroll ),		typeof( WraithFormScroll )
		};

		private static Type[] m_PaladinScrollTypes = new Type[0];

		public static Type[] RegularScrollTypes{ get{ return m_RegularScrollTypes; } }
		public static Type[] NecromancyScrollTypes{ get{ return m_NecromancyScrollTypes; } }
		public static Type[] PaladinScrollTypes{ get{ return m_PaladinScrollTypes; } }
		#endregion

		#region Accessors
		public static BaseWeapon RandomWeapon()
		{
			if ( Core.AOS )
				return Construct( m_AosWeaponTypes, m_WeaponTypes ) as BaseWeapon;

			return Construct( m_WeaponTypes ) as BaseWeapon;
		}

		public static Item RandomWeaponOrJewelry()
		{
			if ( Core.AOS )
				return Construct( m_AosWeaponTypes, m_WeaponTypes, m_JewelryTypes );

			return Construct( m_WeaponTypes, m_JewelryTypes );
		}

		public static BaseJewel RandomJewelry()
		{
			return Construct( m_JewelryTypes ) as BaseJewel;
		}

		public static BaseArmor RandomArmor()
		{
			return Construct( m_ArmorTypes ) as BaseArmor;
		}

		public static BaseShield RandomShield()
		{
			return Construct( m_ShieldTypes ) as BaseShield;
		}

		public static BaseArmor RandomArmorOrShield()
		{
			return Construct( m_ArmorTypes, m_ShieldTypes ) as BaseArmor;
		}

		public static Item RandomArmorOrShieldOrJewelry()
		{
			return Construct( m_ArmorTypes, m_ShieldTypes, m_JewelryTypes );
		}

		public static Item RandomArmorOrShieldOrWeapon()
		{
			if ( Core.AOS )
				return Construct( m_AosWeaponTypes, m_WeaponTypes, m_ArmorTypes, m_ShieldTypes );

			return Construct( m_WeaponTypes, m_ArmorTypes, m_ShieldTypes );
		}

		public static Item RandomArmorOrShieldOrWeaponOrJewelry()
		{
			if ( Core.AOS )
				return Construct( m_AosWeaponTypes, m_WeaponTypes, m_ArmorTypes, m_ShieldTypes, m_JewelryTypes );

			return Construct( m_WeaponTypes, m_ArmorTypes, m_ShieldTypes, m_JewelryTypes );
		}

		public static Item RandomGem()
		{
			return Construct( m_GemTypes );
		}

		public static Item RandomReagent()
		{
			return Construct( m_RegTypes );
		}

		public static Item RandomNecromancyReagent()
		{
			return Construct( m_NecroRegTypes );
		}

		public static Item RandomPossibleReagent()
		{
			if ( Core.AOS )
				return Construct( m_RegTypes, m_NecroRegTypes );

			return Construct( m_RegTypes );
		}

		public static Item RandomPotion()
		{
			return Construct( m_PotionTypes );
		}

		public static BaseInstrument RandomInstrument()
		{
			return Construct( m_InstrumentTypes ) as BaseInstrument;
		}

		public static Item RandomStatue()
		{
			return Construct( m_StatueTypes );
		}

		public static SpellScroll RandomScroll( int minIndex, int maxIndex, SpellbookType type )
		{
			Type[] types;

			switch ( type )
			{
				default:
				case SpellbookType.Regular: types = m_RegularScrollTypes; break;
				case SpellbookType.Necromancer: types = m_NecromancyScrollTypes; break;
				case SpellbookType.Paladin: types = m_PaladinScrollTypes; break;
			}

			return Construct( types, Utility.RandomMinMax( minIndex, maxIndex ) ) as SpellScroll;
		}
		#endregion

		#region Construction methods
		public static Item Construct( Type type )
		{
			try
			{
				return Activator.CreateInstance( type ) as Item;
			}
			catch
			{
				return null;
			}
		}

		public static Item Construct( Type[] types )
		{
			if ( types.Length > 0 )
				return Construct( types, Utility.Random( types.Length ) );

			return null;
		}

		public static Item Construct( Type[] types, int index )
		{
			if ( index >= 0 && index < types.Length )
				return Construct( types[index] );

			return null;
		}

		public static Item Construct( params Type[][] types )
		{
			int totalLength = 0;

			for ( int i = 0; i < types.Length; ++i )
				totalLength += types[i].Length;

			if ( totalLength > 0 )
			{
				int index = Utility.Random( totalLength );

				for ( int i = 0; i < types.Length; ++i )
				{
					if ( index >= 0 && index < types[i].Length )
						return Construct( types[i][index] );

					index -= types[i].Length;
				}
			}

			return null;
		}
		#endregion
	}
}

Any help please??

Ok no worries just place the loot.cs info after any of the other Loot entrys. For example just paste it in between these two lines.
Code:
		public static Type[] PaladinScrollTypes{ get{ return m_PaladinScrollTypes; } }
		#endregion
It should work fine, hope that helps :),
 

Kalpon777

Wanderer
Nope... I tried it and got this:

PHP:
Scripts: Compiling C# scripts...failed (96 errors, 0 warnings)
 - Error: Scripts\Misc\LootPack.cs: CS1513: (line 240, column 55) } expected
 - Error: Scripts\Misc\LootPack.cs: CS1026: (line 240, column 55) ) expected
 - Error: Scripts\Misc\LootPack.cs: CS1002: (line 240, column 55) ; expected
 - Error: Scripts\Misc\LootPack.cs: CS1520: (line 242, column 9) Class, struct,
or interface method must have a return type
 - Error: Scripts\Misc\LootPack.cs: CS1031: (line 242, column 24) Type expected
 - Error: Scripts\Misc\LootPack.cs: CS1519: (line 242, column 42) Invalid token
',' in class, struct, or interface member declaration
 - Error: Scripts\Misc\LootPack.cs: CS1513: (line 250, column 55) } expected
 - Error: Scripts\Misc\LootPack.cs: CS1026: (line 250, column 55) ) expected
 - Error: Scripts\Misc\LootPack.cs: CS1002: (line 250, column 55) ; expected
 - Error: Scripts\Misc\LootPack.cs: CS1520: (line 252, column 8) Class, struct,
or interface method must have a return type
 - Error: Scripts\Misc\LootPack.cs: CS1031: (line 252, column 23) Type expected
 - Error: Scripts\Misc\LootPack.cs: CS1519: (line 252, column 41) Invalid token
',' in class, struct, or interface member declaration
 - Error: Scripts\Misc\LootPack.cs: CS1520: (line 253, column 8) Class, struct,
or interface method must have a return type
 - Error: Scripts\Misc\LootPack.cs: CS1031: (line 253, column 23) Type expected
 - Error: Scripts\Misc\LootPack.cs: CS1519: (line 253, column 40) Invalid token
',' in class, struct, or interface member declaration
 - Error: Scripts\Misc\LootPack.cs: CS1513: (line 262, column 55) } expected
 - Error: Scripts\Misc\LootPack.cs: CS1026: (line 262, column 55) ) expected
 - Error: Scripts\Misc\LootPack.cs: CS1002: (line 262, column 55) ; expected
 - Error: Scripts\Misc\LootPack.cs: CS1520: (line 264, column 9) Class, struct,
or interface method must have a return type
 - Error: Scripts\Misc\LootPack.cs: CS1031: (line 264, column 24) Type expected
 - Error: Scripts\Misc\LootPack.cs: CS1519: (line 264, column 42) Invalid token
',' in class, struct, or interface member declaration
 - Error: Scripts\Misc\LootPack.cs: CS1520: (line 265, column 9) Class, struct,
or interface method must have a return type
 - Error: Scripts\Misc\LootPack.cs: CS1031: (line 265, column 24) Type expected
 - Error: Scripts\Misc\LootPack.cs: CS1519: (line 265, column 41) Invalid token
',' in class, struct, or interface member declaration
 - Error: Scripts\Misc\LootPack.cs: CS1520: (line 266, column 9) Class, struct,
or interface method must have a return type
 - Error: Scripts\Misc\LootPack.cs: CS1031: (line 266, column 24) Type expected
 - Error: Scripts\Misc\LootPack.cs: CS1519: (line 266, column 40) Invalid token
',' in class, struct, or interface member declaration
 - Error: Scripts\Misc\LootPack.cs: CS1513: (line 275, column 55) } expected
 - Error: Scripts\Misc\LootPack.cs: CS1026: (line 275, column 55) ) expected
 - Error: Scripts\Misc\LootPack.cs: CS1002: (line 275, column 55) ; expected
 - Error: Scripts\Misc\LootPack.cs: CS1520: (line 277, column 9) Class, struct,
or interface method must have a return type
 - Error: Scripts\Misc\LootPack.cs: CS1031: (line 277, column 24) Type expected
 - Error: Scripts\Misc\LootPack.cs: CS1519: (line 277, column 42) Invalid token
',' in class, struct, or interface member declaration
 - Error: Scripts\Misc\LootPack.cs: CS1520: (line 278, column 9) Class, struct,
or interface method must have a return type
 - Error: Scripts\Misc\LootPack.cs: CS1031: (line 278, column 24) Type expected
 - Error: Scripts\Misc\LootPack.cs: CS1519: (line 278, column 41) Invalid token
',' in class, struct, or interface member declaration
 - Error: Scripts\Misc\LootPack.cs: CS1520: (line 279, column 9) Class, struct,
or interface method must have a return type
 - Error: Scripts\Misc\LootPack.cs: CS1031: (line 279, column 24) Type expected
 - Error: Scripts\Misc\LootPack.cs: CS1519: (line 279, column 40) Invalid token
',' in class, struct, or interface member declaration
 - Error: Scripts\Misc\LootPack.cs: CS1520: (line 280, column 9) Class, struct,
or interface method must have a return type
 - Error: Scripts\Misc\LootPack.cs: CS1031: (line 280, column 24) Type expected
 - Error: Scripts\Misc\LootPack.cs: CS1519: (line 280, column 43) Invalid token
',' in class, struct, or interface member declaration
 - Error: Scripts\Misc\LootPack.cs: CS1513: (line 290, column 55) } expected
 - Error: Scripts\Misc\LootPack.cs: CS1026: (line 290, column 55) ) expected
 - Error: Scripts\Misc\LootPack.cs: CS1002: (line 290, column 55) ; expected
 - Error: Scripts\Misc\LootPack.cs: CS1520: (line 292, column 9) Class, struct,
or interface method must have a return type
 - Error: Scripts\Misc\LootPack.cs: CS1031: (line 292, column 24) Type expected
 - Error: Scripts\Misc\LootPack.cs: CS1519: (line 292, column 42) Invalid token
',' in class, struct, or interface member declaration
 - Error: Scripts\Misc\LootPack.cs: CS1520: (line 293, column 9) Class, struct,
or interface method must have a return type
 - Error: Scripts\Misc\LootPack.cs: CS1031: (line 293, column 24) Type expected
 - Error: Scripts\Misc\LootPack.cs: CS1519: (line 293, column 41) Invalid token
',' in class, struct, or interface member declaration
 - Error: Scripts\Misc\LootPack.cs: CS1520: (line 294, column 9) Class, struct,
or interface method must have a return type
 - Error: Scripts\Misc\LootPack.cs: CS1031: (line 294, column 24) Type expected
 - Error: Scripts\Misc\LootPack.cs: CS1519: (line 294, column 40) Invalid token
',' in class, struct, or interface member declaration
 - Error: Scripts\Misc\LootPack.cs: CS1520: (line 295, column 9) Class, struct,
or interface method must have a return type
 - Error: Scripts\Misc\LootPack.cs: CS1031: (line 295, column 24) Type expected
 - Error: Scripts\Misc\LootPack.cs: CS1519: (line 295, column 43) Invalid token
',' in class, struct, or interface member declaration
 - Error: Scripts\Misc\LootPack.cs: CS1520: (line 296, column 9) Class, struct,
or interface method must have a return type
 - Error: Scripts\Misc\LootPack.cs: CS1031: (line 296, column 24) Type expected
 - Error: Scripts\Misc\LootPack.cs: CS1519: (line 296, column 42) Invalid token
',' in class, struct, or interface member declaration
 - Error: Scripts\Misc\LootPack.cs: CS1513: (line 308, column 55) } expected
 - Error: Scripts\Misc\LootPack.cs: CS1026: (line 308, column 55) ) expected
 - Error: Scripts\Misc\LootPack.cs: CS1002: (line 308, column 55) ; expected
 - Error: Scripts\Misc\LootPack.cs: CS1520: (line 310, column 9) Class, struct,
or interface method must have a return type
 - Error: Scripts\Misc\LootPack.cs: CS1031: (line 310, column 24) Type expected
 - Error: Scripts\Misc\LootPack.cs: CS1519: (line 310, column 42) Invalid token
',' in class, struct, or interface member declaration
 - Error: Scripts\Misc\LootPack.cs: CS1520: (line 311, column 9) Class, struct,
or interface method must have a return type
 - Error: Scripts\Misc\LootPack.cs: CS1031: (line 311, column 24) Type expected
 - Error: Scripts\Misc\LootPack.cs: CS1519: (line 311, column 41) Invalid token
',' in class, struct, or interface member declaration
 - Error: Scripts\Misc\LootPack.cs: CS1520: (line 312, column 9) Class, struct,
or interface method must have a return type
 - Error: Scripts\Misc\LootPack.cs: CS1031: (line 312, column 24) Type expected
 - Error: Scripts\Misc\LootPack.cs: CS1519: (line 312, column 40) Invalid token
',' in class, struct, or interface member declaration
 - Error: Scripts\Misc\LootPack.cs: CS1520: (line 313, column 9) Class, struct,
or interface method must have a return type
 - Error: Scripts\Misc\LootPack.cs: CS1031: (line 313, column 24) Type expected
 - Error: Scripts\Misc\LootPack.cs: CS1519: (line 313, column 43) Invalid token
',' in class, struct, or interface member declaration
 - Error: Scripts\Misc\LootPack.cs: CS1520: (line 314, column 9) Class, struct,
or interface method must have a return type
 - Error: Scripts\Misc\LootPack.cs: CS1031: (line 314, column 24) Type expected
 - Error: Scripts\Misc\LootPack.cs: CS1519: (line 314, column 42) Invalid token
',' in class, struct, or interface member declaration
 - Error: Scripts\Misc\LootPack.cs: CS1513: (line 330, column 55) } expected
 - Error: Scripts\Misc\LootPack.cs: CS1026: (line 330, column 55) ) expected
 - Error: Scripts\Misc\LootPack.cs: CS1002: (line 330, column 55) ; expected
 - Error: Scripts\Misc\LootPack.cs: CS1520: (line 332, column 9) Class, struct,
or interface method must have a return type
 - Error: Scripts\Misc\LootPack.cs: CS1031: (line 332, column 24) Type expected
 - Error: Scripts\Misc\LootPack.cs: CS1519: (line 332, column 42) Invalid token
',' in class, struct, or interface member declaration
 - Error: Scripts\Misc\LootPack.cs: CS1520: (line 333, column 9) Class, struct,
or interface method must have a return type
 - Error: Scripts\Misc\LootPack.cs: CS1031: (line 333, column 24) Type expected
 - Error: Scripts\Misc\LootPack.cs: CS1519: (line 333, column 41) Invalid token
',' in class, struct, or interface member declaration
 - Error: Scripts\Misc\LootPack.cs: CS1520: (line 334, column 9) Class, struct,
or interface method must have a return type
 - Error: Scripts\Misc\LootPack.cs: CS1031: (line 334, column 24) Type expected
 - Error: Scripts\Misc\LootPack.cs: CS1519: (line 334, column 40) Invalid token
',' in class, struct, or interface member declaration
 - Error: Scripts\Misc\LootPack.cs: CS1520: (line 335, column 9) Class, struct,
or interface method must have a return type
 - Error: Scripts\Misc\LootPack.cs: CS1031: (line 335, column 24) Type expected
 - Error: Scripts\Misc\LootPack.cs: CS1519: (line 335, column 43) Invalid token
',' in class, struct, or interface member declaration
 - Error: Scripts\Misc\LootPack.cs: CS1520: (line 336, column 9) Class, struct,
or interface method must have a return type
 - Error: Scripts\Misc\LootPack.cs: CS1031: (line 336, column 24) Type expected
 - Error: Scripts\Misc\LootPack.cs: CS1519: (line 336, column 42) Invalid token
',' in class, struct, or interface member declaration
Scripts: One or more scripts failed to compile or no script files were found.
 - Press return to exit, or R to try again.



Here's my Loot.cs: (modified)

Code:
using System;
using System.IO;
using System.Reflection;
using Server;
using Server.Items;

namespace Server
{
	public class Loot
	{
		#region List definitions
		private static Type[] m_AosWeaponTypes = new Type[]
			{
				typeof( Scythe ),			

	typeof( BoneHarvester ),		typeof( Scepter ),
				typeof( BladedStaff ),			

typeof( Pike ),					typeof( 

DoubleBladedStaff ),
				typeof( Lance ),			

	typeof( CrescentBlade ),		typeof( CompositeBow ),
				typeof( RepeatingCrossbow )
			};

		public static Type[] AosWeaponTypes{ get{ return 

m_AosWeaponTypes; } }

		private static Type[] m_WeaponTypes = new Type[]
			{
				typeof( Axe ),				

	typeof( BattleAxe ),			typeof( DoubleAxe ),
				typeof( ExecutionersAxe ),		

typeof( Hatchet ),				typeof( LargeBattleAxe 

),
				typeof( TwoHandedAxe ),			

typeof( WarAxe ),				typeof( Club ),
				typeof( Mace ),				

	typeof( Maul ),					typeof( 

WarHammer ),
				typeof( WarMace ),			

	typeof( Bardiche ),				typeof( Halberd 

),
				typeof( Bow ),				

	typeof( Crossbow ),				typeof( 

HeavyCrossbow ),
				typeof( Spear ),			

	typeof( ShortSpear ),			typeof( Pitchfork ),
				typeof( WarFork ),			

	typeof( BlackStaff ),			typeof( GnarledStaff ),
				typeof( QuarterStaff ),			

typeof( Broadsword ),			typeof( Cutlass ),
				typeof( Katana ),			

	typeof( Kryss ),				typeof( 

Longsword ),
				typeof( Scimitar ),			

	typeof( VikingSword )
			};

		public static Type[] WeaponTypes{ get{ return 

m_WeaponTypes; } }

		private static Type[] m_ArmorTypes = new Type[]
			{
				typeof( BoneArms ),			

	typeof( BoneChest ),			typeof( BoneGloves ),
				typeof( BoneLegs ),			

	typeof( BoneHelm ),				typeof( 

ChainChest ),
				typeof( ChainLegs ),			

typeof( ChainCoif ),			typeof( Bascinet ),
				typeof( CloseHelm ),			

typeof( Helmet ),				typeof( NorseHelm ),
				typeof( OrcHelm ),			

	typeof( FemaleLeatherChest ),	typeof( LeatherArms ),
				typeof( LeatherBustierArms ),	typeof( 

LeatherChest ),			typeof( LeatherGloves ),
				typeof( LeatherGorget ),		

typeof( LeatherLegs ),			typeof( LeatherShorts ),
				typeof( LeatherSkirt ),			

typeof( LeatherCap ),			typeof( FemalePlateChest ),
				typeof( PlateArms ),			

typeof( PlateChest ),			typeof( PlateGloves ),
				typeof( PlateGorget ),			

typeof( PlateHelm ),			typeof( PlateLegs ),
				typeof( RingmailArms ),			

typeof( RingmailChest ),		typeof( RingmailGloves ),
				typeof( RingmailLegs ),			

typeof( FemaleStuddedChest ),	typeof( StuddedArms ),
				typeof( StuddedBustierArms ),	typeof( 

StuddedChest ),			typeof( StuddedGloves ),
				typeof( StuddedGorget ),		

typeof( StuddedLegs )
			};

		public static Type[] ArmorTypes{ get{ return 

m_ArmorTypes; } }

		private static Type[] m_ShieldTypes = new Type[]
			{
				typeof( BronzeShield ),			

typeof( Buckler ),				typeof( HeaterShield ),
				typeof( MetalKiteShield ),		

typeof( MetalShield ),			typeof( WoodenKiteShield ),
				typeof( WoodenShield )
			};

		public static Type[] ShieldTypes{ get{ return 

m_ShieldTypes; } }

		private static Type[] m_GemTypes = new Type[]
			{
				typeof( Amber ),			

	typeof( Amethyst ),				typeof( Citrine 

),
				typeof( Diamond ),			

	typeof( Emerald ),				typeof( Ruby ),
				typeof( Sapphire ),			

	typeof( StarSapphire ),			typeof( Tourmaline )
			};

		public static Type[] GemTypes{ get{ return m_GemTypes; 

} }

		private static Type[] m_JewelryTypes = new Type[]
			{
				typeof( GoldRing ),			

	typeof( GoldBracelet ),
				typeof( SilverRing ),			

typeof( SilverBracelet )
			};

		public static Type[] JewelryTypes{ get{ return 

m_JewelryTypes; } }

		private static Type[] m_RegTypes = new Type[]
			{
				typeof( BlackPearl ),			

typeof( Bloodmoss ),			typeof( Garlic ),
				typeof( Ginseng ),			

	typeof( MandrakeRoot ),			typeof( Nightshade ),
				typeof( SulfurousAsh ),			

typeof( SpidersSilk )
			};

		public static Type[] RegTypes{ get{ return m_RegTypes; 

} }

		private static Type[] m_NecroRegTypes = new Type[]
			{
				typeof( BatWing ),			

	typeof( GraveDust ),			typeof( DaemonBlood ),
				typeof( NoxCrystal ),			

typeof( PigIron )
			};

		public static Type[] NecroRegTypes{ get{ return 

m_NecroRegTypes; } }

		private static Type[] m_PotionTypes = new Type[]
			{
				typeof( AgilityPotion ),		

typeof( StrengthPotion ),		typeof( RefreshPotion ),
				typeof( LesserCurePotion ),		

typeof( LesserHealPotion ),		typeof( LesserPoisonPotion )
			};

		public static Type[] PotionTypes{ get{ return 

m_PotionTypes; } }

		private static Type[] m_InstrumentTypes = new Type[]
			{
				typeof( Drums ),			

	typeof( Harp ),					typeof( LapHarp 

),
				typeof( Lute ),				

	typeof( Tambourine ),			typeof( 

TambourineTassel )
			};

		private static Type[] m_StatueTypes = new Type[]
		{
			typeof( StatueSouth ),			typeof( 

StatueSouth2 ),			typeof( StatueNorth ),
			typeof( StatueWest ),			typeof( 

StatueEast ),			typeof( StatueEast2 ),
			typeof( StatueSouthEast ),		typeof( 

BustSouth ),			typeof( BustEast )
		};

		public static Type[] StatueTypes{ get{ return 

m_StatueTypes; } }

		private static Type[] m_RegularScrollTypes = new Type[]
			{
				typeof( ClumsyScroll ),			

typeof( CreateFoodScroll ),		typeof( FeeblemindScroll ),	

	typeof( HealScroll ),
				typeof( MagicArrowScroll ),		

typeof( NightSightScroll ),		typeof( ReactiveArmorScroll ),	

typeof( WeakenScroll ),
				typeof( AgilityScroll ),		

typeof( CunningScroll ),		typeof( CureScroll ),		

	typeof( HarmScroll ),
				typeof( MagicTrapScroll ),		

typeof( MagicUnTrapScroll ),	typeof( ProtectionScroll ),		

typeof( StrengthScroll ),
				typeof( BlessScroll ),			

typeof( FireballScroll ),		typeof( MagicLockScroll ),	

	typeof( PoisonScroll ),
				typeof( TelekinisisScroll ),	typeof( 

TeleportScroll ),		typeof( UnlockScroll ),			

typeof( WallOfStoneScroll ),
				typeof( ArchCureScroll ),		

typeof( ArchProtectionScroll ),	typeof( CurseScroll ),			

typeof( FireFieldScroll ),
				typeof( GreaterHealScroll ),	typeof( 

LightningScroll ),		typeof( ManaDrainScroll ),		

typeof( RecallScroll ),
				typeof( BladeSpiritsScroll ),	typeof( 

DispelFieldScroll ),	typeof( IncognitoScroll ),		typeof( 

MagicReflectScroll ),
				typeof( MindBlastScroll ),		

typeof( ParalyzeScroll ),		typeof( PoisonFieldScroll ),	

typeof( SummonCreatureScroll ),
				typeof( DispelScroll ),			

typeof( EnergyBoltScroll ),		typeof( ExplosionScroll ),	

	typeof( InvisibilityScroll ),
				typeof( MarkScroll ),			

typeof( MassCurseScroll ),		typeof( ParalyzeFieldScroll ),	

typeof( RevealScroll ),
				typeof( ChainLightningScroll ), typeof( 

EnergyFieldScroll ),	typeof( FlamestrikeScroll ),	typeof( 

GateTravelScroll ),
				typeof( ManaVampireScroll ),	typeof( 

MassDispelScroll ),		typeof( MeteorSwarmScroll ),	typeof( 

PolymorphScroll ),
				typeof( EarthquakeScroll ),		

typeof( EnergyVortexScroll ),	typeof( ResurrectionScroll ),	typeof( 

SummonAirElementalScroll ),
				typeof( SummonDaemonScroll ),	typeof( 

SummonEarthElementalScroll ),	typeof( SummonFireElementalScroll ),	

typeof( SummonWaterElementalScroll )
			};

		private static Type[] m_NecromancyScrollTypes = new 

Type[]
			{
				typeof( AnimateDeadScroll ),		

typeof( BloodOathScroll ),		typeof( CorpseSkinScroll ),	

typeof( CurseWeaponScroll ),
				typeof( EvilOmenScroll ),		

	typeof( HorrificBeastScroll ),	typeof( LichFormScroll ),	

typeof( MindRotScroll ),
				typeof( PainSpikeScroll ),		

	typeof( PoisonStrikeScroll ),	typeof( StrangleScroll ),	

typeof( SummonFamiliarScroll ),
				typeof( VampiricEmbraceScroll ),	

typeof( VengefulSpiritScroll ),	typeof( WitherScroll ),		typeof( 

WraithFormScroll )
		};

		private static Type[] m_PaladinScrollTypes = new Type

[0];

		public static Type[] RegularScrollTypes{ get{ return 

m_RegularScrollTypes; } }
		public static Type[] NecromancyScrollTypes{ get{ return 

m_NecromancyScrollTypes; } }
		public static Type[] PaladinScrollTypes{ get{ return 

m_PaladinScrollTypes; } }
		#endregion
// SOCKET ADDITION
        private static Type[] m_ChippedGemTypes = new Type[]
            {
                	typeof( ChippedAmethyst ),		typeof( 

ChippedDiamond ),		typeof( ChippedEmerald ),
			typeof( ChippedRuby ),			typeof( 

ChippedSapphire ),		typeof( ChippedSkull ),
			typeof( ChippedTopaz )
            };
        public static Type[] ChippedGemTypes{ get{ return 

m_ChippedGemTypes; } }

        private static Type[] m_FlawedGemTypes = new Type[]
            {
                	typeof( FlawedAmethyst ),		typeof( 

FlawedDiamond ),		typeof( FlawedEmerald ),
			typeof( FlawedRuby ),			typeof( 

FlawedSapphire ),		typeof( FlawedSkull ),
			typeof( FlawedTopaz )
            };
        public static Type[] FlawedGemTypes{ get{ return 

m_FlawedGemTypes; } }

        private static Type[] m_PlainGemTypes = new Type[]
            {
                	typeof( PlainAmethyst ),		typeof( 

PlainDiamond ),		typeof( PlainEmerald ),
			typeof( PlainRuby ),			typeof( 

PlainSapphire ),		typeof( PlainSkull ),
			typeof( PlainTopaz )
            };
        public static Type[] PlainGemTypes{ get{ return 

m_PlainGemTypes; } }

        private static Type[] m_FlawlessGemTypes = new Type[]
            {
                	typeof( FlawlessAmethyst ),		typeof( 

FlawlessDiamond ),		typeof( FlawlessEmerald ),
			typeof( FlawlessRuby ),			typeof( 

FlawlessSapphire ),		typeof( FlawlessSkull ),
			typeof( FlawlessTopaz )
            };
        public static Type[] FlawlessGemTypes{ get{ return 

m_FlawlessGemTypes; } }

        private static Type[] m_PerfectGemTypes = new Type[]
            {
                	typeof( PerfectAmethyst ),		typeof( 

PerfectDiamond ),		typeof( PerfectEmerald ),
			typeof( PerfectRuby ),			typeof( 

PerfectSapphire ),		typeof( PerfectSkull ),
			typeof( PerfectTopaz )
            };
        public static Type[] PerfectGemTypes{ get{ return 

m_PerfectGemTypes; } }
// SOCKET ADDITION
		public static Item RandomStatue()
		{
			return Construct( m_StatueTypes );
		}
// SOCKET ADDITION
		public static Item RandomChippedGem()
		{
			return Construct( m_ChippedGemTypes );
		}

		public static Item RandomFlawedGem()
		{
			return Construct( m_FlawedGemTypes );
		}

		public static Item RandomPlainGem()
		{
			return Construct( m_PlainGemTypes );
		}

		public static Item RandomFlawlessGem()
		{
			return Construct( m_FlawlessGemTypes );
		}

		public static Item RandomPerfectGem()
		{
			return Construct( m_PerfectGemTypes );
		}
// SOCKET ADDITION
		#region Accessors
		public static BaseWeapon RandomWeapon()
		{
			if ( Core.AOS )
				return Construct( m_AosWeaponTypes, 

m_WeaponTypes ) as BaseWeapon;

			return Construct( m_WeaponTypes ) as 

BaseWeapon;
		}

		public static Item RandomWeaponOrJewelry()
		{
			if ( Core.AOS )
				return Construct( m_AosWeaponTypes, 

m_WeaponTypes, m_JewelryTypes );

			return Construct( m_WeaponTypes, m_JewelryTypes 

);
		}

		public static BaseJewel RandomJewelry()
		{
			return Construct( m_JewelryTypes ) as 

BaseJewel;
		}

		public static BaseArmor RandomArmor()
		{
			return Construct( m_ArmorTypes ) as BaseArmor;
		}

		public static BaseShield RandomShield()
		{
			return Construct( m_ShieldTypes ) as 

BaseShield;
		}

		public static BaseArmor RandomArmorOrShield()
		{
			return Construct( m_ArmorTypes, m_ShieldTypes ) 

as BaseArmor;
		}

		public static Item RandomArmorOrShieldOrJewelry()
		{
			return Construct( m_ArmorTypes, m_ShieldTypes, 

m_JewelryTypes );
		}

		public static Item RandomArmorOrShieldOrWeapon()
		{
			if ( Core.AOS )
				return Construct( m_AosWeaponTypes, 

m_WeaponTypes, m_ArmorTypes, m_ShieldTypes );

			return Construct( m_WeaponTypes, m_ArmorTypes, 

m_ShieldTypes );
		}

		public static Item 

RandomArmorOrShieldOrWeaponOrJewelry()
		{
			if ( Core.AOS )
				return Construct( m_AosWeaponTypes, 

m_WeaponTypes, m_ArmorTypes, m_ShieldTypes, m_JewelryTypes );

			return Construct( m_WeaponTypes, m_ArmorTypes, 

m_ShieldTypes, m_JewelryTypes );
		}

		public static Item RandomGem()
		{
			return Construct( m_GemTypes );
		}

		public static Item RandomReagent()
		{
			return Construct( m_RegTypes );
		}

		public static Item RandomNecromancyReagent()
		{
			return Construct( m_NecroRegTypes );
		}

		public static Item RandomPossibleReagent()
		{
			if ( Core.AOS )
				return Construct( m_RegTypes, 

m_NecroRegTypes );

			return Construct( m_RegTypes );
		}

		public static Item RandomPotion()
		{
			return Construct( m_PotionTypes );
		}

		public static BaseInstrument RandomInstrument()
		{
			return Construct( m_InstrumentTypes ) as 

BaseInstrument;
		}

		public static Item RandomStatue()
		{
			return Construct( m_StatueTypes );
		}

		public static SpellScroll RandomScroll( int minIndex, 

int maxIndex, SpellbookType type )
		{
			Type[] types;

			switch ( type )
			{
				default:
				case SpellbookType.Regular: types = 

m_RegularScrollTypes; break;
				case SpellbookType.Necromancer: types = 

m_NecromancyScrollTypes; break;
				case SpellbookType.Paladin: types = 

m_PaladinScrollTypes; break;
			}

			return Construct( types, Utility.RandomMinMax( 

minIndex, maxIndex ) ) as SpellScroll;
		}
		#endregion

		#region Construction methods
		public static Item Construct( Type type )
		{
			try
			{
				return Activator.CreateInstance( type ) 

as Item;
			}
			catch
			{
				return null;
			}
		}

		public static Item Construct( Type[] types )
		{
			if ( types.Length > 0 )
				return Construct( types, 

Utility.Random( types.Length ) );

			return null;
		}

		public static Item Construct( Type[] types, int index )
		{
			if ( index >= 0 && index < types.Length )
				return Construct( types[index] );

			return null;
		}

		public static Item Construct( params Type[][] types )
		{
			int totalLength = 0;

			for ( int i = 0; i < types.Length; ++i )
				totalLength += types[i].Length;

			if ( totalLength > 0 )
			{
				int index = Utility.Random( totalLength 

);

				for ( int i = 0; i < types.Length; ++i 

)
				{
					if ( index >= 0 && index < 

types[i].Length )
						return Construct( 

types[i][index] );

					index -= types[i].Length;
				}
			}

			return null;
		}
		#endregion
	}
}
 

Froman2686

Wanderer
Looks like something with your LootPack.cs, not your Loot.cs. With that many syntactical errors, you're probably missing an open brace or something like that somewhere that's causing the rest of the errors.
:rolleyes:

Please post your LootPack.cs.
 

strahd47

Wanderer
Kalpon777 you need to ad commas (,) after you copy/paste additions to your lootpack.cs

example withouth comma (thus producing errors):
PHP:
		#region AOS definitions
		public static readonly LootPack AosPoor = new LootPack( new LootPackEntry[]
			{
				new LootPackEntry(  true, Gold,			100.00, "1d10+10" ),
				new LootPackEntry( false, MagicItems,	  0.02, 1, 5, 0, 90 ),
				new LootPackEntry( false, Instruments,	  0.02, 1 )
// SOCKET ADDITION START
				new LootPackEntry( false, ChippedGems,	  0.05, 1 )
// SOCKET ADDITION END
			} );

and the corrected code:
PHP:
		#region AOS definitions
		public static readonly LootPack AosPoor = new LootPack( new LootPackEntry[]
			{
				new LootPackEntry(  true, Gold,			100.00, "1d10+10" ),
				new LootPackEntry( false, MagicItems,	  0.02, 1, 5, 0, 90 ),
				new LootPackEntry( false, Instruments,	  0.02, 1 ),
// SOCKET ADDITION START
				new LootPackEntry( false, ChippedGems,	  0.05, 1 )
// SOCKET ADDITION END
			} );
 

Froman2686

Wanderer
New mod for this system...

I was reading through this thread, and I noticed that there was a new DefBlacksmithy and a new DefTailoring for the crafting of socketed items. This was a good idea, but it struck me as funny for one reason:
Players already have a number of reasons to be a Blacksmith or Tailor. There are a great many items they can make and sell for a good profit. With the many skills that are 'useless,' it seemed like a good idea to delegate this ability one of them.

To that end, I present this modification, which will make it so that only Tinkers can add sockets to a weapon.

In my shard, if you want to put those gems in a sword, you're going to have to find a player-tinker and have him add sockets for you. And now, Tinkers are just a little bit more important: serious contributors to the player economy.

This is Version 1. By Version 2, I hope to have the Tinker's skill directly affect how many sockets are in the weapon, as it is currently random.

Any bug reports, suggestions, pointers, etc etc would be greatly appreciated, as this is my first serious RunUO script. Thanks.

Screenshot enclosed.

Edit: Tweaked Socket.cs to make it a bit more difficult to successfully add sockets.
 

Attachments

  • TinkerSocketHowTo.txt
    2.1 KB · Views: 74
  • Socket.jpg
    Socket.jpg
    94.7 KB · Views: 114
  • Socket.cs
    18.9 KB · Views: 66

Kasumix

Wanderer
Questions

hello i saw this script and i started to Love it. I playd D2 a while ago and the socketsystem was realy great there. and i got some suggestions to this script now. first is it possible to make magic items dropp with a chance to have sockles? and second is there alredy a second release of the horadric Cube?
i think to make the items drop with sockles would be a great add on to this system.
Realy nice work.
 

KillerBeeZ

Knight
Kasumix said:
hello i saw this script and i started to Love it. I playd D2 a while ago and the socketsystem was realy great there. and i got some suggestions to this script now. first is it possible to make magic items dropp with a chance to have sockles? and second is there alredy a second release of the horadric Cube?
i think to make the items drop with sockles would be a great add on to this system.
Realy nice work.

if you use the luck system and have a lot of luck, socketed items can drop with magic properties.

I made the cube a long time ago, I haven't really have time to mess with it so no, a second release has not been issued yet, not sure about edits to it, someone might have made it better, if fact, its been so long, and so many people used it, I'm sure someone has improved upon it by now... anyone?

if not, I can work on it between the 20 or so projects I have already lol, just dont be in a hurry in that case :p
 

Kasumix

Wanderer
that would be great. no for sure im not in a hurry and it would be great if u could update it. about the socket-drops... i dont need to edit aynthing that theyr dropable with high luck... and whats high luck for u ?
 
Top