diff options
author | click <none@none> | 2010-08-17 11:49:53 +0200 |
---|---|---|
committer | click <none@none> | 2010-08-17 11:49:53 +0200 |
commit | 3695accf5023516d05a028adc3d339053044a499 (patch) | |
tree | 2ad7e0c09237558954b1bf5b9241de1031e10eb0 /src | |
parent | 26386d1e206f4b1fbc3018d7be9d00da9a5aeddf (diff) |
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
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Chat/Chat.cpp | 1 | ||||
-rw-r--r-- | src/server/game/Chat/Chat.h | 1 | ||||
-rw-r--r-- | src/server/game/Chat/Commands/Level3.cpp | 21 |
3 files changed, 23 insertions, 0 deletions
diff --git a/src/server/game/Chat/Chat.cpp b/src/server/game/Chat/Chat.cpp index 26a8da94ec8..9ee79281e5a 100644 --- a/src/server/game/Chat/Chat.cpp +++ b/src/server/game/Chat/Chat.cpp @@ -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 }, diff --git a/src/server/game/Chat/Chat.h b/src/server/game/Chat/Chat.h index d4fd0dc3038..630a8668e49 100644 --- a/src/server/game/Chat/Chat.h +++ b/src/server/game/Chat/Chat.h @@ -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); diff --git a/src/server/game/Chat/Commands/Level3.cpp b/src/server/game/Chat/Commands/Level3.cpp index b1eb5aac6fa..b56c97d9886 100644 --- a/src/server/game/Chat/Commands/Level3.cpp +++ b/src/server/game/Chat/Commands/Level3.cpp @@ -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()) |