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

--HG--
branch : trunk
This commit is contained in:
megamage
2009-04-27 18:46:44 -05:00
parent f62415a30c
commit d4c75dddea
3 changed files with 23 additions and 12 deletions
+4 -4
View File
@@ -23,7 +23,7 @@ DROP TABLE IF EXISTS `db_version`;
CREATE TABLE `db_version` ( 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,
`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'; ) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=FIXED COMMENT='Used DB version notes';
-- --
@@ -2843,9 +2843,9 @@ INSERT INTO `mangos_string` VALUES
(554,'%s has hidden all zones from you.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), (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), (555,'Hover enabled',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
(556,'Hover disabled',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), (557,'%s level up you to (%i)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
(558,'You have been leveled down (%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,'Your level progress has been reset.',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), (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), (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), (562,'GUID=%i \'s updateIndex: %i, value: %i.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
@@ -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);
+12 -8
View File
@@ -4494,12 +4494,15 @@ void ChatHandler::HandleCharacterLevel(Player* player, uint64 player_guid, uint3
player->InitTalentForLevel(); player->InitTalentForLevel();
player->SetUInt32Value(PLAYER_XP,0); player->SetUInt32Value(PLAYER_XP,0);
if(oldlevel == newlevel) if(needReportToTarget(player))
ChatHandler(player).SendSysMessage(LANG_YOURS_LEVEL_PROGRESS_RESET); {
else if(oldlevel < newlevel) if(oldlevel == newlevel)
ChatHandler(player).PSendSysMessage(LANG_YOURS_LEVEL_UP,newlevel-oldlevel); ChatHandler(player).PSendSysMessage(LANG_YOURS_LEVEL_PROGRESS_RESET,GetNameLink().c_str());
else // if(oldlevel > newlevel) else if(oldlevel < newlevel)
ChatHandler(player).PSendSysMessage(LANG_YOURS_LEVEL_DOWN,newlevel-oldlevel); ChatHandler(player).PSendSysMessage(LANG_YOURS_LEVEL_UP,GetNameLink().c_str(),newlevel);
else // if(oldlevel > newlevel)
ChatHandler(player).PSendSysMessage(LANG_YOURS_LEVEL_DOWN,GetNameLink().c_str(),newlevel);
}
} }
else else
{ {
@@ -4592,7 +4595,7 @@ bool ChatHandler::HandleCharacterLevelCommand(const char* args)
HandleCharacterLevel(chr,chr_guid,oldlevel,newlevel); 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); std::string nameLink = playerLink(name);
PSendSysMessage(LANG_YOU_CHANGE_LVL,nameLink.c_str(),newlevel); PSendSysMessage(LANG_YOU_CHANGE_LVL,nameLink.c_str(),newlevel);
@@ -4677,11 +4680,12 @@ bool ChatHandler::HandleLevelUpCommand(const char* args)
HandleCharacterLevel(chr,chr_guid,oldlevel,newlevel); 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); std::string nameLink = playerLink(name);
PSendSysMessage(LANG_YOU_CHANGE_LVL,nameLink.c_str(),newlevel); PSendSysMessage(LANG_YOU_CHANGE_LVL,nameLink.c_str(),newlevel);
} }
return true; return true;
} }