zerodowned

Moderator
zerodowned submitted a new resource:

CompletelyCustomizableVendor overhaul and update - stuff and thangs

I've updated the CompletelyCustomizableVendor script to work with the newest repo and added some of my own updates

1) Now supports 6 items per page instead of 4
2) Overall "reskin" of the gump to look better
3) Amounts now support commas, so you'll see 1,000,000 instead of 1000000
4) I've taken the single file that this system use to be in and separated into individual files and folders.
- Makes a HUGE difference if you want to edit the system further
5) Created a Settings script to...

Read more about this resource...
 
Anyone else getting this issue when hitting the next button?
interesting, didn't see during testing and I did test with a second page. I'll take another look now.

edit: oh, i noticed that this is on the manageitems menu. do you get the same issue if looking at it with a player character?
that must be what I overlooked. give me a few moments
 
pulled some code from the MysteriousWisp to better optimize centering of items on the button. will include in a future update
i'm considering re-enabling the "view item" gump to prevent players accidentally buying something. Thoughts?

Untitled.jpg
 
thank you :)

i also want to make it so it stays on the page you are when buying something instead of going back to page 1 everytime. that's a huge annoyance for me as a player.
i'll work on that some more too
One thing that would be nice to have back on the Admin side is the ability to see "how many were purchased" this was in the older iteration and amazing to keep track of abuse and popular items.
 
One thing that would be nice to have back on the Admin side is the ability to see "how many were purchased" this was in the older iteration and amazing to keep track of abuse and popular items.
Do you happen to have the old version that has that feature?
 
This should work - scripted Runics so the resource is "pre loaded"
I've included a copy of Hammerhand's runics that he made to go with OWLTR, so if you aren't using OWLTR then you'll just want to remove the runics and resources that aren't supported

Example:

class DullCopperRunicHammer : RunicHammer

[Constructable]
public DullCopperRunicHammer(): base(CraftResource.DullCopper) //pre loaded resource

C#:
public class DullCopperRunicHammer : RunicHammer
    {
        public override CraftSystem CraftSystem { get { return DefBlacksmithy.CraftSystem; } }

        [Constructable]
        public DullCopperRunicHammer(): base(CraftResource.DullCopper)
        {
        }
        public DullCopperRunicHammer(Serial serial) : base(serial) { }

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

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

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

            int version = reader.ReadInt();
        }
    }
 

Attachments

  • Hammerhand Runics.zip
    4.5 KB · Views: 8
Thanks @zerodowned - works a charm - you are a gent!
If anyone else wants the vanilla non-OWLTR version here it is!
 

Attachments

  • Vanilla_Runics.rar
    2.2 KB · Views: 18
Errors:
+ Custom Scripts/Completely Customizable Vendor/Gumps/ClassicVendorGump.cs:
CS0246: Line 116: The type or namespace name 'MobileStatusExtended' could not be found (are you missing a using directive or an assembly reference?)
+ Custom Scripts/Completely Customizable Vendor/Core/PaymentTarget.cs:
CS0246: Line 58: The type or namespace name 'XmlAttachment' could not be found (are you missing a using directive or an assembly reference?)
+ Custom Scripts/Completely Customizable Vendor/Core/Currency.cs:
CS0246: Line 369: The type or namespace name 'XmlAttachment' could not be found (are you missing a using directive or an assembly reference?)
CS0103: Line 369: The name 'XmlAttach' does not exist in the current context
CS0246: Line 385: The type or namespace name 'XmlAttachment' could not be found (are you missing a using directive or an assembly reference?)
CS0103: Line 385: The name 'XmlAttach' does not exist in the current context
Scripts: One or more scripts failed to compile or no script files were found.

I keep getting these errors and I have everything saved in my custom scripts folder. Any ideas on how to correct this?

I am running the newer version of ServUO
UO Version 7.0.85.15
 
Last edited:
Xml was removed from the current repo. Zerodowned was awesome and released the xmlattach package to work with the new repo. You need to install that package. Customizable vendor uses it.

Here is a link to that package

XML ATTACH PACKAGE
 
Xml was removed from the current repo. Zerodowned was awesome and released the xmlattach package to work with the new repo. You need to install that package. Customizable vendor uses it.

Here is a link to that package

XML ATTACH PACKAGE


Do I just unpack them into the MasterServuo folder or do I need to place them somewhere specific?
Post automatically merged:

