Une guilde à la création.
Bonjour à tous je rencontr un soucis j'essaie d'integrer un systeme du genre etre deja dans une guilde a la creation du personnage jai un debut je vous montre

fichier src/game/charactersHandler.cpp

dans la fonction
void WorldSession::HandleCharCreateOpcode( WorldPacket & recv_data )

J'ai mis sa:

Citation :LoginDatabase.PExecute("INSERT INTO guild_member (guildid, guid, rank) VALUES (1, %u, 4)", pNewChar->GetGUIDLow());
pNewChar->SetInGuild(1);
pNewChar->SetRank(4);
A la création je suis bein dans la guilde mais je ne me vois pas ni mon pseudo dans l'onglet guilde, et je ne peut parler sur le /g.

Si quelqun a une idee je lui en serai reconnaissant merci a vous.

Toxic Ninja
Il n'y a pas un patch exprès ? Car il y a une fonction de ce genre dans les cores de MacWarrior.
Essai plutôt :
[code=cpp]
Guild * myGuild = sGuildMgr.GetGuildById(1);
if (myGuild)
myGuild->addMember(pNewChar->GetGUIDLow(), 4);
[/code]

Cordialement,
et65.
(18-11-2011 16:24)Wazurius a écrit :  Il n'y a pas un patch exprès ? Car il y a une fonction de ce genre dans les cores de MacWarrior.

Pas un patch, développé par moi-même.

Voilà de quoi te débloquer :

+ uint32 defaultplayerguildid = ID_DE_TA_GUILDE;
+ if (defaultplayerguildid == 0)
+ {
+ sLog.outError("Player default GuildID can't be 0.");
+ } else {
+ Guild *playerguild = sGuildMgr.GetGuildById(defaultplayerguildid);
+ if(playerguild->AddMember(pCurrChar->GetObjectGuid(), playerguild->GetLowestRank()))
+ {
+ playerguild->LogGuildEvent(GUILD_EVENT_LOG_JOIN_GUILD, pCurrChar->GetObjectGuid(), pCurrChar->GetObjectGuid(), 0);
+ playerguild->BroadcastEvent(GE_JOINED, pCurrChar->GetObjectGuid(), pCurrChar->GetName());
+ } else {
+ sLog.outError("Player Guild id %u is used for Player.GuildID but the guild doesn't exist.", defaultplayerguildid);
+ }
+ }

PS : Oui, mais non, la balise code rajoute des caractères, donc non, je l'utiliserai pas Heureux
Cordialement,
MacWarrior.
Merci de vos reponse, tous a dans la fonction playercreate citer cidessus? dans le fichier characters handler?

en tous cas merci mac respect pour ton travail
Tout est bien dans mon bout de code, et oui, dans CharacterHandler.cpp

PS : Ca se met dans ce if :
if (pCurrChar->HasAtLoginFlag(AT_LOGIN_FIRST))

Cordialement,
MacWarrior.
Merci Mac sa marche je vien de terminer un npc qui change els grade de guides a verifiers IG maintenant en tous cas merci.
(18-11-2011 21:31)Tøxïc a écrit :  Merci Mac sa marche je vien de terminer un npc qui change els grade de guides a verifiers IG maintenant en tous cas merci.

Dans ce cas là merci d'utiliser la fonction "Marquer la discussion comme résolue" située en haut de ton premier message. Je le fait cette fois mais pense y la prochaine fois Smile

Retourner en haut Accueil