View Full Version: Histoire de potions

RunUO.FR Support > comment on fait ... > Histoire de potions


Title: Histoire de potions
Description: Potion qui s'amount


Steal - September 17, 2004 03:43 AM (GMT)
Bonjour, bonsoir euhh nan bonjour :lol: donc voila j'aimerais savoir pour les potions...

Je veux modifer la potion de couleur par une bottle empty pour quelle puisse s'amount

mais si je fais ca va falloir que je modifie plein de choses *vient seulement d'y penser :D *

bref.. voila le code d'origine

CODE
using System;
using Server;

namespace Server.Items
{
public class AgilityPotion : BaseAgilityPotion
{
 public override int DexOffset{ get{ return 10; } }
 public override TimeSpan Duration{ get{ return TimeSpan.FromMinutes( 2.0 ); } }

 [Constructable]
 public AgilityPotion() : base( PotionEffect.Agility )
 {
 }

 public AgilityPotion( 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();
 }
}
}


donc déjà je vais devoir rajouter ça :
CODE
Name = "Potion agilité";
Movable = true;
Hue = 150;

J'ai tord ? (surment, certainement meme ^^)

(par la meme occas j'ai un gros probleme la, parce que la console me dit une erreure que j'avais fait mais je peux pas l'agrandir donc je vois pas tout le message Oo y'a quelqu'un qui peut me dire si on peut ou pas ?)

Belladonne - September 17, 2004 05:36 AM (GMT)
en fouillant un peu j'ai lu un post sur le sujet , si ce n'est ici c'est sur runuo

Vortal - September 17, 2004 07:04 AM (GMT)
Tiens ça devrait régler ton problème :

http://www.runuo.com/forum/showthread.php?t=29781

Kaervek - September 17, 2004 04:17 PM (GMT)
En fait, si tu permets d'empiler les potions "de base intégrées ds le jeu", je te garantis un échec cuisant.
Il faut en effet que tu aies l'id de bouteilles vides pour tes potions. Car autrement, oui, elles s'empilent... Mais tu fais comment pour les séparer ensuite? Une commande? Fastidieux je trouve... Avec l'id des bouteilles vides utilisées sur tes potions, tu peux les séparer comme tu le ferais avec des reactifs, des potions vides, des tas d'or.

Voici un exemple pour t'appuyer:
CODE
using System;
using Server;
using Server.Mobiles;

namespace Server.Items
{
public class PotionSoinsDivins : BaseReagent, ICommodity
{
 string ICommodity.Description
 {
  get
  {
   return String.Format( "{0} Soins Divins", Amount );
  }
 }


 [Constructable]
 public PotionSoinsDivins() : this( 1 )
 {
 }
 [Constructable]
 public PotionSoinsDivins(int amount) : base( 3854, amount)
 {
 Name = "Potion de Soins Divins";
 Hue = 2118;
 Stackable = true;
 Weight = 0.5;
 Amount = amount;
 }
 
 public override void OnDoubleClick( Mobile from )
     {
  if ( from.InRange( this.GetWorldLocation(), 1 ) )
   {
   if (from.Hits < from.HitsMax)
 {
  from.Hits = from.HitsMax;
        from.AddToBackpack (new Bottle () );
  from.PlaySound( 0x2D6 );
  from.SendMessage( "Vous regagnez tous vos PV.");
        this.Consume(1);
 
    if ( from.Body.IsHuman /*&& !m.Mounted*/ )
   {
   from.Animate( 34, 5, 1, true, false, 0 );
   }
 }
 else
 {
 from.SendMessage(2118, "Vous êtes déjà plein de vie.");
 }
 }
     }      
 
 public PotionSoinsDivins( Serial serial ) : base( serial )
 {
 }
 
 public override Item Dupe( int amount )
 {
  return base.Dupe( new PotionSoinsDivins( amount ), amount );
 }
 
 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();
 }
}
}

Steal - September 23, 2004 08:58 AM (GMT)
ah merci... ca m'aide beaucoup =)




Hosted for free by InvisionFree