Spell pairs

Inscrit
18 Février 2015
Messages
228
Reactions
7
#1
Bonjour à tous et à toute,

Je me pose cette question existentielle :D

J'étais entrain de coder les idoles, donc il me fallait les données lié aux idoles, donc je suis allé dans les D2o et je suis tombé sur une colonne s'appelant Spell Pairs, quelqu'un aurait une idée à quoi elle servirait ?
Car j'ai beau essayer de faire un lien avec SpellLevels et Spells mais il y a rien qui corresponds. :p
merci d'avance de vos réponse :)
 
Inscrit
19 Septembre 2015
Messages
10
Reactions
1
#2
Salut, j'ai regardé le D2O et j'ai pu voir qu'il comportait des noms d'idoles comme le dagob major et d'autres qui fait référence à celui-ci : http://www.dofus.com/fr/mmorpg/encyclopedie/idoles/25-dagob-magistrale donc ce D2O doit servir à récupérer le NameId de l'idole ainsi que sa DescriptionId alors qu'Idols.D2O te donne l'effet de l'idole en lui même.
Ce n'est que mon avis
 

BlueDream

Administrateur
Membre du personnel
Inscrit
8 Decembre 2012
Messages
2 010
Reactions
149
#3
Yo @Fallen,

Dans Spells.as tu as un Array qui se nomme _spellLevels.
Code:
private var _spellLevels:Array;
Chaque élément de cet array correspond à l'id d'un SpellLevel.
 
Inscrit
18 Février 2015
Messages
228
Reactions
7
#4
Salut, j'ai regardé le D2O et j'ai pu voir qu'il comportait des noms d'idoles comme le dagob major et d'autres qui fait référence à celui-ci : http://www.dofus.com/fr/mmorpg/encyclopedie/idoles/25-dagob-magistrale donc ce D2O doit servir à récupérer le NameId de l'idole ainsi que sa DescriptionId alors qu'Idols.D2O te donne l'effet de l'idole en lui même.
Ce n'est que mon avis
Je cherche plutot le lien du SpellPair mais merci quand même du com

Yo @Fallen,

Dans Spells.as tu as un Array qui se nomme _spellLevels.
Code:
private var _spellLevels:Array;
Chaque élément de cet array correspond à l'id d'un SpellLevel.
Donc selon toi l'id du SpellPair = à une id d'un SpellLevel ? :o
 

BlueDream

Administrateur
Membre du personnel
Inscrit
8 Decembre 2012
Messages
2 010
Reactions
149
#5
Exactement, de cette manière on obtient chaque spellLevel.

C#:
// Advanced

            Spell spellTemplate = ObjectDataManager.Get<Spell>(ID);

            if(spellTemplate != null)
            {
                Name = I18nDataManager.Instance.ReadText(spellTemplate.nameId);
                Description = I18nDataManager.Instance.ReadText(spellTemplate.descriptionId);

                SpellLevel spellLevelTemplate = ObjectDataManager.Get<SpellLevel>(spellTemplate.spellLevels[Level - 1]);

                if (spellLevelTemplate != null)
                {
                    Cost = spellLevelTemplate.apCost;
                    CastInDiagonal = spellLevelTemplate.castInDiagonal;
                    CastInLine = spellLevelTemplate.castInLine;
                }
            }
Ici je récupère à chaque fois le spellLevel ayant le niveau du sort.
 
Inscrit
18 Février 2015
Messages
228
Reactions
7
#6
Exactement, de cette manière on obtient chaque spellLevel.

C#:
// Advanced

            Spell spellTemplate = ObjectDataManager.Get<Spell>(ID);

            if(spellTemplate != null)
            {
                Name = I18nDataManager.Instance.ReadText(spellTemplate.nameId);
                Description = I18nDataManager.Instance.ReadText(spellTemplate.descriptionId);

                SpellLevel spellLevelTemplate = ObjectDataManager.Get<SpellLevel>(spellTemplate.spellLevels[Level - 1]);

                if (spellLevelTemplate != null)
                {
                    Cost = spellLevelTemplate.apCost;
                    CastInDiagonal = spellLevelTemplate.castInDiagonal;
                    CastInLine = spellLevelTemplate.castInLine;
                }
            }
