Hammerhand submitted a new resource:

New pet perch's - pet perch's

Decided to have a bit of fun. Made an Eagle Perch w/ Eagle you can rename. Then that wasnt good enough, so I did another for a ChickenLizard (also renamable). Tried to do one for a Boura, but it wouldnt climb up on the perch (I think it was afraid of heights), so I said screw it. Anywho, here they are.. If you want to use them, go for it. If not, then dont. :p Addons can be added into Carp menu along with the ParrotPerchAddonDeed. Eagle & ChickenLizard items can be added to drops. Unfortunately, the...

Read more about this resource...
 
please i have this error:

Code:
Errors:
+ News Script/Pet Perch's/ChickenLizard PerchAddon.cs:
    CS0115: Line 164: 'Server.Items.ChickenLizardPerchAddonDeed.DeleteDeed()': n
o se encontró ningún miembro adecuado que reemplazar
+ News Script/Pet Perch's/EaglePerchAddon.cs:
    CS0115: Line 164: 'Server.Items.EaglePerchAddonDeed.DeleteDeed()': no se enc
ontró ningún miembro adecuado que reemplazar
Scripts: One or more scripts failed to compile or no script files were found.
- Press return to exit, or R to try again.
 
ChickenLizard PerchAddon.cs
Code:
////////////////////////////////////////
//                                     //
//   Generated by CEO's YAAAG - Ver 2  //
// (Yet Another Arya Addon Generator)  //
//    Modified by Hammerhand for       //
//      SA & High Seas content         //
//                                     //
////////////////////////////////////////
using System;
using Server;
using Server.Items;
using Server.Mobiles;

namespace Server.Items
{
    public class ChickenLizardPerchAddon : BaseAddon
    {
        
           
        public override BaseAddonDeed Deed
        {
            get
            {
                return new ChickenLizardPerchAddonDeed();
            }
        }
        private PetChickenLizard m_ChickenLizard;

        [CommandProperty(AccessLevel.GameMaster)]
        public PetChickenLizard ChickenLizard
        {
            get { return m_ChickenLizard; }
            set { m_ChickenLizard = value; }
        }
        [ Constructable ]
        public ChickenLizardPerchAddon()
        {



            AddComplexComponent( (BaseAddon) this, 12214, 0, 0, 0, 0, -1, "ChickenLizard Perch", 1);// 1

        }
        public override void OnLocationChange(Point3D oldLocation)
        {
            base.OnLocationChange(oldLocation);

            if (m_ChickenLizard != null)
                m_ChickenLizard.Location = new Point3D(X, Y, Z + 12);
        }

        public override void OnMapChange()
        {
            base.OnMapChange();

            if (m_ChickenLizard != null)
                m_ChickenLizard.Map = Map;
        }

        public override void OnAfterDelete()
        {
            base.OnAfterDelete();

            if (m_ChickenLizard != null)
                m_ChickenLizard.Internalize();
        }
        public ChickenLizardPerchAddon( Serial serial ) : base( serial )
        {
        }

        private static void AddComplexComponent(BaseAddon addon, int item, int xoffset, int yoffset, int zoffset, int hue, int lightsource)
        {
            AddComplexComponent(addon, item, xoffset, yoffset, zoffset, hue, lightsource, null, 1);
        }

        private static void AddComplexComponent(BaseAddon addon, int item, int xoffset, int yoffset, int zoffset, int hue, int lightsource, string name, int amount)
        {
            AddonComponent ac;
            ac = new AddonComponent(item);
            if (name != null && name.Length > 0)
                ac.Name = name;
            if (hue != 0)
                ac.Hue = hue;
            if (amount > 1)
            {
                ac.Stackable = true;
                ac.Amount = amount;
            }
            if (lightsource != -1)
                ac.Light = (LightType) lightsource;
            addon.AddComponent(ac, xoffset, yoffset, zoffset);
        }

        public override void Serialize( GenericWriter writer )
        {
            base.Serialize( writer );
            writer.Write( 0 ); // Version
            writer.Write((Mobile)m_ChickenLizard);
        }

        public override void Deserialize( GenericReader reader )
        {
            base.Deserialize( reader );
            int version = reader.ReadInt();
            m_ChickenLizard = reader.ReadMobile() as PetChickenLizard;
        }
    }

