1648729480740.png

As long as there are no compile errors then it should be fine. I should mention though, in the newest servuo distro simply dropping the files inside the customs folder is not enough, you need to recompile every time you make a change to your scripts for the project to update. This is with anything new you add or anything you change. [levelcontrol isn't working likely because you did not compile the changes.
 
i removed the XMLAttachExt feature and change everything to xmlspawner2 since servuo has it built in. havent had any problems since
pretty sure you will run into issues with lag/ping unless you did something different?
I haven't come across any lag issue yet tho
 
Last edited:
Hi. I just extracted this to my custom folder. Maybe I came in the middle of the discussion, but this is what I read in the instructions. "Once you extract LevelSystemExtreme into the customs folder and make the edits, it's ready to go. Log in to the server as a GM or higher and use [levelcontrol ." I 1) Don't see a file that explains what edits I need to make (per the instructions) 2) I logged in to my server and typed [levelcontrol but nothing happens. What am I missing? Thanks!
there is a file as i remember
 
After summoning Blade Spirit & Energy Voltex, the server reboots if you move the character

System.NullReferenceException: Object reference is not set to an instance of the object.
Location: Server.Items.CreatureMovement.addlevelorb(Mobile m, LevelControlSys m_ItemxmlSys)
Location: Server.Items.CreatureMovement.EventSink_Movement(MovementEventArgs e)
Location: Server.MovementEventHandler.Invoke(MovementEventArgs e)
Location: Server.EventSink.InvokeMovement(MovementEventArgs e)
Location: Server.Mobile.InternalOnMove(Direction d)
Location: Server.Mobile.Move(Direction d)
Location: Server.Mobiles.PlayerMobile.Move(Direction d)
Location: Server.Network.PacketHandlers.MovementReq(NetState state, PacketReader pvSrc)
Location: Server.Network.MessagePump.HandleReceive(NetState ns)
Location: Server.Network.MessagePump.Slice()
Location: Server.Core.Main(String[] args)

Crash log Is there a solution?
 
Last edited:
Made a change, try replacing this file, that should help. This wasn't an issue initially so something may have changed.
 

Attachments

  • CreatureMovement.cs
    4.9 KB · Views: 7
I have one more question. When a monster is killed in large quantities with range magic, there is a delay in the motion or magic effect of the monster to die. There is no delay when the levelcontrol system is not turned on. Is there a way to fix the delay?
 
I have one more question. When a monster is killed in large quantities with range magic, there is a delay in the motion or magic effect of the monster to die. There is no delay when the levelcontrol system is not turned on. Is there a way to fix the delay?
A release is coming out shortly that should address the extreme lag the system causes. Also some improvements to other parts of the code base. No new features are planned yet, for now it just house cleaning and updating methods. The change coming will be a complete replacement, no serialization changes are expected however there is never a guarantee that there is no data loss.
This is also a good time, if anyone has any additional feedback or suggestions, I'm open to hear it. I do plan to bring in a special 'bonus' for those that make level 100.

I do not plan on removing the custom version of XMLSpawner from the distro, reason being is not all variants of servuo will continue to have the xmlspawner in its entirety included. I'm making some changes to the Custom XMLSpawner to address some minor issues.
 
Last edited:
A release is coming out shortly that should address the extreme lag the system causes. Also some improvements to other parts of the code base. No new features are planned yet, for now it just house cleaning and updating methods. The change coming will be a complete replacement, no serialization changes are expected however there is never a guarantee that there is no data loss.
This is also a good time, if anyone has any additional feedback or suggestions, I'm open to hear it. I do plan to bring in a special 'bonus' for those that make level 100.

I do not plan on removing the custom version of XMLSpawner from the distro, reason being is not all variants of servuo will continue to have the xmlspawner in its entirety included. I'm making some changes to the Custom XMLSpawner to address some minor issues.
Oh! I'll be waiting for good news!
 
Joshua updated Level System Extreme with a new update entry:

Lag Issues / House Keeping

There has been minor/major changes across the board for most of the files, including the setup instructions. There should be no serial changes, so drag and drop (with care) should be possible, always make backups. The biggest highlight of this update was to address the Lag.
  • Changed the way the in world config item is called, instead of searching the world values, the script now just searches a small 3x3 block (Gave some space around it just in case), and then pulls the XML...

