OTHispano
¿Quieres reaccionar a este mensaje? Regístrate en el foro con unos pocos clics o inicia sesión para continuar.

Ir abajo
Falcon
Falcon
Administrador
Mensajes Mensajes : 350
http://www.othispano.net

Level y vocation en lugar del mundo en la lista de characters Empty Level y vocation en lugar del mundo en la lista de characters

Miér Mayo 16, 2012 10:19 pm
Reputación del mensaje :100% (3 votos)
Hola a todos, hace poco un user de OTLand, posteó un código para mostrar el nivel en lugar del nombre del mundo en la lista de characters, yo le he hecho unas modificaciones y ahora muestra el nivel y la vocación, la mayoría de créditos son para él por haberme suministrado la base.

muestra el characterlist de esta manera:
Level y vocation en lugar del mundo en la lista de characters LK3SG

Acá está el código:

iologindata.h
busca:
Código:
uint32_t getAccountIdByName(const std::string& name) const;

y pega esto abajo
Código:
std::string getCheckPlayerLevel(const std::string& name) const;

iologindata.cpp (pega al final del documento)
para 0.3.6pl1
Código:
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
Código:
std::string IOLoginData::getCheckPlayerLevel(const std::string& name) const
{
Database* db = Database::getInstance();
DBQuery query, queryb;
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();

}


en protocollogin.cpp
busca:
Código:
output->putString(g_config.getString(ConfigManager::SERVE R_NAME));
reemplaza por:
Código:
//output->putString(g_config.getString(ConfigManager::SERVE R_NAME));
abajo de eso pega:
Código:
output->putString(IOLoginData::getInstance()->getCheckPlayerLevel((*it)));

Creditos
100% Jetro Very Happy


Última edición por Falcon el Dom Ago 19, 2012 11:26 am, editado 1 vez
Kriiss
Kriiss
Miembro
Mensajes Mensajes : 54

Level y vocation en lugar del mundo en la lista de characters Empty Re: Level y vocation en lugar del mundo en la lista de characters

Jue Mayo 17, 2012 12:37 am
Reputación del mensaje :100% (1 voto)
exelente muchos de esos los pasare a mi ot Very Happy
ﻝhonLedit
ﻝhonLedit
Moderador
Mensajes Mensajes : 312
http://www.otsuporter.com/

Level y vocation en lugar del mundo en la lista de characters Empty Re: Level y vocation en lugar del mundo en la lista de characters

Jue Mayo 17, 2012 2:25 pm
exelente para el reo ya me imajino Gracias +rep
Kriiss
Kriiss
Miembro
Mensajes Mensajes : 54

Level y vocation en lugar del mundo en la lista de characters Empty Re: Level y vocation en lugar del mundo en la lista de characters

Vie Mayo 18, 2012 12:59 am
lastima que no tengo sources Sad
*º~[Darkar]~º*
*º~[Darkar]~º*
Miembro
Mensajes Mensajes : 42

Level y vocation en lugar del mundo en la lista de characters Empty Re: Level y vocation en lugar del mundo en la lista de characters

Vie Mayo 18, 2012 10:33 am
Esta Exelente Falcon Me Gusto Mucho
Syko
Syko
Moderador
Mensajes Mensajes : 27

Level y vocation en lugar del mundo en la lista de characters Empty Re: Level y vocation en lugar del mundo en la lista de characters

Dom Jul 29, 2012 12:36 am
Muy buena, me ha gustado mucho. +REP
avatar
Masakre
Miembro
Mensajes Mensajes : 36

Level y vocation en lugar del mundo en la lista de characters Empty Re: Level y vocation en lugar del mundo en la lista de characters

Dom Ago 05, 2012 9:31 pm
Es muy interesante esto de mostrar el Level y Vocación, sobretodo porque la mayoría de los OTs no cuentan con distintos mundos.
Debido a que estos últimos días aprendí lo básico de C++ consigo comprender algunas cositas!
Sin embargo, tengo una duda... y es una duda que se me ha presentado en muchas ocasiones.
¿Para qué sirve el guión seguido de mayor/menor?
Me refiero a esto:
->
<-
avatar
Jetro
Miembro
Mensajes Mensajes : 1

Level y vocation en lugar del mundo en la lista de characters Empty Re: Level y vocation en lugar del mundo en la lista de characters

Sáb Ago 18, 2012 10:29 pm
Créditos: Jetro Very Happy
avatar
Mythos
Diseñador Web
Mensajes Mensajes : 31

Level y vocation en lugar del mundo en la lista de characters Empty Re: Level y vocation en lugar del mundo en la lista de characters

Dom Sep 02, 2012 4:08 pm
Reputación del mensaje :100% (1 voto)
Masakre escribió:Es muy interesante esto de mostrar el Level y Vocación, sobretodo porque la mayoría de los OTs no cuentan con distintos mundos.
Debido a que estos últimos días aprendí lo básico de C++ consigo comprender algunas cositas!
Sin embargo, tengo una duda... y es una duda que se me ha presentado en muchas ocasiones.
¿Para qué sirve el guión seguido de mayor/menor?
Me refiero a esto:
->
<-

Apuntador que hace referencia a una estructura.
Contenido patrocinado

Level y vocation en lugar del mundo en la lista de characters Empty Re: Level y vocation en lugar del mundo en la lista de characters

Volver arriba
Permisos de este foro:
No puedes responder a temas en este foro.