View Single Post
Old 03-18-2006, 06:51 AM   #8 (permalink)
Sunshine
Forum Expert
 
Sunshine's Avatar
 
Join Date: Mar 2005
Location: Hopefully not near you
Posts: 2,233
Default

hmm not sure as I have more than 2 things ..

I was thinking the

switch ( Utility.Random( 29 ))
{
case 0: PackItem( new item() ); break;
case 1: PackItem( new item() ); break;
case 2: PackItem( new item() ); break;

}


But I am not figuring it out correctly..here is what I have so far

I just want the deed to allow them to double click it and randomly get 1 of 3 things

Code:
using System;
using Server.Network;
using Server.Prompts;
using Server.Items;
using Server.Targeting;
using Server.Gumps;
namespace Server.Items
{
 public class PinataTicket : Item
 {
  private Mobile m_Owner;
  [CommandProperty( AccessLevel.GameMaster )]
  public Mobile Owner
  {
   get{ return m_Owner; }
   set{ m_Owner = value; }
  }
  [Constructable]
  public PinataTicket() : base( 0x14EF )
  {
   Weight = 1.0;
   LootType = LootType.Blessed;
  }
 
  public override bool DisplayLootType{ get{ return false; } }
  public PinataTicket( Serial serial ) : base( serial )
  {
  }
  public override void Serialize( GenericWriter writer )
  {
   base.Serialize( writer );
   writer.Write( (int) 0 ); // version
   writer.Write( (Mobile) m_Owner );
  }
  public override void Deserialize( GenericReader reader )
  {
   base.Deserialize( reader );
   int version = reader.ReadInt();
   switch ( version )
   {
    case 0:
    {
     m_Owner = reader.ReadMobile();
     break;
    }
   }
   if ( Name == "Pinata Ticket" )
    Name = null;
  }
  public override void OnDoubleClick( Mobile from )
  {
 
    if ( !IsChildOf( from.Backpack ) )
   {
    from.SendLocalizedMessage( 1042001 ); // That must be in your pack for you to use it.
   }
 
  private class InternalTarget : Target
  {
   private PinataTicket m_Ticket;
   public InternalTarget( PinataTicket ) : base( 2, false, TargetFlags.None )
   {
    m_Ticket = ticket;
   }
   protected override void OnTarget( Mobile from, object targeted )
   {
    if ( targeted == m_Ticket )
 
 
 
    if ( m_Ticket.Deleted )
     return;
    int number = 0;
    Item item = null;
    Item item2 = null;
    switch ( info.ButtonID )
 
    if ( item != null )
    {
     m_Ticket.Delete();
     m_From.SendLocalizedMessage( number );
     m_From.AddToBackpack( item );
     if ( item2 != null )
      m_From.AddToBackpack( item2 );
    }
   }
  }
 }
}
Not that it is not painful obvious but I am trying to learn and soo new at this I am still green.
I am modifying or trying to mod the new player ticket...it is the only base I could find that came close
__________________
All people have the right to be stupid but some abuse the privilege.
Sunshine is offline   Reply With Quote