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!

Adding Stealables

Sachin Esha

Wanderer
So i was adding 2.0 FS Daily Rares script , which btw, the family is very excited about seeing NEW stealables , and one of the .cs's will not work, keeps giving me the msg about "IntSpawn has no extension" and also says "Instspawn accepting first arguement ......could not be found. Here is the code for that .cs file . The error msg says lines 371, 375, 379, 383, 387, 391, 415, 419, 423, 427, 431,435 all "failed to compile"
Code:
using System;
using Server;
using Server.Items;
using Server.Mobiles;
using System.Collections;
using System.Collections.Generic;
namespace Server
{
    public class DailyRaresSystem
    {
        // Enables Daily Rare System
        public static readonly bool DailyRaresEnabled = true;
 
        // Enables Custom Rares
        public static readonly bool EnableCustomRares = true;
 
        // Enables Maps "If your server only uses a set number of maps, Disable the ones you dont need."
        public static readonly bool EnableFelucca = true;
        public static readonly bool EnableTrammel = true;
        public static readonly bool EnableMalas = true;
        public static readonly bool EnableIlshenar = true;
        public static readonly bool EnableTokuno = true;
 
        public static void StartRareSpawn( bool isSpawn )
        {
            // Delete all old rare not taken.
            ArrayList toDelete = new ArrayList();
 
            foreach ( Item item in World.Items.Values )
            {
                if ( item is BaseDailyRare )
                {
                    BaseDailyRare bdr = (BaseDailyRare)item;
                    if ( bdr.HasBeenMoved == false )
                        toDelete.Add( bdr );
                }
                 
                if ( item is BaseDailyRareCont )
                {
                    BaseDailyRareCont bdrc = (BaseDailyRareCont)item;
                    if ( bdrc.HasBeenMoved == false )
                        toDelete.Add( bdrc );
                }
 
                // Future Support For Water Barrels / Tubs / Buckets
                /*if ( item.ItemID == 3703 || item.ItemID == 3715 || item.ItemID == 5344 )
                { 
                    //Respawn old used barrels for water barrels
                    if ( item.Visible == false )
                    {
                        item.Visible = true;
                        item.Z += 20;
                    }
                }*/
            }
 
            foreach ( Item delete in toDelete )
            {
                delete.Delete();
            }
 
            if ( isSpawn )
                SpawnRares();
        }
 
