TFS 0.4 rev 3777
Estou a dias tentando fazer uma função na source e não consigo, sou leigo.
Este sistema é para um servidor exp alta, já consegui fazer o level do player aparecer no lugar da experiencia no client, pois no lugar do level buga quando chega em um número muito alto, para tal simplesmente fiz isso:
uint64_t experience = player->getPlayerInfo(PLAYERINFO_LEVEL); msg->put<uint32_t>(experience);
E como o servidor tem sistema de resets, eu queria fazer aparecer no lugar do level, o reset do player.. primeiramente meu sistema de resets era com storage, e eu consegui fazer isso da seguinte maneira:
std::string value; player->getStorage(378378, value); int32_t resets = atoi(value.c_str()); msg->put<uint16_t>(resets);
Mas por motivos de praticidade para incluir informações e sistemas no site, mudei meu sistema de reset para registrar os resets na database. no caso o nome da coluna ficou 'reset'. Então tentei fazer aparecer os resets no client com uma query mysql mas como não tenho conhecimento de mysql em C++ deu errado kk
Vou postar como eu tentei:
Database* db = Database::getInstance(); DBQuery query; query << "SELECT `reset` FROM `players` WHERE `id` = " << player->getGUID(); DBResult* result; std::string resets; resets = result->getDataInt("reset"); int32_t resetes = atoi(resets.c_str()); msg->put<uint16_t>(resetes);
Obs: Isso não é source de OTClient, isso é na source do servidor, eu utilizo oldclient mesmo.. esta é a parte que envia para o client a informação de experiencia e level para que o client mostre ao player..
No caso originalmente está assim na source:
msg->put<uint16_t>(player->getPlayerInfo(PLAYERINFO_LEVEL));
Neste msg->put.. preciso por o valor que se encontra na minha database, na tabela reset.
Eu não sei fazer corretamente a query mysql e o code pra extrair a informação como int (número) e apresentar no lugar de player->getPlayerInfo(PLAYERINFO_LEVEL)
Eu já consegui alterar a informação que o servidor envia ao client, já está aparecendo meu level no lugar da exp, e resets no lugar do level quando uso o script de resets por storage, só não consigo fazer a query correta pra puxar a informação da database.
Segue prints: