Dan(Tasanar)

Moderator
So I have house decay on for all houses. I run on a 90 day decay cycle and thus allow players to place as many as they wish. They can be real estate brokers and all that jazz.

I have read all the tutorials and have done it many times in the best. I was just wondering what is the BEST way to do it. Just remove the check on placement?
 
I would assume you just remove the check on placement, for then it won't check if they already own a house and allow them to place it.
 
Nevermind solved

Code:
public static bool HasHouse(Mobile m)
        {
            if (m == null)
                return false;

            List<BaseHouse> list = null;
            m_Table.TryGetValue(m, out list);

            if (list == null)
                return false; // just changed this to false in Basehouse.cs super easy

            for (int i = 0; i < list.Count; ++i)
            {
                BaseHouse h = list[i];

                if (!h.Deleted)
                    return true;
            }

            return false;
        }
 
You probably don't want to hear this, or probably already know, but if you do allow unlimited houses you will end up with large areas of land taken up by 1,000,000 7x7 plots that will likely never be developed. I guess you know and don't mind since they can be real-estate brokers. But what if that player only ever logs in to refresh their houses and doesn't sell?

Anyway, I found the best way to do it is to convert the system to limit by total houses.
You can have that limit represent no houses and unlimited houses with values of -1 and 0 respectively.
All of the messages regarding placement will need to be changed too, since most of them refer to having a single house.
 
so do you think a decay timer of 120 days is too long?

Do you really think in this day that someone will simply log in just to refresh their house on a shard they do not even play? I did have limits in the past. Maybe I will take that route.
 
90 days is good, I have just increased mine to 45 days and addeda feature to allow players to insure their home against IDOC (when the decay prevention money runs out, the house collapses).

On my shard, you don't have to visit a house to refresh it, all houses get refreshed automatically when you log-in, so it might be much less likely to happen on your shard.

It's just that people hoard stuff, they'll have a castle somewhere that's their main house and they'll keep it kitted out.
They will place plots in places with the intention of building something bigger, but they might never get around to it.

Players just love to have things, even if they are unnecessary lol, they will be compelled to refresh all of those plots with the hopes they'll be valuable or something. :D

Anyway, I'm rambling, it happened to my shard and a friend's shard, but doesn't mean it will definitely happen to yours.
 
no no I appreciate all the suggestions. I may lower the decay timer in time. I used to also use the [myhouses command to players could refresh them that way but this time around I will not be doing that either. They will have to visit each one. Making multiple houses quite the chore!!
 
There is many shards out there that you just see empty plots. So yes people will just hoard them for sure. It would be kinda cool if you were able to figure out a script that is like a housing market so lets say you allow the player to have 2 houses of their own and then the house they place after that are thrown into a market system where they set the price of the house when it is placed and then there is through the real estate broker or a custom real estate stone people can browse the houses and buy them from the stone or the npc in which the gold goes to the house owners bank.
 
Back