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!

Level System 3

rexxz

Page
That's a good point. I probably wouldn't do that unless the stat gain from levelling was more consistent and usable. So for now I guess it should just be considered as a bonus for gaining a new level? :)

Do you have any plans on turning this into a point system in the future? I think that would be a bit more interesting, personally. Of course I also like the idea of having it as just a signifier of relative power level.
 

Ki Frost

Sorceror
rexxz;771005 said:
That's a good point. I probably wouldn't do that unless the stat gain from levelling was more consistent and usable. So for now I guess it should just be considered as a bonus for gaining a new level? :)

Do you have any plans on turning this into a point system in the future? I think that would be a bit more interesting, personally. Of course I also like the idea of having it as just a signifier of relative power level.

I may. I haven't really decided, I have done it once before on a different server and the gump codes and such where massive. Though if it where just a straight forward you have x points, spend on x skill, it may be easier...





for those that want to know:
The saving portion of the level system is already at 80% complete!
Dont get your hopes to high though, when added with the rest of the system this only hits at like 8%... lol


Yes some changes are that massive...
 

SolusII

Sorceror
What does all this mean?:


RunUO - [www.runuo.com] Version 2.0, Build 2959.20979
Core: Running on .NET Framework Version 2.0.50727
Scripts: Compiling C# scripts...failed (8 errors, 0 warnings)
Errors:
+ Mobiles/Animals/Mounts/LesserHiryu.cs:
CS0115: Line 119: 'Server.Mobiles.LesserHiryu.GetControlChance(Server.Mobile
, bool)': no suitable method found to override
+ Mobiles/Animals/Mounts/Ridgeback.cs:
CS0115: Line 48: 'Server.Mobiles.Ridgeback.GetControlChance(Server.Mobile, b
ool)': no suitable method found to override
+ Mobiles/Animals/Mounts/SavageRidgeback.cs:
CS0115: Line 48: 'Server.Mobiles.SavageRidgeback.GetControlChance(Server.Mob
ile, bool)': no suitable method found to override
+ Mobiles/Animals/Mounts/ScaledSwampDragon.cs:
CS0115: Line 47: 'Server.Mobiles.ScaledSwampDragon.GetControlChance(Server.M
obile, bool)': no suitable method found to override
+ Mobiles/Animals/Mounts/SwampDragon.cs:
CS0115: Line 145: 'Server.Mobiles.SwampDragon.GetControlChance(Server.Mobile
, bool)': no suitable method found to override
+ Mobiles/Monsters/Misc/Melee/BladeSpirits.cs:
CS0115: Line 17: 'Server.Mobiles.BladeSpirits.GetFightModeRanking(Server.Mob
ile, Server.Mobiles.FightMode, bool)': no suitable method found to override
+ Mobiles/Monsters/Misc/Melee/EnergyVortex.cs:
CS0115: Line 17: 'Server.Mobiles.EnergyVortex.GetFightModeRanking(Server.Mob
ile, Server.Mobiles.FightMode, bool)': no suitable method found to override
+ Mobiles/Monsters/SE/FireBeetle.cs:
CS0115: Line 80: 'Server.Mobiles.FireBeetle.GetControlChance(Server.Mobile,
bool)': no suitable method found to override
Scripts: One or more scripts failed to compile or no script files were found.
- Press return to exit, or R to try again.



Thank You! =)
 

Ki Frost

Sorceror
SolusII;771011 said:
What does all this mean?:


RunUO - [www.runuo.com] Version 2.0, Build 2959.20979
Core: Running on .NET Framework Version 2.0.50727
Scripts: Compiling C# scripts...failed (8 errors, 0 warnings)
Errors:
+ Mobiles/Animals/Mounts/LesserHiryu.cs:
CS0115: Line 119: 'Server.Mobiles.LesserHiryu.GetControlChance(Server.Mobile
, bool)': no suitable method found to override
+ Mobiles/Animals/Mounts/Ridgeback.cs:
CS0115: Line 48: 'Server.Mobiles.Ridgeback.GetControlChance(Server.Mobile, b
ool)': no suitable method found to override
+ Mobiles/Animals/Mounts/SavageRidgeback.cs:
CS0115: Line 48: 'Server.Mobiles.SavageRidgeback.GetControlChance(Server.Mob
ile, bool)': no suitable method found to override
+ Mobiles/Animals/Mounts/ScaledSwampDragon.cs:
CS0115: Line 47: 'Server.Mobiles.ScaledSwampDragon.GetControlChance(Server.M
obile, bool)': no suitable method found to override
+ Mobiles/Animals/Mounts/SwampDragon.cs:
CS0115: Line 145: 'Server.Mobiles.SwampDragon.GetControlChance(Server.Mobile
, bool)': no suitable method found to override
+ Mobiles/Monsters/Misc/Melee/BladeSpirits.cs:
CS0115: Line 17: 'Server.Mobiles.BladeSpirits.GetFightModeRanking(Server.Mob
ile, Server.Mobiles.FightMode, bool)': no suitable method found to override
+ Mobiles/Monsters/Misc/Melee/EnergyVortex.cs:
CS0115: Line 17: 'Server.Mobiles.EnergyVortex.GetFightModeRanking(Server.Mob
ile, Server.Mobiles.FightMode, bool)': no suitable method found to override
+ Mobiles/Monsters/SE/FireBeetle.cs:
CS0115: Line 80: 'Server.Mobiles.FireBeetle.GetControlChance(Server.Mobile,
bool)': no suitable method found to override
Scripts: One or more scripts failed to compile or no script files were found.
- Press return to exit, or R to try again.



