I am trying to figure out how to remove certain tiles from the house placement like lava, water and swamp. How do I go about doing this?
 
It is a complicated process. Not only do you have to edit the .cs files (Floors.cs found in Items->Construction) but you also have to edit the text files on the client side (Floors.txt), which requires offering a custom client for all your players. Otherwise they will still see the tiles you have removed.

I added new doors and walls to my shard a few years ago and it took several hours. The most difficult part was figuring out how the text file was set up.
 
Client side editing is not an issue as my shard is a custom map shard with custom art. Would you be able to help me out? I would like to put custom housing back in the game, it just has certain stuff I don't want available to build.
 
Client side editing is not an issue as my shard is a custom map shard with custom art. Would you be able to help me out? I would like to put custom housing back in the game, it just has certain stuff I don't want available to build.
So much of the house customization is controlled by the client files. It's difficult to split things apart. Depending on which walls, doors, floors, etc you want to remove, that might also be limited to the actual client version your shard is running.
 
Ok so I edited the client side files and it worked. What exactly do I edit in the .cs file?
Look at HouseFoundation.cs in Scripts->Multis.
For doors, look for:
Code:
public void AddFixtures

You will see a long list of doors there. I will tell you now that the way they are displayed in Fiddler is critical to the way they are displayed in the client. Each door needs an open and close graphic and they have to be added to tiledata in a very specific way (if you inject them using Fiddler you can follow the pattern from the original UO doors). The direction and open/close graphics in Fiddler have to match up with the way they are added in the client file for doors.txt. Certain itemID sequences will not work either. Doors have to start on an odd itemID and end in sequence on an even itemID.
After you do that, look for:
Code:
public static bool IsFixture

This gives you another list of itemIDs where you have to add/remove the door in question, but it's not as complex as the previous list. This one just needs a starting point (beginning itemID for that door) and an ending point (the last itemID for that door).

Floors and walls I think are just added in Fiddler, then the floors.txt and walls.txt are updated in the client files, but I could be wrong (I haven't added any new floor tiles, only doors and walls).
 
Back