View Full Version: Messages Privés

RunUO.FR Support > Probleme de script > Messages Privés


Title: Messages Privés
Description: Nom en deux morceau...


Dinoz - September 28, 2004 02:48 AM (GMT)
J'ai fait un petit script qui permet d'envoyer des messages privé. Le problème est quand je msg quelqu'un qui a un nom en deux partie, Elvis Vong par example. Quand je fait ".msg Elvis Vong Bla bla" la personne en question, Elvis..., va recevoir "Vong Bla bla". Et si une personne portant le nom Elvis ToutCourt se connect et que je remsg comme tentôt. Les deux Elvis vont recevoir "Vong Bla bla".

(Je sais pas si j'ai été claire ... :P

Le code qui suit est le script des msg

CODE

//Messages Prive
 [Usage( "Msg <name> <text>" )]
 [Description( "Send a private message." )]
 public static void MessagePriv_OnCommand( CommandEventArgs e )
 {
  string name = e.GetString( 0 );
  string text = e.ArgString.Substring( name.Length, e.ArgString.Length-(name.Length) );
  int Msger = 0;
 
  Mobile from = e.Mobile;
 
  if ( name == "" )
  {
   from.SendMessage( "Vous devez spécifier une personne." );
  }
  else if ( name != "" )
  {
   foreach( NetState state in NetState.Instances )
   {
    RaceSys m = state.Mobile as RaceSys;
   
    if ( m.Name.ToLower().IndexOf( name.ToLower() ) >= 0 )
    {
     if ( m.PgMsg == MsgBool.Ouvert )
     {
      m.SendMessage( 0x2b, String.Format( "Message de {0}:{1}", e.Mobile.Name, text ) );
      from.SendMessage( 0x44E, string.Format( "{0} : a été envoyer à {1}", text, name ) );
      Msger = Msger + 1;
     }
     else
     {
      from.SendMessage( "{0} à bloquer la réception de messages privés.", name );
      Msger = Msger + 1;
     }
    }
   }
   if ( Msger == 0 )
   {
    from.SendMessage( 0x44E, string.Format( "{0} n'est pas connecter.", name ) );
   }
  }
 }
 
 [Usage( "Messages" )]
 [Description( "Ouvrir ou Fermer vos messages privés." )]
 public static void MessagePrivOnOff_OnCommand( CommandEventArgs e )
 {
  RaceSys m = e.Mobile as RaceSys;
 
  if ( m.PgMsg != MsgBool.Ouvert )
  {
   m.PgMsg = MsgBool.Ouvert;
   m.SendMessage( "Vous avez ouvert vos messages privés." );
  }
  else
  {
   m.PgMsg = MsgBool.Fermer;
   m.SendMessage( "Vous avez fermé vos messages privés." );
  }
 }
 //Fin Messages Prive



J'aimerais en gros que si une personne a un nom composé, qu'elle puisse recevoir le message sans la 2e partie de son nom dedans...

Vortal - September 28, 2004 03:22 AM (GMT)
Je vois plusieurs solutions.. Qui ne te plairont peut-être pas.

Solution 1 : Créer un Gump. Avec un champ texte pour le nom et un autre pour le message. De cette façon, les deux arguments seraient bien séparés.

Solution 2 : Ajouter un caractère spécial pour séparer le nom du message. Exemple : ".msg Elvis Vong | Bonjour comment vas-tu ?" Ensuite tu peux rechercher le "|" et dire que la partie avant est le nom et la partie suivante, le message.

Kaervek - September 28, 2004 04:10 AM (GMT)
http://www.astria2.com/phpBB2/viewtopic.php?p=5799#5799

Pourriez-vous continuer sur ce lien plz? :D
Lisez les annonces de RunUO.Fr Support et le free speech et vous comprendrez. ;)




Hosted for free by InvisionFree