diff options
author | n0n4m3 <none@none> | 2009-12-27 16:10:15 +0100 |
---|---|---|
committer | n0n4m3 <none@none> | 2009-12-27 16:10:15 +0100 |
commit | d82d10ff3664edbe4cf534563865b6c9b14f40da (patch) | |
tree | cd18b75c7c077e82603d3da0d59be8f43cb834bf /src | |
parent | 7e2855f53b7b0aaddc9739c95d12d01c5a103fda (diff) |
Added new config options chat channel level limit, option to disable player commands of any kind
--HG--
branch : trunk
Diffstat (limited to 'src')
-rw-r--r-- | src/game/Chat.cpp | 3 | ||||
-rw-r--r-- | src/game/ChatHandler.cpp | 3 | ||||
-rw-r--r-- | src/game/World.cpp | 2 | ||||
-rw-r--r-- | src/game/World.h | 2 | ||||
-rw-r--r-- | src/trinitycore/trinitycore.conf.dist | 10 |
5 files changed, 20 insertions, 0 deletions
diff --git a/src/game/Chat.cpp b/src/game/Chat.cpp index b93462802b8..3c526eccb76 100644 --- a/src/game/Chat.cpp +++ b/src/game/Chat.cpp @@ -1066,6 +1066,9 @@ int ChatHandler::ParseCommands(const char* text) std::string fullcmd = text; + if (this->getSession()->GetSecurity() <= SEC_PLAYER && sWorld.getConfig(CONFIG_ALLOW_PLAYER_COMMANDS) == 0) + return 0; + if (m_session && !m_session->HandleOnPlayerChat(text)) return 0; diff --git a/src/game/ChatHandler.cpp b/src/game/ChatHandler.cpp index dd39dd72190..47e89bf4fff 100644 --- a/src/game/ChatHandler.cpp +++ b/src/game/ChatHandler.cpp @@ -510,6 +510,9 @@ void WorldSession::HandleMessagechatOpcode( WorldPacket & recv_data ) if (!processChatmessageFurtherAfterSecurityChecks(msg, lang)) return; + if (_player->getLevel() < sWorld.getConfig(CONFIG_CHAT_CHANNEL_LEVEL_REQ)) + return; + if(msg.empty()) break; diff --git a/src/game/World.cpp b/src/game/World.cpp index 21b1372f1af..b0e7afaf741 100644 --- a/src/game/World.cpp +++ b/src/game/World.cpp @@ -604,6 +604,8 @@ void World::LoadConfigSettings(bool reload) m_configs[CONFIG_COMPRESSION] = 1; } m_configs[CONFIG_ADDON_CHANNEL] = sConfig.GetBoolDefault("AddonChannel", true); + m_configs[CONFIG_CHAT_CHANNEL_LEVEL_REQ] = sConfig.GetIntDefault("ChannelLevelReq", 1); + m_configs[CONFIG_ALLOW_PLAYER_COMMANDS] = sConfig.GetBoolDefault("AllowPlayerCommands", 1); m_configs[CONFIG_GRID_UNLOAD] = sConfig.GetBoolDefault("GridUnload", true); m_configs[CONFIG_INTERVAL_SAVE] = sConfig.GetIntDefault("PlayerSaveInterval", 15 * MINUTE * IN_MILISECONDS); m_configs[CONFIG_INTERVAL_DISCONNECT_TOLERANCE] = sConfig.GetIntDefault("DisconnectToleranceInterval", 0); diff --git a/src/game/World.h b/src/game/World.h index ed16d03307a..4a36bddc563 100644 --- a/src/game/World.h +++ b/src/game/World.h @@ -199,6 +199,8 @@ enum WorldConfigs CONFIG_CHAT_FAKE_MESSAGE_PREVENTING, CONFIG_CHAT_STRICT_LINK_CHECKING_SEVERITY, CONFIG_CHAT_STRICT_LINK_CHECKING_KICK, + CONFIG_CHAT_CHANNEL_LEVEL_REQ, + CONFIG_ALLOW_PLAYER_COMMANDS, CONFIG_CORPSE_DECAY_NORMAL, CONFIG_CORPSE_DECAY_RARE, CONFIG_CORPSE_DECAY_ELITE, diff --git a/src/trinitycore/trinitycore.conf.dist b/src/trinitycore/trinitycore.conf.dist index a85b68da507..b108f9c7622 100644 --- a/src/trinitycore/trinitycore.conf.dist +++ b/src/trinitycore/trinitycore.conf.dist @@ -1030,6 +1030,14 @@ ListenRange.Yell = 300 # Default: 0 (join announcement in normal way) # 1 (GM join without announcement) # +# ChannelLevelReq +# The required level of character to be able to write in chat channels +# Default: 1 (From level 1) +# +# AllowPlayerCommands +# Allowed the players to use commands +# Default: 1 (allow) +# ################################################################################################################### ChatFakeMessagePreventing = 0 @@ -1040,6 +1048,8 @@ ChatFlood.MessageDelay = 1 ChatFlood.MuteTime = 10 Channel.RestrictedLfg = 1 Channel.SilentlyGMJoin = 0 +ChannelLevelReq = 1 +AllowPlayerCommands = 1 ################################################################################################################### # GAME MASTER SETTINGS |