Reload creature_template & item template.
Bonjour, voici deux petites commandes qui vont vous éviter pas mal de reboot .reload item_template & .reload creature_template

Bon, oui, la commande .reload creature_template existe, mais elle ne permet que de modifier un PNJ déjà existant. Avec la commande en "amélioré", vous allez pouvoir avoir vos créatures fraichement créée !

Cependant, il est possible d'avoir un PETIT lagg lors de l'éxécution des deux commandes, il ne faut donc pas les spam, mais c'est toujours plus pratique qu'un reboot !

Premièrement ouvrir le fichier RBAC.h srcservergameAccounts ,aller à la ligne 684 et ajouter 



Code :
RBAC_PERM_COMMAND_RELOAD_ITEM_TEMPLATE = 778,

Sauvegarder et fermer le fichier.

Maintenant, ouvrir cs_reload.cpp srcserverscriptsCommands puis aller à la ligne 103 et ajouter


Code :
{ "item_template", rbac::RBAC_PERM_COMMAND_RELOAD_ITEM_TEMPLATE, true, &HandleReloadItemTemplateCommand, "", NULL },

Puis aller à la ligne 402 et supprimer son contenu jusqu'à la ligne 522

de


Code :
static bool HandleReloadCreatureTemplateCommand(ChatHandler* handler, const char* args)
{

a


Code :
handler->SendGlobalGMSysMessage("Creature template reloaded.");
return true;
}

Et y ajouter


Code :
static bool HandleReloadCreatureTemplateCommand(ChatHandler* handler, const char* /*args*/)
{
TC_LOG_INFO("misc", "Reloading creature template...");
sObjectMgr->LoadCreatureTemplates();
handler->SendGlobalGMSysMessage("DB table `creature_template` reloaded.");
return true;
}

Maintenant faites une recherche de item_set_names, vous devriez arriver environ à la ligne 833.

Après 


Code :
static bool HandleReloadItemSetNamesCommand(ChatHandler* handler, const char* /*args*/)
{
TC_LOG_INFO("misc", "Re-Loading Item set names...");
sObjectMgr->LoadItemSetNames();
handler->SendGlobalGMSysMessage("DB table `item_set_names` reloaded.");
return true;
}

Ajouter


Code :
static bool HandleReloadItemTemplateCommand(ChatHandler* handler, const char* /*args*/)
{
TC_LOG_INFO("misc", "Re-Loading Item template...");
sObjectMgr->LoadItemTemplates();
handler->SendGlobalGMSysMessage("DB table `item_template` reloaded.");
return true;
}

Voila pour les modifs core, pendant la compilation, ouvrir votre DB wolrd, aller à la fin de la table commande et ajouter une ligne :

Code :
reload item_template    654    Syntax: .reload item_template Reload item_template table.

Cordialement,
Slowy.
 
Merci du partage Smile
A utiliser avec précaution, peut mettre en péril la stabilité du serveur Wink
Oui comme je l'ai dis au debut, il possible d'avoir de petit lagg lors de l'éxécution de la commande, mais c'est vraiment minime et court, et ca évite pas mal de reboot lorsqu'il y a pas mal de joueurs.
Même pendant qu'on dev ca évite pas mal de reboot enfin moi perso je ne peux plus m'en passer Big Grin
-1.

C'est une bonne release que j'utilise aussi depuis 3-4 semaines

Mais, si ce n'est pas inclus dans les sources TC, c'est pour une raison, vous pensez pas?
Il y a aussi la même chose pour gameobject_template :

Code :
sObjectMgr->LoadGameObjectTemplate();

Je pense que ça peut poser un problème si on reload en même temps qu'on met à jour la db, en gros le risque est très faible.
A voir.

Retourner en haut WoW-Emu