Thank You! =)
Post your BaseMount.cs and I might be able to tell you.
Since I didn't modify any of those, no idea, so it has to be the BaseMount Edit...

im going to bed... ill get to it tomorrow
 

SolusII

Sorceror
Here it is:



Code:
using System;
using System.Collections;
using Server;

namespace Server.Mobiles
{
    public abstract class BaseMount : BaseCreature, IMount
    {
        private Mobile m_Rider;
        private Item m_InternalItem;
        private DateTime m_NextMountAbility;

        public virtual TimeSpan MountAbilityDelay { get { return TimeSpan.Zero; } }

        [CommandProperty(AccessLevel.GameMaster)]
        public DateTime NextMountAbility
        {
            get { return m_NextMountAbility; }
            set { m_NextMountAbility = value; }
        }

        public virtual bool AllowMaleRider { get { return true; } }
        public virtual bool AllowFemaleRider { get { return true; } }

        public BaseMount(string name, int bodyID, int itemID, AIType aiType, FightMode fightMode, int rangePerception, int rangeFight, double activeSpeed, double passiveSpeed)
            : base(aiType, fightMode, rangePerception, rangeFight, activeSpeed, passiveSpeed)
        {
            Name = name;
            Body = bodyID;

            m_InternalItem = new MountItem(this, itemID);
        }

        public BaseMount(Serial serial)
            : base(serial)
        {
        }

        public override void Serialize(GenericWriter writer)
        {
            base.Serialize(writer);

            writer.Write((int)1); // version

            writer.Write(m_NextMountAbility);

            writer.Write(m_Rider);
            writer.Write(m_InternalItem);
        }

        [Hue, CommandProperty(AccessLevel.GameMaster)]
        public override int Hue
        {
            get
            {
                return base.Hue;
            }
            set
            {
                base.Hue = value;

                if (m_InternalItem != null)
                    m_InternalItem.Hue = value;
            }
        }

        public override bool OnBeforeDeath()
        {
            Rider = null;

            return base.OnBeforeDeath();
        }

        public override void OnAfterDelete()
        {
            if (m_InternalItem != null)
                m_InternalItem.Delete();

            m_InternalItem = null;

            base.OnAfterDelete();
        }

        public override void OnDelete()
        {
            Rider = null;

            base.OnDelete();
        }

        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

            switch (version)
            {
                case 1:
                    {
                        m_NextMountAbility = reader.ReadDateTime();
                        goto case 0;
                    }
                case 0:
                    {
                        m_Rider = reader.ReadMobile();
                        m_InternalItem = reader.ReadItem();

                        if (m_InternalItem == null)
                            Delete();

                        break;
                    }
            }
        }

        public virtual void OnDisallowedRider(Mobile m)
        {
            m.SendMessage("You may not ride this creature.");
        }

        public override void OnDoubleClick(Mobile from)
        {
            if (IsDeadPet)
                return;

            if (from.IsBodyMod && !from.Body.IsHuman)
            {
                if (Core.AOS) // You cannot ride a mount in your current form.
                    PrivateOverheadMessage(Network.MessageType.Regular, 0x3B2, 1062061, from.NetState);
                else
                    from.SendLocalizedMessage(1061628); // You can't do that while polymorphed.

                return;
            }

            if (!CheckMountAllowed(from, true))
                return;

            if (from.Mounted)
            {
                from.SendLocalizedMessage(1005583); // Please dismount first.
                return;
            }

            if (from.Female ? !AllowFemaleRider : !AllowMaleRider)
            {
                OnDisallowedRider(from);
                return;
            }

            if (!Multis.DesignContext.Check(from))
                return;

            if (from.HasTrade)
            {
                from.SendLocalizedMessage(1042317, "", 0x41); // You may not ride at this time
                return;
            }

            if (from.InRange(this, 1))
            {
                //Level System
                if (!(Off.Enabled))
                {
                    if (NeedLevel.MountCheck(from, this) == false)
                        return;
                }
                //End Level System

                bool canAccess = (from.AccessLevel >= AccessLevel.GameMaster)
                    || (Controlled && ControlMaster == from)
                    || (Summoned && SummonMaster == from);

                if (canAccess)
                {
                    if (this.Poisoned)
                        PrivateOverheadMessage(Network.MessageType.Regular, 0x3B2, 1049692, from.NetState); // This mount is too ill to ride.
                    else
                        Rider = from;
                }
                else if (!Controlled && !Summoned)
                {
                    // That mount does not look broken! You would have to tame it to ride it.
                    PrivateOverheadMessage(Network.MessageType.Regular, 0x3B2, 501263, from.NetState);
                }
                else
                {
                    // This isn't your mount; it refuses to let you ride.
                    PrivateOverheadMessage(Network.MessageType.Regular, 0x3B2, 501264, from.NetState);
                }
            }
            else
            {
                from.SendLocalizedMessage(500206); // That is too far away to ride.
            }
        }

        [CommandProperty(AccessLevel.GameMaster)]
        public int ItemID
        {
            get
            {
                if (m_InternalItem != null)
                    return m_InternalItem.ItemID;
                else
                    return 0;
            }
            set
            {
                if (m_InternalItem != null)
                    m_InternalItem.ItemID = value;
            }
        }

        public static void Dismount(Mobile m)
        {
            IMount mount = m.Mount;

            if (mount != null)
                mount.Rider = null;
        }

