coup de pouce C++
Bonsoir a tout zone-emu,
je viens vous demander votre aide car malgré que mes connaissances en C++ soient quasi nul, j'essaie de bidouiller par ci par la en m'aidant des scripts deja existants.
En faite je voulais savoir si on peut utiliser quelque chose dans ce genre :
player->AddItem (.......);

et aussi si quelque chose comme cela marche :

GetPlayer()->DuelComplete(DUEL_WON)->CastSpell(GetPlayer(), IDDUSPELL, true);
voila merci d'avance et gardez votre sang-froid face a ma noobitude en C++ Gg
Pour le additem utilise simplement le Handler Additem des commandes de jeu (HandleAdditemCommand)
Oui pour le add item t'as juste a cast ton id de spell (qui est un int ou un uint32) en const char * de cette façon : HandleAddItemCommand((const char*) id)

Pour le reste je comprend pas trop ce que tu veux faire , mais en cherchant un peu j'ai trouvé une fonction :

[code=cpp]void ScriptMgr::OnPlayerDuelEnd(Player *winner, Player *looser, DuelCompleteType type)
{
FOREACH_SCRIPT(PlayerScript)->OnDuelEnd(winner, looser, type);
}[/code]

Tu peux très bien faire ton cast spell ici
(09-08-2011 09:16)Klaas a écrit :  Pour le reste je comprend pas trop ce que tu veux faire , mais en cherchant un peu j'ai trouvé une fonction :

[code=cpp]void ScriptMgr::OnPlayerDuelEnd(Player *winner, Player *looser, DuelCompleteType type)
{
FOREACH_SCRIPT(PlayerScript)->OnDuelEnd(winner, looser, type);
}[/code]

Tu peux très bien faire ton cast spell ici

Oui et non, il faut bien faire le cast du spell DANS un "playerscript" et non dans cette fonction Clin

Je ne sais pas si c'est ce que tu voulais dire Klaas, c'est pour être clair.
(09-08-2011 09:36)SgT-Fatality a écrit :  
(09-08-2011 09:16)Klaas a écrit :  Pour le reste je comprend pas trop ce que tu veux faire , mais en cherchant un peu j'ai trouvé une fonction :

[code=cpp]void ScriptMgr::OnPlayerDuelEnd(Player *winner, Player *looser, DuelCompleteType type)
{
FOREACH_SCRIPT(PlayerScript)->OnDuelEnd(winner, looser, type);
}[/code]

Tu peux très bien faire ton cast spell ici

Oui et non, il faut bien faire le cast du spell DANS un "playerscript" et non dans cette fonction Clin

Je ne sais pas si c'est ce que tu voulais dire Klaas, c'est pour être clair.

En fait je savais pas je l'avais jamais utilisé x)
(08-08-2011 21:14)virtuaadri a écrit :  Bonsoir a tout zone-emu,
je viens vous demander votre aide car malgré que mes connaissances en C++ soient quasi nul, j'essaie de bidouiller par ci par la en m'aidant des scripts deja existants.
En faite je voulais savoir si on peut utiliser quelque chose dans ce genre :
player->AddItem (.......);

Oui tu peux. Bien que je ne me souvienne plus de la signature exacte de la fonction. Mais comme l'a dit Elmsroth, va voir du côté de la commande ".add item".

(08-08-2011 21:14)virtuaadri a écrit :  et aussi si quelque chose comme cela marche :

GetPlayer()->DuelComplete(DUEL_WON)->CastSpell(GetPlayer(), IDDUSPELL, true);
voila merci d'avance et gardez votre sang-froid face a ma noobitude en C++ Gg

La ligne que tu donnes fera n'importe quoi. D'ailleurs je pense qu'elle compilera pas.

Il faut faire un PlayerScript et implémenter la fonction onDuelEnd. Et tu fais un CastSpell sur le winner.
ok merci je vais voir tout ca,
merci beaucoup Smile

Retourner en haut Accueil