Read the rest of this update entry...
Ideally I want to bring back the idea of 'breeding' along with 'evolution'. Also adding something on top of 'loyalty' , other 'feelings' such as excited, hostile, upset, etc. And these feelings would influence how the pet interacted with you or how well it listens. I had considered taking over the animal lore gump and just overriding it, but.. meh.
 
Last edited:
Joshua updated Level System Extreme with a new update entry:

Lag Issues / House Keeping



Read the rest of this update entry...
Ideally I want to bring back the idea of 'breeding' along with 'evolution'. Also adding something on top of 'loyalty' , other 'feelings' such as excited, hostile, upset, etc. And these feelings would influence how the pet interacted with you or how well it listens. I had considered taking over the animal lore gump and just overriding it, but.. meh.
Thank you for the update. But there's a problem. I applied and compiled everything as described in Setupinstructions.txt, but the following problems occur.
Error deserializing attachments Server.Engines.XmlSpawner2.XmlData.
Missing a serial constructor?


Error deserializing attachments Server.Engines.XmlSpawner2.LevelControlSys.
Missing a serial constructor?


Error deserializing attachments Server.Engines.XmlSpawner2.XmlDialog.
Missing a serial constructor?


LevelSystemExtAtt Attachment Error:
Error deserializing particular attachments.
Generating report...done

Error deserializing attachments Server.Engines.XmlSpawner2.LevelControlSys.
Missing a serial constructor?


XmlSpawner2 Attachment Error:
Error deserializing particular attachments.
Generating report...done
Can you help me with how to solve this problem?
I am using the pub57 version.
 
searching for world values was giving lag issues?
Mainly because every 10 ms the server was getting about 40 to 50 request to search the world for something, and depending on the action that amount of request could have easily doubled or tripled. It was not the best way to handle the process. I believe this was also a main contributor to the level menu coming up half broken at random.
Thank you for the update. But there's a problem. I applied and compiled everything as described in Setupinstructions.txt, but the following problems occur.

Can you help me with how to solve this problem?
I am using the pub57 version.
If you are using the current available distro at GitHub - ServUO/ServUO: An Ultima Online server emulator written in C# .NET then the compiler should provide you with more information on regards to where the error is happening. If you are not using that but an older version, then I will need you to use debug mode and give me that error information.

Additional Note: The current distro does 'not' have the xmlattachment expansion from xmlspawner2. If you are using XML Spawner2 with the attachment expansion plus Level3Extreme, the save files might be conflicting with each other.

I may have a way to help with this, give me a little time and I will post something.

Added Info (I really wish the forums would not combine my post..)
Okay, I will be updating the main download to include this after this post however for you @bala1412 , replace this file in XMLSpawnerEXT\LevelSystemAttachExt

That should help your setup.
 

Attachments

  • XmlAttach.cs
    65.1 KB · Views: 10
Last edited:
Mainly because every 10 ms the server was getting about 40 to 50 request to search the world for something, and depending on the action that amount of request could have easily doubled or tripled. It was not the best way to handle the process. I believe this was also a main contributor to the level menu coming up half broken at random.

If you are using the current available distro at GitHub - ServUO/ServUO: An Ultima Online server emulator written in C# .NET then the compiler should provide you with more information on regards to where the error is happening. If you are not using that but an older version, then I will need you to use debug mode and give me that error information.

Additional Note: The current distro does 'not' have the xmlattachment expansion from xmlspawner2. If you are using XML Spawner2 with the attachment expansion plus Level3Extreme, the save files might be conflicting with each other.

I may have a way to help with this, give me a little time and I will post something.

Added Info (I really wish the forums would not combine my post..)
Okay, I will be updating the main download to include this after this post however for you @bala1412 , replace this file in XMLSpawnerEXT\LevelSystemAttachExt

That should help your setup.
ServUO Version 0.5, Build 8600.42588
Operating System: Microsoft Windows NT 6.2.9200.0
.NET Framework: 4.0.30319.42000
Time: 2023-07-19 Afternoon 2:40:10
Mobiles: 41595
Items: 211815
Exception:
System.NullReferenceException: Object reference is not set to an instance of the object.
Location: Server.FeatureHandlerExt.PlayerMobileToonTitle(Mobile m, ObjectPropertyList list)
Location: Server.Mobiles.PlayerMobile.GetProperties(ObjectPropertyList list)
Location: Server.Mobile.get_PropertyList()
Location: Server.Mobile.get_OPLPacket()
Location: Server.Mobile.SendEverything()
Location: Server.Network.PacketHandlers.DoLogin(NetState state)
Location: Server.Network.MessagePump.HandleReceive(NetState ns)
Location: Server.Network.MessagePump.Slice()
Location: Server.Core.Main(String[] args)
Thank you so much for taking the time to work. However, if you replace the XmlAttach.cs file, run the game after compiling, log in, and enter the game world, the server will restart.
This is my crash log.
 
