Just for some general information . .

I ran into this problem a couple years ago and after numerous posts and attempts no one on RunUO was able to solve it. We were losing shruken pets as well as Stabled pets. I changed the scripts to force 100% Loyalty when shrunk or stabled but this did not solve the problem.

Finally I disabled the Stable system completely. That was a sad day for me but at least now the Shrink system works with no more lost pets. Players have learned to use the Shrink system and not the Stables. I suspect there is some conflict between the Shrink system and the Stable system but I don't have the skills to fix it.

Maybe some people here can solve it.
 
Very interesting.

Now you were not losing pets from the stables right? Just only the shrunken ones?
[doublepost=1495849677][/doublepost]I think part of the problem is also Clean up
[doublepost=1495854358][/doublepost]Yup had it happen again. To the SAME player.
[doublepost=1495854498][/doublepost]Loyalty of pet was at 100% so that is def not it.
[doublepost=1495856327][/doublepost]It has to be something with the system.

Doubt it is clean up, it unlinked from the pet before a restart so clean up did not even delete it. I could find it in the internal map. Still a faulty system. Users beware.
 
********************
Very interesting.
Now you were not losing pets from the stables right? Just only the shrunken ones?
********************
No . . now we are not losing any shrunken ones . . but . . we had to close the stables so no player can use the Stable system. When you try to use the Stable on our shard the Stable Master gives a message saying they are not taking any more pets. Instead he:
1) will sell you an expensive Leash to shrink them or
2) tells you to do the Bedlam quest for a leash or
3) tells you to buy a leash from a Player Tailor or
4) tells you to use a Hitching Post which I placed near all stables.

To solve the problem of players wanting to stable/shrink the many old 'normal' (not Evo) pets, I made Evo versions of all the popular pets (they quickly evolve only two stages to their expected 'normal' strength. I then spawned the new ones in place of the old 'normal' ones. Yes it was a lot of work but it solved the problem and everyone seems happy (better than indiscriminate deletion in the stables).

A proper solution would have been nice but I could not find one and everything else I tried failed.
 
********************
Very interesting.
Now you were not losing pets from the stables right? Just only the shrunken ones?
********************
No . . now we are not losing any shrunken ones . . but . . we had to close the stables so no player can use the Stable system. When you try to use the Stable on our shard the Stable Master gives a message saying they are not taking any more pets. Instead he:
1) will sell you an expensive Leash to shrink them or
2) tells you to do the Bedlam quest for a leash or
3) tells you to buy a leash from a Player Tailor or
4) tells you to use a Hitching Post which I placed near all stables.

To solve the problem of players wanting to stable/shrink the many old 'normal' (not Evo) pets, I made Evo versions of all the popular pets (they quickly evolve only two stages to their expected 'normal' strength. I then spawned the new ones in place of the old 'normal' ones. Yes it was a lot of work but it solved the problem and everyone seems happy (better than indiscriminate deletion in the stables).

A proper solution would have been nice but I could not find one and everything else I tried failed.

I believe it's because of the OwnerAbandonTime, not 100% certain but if you stop that timer then i think it should fix the issue.
 
Had the disappearing/lost pets on the shard I ran, never could figure it out (Way above my head to be honest)
So I disabled the shrink system and gave everyone a stable stone instead, never had a problem after that.
 
If I recall there's two timers and either one runs depending on if it's stabled or not.

Since a shrunk pet is not considered Stabled, it runs the Owner Abandoned timer.
 
What is weird about that though is if you have 50 pets all shrunk at the same time, 49 will be okay and 1 will randomly delete.
 
I stopped using it about a year ago. Had about 500 shunk pets at the time. Random ones, over time, would just go null. The statues that is.
 
I stopped using it about a year ago. Had about 500 shunk pets at the time. Random ones, over time, would just go null. The statues that is.

Yea that's the issue I had, yet other pets the player owned who had been stored for the same amount of time, were ok,
Indeed some had statues locked down in their houses for months, and they weren't null. (Unless double clicking in your pack, updates the status)
 
I can see a few issues but I'm not entirely sure how significant they are

here's the shrink item

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

            writer.Write( (int)0 ); // version
            writer.Write( m_IsStatuette );
            writer.Write( m_Locked );
            writer.Write( (Mobile)m_Owner );
            writer.Write( (Mobile)m_Pet ); // should be (BaseCreature)m_Pet since it's BaseCreature everywhere else
        }

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

            switch ( reader.ReadInt() )
            {
                case 0:
                {
                    m_IsStatuette = reader.ReadBool();
                    m_Locked = reader.ReadBool();
                    m_Owner = (PlayerMobile)reader.ReadMobile();
                    m_Pet = (BaseCreature)reader.ReadMobile();

                    if (null != m_Pet ) // should be m_Pet != null ??
                        m_Pet.IsStabled = true;

                    break;
                }
            }
        }
 
