lol mt foda ... isso pega em qualquer versao ?
nao testei mais rep ++ por trazer conteúdo ao forum
Por Helflin, 22 de ago. de 2013 em Linguagens de Programação
lol mt foda ... isso pega em qualquer versao ?
nao testei mais rep ++ por trazer conteúdo ao forum
info
Grupo: Artesão
Registrado: 26/05/08
Posts: 142
Reputação: +9
Bom consegui o que queria, kkkkk... transformei em tutorial....
Essas modificações fará com que fique assim:

Vá em: "iologindata.h" e procure por isto:
Na linha de baixo, cole isto:
Vá em: "iologindata.cpp" e no fim do arquivo, na ultima linha, cole o que esta logo abaixo:
std::string IOLoginData::getCheckPlayerLevel(const std::string& name) const { Database* db = Database::getInstance(); DBQuery query; query << "SELECT `level`, `vocation`, `promotion` FROM `players` WHERE `name` " << db->getStringComparer() << db->escapeString(name) << ";"; DBResult* result; if(!(result = db->storeQuery(query.str()))) return false; const uint32_t pLevel = result->getDataInt("level"); const uint32_t pVoc = result->getDataInt("vocation"); const uint32_t prom = result->getDataInt("promotion"); std::string voc; if (prom == 0) { switch (pVoc) { case 0: voc = "Rookie"; break; case 1: voc = "S"; break; case 2: voc = "D"; break; case 3: voc = "P"; break; case 4: voc = "K"; break; default: voc = "Uknown"; } } else if (prom == 1) { switch (pVoc) { case 0: voc = "Rookie"; break; case 1: voc = "MS"; break; case 2: voc = "ED"; break; case 3: voc = "RP"; break; case 4: voc = "EK"; break; default: voc = "Uknown"; } } else if (prom == 2) { switch (pVoc) { case 0: voc = "Rookie"; break; case 1: voc = "VIP MS"; break; case 2: voc = "VIP ED"; break; case 3: voc = "VIP RP"; break; case 4: voc = "VIP EK"; break; default: voc = "Uknown"; } } std::stringstream ret; ret << "Level: "<< pLevel << " Voc: " << voc; result->free(); return ret.str(); }Vá em "protocollogin.cpp" e procure isto:
Troque por isto, ou então adicione // antes do inicio da linha:
Mais a baixo, onde estiver este código, selecione:
#ifndef __LOGIN_SERVER__ output->putString((*it)); if(g_config.getBool(ConfigManager::ON_OR_OFF_CHARLIST)) { if(g_game.getPlayerByName((*it))) output->putString("Online"); else output->putString("Offline"); } else output->putString(g_config.getString(ConfigManager::SERVER_NAME)); output->put<uint32_t>(serverIp); output->put<uint16_t>(g_config.getNumber(ConfigManager::GAME_PORT)); #elseE altere por esse a baixo:
#ifndef __LOGIN_SERVER__ output->putString((*it)); if(g_config.getBool(ConfigManager::ON_OR_OFF_CHARLIST)) { if(g_game.getPlayerByName((*it))) output->putString("Online"); else output->putString("Offline"); } else { std::stringstream str; Player *player = g_game.getPlayerByName((*it)); bool v = false; if(!player) { v = true; player = g_game.getPlayerByNameEx((*it)); } str << player->getVocation()->getName(); str << ", "; str << player->getLevel(); output->putString(str.str()); if(v) delete player; } output->put<uint32_t>(serverIp); output->put<uint16_t>(g_config.getNumber(ConfigManager::GAME_PORT)); #elseLembrando que para funcionar precisa estar assim no seu config.lua.
Créditos:
EvulMastah(otland) >> Corrigiu o erro que dava.
Jetro(otland) >> Postou os códigos.
Eu, por trazer ao XTibia, rs.
Editado Agosto 22 por Helflin