    public class ChickenLizardPerchAddonDeed : BaseAddonDeed
    {
        public override BaseAddon Addon
        {
            get
            {
                return new ChickenLizardPerchAddon();
            }
        }
        private PetChickenLizard m_ChickenLizard;

        [CommandProperty(AccessLevel.GameMaster)]
        public PetChickenLizard ChickenLizard
        {

            get { return m_ChickenLizard; }
            set { m_ChickenLizard = value; InvalidateProperties(); }
        }
        [Constructable]
        public ChickenLizardPerchAddonDeed()
        {
            Name = "ChickenLizard Perch";
        }
        public ChickenLizardPerchAddonDeed(PetChickenLizard ChickenLizard)
        {
            LootType = LootType.Blessed;

            m_ChickenLizard = ChickenLizard;
        }
        public ChickenLizardPerchAddonDeed( Serial serial ) : base( serial )
        {
        }
        public override void GetProperties(ObjectPropertyList list)
        {
            base.GetProperties(list);

            if (m_ChickenLizard != null)
            {
                if (m_ChickenLizard.Name != null)
                    list.Add("Includes a pet ChickenLizard named ~1_NAME~", m_ChickenLizard.Name); // Includes a pet ChickenLizard named ~1_NAME~
                else
                    list.Add("Includes a pet ChickenLizard"); // Includes a pet ChickenLizard

                int weeks = PetChickenLizard.GetWeeks(m_ChickenLizard.Birth);

                if (weeks == 1)
                    list.Add(1072626); // 1 week old
                else if (weeks > 1)
                    list.Add(1072627, weeks.ToString()); // ~1_AGE~ weeks old
            }
        }

        private bool m_Safety;

        public override void DeleteDeed()
        {
            m_Safety = true;

            base.DeleteDeed();
        }

        public override void OnAfterDelete()
        {
            base.OnAfterDelete();

            if (!m_Safety && m_ChickenLizard != null)
                m_ChickenLizard.Delete();

            m_Safety = false;
        }
        public override void Serialize( GenericWriter writer )
        {
            base.Serialize( writer );
            writer.Write( 1 ); // Version
            writer.Write((Mobile)m_ChickenLizard);
        }

        public override void    Deserialize( GenericReader reader )
        {
            base.Deserialize( reader );
            int version = reader.ReadInt();
            switch (version)
            {
                case 1:
                    m_ChickenLizard = reader.ReadMobile() as PetChickenLizard;

                    break;
                case 0:
                    reader.ReadDateTime();
                    reader.ReadString();
                    reader.ReadInt();

                    break;
            }
        }
    }
}

EaglePerchAddon.cs

Code:
////////////////////////////////////////
//                                     //
//   Generated by CEO's YAAAG - Ver 2  //
// (Yet Another Arya Addon Generator)  //
//    Modified by Hammerhand for       //
//      SA & High Seas content         //
//                                     //
////////////////////////////////////////
using System;
using Server;
using Server.Items;
using Server.Mobiles;

namespace Server.Items
{
    public class EaglePerchAddon : BaseAddon
    {
        
           
        public override BaseAddonDeed Deed
        {
            get
            {
                return new EaglePerchAddonDeed();
            }
        }
        private PetEagle m_Eagle;

        [CommandProperty(AccessLevel.GameMaster)]
        public PetEagle Eagle
        {
            get { return m_Eagle; }
            set { m_Eagle = value; }
        }
        [ Constructable ]
        public EaglePerchAddon()
        {



            AddComplexComponent( (BaseAddon) this, 12214, 0, 0, 0, 0, -1, "Eagle Perch", 1);// 1

        }
        public override void OnLocationChange(Point3D oldLocation)
        {
            base.OnLocationChange(oldLocation);

            if (m_Eagle != null)
                m_Eagle.Location = new Point3D(X, Y, Z + 12);
        }

        public override void OnMapChange()
        {
            base.OnMapChange();

            if (m_Eagle != null)
                m_Eagle.Map = Map;
        }

        public override void OnAfterDelete()
        {
            base.OnAfterDelete();

            if (m_Eagle != null)
                m_Eagle.Internalize();
        }
        public EaglePerchAddon( Serial serial ) : base( serial )
        {
        }

        private static void AddComplexComponent(BaseAddon addon, int item, int xoffset, int yoffset, int zoffset, int hue, int lightsource)
        {
            AddComplexComponent(addon, item, xoffset, yoffset, zoffset, hue, lightsource, null, 1);
        }