        [CommandProperty(AccessLevel.GameMaster)]
        public Mobile Rider
        {
            get
            {
                return m_Rider;
            }
            set
            {
                if (m_Rider != value)
                {
                    if (value == null)
                    {
                        Point3D loc = m_Rider.Location;
                        Map map = m_Rider.Map;

                        if (map == null || map == Map.Internal)
                        {
                            loc = m_Rider.LogoutLocation;
                            map = m_Rider.LogoutMap;
                        }

                        Direction = m_Rider.Direction;
                        Location = loc;
                        Map = map;

                        if (m_InternalItem != null)
                            m_InternalItem.Internalize();
                    }
                    else
                    {
                        if (m_Rider != null)
                            Dismount(m_Rider);

                        Dismount(value);

                        if (m_InternalItem != null)
                            value.AddItem(m_InternalItem);

                        value.Direction = this.Direction;

                        Internalize();
                    }

                    m_Rider = value;
                }
            }
        }

        private class BlockEntry
        {
            public BlockMountType m_Type;
            public DateTime m_Expiration;

            public bool IsExpired { get { return (DateTime.Now >= m_Expiration); } }

            public BlockEntry(BlockMountType type, DateTime expiration)
            {
                m_Type = type;
                m_Expiration = expiration;
            }
        }

        private static Hashtable m_Table = new Hashtable();

        public static void SetMountPrevention(Mobile mob, BlockMountType type, TimeSpan duration)
        {
            if (mob == null)
                return;

            DateTime expiration = DateTime.Now + duration;

            BlockEntry entry = m_Table[mob] as BlockEntry;

            if (entry != null)
            {
                entry.m_Type = type;
                entry.m_Expiration = expiration;
            }
            else
            {
                m_Table[mob] = entry = new BlockEntry(type, expiration);
            }
        }

        public static void ClearMountPrevention(Mobile mob)
        {
            if (mob != null)
                m_Table.Remove(mob);
        }

        public static BlockMountType GetMountPrevention(Mobile mob)
        {
            if (mob == null)
                return BlockMountType.None;

            BlockEntry entry = m_Table[mob] as BlockEntry;

            if (entry == null)
                return BlockMountType.None;

            if (entry.IsExpired)
            {
                m_Table.Remove(mob);
                return BlockMountType.None;
            }

            return entry.m_Type;
        }

        public static bool CheckMountAllowed(Mobile mob, bool message)
        {
            BlockMountType type = GetMountPrevention(mob);

            if (type == BlockMountType.None)
                return true;

            if (message)
            {
                switch (type)
                {
                    case BlockMountType.Dazed:
                        {
                            mob.SendLocalizedMessage(1040024); // You are still too dazed from being knocked off your mount to ride!
                            break;
                        }
                    case BlockMountType.BolaRecovery:
                        {
                            mob.SendLocalizedMessage(1062910); // You cannot mount while recovering from a bola throw.
                            break;
                        }
                    case BlockMountType.DismountRecovery:
                        {
                            mob.SendLocalizedMessage(1070859); // You cannot mount while recovering from a dismount special maneuver.
                            break;
                        }
                }
            }

            return false;
        }

        public virtual void OnRiderDamaged(int amount, Mobile from, bool willKill)
        {
            if (m_Rider == null)
                return;

            Mobile attacker = from;
            if (attacker == null)
                attacker = m_Rider.FindMostRecentDamager(true);

            if (!(attacker == this || attacker == m_Rider || willKill || DateTime.Now < m_NextMountAbility))
            {
                if (DoMountAbility(amount, from))
                    m_NextMountAbility = DateTime.Now + MountAbilityDelay;

            }
        }

        public virtual bool DoMountAbility(int damage, Mobile attacker)
        {
            return false;
        }
    }

    public class MountItem : Item, IMountItem
    {
        private BaseMount m_Mount;

        public MountItem(BaseMount mount, int itemID)
            : base(itemID)
        {
            Layer = Layer.Mount;
            Movable = false;

            m_Mount = mount;
        }

        public MountItem(Serial serial)
            : base(serial)
        {
        }

        public override void OnAfterDelete()
        {
            if (m_Mount != null)
                m_Mount.Delete();

            m_Mount = null;

            base.OnAfterDelete();
        }

        public override DeathMoveResult OnParentDeath(Mobile parent)
        {
            if (m_Mount != null)
                m_Mount.Rider = null;

            return DeathMoveResult.RemainEquiped;
        }

        public override void Serialize(GenericWriter writer)
        {
            base.Serialize(writer);

            writer.Write((int)0); // version

            writer.Write(m_Mount);
        }

        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

            switch (version)
            {
                case 0:
                    {
                        m_Mount = reader.ReadMobile() as BaseMount;

                        if (m_Mount == null)
                            Delete();

                        break;
                    }
            }
        }

        public IMount Mount
        {
            get
            {
                return m_Mount;
            }
        }
    }

    public enum BlockMountType
    {
        None = -1,
        Dazed,
        BolaRecovery,
        DismountRecovery
    }
}


:)
 

Attachments

  • BaseMount.cs
    13.2 KB · Views: 21

Ki Frost

Sorceror
SolusII;771017 said:
Here it is:

:)

Honestly... I have no idea, I dont see anything that would make this issue. You can try to figure out wich one is causing the probelm by going through and removing the edits to BaseCreature and base mount 1 by 1 untill it doesnt pop up, then I would have a better guess as to whats going on.... or you could run it in -debug mode and see if that gives any more info to the matter...
 

Aurboda

Sorceror
Crafting Experience Fix

The crafting would say that you got experience, but actually didn't give the exp.


in the levelcore.cs

