Comparte
Ver el tema anteriorIr abajoVer el tema siguiente
avatar
Administrador
Mensajes Mensajes : 350
Ver perfil de usuariohttp://www.othispano.net

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

el 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:


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
avatar
Miembro
Mensajes Mensajes : 54
Ver perfil de usuario

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

el 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
avatar
Moderador
Mensajes Mensajes : 312
Ver perfil de usuariohttp://www.otsuporter.com/

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

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

__________________________________________________
avatar
Miembro
Mensajes Mensajes : 54
Ver perfil de usuario

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

el Vie Mayo 18, 2012 12:59 am
lastima que no tengo sources Sad
avatar
Miembro
Mensajes Mensajes : 42
Ver perfil de usuario

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

el Vie Mayo 18, 2012 10:33 am
Esta Exelente Falcon Me Gusto Mucho
avatar
Moderador
Mensajes Mensajes : 27
Ver perfil de usuario

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

el Dom Jul 29, 2012 12:36 am
Muy buena, me ha gustado mucho. +REP
Miembro
Mensajes Mensajes : 36
Ver perfil de usuario

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

el 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:
->
<-
Miembro
Mensajes Mensajes : 1
Ver perfil de usuario

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

el Sáb Ago 18, 2012 10:29 pm
Créditos: Jetro Very Happy
Diseñador Web
Mensajes Mensajes : 31
Ver perfil de usuario

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

el 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

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

Ver el tema anteriorVolver arribaVer el tema siguiente
Permisos de este foro:
No puedes responder a temas en este foro.