Core: Add support for reloading gossip_scripts + add missing SQL for earlier inserted commands (gossip_menu and gossip_menu_option)
Thanks to Kaelima Fixes issue 2433 --HG-- branch : trunk
This commit is contained in:
@@ -584,6 +584,9 @@ INSERT INTO `command` VALUES
|
||||
('reload gameobject_scripts',3,'Syntax: .reload gameobject_scripts\nReload gameobject_scripts table.'),
|
||||
('reload game_graveyard_zone',3,'Syntax: .reload game_graveyard_zone\nReload game_graveyard_zone table.'),
|
||||
('reload game_tele',3,'Syntax: .reload game_tele\nReload game_tele table.'),
|
||||
('reload gossip_menu',3,'Syntax: .reload gossip_menu\nReload gossip_menu table.'),
|
||||
('reload gossip_menu_option',3,'Syntax: .reload gossip_menu_option\nReload gossip_menu_option table.'),
|
||||
('reload gossip_scripts',3,'Syntax: .reload gossip_scripts\nReload gossip_scripts table.'),
|
||||
('reload gm_tickets',3,'Syntax: .reload gm_tickets\nReload gm_tickets table.'),
|
||||
('reload item_enchantment_template',3,'Syntax: .reload item_enchantment_template\nReload item_enchantment_template table.'),
|
||||
('reload item_loot_template',3,'Syntax: .reload item_loot_template\nReload item_loot_template table.'),
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
DELETE FROM `command` WHERE `name` IN ('reload gossip_menu','reload gossip_menu_option','reload gossip_scripts');
|
||||
INSERT INTO `command` (`name`,`security`,`help`) VALUES
|
||||
('reload gossip_menu',3, 'Syntax: .reload gossip_menu\nReload gossip_menu table.'),
|
||||
('reload gossip_menu_option',3, 'Syntax: .reload gossip_menu_option\nReload gossip_menu_option table.'),
|
||||
('reload gossip_scripts',3, 'Syntax: .reload gossip_scripts\nReload gossip_scripts table.'),
|
||||
@@ -487,6 +487,7 @@ ChatCommand * ChatHandler::getCommandTable()
|
||||
{ "gameobject_scripts", SEC_ADMINISTRATOR, true, &ChatHandler::HandleReloadGameObjectScriptsCommand, "", NULL },
|
||||
{ "gossip_menu", SEC_ADMINISTRATOR, true, &ChatHandler::HandleReloadGossipMenuCommand, "", NULL },
|
||||
{ "gossip_menu_option", SEC_ADMINISTRATOR, true, &ChatHandler::HandleReloadGossipMenuOptionCommand, "", NULL },
|
||||
{ "gossip_scripts", SEC_ADMINISTRATOR, true, &ChatHandler::HandleReloadGossipScriptsCommand, "", NULL },
|
||||
{ "item_enchantment_template", SEC_ADMINISTRATOR, true, &ChatHandler::HandleReloadItemEnchantementsCommand, "", NULL },
|
||||
{ "item_loot_template", SEC_ADMINISTRATOR, true, &ChatHandler::HandleReloadLootTemplatesItemCommand, "", NULL },
|
||||
{ "item_set_names", SEC_ADMINISTRATOR, true, &ChatHandler::HandleReloadItemSetNamesCommand, "", NULL },
|
||||
|
||||
@@ -381,6 +381,7 @@ class ChatHandler
|
||||
bool HandleReloadGameTeleCommand(const char* args);
|
||||
bool HandleReloadGossipMenuCommand(const char* args);
|
||||
bool HandleReloadGossipMenuOptionCommand(const char* args);
|
||||
bool HandleReloadGossipScriptsCommand(const char* args);
|
||||
bool HandleReloadGOQuestRelationsCommand(const char* args);
|
||||
bool HandleReloadGOQuestInvRelationsCommand(const char* args);
|
||||
bool HandleReloadItemEnchantementsCommand(const char* args);
|
||||
|
||||
@@ -143,6 +143,7 @@ bool ChatHandler::HandleReloadAllScriptsCommand(const char*)
|
||||
|
||||
sLog.outString("Re-Loading Scripts...");
|
||||
HandleReloadGameObjectScriptsCommand("a");
|
||||
HandleReloadGossipScriptsCommand("a");
|
||||
HandleReloadEventScriptsCommand("a");
|
||||
HandleReloadQuestEndScriptsCommand("a");
|
||||
HandleReloadQuestStartScriptsCommand("a");
|
||||
@@ -818,6 +819,26 @@ bool ChatHandler::HandleReloadItemSetNamesCommand(const char*)
|
||||
return true;
|
||||
}
|
||||
|
||||
bool ChatHandler::HandleReloadGossipScriptsCommand(const char* arg)
|
||||
{
|
||||
if (sWorld.IsScriptScheduled())
|
||||
{
|
||||
SendSysMessage("DB scripts used currently, please attempt reload later.");
|
||||
SetSentErrorMessage(true);
|
||||
return false;
|
||||
}
|
||||
|
||||
if (*arg != 'a')
|
||||
sLog.outString("Re-Loading Scripts from `gossip_scripts`...");
|
||||
|
||||
sObectMgr.LoadGossipScripts();
|
||||
|
||||
if (*arg != 'a')
|
||||
SendGlobalGMSysMessage("DB table `gossip_scripts` reloaded.");
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool ChatHandler::HandleReloadGameObjectScriptsCommand(const char* arg)
|
||||
{
|
||||
if (sWorld.IsScriptScheduled())
|
||||
|
||||
Reference in New Issue
Block a user