Thank you so much for taking the time to work. However, if you replace the XmlAttach.cs file, run the game after compiling, log in, and enter the game world, the server will restart.
This is my crash log.
Unfortunately that is a normal crash log, not a debug so its harder to pin point the failure. Just to make sure I did not screw something up I took a little time and re-downloaded the current distro and applied all the changes and added in the level system, as well as activated all the options available. I cannot reproduce the error.

The replacement file only corrected one of your errors, which was the conflicting save files. Which I also used the same replacement file.
I wonder, @bala1412 , did you move the config token?
I reviewed the code and I did forget a null check in this method. If you move the token without updating the coordinates in the file LevelControlConfigExt.cs , the system technically will not work. Not supposed to throw a null error.

Go into FeatureHandlerExt.cs
Just before line number: 113

Add this
C#:
if (m_ItemxmlSys == null)
                return;
 
Last edited:
Installed in 57.3 repo,getting this issue:

C#:
CS0234: Line 3: The type or namespace name 'LevelSystemExtAtt' does not exist in the namespace 'Server.Engines' (are you missing an assembly reference?)
I readed there is a chance i havent got the "Features" folder,i cannot find it in the new download,im missing any new download updated link?Thanks in advance.
 
Installed in 57.3 repo,getting this issue:

C#:
CS0234: Line 3: The type orneed.  namespace name 'LevelSystemExtAtt' does not exist in the namespace 'Server.Engines' (are you missing an assembly reference?)
I readed there is a chance i havent got the "Features" folder,i cannot find it in the new download,im missing any new download updated link?Thanks in advance.
The current download should have everything you need. Give me more of a console snippet or a debug log and I can see what is happening. The folder structure did change.
Installed in 57.3 repo,getting this issue:

C#:
CS0234: Line 3: The type or namespace name 'LevelSystemExtAtt' does not exist in the namespace 'Server.Engines' (are you missing an assembly reference?)
I readed there is a chance i havent got the "Features" folder,i cannot find it in the new download,im missing any new download updated link?Thanks in advance.
 
Installed in 57.3 repo,getting this issue:

C#:
CS0234: Line 3: The type or namespace name 'LevelSystemExtAtt' does not exist in the namespace 'Server.Engines' (are you missing an assembly reference?)
I readed there is a chance i havent got the "Features" folder,i cannot find it in the new download,im missing any new download updated link?Thanks in advance.
I'm also getting this

1694363298625.png
 
on skillcheck.cs
at the top of the script you need a using server.something.
go to levelsystem script and at top should have a public server somthing.
thats whats missing
 
on skillcheck.cs
at the top of the script you need a using server.something.
go to levelsystem script and at top should have a public server somthing.
thats whats missing
top of my skillcheck.cs

#region References
using System;

using Server.Engines.Quests;
using Server.Factions;
using Server.Items;
using Server.Mobiles;
using Server.Multis;
using Server.Regions;
using Server.Spells.SkillMasteries;
using Server.Engines.LevelSystemExtAtt;
using Server.Engines.XmlSpawnerExtMod;
#endregion

ive searched the entire level system directory and not found LevelSystemExtAtt anywhere, am i missing a file maybe?
 
Last edited:
my skillscheck.cs only has
#region References
using System;

using Server.Engines.Quests;
using Server.Factions;
using Server.Items;
using Server.Mobiles;
using Server.Multis;
using Server.Regions;
using Server.Spells.SkillMasteries;
#endregion
did you add your level or is it the one that came with servuo58?
ic delete those 2
using Server.Engines.LevelSystemExtAtt;
using Server.Engines.XmlSpawnerExtMod;
 
Last edited:
my skillscheck.cs only has
#region References
using System;

using Server.Engines.Quests;
using Server.Factions;
using Server.Items;
using Server.Mobiles;
using Server.Multis;
using Server.Regions;
using Server.Spells.SkillMasteries;
#endregion
did you add your level or is it the one that came with servuo58?
ic delete those 2
using Server.Engines.LevelSystemExtAtt;
using Server.Engines.XmlSpawnerExtMod;
removed
using Server.Engines.LevelSystemExtAtt;
using Server.Engines.XmlSpawnerExtMod;
and now get.

1694384489886.png

it looks like im missing the file with LevelSystemExtAtt in maybe? downloaded the scripts popped in so is the download missing LevelSystemExtAtt
 
for whisperingspells


using Server;
using Server.Spells;
using Server.Network;

using System.Linq;

add those
for skillmastery




using System.Collections;
using System.Collections.Generic;
using Server.Engines.PartySystem;
using Server.Targeting;

using Server.Commands;
skillmastery and whisperingspell are cs files
part of servuo
 
Last edited:
for whisperingspells


using Server;
using Server.Spells;
using Server.Network;

using System.Linq;

add those
for skillmastery




using System.Collections;
using System.Collections.Generic;
using Server.Engines.PartySystem;
using Server.Targeting;

using Server.Commands;
skillmastery and whisperingspell are cs files
part of servuo
This worked. But BaseVendor needs
using Server.Engines.LevelSystemExtAtt;

It would seem that LevelSystemExtAtt is missing from the system.
 
basevendor probably needs assembly reference and using directives
see which ones are missing. and add them. the script just cant find them. levelsystemextatt is not a script, it just got broken down into other scripts, a little here and a little there.
 
basevendor probably needs assembly reference and using directives
see which ones are missing. and add them. the script just cant find them. levelsystemextatt is not a script, it just got broken down into other scripts, a little here and a little there.
Ok will take a look and see what i find :)
 
The unique issue getting the level system installed on 57.3 repo is i need to add next reference in SkillCheck.cs:

C#:
using Server.Engines.XmlSpawnerExtMod;

After this all is working as intended,perfectly!
Anyone using this on expansion TOL+?
I need a bit of help trying to update the level requeriment for equip using dynamic mode.
Original a bit modified:

C#:
private int m_armorrequiredlevel1        =    Utility.RandomMinMax(5, 9);            /*1*/        private int m_armorrequiredlevel1intensity = 100;
        private int m_armorrequiredlevel2        =    Utility.RandomMinMax(10, 19);        /*2*/        private int m_armorrequiredlevel2intensity = 250;
        private int m_armorrequiredlevel3        =    Utility.RandomMinMax(20, 29);        /*3*/        private int m_armorrequiredlevel3intensity = 450;
        private int m_armorrequiredlevel4        =    Utility.RandomMinMax(30, 39);        /*4*/        private int m_armorrequiredlevel4intensity = 650;
        private int m_armorrequiredlevel5        =    Utility.RandomMinMax(40, 79);        /*5*/        private int m_armorrequiredlevel5intensity = 750;
        private int m_armorrequiredlevel6        =    Utility.RandomMinMax(80, 99);        /*6*/        private int m_armorrequiredlevel6intensity = 850;
        private int m_armorrequiredlevel7        =    Utility.RandomMinMax(100, 129);        /*7*/        private int m_armorrequiredlevel7intensity = 950;
        private int m_armorrequiredlevel8        =    Utility.RandomMinMax(130, 149);        /*8*/        private int m_armorrequiredlevel8intensity = 1050;
        private int m_armorrequiredlevel9        =    Utility.RandomMinMax(150, 179);        /*9*/        private int m_armorrequiredlevel9intensity = 1500;
        private int m_armorrequiredlevel10        =    Utility.RandomMinMax(180, 200);        /*10*/        private int m_armorrequiredlevel10intensity = 1800;

The one im trying:


C#:
private int m_weaponrequiredlevel1        =    Utility.RandomMinMax(5, 9);            /*1*/        private int m_weaponrequiredlevel1intensity = 25;
        private int m_weaponrequiredlevel2        =    Utility.RandomMinMax(10, 19);        /*2*/        private int m_weaponrequiredlevel2intensity = 50;
        private int m_weaponrequiredlevel3        =    Utility.RandomMinMax(20, 29);        /*3*/        private int m_weaponrequiredlevel3intensity = 70;
        private int m_weaponrequiredlevel4        =    Utility.RandomMinMax(30, 39);        /*4*/        private int m_weaponrequiredlevel4intensity = 80;
        private int m_weaponrequiredlevel5        =    Utility.RandomMinMax(40, 79);        /*5*/        private int m_weaponrequiredlevel5intensity = 90;
        private int m_weaponrequiredlevel6        =    Utility.RandomMinMax(80, 99);        /*6*/        private int m_weaponrequiredlevel6intensity = 100;
        private int m_weaponrequiredlevel7        =    Utility.RandomMinMax(100, 129);        /*7*/        private int m_weaponrequiredlevel7intensity = 125;
        private int m_weaponrequiredlevel8        =    Utility.RandomMinMax(130, 149);        /*8*/        private int m_weaponrequiredlevel8intensity = 150;
        private int m_weaponrequiredlevel9        =    Utility.RandomMinMax(150, 179);        /*9*/        private int m_weaponrequiredlevel9intensity = 175;
        private int m_weaponrequiredlevel10        =    Utility.RandomMinMax(180, 200);        /*10*/        private int m_weaponrequiredlevel10intensity = 200;

The issue is just all items to major artifacts on loot drop getting low level requeriment,level 5 required.
What im missing?Thank you!(Tryed original values too).
 
Last edited:
Issue UPDATE //////////////
This is the updated code im using right now:
C#:
private int m_equiprequiredlevel0        =    1;                    /* default for newbie items */
      
        /*                                                levels        threshhold                                            intensity */
        private int m_armorrequiredlevel1        =    Utility.RandomMinMax(2, 9);            /*1*/        private int m_armorrequiredlevel1intensity = Utility.RandomMinMax(2, 9);
        private int m_armorrequiredlevel2        =    Utility.RandomMinMax(10, 19);        /*2*/        private int m_armorrequiredlevel2intensity = Utility.RandomMinMax(10, 19);
        private int m_armorrequiredlevel3        =    Utility.RandomMinMax(20, 29);        /*3*/        private int m_armorrequiredlevel3intensity = Utility.RandomMinMax(20, 29);
        private int m_armorrequiredlevel4        =    Utility.RandomMinMax(30, 39);        /*4*/        private int m_armorrequiredlevel4intensity = Utility.RandomMinMax(30, 39);
        private int m_armorrequiredlevel5        =    Utility.RandomMinMax(40, 59);        /*5*/        private int m_armorrequiredlevel5intensity = Utility.RandomMinMax(40, 59);
        private int m_armorrequiredlevel6        =    Utility.RandomMinMax(60, 89);        /*6*/        private int m_armorrequiredlevel6intensity = Utility.RandomMinMax(60, 89);
        private int m_armorrequiredlevel7        =    Utility.RandomMinMax(90, 119);        /*7*/        private int m_armorrequiredlevel7intensity = Utility.RandomMinMax(90, 119);
        private int m_armorrequiredlevel8        =    Utility.RandomMinMax(120, 149);        /*8*/        private int m_armorrequiredlevel8intensity = Utility.RandomMinMax(120, 149);
        private int m_armorrequiredlevel9        =    Utility.RandomMinMax(150, 179);        /*9*/        private int m_armorrequiredlevel9intensity = Utility.RandomMinMax(150, 179);
        private int m_armorrequiredlevel10        =    Utility.RandomMinMax(180, 200);        /*10*/        private int m_armorrequiredlevel10intensity = Utility.RandomMinMax(180, 200);
      
        /* baseweapon - weapon properties */
        /*                                                 levels        threshhold                                            intensity */
        private int m_weaponrequiredlevel1        =    Utility.RandomMinMax(2, 9);            /*1*/        private int m_weaponrequiredlevel1intensity = Utility.RandomMinMax(2, 9);
        private int m_weaponrequiredlevel2        =    Utility.RandomMinMax(10, 19);        /*2*/        private int m_weaponrequiredlevel2intensity = Utility.RandomMinMax(10, 19);
        private int m_weaponrequiredlevel3        =    Utility.RandomMinMax(20, 29);        /*3*/        private int m_weaponrequiredlevel3intensity = Utility.RandomMinMax(20, 29);
        private int m_weaponrequiredlevel4        =    Utility.RandomMinMax(30, 39);        /*4*/        private int m_weaponrequiredlevel4intensity = Utility.RandomMinMax(30, 39);
        private int m_weaponrequiredlevel5        =    Utility.RandomMinMax(40, 59);        /*5*/        private int m_weaponrequiredlevel5intensity = Utility.RandomMinMax(40, 59);
        private int m_weaponrequiredlevel6        =    Utility.RandomMinMax(60, 89);        /*6*/        private int m_weaponrequiredlevel6intensity = Utility.RandomMinMax(60, 89);
        private int m_weaponrequiredlevel7        =    Utility.RandomMinMax(90, 119);        /*7*/        private int m_weaponrequiredlevel7intensity = Utility.RandomMinMax(90, 119);
        private int m_weaponrequiredlevel8        =    Utility.RandomMinMax(120, 149);        /*8*/        private int m_weaponrequiredlevel8intensity = Utility.RandomMinMax(120, 149);
        private int m_weaponrequiredlevel9        =    Utility.RandomMinMax(150, 179);        /*9*/        private int m_weaponrequiredlevel9intensity = Utility.RandomMinMax(150, 179);
        private int m_weaponrequiredlevel10        =    Utility.RandomMinMax(180, 200);        /*10*/        private int m_weaponrequiredlevel10intensity = Utility.RandomMinMax(180, 200);

      
        /* baseclothing - clothing properties */
        /*                                                 levels        threshhold                                            intensity */
        private int m_clothrequiredlevel1        =    Utility.RandomMinMax(2, 9);            /*1*/        private int m_clothrequiredlevel1intensity = Utility.RandomMinMax(2, 9);
        private int m_clothrequiredlevel2        =    Utility.RandomMinMax(10, 19);        /*2*/        private int m_clothrequiredlevel2intensity = Utility.RandomMinMax(10, 19);
        private int m_clothrequiredlevel3        =    Utility.RandomMinMax(20, 29);        /*3*/        private int m_clothrequiredlevel3intensity = Utility.RandomMinMax(20, 29);
        private int m_clothrequiredlevel4        =    Utility.RandomMinMax(30, 39);        /*4*/        private int m_clothrequiredlevel4intensity = Utility.RandomMinMax(30, 39);
        private int m_clothrequiredlevel5        =    Utility.RandomMinMax(40, 59);        /*5*/        private int m_clothrequiredlevel5intensity = Utility.RandomMinMax(40, 59);
        private int m_clothrequiredlevel6        =    Utility.RandomMinMax(60, 89);        /*6*/        private int m_clothrequiredlevel6intensity = Utility.RandomMinMax(60, 89);
        private int m_clothrequiredlevel7        =    Utility.RandomMinMax(90, 119);        /*7*/        private int m_clothrequiredlevel7intensity = Utility.RandomMinMax(90, 119);
        private int m_clothrequiredlevel8        =    Utility.RandomMinMax(120, 149);        /*8*/        private int m_clothrequiredlevel8intensity = Utility.RandomMinMax(120, 149);
        private int m_clothrequiredlevel9        =    Utility.RandomMinMax(150, 179);        /*9*/        private int m_clothrequiredlevel9intensity = Utility.RandomMinMax(150, 179);
        private int m_clothrequiredlevel10        =    Utility.RandomMinMax(180, 200);        /*10*/        private int m_clothrequiredlevel10intensity = Utility.RandomMinMax(180, 200);

Just armors are working as intended,there is an issue with clothing,jewels,and weapons,maybe issue is located in the value formula in FeatureHandlerExt.cs around line 714 (in case for weapons),just trying to solve.
Remember these values i put in the code are just for the server im working on.

Added null check too in FeatureHandlerExt.cs line 119 to prevent shard crash after try to delete backpack using command.
Here the new code:

C#:
LevelSheet xmlplayer = null;
                    if (pm != null && pm.Backpack != null)
                    {
                    xmlplayer = pm.Backpack.FindItemByType(typeof(LevelSheet), false) as LevelSheet;
                    }
 
Last edited:
Issue UPDATE //////////////
This is the updated code im using right now:
C#:
private int m_equiprequiredlevel0        =    1;                    /* default for newbie items */
     
        /*                                                levels        threshhold                                            intensity */
        private int m_armorrequiredlevel1        =    Utility.RandomMinMax(2, 9);            /*1*/        private int m_armorrequiredlevel1intensity = Utility.RandomMinMax(2, 9);
        private int m_armorrequiredlevel2        =    Utility.RandomMinMax(10, 19);        /*2*/        private int m_armorrequiredlevel2intensity = Utility.RandomMinMax(10, 19);
        private int m_armorrequiredlevel3        =    Utility.RandomMinMax(20, 29);        /*3*/        private int m_armorrequiredlevel3intensity = Utility.RandomMinMax(20, 29);
        private int m_armorrequiredlevel4        =    Utility.RandomMinMax(30, 39);        /*4*/        private int m_armorrequiredlevel4intensity = Utility.RandomMinMax(30, 39);
        private int m_armorrequiredlevel5        =    Utility.RandomMinMax(40, 59);        /*5*/        private int m_armorrequiredlevel5intensity = Utility.RandomMinMax(40, 59);
        private int m_armorrequiredlevel6        =    Utility.RandomMinMax(60, 89);        /*6*/        private int m_armorrequiredlevel6intensity = Utility.RandomMinMax(60, 89);
        private int m_armorrequiredlevel7        =    Utility.RandomMinMax(90, 119);        /*7*/        private int m_armorrequiredlevel7intensity = Utility.RandomMinMax(90, 119);
        private int m_armorrequiredlevel8        =    Utility.RandomMinMax(120, 149);        /*8*/        private int m_armorrequiredlevel8intensity = Utility.RandomMinMax(120, 149);
        private int m_armorrequiredlevel9        =    Utility.RandomMinMax(150, 179);        /*9*/        private int m_armorrequiredlevel9intensity = Utility.RandomMinMax(150, 179);
        private int m_armorrequiredlevel10        =    Utility.RandomMinMax(180, 200);        /*10*/        private int m_armorrequiredlevel10intensity = Utility.RandomMinMax(180, 200);
     
        /* baseweapon - weapon properties */
        /*                                                 levels        threshhold                                            intensity */
        private int m_weaponrequiredlevel1        =    Utility.RandomMinMax(2, 9);            /*1*/        private int m_weaponrequiredlevel1intensity = Utility.RandomMinMax(2, 9);
        private int m_weaponrequiredlevel2        =    Utility.RandomMinMax(10, 19);        /*2*/        private int m_weaponrequiredlevel2intensity = Utility.RandomMinMax(10, 19);
        private int m_weaponrequiredlevel3        =    Utility.RandomMinMax(20, 29);        /*3*/        private int m_weaponrequiredlevel3intensity = Utility.RandomMinMax(20, 29);
        private int m_weaponrequiredlevel4        =    Utility.RandomMinMax(30, 39);        /*4*/        private int m_weaponrequiredlevel4intensity = Utility.RandomMinMax(30, 39);
        private int m_weaponrequiredlevel5        =    Utility.RandomMinMax(40, 59);        /*5*/        private int m_weaponrequiredlevel5intensity = Utility.RandomMinMax(40, 59);
        private int m_weaponrequiredlevel6        =    Utility.RandomMinMax(60, 89);        /*6*/        private int m_weaponrequiredlevel6intensity = Utility.RandomMinMax(60, 89);
        private int m_weaponrequiredlevel7        =    Utility.RandomMinMax(90, 119);        /*7*/        private int m_weaponrequiredlevel7intensity = Utility.RandomMinMax(90, 119);
        private int m_weaponrequiredlevel8        =    Utility.RandomMinMax(120, 149);        /*8*/        private int m_weaponrequiredlevel8intensity = Utility.RandomMinMax(120, 149);
        private int m_weaponrequiredlevel9        =    Utility.RandomMinMax(150, 179);        /*9*/        private int m_weaponrequiredlevel9intensity = Utility.RandomMinMax(150, 179);
        private int m_weaponrequiredlevel10        =    Utility.RandomMinMax(180, 200);        /*10*/        private int m_weaponrequiredlevel10intensity = Utility.RandomMinMax(180, 200);

     
        /* baseclothing - clothing properties */
        /*                                                 levels        threshhold                                            intensity */
        private int m_clothrequiredlevel1        =    Utility.RandomMinMax(2, 9);            /*1*/        private int m_clothrequiredlevel1intensity = Utility.RandomMinMax(2, 9);
        private int m_clothrequiredlevel2        =    Utility.RandomMinMax(10, 19);        /*2*/        private int m_clothrequiredlevel2intensity = Utility.RandomMinMax(10, 19);
        private int m_clothrequiredlevel3        =    Utility.RandomMinMax(20, 29);        /*3*/        private int m_clothrequiredlevel3intensity = Utility.RandomMinMax(20, 29);
        private int m_clothrequiredlevel4        =    Utility.RandomMinMax(30, 39);        /*4*/        private int m_clothrequiredlevel4intensity = Utility.RandomMinMax(30, 39);
        private int m_clothrequiredlevel5        =    Utility.RandomMinMax(40, 59);        /*5*/        private int m_clothrequiredlevel5intensity = Utility.RandomMinMax(40, 59);
        private int m_clothrequiredlevel6        =    Utility.RandomMinMax(60, 89);        /*6*/        private int m_clothrequiredlevel6intensity = Utility.RandomMinMax(60, 89);
        private int m_clothrequiredlevel7        =    Utility.RandomMinMax(90, 119);        /*7*/        private int m_clothrequiredlevel7intensity = Utility.RandomMinMax(90, 119);
        private int m_clothrequiredlevel8        =    Utility.RandomMinMax(120, 149);        /*8*/        private int m_clothrequiredlevel8intensity = Utility.RandomMinMax(120, 149);
        private int m_clothrequiredlevel9        =    Utility.RandomMinMax(150, 179);        /*9*/        private int m_clothrequiredlevel9intensity = Utility.RandomMinMax(150, 179);
        private int m_clothrequiredlevel10        =    Utility.RandomMinMax(180, 200);        /*10*/        private int m_clothrequiredlevel10intensity = Utility.RandomMinMax(180, 200);