Code:
        public static void Craft(Item i, int q, double ch, double e, Mobile m, Configured c)
        {
            PlayerMobile pm = m as PlayerMobile;
            LevelHandler lh = new LevelHandler();

            if (pm.Exp < pm.ToLevel)
            {
                int xp = (int)Math.Round(3.6 + (LevelCore.CraftExp(i, q, ch, e, pm)));
                int give = LevelHandler.ExpFilter(pm, xp, null, true);

                if (give > 0)
                {
                    pm.SendMessage("You gained {0} experience for completing the craft.", give);
                   [COLOR="Red"] pm.Exp += give;[/COLOR]
                }

                if (pm.Exp >= pm.ToLevel && pm.Level < pm.MaxLevel)
                    LevelHandler.DoLevel(pm, new Configured());
            }
        }

Change the line in red
Code:
        public static void Craft(Item i, int q, double ch, double e, Mobile m, Configured c)
        {
            PlayerMobile pm = m as PlayerMobile;
            LevelHandler lh = new LevelHandler();

            if (pm.Exp < pm.ToLevel)
            {
                int xp = (int)Math.Round(3.6 + (LevelCore.CraftExp(i, q, ch, e, pm)));
                int give = LevelHandler.ExpFilter(pm, xp, null, true);

                if (give > 0)
                {
                    pm.SendMessage("You gained {0} experience for completing the craft.", give);
                   [COLOR="Red"] pm.kxp += (int)give;[/COLOR]
                }

                if (pm.Exp >= pm.ToLevel && pm.Level < pm.MaxLevel)
                    LevelHandler.DoLevel(pm, new Configured());
            }
        }
 

Ki Frost

Sorceror
Ello

Hello, I had a spiffy new idea for the level system that would solve alot of the problems everyone has (or atleast that I do) with the exp that is gained/given from the skills and stats portion of the system. My idea is to have a secondary exp system for each skill and stat. It will not affect the original or its gains in any way, all this would do would make it so that when you use a skill successfully it applies exp to your secondary exp aswell as the original, and thus, with the secondary exp, it is added into your EXP itself and allows for more flexability. If peopel are a GM in the skill before you put the system in, and you put it in, it does nothing to there level or how well they can make items, all it does, is now, it makes it so that when they use it (mainly the crafting ones will be noticeable), you gain exp that goes twoards your level.

Further more with this, came the idea of your EXP history. With the EXP History you can see how much exp you have gained twoard your level, in a specific skill, stat, or even your kills. (no kill counter).

I just wanted your thoughts on this. Aswell, if implemented, do you think people would want even more information twoard there EXP History, such as Total Exp Gained in a certain skill/stat, maybe even an item created counter for crafting? kill counter? I'm not sure what all everyone likes to have. Maybe an additional board that becomes a Highscores table for exp and such?

This is the setup I came up with, so far, for the EXP History...
DO NOTE:: THIS PHOTO IS FOR EXAMPLE USE ONLY



Since there are so many skills, it would have to be 3 pages long. and if I added in the stat exp history (wich I may dunno yet) then that could/would/might add another page... :/

Whats everybodies ideas on this?

//EDIT//
Also, on the skills portion of it, it will only list the skills that have actually gained exp twoards the level your working on (unless its an overall exp history).

Made another one... I like this one better, though its more... complex.
 

mogbert

Wanderer
do it

Ya I like the second one as well, I say go for it,. what about making it so you can select a stat to add at level, an option like diablo 2, you make it change, every level you get 1 or 2 stat points to assign. but i really like the gump Idea, people like to see stuff thats going on, and thats kinda like a character sheet. good Idea.
 

Stuart lil

Sorceror
i got the same issue as the one a few posts over me basicly:

Code:
Errors:
 + Daat99/New/Mule.cs:
    CS0115: Line 81: 'Server.Mobiles.Mule.OnBeforeTame()': no suitable method fo
und to override
 + Mobiles/Animals/Mounts/LesserHiryu.cs:
    CS0115: Line 119: 'Server.Mobiles.LesserHiryu.GetControlChance(Server.Mobile
, bool)': no suitable method found to override
 + Mobiles/Animals/Mounts/Ridgeback.cs:
    CS0115: Line 48: 'Server.Mobiles.Ridgeback.GetControlChance(Server.Mobile, b
ool)': no suitable method found to override
 + Mobiles/Animals/Mounts/SavageRidgeback.cs:
    CS0115: Line 48: 'Server.Mobiles.SavageRidgeback.GetControlChance(Server.Mob
ile, bool)': no suitable method found to override
 + Mobiles/Animals/Mounts/ScaledSwampDragon.cs:
    CS0115: Line 47: 'Server.Mobiles.ScaledSwampDragon.GetControlChance(Server.M
obile, bool)': no suitable method found to override
 + Mobiles/Animals/Mounts/SwampDragon.cs:
    CS0115: Line 145: 'Server.Mobiles.SwampDragon.GetControlChance(Server.Mobile
, bool)': no suitable method found to override
 + Mobiles/Monsters/Misc/Melee/BladeSpirits.cs:
    CS0115: Line 17: 'Server.Mobiles.BladeSpirits.GetFightModeRanking(Server.Mob
ile, Server.Mobiles.FightMode, bool)': no suitable method found to override
 + Mobiles/Monsters/Misc/Melee/EnergyVortex.cs:
    CS0115: Line 17: 'Server.Mobiles.EnergyVortex.GetFightModeRanking(Server.Mob
