Mr Timer
Bonjour,
Aujourd'hui je fait appel a la communauté de Wow-emu pour une idée du tutoriel qui serait assez utile pour des serveurs Ultra-Fun.

Ma Proposition:

Ma proposition est donc la suivante,
Mr Timer C'est quoi ?
Mr Timer est un PNJ qui permettera au joueurs de voir le temps restant avant le repop d'un WorldBoss par exemple.
le tout dans un menu gossip dans un PNJ.

PS: Désolé pour les fautes d'orthograhe je ne suis pas très bon --'Oui
Detail en image:
[Image: 1409419336-capture.png]
En effet, cela pourrait s'avèré pratique, travaillant moi même sur un ultra Fun.
Je verrais ce que je peux faire Smile
Ce serait top et pratique en effet ! Pourquoi ne pas pousser le vice encore plus loin et faire quelque chose dans ce style :
Menu Gossip - - - > Temps restant avant le prochain événement XXX
Pour les événements personnalisés Wink
Ah intéressant, si tu as besoin d'un coup de main, je suis tout a toi Smile
Du nouveau pour ce tutoriel a t-il été réalisé
?
Je laisse aux autres, j'ai pas le temps de m'occuper de ça pour le moment... Désolé, j'ai un blizz 1.12.1 en développement pour ma part..
Rien n'empêche cypgain de se documenter et proposer le tuto Smile ainsi sa lui apprendra comment faire mais sa apprendra également à la communauté Smile
(15-09-2014 13:17)Galathil a écrit :  Rien n'empêche cypgain de se documenter et proposer le tuto Smile ainsi sa lui apprendra comment faire mais sa apprendra également à la communauté Smile

D'un côté il est dans la section "demande de tuto's" Big Grin
Et non dans "tuto & script" Smile

Après oui il peut essayer de le faire, il a peut-être même déjà essayé et c'est peut-etre pour ca qu'il vient dans cette section Big Grin
si tu a une piste et que tu veux de l'aide je peut toujours voir ce que je peut faire pour t'aider Wink
J'ai juste le script du PNJ gossip fait apres le fonction je ne les connait pas
Voici le script:

#include "ScriptPCH.h"
#include "CreatureEventAIMgr.h"
    class timer : public CreatureScript
    {
    public:
    timer() : CreatureScript("timer") {}
    bool OnGossipHello(Player* player, Creature* _creature)
    {
      player->ADD_GOSSIP_ITEM(10, "WorldBoss 1 : TIME", GOSSIP_SENDER_MAIN, 1);
      player->ADD_GOSSIP_ITEM(10, "WorldBoss 2 : TIME", GOSSIP_SENDER_MAIN, 2);
      player->ADD_GOSSIP_ITEM(10, "WorldBoss 3 : TIME", GOSSIP_SENDER_MAIN, 3);
      player->ADD_GOSSIP_ITEM(10, "WorldBoss 4 : TIME", GOSSIP_SENDER_MAIN, 4);
      player->ADD_GOSSIP_ITEM(10, "WorldBoss 5 : TIME", GOSSIP_SENDER_MAIN, 5);


                    player->PlayerTalkClass->SendGossipMenu(907, _creature->GetGUID());
                    return true;
    }
    bool OnGossipSelect(Player* player, Creature* _creature, uint32 uiSender, uint32 uiAction)
    {
    player->PlayerTalkClass->ClearMenus();
            switch(uiAction)
            {      
                case 1:

                break;

                case 2:

                break;

                case 3:

                break;

                case 4:

                break;

                case 5:

                break;
        
            }
            return true;
    }
    };
    void AddSC_Timer()
    {
            new Timer();
    }
Moi j'aurai fais comme ceci :

- Créer un script du wb, avec dans la fonction _justdie (oú un truc du genre) une ligne qui ajoute une entrée dans une table (ex: worldboss_time) avec l'heure/date de la mort du wb et quand il respawn tu supprime ta ligne sql automatiquement.

- Apres dans le script de ton pnj tu récupère l'heure/date de la mort du wb, tu calculs dans combien de temps il respawn

Voilà comment je ferai.

Après, on vous aidera, mais on ne pondra pas un code tous cuit.
Oui mais je suis un grand debutant en c++
Si tu suis mon idée:

Pour le WB :
Pour les requêtes SQL :
Pas besoin d'accéder à la db de toute façon sans une nouvelle table les données ne seraient pas justes.

En revanche tu peux faire un truc du genre :
uint32 timerWB1 = (uint32)sObjectAccessor->FindUnit((ObjectGuid)GUIDWB1)->ToCreature()->GetRespawnTime();
uint32 timerWB2 = (uint32)sObjectAccessor->FindUnit((ObjectGuid)GUIDWB2)->ToCreature()->GetRespawnTime();
...
que tu pourra utiliser dans tes menus après.
GUIDWB1 et GUIDWB2 représentent le GUID des WorldBoss (fais un tour dans la DB pour le connaître).

Retourner en haut WoW-Emu