Add ShrinkPotion to the vendor

The namespace is incorrect when starting the server

I get an error ...

How do I change it?
 
Last edited:
post section giving error best I can understand is its gonna be a misspelling of the shrink potion

this is proper spelling for ShrinkPotion public class ShrinkPotion;
taken from the shrinkpotion script as posted on page 2 of this thread by Jeow
 
Last edited:
Cool but I followed the infos inside, but seem not working,
"
Xantos Shrink System and the Utilities folder both go into your -Custom Folder

ShrinkConfig - goes into the Data Folder" (done)
but when I digit [shrink the command not works , I tried to but the shrinkcommand.cs on the commands folder but I get an error
 
I cant figure out how to put PetLeash onto a vendor or the uostore! ! ! lol so basically I'm getting the error that the leash isn't in the correct name space. Pet leash is under the... "namespace Xanthos.ShrinkSystem" While regular items from the store and vendors are under the... "namespace Server.Items" Please halp
 
As Anon suggested maybe try at the very top of the scripts-just an idea -- using Xanthos.ShrinkSystem;
 
Can you post your exact Error Log please? It might also help if you post the script you have for the PetLeash.

I do not know anything about the 'uostore' but if you can add the PetLeash in game then you should be able to add it to a vendor. I suspect I am misunderstanding what you are trying to explain.
 
That didn't work. Still getting the same error... I'm simply adding PetLeash to SBProvisioner. I added the using Xanthos.Interfaces; to the top...

C#:
using System;
using System.Collections.Generic;
using Server.Guilds;
using Server.Items;
using Xanthos.Interfaces;

namespace Server.Mobiles
{
    public class SBProvisioner : SBInfo
    {
        private readonly List<GenericBuyInfo> m_BuyInfo = new InternalBuyInfo();
        private readonly IShopSellInfo m_SellInfo = new InternalSellInfo();

        public SBProvisioner()
        {
        }

        public override IShopSellInfo SellInfo
        {
            get
            {
                return m_SellInfo;
            }
        }
        public override List<GenericBuyInfo> BuyInfo
        {
            get
            {
                return m_BuyInfo;
            }
        }

        public class InternalBuyInfo : List<GenericBuyInfo>
        {
            public InternalBuyInfo()
            {
                //CUSTOM
                Add(new GenericBuyInfo(typeof(PetLeash), 1000000, 2000000, 0x1374, 0, true));

C#:
Scripts: Compiling C# scripts...Failed with: 1 errors, 0 warnings
Errors:
+ VendorInfo/SBProvisioner.cs:
    CS0246: Line 38: The type or namespace name 'PetLeash' could not be found (are you missing a using directive or an assembly reference?)
Scripts: One or more scripts failed to compile or no script files were found.
- Press return to exit, or R to try again.
Bellow is from PetLeash.cs and you can see the namespace is different so it's not working. Do I need Vita-Nex or something?
C#:
#region AuthorHeader
//
//    Shrink System version 2.1, by Xanthos
//
//
#endregion AuthorHeader
using System;
using Server;
using Server.Items;
using Server.Mobiles;
using Xanthos.Interfaces;

namespace Xanthos.ShrinkSystem
Post automatically merged:

I added
C#:
using Xanthos.Interfaces;
To the References in SBProvisioner.cs
I needed to use the namespace being used by the petleash! not the namespace of the namespace...
C#:
namespace Xanthos.ShrinkSystem
The namespace used by petleash. ^^^^^^^^
and so you turn the namespace of petleash into a reference and then it works.
C#:
using System;
using System.Collections.Generic;
using Server.Guilds;
using Server.Items;
using Xanthos.ShrinkSystem;

namespace Server.Mobiles
{
    public class SBProvisioner : SBInfo
    {
        private readonly List<GenericBuyInfo> m_BuyInfo = new InternalBuyInfo();
        private readonly IShopSellInfo m_SellInfo = new InternalSellInfo();

        public SBProvisioner()
        {
        }

        public override IShopSellInfo SellInfo
        {
            get
            {
                return m_SellInfo;
            }
        }
        public override List<GenericBuyInfo> BuyInfo
        {
            get
            {
                return m_BuyInfo;
            }
        }

        public class InternalBuyInfo : List<GenericBuyInfo>
        {
            public InternalBuyInfo()
            {
                //CUSTOM
                Add(new GenericBuyInfo(typeof(PetLeash), 1000000, 2000000, 0x1374, 0, true));
 
Last edited:
You also need to add using Xanthos.ShrinkSystem; at the top area of SBProvisioner


OOPS! sorry . . looks like you got it solved. As a side note I added the pet leash to the Tailor Craft menu so Tailors could make and sell them to other players.
 
Last edited:
Wanted to share this with anyone who is using Xantos Shrink System and VitaNex. I've updated the ObjectPropertyList to clean it up a little bit. I'm still a rookie but it looks much nicer. Thanks @Voxpire for explaining ExtendedOPL to me in discord.

THIS DOES REQUIRE VITANEX CORE

Just drag and drop "ShrinkItem.cs" and replace it inside of XantosShrink/Shrink System/

ORIGINAL
14140

NEW
14138
 

Attachments

  • ShrinkItem.cs
    11.4 KB · Views: 54
Anyone can help?

Scripts: Compiling C# scripts...Failed with: 1 errors, 0 warnings
Errors:
+ Custom/XantosShrink/Shrink System/HitchingPost.cs:
CS0117: Line 33: 'ObjectPropertyList' does not contain a definition for 'Enabled'
Scripts: One or more scripts failed to compile or no script files were found.
 
Odds are that the current ServUO doesn't support anything except working OPL so the ability to enable/disable it has been removed as well. You should be able to just declare it true without any other issues.

Code:
        public override bool ForceShowProperties{ get{ return true; }}
 
I have tried to change in scripts and Data folder. It will not let me change the shrink charges. I am not understanding what I need to do to be able to change it. Seems everyone else is making changes as needed. How do I change it? Why can't I just change the 50 to 1.

to change the foo configuration from 50 to 100 one would change <foo type="int">50</foo> to <foo type="int">100</foo> -->
<ShrinkCharges type="int">50</ShrinkCharges>
 
It will not let me change it in the script.......I can't change the "50" to a "1". Like it's a read only file.
 
ServUO scripts are just text files. Nothing is read-only.

Exactly what file are you trying to edit?
ShrinkConfig.xml.....was going to change ShrinkConfig.cs but it says I need to change the ShrinkConfig.xml to change the amount of charges on the pet leash.
Post automatically merged:

I have never ran into any script I couldn't change until now.
Post automatically merged:

Below is the reason I was trying to change the ShrinkConfig.xml., but it won't let me.

// This file is for configuration of the Shrink System. It is advised
// that you DO NOT edit this file, instead place ShrinkConfig.xml in the
// RunUO/Data directory and modify the values there to configure the system
// without changing code. This allows you to take updates to the system
// without losing your specific configuration settings.
 
Back