        public static void SpawnRares()
        {
            if ( DailyRaresEnabled == true )
            {
                // Spawn Rares (Felucca)
                if ( EnableFelucca == true )
                {
                    DailyRocks fdrs = new DailyRocks();
                    fdrs.MoveToWorld( new Point3D( 2683, 2056, 17 ), Map.Felucca );
 
                    DailyRock fdr = new DailyRock();
                    fdr.MoveToWorld( new Point3D( 5511, 3116, -4 ), Map.Felucca );
 
                    DailyFruitBasket fdfb = new DailyFruitBasket();
                    fdfb.MoveToWorld( new Point3D( 286, 986, 6 ), Map.Felucca );
 
                    DailyClosedBarrel fdcb = new DailyClosedBarrel();
                    fdcb.MoveToWorld( new Point3D( 5191, 587, 0 ), Map.Felucca );
 
                    DailyCandle fdc1 = new DailyCandle();
                    fdc1.Burning = true;
                    fdc1.ItemID = 0xB1A;
                    fdc1.MoveToWorld( new Point3D( 5576, 1829, 6 ), Map.Felucca );
 
                    DailyCandle fdc2 = new DailyCandle();
                    fdc2.Burning = true;
                    fdc2.ItemID = 0xB1A;
                    fdc2.MoveToWorld( new Point3D( 5582, 1829, 6 ), Map.Felucca );
 
                    DailyHay fdh = new DailyHay();
                    fdh.MoveToWorld( new Point3D( 5999, 3773, 22 ), Map.Felucca );
 
                    DailyFullJars fdfj = new DailyFullJars();
                    fdfj.MoveToWorld( new Point3D( 3657, 2506, 0 ), Map.Felucca );
 
                    DailyFruitBasket fdb1 = new DailyFruitBasket();
                    fdb1.CantBeLifted = true;
                    fdb1.MoveToWorld( new Point3D( 3787, 1121, 26 ), Map.Felucca );
 
                    DailyFruitBasket fdb2 = new DailyFruitBasket();
                    fdb2.CantBeLifted = true;
                    fdb2.MoveToWorld( new Point3D( 3683, 2204, 31 ), Map.Felucca );
 
                    DailyFruitBasket fdb3 = new DailyFruitBasket();
                    fdb3.CantBeLifted = true;
                    fdb3.MoveToWorld( new Point3D( 1132, 2220, 66 ), Map.Felucca );
 
                    DailyFruitBasket fdb4 = new DailyFruitBasket();
                    fdb4.CantBeLifted = true;
                    fdb4.MoveToWorld( new Point3D( 1135, 2220, 46 ), Map.Felucca );
 
                    DailyFruitBasket fdb5 = new DailyFruitBasket();
                    fdb5.CantBeLifted = true;
                    fdb5.MoveToWorld( new Point3D( 2636, 2081, 16 ), Map.Felucca );
                   
                              DailyBucketOfWater fdb6 = new DailyBucketOfWater();
                    /*fdb6.CantBeLifted = true;*/
                    fdb6.MoveToWorld( new Point3D( 1129, 2238, 40 ), Map.Felucca );
                           
                              DailyBucketOfWater fdb7 = new DailyBucketOfWater();
                    /*fdb7.CantBeLifted = true;*/
                    fdb7.MoveToWorld( new Point3D( 1138, 2238, 40 ), Map.Felucca );
 
                        }
 
                // Spawn Rares (Trammel)
                if ( EnableTrammel == true )
                {
                    DailyRocks tdrs = new DailyRocks();
                    tdrs.MoveToWorld( new Point3D( 2683, 2056, 17 ), Map.Trammel );
 
                    DailyRock tdr = new DailyRock();
                    tdr.MoveToWorld( new Point3D( 5511, 3116, -4 ), Map.Trammel );
 
                    DailyFruitBasket tdfb = new DailyFruitBasket();
                    tdfb.MoveToWorld( new Point3D( 286, 986, 6 ), Map.Trammel );
 
                    DailyClosedBarrel tdcb = new DailyClosedBarrel();
                    tdcb.MoveToWorld( new Point3D( 5191, 587, 0 ), Map.Trammel );
 
                    DailyCandle tdc1 = new DailyCandle();
                    tdc1.Burning = true;
                    tdc1.ItemID = 0xB1A;
                    tdc1.MoveToWorld( new Point3D( 5576, 1829, 6 ), Map.Trammel );
 
                    DailyCandle tdc2 = new DailyCandle();
                    tdc2.Burning = true;
                    tdc2.ItemID = 0xB1A;
                    tdc2.MoveToWorld( new Point3D( 5582, 1829, 6 ), Map.Trammel );
 
                    DailyFruitBasket tdb1 = new DailyFruitBasket();
                    tdb1.CantBeLifted = true;
                    tdb1.MoveToWorld( new Point3D( 3787, 1121, 26 ), Map.Trammel );
 
                    DailyFruitBasket tdb2 = new DailyFruitBasket();
                    tdb2.CantBeLifted = true;
                    tdb2.MoveToWorld( new Point3D( 3683, 2204, 31 ), Map.Trammel );
 
                    DailyFruitBasket tdb3 = new DailyFruitBasket();
                    tdb3.CantBeLifted = true;
                    tdb3.MoveToWorld( new Point3D( 1132, 2220, 66 ), Map.Trammel );
 
                    DailyFruitBasket tdb4 = new DailyFruitBasket();
                    tdb4.CantBeLifted = true;
                    tdb4.MoveToWorld( new Point3D( 1135, 2220, 46 ), Map.Trammel );
 
                    DailyFruitBasket tdb5 = new DailyFruitBasket();
                    tdb5.CantBeLifted = true;
                    tdb5.MoveToWorld( new Point3D( 2636, 2081, 16 ), Map.Trammel );
                }
 
                // Spawn Rares (Ilshenar)
                if ( EnableIlshenar == true )
                {
                    DailyBrokenChair idbc = new DailyBrokenChair();
                    idbc.MoveToWorld( new Point3D( 148, 945, -29 ), Map.Ilshenar );
                }
 
                // Spawn Rares (Malas)
                if ( EnableMalas == true )
                {
                    DailyMeatPie mdmp = new DailyMeatPie();
                    mdmp.MoveToWorld( new Point3D( 2113, 1311, -44 ), Map.Malas );
                }
 
                // Spawn Rares (Tokuno)
                if ( EnableMalas == true )
                {
                    //No Spawns Yet
                }
 
                if ( EnableCustomRares == true )
                {
                    // Spawn Custom Rares (Felucca)
                    if ( EnableFelucca == true )
                    {
                        DailyLogs fdl = new DailyLogs();
                        fdl.MoveToWorld( new Point3D( 626, 1152, 0 ), Map.Felucca );
 
                        DailyArrows fda = new DailyArrows();
                        fda.MoveToWorld( new Point3D( 3048, 3371, 21 ), Map.Felucca );
 
                        DailyDung fdd = new DailyDung();
                        fdd.MoveToWorld( new Point3D( 2524, 386, 15 ), Map.Felucca );
 
                        DailyStump fds = new DailyStump();
                        fds.MoveToWorld( new Point3D( 559, 1023, 0 ), Map.Felucca );
 
                        DailyRedDresser fdrd = new DailyRedDresser();
                        fdrd.MoveToWorld( new Point3D( 4648, 1222, 0 ), Map.Felucca );
 
                        DailyDresser fdd2 = new DailyDresser();
                        fdd2.MoveToWorld( new Point3D( 2257, 1216, 0 ), Map.Felucca );
 
                        DailyEmptyJars fdej = new DailyEmptyJars();
                        fdej.MoveToWorld( new Point3D( 5732, 93, 0 ), Map.Felucca );
 
                        DailyOrfluer fdo = new DailyOrfluer();
                        fdo.MoveToWorld( new Point3D( 1239, 2568, 0 ), Map.Felucca );
 
                        DailyScareCrow fdsc = new DailyScareCrow();
                        fdsc.MoveToWorld( new Point3D( 833, 2351, 0 ), Map.Felucca );
 
                        DailyBookcase fdbc = new DailyBookcase();
                        fdbc.MoveToWorld( new Point3D( 399, 1216, 0 ), Map.Felucca );
                    }
 
                    // Spawn Custom Rares (Trammel)
                    if ( EnableTrammel == false )
                    {
                        DailyFancyLampPost tflp = new DailyFancyLampPost();
                        tflp.MoveToWorld( new Point3D( 3623, 2480, 0 ), Map.Trammel );
                                    tflp.Burning = true;
                                    tflp.ItemID = 0xB24;
 
                        DailyLogs tdl = new DailyLogs();
                        tdl.MoveToWorld( new Point3D( 626, 1152, 0 ), Map.Trammel );
 
                        DailyArrows tda = new DailyArrows();
                        tda.MoveToWorld( new Point3D( 3048, 3371, 21 ), Map.Trammel );
 
                        DailyDung tdd = new DailyDung();
                        tdd.MoveToWorld( new Point3D( 2524, 386, 15 ), Map.Trammel );
 
                        DailyRedDresser tdrd = new DailyRedDresser();
                        tdrd.MoveToWorld( new Point3D( 4648, 1222, 0 ), Map.Trammel );
 
                        DailyDresser tdd2 = new DailyDresser();
                        tdd2.MoveToWorld( new Point3D( 2257, 1216, 0 ), Map.Trammel );
 
                        DailyEmptyJars tdej = new DailyEmptyJars();
                        tdej.MoveToWorld( new Point3D( 5732, 93, 0 ), Map.Trammel );
 
                        DailyBlanket tdb = new DailyBlanket();
                        tdb.MoveToWorld( new Point3D( 3677, 2609, 2 ), Map.Trammel );
 
                        DailyBookcase tdbc = new DailyBookcase();
                        tdbc.MoveToWorld( new Point3D( 399, 1216, 0 ), Map.Trammel );
                    }
 
                    // Spawn Custom Rares (Ilshenar)
                    if ( EnableIlshenar == false )
                    {
                        DailyRuinedBookcase idrbc = new DailyRuinedBookcase();
                        idrbc.MoveToWorld( new Point3D( 1218, 1152, -25 ), Map.Ilshenar );
 
                        DailyFlax idf = new DailyFlax();
                        idf.MoveToWorld( new Point3D( 588, 1176, -97 ), Map.Ilshenar );
 
                        DailyCurtian idc = new DailyCurtian();
                        idc.MoveToWorld( new Point3D( 1508, 537, 10 ), Map.Ilshenar );
 
                        DailyCurtian idc2 = new DailyCurtian();
                        idc2.MoveToWorld( new Point3D( 1508, 534, 10 ), Map.Ilshenar );
                    }
 
                    // Spawn Custom Rares (Malas)
                    if ( EnableMalas == true )
                    {
                        DailyCrystal mdc = new DailyCrystal();
                        mdc.MoveToWorld( new Point3D( 915, 722, -86 ), Map.Malas );
 
                        DailyMushroom mdm = new DailyMushroom();
                        mdm.MoveToWorld( new Point3D( 2014, 1179, -84 ), Map.Malas );
 
                        DailySpittoon mds = new DailySpittoon();
                        mds.MoveToWorld( new Point3D( 1052, 1438, -71 ), Map.Malas );
                    }
 
                    // Spawn Custom Rares (Tokuno)
                    if ( EnableTokuno == false )
                    {
                        DailySwords tds = new DailySwords();
                        tds.MoveToWorld( new Point3D( 680, 1245, 47 ), Map.Tokuno );
 
                        DailyMenu tdm = new DailyMenu();
                        tdm.MoveToWorld( new Point3D( 239, 1072, 20 ), Map.Tokuno );
 
                        DailySushi tds2 = new DailySushi();
                        tds2.MoveToWorld( new Point3D( 674, 1296, 30 ), Map.Tokuno );
                    }
                }
            }
        }
 
