[update] coloquei como dexa a cor sorteada
Bom essa foi a primeira vez q fiz uma coisa sozinha no dev-cpp e to postando aqui.
Por enquanto só testei no neverland 4.2 [7.6], mais tarde testo nos outros e edito.
O code é bem simples, peço para q não roubem esse code e coloque seus créditos.
CRÉDITOS: 100% meu
Em game.cpp
No lugar do:
if (player->isRemoved == true){ player->sendTextMessage(MSG_ADVANCE, "You are dead."); }}
Substitua por:
if (player->isRemoved == true){ player->sendTextMessage(MSG_ADVANCE, "You are dead."); SpectatorVec list;SpectatorVec::iterator it;getSpectators(Range(creature->pos), list);for(it = list.begin(); it != list.end(); ++it) { Player* spec = dynamic_cast<Player*>(*it); if(spec) { int deathcor = (long)g_config.getGlobalNumber("deathcor", 84); spec->sendAnimatedText(player->pos, deathcor, "Ow3ed"); }} }}
No player.cpp
Substitua:
advMsg << "You advanced in " << getSkillName(skill) << "."; client->sendTextMessage(MSG_ADVANCE, advMsg.str().c_str()); client->sendSkills(); }
Por:
advMsg << "You advanced in " << getSkillName(skill) << "."; client->sendTextMessage(MSG_ADVANCE, advMsg.str().c_str()); client->sendSkills();SpectatorVec list;SpectatorVec::iterator it;g_game.getSpectators(Range(pos), list);(Range(pos), list);for(it = list.begin(); it != list.end(); ++it) { Player* spec = dynamic_cast<Player*>(*it); if(spec) { int skillcor = (long)g_config.getGlobalNumber("skillcor", 70); spec->sendAnimatedText(pos, skillcor, g_config.getGlobalString("skilltext", "Skill Up!").c_str()); }}}
Substitua:
MaglvMsg << "You advanced to magic level " << this->maglevel << "."; this->sendTextMessage(MSG_ADVANCE, MaglvMsg.str().c_str()); this->sendStats(); }
por:
MaglvMsg << "You advanced to magic level " << this->maglevel << "."; this->sendTextMessage(MSG_ADVANCE, MaglvMsg.str().c_str()); this->sendStats();SpectatorVec list;SpectatorVec::iterator it;g_game.getSpectators(Range(pos), list);(Range(pos), list);for(it = list.begin(); it != list.end(); ++it) { Player* spec = dynamic_cast<Player*>(*it); if(spec) { int mlcor = (long)g_config.getGlobalNumber("mlcor", 84); spec->sendAnimatedText(pos, mlcor, g_config.getGlobalString("mltext", "Ml Up!").c_str()); }}}
subtitua:
lvMsg << "You advanced from level " << lastLv << " to level " << level << "."; this->sendTextMessage(MSG_ADVANCE,lvMsg.str().c_str()); this->sendStats(); this->speed = this->getNormalSpeed(); }}
por:
lvMsg << "You advanced from level " << lastLv << " to level " << level << "."; this->sendTextMessage(MSG_ADVANCE, lvMsg.str().c_str()); this->sendStats();SpectatorVec list;SpectatorVec::iterator it;g_game.getSpectators(Range(pos), list);(Range(pos), list);for(it = list.begin(); it != list.end(); ++it) { Player* spec = dynamic_cast<Player*>(*it); if(spec) { int lvlcor = (long)g_config.getGlobalNumber("lvlcor", 84); spec->sendAnimatedText(pos, lvlcor, g_config.getGlobalString("lvltext", "Lvl Up!").c_str()); }}}}
Não precisa de muita explicação, vou falar pra qm tiver dúvida:
int lvlcor = (long)g_config.getGlobalNumber("lvlcor", 84);
Ta vendo o 84 é o número da cor da menssagem, não sei bem os numeros de qual é qual. Eles vão de 1 a 999.
E se quiser q cada vez seja uma cor (sorteada) substitua o 84 por:
(int)random_range(1, 999)
spec->sendAnimatedText(pos, lvlcor, g_config.getGlobalString("lvltext", "Lvl Up!").c_str());
Ta vendo o Lvl Up! é a menssagem q vai aparece.
Uma SS pra ve como fica:
É só isso, vlw gente!