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!

[2.0 RC1, 1.0 Final] Knives' TownHouses 2.0

kmwill23

Sorceror
[2.0 RC1, 1.0 Final] Knives' TownHouses 2.0

Summary:

Version 2.01
Supports RunUO 2.0 RC1, RunUO 1.0 Final

*** This version may work with the current RunUO 2.0 SVN, and this may change as the SVN changes. Please report this to me, as I can add patches to allow functionality.

Version 2.01 News

Only about 15 days late, here is my latest TownHouses release! Since it is a build on top of the current 2.0 system, I just adjusted a little itty bitty .01! There have been many recent feature requests, and this only touches a few. One of them, however, is quite important, that being a major RAM usage overhaul. For most of you this will be transparent but the large shards will see an improvement.

Here’s the list of changes!

- RAM reduction on home purchase
- A new setup options: You can prevent banning in homes and force a home to be public or private.
- The [TownHouses menu now has a tab for showing all houses.

That’s it! Next time I update, I am planning to enhance the rental features. I can’t predict when that update will come however =) Until then, I will continue support as always!

For this package to work under RunUO 1.0 Final, follow the directions below after the Installation directions.

This package doesn't require any existing script modifications. (The patches are optional!)

I am soliciting any and all feedback: suggestions, coding style suggestions, bugs, and anything else! Don't be shy; I can take well formed criticism.​

Commands

TownHouses: View a list of all TownHouses and access their menus here. You can also create new TownHouses from this menu.

TownHouseErrors, the: View or report errors in the TownHouse system. Very similar to previous Error systems in Chat and TownHouses.

"Create rental contract": If allowed, players can use this spoken command in their home to begin the setup for renting portions of their home.

"Check house rent": Players can check to see how long before their rental cycle expires by speaking these words while in their home. At the end of the cycle, if the rent is reoccurring, the bank will attempt to take gold automatically. If not reoccurring, the bank will pack up the player's belongings and put the home back up for rent.

"Check storage": While usable by all home owners, this command is especially useful for renters. It will detail how many lockdowns and secures are used by their rental property, and include those figures in how much storage they have available.

Details

With this system you can not only sell static buildings to players, you can sell or rent any portion of land in any shape and size! Nothing like owning Blackthorn's Castle, or the center of the Hedge Maze! Good way to give many of the never-used areas of the game some life.

These houses come with all the housing features we've come to love: lock downs, secures, private, public, vendors. In fact, it's derived from RunUO's own housing system! Setup is fairly simple, with a step-by-step menu to guide you through the process.

Players can also rent out their property, as long as they own it! By speaking the "Create rental contract" command in their home, players can rent out unused rooms and make a little bit of cash on the side. This also works with classic and custom houses! You can also require players to have a renter's license to rent property, which you will have to add for sale. You can find that option in Misc/General.cs right near the top.

To begin as a staff member, use the command [TownHouses. Here you can create a new TownHouse through the setup menu. This menu takes you step-by-step through the many different features you can apply to the home, with detailed explanations at every level.

In brief, here's all the neat things you can customize with the home: lockdowns, secures, the area and floors, the sign location, ban location, whether or not to include items in the area with the purchase, restrictions on who can purchase the home, how much to charge, whether it is a purchase or rent, automated price suggestion.

While the home is owned, you can change its price, lockdowns, secures, its area, and ownership requirements through the now invisible TownHouseSign. Just in case you need to adjust the home!

Installing

- Remove any older versions of TownHouses.
- Remove any older version of Utilities (Now obsolete)
- Place the TownHouses into a custom folder!​

Enabling RunUO 1.0 Final

- In the main TownHouses directory, open up RUOVersion.cs
- Follow the directions at the top of this file.​

Contact Info: Send me an email day or night (Though I will likely be sleeping at night)! [email protected]
 

Attachments

  • Town Houses v2.01.zip
    50.4 KB · Views: 3,698
  • Patch1 Round3.zip
    7.4 KB · Views: 2,157

kmwill23

Sorceror
Just found out they got rid of the neat Custom Script posting information! I liked that =(

*** Note that with this release I won't be patching previous versions anymore. Update =)
 

Pyro-Tech

Knight
yay for that one...that was going to be my question :D

kudos to you...like how it doesn't need the townhousesign anymore...will try this out asap!
 

kmwill23

Sorceror
The TownHouseSign still holds all the save info though, so you do kinda need it =) You no longer have to move it around etc though!
 

qwerty84

Sorceror
Problem me these scales are created

 

qwerty84

Sorceror
kmwill23;632449 said:
This is actually impossible with the 2.0 version.

I using relese 2,0 RunUO and the last one client, I have even mistaken I to make the patch on the base houses, if apple you can indicate better

Excused my English share.
 

kmwill23

Sorceror
qwerty84;632510 said:
I using relese 2,0 RunUO and the last one client, I have even mistaken I to make the patch on the base houses, if apple you can indicate better

Excused my English share.

When you use the command [TownHouses what happens?
 

qwerty84

Sorceror
is this modify right in basehouses.cs? the line is 987

Code:
        public virtual bool IsInside(Point3D p, int height)
        {
            Sector sector = Map.GetSector(p);

            foreach (BaseMulti m in sector.Multis)
            {
                if (m != this
                && m is Knives.TownHouses.TownHouse
                && ((Knives.TownHouses.TownHouse)m).ForSaleSign is Knives.TownHouses.RentalContract
                && ((Knives.TownHouses.TownHouse)m).IsInside(p, height))
                    return false;
            }

            return Region.Contains(p);
        }
		/*public virtual bool IsInside( Point3D p, int height )
		{
			if ( Deleted )
				return false;

			MultiComponentList mcl = Components;

			int x = p.X - (X + mcl.Min.X);
			int y = p.Y - (Y + mcl.Min.Y);

			if ( x < 0 || x >= mcl.Width || y < 0 || y >= mcl.Height )
				return false;

			if ( this is HouseFoundation && y < (mcl.Height-1) && p.Z >= this.Z )
				return true;

			Tile[] tiles = mcl.Tiles[x][y];

			for ( int j = 0; j < tiles.Length; ++j )
			{
				Tile tile = tiles[j];
				int id = tile.ID & 0x3FFF;
				ItemData data = TileData.ItemTable[id];

				// Slanted roofs do not count; they overhang blocking south and east sides of the multi
				if ( (data.Flags & TileFlag.Roof) != 0 )
					continue;

				// Signs and signposts are not considered part of the multi
				if ( (id >= 0xB95 && id <= 0xC0E) || (id >= 0xC43 && id <= 0xC44) )
					continue;

				int tileZ = tile.Z + this.Z;

				if ( p.Z == tileZ || (p.Z + height) > tileZ )
					return true;
			}

			return false;
		}*/
 
Top