Problème c++
Bonjour je travaille actuellement sur un script où un message [serveur] s'affiche lors de la mort d'un boss indiquant quelle clan la tuer. mais lors de l'execution du script le serveur crash et je sais d'où viens l'erreur mais ne sais la résoudre.

[code=cpp]#define MSG_QG "Le clan: %s a tuer le boss"[/code]

[code=cpp] QueryResult result = WorldDatabase.Query("SELECT `nom` FROM `clan` WHERE `id` = 1");

if (result)
{
Field *fields = result->Fetch();
char msg[255];
sprintf(msg, MSG_QG, fields[0].GetString());
sWorld->SendWorldText(LANG_SYSTEMMESSAGE, msg);

}
[/code]

L'erreur doit être au niveau du Fetch ... La requête est censé récupérer la chaîne de caractère: Clan Test.

En espérant avoir de l'aide cordialement.
Salut,

Il y a déjà un problème de pointeur : [code=cpp]QueryResult result[/code] -> [code=cpp]QueryResult *result[/code]
Est-ce que TrinityCore crée un "CrashDump" lors d'un crash ?

Cordialement,
Pourquoi avoir définit un char 255 ?
esaye de mettre ton message dans une string simple et d'ensuite de la passer en argument via "tastring.c_str()" (ca remplace ton argument "msg")

Et comme le note Fatality, tu as oublié le pointeur Clin
[code=cpp]#define MSG_QG "Le clan: %s a tuer le boss"[/code]
[code=cpp] QueryResult* result = WorldDatabase.Query("SELECT `nom` FROM `clan` WHERE `id` = 1");

if (result)
{
Field *fields = result->Fetch();
char msg[255];
std::string name_clan = fields[0].GetCppString();
sprintf(msg, MSG_QG, name_clan.c_str());
sWorld->SendWorldText(LANG_SYSTEMMESSAGE, msg);
}
[/code]
Ou carrément mais pas sur:
[code=cpp]#define MSG_QG "Le clan: %s a tuer le boss"[/code]
[code=cpp] QueryResult* result = WorldDatabase.Query("SELECT `nom` FROM `clan` WHERE `id` = 1");

if (result)
{
Field *fields = result->Fetch();
std::string name_clan = fields[0].GetCppString();
sWorld->SendWorldText(LANG_SYSTEMMESSAGE, MSG_QG, name_clan.c_str());
}
[/code]

Smile
(23-03-2011 22:14)Elmsroth a écrit :  esaye de mettre ton message dans une string simple et d'ensuite de la passer en argument via "tastring.c_str()" (ca remplace ton argument "msg")

Comment le mettre dans une string simple , et quelle message le premier en define ou celui qui est fait en requête ?

Edit: Vue l'heure je ne peut pas tester pour l'instant j’essaierai demain vers 17 H.

Cordialement.
Voir les codes modif dans mon post Smile
Merci d'avoir mis le code Morphau..j'avais une flemme énorme Hihi

Retourner en haut Accueil