        public static void StartExtrasSpawn( bool isSpawn )
        {
            // Delete all old rare not taken.
            ArrayList toDelete = new ArrayList();
 
            foreach ( Item item in World.Items.Values )
            {
                if ( item is DailyRareSpawner )
                {
                    DailyRareSpawner drs = (DailyRareSpawner)item;
                        toDelete.Add( drs );
                }
                 
                if ( item is DailyTownCrate )
                {
                    DailyTownCrate dtc = (DailyTownCrate)item;
                        toDelete.Add( dtc );
                }
            }
 
            foreach ( Item delete in toDelete )
            {
                delete.Delete();
            }
 
            if ( isSpawn )
                SpawnExtras();
        }
 
        public static void SpawnExtras()
        {
            // Spawn Custom Rares (Felucca)
            if ( EnableFelucca == true )
            {
                // Artist Array List
                //ArrayList art = new ArrayList();
                List<string> art = new List<string>();
 
 
                        art.Add( "Artist" );
 
                // Blacksmith Item Array List
                //ArrayList bsmith = new ArrayList();
                List<string> bsmith = new List<string>();
 
                        bsmith.Add( "CopperWire" );
                bsmith.Add( "GoldWire" );
                bsmith.Add( "IronWire" );
                bsmith.Add( "SilverWire" );
                bsmith.Add( "RareIngot" );
                bsmith.Add( "IronIngot" );
                bsmith.Add( "HorseShoes" );
                bsmith.Add( "ForgedMetal" );
                bsmith.Add( "IronOre" );
                bsmith.Add( "SmithHammer" );
                bsmith.Add( "Tongs" );
 
                // Spawn Npcs
                Spawner fdrs1 = new DailyRareSpawner();
                fdrs1.MoveToWorld( new Point3D( 4523, 1066, 0 ), Map.Felucca );
                fdrs1.InitSpawn( 1, TimeSpan.FromMinutes( 5 ), TimeSpan.FromMinutes( 10 ), 0, 4, art );
 
                Spawner fdrs2 = new DailyRareSpawner();
                fdrs2.MoveToWorld( new Point3D( 4530, 1059, 0 ), Map.Felucca );
                fdrs2.InitSpawn( 1, TimeSpan.FromMinutes( 5 ), TimeSpan.FromMinutes( 10 ), 0, 4, art );
 
                Spawner fdrs3 = new DailyRareSpawner();
                fdrs3.MoveToWorld( new Point3D( 4523, 1059, 0 ), Map.Felucca );
                fdrs3.InitSpawn( 1, TimeSpan.FromMinutes( 5 ), TimeSpan.FromMinutes( 10 ), 0, 4, art );
 
                Spawner fdrs4 = new DailyRareSpawner();
                fdrs4.MoveToWorld( new Point3D( 2907, 714, 0 ), Map.Felucca );
                fdrs4.InitSpawn( 1, TimeSpan.FromMinutes( 5 ), TimeSpan.FromMinutes( 10 ), 0, 4, art );
 
                Spawner fdrs5 = new DailyRareSpawner();
                fdrs5.MoveToWorld( new Point3D( 2907, 708, 0 ), Map.Felucca );
                fdrs5.InitSpawn( 1, TimeSpan.FromMinutes( 5 ), TimeSpan.FromMinutes( 10 ), 0, 4, art );
 
                Spawner fdrs6 = new DailyRareSpawner();
                fdrs6.MoveToWorld( new Point3D( 1447, 1664, 10 ), Map.Felucca );
                fdrs6.InitSpawn( 1, TimeSpan.FromMinutes( 5 ), TimeSpan.FromMinutes( 10 ), 0, 4, art );
 
                VoransTownCrate fdtc1 = new DailyBarrel(); // Bucs Smith Barrels
                fdtc1.MoveToWorld( new Point3D( 2636, 2085, 10 ), Map.Felucca );
                fdtc1.InitSpawn( 5, TimeSpan.FromMinutes( 60 ), TimeSpan.FromMinutes( 300 ), bsmith );
 
                VoransTownCrate fdtc2 = new DailyBarrel(); // Bucs Smith Barrels
                fdtc2.MoveToWorld( new Point3D( 2636, 2084, 10 ), Map.Felucca );
                fdtc2.InitSpawn( 5, TimeSpan.FromMinutes( 60 ), TimeSpan.FromMinutes( 300 ), bsmith );
            }
 
            // Spawn Custom Rares (Trammel)
            if ( EnableTrammel == true )
            {
                //ArrayList art = new ArrayList();
                List<string> art = new List<string>();
 
 
 
                        art.Add( "Artist" );
 
                // Spawn Npcs
                Spawner fdrs1 = new DailyRareSpawner();
                fdrs1.MoveToWorld( new Point3D( 4523, 1066, 0 ), Map.Trammel );
                fdrs1.InitSpawn( 1, TimeSpan.FromMinutes( 5 ), TimeSpan.FromMinutes( 10 ), 0, 4, art );
 
                Spawner fdrs2 = new DailyRareSpawner();
                fdrs2.MoveToWorld( new Point3D( 4530, 1059, 0 ), Map.Trammel );
                fdrs2.InitSpawn( 1, TimeSpan.FromMinutes( 5 ), TimeSpan.FromMinutes( 10 ), 0, 4, art );
 
                Spawner fdrs3 = new DailyRareSpawner();
                fdrs3.MoveToWorld( new Point3D( 4523, 1059, 0 ), Map.Trammel );
                fdrs3.InitSpawn( 1, TimeSpan.FromMinutes( 5 ), TimeSpan.FromMinutes( 10 ), 0, 4, art );
 
                Spawner fdrs4 = new DailyRareSpawner();
                fdrs4.MoveToWorld( new Point3D( 2907, 714, 0 ), Map.Trammel );
                fdrs4.InitSpawn( 1, TimeSpan.FromMinutes( 5 ), TimeSpan.FromMinutes( 10 ), 0, 4, art );
 
                Spawner fdrs5 = new DailyRareSpawner();
                fdrs5.MoveToWorld( new Point3D( 2907, 708, 0 ), Map.Trammel );
                fdrs5.InitSpawn( 1, TimeSpan.FromMinutes( 5 ), TimeSpan.FromMinutes( 10 ), 0, 4, art );
 
                Spawner fdrs6 = new DailyRareSpawner();
                fdrs6.MoveToWorld( new Point3D( 1447, 1664, 10 ), Map.Trammel );
                fdrs6.InitSpawn( 1, TimeSpan.FromMinutes( 5 ), TimeSpan.FromMinutes( 10 ), 0, 4, art );
            }
 
            // Spawn Custom Rares (Ilshenar)
            if ( EnableIlshenar == true )
            {
                //No Spawns Yet
            }
 
            // Spawn Custom Rares (Malas)
            if ( EnableMalas == true )
            {
                //No Spawns Yet
            }
 
            // Spawn Custom Rares (Tokuno)
            if ( EnableTokuno == true )
            {
                //No Spawns Yet
            }
        }
    }
}

