Hammerhand

Member
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.
 
i use RunUO... I made no modification just download it and put it in the script
 
Last edited:
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.
 

Active Shards

Donations

Total amount
$0.00
Goal
$500.00
Back