C# [Prestige] NullReference

Soap

Membre
Inscrit
12 Avril 2017
Messages
72
Reactions
2
#1
Hello tout le monde,
Je suis entrain d'ajouter les prestiges sur stump 2.10 via une orbe de prestige, cependant lorsque l'action sur le pnj s’exécute j'ai le droit a une null reference. Je ne comprend pas comment l'objet orb est null alors que le code me semble correct. Voici les codes :

Inventory.cs :

C#:
 public static readonly int PrestigeOrbId = 20214;

    public void AddEffectOnPrestigeItem(List<EffectInteger> effects)
        {
            foreach(EffectInteger effect in effects)
            {
                this.PrestigeItem.Effects.Add(effect);
            }
        }

   public BasePlayerItem PrestigeItem
        {
            get
            {
               ItemTemplate orb = Singleton<ItemManager>.Instance.TryGetTemplate(PrestigeOrbId);
                return this.TryGetItem(orb);
            }
            private set { }
        }
Character.cs
C#:
    private void CreatePrestigeItem()
        {
            this.Inventory.AddItem(this.Inventory.PrestigeItem); // Ici lors du déboggage PrestigeItem = null ????
        }
        public void PrestigeUp()
        {
            switch (this.Prestige)
            {
                case 1:
                    this.CreatePrestigeItem();
                    this.Inventory.AddEffectOnPrestigeItem(new List<EffectInteger>
                    {
                         new EffectInteger(EffectsEnum.Effect_NonExchangeable_982,1),
                         new EffectInteger(EffectsEnum.Effect_AddVitality,30),
                         new EffectInteger(EffectsEnum.Effect_AddStrength,25),
                         new EffectInteger(EffectsEnum.Effect_AddWisdom,30),
                         new EffectInteger(EffectsEnum.Effect_AddIntelligence,25),
                         new EffectInteger(EffectsEnum.Effect_AddAgility,25),
                         new EffectInteger(EffectsEnum.Effect_AddChance,25),
                    });
                    this.OpenPopup(string.Format("Félicitation votre personnage est passé au prestige numéro {0}, vous allez être déconnecté afin d'affecter les bonus à votre personnage.", this.Prestige), "Serveur ", 10);
                    this.RefreshActor();
                    this.Map.Refresh(this);
                    this.RefreshStats();
                    this.SaveLater();
                    this.AddTitle(200);
                    this.Client.Disconnect();
                    break;
                case 2: ect...
https://www.noelshack.com/2017-22-1496525207-prestige-pb.jpg
 
Dernière édition:

Soap

Membre
Inscrit
12 Avril 2017
Messages
72
Reactions
2
#2
Up ( si c est bien toutes les 7h )
 

neross

Membre Actif
Inscrit
20 Decembre 2014
Messages
150
Reactions
0
#3
public void AddEffectOnPrestigeItem(List<EffectInteger> effects)
{
foreach(EffectInteger effect in effects)
{
this.PrestigeItem.Effects.Add(effect);
}
}
C'est ton this.PrestigeItem.Effects qui est null. Enfin je vois que ça. :)
 

Soap

Membre
Inscrit
12 Avril 2017
Messages
72
Reactions
2
#4
C'est ton this.PrestigeItem.Effects qui est null. Enfin je vois que ça. :)
Effectivement Neross, c'été bien ça. Merci de l'aide toute de même.
 
Haut Bas