Kod:
using System;
using System.Collections;
using Server;
using Server.Network;
using Server.Multis;
namespace Server.Gumps
{
public class ReclaimVendorGump : Gump
{
private BaseHouse m_House;
private ArrayList m_Vendors;
public ReclaimVendorGump( BaseHouse house ) : base( 50, 50 )
{
m_House = house;
m_Vendors = new ArrayList( house.InternalizedVendors );
AddBackground( 0, 0, 170, 50 + m_Vendors.Count * 20, 0x13BE );
AddImageTiled( 10, 10, 150, 20, 0xA40 );
AddHtmlLocalized( 10, 10, 150, 20, 1061827, 0x7FFF, false, false ); // <CENTER>Reclaim Vendor</CENTER>
AddImageTiled( 10, 40, 150, m_Vendors.Count * 20, 0xA40 );
for ( int i = 0; i < m_Vendors.Count; i++ )
{
Mobile m = (Mobile) m_Vendors[i];
int y = 40 + i * 20;
AddButton( 10, y, 0xFA5, 0xFA7, i + 1, GumpButtonType.Reply, 0 );
AddLabel( 45, y, 0x481, m.Name );
}
}
public override void OnResponse( NetState sender, RelayInfo info )
{
Mobile from = sender.Mobile;
if ( info.ButtonID == 0 || !m_House.IsActive || !m_House.IsInside( from ) || !m_House.IsOwner( from ) || !from.CheckAlive() )
return;
int index = info.ButtonID - 1;
if ( index < 0 || index >= m_Vendors.Count )
return;
Mobile mob = (Mobile) m_Vendors[index];
if ( !m_House.InternalizedVendors.Contains( mob ) )
return;
if ( mob.Deleted )
{
m_House.InternalizedVendors.Remove( mob );
}
else
{
bool vendor, contract;
BaseHouse.IsThereVendor( from.Location, from.Map, out vendor, out contract );
if ( vendor )
{
from.SendLocalizedMessage( 1062677 ); // You cannot place a vendor or barkeep at this location.
}
else if ( contract )
{
from.SendLocalizedMessage( 1062678 ); // You cannot place a vendor or barkeep on top of a rental contract!
}
else
{
m_House.InternalizedVendors.Remove( mob );
mob.MoveToWorld( from.Location, from.Map );
}
}
}
}
}
using System.Collections;
using Server;
using Server.Network;
using Server.Multis;
namespace Server.Gumps
{
public class ReclaimVendorGump : Gump
{
private BaseHouse m_House;
private ArrayList m_Vendors;
public ReclaimVendorGump( BaseHouse house ) : base( 50, 50 )
{
m_House = house;
m_Vendors = new ArrayList( house.InternalizedVendors );
AddBackground( 0, 0, 170, 50 + m_Vendors.Count * 20, 0x13BE );
AddImageTiled( 10, 10, 150, 20, 0xA40 );
AddHtmlLocalized( 10, 10, 150, 20, 1061827, 0x7FFF, false, false ); // <CENTER>Reclaim Vendor</CENTER>
AddImageTiled( 10, 40, 150, m_Vendors.Count * 20, 0xA40 );
for ( int i = 0; i < m_Vendors.Count; i++ )
{
Mobile m = (Mobile) m_Vendors[i];
int y = 40 + i * 20;
AddButton( 10, y, 0xFA5, 0xFA7, i + 1, GumpButtonType.Reply, 0 );
AddLabel( 45, y, 0x481, m.Name );
}
}
public override void OnResponse( NetState sender, RelayInfo info )
{
Mobile from = sender.Mobile;
if ( info.ButtonID == 0 || !m_House.IsActive || !m_House.IsInside( from ) || !m_House.IsOwner( from ) || !from.CheckAlive() )
return;
int index = info.ButtonID - 1;
if ( index < 0 || index >= m_Vendors.Count )
return;
Mobile mob = (Mobile) m_Vendors[index];
if ( !m_House.InternalizedVendors.Contains( mob ) )
return;
if ( mob.Deleted )
{
m_House.InternalizedVendors.Remove( mob );
}
else
{
bool vendor, contract;
BaseHouse.IsThereVendor( from.Location, from.Map, out vendor, out contract );
if ( vendor )
{
from.SendLocalizedMessage( 1062677 ); // You cannot place a vendor or barkeep at this location.
}
else if ( contract )
{
from.SendLocalizedMessage( 1062678 ); // You cannot place a vendor or barkeep on top of a rental contract!
}
else
{
m_House.InternalizedVendors.Remove( mob );
mob.MoveToWorld( from.Location, from.Map );
}
}
}
}
}
Yorumlar
Henüz yorum yapılmamıştır.
|
OylamalarOylama :![]()
Üyelerin oylama ortalaması (10 dışında) : Henüz Oylanmamış
Oylar: 0 |
Benzer Sayfalar
| Sayfalar | Yorumlar | Gönderen | Tarih |
| Ev Vendor Sistemi | 0 | TheRaskol | 15-05-2010 |
| Gump Studio 1.8 | 0 | basic | 27-01-2010 |
| Gump tooltip art is wrong size | 0 | MagLor | 31-10-2009 |
| Who Gump | 0 | Rowall | 01-09-2009 |
| Warning Gump | 0 | Rowall | 01-09-2009 |