Just armors are working as intended,there is an issue with clothing,jewels,and weapons,maybe issue is located in the value formula in FeatureHandlerExt.cs around line 714 (in case for weapons),just trying to solve.
Remember these values i put in the code are just for the server im working on.

Added null check too in FeatureHandlerExt.cs line 119 to prevent shard crash after try to delete backpack using command.
Here the new code:

C#:
LevelSheet xmlplayer = null;
                    if (pm != null && pm.Backpack != null)
                    {
                    xmlplayer = pm.Backpack.FindItemByType(typeof(LevelSheet), false) as LevelSheet;
                    }
Do you have a blank 57.3 repo with the system installed?
 
Do you have a blank 57.3 repo with the system installed?
Yes,im working on it,i just need to get working weapon,jewel,and clothing dynamic level.
In picture we can see equip values (battle rating),but the level required is not working on weapon,trying to solve,any help will be apreciated.Thank you!

C#:
private int m_armorrequiredlevel1        =    Utility.RandomMinMax(2, 9);            /*1*/        private int m_armorrequiredlevel1intensity = Utility.RandomMinMax(2, 9);
        private int m_armorrequiredlevel2        =    Utility.RandomMinMax(10, 19);        /*2*/        private int m_armorrequiredlevel2intensity = Utility.RandomMinMax(10, 19);
        private int m_armorrequiredlevel3        =    Utility.RandomMinMax(20, 29);        /*3*/        private int m_armorrequiredlevel3intensity = Utility.RandomMinMax(20, 29);
        private int m_armorrequiredlevel4        =    Utility.RandomMinMax(30, 39);        /*4*/        private int m_armorrequiredlevel4intensity = Utility.RandomMinMax(30, 39);
        private int m_armorrequiredlevel5        =    Utility.RandomMinMax(40, 59);        /*5*/        private int m_armorrequiredlevel5intensity = Utility.RandomMinMax(40, 59);

