| CODE |
| using System; using System.Collections; using Server.Targeting; using Server.Network; using Server.Mobiles; namespace Server.Items { public class StatueTimer : Item { [Constructable] public StatueTimer() : base(0x139D) { Weight = 10; // poid de l'item Name = "TimerTest"; // Nom de l'item Hue = 2; // couleur de l'item } public override void OnDoubleClick( Mobile from ) // lorsqu'on doubleclique dessus { MonTimer timer = new MonTimer(from); //Il cré un objet nommé timer timer.Start(); //Il lance le timer } public StatueTimer(Serial serial) : base(serial) { } public override void Serialize(GenericWriter writer) { base.Serialize(writer); writer.Write((int) 0); } public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); } } |
| CODE |
| public class MonTimer : Timer { private Mobile m; //On utilisera une variable m plus loin, on indique que ce sera un mobile public MonTimer(Mobile from ) : base ( TimeSpan.FromSeconds (20.0), TimeSpan.FromSeconds (20.0) ) // On indique le temps que durera le script aux deux endroits. Ici 20 secondes { m = from; // on précise que la varibale m sera finalewment le mobile from m.SendMessage("Début du timer"); // on précise a celui qui a activer le Timer que celui-ci démare } protected override void OnTick() //Ici c'est la fin du timer, autrement dit ici apres 20 secondes { m.SendMessage("Fin du timer"); //on précise a celui qui a activer le Timer que celui-ci se termine Stop(); // On précise que le timer ne recommance pas. Sans le stop, vous verrez "Fin du timer" a tous les 20 secondes. } } } |
| CODE |
| using System; using Server.Network; using Server.Items; using Server.Mobiles; using Server.Gumps; using Server.Misc; using Server.Targeting; namespace Server.Items { public class ArbreMana : Item { public int i_Pousse = 0; [CommandProperty( AccessLevel.GameMaster )] public int Pousse { get {return i_Pousse;} set {i_Pousse = value;} } [Constructable] public ArbreMana() : base( 3384 ) { Movable = false; Name = "Arbre Mana"; } public ArbreMana( Serial serial ) : base( serial ) { } public override void Serialize( GenericWriter writer ) { base.Serialize( writer ); writer.Write( (int) 0 ); // version writer.Write((int) i_Pousse); } public override void Deserialize( GenericReader reader ) { base.Deserialize( reader ); int version = reader.ReadInt(); i_Pousse = reader.ReadInt(); } public override void OnDoubleClick( Mobile from ) { from.Emote("*Secoue l'Arbre pour obtenir des Noix de Mana*"); from.AddToBackpack (new NoixMana (1 * Pousse) ); this.Pousse = 0; TimerArbreMana timer = new TimerArbreMana(from); timer.Start(); } public class TimerArbreMana : Timer { public TimerArbreMana(Mobile from) : base //( TimeSpan.FromMinutes (1.0), TimeSpan.FromMinutes (1.0) ) ( TimeSpan.FromSeconds (5.0), TimeSpan.FromSeconds (5.0) ) { } protected override void OnTick() { Pousse += 1; } } } } |
| CODE |
using System; using Server.Network; using Server.Items; using Server.Mobiles; using Server.Gumps; using Server.Misc; using Server.Targeting; namespace Server.Items { public class ArbreMana : Item { public int i_Pousse = 0; [CommandProperty( AccessLevel.GameMaster )] public int Pousse { get {return i_Pousse;} set {i_Pousse = value;} } [Constructable] public ArbreMana() : base( 3384 ) { Movable = false; Name = "Arbre Mana"; } public ArbreMana( Serial serial ) : base( serial ) { } public override void Serialize( GenericWriter writer ) { base.Serialize( writer ); writer.Write( (int) 0 ); // version writer.Write((int) i_Pousse); } public override void Deserialize( GenericReader reader ) { base.Deserialize( reader ); int version = reader.ReadInt(); i_Pousse = reader.ReadInt(); } public override void OnDoubleClick( Mobile from ) { from.Emote("*Secoue l'Arbre pour obtenir des Noix de Mana*"); from.AddToBackpack (new NoixMana (1 * Pousse) ); this.Pousse = 0; TimerArbreMana timer = new TimerArbreMana(from, this); timer.Start(); } public void OnTick() { Pousse++; } public class TimerArbreMana : Timer { private ArbreMana _arbre; public TimerArbreMana(Mobile from, ArbreMana arbre) : base //( TimeSpan.FromMinutes (1.0), TimeSpan.FromMinutes (1.0) ) ( TimeSpan.FromSeconds (5.0), TimeSpan.FromSeconds (5.0) ) { _arbre = arbre; } protected override void OnTick() { _arbre.OnTick(); } } } |