Testé sur la révision des 9271, 9626, 9765 et 9799e
C'est un classique système d'annonce.
Je ne sais pas qui est l'auteur de la première version que j'ai édité.
ça m'a coûté quelques heures, y compris les tests.
1. SQL (world database):
Code :
INSERT INTO `mangos_string` (`entry`,`content_default`,`content_loc1`,`content_loc2`,`content_loc3`,`content_loc4`,`content_loc5`,`content_loc6`,`content_loc7`,`content_loc8`) VALUES
(1301,'|c1f40af20<Moderateur> |cffff0000[%s]|c1f40af20:|cffffff00 %s|r',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
(1302,'|c1f40af20<MJ.Event> |cffff0000[%s]|c1f40af20:|cffffff00 %s|r',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
(1303,'|c1f40af20<MJ> |cffff0000[%s]|c1f40af20:|cffffff00 %s|r',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
(1304,'|c1f40af20<Developpeur> |cffff0000[%s]|c1f40af20:|cffffff00 %s|r',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
(1305,'|c1f40af20<Administrateur> |cffff0000[%s]|c1f40af20:|cffffff00 %s|r',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
(1306,'|c1f40af20<Console> |cffff0000[MaNGOS]|c1f40af20:|cffffff00 %s|r',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
UPDATE `command` SET `security` = 6 WHERE `security` = 4;
UPDATE `command` SET `security` = 4 WHERE `security` = 3;
UPDATE `command` SET `security` = 3 WHERE `security` = 2;
2. CORE src/game/Language.h
Code :
LANG_SYSTEMMESSAGE_MODERATOR = 1301,
LANG_SYSTEMMESSAGE_EVENTER = 1302,
LANG_SYSTEMMESSAGE_GAMEMASTER = 1303,
LANG_SYSTEMMESSAGE_DEVELOPER = 1304,
LANG_SYSTEMMESSAGE_ADMINISTRATOR = 1305,
LANG_SYSTEMMESSAGE_CONSOLE = 1306,
3. CORE src/game/Level1.cpp ChatHandler::HandleAnnounceCommand
Code :
bool ChatHandler::HandleAnnounceCommand(const char* args)
{
if(!*args)
return false;
if(m_session)
{
int32 strid;
strid = (m_session->GetSecurity() + 1300);
sWorld.SendWorldText(strid, m_session->GetPlayerName(), args);
return true;
}
else if(!m_session)
{
sWorld.SendWorldText(LANG_SYSTEMMESSAGE_CONSOLE, args);
return true;
}
return false;
}
4. CORE src/shared/common.h enum AccountTypes
remplacer ça :
Code :
enum AccountTypes
{
SEC_PLAYER = 0,
SEC_MODERATOR = 1,
SEC_GAMEMASTER = 2,
SEC_ADMINISTRATOR = 3,
SEC_CONSOLE = 4 / / doit être toujours en dernier dans la liste, les comptes doivent avoir un niveau de sécurité de moins.
};
par :
Code :
enum AccountTypes
{
SEC_PLAYER = 0,
SEC_MODERATOR = 1,
SEC_EVENTER = 2,
SEC_GAMEMASTER = 3,
SEC_DEVELOPER = 4,
SEC_ADMINISTRATOR = 5,
SEC_CONSOLE = 6 / / doit être toujours en dernier dans la liste, les comptes doivent avoir un niveau de sécurité de moins.
};
+1 pour merci.