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!

New Wall And Floor Tiles

InOverMyHead

Sorceror
Does the value have anything to with how the new house and floor tiles show up?...
This is what I mean....When I try to place the new wall tiles on the north and west sides, they are orange and I can't commit the house design and when I place the wall tiles the floor tiles get erased. Any idea on how that can be fixed?

 

mitty

Sorceror
Wow ty, but....

I did as you said and added the new file to my server and yes the deco of a house you can use all the elven and 9th aniversary stuff!! My shard is 1.0 and it works great! My problem is it says anything higher than SE for the elven doors and new stuff is a wall and none of the new doors above SE will work?? Any insight on how I might remedy this guys/gals?? I'd appreciate a point in the right direction. :)
 

snicker7

Sorceror
The doors are part of the housecustomization scripts, the client tells the server about a certain item id, and the server has to convert them to actual working doors/teleporters, i think its called "fixtures" or something in the file, i'm not incredibly familiar with it.
 

mitty

Sorceror
I looked snicker and...

I looked and what I came up with were a HouseFoundation.cs, Doors.cs, BaseDoors.cs, and HouseDoors.cs that have the SE door info in them but no House customization scripts. Trying to not ask for THE answer but would I add the new door info here for the elven and crystal and shadow doors? It looks to me like the bulk is in the HouseFoundation.cs? Thank you for the help so far. (Remember im running 1.0) :D
 

Thistle

Wanderer
Adding in the 2 new house foundation sets are fairly simple:

In HouseFoundation.cs:

Code:
	public enum FoundationType
	{
		Stone,
		DarkWood,
		LightWood,
		Dungeon,
		Brick,
		ElvenGrey,
		ElvenNatural,
		Crystal,
		Shadow
	}

At the "static void GetFoundationGraphics" section just add in:

Code:
				case FoundationType.Crystal: corner = 0x3672; east = 0x3671; south = 0x3670; post = 0x3677; break;
				case FoundationType.Shadow: corner = 0x3614; east = 0x3636; south = 0x3637; post = 0x3617; break;

To get them to actually display in the House Customization Menu, look in HouseGumpAOS.cs for "public override void OnResponse" line 1252 and replace the original "case 8" with this:

