Como adicionar novas vocações nesse script!

oralb
Por oralb
em Lixeira Pública

oralb

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 13/01/14Posts: 68

Bom galera tava procurando coisas legais aqui forum deparei com esse script feito pelo usuario Helflin daqui do forum, achei muito interessante só queria colocar em veis de

case 0: voc = "Rookie";break;
case 1: voc = "VIP MS";
break;
case 2: voc = "VIP ED";
break;
case 3: voc = "VIP RP";
break;
case 4: voc = "VIP EK"; 

colocar minhas vocações nova pq meu ot n tem vip obg

os ids das minhas vocações novas são 9,10,11,12

post-138652-0-57607700-1377214283.png

Vá em: "iologindata.h" e procure por isto:

uint32_t getAccountIdByName(const std::string& name) const;

Na linha de baixo, cole isto:

std::string getCheckPlayerLevel(const std::string& name) const;

Vá em: "iologindata.cpp" e no fim do arquivo, na ultima linha, cole o que esta logo abaixo:

 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";
}
}

else if (prom == 2)
{
switch (pVoc)
{
case 0: voc = "Rookie";
break;
case 1: voc = "VIP MS";
break;
case 2: voc = "VIP ED";
break;
case 3: voc = "VIP RP";
break;
case 4: voc = "VIP EK";
break;
default: voc = "Uknown";
}
}

std::stringstream ret;
ret << "Level: "<< pLevel << " Voc: " << voc;
result->free();
return ret.str();

}Vá em "protocollogin.cpp" e procure isto:output->putString(g_config.getString(ConfigManager::SERVE R_NAME));Troque por isto, ou então adicione // antes do inicio da linha://output->putString(g_config.getString(ConfigManager::SERVE R_NAME));Mais a baixo, onde estiver este código, selecione:            #ifndef __LOGIN_SERVER__
            output->putString((*it));
            if(g_config.getBool(ConfigManager::ON_OR_OFF_CHARLIST))
            {
                if(g_game.getPlayerByName((*it)))
                    output->putString("Online");
                else
                    output->putString("Offline");
            }
            else
                output->putString(g_config.getString(ConfigManager::SERVER_NAME));

            output->put<uint32_t>(serverIp);
            output->put<uint16_t>(g_config.getNumber(ConfigManager::GAME_PORT));
            #elseE altere por esse a baixo:
            #ifndef __LOGIN_SERVER__
            output->putString((*it));
            if(g_config.getBool(ConfigManager::ON_OR_OFF_CHARLIST))
            {
                if(g_game.getPlayerByName((*it)))
                    output->putString("Online");
                else
                    output->putString("Offline");
            }
                        else
            {
                std::stringstream str;
                Player *player = g_game.getPlayerByName((*it));
                bool v = false;
                if(!player)
                {
                    v = true;
                    player = g_game.getPlayerByNameEx((*it));
                }

                str << player->getVocation()->getName();
                str << ", ";
                str << player->getLevel();
                output->putString(str.str());
                if(v)
                    delete player;
            }

            output->put<uint32_t>(serverIp);
            output->put<uint16_t>(g_config.getNumber(ConfigManager::GAME_PORT));
            #else
Lembrando que para funcionar precisa estar assim no seu config.lua.
displayOnOrOffAtCharlist = false

tópico onde eu achei http://www.xtibia.com/forum/topic/219878-level-and-vocation-instead-of-world-name-on-character-login/

meubk

@miillerdomingues
avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 21/04/08Posts: 311

reportado para moverem para area de códigos c++

zipter98

avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 20/09/12Posts: 2553Gênero: Masculino

Área incorreta, tópico movido. Mais cuidado da próxima vez.

Não respondo PMs solicitando suporte. Já existem seções no fórum para isto.

oralb

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 13/01/14Posts: 68

up

Maenilse

q manero em fera
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 21/09/12Posts: 711Char no Tibia: noé

acho q só assim msm ja deve mostrar, pois serve até pras novas vocation, pelo menos com as minhas novas vocations esse codigo funfou.

oralb

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 13/01/14Posts: 68

vou copilar aqui e vou ver que der certo te dou reppp

chateadoagr

Banido Injustamente
avatar
Barão
Barão

INFOS

Grupo: BarãoRegistrado: 30/01/14Posts: 201Char no Tibia: Xtibia Infer

radbr?

tumblr_lie5z0nmHI1qbje8no1_500.gif

Bruno

Ousadia e Alegria
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 01/05/08Posts: 2571Gênero: Masculino

O tópico foi fechado e movido para lixeira por estar inativo a mais de 10 dias. Caso seja preciso reabrir o mesmo, favor entrar em contato com a equipe.

Atenciosamente,
Bruno Minervino

 

Tibia Clients - Downloads Window