drachai

Member
First of all hello to everyone this is my first message on community. Also so new on servuo (old sphere scripter).

My question is :

Is there any working level and class system on servuo? I searched all runuo forums, also found some system on runuo forums but didnt work :( (So many errors, some of the level systems :

- Bacaw's Easy Level System v[2].0.1 (e)
- Serbo Level Sys.zip
- Level system 3
- Race & Class System v2.rar

all of them not working :(

Thank You
 
I'm not aware of any publicly released ones except the ones you mentioned.

I think the big problem is most people write heavy edits to playermobile.cs which cause a lot of problems when releasing them. I think a better way would be to use xmlspawer attachments or the custom framework in servuo. I think RoninGT was working on one but he has been missing for a while.
 
Thank you for your fast and kind reply. I have little knowledge about xmlspawner but i am not sure about the capability of this system. I hope RoninGT releases something about that :)
 
If you want to make a good level system don't use other peoples system. I made a basic one that takes the players skills and gives them a level based on that. monsters get a level based on a formula of their stats, skills, health, and damage. It's not too hard to achieve honestly. Get some more C script knowledge and it will all fall together i promise.

Level system 3 : R-B1 does work with servuo, It is what i used before i made my own.
I know the creator of Level system 1,2,3 and his un released to the public 4 5 and 6. Interesting guy, shame he never finished 5 and 6. each increase in number he made it more compact and independent from ACC. I'd suggest looking at all those level systems you've mentioned and seeing what you can make yourself, even if it's a challenge you will learn something from it.
 
Using XML Attachments you can make a simple attachment that holds the player level, current exp, Next Level and then attach it to the player when it is created or by some other means.

Code:
using System;
using System.Collections.Generic;
using Server;
using Server.Mobiles;
using Server.Engines.XmlSpawner2;
 
 
 
 
namespace Server.PlayerLevelSystem
{
	public class PlayerLevelAttachment : XmlAttachment
	{
		private int m_PlayerLevel = 0;
		private int m_NextLevel = 0;
		private int m_PlayerExp = 0;
 
 
 
 
		[CommandProperty(AccessLevel.GameMaster)]
		public int PlayerLevel { get { return m_PlayerLevel; } set { m_PlayerLevel = value; } }
 
 
 
 
		[CommandProperty(AccessLevel.GameMaster)]
		public int NextLevel { get { return m_NextLevel; } set { m_NextLevel = value; } }
 
 
 
 
		[CommandProperty(AccessLevel.GameMaster)]
		public int PlayerExp { get { return m_PlayerExp; } set { m_PlayerExp = value; } }
 
 
 
 
		public PlayerLevelAttachment(ASerial serial)
			: base(serial)
		{
		}
 
 
 
 
		[Attachable]
		public PlayerLevelAttachment()
		{
			PlayerLevel = 0;
			NextLevel = 18000;
			PlayerExp = 0;
		}
 
 
 
 
		public override void Serialize(GenericWriter writer)
		{
			base.Serialize(writer);
 
 
 
 
			writer.Write((int) 0);
			writer.Write((int)m_PlayerLevel);
			writer.Write((int)m_NextLevel);
			writer.Write((int)m_PlayerExp);
 
 
 
 
		}
 
 
 
 
		public override void Deserialize(GenericReader reader)
		{
			base.Deserialize(reader);
 
 
 
 
			int version = reader.ReadInt();
 
 
 
 
			m_PlayerLevel = reader.ReadInt();
			m_NextLevel = reader.ReadInt();
			m_PlayerExp = reader.ReadInt();
 
 
 
 
		}
	}
}

This is an example of what i use. If you need more help or would like to use it to move forward I can help you with the process.
 
If you want to make a good level system don't use other peoples system. I made a basic one that takes the players skills and gives them a level based on that. monsters get a level based on a formula of their stats, skills, health, and damage. It's not too hard to achieve honestly. Get some more C script knowledge and it will all fall together i promise.

Level system 3 : R-B1 does work with servuo, It is what i used before i made my own.
I know the creator of Level system 1,2,3 and his un released to the public 4 5 and 6. Interesting guy, shame he never finished 5 and 6. each increase in number he made it more compact and independent from ACC. I'd suggest looking at all those level systems you've mentioned and seeing what you can make yourself, even if it's a challenge you will learn something from it.

Thank you for your information and suggestion . I totaly agree to use own system. But right now I'm little newbie on Servuo (I think my c# knowledge is not enough to make right now), I still need example of the level system.
My project ; in my old emulator, i had already writen a level and class based system. Old system is very simple : the main idea is melee players able to fight bosses like other mmorpg. Player take quest on npc (kill,loot,take item to another npc) and gain more exp. after finish quest. But on old emulator problems are : Too many tags and gumps, monster ai is not enough and envoirement control is too hard,also we couldtn make a good pvp balance on classes etc..
My goal is on this project make class and level system in uo on enhanced client with sa futures. Maybe some group dungeons like tank,dps, healers. I am not sure about the capability of my team knowledge :)


@Drilikath thank you for example i'm going to looking it after work on tonight :) I think i'll need more help and i would like to use it to move forward :)
 
If you want to make a good level system don't use other peoples system. I made a basic one that takes the players skills and gives them a level based on that. monsters get a level based on a formula of their stats, skills, health, and damage. It's not too hard to achieve honestly. Get some more C script knowledge and it will all fall together i promise.

Level system 3 : R-B1 does work with servuo, It is what i used before i made my own.
I know the creator of Level system 1,2,3 and his un released to the public 4 5 and 6. Interesting guy, shame he never finished 5 and 6. each increase in number he made it more compact and independent from ACC. I'd suggest looking at all those level systems you've mentioned and seeing what you can make yourself, even if it's a challenge you will learn something from it.


!!!!!!BEST ANSWER!!!!!!
 
We have several people here who are good with xmlspawner attachments. Start on it based on what Drilikath posted (its the same way i do my token system) and when you get stuck we will be happy to help!
 
We have several people here who are good with xmlspawner attachments. Start on it based on what Drilikath posted (its the same way i do my token system) and when you get stuck we will be happy to help!
i am going to work on it, but first i must work on structure and class :( newbie to work on it :D
 
-I'm agree to that systems too. Now i'm using ''race & class system v2'' with very modified playermobile. But that need a lot of changes in pm and is very complicated to pack this ideas to other users. I made own races and classes in pm based on d&d and i needed that to make special class items (paladin plate armor set, berserk light armor set, axes etc ) i needed to make this changes because my knowledge about xml attachments ale very poor... and there are my question. That is possible to make with xml?
 
Any system that needs playermobile edits can be done with XML attachments. Some code has to be changed for obvious reasons but. Making an xmlattachment for all the information and changing basearmor/weps/clothing etc etc can use the xmlattachment code to make it so the system is technically drag and drop. Any changes to BC usually can not be avoided but 2 lines of code vs 100's is a lot better in my book. Plus if something breaks or you want to change something going in and adding or removing attachments does not break the server.
 
Changes to playermobile and basecreature can usually be totally avoided if you allow the properties to be get/set on the attachment instead of the player or basecreature. But even if you have to do minor changes to PM and BC, the real advantage is that you can make the changes without the need to Serialize/Deserialize the playermobile and basecreature. All serial/deserial is done on the attachment automatically.

An example is the token system I did on my shard. I have an xmlattachment that is attached to all players. It tracks # of tokens, last death, last kill, and total kills. These are all values tracked on the attachment and associated with a particular playermobile - with no edits to the playermobile at all. The values can be called from any script, can be viewed by any GM, and remain between saves.

The only reason I would need to edit my playermobile in this system is if I wanted to be able to call the property directly from the playermobile instead of going through the attachment. For example, a GM could use [get tokens and target a player instead of [get att and then looking at the attachment to get the token value. Even if I do the edit to playermobile, its a very simple get and set property that does not have to be serialized.

My understanding is that the customs framework does something similar as well, storing in a core instead of attachment but I don't fully understand the system yet and have not played with it much. @Insanity mentioned a tutorial someday when he finishes his 50 other projects ;)
 
My understanding is that the customs framework does something similar as well, storing in a core instead of attachment but I don't fully understand the system yet and have not played with it much. @Insanity mentioned a tutorial someday when he finishes his 50 other projects

The tutorial will be part of the wiki when it's made public. Sorry if you assumed it would be posted via the Archive.
 
If you run out of options and you seriously want to avoid editing a file, you can always learn how to use System.Reflection to get and set fields and properties, or invoke methods on an object or static class, even if they are private.
That's pretty much the fundamental core to VNc's Services/Modules API at the lowest level.
 
Using XML Attachments you can make a simple attachment that holds the player level, current exp, Next Level and then attach it to the player when it is created or by some other means.

Code:
using System;
using System.Collections.Generic;
using Server;
using Server.Mobiles;
using Server.Engines.XmlSpawner2;
 
 
 
 
namespace Server.PlayerLevelSystem
{
    public class PlayerLevelAttachment : XmlAttachment
    {
        private int m_PlayerLevel = 0;
        private int m_NextLevel = 0;
        private int m_PlayerExp = 0;
 
 
 
 
        [CommandProperty(AccessLevel.GameMaster)]
        public int PlayerLevel { get { return m_PlayerLevel; } set { m_PlayerLevel = value; } }
 
 
 
 
        [CommandProperty(AccessLevel.GameMaster)]
        public int NextLevel { get { return m_NextLevel; } set { m_NextLevel = value; } }
 
 
 
 
        [CommandProperty(AccessLevel.GameMaster)]
        public int PlayerExp { get { return m_PlayerExp; } set { m_PlayerExp = value; } }
 
 
 
 
        public PlayerLevelAttachment(ASerial serial)
            : base(serial)
        {
        }
 
 
 
 
        [Attachable]
        public PlayerLevelAttachment()
        {
            PlayerLevel = 0;
            NextLevel = 18000;
            PlayerExp = 0;
        }
 
 
 
 
        public override void Serialize(GenericWriter writer)
        {
            base.Serialize(writer);
 
 
 
 
            writer.Write((int) 0);
            writer.Write((int)m_PlayerLevel);
            writer.Write((int)m_NextLevel);
            writer.Write((int)m_PlayerExp);
 
 
 
 
        }
 
 
 
 
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);
 
 
 
 
            int version = reader.ReadInt();
 
 
 
 
            m_PlayerLevel = reader.ReadInt();
            m_NextLevel = reader.ReadInt();
            m_PlayerExp = reader.ReadInt();
 
 
 
 
        }
    }
}

This is an example of what i use. If you need more help or would like to use it to move forward I can help you with the process.
Hello, I would like to learn more about the xml system and how to configure it.
 

Active Shards

Donations

Total amount
$80.00
Goal
$1,000.00
Back