Ir para conteúdo

Como adicionar novas vocações nesse script!


oralb

Posts Recomendados

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/

Editado por oralb
Link para o comentário
Compartilhar em outros sites

  • 2 weeks later...
  • 1 year later...

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.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...