Code:
 				case 8:
				{
					if ( isOwner && isCustomizable )
					{
						FoundationType newType;

						switch ( index )
						{
							case 0: newType = FoundationType.DarkWood; break;
							case 1: newType = FoundationType.LightWood; break;
							case 2: newType = FoundationType.Dungeon; break;
							case 3: newType = FoundationType.Brick; break;
							case 4: newType = FoundationType.Stone; break;
							case 5: if( Core.ML ) newType = FoundationType.ElvenGrey; else return; break;
							case 6: if( Core.ML ) newType = FoundationType.ElvenNatural; else return; break;
							case 7: if( Core.ML ) newType = FoundationType.Crystal; else return; break;
							case 8: if( Core.ML ) newType = FoundationType.Shadow; else return; break;
							default: return;
						}


Now we just need to get those darn doors working. *grumbles*
 

mitty

Sorceror
I got everything added to my scripts like you had posted

When I went to compile it said error cant find ML?? Remeber I'm running 1.0? Where it says to add if (Core.ML) is where it's throwing the error. I used snickers advice and added my little script as he instructed and it worked to get walls and house building but the foundation types still not showing up.
 

mitty

Sorceror
KK I did and...

Tried of course without the core.ML in and it compiles but they dont show up in the gump?? Ty for all the help so far I really appreciate it. Been working hard on these things lately. :D
 

Thistle

Wanderer
Oh hell, I think I forgot another change to HouseGumpAOS.cs :eek:

Code:
		private static int[] m_FoundationNumbers = new int[]
			{
				20, 189, 765, 65, 101, 11767, 11771, 0x3672, 0x3614
			};

That should do it ...... I hope.
 

mitty

Sorceror
Thanks Thistle...

Had to add a little bit more but added the foundation numbers everything works like a charm and ty TY! I'm working on adding the Doors to the scripts right now. It looks like you gotta add em in the HouseFoundation.cs script in the fixtures and possibly make a Doors.cs script for the constructable portion. I'll post my work soon as I get it going. Thanks again Thistle. Plus if you come up with anything let me know here also, and good luck! :D
 

Kenko

Page
Thistle said:
Adding in the 2 new house foundation sets are fairly simple:

In HouseFoundation.cs:

Code:
	public enum FoundationType
	{
		Stone,
		DarkWood,
		LightWood,
		Dungeon,
		Brick,
		ElvenGrey,
		ElvenNatural,
		Crystal,
		Shadow
	}

At the "static void GetFoundationGraphics" section just add in:

Code:
				case FoundationType.Crystal: corner = 0x3672; east = 0x3671; south = 0x3670; post = 0x3677; break;
				case FoundationType.Shadow: corner = 0x3614; east = 0x3636; south = 0x3637; post = 0x3617; break;

To get them to actually display in the House Customization Menu, look in HouseGumpAOS.cs for "public override void OnResponse" line 1252 and replace with this:

Code:
 				case 8:
				{
					if ( isOwner && isCustomizable )
					{
						FoundationType newType;

						switch ( index )
						{
							case 0: newType = FoundationType.DarkWood; break;
							case 1: newType = FoundationType.LightWood; break;
							case 2: newType = FoundationType.Dungeon; break;
							case 3: newType = FoundationType.Brick; break;
							case 4: newType = FoundationType.Stone; break;
							case 5: if( Core.ML ) newType = FoundationType.ElvenGrey; else return; break;
							case 6: if( Core.ML ) newType = FoundationType.ElvenNatural; else return; break;
							case 7: if( Core.ML ) newType = FoundationType.Crystal; else return; break;
							case 8: if( Core.ML ) newType = FoundationType.Shadow; else return; break;
							default: return;
						}


Now we just need to get those darn doors working. *grumbles*
Warning: there are more than one
Code:
case 8
in that onresponse.
 

Kenko

Page
mitty said:
Had to add a little bit more but added the foundation numbers everything works like a charm and ty TY! I'm working on adding the Doors to the scripts right now. It looks like you gotta add em in the HouseFoundation.cs script in the fixtures and possibly make a Doors.cs script for the constructable portion. I'll post my work soon as I get it going. Thanks again Thistle. Plus if you come up with anything let me know here also, and good luck! :D
Oh doors.. I want some of those, how can I get the ItemIDs??
 

Kenko

Page
Cheetah2003 said:
Code:
                new ExpansionInfo( 4, "9th Edition"     , new ClientVersion("5.0.0a"),      0x82DF, 0x1A8, 0xE0 )
Seems to work perfect. Just OR'd snicker7's code to the ML code to get that new one. Oddly, in the packet log, that's come out as 0x82FB. I think it's something to do with the 6th character slot, there's some handling for that in the SupportedFeatures packet class.

Also, if you add that, add something in the enum above it (I put 'NE', cuz can't have a number starting a variable name), and modify CurrentExpansion.cs accordingly as well. No problems so far.

Snicker7's method'll work perfectly (and its a lot simpler), but I just like doing things the 'right' way. BTW, file to edit is a core server file (so you gotta recompile your runuo.exe), ExpansionInfo.cs. Snicker7's method doesn't need a core recompile. Both work just as good. :)
I used your method and it works perfect, ++Karma for thee
 

FingersMcSteal

Sorceror
I'm working on getting this in for the RunUO v1.0 servers, but...

I don't have a HouseFoundation.CS and i've spent most of the morning trying to find the file where the enum's are definded for these...

Back to Server.Multis
FoundationType (Enum)
Stone = 0,
DarkWood = 1,
LightWood = 2,
Dungeon = 3,
Brick = 4

EDIT...
This is for the Foundation Types definitions btw
Thats from the docs folder information, but which file are these defined in, the only place i can think of but im sure its not right is in the housegumpaos.cs file.

Anyone help out ?

Got the walls working ok now and pretty sure the doors should be simple to do once i get the rest working ok and InsideUO would get you the ID's for the new doors.
 

Kenko

Page
Grrr..

I can add new stairs and foundations now, but the ground tiles don't even show up in the customization gump!! So far I made Thistle's foundation change, which worked, and Cheeta's change, which apparently did, well.. I can add stairs, but ground tiles won't show up.
 

haazen

Sorceror
This has been very helpful. At times very confusing but I finally got all the duck lined. Here is my contribution.

Doors!

2 pieces of code need to be added in HouseFoundation.cs

The code added is in red.
First is around line 220:

Code:
		public void AddFixtures( Mobile from, MultiTileEntry[] list )
		{
			if( m_Fixtures == null )
				m_Fixtures = new ArrayList();

			uint keyValue = 0;

			for( int i = 0; i < list.Length; ++i )
			{
				MultiTileEntry mte = list[i];
				int itemID = mte.m_ItemID & 0x3FFF;

				if( itemID >= 0x181D && itemID < 0x1829 )
				{
					HouseTeleporter tp = new HouseTeleporter( itemID );

					AddFixture( tp, mte );
				}
				else
				{
					BaseDoor door = null;
[COLOR="Red"]//crystal and shadow
					if( itemID >= 0x367B && itemID < 0x369B )
					{
						int type = (itemID - 0x367B) / 16;
						DoorFacing facing = (DoorFacing)(((itemID - 0x367B) / 2) % 8);

						switch( type )
						{
							case 0: door = new GenericHouseDoor( facing, 0x367B, 0xEC, 0xF3 ); break;
							case 1: door = new GenericHouseDoor( facing, 0x368B, 0xEC, 0xF3 ); break;
						}
					}
// add else to if on next line

					else[/COLOR] if( itemID >= 0x675 && itemID < 0x6F5 )
					{

Next around 1875 after adding the above code:
Code:
		public static bool IsFixture( int itemID )
		{
	
			itemID &= 0x3FFF;
[COLOR="Red"]// crystal and shadow
			if(itemID >= 0x367B && itemID < 0x369B)
				return true;
//
			else [/COLOR]if( itemID >= 0x675 && itemID < 0x6F5 )
				return true;

I hope this helps. And I hope I got all the ducks lined up.
 

Mo Khan

Wanderer
So far everything described above has worked fine for my 1.0 server (doors included) and I thank all of you for your efforts, regarding this topic. Only one issue I can see still: The Interior Shadow and Crystal stairs do not "place" into the house. They can be selected and moved around the screen but when clicked to placed them, it doesn't place them. Am I missing something?
 

Kenko

Page
I can place them, but they won't delete, it's kinda weird..
even when I delete them, after compiling the house they are still there somehow..

Also, the floor tiles don't show up in the gump.
 
Top