[8607] more userfriendly eventcommands

.event start/stop will now output the started/stopped eventame+id
.event activelist got renamed to .event list with optional parameter "all"
so .event list - will list all active events
and .event list all - will list all events including inactive ones
This commit is contained in:
balrok 2009-10-09 14:31:44 +02:00
parent f591211538
commit ed5130c1c1
10 changed files with 48 additions and 12 deletions

View file

@ -24,7 +24,7 @@ CREATE TABLE `db_version` (
`version` varchar(120) default NULL, `version` varchar(120) default NULL,
`creature_ai_version` varchar(120) default NULL, `creature_ai_version` varchar(120) default NULL,
`cache_id` int(10) default '0', `cache_id` int(10) default '0',
`required_8600_01_mangos_command` bit(1) default NULL `required_8607_02_mangos_command` bit(1) default NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=FIXED COMMENT='Used DB version notes'; ) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=FIXED COMMENT='Used DB version notes';
-- --
@ -392,7 +392,7 @@ INSERT INTO `command` VALUES
('dismount',0,'Syntax: .dismount\r\n\r\nDismount you, if you are mounted.'), ('dismount',0,'Syntax: .dismount\r\n\r\nDismount you, if you are mounted.'),
('distance',3,'Syntax: .distance [$name/$link]\r\n\r\nDisplay the distance from your character to the selected creature/player, or player with name $name, or player/creature/gameobject pointed to shift-link with guid.'), ('distance',3,'Syntax: .distance [$name/$link]\r\n\r\nDisplay the distance from your character to the selected creature/player, or player with name $name, or player/creature/gameobject pointed to shift-link with guid.'),
('event',2,'Syntax: .event #event_id\r\nShow details about event with #event_id.'), ('event',2,'Syntax: .event #event_id\r\nShow details about event with #event_id.'),
('event activelist',2,'Syntax: .event activelist\r\nShow list of currently active events.'), ('event list',2,'Syntax: .event list\r\nShow list of currently active events.\r\nShow list of all events'),
('event start',2,'Syntax: .event start #event_id\r\nStart event #event_id. Set start time for event to current moment (change not saved in DB).'), ('event start',2,'Syntax: .event start #event_id\r\nStart event #event_id. Set start time for event to current moment (change not saved in DB).'),
('event stop',2,'Syntax: .event stop #event_id\r\nStop event #event_id. Set start time for event to time in past that make current moment is event stop time (change not saved in DB).'), ('event stop',2,'Syntax: .event stop #event_id\r\nStop event #event_id. Set start time for event to time in past that make current moment is event stop time (change not saved in DB).'),
('explorecheat',3,'Syntax: .explorecheat #flag\r\n\r\nReveal or hide all maps for the selected player. If no player is selected, hide or reveal maps to you.\r\n\r\nUse a #flag of value 1 to reveal, use a #flag value of 0 to hide all maps.'), ('explorecheat',3,'Syntax: .explorecheat #flag\r\n\r\nReveal or hide all maps for the selected player. If no player is selected, hide or reveal maps to you.\r\n\r\nUse a #flag of value 1 to reveal, use a #flag value of 0 to hide all maps.'),
@ -3215,6 +3215,8 @@ INSERT INTO `mangos_string` VALUES
(1127,'Talents of %s\'s pet reset.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), (1127,'Talents of %s\'s pet reset.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
(1128,'%d - |cffffffff|Htaxinode:%u|h[%s %s]|h|r (Map:%u X:%f Y:%f Z:%f)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), (1128,'%d - |cffffffff|Htaxinode:%u|h[%s %s]|h|r (Map:%u X:%f Y:%f Z:%f)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
(1129,'%d - %s %s (Map:%u X:%f Y:%f Z:%f)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), (1129,'%d - %s %s (Map:%u X:%f Y:%f Z:%f)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
(1130,'event started %u "%s"',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
(1131,'event stopped %u "%s"',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
(1200,'You try to view cinemitic %u but it doesn\'t exist.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), (1200,'You try to view cinemitic %u but it doesn\'t exist.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
(1201,'You try to view movie %u but it doesn\'t exist.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); (1201,'You try to view movie %u but it doesn\'t exist.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
/*!40000 ALTER TABLE `mangos_string` ENABLE KEYS */; /*!40000 ALTER TABLE `mangos_string` ENABLE KEYS */;

View file

@ -0,0 +1,6 @@
ALTER TABLE db_version CHANGE COLUMN required_8600_01_mangos_command required_8607_01_mangos_string bit;
DELETE FROM mangos_string WHERE entry IN(1130, 1131);
INSERT INTO mangos_string VALUES
(1130,'event started %u "%s"',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
(1131,'event stopped %u "%s"',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);

View file

@ -0,0 +1,6 @@
ALTER TABLE db_version CHANGE COLUMN required_8607_01_mangos_string required_8607_02_mangos_command bit;
DELETE FROM command where name='event activelist';
INSERT INTO `command` VALUES
('event list',2,'Syntax: .event list\r\nShow list of currently active events.\r\nShow list of all events');

View file

@ -130,6 +130,8 @@ pkgdata_DATA = \
8589_11_characters_characters.sql \ 8589_11_characters_characters.sql \
8596_01_characters_bugreport.sql \ 8596_01_characters_bugreport.sql \
8600_01_mangos_command.sql \ 8600_01_mangos_command.sql \
8607_01_mangos_string.sql \
8607_02_mangos_command.sql \
README README
## Additional files to include when running 'make dist' ## Additional files to include when running 'make dist'
@ -240,4 +242,6 @@ EXTRA_DIST = \
8589_11_characters_characters.sql \ 8589_11_characters_characters.sql \
8596_01_characters_bugreport.sql \ 8596_01_characters_bugreport.sql \
8600_01_mangos_command.sql \ 8600_01_mangos_command.sql \
8607_01_mangos_string.sql \
8607_02_mangos_command.sql \
README README

View file

@ -173,7 +173,7 @@ ChatCommand * ChatHandler::getCommandTable()
static ChatCommand eventCommandTable[] = static ChatCommand eventCommandTable[] =
{ {
{ "activelist", SEC_GAMEMASTER, true, &ChatHandler::HandleEventActiveListCommand, "", NULL }, { "list", SEC_GAMEMASTER, true, &ChatHandler::HandleEventListCommand, "", NULL },
{ "start", SEC_GAMEMASTER, true, &ChatHandler::HandleEventStartCommand, "", NULL }, { "start", SEC_GAMEMASTER, true, &ChatHandler::HandleEventStartCommand, "", NULL },
{ "stop", SEC_GAMEMASTER, true, &ChatHandler::HandleEventStopCommand, "", NULL }, { "stop", SEC_GAMEMASTER, true, &ChatHandler::HandleEventStopCommand, "", NULL },
{ "", SEC_GAMEMASTER, true, &ChatHandler::HandleEventInfoCommand, "", NULL }, { "", SEC_GAMEMASTER, true, &ChatHandler::HandleEventInfoCommand, "", NULL },

View file

@ -160,7 +160,7 @@ class ChatHandler
bool HandleDebugSendSetPhaseShiftCommand(const char * args); bool HandleDebugSendSetPhaseShiftCommand(const char * args);
bool HandleDebugSendSpellFailCommand(const char* args); bool HandleDebugSendSpellFailCommand(const char* args);
bool HandleEventActiveListCommand(const char* args); bool HandleEventListCommand(const char* args);
bool HandleEventStartCommand(const char* args); bool HandleEventStartCommand(const char* args);
bool HandleEventStopCommand(const char* args); bool HandleEventStopCommand(const char* args);
bool HandleEventInfoCommand(const char* args); bool HandleEventInfoCommand(const char* args);

View file

@ -765,7 +765,9 @@ enum MangosStrings
LANG_RESET_PET_TALENTS_ONLINE = 1127, LANG_RESET_PET_TALENTS_ONLINE = 1127,
LANG_TAXINODE_ENTRY_LIST_CHAT = 1128, LANG_TAXINODE_ENTRY_LIST_CHAT = 1128,
LANG_TAXINODE_ENTRY_LIST_CONSOLE = 1129, LANG_TAXINODE_ENTRY_LIST_CONSOLE = 1129,
// Room for more level 3 1130-1199 not used LANG_EVENT_STARTED = 1130,
LANG_EVENT_STOPPED = 1131,
// Room for more level 3 1132-1199 not used
// Debug commands // Debug commands
LANG_CINEMATIC_NOT_EXIST = 1200, LANG_CINEMATIC_NOT_EXIST = 1200,

View file

@ -3717,24 +3717,38 @@ bool ChatHandler::HandleLookupEventCommand(const char* args)
return true; return true;
} }
bool ChatHandler::HandleEventActiveListCommand(const char* /*args*/) bool ChatHandler::HandleEventListCommand(const char* args)
{ {
uint32 counter = 0; uint32 counter = 0;
bool all = false;
std::string arg = args;
if (arg == "all")
all = true;
GameEventMgr::GameEventDataMap const& events = gameeventmgr.GetEventMap(); GameEventMgr::GameEventDataMap const& events = gameeventmgr.GetEventMap();
GameEventMgr::ActiveEvents const& activeEvents = gameeventmgr.GetActiveEventList(); GameEventMgr::ActiveEvents const& activeEvents = gameeventmgr.GetActiveEventList();
char const* active = GetMangosString(LANG_ACTIVE); char const* active = GetMangosString(LANG_ACTIVE);
char const* inactive = GetMangosString(LANG_FACTION_INACTIVE);
char const* state = "";
for(GameEventMgr::ActiveEvents::const_iterator itr = activeEvents.begin(); itr != activeEvents.end(); ++itr ) for (uint32 event_id = 0; event_id < events.size(); ++event_id)
{ {
uint32 event_id = *itr; if (activeEvents.find(event_id) == activeEvents.end())
{
if (!all)
continue;
state = inactive;
}
else
state = active;
GameEventData const& eventData = events[event_id]; GameEventData const& eventData = events[event_id];
if(m_session) if(m_session)
PSendSysMessage(LANG_EVENT_ENTRY_LIST_CHAT,event_id,event_id,eventData.description.c_str(),active ); PSendSysMessage(LANG_EVENT_ENTRY_LIST_CHAT, event_id, event_id, eventData.description.c_str(), state);
else else
PSendSysMessage(LANG_EVENT_ENTRY_LIST_CONSOLE,event_id,eventData.description.c_str(),active ); PSendSysMessage(LANG_EVENT_ENTRY_LIST_CONSOLE, event_id, eventData.description.c_str(), state);
++counter; ++counter;
} }
@ -3831,6 +3845,7 @@ bool ChatHandler::HandleEventStartCommand(const char* args)
return false; return false;
} }
PSendSysMessage(LANG_EVENT_STARTED, event_id, eventData.description.c_str());
gameeventmgr.StartEvent(event_id,true); gameeventmgr.StartEvent(event_id,true);
return true; return true;
} }
@ -3873,6 +3888,7 @@ bool ChatHandler::HandleEventStopCommand(const char* args)
return false; return false;
} }
PSendSysMessage(LANG_EVENT_STOPPED, event_id, eventData.description.c_str());
gameeventmgr.StopEvent(event_id,true); gameeventmgr.StopEvent(event_id,true);
return true; return true;
} }

View file

@ -1,4 +1,4 @@
#ifndef __REVISION_NR_H__ #ifndef __REVISION_NR_H__
#define __REVISION_NR_H__ #define __REVISION_NR_H__
#define REVISION_NR "8606" #define REVISION_NR "8607"
#endif // __REVISION_NR_H__ #endif // __REVISION_NR_H__

View file

@ -1,6 +1,6 @@
#ifndef __REVISION_SQL_H__ #ifndef __REVISION_SQL_H__
#define __REVISION_SQL_H__ #define __REVISION_SQL_H__
#define REVISION_DB_CHARACTERS "required_8596_01_characters_bugreport" #define REVISION_DB_CHARACTERS "required_8596_01_characters_bugreport"
#define REVISION_DB_MANGOS "required_8600_01_mangos_command" #define REVISION_DB_MANGOS "required_8607_02_mangos_command"
#define REVISION_DB_REALMD "required_8332_01_realmd_realmcharacters" #define REVISION_DB_REALMD "required_8332_01_realmd_realmcharacters"
#endif // __REVISION_SQL_H__ #endif // __REVISION_SQL_H__