ile, Server.Mobiles.FightMode, bool)': no suitable method found to override
 + Mobiles/Monsters/SE/FireBeetle.cs:
    CS0115: Line 80: 'Server.Mobiles.FireBeetle.GetControlChance(Server.Mobile,
bool)': no suitable method found to override

Could it be the fact that i use RC2 ? or anyone got any idea about this error as of yet ?
 

mogbert

Wanderer
so

So making a level requirement on weapons remains the same as in version 2.0 instructions?

I haven't had any problems with applying this script into my current set of scripts, although it would be easier with instructions from how to change scripts from 2.0 - 3.0 rather then from a blank script each time. but I've managed
 

jesusm

Squire
Crafting EXP

Was just wondering if anyone else was having any troubles with gaining experience from crafting with the beta? I don't see a reason why it shouldn't work, but it doesn't... Any help would be very much appreciated.
 

Aurboda

Sorceror
Was just wondering if anyone else was having any troubles with gaining experience from crafting with the beta? I don't see a reason why it shouldn't work, but it doesn't... Any help would be very much appreciated.

See my post above, Aug 26, 2008, that correction fixed the crafting experience bug
 

Admin Flames

Wanderer
i to am getting errors;


Code:
What does all this mean?:
Errors:
+ Mobiles/Animals/Mounts/LesserHiryu.cs:
CS0115: Line 119: 'Server.Mobiles.LesserHiryu.GetControlChance(Serve r.Mobile
, bool)': no suitable method found to override
+ Mobiles/Animals/Mounts/Ridgeback.cs:
CS0115: Line 48: 'Server.Mobiles.Ridgeback.GetControlChance(Server. Mobile, b
ool)': no suitable method found to override
+ Mobiles/Animals/Mounts/SavageRidgeback.cs:
CS0115: Line 48: 'Server.Mobiles.SavageRidgeback.GetControlChance(S erver.Mob
ile, bool)': no suitable method found to override
+ Mobiles/Animals/Mounts/ScaledSwampDragon.cs:
CS0115: Line 47: 'Server.Mobiles.ScaledSwampDragon.GetControlChance (Server.M
obile, bool)': no suitable method found to override
+ Mobiles/Animals/Mounts/SwampDragon.cs:
CS0115: Line 145: 'Server.Mobiles.SwampDragon.GetControlChance(Serve r.Mobile
, bool)': no suitable method found to override
+ Mobiles/Monsters/Misc/Melee/BladeSpirits.cs:
CS0115: Line 17: 'Server.Mobiles.BladeSpirits.GetFightModeRanking(S erver.Mob
ile, Server.Mobiles.FightMode, bool)': no suitable method found to override
+ Mobiles/Monsters/Misc/Melee/EnergyVortex.cs:
CS0115: Line 17: 'Server.Mobiles.EnergyVortex.GetFightModeRanking(S erver.Mob
ile, Server.Mobiles.FightMode, bool)': no suitable method found to override
+ Mobiles/Monsters/SE/FireBeetle.cs:
CS0115: Line 80: 'Server.Mobiles.FireBeetle.GetControlChance(Server .Mobile,
bool)': no suitable method found to override
Scripts: One or more scripts failed to compile or no script files were found.
- Press return to exit, or R to try again.

also i am using RunUO 2.0 RC2
 

Ki Frost

Sorceror
Sorry about not posting for such a long while. I've been a little busy with some personal stuff.

I am going to attempt to awnser all of the questions asked since my last post about the exp history.
mogbert said:
Ya I like the second one as well, I say go for it,. what about making it so you can select a stat to add at level, an option like diablo 2, you make it change, every level you get 1 or 2 stat points to assign. but i really like the gump Idea, people like to see stuff thats going on, and thats kinda like a character sheet. good Idea.
I see no reason why I can't TRY to put this in, i know how to do it, since I have done it as a favor for a private shard.
Stuart lil said:
How hard is it to make this baby work with RC2 or is it maybe compatible.. anyone tryed ?
Both 3 and 3R-B1 should/will work on RC2. I think the only time the edits differ is after SVN 160 something, and thats because the paperdoll titles code was modified slightly. Both systems have instructions for RC2 (if not i can make some).
Couple of people said:
i got the same issue as the one a few posts over me basicly:


Code:
Errors:
+ Daat99/New/Mule.cs:
CS0115: Line 81: 'Server.Mobiles.Mule.OnBeforeTame()': no suitable method fo
und to override
+ Mobiles/Animals/Mounts/LesserHiryu.cs:
CS0115: Line 119: 'Server.Mobiles.LesserHiryu.GetControlChance(Server.Mobile
, bool)': no suitable method found to override
+ Mobiles/Animals/Mounts/Ridgeback.cs:
CS0115: Line 48: 'Server.Mobiles.Ridgeback.GetControlChance(Server.Mobile, b
ool)': no suitable method found to override
+ Mobiles/Animals/Mounts/SavageRidgeback.cs:
CS0115: Line 48: 'Server.Mobiles.SavageRidgeback.GetControlChance(Server.Mob
ile, bool)': no suitable method found to override
+ Mobiles/Animals/Mounts/ScaledSwampDragon.cs:
CS0115: Line 47: 'Server.Mobiles.ScaledSwampDragon.GetControlChance(Server.M
obile, bool)': no suitable method found to override
+ Mobiles/Animals/Mounts/SwampDragon.cs:
CS0115: Line 145: 'Server.Mobiles.SwampDragon.GetControlChance(Server.Mobile
, bool)': no suitable method found to override
+ Mobiles/Monsters/Misc/Melee/BladeSpirits.cs:
CS0115: Line 17: 'Server.Mobiles.BladeSpirits.GetFightModeRanking(Server.Mob
ile, Server.Mobiles.FightMode, bool)': no suitable method found to override
+ Mobiles/Monsters/Misc/Melee/EnergyVortex.cs:
CS0115: Line 17: 'Server.Mobiles.EnergyVortex.GetFightModeRanking(Server.Mob
ile, Server.Mobiles.FightMode, bool)': no suitable method found to override
+ Mobiles/Monsters/SE/FireBeetle.cs:
CS0115: Line 80: 'Server.Mobiles.FireBeetle.GetControlChance(Server.Mobile,
bool)': no suitable method found to overrideCould it be the fact that i use RC2 ? or anyone got any idea about this error as of yet ?
I have no idea what is causing this issue, this issue goes all the way back to LS2 when I was starting to write it. It seems only to do this on some servers. I will be looking into this problem when I get to that section.
mogbert said:
So making a level requirement on weapons remains the same as in version 2.0 instructions?

I haven't had any problems with applying this script into my current set of scripts, although it would be easier with instructions from how to change scripts from 2.0 - 3.0 rather then from a blank script each time. but I've managed
Yes the level requirement setup is the same for weapons and armours as in 2.0.
I know I havnt been to keen on helping people with updating to the newest system. The new level system will have upgrade instructions (ingame and out) on how to update to it from every system back to 2.0
jesusm said:
Was just wondering if anyone else was having any troubles with gaining experience from crafting with the beta? I don't see a reason why it shouldn't work, but it doesn't... Any help would be very much appreciated.
Actually the beta system is missing the modification to the CraftItem.cs file. I forgot to release it with the instructions. The new exp system will modify all of the crafting/skill gain exp options so it will be very different this time around. If you are wanting needing the modification before the new release let me know and I will post that up aswell.

The new system hasnt gotten very far, as I am still stuck with the saving and loading methods. (I am importing 4 files and loading off of old pm stuff so its kinda tricky). I do have 4 stable save system/versions that I will be tinkering with here shortly and get a move on with it (FINALY! ;)).

On Another Note:
I need assistance! Yes, usually I dont ask for help, or if I have a question I just ask it in script support, but I have noticed, that the script support section is really crappy as of late (atleast for the things I am doing), so if anyone would like to help me out with some things, either send me a PM or contact me on MSN. ([email protected])

Mostly the things I need help with are:
The saving/loading system (XML based)
The new EXP system, I mostly need help with how I am going to tie in all the other skills that arent heavily action based (like fighting skills).
The Plug-In Concept! Basically the way I am going to do this is make the most basic of level systems first, and then make something like plug-in-packs with the different features.

So again, if anyone is needing some instructinos or the crafting modification for the craft exp (R-B1 version) or if you are wanting to help me out with the system and move things along, let me know.

//End bad post of rambling.

~KF~
 

Sarraclab

Sorceror
I think I've said before.. I'd love to see the ability to set specific exp required for each level. It's actually something I've been trying to do with your 3rd leveling system and can't get to work, despite the solutions already provided in this forum... I think.
 

Stuart lil

Sorceror
Getting some errors here,
I run on The latest SVN with MalGanis ML.
from what i can see there is somthing with the drop´s of minor artifacts, tried to figure it out, but with little luck and in my case, little skill aswell. So i ll just give you guys a shot!

Code:
Errors:
 + Customs/Constructables/MageInvasionEvent/Picohino.cs:
    CS0115: Line 88: 'Server.Mobiles.Picohino.CanAnimateDead': no suitable metho
d found to override
    CS0115: Line 89: 'Server.Mobiles.Picohino.Animates': no suitable method foun
d to override
    CS0115: Line 90: 'Server.Mobiles.Picohino.GivesMinorArtifact': no suitable m
ethod found to override
 + Customs/Constructables/MageInvasionEvent/Trahino.cs:
    CS0115: Line 106: 'Server.Mobiles.Trahino.CanAnimateDead': no suitable metho
d found to override
    CS0115: Line 107: 'Server.Mobiles.Trahino.Animates': no suitable method foun
d to override
    CS0115: Line 108: 'Server.Mobiles.Trahino.GivesMinorArtifact': no suitable m
ethod found to override
 + Customs/Systems and Misc/Daat99/New/Mule.cs:
    CS0115: Line 81: 'Server.Mobiles.Mule.OnBeforeTame()': no suitable method fo
und to override
 + Mobiles/Animals/Mounts/LesserHiryu.cs:
    CS0115: Line 119: 'Server.Mobiles.LesserHiryu.GetControlChance(Server.Mobile
, bool)': no suitable method found to override
 + Mobiles/Animals/Mounts/Ridgeback.cs:
    CS0115: Line 48: 'Server.Mobiles.Ridgeback.GetControlChance(Server.Mobile, b
ool)': no suitable method found to override
 + Mobiles/Animals/Mounts/SavageRidgeback.cs:
    CS0115: Line 48: 'Server.Mobiles.SavageRidgeback.GetControlChance(Server.Mob
ile, bool)': no suitable method found to override
 + Mobiles/Animals/Mounts/ScaledSwampDragon.cs:
    CS0115: Line 47: 'Server.Mobiles.ScaledSwampDragon.GetControlChance(Server.M
obile, bool)': no suitable method found to override
 + Mobiles/Animals/Mounts/SwampDragon.cs:
    CS0115: Line 145: 'Server.Mobiles.SwampDragon.GetControlChance(Server.Mobile
, bool)': no suitable method found to override
 + Mobiles/Monsters/Misc/Melee/BladeSpirits.cs:
    CS0115: Line 17: 'Server.Mobiles.BladeSpirits.GetFightModeRanking(Server.Mob
ile, Server.Mobiles.FightMode, bool)': no suitable method found to override
 + Mobiles/Monsters/Misc/Melee/EnergyVortex.cs:
    CS0115: Line 17: 'Server.Mobiles.EnergyVortex.GetFightModeRanking(Server.Mob
ile, Server.Mobiles.FightMode, bool)': no suitable method found to override
 + Mobiles/Monsters/SE/FireBeetle.cs:
    CS0115: Line 80: 'Server.Mobiles.FireBeetle.GetControlChance(Server.Mobile,
bool)': no suitable method found to override
 + Mondain's Legacy/Mobiles/Bedlam/LadyJennifyr.cs:
    CS0115: Line 76: 'Server.Mobiles.LadyJennifyr.GivesMinorArtifact': no suitab
le method found to override
 + Mondain's Legacy/Mobiles/Bedlam/LadyMarai.cs:
    CS0115: Line 65: 'Server.Mobiles.LadyMarai.GivesMinorArtifact': no suitable
method found to override
 + Mondain's Legacy/Mobiles/Bedlam/MasterJonath.cs:
    CS0115: Line 69: 'Server.Mobiles.MasterJonath.GivesMinorArtifact': no suitab
le method found to override
 + Mondain's Legacy/Mobiles/Bedlam/MasterMikael.cs:
    CS0115: Line 67: 'Server.Mobiles.MasterMikael.GivesMinorArtifact': no suitab
le method found to override
 + Mondain's Legacy/Mobiles/Bedlam/MasterTheophilus.cs:
    CS0115: Line 70: 'Server.Mobiles.MasterTheophilus.GivesMinorArtifact': no su
itable method found to override
 + Mondain's Legacy/Mobiles/Bedlam/MonstrousInterredGrizzle.cs:
    CS0115: Line 91: 'Server.Mobiles.MonstrousInterredGrizzle.GivesMinorArtifact
': no suitable method found to override
 + Mondain's Legacy/Mobiles/Bedlam/RedDeath.cs:
    CS0115: Line 60: 'Server.Mobiles.RedDeath.GivesMinorArtifact': no suitable m
ethod found to override
 + Mondain's Legacy/Mobiles/Bedlam/SirPatrick.cs:
    CS0115: Line 76: 'Server.Mobiles.SirPatrick.GivesMinorArtifact': no suitable
 method found to override
 + Mondain's Legacy/Mobiles/Blighted Grove/Abscess.cs:
    CS0115: Line 62: 'Server.Mobiles.Abscess.GivesMinorArtifact': no suitable me
thod found to override
 + Mondain's Legacy/Mobiles/Blighted Grove/Coil.cs:
    CS0115: Line 79: 'Server.Mobiles.Coil.GivesMinorArtifact': no suitable metho
d found to override
 + Mondain's Legacy/Mobiles/Blighted Grove/LadyMelisande.cs:
    CS0115: Line 114: 'Server.Mobiles.LadyMelisande.CanAnimateDead': no suitable
 method found to override
    CS0115: Line 115: 'Server.Mobiles.LadyMelisande.Animates': no suitable metho
d found to override
    CS0115: Line 116: 'Server.Mobiles.LadyMelisande.GivesMinorArtifact': no suit
able method found to override
 + Mondain's Legacy/Mobiles/Blighted Grove/Thrasher.cs:
    CS0115: Line 54: 'Server.Mobiles.Thrasher.GivesMinorArtifact': no suitable m
ethod found to override
 + Mondain's Legacy/Mobiles/Labyrinth/Miasma.cs:
    CS0115: Line 84: 'Server.Mobiles.Miasma.GivesMinorArtifact': no suitable met
hod found to override
 + Mondain's Legacy/Mobiles/Labyrinth/Pyre.cs:
    CS0115: Line 94: 'Server.Mobiles.Pyre.GivesMinorArtifact': no suitable metho
d found to override
 + Mondain's Legacy/Mobiles/Labyrinth/Rend.cs:
    CS0115: Line 59: 'Server.Mobiles.Rend.CanAnimateDead': no suitable method fo
und to override
    CS0115: Line 60: 'Server.Mobiles.Rend.Animates': no suitable method found to
 override
    CS0115: Line 61: 'Server.Mobiles.Rend.AnimateScalar': no suitable method fou
nd to override
 + Mondain's Legacy/Mobiles/Painted Caves/Grobu.cs:
    CS0115: Line 59: 'Server.Mobiles.Grobu.GivesMinorArtifact': no suitable meth
od found to override
 + Mondain's Legacy/Mobiles/Painted Caves/Troglodyte.cs:
    CS0115: Line 64: 'Server.Mobiles.Troglodyte.CanHeal': no suitable method fou
nd to override
    CS0115: Line 65: 'Server.Mobiles.Troglodyte.MinHealDelay': no suitable metho
d found to override
 + Mondain's Legacy/Mobiles/Painted Caves/Lurg.cs:
    CS0115: Line 59: 'Server.Mobiles.Lurg.GivesMinorArtifact': no suitable metho
d found to override
 + Mondain's Legacy/Mobiles/Palace of Paroxysmus/ChiefParoxysmus.cs:
    CS0115: Line 83: 'Server.Mobiles.ChiefParoxysmus.GivesMinorArtifact': no sui
