Postado Julho 15, 2012 12 anos Olá TKbianos, Estou aqui postando um script de C++ muito interessante e util ! Imagem de como funciona : Bem, aqui está o código : iologindata.h Vá para : C code : uint32_t getAccountIdByName(const std::string& name) const; Cole em baixo : C code : std::string getCheckPlayerLevel(const std::string& name) const; iologindata.cpp (cole no final do file..) para 0.3.6pl1 C code : 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->getStringComparison() << 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"; } } std::stringstream ret; ret << "Level: "<< pLevel << " Voc: " << voc; result->free(); return ret.str(); } para 0.4 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"; } } std::stringstream ret; ret << "Level: "<< pLevel << " Voc: " << voc; result->free(); return ret.str(); } Caso você queira adicionar outra vocação é só você por assim : case 5: voc = "M"; break; Antes do "default: voc = "Uknown";", não se esqueça de por no lugar de não promotions e promotions. protocollogin.cpp procure por : C code: output->putString(g_config.getString(ConfigManager::SERVE R_NAME)); troque por : C code: //output->putString(g_config.getString(ConfigManager::SERVE R_NAME)); em baixo bote : C code: output->putString(IOLoginData::getInstance()->getCheckPlayerLevel((*it))); Funciona em TFS 0.3.6pl1 e 0.4 Créditos : Jetro Eu (Traduções e explicações [apenas]) Espero que vocês gostem ! Att. Huziwara no Mokou
Postado Agosto 26, 2012 12 anos Será que você pode colocar ss , porque tem local ae que não consegui achar no meu ot ;x
Postado Agosto 26, 2012 12 anos Bom, mas o ruim é a parte do world que não mostra. www.patronum.online
Postado Dezembro 19, 2013 11 anos oi no meu projeto nao tem os c++ eu teria de descompilar meu distro ? ou algo do tipo para conseguir fazer isso ? gostaria q me explica-se como fazer pois so meio leigo sobre esse assunto abrigado ;DD
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.