Pesquisar na Comunidade
Mostrando resultados para as tags ''level on login''.
Encontrado 1 registro
-
dúvida Level and vocation instead of world name on character login
um tópico no fórum postou Helflin Linguagens de Programação
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: uint32_t getAccountIdByName(const std::string& name) const; Na linha de baixo, cole isto: std::string getCheckPlayerLevel(const std::string& name) const; 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: output->putString(g_config.getString(ConfigManager::SERVE R_NAME)); Troque por isto, ou então adicione // antes do inicio da linha: //output->putString(g_config.getString(ConfigManager::SERVE R_NAME)); 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)); #else E 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)); #else Lembrando que para funcionar precisa estar assim no seu config.lua. displayOnOrOffAtCharlist = false Créditos: EvulMastah(otland) >> Corrigiu o erro que dava. Jetro(otland) >> Postou os códigos. Eu, por trazer ao XTibia, rs.- 2 respostas
-
- level on login
- level
-
(e 2 mais)
Tags: