View Full Version: le nom de perso a la création

RunUO.FR Support > Probleme de script > le nom de perso a la création


Title: le nom de perso a la création
Description: Pour ne pas avoir 2 perso du meme nom


Belladonne - July 28, 2004 11:06 AM (GMT)
pour ca modifier dans le CharacterCreation.cs

QUOTE
private static void SetName( Mobile m, string name )
{
name = name.Trim();
//début modif
foreach (Account a in Accounts.Table.Values) 
               {for ( int i = 0; i<5; ++i)
  {Mobile t =a[i];
  if (t.Name == name) name =  "Generic Player";
  }
}
//fin modif
if ( !NameVerification.Validate( name, 2, 16, true, true, true, 1, NameVerification.SpaceDashPeriodQuote ) )
    name = "Generic Player";
  

m.Name = name;
  }



le serveur compile mais des qu'on essayes de creer un perso le serveur crash quelque soit lenom de perso choisi.


les rapport de crash donnent ca:
QUOTE
Exception:
System.NullReferenceException: La référence d'objet n'est pas définie à une instance d'un objet.
  at Server.Misc.CharacterCreation.SetName(Mobile m, String name)
  at Server.Misc.CharacterCreation.EventSink_CharacterCreated(CharacterCreatedEventArgs args)
  at Server.Network.PacketHandlers.CreateCharacter(NetState state, PacketReader pvSrc)
  at Server.Network.MessagePump.HandleReceive(NetState ns)
  at Server.Network.MessagePump.Slice()
  at Server.Core.Main(String[] args)


Est ce que quelqu'un a eu idée de quelel connerie j'ai encore pu faire ?

Didi - July 28, 2004 02:24 PM (GMT)
La boucle dur 5 perso par account.

Certais acouint qui en ont 3, se retrouve a u 4e "if rien.Name" donc sa crash.

Fait plutot comme sa

CODE
ArrayList mobs = new ArrayList( World.Mobiles.Values );

foreach ( Mobile m in mobs )
{
   if ( m != null && m is PlayerMobile )
   {
        if (m.Name == name)
           name =  "Generic Player";
   }
}

Belladonne - July 28, 2004 03:12 PM (GMT)
merci ca marche beaucoup mieux ainsi :)




Hosted for free by InvisionFree