Quest phasing
Bonjour a tous alors voilà j'ai un soucis que j'arrive pas à résoudre depuis quelques temps, j'aimerais mettre en place un système de phasing lorsque je prends des quêtes et lorsque je les rends, c'est à dire on voit un univers qui change lorsque on prends cette quête et celui-ci peut redevenir à sa normalité à la fin de cette dernière seulement je n'arrive pas a trouver le lien entre le quest_template et le phasing pour déclencher l'évent qui permet de voir mes objets/pnj qui sont en phase 2 par exemple.
Si quelqu'un saurait quelles tables sont associés a ce sujet ça m'aiderais beaucoup...

Merci d'avance pour toutes réponses .

Ps: Je sais qu'il existe des topics sur le sujet sur le forum mais ils ne m'avancent pas tellement.
Bonjour,

Je ne sais pas si c'est possible de le faire depuis la base de données, mais tu peux le faire via un script C++, ça c'est sûr ! Clin

Cordialement,
Sgt Fatality
Le C++ c'est le bien (la fonction setPhase() est ton amie Smile
Vous êtes sur que c'est pas possible ? Il me semble que avec le système SmartAI c'était faisable bon et bien autant pour moi.... je vais me pencher plutôt sur le core dans ce cas je vous tiens au courant.

Si quelqu'un a des pistes de code ou des solutions ça peut toujours m'aider.. Merci d'avance
Regarde ici : http://www.trinitycore.info/Smart_script...vent_types SMART_ACTION_SET_EVENT_PHASE
Avec StartScript dans quest_template.
Je ne crois pas que c'est possible de faire appel aux smartAi avec les startScript ce chanmp fait juste appel a quest_start_scripts mais normalement c'est possible de le faire avec les Smart_event en eux mêmes.

Event types :
SMART_EVENT_ACCEPTED_QUEST 19 QuestID (0 any) On Target Accepted Quest
ou
SMART_EVENT_QUEST_ACCEPTED 47 On Target Quest Accepted
Je ne comprends pas vraiment la différence entre les 2,

Pis ensuite avec un action type:
SMART_ACTION_SET_EVENT_PHASE 22 smart_scripts.event_phase_mask

J'ai déjà essayé ça mais sans sucés, j'ai trouvé un pnj en jeu qui utilise cette méthode il marche à merveilles mais lorsque je reprends celui-ci et sa procédure pour remplacer les id des scripts par celles de de mon pnj rien ne se passe mon joueur ne change pas de phase. Pourtant il est bien configuré le pnj j'ai mis SmartAi dans le champ requis.

Pour la méthode C++ si quelqu'un aurais un exemple ou pourrais me faire un petit schéma pour m'expliquer comment faire ça m'aiderais beaucoup.
D'après ce qu'a dit Elmsroth :
if(pPlayer->HasQuest(taquête))
pPLayer->SetPhase(lesparamètres);

Vérifie les noms de fonction et les paramètres j'ai pas trop regardé les noms , c'est qu'un petit avant gout Hihi Après je sais pas trop où tu peux mettre ça , ya surement un fichier QuestScript.cpp ou un truc du genre
Regarde dans npcs_special, il y a des NPCs de classe. Le script doit être lié au npc donneur de quête, et après c'est un simple gossip
J'ai pas dév DB depuis un peu plus d'un an mais si mes souvenirs sont bons, la gestion des phases se faisaient dans la table spell_area.

Mais c'est tellement plus simple et fun en C++ (+1 pour Elmsroth).
J'ai résolu mon problème a l'aide d'un customScript en C++,
Merci a tous pour votre aide.

Retourner en haut Accueil