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;
// # of Houses per Account 0=1, 1=2, 2=3 per account etc etc
for ( int i = 2; i < list.Count; ++i )
{
BaseHouse h = list[i];
if ( !h.Deleted )
return true;
}
return false;
}
http://lmgtfy.com/?q=site:runuo.com house limitDoes anyone know which .cs files i need to modify to change the number of accounts per ip and number of houses allowed per account ? Simple lol question but has yet to be captured by my never ending search . Thanks as always for everyone's input.
I've always done it in the HasAccountHouse method.
public override void OnResponse(Server.Network.NetState sender, RelayInfo info)
{
if (!this.m_From.CheckAlive() || this.m_From.Backpack == null || this.m_From.Backpack.FindItemByType(typeof(HousePlacementTool)) == null)
return;
int index = info.ButtonID - 1;
if (index >= 0 && index < this.m_Entries.Length)
{
if (this.m_From.AccessLevel < AccessLevel.GameMaster && BaseHouse.HasAccountHouse(this.m_From))
this.m_From.SendLocalizedMessage(501271); // You already own a house, you may not place another!
else
this.m_From.Target = new NewHousePlacementTarget(this.m_Entries, this.m_Entries[index]);
}
else
{
this.m_From.SendGump(new HousePlacementCategoryGump(this.m_From));
}
}
public override void OnResponse(Server.Network.NetState sender, RelayInfo info)
{
if (!this.m_From.CheckAlive() || this.m_From.Backpack == null || this.m_From.Backpack.FindItemByType(typeof(HousePlacementTool)) == null)
return;
int index = info.ButtonID - 1;
if (index >= 0 && index < this.m_Entries.Length)
{
this.m_From.Target = new NewHousePlacementTarget(this.m_Entries, this.m_Entries[index]);
}
else
{
this.m_From.SendGump(new HousePlacementCategoryGump(this.m_From));
}
}
if (from.AccessLevel > AccessLevel.GameMaster && BaseHouse.HasAccountHouse(from))
{
from.SendLocalizedMessage(501271); // You already own a house, you may not place another!
}
if (from.AccessLevel < AccessLevel.GameMaster && BaseHouse.HasAccountHouse(from))
{
//from.SendLocalizedMessage(501271); // You already own a house, you may not place another!
BaseHouse house = this.ConstructHouse(from);
}
if i am not mistaken the int count = 0; should be changed to one?
BaseHouse.cs CHANGES
// turn on decay for ALL
Change
if (!Core.AOS)
return DecayType.ManualRefresh;
to
if (Core.AOS)
return DecayType.ManualRefresh;
// unlimited houses
public static bool HasAccountHouse(Mobile m)
{
Account a = m.Account as Account;
if (a == null)
return false;
if(HasHouse(m))
{
return false; // changed from true to false
}
int count = 0;
for (int i = 0; i < a.Length; ++i)
{
if (a[i] != null && HasHouse(a[i]))
{
++count;
}
}
return count >= m_AccountHouseLimit;
}
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;
// # of Houses per Account 0=1, 1=2, 2=3 per account etc etc
for ( int i = 5; i < list.Count; ++i )
{
BaseHouse h = list[i];
if (!h.Deleted)
return true;
}
return false;
}
public static bool HasAccountHouse(Mobile m)
{
// unlimited housing for the specified staff level and above
if(m.AccessLevel >= AccessLevel.GameMaster) return false;
Account a = m.Account as Account;
if (a == null)
return false;
// allow for a limited number of houses for the rest
int nHouses = 5;
for ( int i = 5; i < a.Length; ++i )
{
Mobile mob = a[i];
if ( mob != null )
nHouses += GetHouses( mob ).Count;
}
// 6 houses per account limit
if(nHouses >= 6) return true;
return false;
}
For basehouse.cs ,yesDid you change the Config file for Housing?
We use essential cookies to make this site work, and optional cookies to enhance your experience.