View Full Version: Du bois qui peux s'empiler

RunUO.FR Support > Probleme de script > Du bois qui peux s'empiler


Title: Du bois qui peux s'empiler


Belladonne - September 5, 2004 10:37 AM (GMT)
Un fois de plus j'ai besoin d'un coup de pouce pour mes nouveaux bois.

Je les ai ajouter a l'aide du script donné dans le fofo system.

Je viens de m'apercevoir en fait que quand on buche il n'y a jamais qu'une seule buche de l'essence de bois qui reste dans le sac. Elle apparait si il n'y en as pas mais sinon l'amount reste a un. (alors que normalement chaque coup de hache en rapporte plusieurs vu que mon consumeperharvest est a plus que 1)

Si j'ai une deuxieme buche et que j'essayes de la poser avec l'autre elles ne s'empile pas pourtant mon item basebuche est défini comme stakable.

Je pense que ca viens de la definition de l'item, je l'ai comparer au base ore je vois toujours pas.
Quelqu'un aurait il ne serait ce qu'une piste ?

Voici ce que j'ai:
CODE

using System;
using Server.Items;
using Server.Network;
using Server.Targeting;
using Server.Engines.Craft;

namespace Server.Items
{
public abstract class BaseBuche : Item, ICommodity
 {
 private CraftResource m_Resource;

 [CommandProperty( AccessLevel.GameMaster )]
 public CraftResource Resource
  {
   get{ return m_Resource; }
   set{ m_Resource = value; InvalidateProperties(); }
  }

 string ICommodity.Description
  {
   get
     { return String.Format( "{0} Rondins de {1}", Amount,
     CraftResources.GetName( m_Resource ).ToLower() );
      }
   }

 public override void Serialize( GenericWriter writer )
   {
    base.Serialize( writer );
    writer.Write( (int) 1 ); // version
    writer.Write( (int) m_Resource );
   }

 public override void Deserialize( GenericReader reader )
   {
    base.Deserialize( reader );
    int version = reader.ReadInt();
    switch ( version )
      {
      case 1:
        {
        m_Resource = (CraftResource)reader.ReadInt();
        break;
        }
      case 0:
        {
        OreInfo info = new OreInfo( reader.ReadInt(), reader.ReadInt(),  
        reader.ReadString() );
        m_Resource = CraftResources.GetFromOreInfo( info );
        break;
        }
      }

    }

 public BaseBuche( CraftResource resource ) : this( resource, 1 )
  {
  }

 public BaseBuche( CraftResource resource, int amount ) : base( 0x1bdd )
   {
   Stackable = true;
   Weight = 2.0;
   Amount = amount;
   Hue = CraftResources.GetHue( resource );
   m_Resource = resource;
   }

 public BaseBuche( Serial serial ) : base( serial )
   {
   }

 public override void AddNameProperty( ObjectPropertyList list )
   {
   if ( Amount > 1 )
   list.Add( 1021217, "{0}\t#{1}", Amount, 1021217 );
   else
   list.Add( 1021217 ); // rondins de bois;
   }

 public override void GetProperties( ObjectPropertyList list )
   {
   base.GetProperties( list );
   if ( !CraftResources.IsStandard( m_Resource ) )
     {
     int num = CraftResources.GetLocalizationNumber( m_Resource );

     if ( num > 0 ) list.Add( num );
     else list.Add( CraftResources.GetName( m_Resource ) );
     }
   }

 public override int LabelNumber
   {
   get
     {
     return 1021217; // rondins de bois;
      }
   }

}

[FlipableAttribute( 0x1bdd, 0x1be0 )]
public class Log : BaseBuche
  {
  [Constructable]
  public Log() : this( 1 )
     {
     }

   [Constructable]
   public Log( int amount ) : base( CraftResource.Log, amount )
   {
   }

   public Log( 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 override Item Dupe( int amount )
     {return base.Dupe( new Log( amount ), amount );}
}

Belladonne - September 7, 2004 08:14 AM (GMT)
precision sur mon bug:
-des buches invoquées sont empilables
-des buches invoquées sont utilisables pour crafter

-des buches buchées ne sont pas empilable ni entre elles ni avec des invocables
-des buches buchées ne sont pas utilisables pour crafter

en fait quand on buche il est ajouter une buche dans le sac mais le amount est a 0.

Solution trouvée:

une erreur dans le lumberjacking.... j'avais pas definie le consumedperharvest felucca et je buchais sur felucca :)




Hosted for free by InvisionFree