Nossa... muito legal, parabéns pelo script xD. só uma dúvida, funcionaria para OTC?
- Fórum
- OTServ
- Recursos
- Linguagens de Programação
- Nível e vocation em vez do nome do mundo em character login
Nível e vocation em vez do nome do mundo em character login
Por kaleudd, 18 de jan. de 2016 em Linguagens de Programação
info
Grupo: Marquês
Registrado: 18/05/11
Posts: 1.1k
Reputação: +333
Gênero: Masculino
Char no Tibia: Kyuzen

info
Grupo: Herói
Registrado: 12/03/11
Posts: 1.9k
Reputação: +284
Gênero: Masculino
Char no Tibia: Nokte

Coloque os créditos.
Nossa... muito legal, parabéns pelo script xD. só uma dúvida, funcionaria para OTC?
cara não cheguei a testar no otc,mais creio que sim.
info
Grupo: Marquês
Registrado: 18/05/11
Posts: 1.1k
Reputação: +333
Gênero: Masculino
Char no Tibia: Kyuzen

beleza, quando eu tiver tempo, irei testar xD. parabéns.
beleza, quando eu tiver tempo, irei testar xD. parabéns.
blz,tamo ai
info
Grupo: Campones
Registrado: 17/06/12
Posts: 72
Reputação: +49

Só uma correção para o tfs 0.3.6:
Em:
output->putString(g_config.getString(ConfigManager::SERVE R_NAME));
vai estar assim:
output->AddString(g_config.getString(ConfigManager::SERVER_NAME));
Ai substitui por:
//output->AddString(g_config.getString(ConfigManager::SERVER_NAME)); output->AddString(IOLoginData::getInstance()->getCheckPlayerLevel((*it)));
e quando tu fala para substituir em:
uint32_t getAccountIdByName(const std::string& name) const;
Na verdade é para adicionar em baixo dele:
std::string getCheckPlayerLevel(const std::string& name) const;
Testado no 0.3.6 com essas modificações e está 100%.
info
Grupo: Conde
Registrado: 14/04/15
Posts: 956
Reputação: +333
Gênero: Masculino

Se eu tenta-se enviar outra informação, tipo o id da outfit em que o player está usando, iria funcionar?
info
Grupo: Campones
Registrado: 02/07/11
Posts: 37
Reputação: +3
Gênero: Masculino

Olá ira funcionar sim. contando que você entenda de programação. oque acontece ali é que é mostrado informações de uma tabela, ou seja do banco de dados, então qualquer dado pode ser mostrado ali, acredito que basta você achar a configuração lua que faz isso e alterar seus dados pelo quais você deseja.





info
Grupo: Conde
Registrado: 15/06/15
Posts: 729
Reputação: +200
img:
em iologindata.h
procure:
e substituia por:
iologindata.cpp
para tfs 0.3.6
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 tfs 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(); }agora em protocollogin.cpp
procure:
e em baixo adicione:
testado em 0.3.6 e 0.4 tfs.
créditos:
jetros
Editado Janeiro 18 por kaleudd