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:
click
2010-08-17 11:49:53 +02:00
parent 26386d1e20
commit 3695accf50
5 changed files with 31 additions and 0 deletions
+3
View File
@@ -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.'),
+5
View File
@@ -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.'),
+1
View File
@@ -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 },
+1
View File
@@ -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);
+21
View File
@@ -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())