Core/Chat: Add config to mute player first login. (#234)

This commit is contained in:
HeartWell
2016-11-20 18:02:12 +03:00
committed by Shin
parent 11a88b7121
commit fdfd3856ad
6 changed files with 37 additions and 7 deletions

View File

@@ -0,0 +1,6 @@
INSERT INTO version_db_world(`sql_rev`) VALUES ('1478948588825091300');
-- Mute for player
DELETE FROM trinity_string WHERE entry = 30000;
INSERT INTO trinity_string(`entry`,`content_default`,`content_loc6`,`content_loc7`,`content_loc8`) VALUES
(30000, 'Speaking is allowed after playing for at least %d. You may use party and guild chat.','Podrás hablar cuando hayas jugado durante al menos %d. Puedes usar el chat de grupo y de hermandad.','Podrás hablar cuando hayas jugado durante al menos %d. Puedes usar el chat de grupo y de hermandad','Вы сможете говорить после %d проведенных минут в игре, но можете использовать чат гильдии и группы.');

View File

@@ -66,14 +66,17 @@ void WorldSession::HandleMessagechatOpcode(WorldPacket & recvData)
case CHAT_MSG_PARTY_LEADER: case CHAT_MSG_PARTY_LEADER:
break; break;
default: default:
/*[AC] we should enable it using a conf if (!sWorld->getBoolConfig(CONFIG_CHAT_MUTE_FIRST_LOGIN))
if (sender->GetTotalPlayedTime() < 2*HOUR)
{ {
SendNotification("Speaking is allowed after playing for at least 2 hours. You may use party and guild chat."); uint32 minutes = sWorld->getIntConfig(CONFIG_CHAT_TIME_MUTE_FIRST_LOGIN);
recvData.rfinish();
return; if (sender->GetTotalPlayedTime() < minutes * MINUTE)
}*/ {
break; SendNotification(LANG_MUTED_PLAYER, minutes);
recvData.rfinish();
return;
}
}
} }
// pussywizard: // pussywizard:

View File

@@ -1297,5 +1297,7 @@ enum TrinityStrings
LANG_INSTANCE_BIND_MISMATCH = 11014, LANG_INSTANCE_BIND_MISMATCH = 11014,
LANG_CREATURE_NOT_AI_ENABLED = 11015, LANG_CREATURE_NOT_AI_ENABLED = 11015,
LANG_SELECT_PLAYER_OR_PET = 11016, LANG_SELECT_PLAYER_OR_PET = 11016,
LANG_MUTED_PLAYER = 30000, // Mute for player 2 hour
}; };
#endif #endif

View File

@@ -976,6 +976,8 @@ void World::LoadConfigSettings(bool reload)
m_int_configs[CONFIG_CHATFLOOD_MESSAGE_COUNT] = sConfigMgr->GetIntDefault("ChatFlood.MessageCount", 10); m_int_configs[CONFIG_CHATFLOOD_MESSAGE_COUNT] = sConfigMgr->GetIntDefault("ChatFlood.MessageCount", 10);
m_int_configs[CONFIG_CHATFLOOD_MESSAGE_DELAY] = sConfigMgr->GetIntDefault("ChatFlood.MessageDelay", 1); m_int_configs[CONFIG_CHATFLOOD_MESSAGE_DELAY] = sConfigMgr->GetIntDefault("ChatFlood.MessageDelay", 1);
m_int_configs[CONFIG_CHATFLOOD_MUTE_TIME] = sConfigMgr->GetIntDefault("ChatFlood.MuteTime", 10); m_int_configs[CONFIG_CHATFLOOD_MUTE_TIME] = sConfigMgr->GetIntDefault("ChatFlood.MuteTime", 10);
m_bool_configs[CONFIG_CHAT_MUTE_FIRST_LOGIN] = sConfigMgr->GetBoolDefault("Chat.MuteFirstLogin", false);
m_int_configs[CONFIG_CHAT_TIME_MUTE_FIRST_LOGIN] = sConfigMgr->GetIntDefault("Chat.MuteTimeFirstLogin", 120);
m_int_configs[CONFIG_EVENT_ANNOUNCE] = sConfigMgr->GetIntDefault("Event.Announce", 0); m_int_configs[CONFIG_EVENT_ANNOUNCE] = sConfigMgr->GetIntDefault("Event.Announce", 0);

View File

@@ -109,6 +109,7 @@ enum WorldBoolConfigs
CONFIG_SILENTLY_GM_JOIN_TO_CHANNEL, CONFIG_SILENTLY_GM_JOIN_TO_CHANNEL,
CONFIG_TALENTS_INSPECTING, CONFIG_TALENTS_INSPECTING,
CONFIG_CHAT_FAKE_MESSAGE_PREVENTING, CONFIG_CHAT_FAKE_MESSAGE_PREVENTING,
CONFIG_CHAT_MUTE_FIRST_LOGIN,
CONFIG_DEATH_CORPSE_RECLAIM_DELAY_PVP, CONFIG_DEATH_CORPSE_RECLAIM_DELAY_PVP,
CONFIG_DEATH_CORPSE_RECLAIM_DELAY_PVE, CONFIG_DEATH_CORPSE_RECLAIM_DELAY_PVE,
CONFIG_DEATH_BONES_WORLD, CONFIG_DEATH_BONES_WORLD,
@@ -257,6 +258,7 @@ enum WorldIntConfigs
CONFIG_CHAT_CHANNEL_LEVEL_REQ, CONFIG_CHAT_CHANNEL_LEVEL_REQ,
CONFIG_CHAT_WHISPER_LEVEL_REQ, CONFIG_CHAT_WHISPER_LEVEL_REQ,
CONFIG_CHAT_SAY_LEVEL_REQ, CONFIG_CHAT_SAY_LEVEL_REQ,
CONFIG_CHAT_TIME_MUTE_FIRST_LOGIN,
CONFIG_TRADE_LEVEL_REQ, CONFIG_TRADE_LEVEL_REQ,
CONFIG_TICKET_LEVEL_REQ, CONFIG_TICKET_LEVEL_REQ,
CONFIG_AUCTION_LEVEL_REQ, CONFIG_AUCTION_LEVEL_REQ,

View File

@@ -1859,6 +1859,21 @@ ChatFlood.MessageDelay = 1
ChatFlood.MuteTime = 10 ChatFlood.MuteTime = 10
#
# Chat.MuteFirstLogin
# Description: Speaking is allowed after playing for Chat.MuteTimeFirstLogin minutes. You may use party and guild chat.
# Default: 0 - (Disabled)
# 1 - (Enabled)
Chat.MuteFirstLogin = 0
#
# Chat.MuteTimeFirstLogin
# Description: The time after which the player will be able to speak.
# Default: 120 - (Minutes)
Chat.MuteTimeFirstLogin = 120
# #
# Channel.RestrictedLfg # Channel.RestrictedLfg
# Description: Restrict LookupForGroup channel to characters registered in the LFG tool. # Description: Restrict LookupForGroup channel to characters registered in the LFG tool.