this is just uo scripts service harvest mining.cs file:
this is just uo  scripts/service/harvest


using System;

using Server.Items;

using Server.Mobiles;

using Server.Targeting;


namespace Server.Engines.Harvest

{

    public class Mining : HarvestSystem

    {

        private static Mining m_System;


        public static Mining System

        {

            get

            {

                if (m_System == null)

                    m_System = new Mining();


                return m_System;

            }

        }


        private readonly HarvestDefinition m_OreAndStone;


        private readonly HarvestDefinition m_Sand;


        public HarvestDefinition OreAndStone

        {

            get

            {

                return this.m_OreAndStone;

            }

        }


        public HarvestDefinition Sand

        {

            get

            {

                return this.m_Sand;

            }

        }


        private Mining()

        {

            HarvestResource[] res;

            HarvestVein[] veins;


            #region Mining for ore and stone

            HarvestDefinition oreAndStone = this.m_OreAndStone = new HarvestDefinition();


            // Resource banks are every 8x8 tiles

            oreAndStone.BankWidth = 8;

            oreAndStone.BankHeight = 8;


            // Every bank holds from 10 to 34 ore

            oreAndStone.MinTotal = 10;

            oreAndStone.MaxTotal = 34;


            // A resource bank will respawn its content every 10 to 20 minutes

            oreAndStone.MinRespawn = TimeSpan.FromMinutes(10.0);

            oreAndStone.MaxRespawn = TimeSpan.FromMinutes(20.0);


            // Skill checking is done on the Mining skill

            oreAndStone.Skill = SkillName.Mining;


            // Set the list of harvestable tiles

            oreAndStone.Tiles = m_MountainAndCaveTiles;


            // Players must be within 2 tiles to harvest

            oreAndStone.MaxRange = 2;


            // One ore per harvest action

            oreAndStone.ConsumedPerHarvest = 1;

            oreAndStone.ConsumedPerFeluccaHarvest = 2;


            // The digging effect

            oreAndStone.EffectActions = new int[] { 11 };

            oreAndStone.EffectSounds = new int[] { 0x125, 0x126 };

            oreAndStone.EffectCounts = new int[] { 1 };

            oreAndStone.EffectDelay = TimeSpan.FromSeconds(1.6);

            oreAndStone.EffectSoundDelay = TimeSpan.FromSeconds(0.9);


            oreAndStone.NoResourcesMessage = 503040; // There is no metal here to mine.

            oreAndStone.DoubleHarvestMessage = 503042; // Someone has gotten to the metal before you.

            oreAndStone.TimedOutOfRangeMessage = 503041; // You have moved too far away to continue mining.

            oreAndStone.OutOfRangeMessage = 500446; // That is too far away.

            oreAndStone.FailMessage = 503043; // You loosen some rocks but fail to find any useable ore.

            oreAndStone.PackFullMessage = 1010481; // Your backpack is full, so the ore you mined is lost.

            oreAndStone.ToolBrokeMessage = 1044038; // You have worn out your tool!


            res = new HarvestResource[]

            {

                new HarvestResource(00.0, 00.0, 100.0, 1007072, typeof(IronOre), typeof(Granite)),

                new HarvestResource(65.0, 25.0, 105.0, 1007073, typeof(DullCopperOre),    typeof(DullCopperGranite), typeof(DullCopperElemental)),

                new HarvestResource(70.0, 30.0, 110.0, 1007074, typeof(ShadowIronOre),    typeof(ShadowIronGranite), typeof(ShadowIronElemental)),

                new HarvestResource(75.0, 35.0, 115.0, 1007075, typeof(CopperOre), typeof(CopperGranite), typeof(CopperElemental)),

                new HarvestResource(80.0, 40.0, 120.0, 1007076, typeof(BronzeOre), typeof(BronzeGranite), typeof(BronzeElemental)),

                new HarvestResource(85.0, 45.0, 125.0, 1007077, typeof(GoldOre), typeof(GoldGranite), typeof(GoldenElemental)),

                new HarvestResource(90.0, 50.0, 130.0, 1007078, typeof(AgapiteOre), typeof(AgapiteGranite), typeof(AgapiteElemental)),

                new HarvestResource(95.0, 55.0, 135.0, 1007079, typeof(VeriteOre), typeof(VeriteGranite), typeof(VeriteElemental)),

                new HarvestResource(99.0, 59.0, 139.0, 1007080, typeof(ValoriteOre), typeof(ValoriteGranite), typeof(ValoriteElemental))

                new HarvestResource(65.0, 25.0, 105.0, 1005007, typeof(BlazeOre),    typeof(BlazeGranite), typeof(BlazeElemental)),

                new HarvestResource(65.0, 25.0, 105.0, 1005008, typeof(DullCopperOre),    typeof(DullCopperGranite), typeof(DullCopperElemental)),

                new HarvestResource(65.0, 25.0, 105.0, 1005009, typeof(DullCopperOre),    typeof(DullCopperGranite), typeof(DullCopperElemental)),

                new HarvestResource(65.0, 25.0, 105.0, 10050010, typeof(DullCopperOre),    typeof(DullCopperGranite), typeof(DullCopperElemental)),

                new HarvestResource(65.0, 25.0, 105.0, 10050011, typeof(DullCopperOre),    typeof(DullCopperGranite), typeof(DullCopperElemental)),

                };
Post automatically merged:

im having problems with what these numbers mean
new HarvestResource(65.0, 25.0, 105.0,
 
If you generate your documentation all the Class stuff's in there ;)

C#:
HarvestResource
(ctor) HarvestResource( double reqSkill, double minSkill, double maxSkill, object message, Type[] types )
double MaxSkill( get; set; )
double MinSkill( get; set; )
double ReqSkill( get; set; )
object SuccessMessage( get; )
 Type[] Types( get; set; )
void SendSuccessTo( Mobile m )
 
Back