Ici je récupère à chaque fois le spellLevel ayant le niveau du sort.
Le problème c'est que par exemple je prends cette idole ci
upload_2017-4-2_13-9-47.png
mais l'id 57 se rapportant au SpellLevel avec l'id 57 n'a aucun effet :/
mais je crois que l'on s'est pas compris x)
 

BlueDream

Administrateur
Membre du personnel
Inscrit
8 Decembre 2012
Messages
2 010
Reactions
149
#7
Chez moi le SpellLevel id 57 existe avec 3 effets.

Tu es sûr que tu ne parle pas plutôt d'un SpellEffect d'id 57?
 
Inscrit
18 Février 2015
Messages
228
Reactions
7
#8
upload_2017-4-2_13-45-18.png


Voilà les données que j'ai, en gros il y a la colonne SpellPairId mais je ne sais pas à quoi ça peut bien correspondre, il y a un fichier D2o SpellPair, mais il y a seulement les noms, description et les icon

upload_2017-4-2_13-47-3.png


donc avec seulement ces données je n'arrive pas à trouver les effets de chaque idoles
 

BlueDream

Administrateur
Membre du personnel
Inscrit
8 Decembre 2012
Messages
2 010
Reactions
149
#9
Si on prend l'idole Hulhu, il a pour ID 16955. Il correspond à l'effet suivant: Quand un ennemi meurt, les ennemis gagnent 2 PM pendant 1 tour.
Ce qui correspond à l'effet d'ID 57 dans ta base de donnée, tu as juste à te servir de l'ItemId.
 
Inscrit
18 Février 2015
Messages
228
Reactions
7
#10
Si on prend l'idole Hulhu, il a pour ID 16955. Il correspond à l'effet suivant: Quand un ennemi meurt, les ennemis gagnent 2 PM pendant 1 tour.
Ce qui correspond à l'effet d'ID 57 dans ta base de donnée, tu as juste à te servir de l'ItemId.
J'ai un peux regarder, mais disons que j'ai un petit problème x)
donc je vais chercher EffectId 57 dans ma bdd sauf que je ne le trouve pas :/

upload_2017-4-2_19-21-57.png

mais je comprends pas un truc, comment tu as fait pour trouver l'effectid correspondant à l'itemId 16955 ? car même en regardant les effets de l'item, il n'en a pas O_O
 
Inscrit
27 Février 2016
Messages
27
Reactions
0
#11
En faite si tu regarde bien, chaque idoles a un spell avec différent level pour les différents niveau d'idoles (mineur, normal, majeur, magistrale). Après en rapport avec le spellId tu récupére le nameId de l'idole de base (style Yoche) et après tu cherche dans le d2o spell avec le nameId que t'a récup et la t'obtient le sort ^^
 
Inscrit
18 Février 2015
Messages
228
Reactions
7
#12
En faite si tu regarde bien, chaque idoles a un spell avec différent level pour les différents niveau d'idoles (mineur, normal, majeur, magistrale). Après en rapport avec le spellId tu récupére le nameId de l'idole de base (style Yoche) et après tu cherche dans le d2o spell avec le nameId que t'a récup et la t'obtient le sort ^^
Donc en gros, Je prends une idole je récup le spellPairId puis je vais dans le D2o SpellPair.D2o et je récupére le NameId grâce à cette id et avec ce nameId je récupère le vrai spellId dans Spell.D2o ?
 
Inscrit
18 Février 2015
Messages
228
Reactions
7
#13
J'ai mis résolu mais je n'ai pas expliqué pour la 2.40 pour avoir l'id du sort qui lui correspond,
Il faut prendre l'id de item et chercher son nameId, une fois le nameId trouvé aller dans le I18N et chercher le nom de l'idole et comme c'est pas assez farfelu comme ça ils ont mis plusieurs fois le nom de l'idole dans le I18N (dans 80% des cas il n'y est que 2 fois), un des autres noms corresponds au nameId du sort qui se rapporte à l'idole, merci à Kikas pour son explication via Skype :D
 
Dernière édition:
Haut Bas