Errors:
+ Custom Scripts/Completely Customizable Vendor/Gumps/ClassicVendorGump.cs:
CS0246: Line 116: The type or namespace name 'MobileStatusExtended' could not be found (are you missing a using directive or an assembly reference?)
+ Custom Scripts/Completely Customizable Vendor/Core/PaymentTarget.cs:
CS0246: Line 58: The type or namespace name 'XmlAttachment' could not be found (are you missing a using directive or an assembly reference?)
+ Custom Scripts/Completely Customizable Vendor/Core/Currency.cs:
CS0246: Line 369: The type or namespace name 'XmlAttachment' could not be found (are you missing a using directive or an assembly reference?)
CS0103: Line 369: The name 'XmlAttach' does not exist in the current context
CS0246: Line 385: The type or namespace name 'XmlAttachment' could not be found (are you missing a using directive or an assembly reference?)
CS0103: Line 385: The name 'XmlAttach' does not exist in the current context
+ Items/Equipment/Weapons/BaseWeapon.cs:
CS0246: Line 606: The type or namespace name 'XmlLevelItem' could not be found (are you missing a using directive or an assembly reference?)
CS0103: Line 606: The name 'XmlAttach' does not exist in the current context
CS0246: Line 606: The type or namespace name 'XmlLevelItem' could not be found (are you missing a using directive or an assembly reference?)
CS0246: Line 606: The type or namespace name 'XmlLevelItem' could not be found (are you missing a using directive or an assembly reference?)
CS0246: Line 610: The type or namespace name 'LevelInfoEntry' could not be found (are you missing a using directive or an assembly reference?)
CS0103: Line 610: The name 'AttributeCategory' does not exist in the current context
Scripts: One or more scripts failed to compile or no script files were found.
 
Last edited:
Add them to your customs folder in scripts


Errors:
+ Custom Scripts/Completely Customizable Vendor/Gumps/ClassicVendorGump.cs:
CS0246: Line 116: The type or namespace name 'MobileStatusExtended' could not be found (are you missing a using directive or an assembly reference?)
+ Items/Equipment/Weapons/BaseWeapon.cs:
CS0246: Line 606: The type or namespace name 'XmlLevelItem' could not be found (are you missing a using directive or an assembly reference?)
CS0103: Line 606: The name 'XmlAttach' does not exist in the current context
CS0246: Line 606: The type or namespace name 'XmlLevelItem' could not be found (are you missing a using directive or an assembly reference?)
CS0246: Line 606: The type or namespace name 'XmlLevelItem' 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.


Well, that gave me fewer errors lol

Is there something else I need to change in the code?
 
Ok, I am unsure about your MobileStatusExtended error is about. However, did you drop the XmlLevelItem into your Scripts/Custom folder as well as the xmlattach package? They work hand in hand. I think if you put in the XmlLevelItem package it should solve the XmlevelItem error on line 606. Have you altered your BaseWeapon.cs?

You should find the the XmlLevelItem package at the same spot I gave you for the XmlAttach package. I also pasted it here for you.
 

Attachments

  • XmlLevelItem.zip
    16.4 KB · Views: 10
Ok, I am unsure about your MobileStatusExtended error is about. However, did you drop the XmlLevelItem into your Scripts/Custom folder as well as the xmlattach package? They work hand in hand. I think if you put in the XmlLevelItem package it should solve the XmlevelItem error on line 606. Have you altered your BaseWeapon.cs?

You should find the the XmlLevelItem package at the same spot I gave you for the XmlAttach package. I also pasted it here for you.


Yes, I have and I did the changes to BaseWeapon.cs

With all 3 of the folders in my custom scripts folder, I am still getting these errors

Errors:
+ Custom Scripts/Completely Customizable Vendor/Gumps/ClassicVendorGump.cs:
CS0246: Line 116: The type or namespace name 'MobileStatusExtended' could not be found (are you missing a using directive or an assembly reference?)
+ Items/Equipment/Weapons/BaseWeapon.cs:
CS0246: Line 606: The type or namespace name 'XmlLevelItem' could not be found (are you missing a using directive or an assembly reference?)
CS0103: Line 606: The name 'XmlAttach' does not exist in the current context
CS0246: Line 606: The type or namespace name 'XmlLevelItem' could not be found (are you missing a using directive or an assembly reference?)
CS0246: Line 606: The type or namespace name 'XmlLevelItem' 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.



In baseweapon.cs I replaced:

public override void GetContextMenuEntries(Mobile from, List<ContextMenuEntry> list)
{
base.GetContextMenuEntries(from, list);

with:

public override void GetContextMenuEntries(Mobile from, List<ContextMenuEntry> list)
{
base.GetContextMenuEntries(from, list);
// Xml Spawner 3.26c XmlLevelItem - SOF
XmlLevelItem levitem = XmlAttach.FindAttachment(this, typeof(XmlLevelItem)) as XmlLevelItem;

if (levitem != null)
{
list.Add(new LevelInfoEntry(from, this, AttributeCategory.Melee));
}
// Xml Spawner 3.26c XmlLevelItem - EOF


This is what I have in that section now:


public override void GetContextMenuEntries(Mobile from, List<ContextMenuEntry> list)
{
base.GetContextMenuEntries(from, list);
// Xml Spawner 3.26c XmlLevelItem - SOF
XmlLevelItem levitem = XmlAttach.FindAttachment(this, typeof(XmlLevelItem)) as XmlLevelItem;

if (levitem != null)
{
list.Add(new LevelInfoEntry(from, this, AttributeCategory.Melee));
}
// Xml Spawner 3.26c XmlLevelItem - EOF

if (SearingWeapon && Parent == from)
{
list.Add(new SearingWeapon.ToggleExtinguishEntry(from, this));
}

if (BlessedFor == from && BlessedBy == from && RootParent == from)
{
list.Add(new UnBlessEntry(from, this));
}
}
 
Posting my baseweapon.cs. You can try taking winmerge and pulling them both up at the same time and look for differences. I've had a lot of work done to my server mostly by a real programmer (which I am not. I am a codebunglar). It might show something. Thats about my best move I got left to help.

Hell you might even try to replace yours with mine but it might also explode your computer lol so if you do that be ready to reverse it.
 

Attachments

  • BaseWeapon.cs
    184.1 KB · Views: 3
Looks like a using reference was missed, at the top of the script you'll need to add it or prior to the lines of code pointing to its elements!
 
Looks like a using reference was missed, at the top of the script you'll need to add it or prior to the lines of code pointing to its elements!


You were correct and that fixed all but one error :)

Errors:
+ Custom Scripts/Completely Customizable Vendor/Gumps/ClassicVendorGump.cs:
CS0246: Line 116: The type or namespace name 'MobileStatusExtended' 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.

I have dabbed around and tried to correct this error, but keep getting the same error
 
If you are using Visual Studio, hover over the MobileStatusExtended and add the reference, or if you do not use VS, what I said above applies to this error too, you'll have to find what using reference you need, VS just makes it easy!
 
One to go you're so close!

haha! I know!! I feel like i could do anything right now!!


.... nope... just tried to jump over my desk and I fell, hit my chair, and now i think I broke my spleen...
Post automatically merged:

If you are using Visual Studio, hover over the MobileStatusExtended and add the reference, or if you do not use VS, what I said above applies to this error too, you'll have to find what using reference you need, VS just makes it easy!


I am getting VS again. I've been using notepad ++ for so long, i didn't install VS to this pc yet
Post automatically merged:

If you are using Visual Studio, hover over the MobileStatusExtended and add the reference, or if you do not use VS, what I said above applies to this error too, you'll have to find what using reference you need, VS just makes it easy!

so, for some reason, it will not let me add a reference when I hover over "MobileStatusExteneded

This is the file I have and is how it was when I dled it
 

Attachments

  • ClassicVendorGump.cs
    4.2 KB · Views: 5
Last edited:
You might need to call a instance of it, qualify it! If it is static, then you can ref it, otherwise if not then you need to make a instance of it!

If not a static, try exploring this option!
Code:
MobileStatusExtended MSE = new MobileStatusExtended (); //Create a instance, then use MSE as the ref to anything calling it!

MSE.ValueStore = SomeValue;

ValueStore = MSE.SomeValueStored;
 
C#:
object p = m.Send(new MobileStatusExtended(m)); //make sure their gold amount is sent

still cannot get this line fixed lol
 
I have a question and I am not sure if it is just me or an issue but when I am in a vendor and if I am in it too long it will boot me out and then crash me and in order to get back into the vendor and continue adding it I have to log out and back into the server! I don't know if this makes sense if not maybe i can explain better!
 
After a few days with a live server,randomly get save error:
System.CustomizableVendor.Currency.Serialize(GenericWriter writer) en ***********************\Scripts\Custom\Others\Custom vendor stones\CompletelyCustomizableVendor.cs:líne 430
Line 430:
writer.Write(PaymentType.Name);
 
Back