        private static void AddComplexComponent(BaseAddon addon, int item, int xoffset, int yoffset, int zoffset, int hue, int lightsource, string name, int amount)
        {
            AddonComponent ac;
            ac = new AddonComponent(item);
            if (name != null && name.Length > 0)
                ac.Name = name;
            if (hue != 0)
                ac.Hue = hue;
            if (amount > 1)
            {
                ac.Stackable = true;
                ac.Amount = amount;
            }
            if (lightsource != -1)
                ac.Light = (LightType) lightsource;
            addon.AddComponent(ac, xoffset, yoffset, zoffset);
        }

        public override void Serialize( GenericWriter writer )
        {
            base.Serialize( writer );
            writer.Write( 0 ); // Version
            writer.Write((Mobile)m_Eagle);
        }

        public override void Deserialize( GenericReader reader )
        {
            base.Deserialize( reader );
            int version = reader.ReadInt();
            m_Eagle = reader.ReadMobile() as PetEagle;
        }
    }

    public class EaglePerchAddonDeed : BaseAddonDeed
    {
        public override BaseAddon Addon
        {
            get
            {
                return new EaglePerchAddon();
            }
        }
        private PetEagle m_Eagle;

        [CommandProperty(AccessLevel.GameMaster)]
        public PetEagle Eagle
        {

            get { return m_Eagle; }
            set { m_Eagle = value; InvalidateProperties(); }
        }
        [Constructable]
        public EaglePerchAddonDeed()
        {
            Name = "EaglePerch";
        }
        public EaglePerchAddonDeed(PetEagle Eagle)
        {
            LootType = LootType.Blessed;

            m_Eagle = Eagle;
        }
        public EaglePerchAddonDeed( Serial serial ) : base( serial )
        {
        }
        public override void GetProperties(ObjectPropertyList list)
        {
            base.GetProperties(list);

            if (m_Eagle != null)
            {
                if (m_Eagle.Name != null)
                    list.Add("Includes a pet Eagle named ~1_NAME~", m_Eagle.Name); // Includes a pet Eagle named ~1_NAME~
                else
                    list.Add("Includes a pet Eagle"); // Includes a pet Eagle

                int weeks = PetEagle.GetWeeks(m_Eagle.Birth);

                if (weeks == 1)
                    list.Add(1072626); // 1 week old
                else if (weeks > 1)
                    list.Add(1072627, weeks.ToString()); // ~1_AGE~ weeks old
            }
        }

        private bool m_Safety;

        public override void DeleteDeed()
        {
            m_Safety = true;

            base.DeleteDeed();
        }

        public override void OnAfterDelete()
        {
            base.OnAfterDelete();

            if (!m_Safety && m_Eagle != null)
                m_Eagle.Delete();

            m_Safety = false;
        }
        public override void Serialize( GenericWriter writer )
        {
            base.Serialize( writer );
            writer.Write( 1 ); // Version
            writer.Write((Mobile)m_Eagle);
        }

        public override void    Deserialize( GenericReader reader )
        {
            base.Deserialize( reader );
            int version = reader.ReadInt();
            switch (version)
            {
                case 1:
                    m_Eagle = reader.ReadMobile() as PetEagle;

                    break;
                case 0:
                    reader.ReadDateTime();
                    reader.ReadString();
                    reader.ReadInt();

                    break;
            }
        }
    }
}
 
What server are you using? RunUO, ServUO? Have you made any modifications? Line 164 on the ones I released is in the Deserialize & not on the DeleteDeed section so I'm a little confused why its throwing a "No suitable method found to override" error.
 
His script was tested on ServUO not sure if Runuo also- wait to see what Hammerhand states :)
Runuo has the chicken lizard and the perch?
 
Last edited:
RunUO has a Parrot Perch, has for years, but no ChickenLizard. It also has none of this in individual addons..
Code:
        private bool m_Safety;

        public override void DeleteDeed()
        {
            m_Safety = true;

            base.DeleteDeed();
        }

        public override void OnAfterDelete()
        {
            base.OnAfterDelete();

            if (!m_Safety && m_Eagle != null)
                m_Eagle.Delete();

            m_Safety = false;
        }
Try commenting that code out & see if it works from the Eagle Perch Addon. For the Chicken Lizard, that isnt going to work unless you add the mob in as well.
 
Back