[7720] Fixed crash at .character level use from console. Include GM name in message for command target if report need.

This commit is contained in:
VladimirMangos 2009-04-26 23:28:16 +04:00
parent b62c142425
commit b9853cb958
5 changed files with 26 additions and 13 deletions

View file

@ -23,7 +23,7 @@ DROP TABLE IF EXISTS `db_version`;
CREATE TABLE `db_version` (
`version` varchar(120) default NULL,
`creature_ai_version` varchar(120) default NULL,
`required_7714_01_mangos_command` bit(1) default NULL
`required_7720_01_mangos_mangos_string` bit(1) default NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=FIXED COMMENT='Used DB version notes';
--
@ -2844,9 +2844,9 @@ INSERT INTO `mangos_string` VALUES
(554,'%s has hidden all zones from you.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
(555,'Hover enabled',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
(556,'Hover disabled',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
(557,'You have been leveled up (%i)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
(558,'You have been leveled down (%i)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
(559,'Your level progress has been reset.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
(557,'%s level up you to (%i)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
(558,'%s level down you to (%i)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
(559,'%s reset your level progress.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
(560,'The area has been set as explored.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
(561,'The area has been set as not explored.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
(562,'GUID=%i \'s updateIndex: %i, value: %i.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),

View file

@ -0,0 +1,7 @@
ALTER TABLE db_version CHANGE COLUMN required_7714_01_mangos_command required_7720_01_mangos_mangos_string bit;
DELETE FROM mangos_string WHERE entry IN(557,558,559);
INSERT INTO mangos_string VALUES
(557,'%s level up you to (%i)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
(558,'%s level down you to (%i)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
(559,'%s reset your level progress.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);

View file

@ -176,6 +176,7 @@ pkgdata_DATA = \
7705_01_mangos_command.sql \
7706_01_mangos_command.sql \
7714_01_mangos_command.sql \
7720_01_mangos_mangos_string.sql \
README
## Additional files to include when running 'make dist'
@ -332,4 +333,5 @@ EXTRA_DIST = \
7705_01_mangos_command.sql \
7706_01_mangos_command.sql \
7714_01_mangos_command.sql \
7720_01_mangos_mangos_string.sql \
README

View file

@ -3904,12 +3904,15 @@ void ChatHandler::HandleCharacterLevel(Player* player, uint64 player_guid, uint3
player->InitTalentForLevel();
player->SetUInt32Value(PLAYER_XP,0);
if(needReportToTarget(player))
{
if(oldlevel == newlevel)
ChatHandler(player).SendSysMessage(LANG_YOURS_LEVEL_PROGRESS_RESET);
ChatHandler(player).PSendSysMessage(LANG_YOURS_LEVEL_PROGRESS_RESET,GetNameLink().c_str());
else if(oldlevel < newlevel)
ChatHandler(player).PSendSysMessage(LANG_YOURS_LEVEL_UP,newlevel-oldlevel);
ChatHandler(player).PSendSysMessage(LANG_YOURS_LEVEL_UP,GetNameLink().c_str(),newlevel);
else // if(oldlevel > newlevel)
ChatHandler(player).PSendSysMessage(LANG_YOURS_LEVEL_DOWN,newlevel-oldlevel);
ChatHandler(player).PSendSysMessage(LANG_YOURS_LEVEL_DOWN,GetNameLink().c_str(),newlevel);
}
}
else
{
@ -4002,7 +4005,7 @@ bool ChatHandler::HandleCharacterLevelCommand(const char* args)
HandleCharacterLevel(chr,chr_guid,oldlevel,newlevel);
if(m_session->GetPlayer() != chr) // including player==NULL
if(m_session && m_session->GetPlayer() != chr) // including player==NULL
{
std::string nameLink = playerLink(name);
PSendSysMessage(LANG_YOU_CHANGE_LVL,nameLink.c_str(),newlevel);
@ -4087,11 +4090,12 @@ bool ChatHandler::HandleLevelUpCommand(const char* args)
HandleCharacterLevel(chr,chr_guid,oldlevel,newlevel);
if(m_session->GetPlayer() != chr) // including chr==NULL
if(m_session && m_session->GetPlayer() != chr) // including chr==NULL
{
std::string nameLink = playerLink(name);
PSendSysMessage(LANG_YOU_CHANGE_LVL,nameLink.c_str(),newlevel);
}
return true;
}

View file

@ -1,4 +1,4 @@
#ifndef __REVISION_NR_H__
#define __REVISION_NR_H__
#define REVISION_NR "7719"
#define REVISION_NR "7720"
#endif // __REVISION_NR_H__