Everything else "seemed" to work as it stated i only had 1 error, lets hope, i would really like to have this for the shard.
Thanks again for any help or input by anyone, means alot to have such a supporting community as this one behind you.
 

Dian

Sorceror
Something has changed since the release of this system, because the Spawner used does not seem to have the sub method of InitSpawn

This might need some modification by either finding the correct sub method that has been changed, or looking back to the RUO package this was developed with, and checking into the spawner at that time.. I will see what I can do while I have a few minutes this morning.. but that should help get you started.
 

Dian

Sorceror
Okay. Think I found the issue, the InitSpawn method was changed during a RUO update at the time, and was changed to InitSpawner (note the spawner)

change InitSpawn to InitSpawner and try again.
 

Dian

Sorceror
Looks like there are going to be some more issues beyond this though.. The DailyRaresCommands.cs will need updated to current code, not a big deal.
At top, change namespace Server.Scripts.Commands to namespace Server.Commands
and where it is written; Server.Commands.Register( ... ) change to CommandSystem.Register(.....)

However, that will lead to another group of errors for some other scripts. I might not have time now to go further, but its a start for ya.
 

Dian

Sorceror
Dug into it a bit more, and its going to be a pretty severe overhaul to get the code updated and corrected for use on current RUO versions.
I actually think its worth updating, so I will dig out a fresh RUO package and see if I can just get it worked out.

