mirror of
https://github.com/mangosfour/server.git
synced 2025-12-15 10:37:02 +00:00
AutoBroadcast system.
-This commit is paired with 1 database update
This commit is contained in:
parent
a7f938e7e6
commit
2888858616
9 changed files with 618 additions and 461 deletions
|
|
@ -237,6 +237,7 @@ bool ChatHandler::HandleReloadAllCommand(char* /*args*/)
|
|||
|
||||
HandleReloadAllAchievementCommand((char*)"");
|
||||
HandleReloadAllAreaCommand((char*)"");
|
||||
HandleReloadAutoBroadcastCommand((char*)"");
|
||||
HandleReloadAllEventAICommand((char*)"");
|
||||
HandleReloadAllLootCommand((char*)"");
|
||||
HandleReloadAllNpcCommand((char*)"");
|
||||
|
|
@ -423,6 +424,14 @@ bool ChatHandler::HandleReloadAreaTriggerTeleportCommand(char* /*args*/)
|
|||
return true;
|
||||
}
|
||||
|
||||
bool ChatHandler::HandleReloadAutoBroadcastCommand(char* /*args*/)
|
||||
{
|
||||
sLog.outString("Re-Loading broadcast strings...");
|
||||
sWorld.LoadBroadcastStrings();
|
||||
SendGlobalSysMessage("Broadcast strings reloaded.");
|
||||
return true;
|
||||
}
|
||||
|
||||
bool ChatHandler::HandleReloadCommandCommand(char* /*args*/)
|
||||
{
|
||||
load_command_table = true;
|
||||
|
|
|
|||
|
|
@ -1021,11 +1021,12 @@ enum MangosStrings
|
|||
LANG_OPVP_SI_CAPTURE_H = 1635,
|
||||
LANG_OPVP_SI_CAPTURE_A = 1636,
|
||||
|
||||
// Room for 4.x clients only 1700-1799
|
||||
// Room for 4.x clients only 1702-1799
|
||||
LANG_VENDOR_WRONG_ITEM_TYPE = 1700,
|
||||
LANG_VENDOR_WRONG_CURRENCY_MAXCOUNT = 1701,
|
||||
|
||||
// FREE IDS 1800-9999
|
||||
// FREE IDS 1801-9999
|
||||
LANG_AUTOBROADCAST = 1800
|
||||
|
||||
// Use for not-in-official-sources patches
|
||||
// 10000-10999
|
||||
|
|
|
|||
|
|
@ -533,6 +533,7 @@ ChatCommand* ChatHandler::getCommandTable()
|
|||
{ "areatrigger_involvedrelation", SEC_ADMINISTRATOR, true, &ChatHandler::HandleReloadQuestAreaTriggersCommand, "", NULL },
|
||||
{ "areatrigger_tavern", SEC_ADMINISTRATOR, true, &ChatHandler::HandleReloadAreaTriggerTavernCommand, "", NULL },
|
||||
{ "areatrigger_teleport", SEC_ADMINISTRATOR, true, &ChatHandler::HandleReloadAreaTriggerTeleportCommand, "", NULL },
|
||||
{ "autobroadcast", SEC_ADMINISTRATOR, true, &ChatHandler::HandleReloadAutoBroadcastCommand, "", NULL },
|
||||
{ "command", SEC_ADMINISTRATOR, true, &ChatHandler::HandleReloadCommandCommand, "", NULL },
|
||||
{ "conditions", SEC_ADMINISTRATOR, true, &ChatHandler::HandleReloadConditionsCommand, "", NULL },
|
||||
{ "creature_ai_scripts", SEC_ADMINISTRATOR, true, &ChatHandler::HandleReloadEventAIScriptsCommand, "", NULL },
|
||||
|
|
|
|||
|
|
@ -432,6 +432,7 @@ class ChatHandler
|
|||
bool HandleReloadAchievementRewardCommand(char* args);
|
||||
bool HandleReloadAreaTriggerTavernCommand(char* args);
|
||||
bool HandleReloadAreaTriggerTeleportCommand(char* args);
|
||||
bool HandleReloadAutoBroadcastCommand(char* args);
|
||||
bool HandleReloadBattleEventCommand(char* args);
|
||||
bool HandleReloadCreaturesStatsCommand(char* args);
|
||||
bool HandleReloadCommandCommand(char* args);
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -26,8 +26,8 @@
|
|||
/// @{
|
||||
/// \file
|
||||
|
||||
#ifndef __WORLD_H
|
||||
#define __WORLD_H
|
||||
#ifndef MANGOS_H_WORLD
|
||||
#define MANGOS_H_WORLD
|
||||
|
||||
#include "Common.h"
|
||||
#include "Timer.h"
|
||||
|
|
@ -229,7 +229,8 @@ enum eConfigUInt32Values
|
|||
CONFIG_UINT32_WARDEN_CLIENT_BAN_DURATION,
|
||||
CONFIG_UINT32_WARDEN_NUM_MEM_CHECKS,
|
||||
CONFIG_UINT32_WARDEN_NUM_OTHER_CHECKS,
|
||||
CONFIG_UINT32_WARDEN_DB_LOGLEVEL
|
||||
CONFIG_UINT32_WARDEN_DB_LOGLEVEL,
|
||||
CONFIG_UINT32_AUTOBROADCAST_INTERVAL,
|
||||
};
|
||||
|
||||
/// Configuration elements
|
||||
|
|
@ -418,7 +419,7 @@ enum RealmType
|
|||
REALM_TYPE_RP = 6,
|
||||
REALM_TYPE_RPPVP = 8,
|
||||
REALM_TYPE_FFA_PVP = 16 // custom, free for all pvp mode like arena PvP in all zones except rest activated places and sanctuaries
|
||||
// replaced by REALM_PVP in realm list
|
||||
// replaced by REALM_PVP in realm list
|
||||
};
|
||||
|
||||
/// This is values from first column of Cfg_Categories.dbc (1.12.1 have another numeration)
|
||||
|
|
@ -654,6 +655,7 @@ class World
|
|||
char const* GetDBVersion() { return m_DBVersion.c_str(); }
|
||||
|
||||
void UpdatePhaseDefinitions();
|
||||
void LoadBroadcastStrings();
|
||||
|
||||
/**
|
||||
* \brief: force all client to request player data
|
||||
|
|
@ -704,6 +706,18 @@ class World
|
|||
bool configNoReload(bool reload, eConfigFloatValues index, char const* fieldname, float defvalue);
|
||||
bool configNoReload(bool reload, eConfigBoolValues index, char const* fieldname, bool defvalue);
|
||||
|
||||
// AutoBroadcast system
|
||||
void AutoBroadcast();
|
||||
struct BroadcastString
|
||||
{
|
||||
uint32 freq;
|
||||
std::string text;
|
||||
};
|
||||
std::vector<BroadcastString> m_broadcastList;
|
||||
uint32 m_broadcastWeight;
|
||||
bool m_broadcastEnable;
|
||||
IntervalTimer m_broadcastTimer;
|
||||
|
||||
static volatile bool m_stopEvent;
|
||||
static uint8 m_ExitCode;
|
||||
uint32 m_ShutdownTimer;
|
||||
|
|
@ -755,7 +769,7 @@ class World
|
|||
time_t m_NextDailyQuestReset;
|
||||
time_t m_NextRandomBGReset;
|
||||
time_t m_NextWeeklyQuestReset;
|
||||
time_t m_NextMonthlyQuestReset;
|
||||
time_t m_NextMonthlyQuestReset;
|
||||
|
||||
// Player Queue
|
||||
Queue m_QueuedSessions;
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
################################################################################
|
||||
|
||||
[MangosdConf]
|
||||
ConfVersion=2017021100
|
||||
ConfVersion=2017021400
|
||||
|
||||
################################################################################
|
||||
# CONNECTIONS AND DIRECTORIES
|
||||
|
|
@ -796,6 +796,11 @@ SD3ErrorLogFile = "scriptdev3-errors.log"
|
|||
# Motd
|
||||
# Message of the Day. Displayed at worldlogin for every user ('@' for a newline).
|
||||
#
|
||||
# AutoBroadcast
|
||||
# Timer interval (in seconds) for automatic server announcements (autobroadcasts). Zero value means AB is disabled
|
||||
# 0 (AB is disabled)
|
||||
# Default: 600 (AB every 10 minutes)
|
||||
# N (>0, AB every N seconds)
|
||||
################################################################################
|
||||
|
||||
GameType = 1
|
||||
|
|
@ -867,6 +872,7 @@ WaitAtStartupError = 10
|
|||
Raid.MinLevel = 10
|
||||
PlayerCommands = 0
|
||||
Motd = "Welcome to Mangos Three"
|
||||
AutoBroadcast = 0
|
||||
|
||||
################################################################################
|
||||
# PLAYER INTERACTION
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@
|
|||
// Format is YYYYMMDDRR where RR is the change in the conf file
|
||||
// for that day.
|
||||
#ifndef MANGOSD_CONFIG_VERSION
|
||||
# define MANGOSD_CONFIG_VERSION 2016031901
|
||||
# define MANGOSD_CONFIG_VERSION 2017021400
|
||||
#endif
|
||||
#ifndef REALMD_CONFIG_VERSION
|
||||
# define REALMD_CONFIG_VERSION 2010062001
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@
|
|||
|
||||
#ifndef MANGOS_H_REVISION
|
||||
#define MANGOS_H_REVISION
|
||||
#define REVISION_NR "21000"
|
||||
#define REVISION_NR "21007"
|
||||
|
||||
#define REALMD_DB_VERSION_NR 21
|
||||
#define REALMD_DB_STRUCTURE_NR 1
|
||||
|
|
@ -37,7 +37,7 @@
|
|||
#define CHAR_DB_UPDATE_DESCRIPTION "characters_pvpstats"
|
||||
|
||||
#define WORLD_DB_VERSION_NR 21
|
||||
#define WORLD_DB_STRUCTURE_NR 5
|
||||
#define WORLD_DB_STRUCTURE_NR 7
|
||||
#define WORLD_DB_CONTENT_NR 1
|
||||
#define WORLD_DB_UPDATE_DESCRIPTION "dbscripts_refactor"
|
||||
#define WORLD_DB_UPDATE_DESCRIPTION "AutoBroadcast"
|
||||
#endif // __REVISION_H__
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue