CODE |
using System; using Server; using Server.Mobiles; using Server.Items; using Server.Targeting; namespace Server.MyQuests { // ------------------------------------------------------------------------------------------------------------------------- public class FutbolTopu : Item { [Constructable] public FutbolTopu() : base( 0x2256 ) { Movable = false; Name = "Futbol Topu"; Weight = 5.0; } public override void OnDoubleClick( Mobile from ) { from.Target = new TopTarget( this ); } public FutbolTopu( Serial serial ) : base( serial ) { } public override void Serialize( GenericWriter writer ) { base.Serialize( writer ); writer.Write( (int) 0 ); // version } public override void Deserialize( GenericReader reader ) { base.Deserialize( reader ); int version = reader.ReadInt(); } public class TopTarget : Target { private static Item m_Item; public TopTarget( Item item ) : base( -1, true, TargetFlags.None ) { m_Item = item; } protected override void OnTarget( Mobile from, object o ) { IPoint3D merkez = o as IPoint3D; Point3D loc = new Point3D( merkez.X, merkez.Y, merkez.Z ); if ( !from.InRange( m_Item.GetWorldLocation(), 1 ) ) from.SendLocalizedMessage( 500446 ); // That is too far away. else m_Item.MoveToWorld( loc, from.Map); } } } |
CODE |
public override void OnDoubleClick( Mobile from ) { if( !from.InRange( this, 1 ) ) { from.SendMessage( "You are too far away to use that" ); return; } from.Target = new TopTarget( this ); } |
CODE |
using System; using Server; using Server.Mobiles; using Server.Items; using Server.Targeting; namespace Server.MyQuests { public class FutbolTopu : Item { [Constructable] public FutbolTopu() : base( 0x2256 ) { Movable = false; Name = "Futbol Topu"; Weight = 5.0; } public override void OnDoubleClick( Mobile from ) { if( !from.InRange( this, 1 ) ) { from.SendMessage( "You are too far away to use that" ); return; } else from.Target = new TopTarget( this, from, this.Location ); } public FutbolTopu( Serial serial ) : base( serial ) { } public override void Serialize( GenericWriter writer ) { base.Serialize( writer ); writer.Write( (int) 0 ); // version } public override void Deserialize( GenericReader reader ) { base.Deserialize( reader ); int version = reader.ReadInt(); } } public class TopTarget : Target { private Item m_Item; private Point3D m_TopuLoc; private Mobile m_From; public TopTarget( Item item, Mobile from, Point3D topuLoc ) : base( -1, true, TargetFlags.None ) { m_Item = item; m_TopuLoc = topuLoc; m_From = from; } protected override void OnTarget( Mobile from, object o ) { IPoint3D merkez = o as IPoint3D; Point3D loc = new Point3D( merkez.X, merkez.Y, merkez.Z ); if ( merkez.X > m_TopuLoc.X + 5 || merkez.X < m_TopuLoc.X -5 || merkez.Y > m_TopuLoc.Y + 5 || merkez.Y < m_TopuLoc.Y - 5 ) from.SendLocalizedMessage( 500446 ); // That is too far away. else m_Item.MoveToWorld( loc, from.Map); } } } |