Id just suggest for the moment, move on to something else, and I will get back to you with the working system :)

If anyone else has interest in this system, let me know and I will consider posting it on the submissions when its done.
 

Dian

Sorceror
Okay, so I had some more time this morning than I thought I would, so I continued on updating this system. I used a blank RunUO svn 1080, using the .Net Framework 4.

You will need to make one edit to the distro scripts/engines/spawner/spawner.cs file, and that is at line 282;

Spawner.cs line 282;

private void InitSpawner( ... )
change to:
public void InitSpawner( ... )

There are a few Item files in the system that are now included in the Distro, so I renamed those files with a *.bak

The system compiles, however I have not tried to test anything at all in game, so try it out and see what happens!
 

Attachments

  • FS Daily Rares.rar
    40.9 KB · Views: 2

Sachin Esha

Wanderer
Well dang, Buddy i appreciate the extra time and i'll make sure everyone knows credit goes to you for the new stuff ! Thanks again, going to lock and load it for a test spin.
 

Sachin Esha

Wanderer
Hmmm mine looks different, the spawner.cs i mean.......have a look, tell me what you think
 

Attachments

  • Spawner.cs
    29.4 KB · Views: 1

Dian

Sorceror
Line 974 on yours..

private void InitSpawner( ... )

change to;

public void InitSpawner( ... )

Just change the Private, to public. Thats it.
 

Sachin Esha

Wanderer
TBH, have not been able to reset yet, family came over, got busy and one distraction led to another, gimme a day and i'll check, and again i appreciate all the help and effort you are and have been sir, thank you
 

Sachin Esha

Wanderer
YES! it works, had to take the bucket of water out of the old one and put in the new one, because the new one didnt include a bucket of water , but it ALL works now , Sweet ! On behalf of myself , and my family Dian, thank you very kindly sir ! IF only i knew how to give karma, yours would be +++Karma !
 
Top