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!

[RunUO 2.0 RC1] Xanthos Auction System

brixey2451

Wanderer
have you edited your CharacterCreation.cs, also when you deleted your distro banker, did you replace with Xanthos/Auction System/Modified/Banker.cs

i beleve you have to replace it, aslo if i remember right, the script is still very buggy, so besure to fully test
 

Mourad

Wanderer
i got a problem guys, i just download the script he compiled without error & he work fine (for add auctioner & the stone) but when a click in "auction An Item " & choose a item nothing happend :(.
any idea if i missed something?
plz help guys :(
 

Mourad

Wanderer
already do but none post a help :(.
plz guys if some1 can help post plz :(, kinda confused what that suck problem :(
 

BIGCHIEF2005

Wanderer
this is an error i am geting please help Im not a scripter so i dont know what to do

RunUO - [www.runuo.com] Version 2.0, Build 2357.32527
Core: Running on .NET Framework Version 2.0.50727
Scripts: Compiling C# scripts...failed (2 errors, 0 warnings)
Errors:
+ Items/Misc/BankCheck.cs:
CS0101: Line 12: The namespace 'Server.Items' already contains a definition
for 'BankCheck'
+ Mobiles/Townfolk/Banker.cs:
CS0101: Line 11: The namespace 'Server.Mobiles' already contains a definitio
n for 'Banker'
Scripts: One or more scripts failed to compile or no script files were found.
- Press return to exit, or R to try again.
 

ClanCC

Wanderer
BIGCHIEF2005;727890 said:
RunUO - [www.runuo.com] Version 2.0, Build 2357.32527
Core: Running on .NET Framework Version 2.0.50727
Scripts: Compiling C# scripts...failed (2 errors, 0 warnings)
Errors:
+ Items/Misc/BankCheck.cs:
CS0101: Line 12: The namespace 'Server.Items' already contains a definition
for 'BankCheck'
+ Mobiles/Townfolk/Banker.cs:
CS0101: Line 11: The namespace 'Server.Mobiles' already contains a definitio
n for 'Banker'
Scripts: One or more scripts failed to compile or no script files were found.
- Press return to exit, or R to try again.
Looks like you have two copies of the same script. Your suppose to replace(or move the originals to another place, outside your RunUO scripts folder) Items/Misc/BankCheck.cs and Mobiles/Townfolk/Banker.cs with the ones included in the zip file.
 

dr_no

Wanderer
everytime i try to put any item in auction i get Invalid Localization at the place of item propeties - any one know how to fix that ?
 
i seem to be having a slight problem wit this system. everything compiled correctly no errors of any kind only when i try to auction a item itgives me the target hand then i click the item then nothing, no gump, item dontvanish litterly nothing. any clue here?
 

Johabius

Knight
drgsldr69;750121 said:
i seem to be having a slight problem wit this system. everything compiled correctly no errors of any kind only when i try to auction a item itgives me the target hand then i click the item then nothing, no gump, item dontvanish litterly nothing. any clue here?
Did you edit the xml file to point to your cliloc.enu location?

In order to get it to work, edit
/Data/AuctionConfig.xml
and around line 45 insert the location of your cliloc.enu file (it will be found in your Ultima Online installation folder)
 

datguy

Sorceror
I'm getting same error, what exactly am I to put for the path
Code:
		<ClilocLocation type="string">E:\SVN-server\cliloc.enu</ClilocLocation>
That is where I placed that file but it can't find it or something
 
actually i have tried to point it to the one in my UO fodler then tried to copy it to my data fodler and point it there and still nothing.
 

Alari

Wanderer
The auction system hasn't been updated in a while, certain changes in the core or in .NET itself may have broken functionality.

I put in debug checks and found that somehow ClilocLocation was "" (the stuff between the ""s anyway) it used to come up null when blank in the .xml file.

Code:
AuctionItem.cs: AuctionItem(): DEBUG: Beginning AuctionItem()
AuctionItem.cs: AuctionItem(): DEBUG: AuctionConfig.ClilocLocation NOT null! Value: ""
The auction system cannot access the cliloc.enu file. Please review the system instructions for proper installation

so the nice null check wasn't doing it's job. You can add && AuctionConfig.ClilocLocation != "" to the null check to fix it, like so:

Here's what I have now. And it works. Change marked in red. (not counting debug messages)
AuctionItem.cs, AuctionItem()
Code:
		static AuctionItem()
		{
			Console.WriteLine( "AuctionItem.cs: AuctionItem(): DEBUG: Beginning AuctionItem()" );

			string clilocFolder = null;

			if ( AuctionConfig.ClilocLocation != null [COLOR="Red"][B]&& AuctionConfig.ClilocLocation != ""[/B][/COLOR] )
			{
				Console.WriteLine( "AuctionItem.cs: AuctionItem(): DEBUG: AuctionConfig.ClilocLocation NOT null! Value: \"{0}\"", AuctionConfig.ClilocLocation );
				clilocFolder = Path.GetDirectoryName( AuctionConfig.ClilocLocation );
				Ultima.Client.Directories.Insert( 0, clilocFolder );
				Console.WriteLine( "AuctionItem.cs: AuctionItem(): DEBUG: clilocFolder set to {0}", clilocFolder );
				
			}
			else  // TESTING by Alari - 4:20 AM 4/19/2007
			{
				clilocFolder = Core.FindDataFile( "cliloc.enu" );
				if ( clilocFolder != null )
				{
					Ultima.Client.Directories.Insert( 0, clilocFolder );
					Console.WriteLine( "AuctionItem.cs: AuctionItem(): DEBUG: Cliloc detection worked! {0}", clilocFolder );
				}
				else
				{
					Console.WriteLine( "AuctionItem.cs: AuctionItem(): DEBUG: Cliloc detection failed." );
				}
			}

			m_StringList = new StringList( "ENU" );

			if ( clilocFolder != null )
			{
				Ultima.Client.Directories.RemoveAt( 0 );
			}
		}

Feel free to delete the console debug messages. They'll show up once during world load if you have any existing auctions when the server starts, otherwise they'll show up once the first time someone tries to auction something.


Edit: I don't use the savings boxes or tokens, so I don't know if they still work.


Edit2: I found the problem, the auction system doesn't seem to be reading that config setting from the XML file. Even when I specify a directory, it still comes up "" and goes through the auto-detection.

Edit3:
The above fix won't work for custom directories! And if it doesn't read it from the XML file, editing that won't help.
For custom directories: Edit Auction System\AuctionConfig.cs instead. Edit as appropriate.
Code:
		/// <summary>
		/// If you don't have a valid UO installation on the server, or have trouble with the system
		/// specify the location of the cliloc.enu file here:
		/// 
		/// Example - Make sure you use the @ before the string:
		/// 
		/// public static string ClilocLocation = @"C:\RunUO\Misc\cliloc.enu";
		/// </summary>
		public static string ClilocLocation = null;


A fix for why this isn't properly reading from the AuctionConfig.xml file would be better, but I don't know how quickly I can do such a thing, if at all. Someone else may want to have a look at Utilities\ConfigParser.cs and see if anything needs updating to account for .NET framework changes or RunUO Script/Core changes.


BTW for those who don't know: the custom data directory entry in the auction system config is for when you have a modified cliloc file, or you haven't installed UO normally (via regular program install, as opposed to copying the files)
 
well i tried your fix this is what i got when i tried to place a item in auction

Code:
AuctionItem.cs: AuctionItem(): DEBUG: Beginning AuctionItem()
AuctionItem.cs: AuctionItem(): DEBUG: Cliloc detection worked! C:\Program Files\
EA Games\Ultima Online 9th Anniversary Collection\cliloc.enu
The auction system cannot access the cliloc.enu file. Please review the system instructions for proper installation

any clue why it can't access the file even tho it found it?
 

Alari

Wanderer
drgsldr69;752209 said:
well i tried your fix this is what i got when i tried to place a item in auction

Code:
AuctionItem.cs: AuctionItem(): DEBUG: Beginning AuctionItem()
AuctionItem.cs: AuctionItem(): DEBUG: Cliloc detection worked! C:\Program Files\
EA Games\Ultima Online 9th Anniversary Collection\cliloc.enu
The auction system cannot access the cliloc.enu file. Please review the system instructions for proper installation

any clue why it can't access the file even tho it found it?


AuctionTarget wraps the whole thing in a try/catch, it's possible some other part is failing, or there is a typo or something. PM me your AuctionItem.cs (to avoid spamming this thread) and I can double check it for errors. Also it may depend on what item it is, though I just verified with a bunch of test auctions that I had no problem creating them, using simple objects, artifacts, custom weapons, and a horse.


This is what I have, right now

Code:
		static AuctionItem()
		{
			Console.WriteLine( "AuctionItem.cs: AuctionItem(): DEBUG: Beginning AuctionItem()" );

			string clilocFolder = null;

			if ( AuctionConfig.ClilocLocation != null && AuctionConfig.ClilocLocation != "" )  // TESTING by Alari - 4/20/2008
			{
				Console.WriteLine( "AuctionItem.cs: AuctionItem(): DEBUG: AuctionConfig.ClilocLocation NOT null! Value: \"{0}\"", AuctionConfig.ClilocLocation );
				clilocFolder = Path.GetDirectoryName( AuctionConfig.ClilocLocation );
				Ultima.Client.Directories.Insert( 0, clilocFolder );
				Console.WriteLine( "AuctionItem.cs: AuctionItem(): DEBUG: clilocFolder set to {0}", clilocFolder );
				
			}
			else  // TESTING by Alari - 4:20 AM 4/19/2007
			{
				Console.WriteLine( "AuctionItem.cs: AuctionItem(): DEBUG: AuctionConfig.ClilocLocation is NULL, proceeding with auto-detection..." );
				clilocFolder = Core.FindDataFile( "cliloc.enu" );
				if ( clilocFolder != null )
				{
					Ultima.Client.Directories.Insert( 0, clilocFolder );
					Console.WriteLine( "AuctionItem.cs: AuctionItem(): DEBUG: Cliloc detection worked! {0}", clilocFolder );
				}
				else
				{
					Console.WriteLine( "AuctionItem.cs: AuctionItem(): DEBUG: Cliloc detection failed." );
				}
			}

			m_StringList = new StringList( "ENU" );

			if ( clilocFolder != null )
			{
				Ultima.Client.Directories.RemoveAt( 0 );
			}
		}

And a screenshot to prove I'm not pulling your tail... =P =)
 

Attachments

  • auction3.jpg
    auction3.jpg
    59.4 KB · Views: 104

Alari

Wanderer
I'm using a standard UO installation, nothing custom about my cliloc.enu or items. Again, I'm not using the savings boxes or tokens either, that may have something to do with it.

I need more information to figure out why this isn't working for others. (Since all I did for mine was slap debug messages in there and trace the problem, but I can't do that for others.)

When did the auction system stop working? After a certain version of SVN, after a .NET update, or just after a certain date? (If it ever worked for you)
What item did you try and auction?
Is it a custom graphic?
Are you using a custom cliloc?
If it's a custom graphic, do you have the matching cliloc entry for it?
Which ultima.dll are you using? (The one in the post or the one from RunUO? My ultima.dll is 61,440 bytes, created Tuesday, March 20th, 2007, file version 1.0.2943.23382) And do you have ultima.dll in your Data\Assemblies.cfg file?
Which client are you using? 2D? KR? The current version or an older one?

(I'm not sure when the auction system stopped working, as I only had it set up on the testing area. It did work when I originally installed it... I'm not using any custom graphics or cliloc entries. I auctioned standard items as well as custom items (which use existing graphics) - I'm using the 2D client still.

In the meantime, included in this post is my complete Xanthos collection. (Auction system and shrink system) - some parts may have been heavily modified by me, please use with care.

Also in the docs where it says how to add the new char savings boxes
Code:
Add the following on a new line after that block:
    if ( newChar.BankBox = null )
        newChar.BankBox.DropItem( new Arya.Savings.SavingsAccount());

that should be BankBox != null...


Edit: According to the Ultima SDK forum, other people are having trouble with cliloc entries too... I've been using the Ultima.dll from the Bestiary addon (was on RunUO Forge which is currently down) I disabled the bestiary and tested the current Ultima.dll from Razor, that works too.

The ultima sdk from the forums or other sources may be horribly out of date, missing bug fixes, etc, as when someone posts a fix there usually isn't a response that it's been included or anything. Worst case scenario though, back up your Ultima.dll FIRST and then try the latest one from Razor. Find it here: C:\Program Files\Razor\ultima.dll (usually =) Make sure Razor is fully up to date first.


Edit2: I missed some of the internalization changes posted earlier in this thread, I've added them in to the code and attached a new .zip to this post.

Edit3: Updated again with additional code changes.
 

Attachments

  • Ultima dll from bestiary.zip
    21.9 KB · Views: 56
  • Ultima dll from razor.zip
    21.1 KB · Views: 69
  • Xanthos.zip
    109.1 KB · Views: 83

datguy

Sorceror
Changing the Ultima.dll seems to have worked!

Never got it to work before, was using the ultima.dll from first page of this topic, using client 5.0.9.1

Thank you so much Alari for working through this & helping to find a solution to get this to work.
 

Alari

Wanderer
I'm glad it's working for you. =)

One problem I noticed with mine is that it's still not reading the ClilocLocation setting from the XML file. This isn't a problem for me as I use an unmodified file and the auto-detect picks it up, (I entered the correct directory but I still see it coming up NULL...) -- for anyone who is using a custom cliloc file and is having trouble getting the auction system to detect it, you may need to edit your AuctionConfig.CS file as described above, and possibly comment out the part that reads ClilocLocation from the XML, found later in that same file.
 

datguy

Sorceror
before I think i was using my existing ConfigParser.cs in the Utilities Folder the one in this thread was newer & seems to work also *shrugs*
 
Top