Verifica na classe:
Database
as funções existentes dentro dela..
verifica se existe alguma como executeQuery(DBQuery query) ou qualquer função que receba DBQuery como parâmetro e a execute no banco de dados.
Após encontrar, verifica dentro da classe :
DBResult
como é acessado o valor retornado do banco de dados, como alguma função do seu exemplo: result->getDataInt("reset")
Com essas duas informações em mãos, vc pode usar como no seu exemplo, adicionando apenas a linha do result = db->executeQuery(query), exemplo:
Database* db = Database::getInstance(); DBQuery query; query << "SELECT `reset` FROM `players` WHERE `id` = " << player->getGUID(); DBResult* result; result = db->executeQuery(query); std::string resets; resets = result->getDataInt("reset"); int32_t resetes = atoi(resets.c_str()); msg->put<uint16_t>(resetes);


info
Grupo: Campones
Registrado: 24/11/09
Posts: 57
Reputação: +10
Gênero: Masculino
Char no Tibia: [ADM] Luan
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:
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:
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:
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:
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: