Hi,

I want to add a handful of custom houses to my shard which will be available for purchase as a deed.

I am running RunUO Version 2.4, Build 5043.26759

I have installed UO Architect 2.7 final and using the Addon Generator from Nerun's Distro (CEO's 1.2)

When I ran RunUO I initially came up with an error for a missing Toxic Elemental in MobileSaver.cs so I commented this out:

// ConversionTable.Add( typeof( ToxicElemental ) );

There was also a warning about line 200 in orbserver.cs which I ignored.

The script then compiled OK.

Firstly, I created a custom 2 level house using the in-game facility for this, to create a stable. I then added a spawning stablemaster and a horse.

When I first tried [addongen with the test feature, this allowed me to create another copy of this stable and I was happy. I deleted this clone house as it was in town and then went to bed. It created a script in the TheBox folder which I deleted.

The next day when I tried this again it did not work. I have tried this again today after also placing a normal marble patio which I wanted to edit, but instead of creating a clone of the house, this time it just created the doors and a stone pillar!

I then ran up UO Architect and tried the same thing. This just created a preview of the doors and whatever rocks and flowers were on the ground. No other part of the building show in the preview. Creating the clone house just places the doors and I think the rocks and flowers!

I copied my live shard back onto my local computer, reinstalled UOAR and tried again with exactly the same result. I also tried this with a large house with patio and a castle. In all cases the only thing created is the doors, a large rectangular stone pillar which is not part of the house, and the rocks and flowers which are on the ground.

What am I doing wrong? :)

And what is the correct procedure for this? I can find very little information, but what I want to do is place a house, edit it, save it as a deed that people can buy and place. AddonGen would seem to do the last part to some extent. I presume I have to put the contents of the file created in TheBox folder into BaseHouses.cs? One of the buildings I want to create is the Fortress similar to the one found on UO Renaissance which is based on a castle. Is there a problem with this due to the size? Is there a tutorial somewhere for doing all this that someone could point me to?

Thanks in advance for your help.

FB
 
Hi,

I want to add a handful of custom houses to my shard which will be available for purchase as a deed.

I am running RunUO Version 2.4, Build 5043.26759

I have installed UO Architect 2.7 final and using the Addon Generator from Nerun's Distro (CEO's 1.2)

When I ran RunUO I initially came up with an error for a missing Toxic Elemental in MobileSaver.cs so I commented this out:

// ConversionTable.Add( typeof( ToxicElemental ) );

There was also a warning about line 200 in orbserver.cs which I ignored.

The script then compiled OK.

Firstly, I created a custom 2 level house using the in-game facility for this, to create a stable. I then added a spawning stablemaster and a horse.

When I first tried [addongen with the test feature, this allowed me to create another copy of this stable and I was happy. I deleted this clone house as it was in town and then went to bed. It created a script in the TheBox folder which I deleted.

The next day when I tried this again it did not work. I have tried this again today after also placing a normal marble patio which I wanted to edit, but instead of creating a clone of the house, this time it just created the doors and a stone pillar!

I then ran up UO Architect and tried the same thing. This just created a preview of the doors and whatever rocks and flowers were on the ground. No other part of the building show in the preview. Creating the clone house just places the doors and I think the rocks and flowers!

I copied my live shard back onto my local computer, reinstalled UOAR and tried again with exactly the same result. I also tried this with a large house with patio and a castle. In all cases the only thing created is the doors, a large rectangular stone pillar which is not part of the house, and the rocks and flowers which are on the ground.

What am I doing wrong? :)

And what is the correct procedure for this? I can find very little information, but what I want to do is place a house, edit it, save it as a deed that people can buy and place. AddonGen would seem to do the last part to some extent. I presume I have to put the contents of the file created in TheBox folder into BaseHouses.cs? One of the buildings I want to create is the Fortress similar to the one found on UO Renaissance which is based on a castle. Is there a problem with this due to the size? Is there a tutorial somewhere for doing all this that someone could point me to?

Thanks in advance for your help.

FB
You cannot create addons from multi creation (like custom houses). You have to add each individual piece by itself (using Pandora's box or adding the statics by hand) to create the house, etc, then use addongen to save the building.
 
You cannot create addons from multi creation (like custom houses). You have to add each individual piece by itself (using Pandora's box or adding the statics by hand) to create the house, etc, then use addongen to save the building.

That sounds tedious! But it did work the first time I tried it...
 
Any further input from anyone please? Why did this work the first time if I can't do it again? it is possible that I used the [freeze command the first time, but I can't make it happen again. Is there something I can do to make this possible?

Thanks

FB
 
Okay..
Well, Tass23 is correct, you can not create an Addon from a Multi. That is, a multiple item structure that is created as one item in the Multi.mul file. These are the houses that you would typically place by deeds, or the traditional houses from the original house placment system.

When yo built your stable by using the custom house plot system, that area was seen by the server/shard as just normal items similar to how you would place one by one, and you were able to use the [AddonGen command as you did. The AddonGenerator recognized the custom made stable area as typical items. It could be that after the shard saved a time or two, those items on the custom house plot were converted from static items to a multi type format, and after that happen the [AddonGen command would not recognize them any longer. That is my guess.

You could try to recreate this by again starting over with a blank house plot, and using the AddonGen command immediately after you are finished and see if it will create the Addon. Otherwise, you will need to create your area or structures as Tass mentioned, by placing items by [add static #### like we all do when building.

Hope that helps some, and makes some sense.
 
Alternatively, you could find the HouseMaker program that is basically the CustomHouse system but in a stand along program. You can create houses just the same way you would in game using the custom house maker, and when done you can save it to a file, and import the structure in game.. then use [AddonGen to generate the addon :)
 
Yeah, I think there was someone that added some newer items to it at some point, but still was quite a long time ago. I have the program, not sure exactly how old the item set is with it.. I'll post it soon, maybe someone will want to update it :)
 
Thank you very much, guys.

Dian, I think the difference is possibly the opposite to what you suggested in terms of server saves. In fact, I created the "stable" in Moonglow a few days previously. I also decorated and added the spawner and made the hay and stuff like that non moveable. A few days later I had the idea to make it a buyable deed home that could be bought, for example, as a stable for a guild village but I don't remember whether or not I did a [freeze on it before running [addongen with the test. It asked for a target (as it does) to place the clone and I ran up the north end of Moonglow next to the provisioner and it placed there, created the script (which I am annoyed I deleted now!) and I thought wow that's really cool! Frustrated that I can't get it to work again. Might just have to call it a freak of nature I suppose...

I will have a look at the tools mentioned and give them a go.

Again, thank you all for your advice.

FB
 
OK guys,

I have now created a castle-sized "Palace" in GreenAcres and run addongen on it which has created a file PalaceAddon.cs which when I try to place it says it can only be placed in a house I own.

I presume I now have to convert this into something I can add to the houses.cs file? I also note that the test build from addongen produces the building but the doors don't work.

Can anyone assist me with this please? Happy to upload the file if that will help.

Thanks

FB
 

Attachments

  • PalaceAddon.cs
    110.7 KB · Views: 19
Yes, Addons are by default something players can only place within a house they own. What you are doing is creating a house pretty much, and obviously its not going to be placed inside a house ;)

I think you should be able to just override the placement rules, however.. this will not act like a house in the traditional sense. Your players wont be able to use it as a house with ability to lock down items, and such.

IF that is what you are doing, you are working at this in the wrong way. You would actually need to build these structures and then add them the your Multi.mul file set, then create a deed for the PalaceHouse that can be placed and used as a real house by players. Otherwise, this addon you created is really only good for decoration purpose, no different than any town building that hold vendors, or whatever.
 
Pretty much the only other way to go(other then what Dian explained) would be to get Knive's Town House Sign, you can then use any building (in game) to allow ownership.
 
Oh yep yep, cant believe I didnt think of that, lol! Ive only been using that system for like, 10 years, haha
 
I want people to be able to buy the deed from the house vendor. How do I go about adding this building to the Multi.mul ?
 
Its been years for me, and I used an old program called multibuilder.. or somthing like that. I would think UOFiddler would be able to do this, but I have not done tried.

Once you do get the structure in the multi files, you can take a look at the Houses.cs file, see how they are entered, and use that as a template for your new house to place. The most important part is the shadow of the new house from the target the player gets when attempting to place, and that the shadow house matches the target on placement :) (if that makes sense to you)

Yes, it is an involving process, but its all in a days work for the shard owner! Good luck
 
Oh, and you then need to patch your multi files with your new added houses to your players.

If you are only doing a couple, what Milva suggested might be a good route, using the Town House system. However, doing it that way placing the house as multiple AddonComponent pieces making up your house, there is no Circle of Transperency to use when up against south and east facing walls. Otherwise, its not a bad option.
 
OK. It looks like UO Architect patches the MUL files. Unfortunately it doesn't like the latest client and throws an error. Same goes for UO Fiddler. They both work OK with the older client but not 7.0.31 that I'm using. The files are named differently to previous versions and have a UOP extension instead of MUL like map0LegacyMUL.uop instead of map0.mul and although the contents seem to be similar, the newer one appears to have about 640 bytes of header which does not exist in the older MUL. Also, although the MULTI.MUL file appears in both versions, and the contents appear similar, there is clearly a different record structure so it is not just a question of renaming the files to patch them and then naming it back :(

I suspect, then, that I am buggered if I want to use Client 7 but my shard hates me if I revert it back to Client 6 - for example if I place a house with client 5 or 6 on both server and local machine, it won't let me walk into the house! I wanted to use the latest client so that I could bring in some of the latest toys as the shard progresses. So although it will have a 2000 ish Siege Perilous feel (although not quite as harsh - I don't want people to give up immediately), it will not be static as some of the available shards seem to be. So I don't want to be tied with Client 5, say, which would severely limit the "toys" and functions that I could bring in as we progress. Having said that, it would remove the problem of having to find a way to restore Magincia. The two methods posted like DecorateMagincia and the "hardware" building placement just don't work for me at all. Again, I suspect it might be that it also doesn't like Client 7.xx

Does anyone know the latest client version that will work with UO Fiddler and UO Architect, and also DecorateMagincia? Do I have to go back to 6.04 or will one of the 7s work? I'm pretty sure that when I started off, UO Architect worked and I think that was client 7.0.15 but I couldn't swear to it as I didn't pay much attention at the time.

I'm sorry for all my questions but really there is so little information out there and what there is seems quite dated. Many of the tools or addons come with no instructions, or few at best, which means you waste a lot of time figuring out what to do. Hard to complain for the great price of FREE, but all the same frustrating :) It reminds me, in a way, of when I started creating aircraft sims for Microsoft Flight Simulator although at least here we seem to have a nice group of people who don't mind talking about it and giving advice and hints. Probably because nobody is making money out of it :)

Thank you!

FB
 
Last edited:
As further to this, I have found a copy of Client 7.0.10 on another computer here and UO Fiddler and UO Architect both work with this as far as I can tell so far. So EA changed the file structures and names between 7.0.10 and 7.0.31. I'm sure you know this already, but I'm going through the learning process :)
 
You are correct for the most part in your findings. However, you can still have the best of both worlds :)

It will be extra work, and can become very time consuming and/or frustrating.. however, if you want the world you are after, here is what you do.

Take the newest UO Fiddler and grab the UOP files from your new client folder, copy them to the UO Fiddler directory to a new folder of your choice. UO Fiddler should have a tab for UOP packer.
Under that tab there is the option to pack files from MUL to UOP and unpack UOP to MUL.

Now, you will want to Unpack your UOP files you copied to MUL. Then, you are free to edit those all you like with the traditional tools out there without having the limitations of the new client files. Once you are done editing them, simply use the UOP Packer tool again to repack them back the the UOP format, and replace this new set of UOP files back into your new client. You will then need to distribute them to your players of course, but thats the name of the game if you want that perfect world :)

If you need further help, we're here.
 
Thank you very much for that. I've now found a copy of the 7.0.15 client which I started with originally (aren't backups wonderful?) and this still uses MUL files so I think I will use that as it would seem less hassle. I can't imagine that much will have changed between that and the latest client so I think I will just proceed with that. Still leaves me with the Magincia problem though which I will have to solve. I've not yet tested the DecorateMagincia pack with this version but fingers crossed...

I see there are a few MUL editors around but from what I have read, MulEditor seems to be the one most people recommend so I will have a pop at the custom houses with that. I found a nice tutorial site here: http://sorea.profitux.cz/patching/ which I will have a read through.

There is also a completely different problem with the demon house in the hedge maze. In the 2000 era this spawned a demon when you ran around in it, but this little house seems messed up (in client 7) with a set of steps in the middle of it, and a different shaped roof. Plus no demon spawns. So I guess what I need to do is go there in client 5 and clone the building into UO Architect, then go to client 7 and unfreeze and delete the current building there, Add in the new static building with UO Architect, freeze, and patch the map MUL file? Then work out a way to set a random tile which moves on a timer which triggers the demon spawn when the correct tile is stood on when the timer is active for that tile. Anyone remember that? It's a long time ago! :)

OMG. Why did I start this? Hahahahaha!
 
Haha, the daemon hedge maze area was one of my most favorite places, yes I remember it well. There use to be a secret passage could walk through the grass into the under area of the building, and raise the Portcullis doors, and would take you along the under area pathway between the two building areas. They had at some point removed the walk through grass tiles of that map spot for some reason, I believe.
The spawn though, that is just something you need to set up yourself, as typically the spawning is not created in the Emulator packages. Its up the the shard owner for the most part to spawn your world as you like.

The client though, yep. I understand the problem with wanting to use current client in the way of artwork/items available, while still using the traditional map as it was. I have gone through that myself, although w have our own custom map.. we still were using the Britannia map for the other trammel facet. It gets to a point where you just need to ask yourself where you want to stop keeping up with the OSI/EA/Broadsword changes, and just branch off with your own version from some point.

UOFiddler is the best MUL editor to date though, you should really give it a try. Mul Editor is great, but it is a bit more difficult to really understand how to use, as there is very little clear step by step documentation to using each aspect of it.

Good luck !
 
As an update to this for anyone else researching adding custom placeable houses, I have now had time to look at this again. Knive's is NOT the way to go for this although it is a great tool that is perfect for other tasks.

Tools you will need...
Pandora's Box
UO Architect
UO Fiddler
Mulpatcher or I think there is a MUL exporter plug-in for UO Fiddler but I have not tried that.

Here's where I am at:

I am now using Client 5.0.8.3 with the anim cliloc and hues file from 6.x or 7.x because this enables me to bring in some newer stuff like swamp dragons which otherwise show as an ostard etc.

Create a building using manual placement of static objects in GreenAcres and also the very useful tool Pandora's Box. Save the building regularly using UO Architect because there is no "undo" button and sometimes you can't find the bit you just mis-placed :) Also server [save regularly so that you can just do a non-saving restart when you screw up big time!

When the building is complete, save it to UO Architect. Now export the building from UO Architect as a UOA file for permanent record. You could use this with Knives if you wanted to at some point. Now go back to the editor and remove all the doors and the house sign. The sign hanger needs to stay. You CAN patch the Multi.mul using UO Architect but it will just use the first empty slot - it won't let you choose which slot to use. So...
Run up Mulpatcher and import the existing Multi.mul on the Settings tab and I think Art.mul is required also. Go to the Multi tab and ensure that "all slots" are visible. You can see the buildings in thereby clicking on the hex number on the left. Red ones are empty slots. Choose which red slot you want and right click on it and select "Load from UOA text file" and browse to the saved building text file you exported earlier. You should see the building appear in the window. Make a note of this hex number because you will need it later in the Houses.cs script. Now go back to the Settings tab and click the save button. Save Multi.idx to the Fiddler work folder and then it will prompt you for the Multi.mul which goes in the same place.
Copy the Multi.mul and .idx to your server's client folder and also your local client folder.

The next step is to create a cliloc number with the name of your building. Use UO Fiddler for this. Set your client file location (in Settings) and load in the files. This is a bit of a fiddly process and you have to click in the path window twice as it doesn't seem to load all filenames first time. Then click Reload Files. Now go to the cliloc tab and find an empty cliloc. I used the 1041540 range as it is reasonably close to the existing house names etc. In the text field enter the text for the house name. For example my first house is "Larger Marble house", then the deed name in the next slot "a deed to a larger marble house" and then the next one you can type in a load of blurb describing the house which appears on the house placement tool I think if you are using that. Personally I am just using a deed. Make a note of the cliloc numbers you used because you will need this next in the Deeds.sc script.

Next edit the Deeds.cs script and copy one of the sections. For me it was easy because my larger marble is the same as the marble house ith patio so I copied that and changed the names to "LargerMarbleDeed" and "LargerMarbleHouse" where appropriate in your copied section.
Now set the hex position number from earlier (mine is 0x97) and the x, y and z co-ordinates of your steps (the place you target to place the house) here:
[Constructable]
public LargerMarbleDeed() : base( 0x97, new Point3D( -4, 7, 0 ) )

A little further down put in the cliloc number for the deed name in here:
public override int LabelNumber{ get{ return 1041581; } }

Save the file.

Now go to Houses.cs and select an appropriate section to copy for your house. Again for my first one this is easy because my larger marble house has the same footprint and door position as the regular marble patio so I just copied that section.
In the Rectangle2D section enter the reference point and sizes from the centre of the structure. so x, y distance from the centre point to the back left corner followed by width and depth of the building: new rectangle (-x, -y, w, d)
then the second group of co-ordinates is the position of the steps. For odd-shaped houses like the Two Story or Keep there will be multiple definitions here.
Next set the default price for the building.
You can play with ConvertOffsetY to adjust the reference point
Now change the BaseBanLocation to wherever you want. Normally under the sign to the right of the steps using the same x,y,z co-ordinates
Now change the hex multi number as we did before
public LargerMarbleHouse( Mobile owner ) : base( 0x97, owner, 1450, 11 )
The 1450, 11 is the number of lockdowns and secures allowed in this house.
Now put the doors in the correct x, y, z place from the centre reference point.
AddSouthDoors( false, -4, 3, 4, keyValue ); false for metal door true for wood door then x, y, z. You can put "true" instead of keyValue to make the doors open the other way, but sadly the author never thought to allow you to have a door open backwards AND be lockable! Also any lockable doors you make here will all have the same key/lock. I am currently looking at re-writing this to also allow iron keys for internal doors ad pairs of East/West facing doors.
Finally, change the x, y, z position of the house sign to match up with your sign hanger.
Also of note is that by default the pairs of doors are always linked. Why? This is terrible house security! So you will need to comment out a couple of lines in BaseHouse.cs:
// westDoor.Link = eastDoor;
// eastDoor.Link = westDoor;
and those two lines repeat a little further down that script so comment them out too.
Now save and run your shard to test adding the deed and placing the house.

FB.

awww.uosp.net_images_LargerMarble.jpg
 
Thanks very much. What I did was use UOFiddler, went to multis, exported an existing house to use as a base... then went to the very nice multi editor in fiddler and rebuilt the house and saved it in whatever slot I wanted in fiddler. Then took the output .muls and copied them to my server and client directories... after changing the deeds.cs and houses.cs like you mentioned. All perfect on latest client.

Thanks a million for this tutorial.. it got me where I've wanted to be for a long time ++ karma!

My one problem to sort is to verify valid location from the deed.

Thanks to those that helped! I moved back to servuo after offering to help on the HS content at JustUO and basically getting that elitist snub from someone there. Sad this still happens. Discourages you from wanting to contribute.
 
Last edited:
I'm doing all the HS on my future shard on the pc atm. Having these new house capabilities ^ made my day.

I'm not worried about all that from JustUO, these days if someone says or does something offending I just leave. I see no point in mocking someone new to coding that's offering to try to contribute just because they want a more experienced person to take a gander at what they've done before posting it.

I realized I have hijacked this thread and will go back to staying on topic. That was not intentional.

Very happy ServUO is still around and mature.
 
Just something of note:
If you're going to edit the scripts for custom houses, you can also hue pieces right in the scripts. This makes for even more customization.
 
Thank you, TheDoc. I have previously found that there are people who like to keep things to themselves or belittle people who are learning. And I am not referring to here, but just generally. I have written some flight sim aircraft addons in the past - well quite a lot actually! - and the reception by that community to a newcomer was quite upsetting. I put a lot in but got little out in terms of reciprocal information although people were at least polite enough to thank me! I am always completely transparent, and share what I learn with others openly despite that I was making money from those projects. I feel strongly that shared information gives ideas and inspiration to other programmers which brings more fun to players - which is ultimately what we are about isn't it?
 
Amen to that! I did figure out how to make new house multis for the latest client after reading your awesome guide. I used Fiddler.. went to the multi tab and found an existing house/plot to build off of... exported it to text, then went to the Multi-Editor tab in Fiddler and imported it. UOFiddler has a really nice multi editor.. when you're done just save in that tab and then go back to the Multi tab, save there and boom a new real custom house :) Thanks again, I've really been trying to figure this out for a long time and my players will be so excited. I'll give you credit on our shard site for this man! I know my GMs will love you for not having t o join houses anymore!.
 
Back