"Struture" des fichiers
Bonjour !... enfin Bonsoir !

Je vous écris pour vous poser une question, qui pour certain peut être complètement absurde, mais qui a une importance capital pour moi.

Je voulais savoir où se trouvent les différents "bloque" (excusez-moi, je ne connais pas tout le vocabulaire du C++, etc) qui composent un script C++ pour TrinityCore.

Vous ne comprenez rien je présume...

Un exemple est surement plus explicite...

Prenons l'exemple du script de notre cher ami Molios :
/*
 * Copyright  2013-2014 Molios
 */
 
#include "ScriptPCH.h"
 
#ifdef WIN32
#pragma warning(disable:4305)
#endif
 
class Player_connexion : public PlayerScript
{
    public:
        Player_connexion() : PlayerScript("Player_connexion"){}
 
        void OnLogin(Player* pPlayer)
        {
          char message[500];
          sprintf(message, "|CFF7BBEF7Bonjour %s. Bienvenue dans un bad trip total !|r", pPlayer->GetName(), pPlayer->GetGUID());
          ChatHandler(pPlayer).PSendSysMessage(message);
          pPlayer->GetSession()->SendNotification(message);
        }
};
 
void AddSC_Player_connexion()
{
    new Player_connexion();
}

Ce que j'appelle "bloque" c'est ça :
void OnLogin(Player * player)
{
    ...
}

Je voulais savoir si vous savez où trouver ses "bloques" ? A première vu j'aurai dit dans le fichier Player.cpp/h, mais après de rapides coups d’œil je ne vois rien qui puisse m'affirmer ça...

Donc, j'en viens à ma question : Quelqu'un peut-il m’indiquer où se trouve tous ces "bloques" ou bien me faire parvenir une liste les contenant ?

Merci de votre lecture Smile
Cordialement,
Crisou
la fonction que tu ne comprends pas est celle de quand un joueur de connecte.
traduit en bon français ça donnerait :
à chaque fois qu'un joueur se connecte
       {
           char message[500];
          sprintf(message, "|CFF7BBEF7Bonjour %s. Bienvenue dans un bad trip total !|r", pPlayer->GetName(), pPlayer->GetGUID());
          ChatHandler(pPlayer).PSendSysMessage(message);
          pPlayer->GetSession()->SendNotification(message);
        }

De mes souvenirs, ça doit se trouver par ici :

src/scripts/custom/on_events.cpp

Je m'excuse d'avance si ce n'est pas là, je n'ai pas eu le temps de vérifier, fais le moi savoir ^^


Cordialement,
Mihawk.
Pour ce qui est des scripts regarde dans scriptMgr.h, tu as toutes les structures des différents scripts (player/gob/...)

Qui est dans srcservergameScripting Wink
Merci de ta réponse, je suis désolé, mais ça je l'avais déjà compris ^^"

Je me re-explique : Je cherche oú trouver tous les "bloques".
Exemple:
Void OnLogin()
Void OnUpdateMap()
Etc...

Je suis désolé si je m'exprime mal :/



Merci Shiroe je vais jeter un coup d'oeil Smile
Dans ce cas, essaye ce qu'a dit Shiroe plus haut, ça doit être ça ^^
Salut, ces "bloques" sont appelés des fonctions qui sont des ensembles d'instructions auxquelles on a donné un nom, ici "OnLogin".

Les développeurs ont l'habitude de copier la ligne de définition de la fonction, ici "void OnLogin(Player * player)" dans un fichier comportant le même nom que celui du code à la différence près qu'il comporte l’extension ".h" au lieux de ".cpp".

Donc si ton code se trouve dans "ScriptPCH.cpp", regarde dans "ScriptPCH.h" Smile

Edit : je laisse tomber, vous êtes trop rapides pour moi xD
Selon ta version de visual studio (si c'est ce que tu utilise ^^) tu peux rechercher directement où est définie la fonction que tu appelle "bloque" ou ce qu'elle fait.

Ici il y a juste la structure de la fonction de donnée et à chaque script tu vas définir ce qu'elle fait en fonction de ce que tu veux faire (comme avec OnLogin(Player*) { ... } pour exécuter une action à chaque fois qu'un joueur se connecte).

C'est le squelette du script quoi.
ScriptPCH.h est juste un fichier qui include d'autres fichier, il n'y a rien à voir là dedans ^^

Il vaudrait mieux aller voir le fichier qu'à dit Shiroe, ça me parait plus approprié
Merci à vous tous je n'aurai jamais cherché dans ses fichiers là !

Merci à vous tous pour vos réponses, je peux enfin avancer dans les quelques scripts que je fais Smile
Dans ce cas, je ferme et je move Big Grin

#Résolu.

Retourner en haut WoW-Emu