[Intermédiaire] Créer un PNJ qui recharge les items et les créatures sans redémarrer le serveur
Bonjour/Bonsoir,

Comme dit dans le titre je vais vous apprendre a créer un PNJ avec un menu gossip qui va recharger en jeu vos items ou vos créature sans redémarrage du serveur !

Créez tout d'abord un fichier nommé Reload.cpp

et insérez-y ceci dedans :
#include "ScriptPCH.h"

    #define ITEM 1
    #define PNJ 2
    
     
    class Reload : public CreatureScript
    {
        public: Reload() : CreatureScript("Reload") { }
     
            bool OnGossipHello(Player* player, Creature* pCreature)
            {
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, "Recharger item_template", GOSSIP_SENDER_MAIN, ITEM);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, "Recharger creature_template", GOSSIP_SENDER_MAIN, PNJ);
                player->PlayerTalkClass->SendGossipMenu(1, pCreature->GetGUID());
            return true;
            }
     
             void ReturnToMainMenu(Player* player, Creature* creature)
             {
                player->PlayerTalkClass->ClearMenus();
                OnGossipHello(player, creature);
             }
     
             char str[255];
     
            bool OnGossipSelect(Player* player, Creature* creature, uint32 /*uiSender*/, uint32 uiAction)
            {
                    player->PlayerTalkClass->ClearMenus();
     
                    switch (uiAction)
                    {
                            case ITEM:
                                    {
										 sObjectMgr->LoadItemTemplates();
                                    }
                            case PNJ:
                                    {
										sObjectMgr->LoadCreatureTemplates();
                                    }
     
                    }
                    return true;
             }
    };
     
    void AddSC_Reload()
    {
        new Reload();
    }

Ensuite, suivez un tutoriel pour savoir comment le mettre dans le core et dans la DB, et le tour est joué !
Bonjour,

bon petit script bien que peu utile (en fait, je n'ai pas compris son utilité puisqu'il fait doublon avec les commandes MJ de reload, et qu'un joueur n'est pas sensé pouvoir recharger ces tables).

Je me suis permis d'utiliser la balise shcode=cpp et non la balise quote pour les codes sources de ce type.
Effectivement il y a une commande maintenant qui permet de faire sa mais pour les version antèrieur a TDB 335.53 il n'y a pas cette commande
Je déplace dans "Fichiers & Scripts" puisqu'aucune information à propos du fonctionnement du script n'est donnée.

Retourner en haut WoW-Emu