Quête level
Je ne comprend pas ce que tu veux dire :$
Si tu ne sais pas ce qu'est un pointeur en C++ je ne vais pas te faire un cours..... Google est là pour ça.

SI tu lis ton message d'erreur il te dit que ta fonction attends un type Uint64 .... toi tu lui passe un OBJET de type player * .. tu comprends pas le souci ???
donc a la place de player je doit mettre uint64 si j'ai bien compris ce que tu viens de me dire.
ben ouais plutot ouais Hihi et si t'es un tant soit peu logique, bien que je ne développe jamais trop dans le core trinity, je pense que le UINT64 attendu est le guid du joueur ...
Avec ce que tu m'a dit, le UNIT64 permet de prendre en compte le guid du joueur (ou plutôt du pnj) ?

Edit: J'ai mis uint64 mais j'ai un erreur qui me dis d'aller voir dans le fichier basetsd.h de Microsoft SDK à la ligne 83 j'ai ceci:
Code :
typedef unsigned__int64 UINT64, *PUINT64;
Dons si j'ai bien compris, il faut que je déclarre quelques chose à uint64 ?
Si oui, je dois déclarer quoi ?
Osef du microsoft SDK .. je te dis qu'il faut juste que tu ais le guid du player, et à mon avis si tu ne sais pas examiner la classe player poru voir si il y a une méthode qui te renvoit le guid en Uint64 ben je peux rien faire de plus pour toi...

ET si ca renvoit le guid un uint32 ben le le caste (recherche sur google ca veut dire quoi caster une variable si tu ne sais pas, ou alors le transtypage).

Tu sais que ce genre de soucis c'est quand même assez simple à résoudre avec un peu de logique en en étudiant le code... (si tu étudiais la classe player et l'implémentation de la méthode qui te pose souci dans WorldObject tu t'en sortirais...)
Dans ce qu'il y a entre switch, j'ai bien analyser le code, je le comprend bien je peux même te le dire.
Argument 1: Fermeture du gossip menu
Argument 2: Monter le level à 80
Argument 3: Dire texte_3 en language universel
Argument 4: Reset des talents
Argument 5: Pas d'info des talent
Argument 6: Mettre statistique du level
Argument 7: Je ne sais pas du tout la car il n'y a pas de valeur.
Argument 8: Sauvegarde dans la base de donnée

Et voici le code:
Code :
player->CLOSE_GOSSIP_MENU();
                 player->SetLevel(80);
                 _Creature->MonsterSay(TEXTE_3, LANG_UNIVERSAL, NULL);
                 player->resetTalents(true);
                 player->SendTalentsInfoData(false);
                 player->InitStatsForLevel(true);
                 player->InitGlyphsForLevel();
                 player->SaveToDB();

Même en analysant le code, je ne comprend pas ce que je dois mettre, je suppose que la variable uint64 permet de crypter l'id du joueur mais je ne sais pas comment faire pour le récupérer et le crypter.
Édition :
Résolu, La compilation c'est bien passer, il fallais juste mettre
[code=cpp]uint64 pPlayer;[/code]
Je l'ai résolu en regardant le code d'une instance.
Merci de m'avoir aidé Elmsroth et aussi pour ta patience Hihi
Édition :
J'ai un soucis, j'ai mis macwarrior_lvl80 dans le scriptname de mon pnj et je n'obtient pas le level 80 Erf
As-tu déclaré ce script (je crois qu'il y a une historie de register ou je ne sais quoi...) Clin
Oui dans SciptLoader.cpp et CmakeLists.txt
Ton erreur est toute bête (désolé de te le dire, ce n'est pas méchant Clin )
Tu as déclaré une variable vide : uint64 pPlayer.
Tu devrais mettre à la place de la fonction qui gêne :
Code :
_Creature->MonsterWhisper(TEXTE_2,player);
Ceci
Code :
_Creature->MonsterWhisper(TEXTE_2,player->GetGUID());
Ca devrait marcher normalement Clin

Retourner en haut Accueil