| CODE |
| ////////////////////////////////////////// //////// Télépathie ////////////////////////////////////////// private bool m_Telepathie; [CommandProperty( AccessLevel.GameMaster )] //accessible en jeu par .props public bool Telepathie { get{ return m_Telepathie;} set{ m_Telepathie = value;} } private Mobile m_Tele1; [CommandProperty( AccessLevel.GameMaster )] //accessible en jeu par .props public Mobile Tele1 { get{ return m_Tele1;} set{ m_Tele1 = value;} } private Mobile m_Tele2; [CommandProperty( AccessLevel.GameMaster )] //accessible en jeu par .props public Mobile Tele2 { get{ return m_Tele2;} set{ m_Tele2 = value;} } private Mobile m_Tele3; [CommandProperty( AccessLevel.GameMaster )] //accessible en jeu par .props public Mobile Tele3 { get{ return m_Tele3;} set{ m_Tele3 = value;} } private Mobile m_Tele4; [CommandProperty( AccessLevel.GameMaster )] //accessible en jeu par .props public Mobile Tele4 { get{ return m_Tele4;} set{ m_Tele4 = value;} } private Mobile m_Tele5; [CommandProperty( AccessLevel.GameMaster )] //accessible en jeu par .props public Mobile Tele5 { get{ return m_Tele5;} set{ m_Tele5 = value;} } ////////////////////////////////////////// //////// ////////////////////////////////////////// |
| CODE |
| // // writer.Write( (bool) m_Telepathie); // // |
| CODE |
| // // m_Telepathie = reader.ReadBool(); // // |
| CODE |
| ///////////////////////////////// // using Didi.Brain; // < ericmas@ouellet.com > // >> 14 novembre 2003 << ///////////////////////////////// using System; using Server; using Server.Gumps; using Server.Targeting; using Server.Mobiles; using Server.Network; using Server.Scripts.Commands; namespace Server.Gumps { public class TelepathGump : Gump { public static void Initialize() { Server.Commands.Register( "tel", AccessLevel.Player, new CommandEventHandler( Tel_OnCommand ) ); Server.Commands.Register( "telepath", AccessLevel.Player, new CommandEventHandler( telepath_OnCommand ) ); } [Usage( "Tel <text>" )] [Description( "Tell something to the TeleGroup" )] private static void Tel_OnCommand( CommandEventArgs e ) { PlayerMobile from = ((PlayerMobile) e.Mobile); if (from.Telepathie) { if (from.Tele1 != null) { PlayerMobile p1 = ((PlayerMobile) from.Tele1); p1.SendMessage(97, "Vous entendez une voie dans votre tête:"); p1.SendMessage(97, e.ArgString ); } if (from.Tele2 != null) { PlayerMobile p2 = ((PlayerMobile) from.Tele2); p2.SendMessage(97, "Vous entendez une voie dans votre tête:"); p2.SendMessage(97, e.ArgString ); } if (from.Tele3 != null) { PlayerMobile p3 = ((PlayerMobile) from.Tele3); p3.SendMessage(97, "Vous entendez une voie dans votre tête:"); p3.SendMessage(97, e.ArgString ); } if (from.Tele4 != null) { PlayerMobile p4 = ((PlayerMobile) from.Tele4); p4.SendMessage(97, "Vous entendez une voie dans votre tête:"); p4.SendMessage(97, e.ArgString ); } if (from.Tele5 != null) { PlayerMobile p5 = ((PlayerMobile) from.Tele5); p5.SendMessage(97, "Vous entendez une voie dans votre tête:"); p5.SendMessage(97, e.ArgString ); } from.SendMessage(97, "Vous dites:"); from.SendMessage(97, e.ArgString ); } else from.SendMessage( "Vos compétences en télépathie ne vous le permettent pas" ); } [Usage( "telepath" )] [Description( "Add a targeted mobile to the group." )] private static void telepath_OnCommand( CommandEventArgs e ) { PlayerMobile from = ((PlayerMobile) e.Mobile ); if (from.Telepathie) e.Mobile.SendGump( new TelepathGump( e.Mobile ) ); else from.SendMessage( "Vos compétences en télépathie ne vous le permettent pas" ); } public void AddBlueBack( int width, int height ) { AddBackground ( 55, 60, width-00, height-00, 0xE10 ); AddBackground ( 63, 65, width-16, height-11, 0x053 ); AddImageTiled ( 70, 74, width-29, height-29, 0xE14 ); AddAlphaRegion( 70, 74, width-29, height-29 ); } public void AddButtonLabeled( int x, int y, int buttonID, string text ) { AddButton( x, y - 1, 4005, 4007, buttonID, GumpButtonType.Reply, 0x174 ); AddLabel( x+35, y, 0x174, ""+text+"" ); } public void AddButtonLabeledDel( int x, int y, int buttonID, string text ) { AddButton( x, y - 1, 4017, 4019, buttonID, GumpButtonType.Reply, 0 ); AddLabel( x+35, y, 0x174, ""+text+"" ); } public TelepathGump(Mobile m) : base ( 150, 120) { PlayerMobile from = ((PlayerMobile) m); // Fond AddBlueBack( 280, 265 ); //Titre AddLabel( 150, 75, 0x26, "Télépathie" ); // emplacement 1 AddImageTiled( 80, 100, 182, 23, 0x52 ); AddImageTiled( 81, 101, 180, 21, 0xBBC ); if(from.Tele1 != null) { PlayerMobile p1 = ((PlayerMobile) from.Tele1); AddLabelCropped( 91, 101, 180, 21, 0, p1.Name); AddButtonLabeledDel(270,100,1,""); } // emplacement 2 AddImageTiled( 80, 120, 182, 23, 0x52 ); AddImageTiled( 81, 121, 180, 21, 0xBBC ); if(from.Tele2 != null) { PlayerMobile p2 = ((PlayerMobile) from.Tele2); AddLabelCropped( 91, 121, 180, 21, 0, p2.Name); AddButtonLabeledDel(270,120,2,""); } // emplacement 3 AddImageTiled( 80, 140, 182, 23, 0x52 ); AddImageTiled( 81, 141, 180, 21, 0xBBC ); if(from.Tele3 != null) { PlayerMobile p3 = ((PlayerMobile) from.Tele3); AddLabelCropped( 91, 141, 180, 21, 0, p3.Name); AddButtonLabeledDel(270,140,3,""); } // emplacement 4 AddImageTiled( 80, 160, 182, 23, 0x52 ); AddImageTiled( 81, 161, 180, 21, 0xBBC ); if(from.Tele4 != null) { PlayerMobile p4 = ((PlayerMobile) from.Tele4); AddLabelCropped( 91, 161, 180, 21, 0, p4.Name); AddButtonLabeledDel(270,160,4,""); } // emplacement 5 AddImageTiled( 80, 180, 182, 23, 0x52 ); AddImageTiled( 81, 181, 180, 21, 0xBBC ); if(from.Tele5 != null) { PlayerMobile p5 = ((PlayerMobile) from.Tele5); AddLabelCropped( 91, 181, 180, 21, 0, p5.Name); AddButtonLabeledDel(270,180,5,""); } // Bas AddButtonLabeled(100,230,6,"Prendre contact"); if(from.Tele1 != null || from.Tele2 != null || from.Tele3 != null || from.Tele4 != null || from.Tele5 != null) AddButtonLabeledDel(100,260,7,"Couper tous contacts"); AddLabel( 240, 286, 1, "Made by Didi" ); } public override void OnResponse(NetState sender, RelayInfo info) { PlayerMobile from = ((PlayerMobile) sender.Mobile); int val = info.ButtonID; switch(val) { case 0: break; case 1: { PlayerMobile p1 = ((PlayerMobile) from.Tele1); from.SendMessage( "Vous perdez contact avec " + p1.Name); p1.SendMessage( "Quelqu'un perd contact avec vous" ); from.Tele1 = null; from.SendGump( new TelepathGump( from ) ); break; } case 2: { PlayerMobile p2 = ((PlayerMobile) from.Tele2); from.SendMessage( "Vous perdez contact avec " + p2.Name); p2.SendMessage( "Quelqu'un perd contact avec vous" ); from.Tele2 = null; from.SendGump( new TelepathGump( from ) ); break; } case 3: { PlayerMobile p3 = ((PlayerMobile) from.Tele3); from.SendMessage( "Vous perdez contact avec " + p3.Name); p3.SendMessage( "Quelqu'un perd contact avec vous" ); from.Tele3 = null; from.SendGump( new TelepathGump( from ) ); break; } case 4: { PlayerMobile p4 = ((PlayerMobile) from.Tele4); from.SendMessage( "Vous perdez contact avec " + p4.Name); p4.SendMessage( "Quelqu'un perd contact avec vous" ); from.Tele4 = null; from.SendGump( new TelepathGump( from ) ); break; } case 5: { PlayerMobile p5 = ((PlayerMobile) from.Tele5); from.SendMessage( "Vous perdez contact avec " + p5.Name); p5.SendMessage( "Quelqu'un perd contact avec vous" ); from.Tele5 = null; from.SendGump( new TelepathGump( from ) ); break; } case 6: { if (from.Tele1 == null || from.Tele2 == null || from.Tele3 == null || from.Tele4 == null || from.Tele5 == null) { from.Target = new AddTarget(); from.SendMessage("Avec qui désirez vous prendre contact ?"); } else from.SendMessage("Vos dons de télépathie ont aussi des limites !"); break; } case 7: { if (from.Tele1 != null) { PlayerMobile p1 = ((PlayerMobile) from.Tele1); p1.SendMessage("Quelqu'un perd contact avec vous"); from.SendMessage( "Vous perdez contact avec " + p1.Name); from.Tele1 = null; } if (from.Tele2 != null) { PlayerMobile p2 = ((PlayerMobile) from.Tele2); p2.SendMessage("Quelqu'un perd contact avec vous"); from.SendMessage( "Vous perdez contact avec " + p2.Name); from.Tele2 = null; } if (from.Tele3 != null) { PlayerMobile p3 = ((PlayerMobile) from.Tele3); p3.SendMessage("Quelqu'un perd contact avec vous"); from.SendMessage( "Vous perdez contact avec " + p3.Name); from.Tele3 = null; } if (from.Tele4 != null) { PlayerMobile p4 = ((PlayerMobile) from.Tele4); p4.SendMessage("Quelqu'un perd contact avec vous"); from.SendMessage( "Vous perdez contact avec " + p4.Name); from.Tele4 = null; } if (from.Tele5 != null) { PlayerMobile p5 = ((PlayerMobile) from.Tele5); p5.SendMessage("Quelqu'un perd contact avec vous"); from.SendMessage( "Vous perdez contact avec " + p5.Name); from.Tele5 = null; } from.SendGump( new TelepathGump( from ) ); break; } } } } public class AddTarget : Target { public AddTarget() : base(5,true,TargetFlags.None) { } protected override void OnTarget(Mobile m, object targ) { PlayerMobile from = ((PlayerMobile) m); if(targ is PlayerMobile) { PlayerMobile target = ((PlayerMobile) targ); if (from.Tele1 == target || from.Tele2 == target || from.Tele3 == target || from.Tele4 == target || from.Tele5 == target) from.SendMessage( "Vous êtes deja en contact avec " + target.Name); else if (from == target) from.SendMessage( "Vous ne pouvez pas prendre contact avec vous meme"); else { if (from.Tele1 == null) { PlayerMobile p = ((PlayerMobile) targ); from.Tele1 = p; p.SendMessage("Quelqu'un prend contact avec vous"); from.SendMessage( "Vous prenez contact avec " + p.Name); } else if (from.Tele2 == null) { PlayerMobile p = ((PlayerMobile) targ); from.Tele2 = p; p.SendMessage("Quelqu'un prend contact avec vous"); from.SendMessage( "Vous prenez contact avec " + p.Name); } else if (from.Tele3 == null) { PlayerMobile p = ((PlayerMobile) targ); from.Tele3 = p; p.SendMessage("Quelqu'un prend contact avec vous"); from.SendMessage( "Vous prenez contact avec " + p.Name); } else if (from.Tele4 == null) { PlayerMobile p = ((PlayerMobile) targ); from.Tele4 = p; p.SendMessage("Quelqu'un prend contact avec vous"); from.SendMessage( "Vous prenez contact avec " + p.Name); } else if (from.Tele5 == null) { PlayerMobile p = ((PlayerMobile) targ); from.Tele5 = p; p.SendMessage("Quelqu'un prend contact avec vous"); from.SendMessage( "Vous prenez contact avec " + p.Name); } } from.SendGump( new TelepathGump( from ) ); } } } |
| CODE |
| using System.Collections; |
| CODE |
| private bool m_Telepathie; [CommandProperty( AccessLevel.GameMaster )] //accessible en jeu par .props public bool Telepathie { get{ return m_Telepathie;} set{ m_Telepathie = value;} } public ArrayList TelepathieVictim = new ArrayList(); |
| CODE |
| writer.Write( (bool) m_Telepathie); |
| CODE |
| m_Telepathie = reader.ReadBool(); TelepathieVictim = new ArrayList(); |
| CODE |
| ///////////////////////////////// // Telepatie 2.0 // Réalisé par Didi // >> 24 juillet 2003 << ///////////////////////////////// using System; using System.Collections; using Server; using Server.Gumps; using Server.Targeting; using Server.Mobiles; using Server.Network; using Server.Scripts.Commands; namespace Server.Gumps { public class TelepathGump : Gump { ////// Variables pour le systeme ////// // Requiert la compétence télépathie d'acitvé (bool sur playermobile) ?? True / False public static bool ComptRequise = true; // Nombre de personnes avec qui l'on peut avoir accès telepathiquement en même temps. (0 pour aucune limite) public static int Maxfriends = 5; /////////////////////////////////////// public static void Initialize() { Server.Commands.Register( "tel", AccessLevel.Player, new CommandEventHandler( Tel_OnCommand ) ); Server.Commands.Register( "telepath", AccessLevel.Player, new CommandEventHandler( telepath_OnCommand ) ); } [Usage( "Tel <text>" )] [Description( "Tell something to the TeleGroup" )] private static void Tel_OnCommand( CommandEventArgs e ) { PlayerMobile from = ((PlayerMobile) e.Mobile); if (!CanTelepath(from)) { AlertMessage( from, 0); return; } if (!HaveFriends(from)) { AlertMessage( from, 1); return; } for ( int i = 0; i < from.TelepathieVictim.Count; ++i ) { if (from.TelepathieVictim[i] != null && from.TelepathieVictim[i] is Mobile) SaySomething( (Mobile)from.TelepathieVictim[i], e.ArgString ); } SaySomething( from, e.ArgString ); } [Usage( "telepath" )] [Description( "Add a targeted mobile to the group." )] private static void telepath_OnCommand( CommandEventArgs e ) { PlayerMobile from = ((PlayerMobile) e.Mobile ); if (!CanTelepath(from)) { AlertMessage( from, 0); return; } from.SendGump( new TelepathGump( from ) ); } private static bool CanTelepath( PlayerMobile from ) { if (from.Telepathie) return true; if (!ComptRequise) return true; return false; } private static bool HaveFriends( PlayerMobile from ) { return ( from.TelepathieVictim.Count > 0 ); } private static bool CanHaveFriends( PlayerMobile from ) { if ( Maxfriends <= 0 ) return true; return ( from.TelepathieVictim.Count < Maxfriends ); } private static void AlertMessage( Mobile from, int Message) { string texte = null; switch(Message) { case 0: texte = "Vos compétences en télépathie ne vous le permettent pas"; break; case 1: texte = "Vous n'avez pris contact avec personne"; break; case 2: texte = "Avec qui désirez vous prendre contact ?"; break; case 3: texte = "Vous dites par télépathie:"; break; case 4: texte = "Vous entendez une voie dans votre tête:"; break; case 5: texte = "Vos dons de télépathie ont aussi des limites !"; break; case 6: texte = "Quelqu'un perd contact avec vous"; break; } if (from != null && texte != null) from.SendMessage(texte); } private static void AlertMessage( Mobile from, int Message, Mobile m) { string texte = null; switch(Message) { case 0: texte = "Vous perdez contact avec {0}"; break; } if (from != null && texte != null && m != null) from.SendMessage(texte, m.Name); } private static void SaySomething( PlayerMobile from, string texte ) { AlertMessage( from, 3); from.SendMessage(97, texte); } private static void SaySomething( Mobile from, string texte ) { AlertMessage( from, 4); from.SendMessage(97, texte); } public void AddBlueBack( int width, int height ) { AddBackground ( 55, 60, width-00, height-00, 0xE10 ); AddBackground ( 63, 65, width-16, height-11, 0x053 ); AddImageTiled ( 70, 74, width-29, height-29, 0xE14 ); AddAlphaRegion( 70, 74, width-29, height-29 ); } public void AddButtonLabeled( int x, int y, int buttonID, string text ) { AddButton( x, y - 1, 4005, 4007, buttonID, GumpButtonType.Reply, 0x174 ); AddLabel( x+35, y, 0x174, text ); } public void AddButtonLabeledDel( int x, int y, int buttonID, string text ) { AddButton( x, y - 1, 4017, 4019, buttonID, GumpButtonType.Reply, 0 ); AddLabel( x+35, y, 0x174, text ); } public void AddButtonDel( int x, int y, int buttonID ) { AddButton( x, y - 1, 4017, 4019, buttonID, GumpButtonType.Reply, 0 ); } public TelepathGump(Mobile m) : base ( 150, 120) { PlayerMobile from = ((PlayerMobile) m); int victimes = from.TelepathieVictim.Count; // Fond AddBlueBack( 280, 185+(victimes*20) ); //Titre AddLabel( 150, 75, 0x26, "Télépathie" ); if (from.Telepathie) { for ( int i = 0; i < victimes; ++i ) { if (from.TelepathieVictim[i] != null && from.TelepathieVictim[i] is Mobile) { AddImageTiled( 80, 100+(i*20), 182, 23, 0x52 ); AddImageTiled( 81, 101+(i*20), 180, 21, 0xBBC ); AddLabelCropped( 91, 101+(i*20), 180, 21, 0, ((Mobile)from.TelepathieVictim[i]).Name ); AddButtonDel(270,100+(i*20),i+100); } } } if ( CanHaveFriends( from )) AddButtonLabeled(100,150+(victimes*20),1,"Prendre contact"); AddLabel( 240, 206+(victimes*20), 1, "Made by Didi" ); } public override void OnResponse(NetState sender, RelayInfo info) { PlayerMobile from = ((PlayerMobile) sender.Mobile); int val = info.ButtonID; switch(val) { case 0: break; case 1: { if ( !CanHaveFriends( from ) ) { AlertMessage( from, 5); return; } AlertMessage( from, 2); from.Target = new AddTelepathTarget(Maxfriends); break; } } if ( val >= 100 ) { int valeur = (val - 100); if (from.TelepathieVictim[valeur] is Mobile) { AlertMessage( from, 0, (Mobile)from.TelepathieVictim[valeur]); AlertMessage( (Mobile)from.TelepathieVictim[valeur], 6); from.TelepathieVictim.RemoveAt( valeur ); } } } } public class AddTelepathTarget : Target { private static int Maxfriends; public AddTelepathTarget(int nbr) : base(5,true,TargetFlags.None) { Maxfriends = nbr; } protected override void OnTarget(Mobile m, object targ) { PlayerMobile from = ((PlayerMobile) m); if ( !(targ is PlayerMobile) ) { AlertMessage( from, 3); return; } PlayerMobile target = ((PlayerMobile) targ); if ( IsFriend( from, target )) { AlertMessage( from, 0, target); return; } if ( ItsMe( from, target ) ) { AlertMessage( from, 1); return; } if ( !CanHaveFriends( from ) ) { AlertMessage( from, 0); return; } from.TelepathieVictim.Add( target ); AlertMessage( target, 2); AlertMessage( from, 1, target); } private static bool CanHaveFriends( PlayerMobile from ) { if ( Maxfriends <= 0 ) return true; return ( from.TelepathieVictim.Count < Maxfriends ); } private static bool ItsMe( Mobile from, Mobile m ) { return ( from == m ); } private static bool IsFriend( PlayerMobile from, Mobile target ) { for ( int i = 0; i < from.TelepathieVictim.Count; ++i ) { if (from.TelepathieVictim[i] == target) return true; } return false; } private static void AlertMessage( Mobile from, int Message) { string texte = null; switch(Message) { case 0: texte = "Vos dons de télépathie ont aussi des limites !"; break; case 1: texte = "Vous ne pouvez pas prendre contact avec vous meme"; break; case 2: texte = "Quelqu'un prend contact avec vous"; break; case 3: texte = "Vous devez pointer un joueur !"; break; } if (from != null && texte != null) from.SendMessage(texte); } private static void AlertMessage( Mobile from, int Message, Mobile m) { string texte = null; switch(Message) { case 0: texte = "Vous êtes deja en contact avec {0}"; break; case 1: texte = "Vous prenez contact avec {0}"; break; } if (from != null && texte != null && m != null) from.SendMessage(texte, m.Name); } } } |