C#:
private int m_weaponrequiredlevel1        =    Utility.RandomMinMax(2, 9);            /*1*/        private int m_weaponrequiredlevel1intensity = Utility.RandomMinMax(2, 9);
        private int m_weaponrequiredlevel2        =    Utility.RandomMinMax(10, 19);        /*2*/        private int m_weaponrequiredlevel2intensity = Utility.RandomMinMax(10, 19);
        private int m_weaponrequiredlevel3        =    Utility.RandomMinMax(20, 29);        /*3*/        private int m_weaponrequiredlevel3intensity = Utility.RandomMinMax(20, 29);
        private int m_weaponrequiredlevel4        =    Utility.RandomMinMax(30, 39);        /*4*/        private int m_weaponrequiredlevel4intensity = Utility.RandomMinMax(30, 39);
        private int m_weaponrequiredlevel5        =    Utility.RandomMinMax(40, 59);        /*5*/        private int m_weaponrequiredlevel5intensity = Utility.RandomMinMax(40, 59);

//////////////LAST UPDATE///////////////////////////
I think is solved,i do internal changes on scripts,to take effect i need to delete the level control item in-game,the use command [levelcontrol,and new item control auto-spawn and get changes working.
 

Attachments

  • Sin título.png
    Sin título.png
    113.8 KB · Views: 25
  • Sin título.png
    Sin título.png
    260.3 KB · Views: 23
Last edited:
You can do as you want, these settings are just for the shard I'm working on.
this looks like great work. I'm moving from sphere so not a great load of knowledge yet. if i could get a fresh 57.3 repo with this pre set up id be much appreciated and give credit on the shards website.
 
Back