table method found to override
    CS0115: Line 87: 'Server.Mobiles.ChiefParoxysmus.CanAreaPoison': no suitable
 method found to override
    CS0115: Line 88: 'Server.Mobiles.ChiefParoxysmus.HitAreaPoison': no suitable
 method found to override
 + Mondain's Legacy/Mobiles/Palace of Paroxysmus/Putrefier.cs:
    CS0115: Line 72: 'Server.Mobiles.Putrefier.GivesMinorArtifact': no suitable
method found to override
 + Mondain's Legacy/Mobiles/Palace of Paroxysmus/Putrifier.cs:
    CS0115: Line 72: 'Server.Mobiles.Putrifier.GivesMinorArtifact': no suitable
method found to override
 + Mondain's Legacy/Mobiles/Prism of Light/CorporealBrume.cs:
    CS0115: Line 44: 'Server.Mobiles.CorporealBrume.AreaDamageEffect(Server.Mobi
le)': no suitable method found to override
    CS0115: Line 50: 'Server.Mobiles.CorporealBrume.CanAreaDamage': no suitable
method found to override
    CS0115: Line 51: 'Server.Mobiles.CorporealBrume.AreaDamageDelay': no suitabl
e method found to override
    CS0115: Line 52: 'Server.Mobiles.CorporealBrume.AreaDamageScalar': no suitab
le method found to override
    CS0115: Line 53: 'Server.Mobiles.CorporealBrume.AreaFireDamage': no suitable
 method found to override
    CS0115: Line 54: 'Server.Mobiles.CorporealBrume.AreaColdDamage': no suitable
 method found to override
 + Mondain's Legacy/Mobiles/Prism of Light/FetidEssence.cs:
    CS0115: Line 48: 'Server.Mobiles.FetidEssence.AreaDamageEffect(Server.Mobile
)': no suitable method found to override
    CS0115: Line 54: 'Server.Mobiles.FetidEssence.CanAreaDamage': no suitable me
thod found to override
    CS0115: Line 55: 'Server.Mobiles.FetidEssence.AreaDamageDelay': no suitable
method found to override
    CS0115: Line 56: 'Server.Mobiles.FetidEssence.AreaDamageScalar': no suitable
 method found to override
    CS0115: Line 57: 'Server.Mobiles.FetidEssence.AreaFireDamage': no suitable m
ethod found to override
    CS0115: Line 58: 'Server.Mobiles.FetidEssence.AreaColdDamage': no suitable m
ethod found to override
 + Mondain's Legacy/Mobiles/The Citadel/Travesty.cs:
    CS0115: Line 76: 'Server.Mobiles.Travesty.CanAnimateDead': no suitable metho
d found to override
    CS0115: Line 77: 'Server.Mobiles.Travesty.Animates': no suitable method foun
d to override
    CS0115: Line 78: 'Server.Mobiles.Travesty.GivesMinorArtifact': no suitable m
ethod found to override
 + Mondain's Legacy/Mobiles/Twisted Weald/CuSidhe.cs:
    CS0115: Line 96: 'Server.Mobiles.CuSidhe.CanHeal': no suitable method found
to override
    CS0115: Line 97: 'Server.Mobiles.CuSidhe.CanHealOwner': no suitable method f
ound to override
 + Mondain's Legacy/Mobiles/Twisted Weald/DreadHorn.cs:
    CS0115: Line 146: 'Server.Mobiles.DreadHorn.GivesMinorArtifact': no suitable
 method found to override
 + Mondain's Legacy/Mobiles/Twisted Weald/Gnaw.cs:
    CS0115: Line 46: 'Server.Mobiles.Gnaw.GivesMinorArtifact': no suitable metho
d found to override
 + Mondain's Legacy/Mobiles/Twisted Weald/Guile.cs:
    CS0115: Line 45: 'Server.Mobiles.Guile.GivesMinorArtifact': no suitable meth
od found to override
 + Mondain's Legacy/Mobiles/Twisted Weald/Irk.cs:
    CS0115: Line 44: 'Server.Mobiles.Irk.GivesMinorArtifact': no suitable method
 found to override
 + Mondain's Legacy/Mobiles/Twisted Weald/LadyLissith.cs:
    CS0115: Line 76: 'Server.Mobiles.LadyLissith.GivesMinorArtifact': no suitabl
e method found to override
 + Mondain's Legacy/Mobiles/Twisted Weald/LadySabrix.cs:
    CS0115: Line 81: 'Server.Mobiles.LadySabrix.GivesMinorArtifact': no suitable
 method found to override
 + Mondain's Legacy/Mobiles/Twisted Weald/Malefic.cs:
    CS0115: Line 63: 'Server.Mobiles.Malefic.GivesMinorArtifact': no suitable me
thod found to override
 + Mondain's Legacy/Mobiles/Twisted Weald/Silk.cs:
    CS0115: Line 61: 'Server.Mobiles.Silk.GivesMinorArtifact': no suitable metho
d found to override
 + Mondain's Legacy/Mobiles/Twisted Weald/Spite.cs:
    CS0115: Line 50: 'Server.Mobiles.Spite.GivesMinorArtifact': no suitable meth
od found to override
 + Mondain's Legacy/Mobiles/Twisted Weald/Swoop.cs:
    CS0115: Line 52: 'Server.Mobiles.Swoop.GivesMinorArtifact': no suitable meth
od found to override
 + Mondain's Legacy/Mobiles/Twisted Weald/Virulent.cs:
    CS0115: Line 69: 'Server.Mobiles.Virulent.GivesMinorArtifact': no suitable m
ethod found to override


As always, im gratefull for any help, and i pray to the god´s i get this baby working.. seems very VERY nice =P
 
Top