Ir para conteúdo

Corpse Por Vocation C++


Applezin

Posts Recomendados

Olá galera, eu vi muita gente querendo script de Corpse por vocation. Tentaram fazer até no script lua, Mas eu acho mais fácil fazer pelas sources mesmo.

 

1° Abra as sources do seu servidor, e abra o arquivo chamado "Players.cpp", depois Procure por

uint16_t Player::getLookCorpse() const
{
if(sex % 2)
return ITEM_MALE_CORPSE;
 
return ITEM_FEMALE_CORPSE;
}
Depois mude esse código para
uint16_t Player::getLookCorpse() const
 
{
    uint16_t sorcerer, druid, paladin, knight, defaultt = 0;
 
    /*Config */
 
    sorcerer = 3343;  // corpse do sorcerer
 
    druid = 3343;    // corpse do druid
 
    paladin = 3343;    // corpse do paladin
 
    knight = 334;    // corpse do knight
        
    defaultt = 3354;    // corpse padrão.
 
    /*End */
 
    if (getVocationId() == 1 || getVocationId() == 5) 
        return sorcerer;  
 
    else if (getVocationId() == 2 || getVocationId() == 6)
        return druid; 
 
    else if (getVocationId() == 3 || getVocationId() == 7) 
        return  paladin;  
 
    else if (getVocationId() == 4 || getVocationId() == 8) 
        return knight;  
 
    return defaultt;  
}
Como configurar ao seu gosto ?

Mudando id do corpse
Fácil, ta vendo aonde está assim

/*Config */
 
    sorcerer = ID DO CORPSE;  // corpse do sorcerer
 
    druid = ID DO CORPSE;    // corpse do druid
 
    paladin = ID DO CORPSE;    // corpse do paladin
 
    knight = ID DO CORPSE;    // corpse do knight
        
    defaultt = ID DO CORPSE;    // corpse padrão.
 
    /*End */
Adicionando novas vocations
Também é fácil, instruções \/
Procure por
  if (getVocationId() == 1 || getVocationId() == 5) 
        return sorcerer;  
 
e adicione uma nova vocation

if (getVocationId() == ID DA VOCATION || getVocationId() == ID DA VOCATION)
return NOME DA VOCATION;
/\ NOME QUE VAI DECLARAR NA INT
Declarando nome na int
Procure por
uint16_t sorcerer, druid, paladin, knight, defaultt = 0;
E adicione um nome entre eles, tipo.
uint16_t sorcerer, NOME DA VOCATION, druid, paladin, knight, defaultt = 0;
Adicionando o local da int
Procure por

 sorcerer = 3343;  // corpse do sorcerer
Embaixo dele adicione uma nova vocation assim \/
NOME DA VOCATION = ID DO CORPSE; // COMENTARIO

Pronto fim mdr.gif
Editado por Applezin
Link para o comentário
Compartilhar em outros sites

Applezin demais!

Tem como colocar pelas sources tambem,se por exemplo o player morrer e tiver X storage ,dropa X corpo?

Digo dentro de cada vocation ai no script seu.

Por exemplo:

Sorcerer com storage 10001 cai o corpo x.

Sorcerer com storage 10002 cai o corpo y.

Sorcerer com storage 10003 cai o corpo z.

 

Tem como? Pois eu queria que dropasse cada corpo quando o player tivesse tal storage.

Link para o comentário
Compartilhar em outros sites

Applezin demais!

Tem como colocar pelas sources tambem,se por exemplo o player morrer e tiver X storage ,dropa X corpo?

Digo dentro de cada vocation ai no script seu.

Por exemplo:

Sorcerer com storage 10001 cai o corpo x.

Sorcerer com storage 10002 cai o corpo y.

Sorcerer com storage 10003 cai o corpo z.

 

Tem como? Pois eu queria que dropasse cada corpo quando o player tivesse tal storage.

 

Nao, pq storage acredito eu q é só usado em scripts em lua. :S

Mas .... eu vou ver oq consigo aqui, vou estudar lua para tentar fazer isso ligado ao distro!

 

Boa mais tarde eu testo , REP + e bem vindo ao fórum.

 

Vlw

 

bom código já pensou em colocar o id dos corpses no config.lua usando o configmanager?

 

Eu não tinha pensado nisso, Mas Seria melhor botando o local em um xml, tipo no vocations ?

quando eu fazer algum ot aqui e postar, vou bota uma função de corpse lá.

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

Eu não tinha pensado nisso, Mas Seria melhor botando o local em um xml, tipo no vocations ?

quando eu fazer algum ot aqui e postar, vou bota uma função de corpse lá.

Boa ideia adicionar configurações no xml não é complicado não só estudar as já existentes

Link para o comentário
Compartilhar em outros sites

 

Eu não tinha pensado nisso, Mas Seria melhor botando o local em um xml, tipo no vocations ?

quando eu fazer algum ot aqui e postar, vou bota uma função de corpse lá.

Boa ideia adicionar configurações no xml não é complicado não só estudar as já existentes

 

 

Sim, eu estou criando um servidor derivado de dbz, estilo o dbo. ai eu vou adicionar essa função e vou disponibilizar ele para download, mas eu só vou botar ele para download, quando eu terminar o otclient, aonde é a area q eu mais sofro kkk!

Link para o comentário
Compartilhar em outros sites

  • 2 months later...

Revivendo por conta de eu abordar o assunto do tópico.

 

Eu fiz tudo certo, exatamente desde modo:

uint16_t Player::getLookCorpse() const
{
    uint16_t darkelf, geryon, dwarf, orc, elf, human, defaultt = 0;

    /*Config */

    darkelf = 2945;  // corpse of liz

    geryon = 3080;    // don't have the dead corpse yet

    dwarf = 2960;    // corpse dwarf

    orc = 3080;    // corpse normalorc

    elf = 2945;    // corpse of elf

    human = 3058;    // corpse do knight
  
    defaultt = 3354;    // corpse padrão.

    /*End */

    if (getVocationId() == 1 || getVocationId() == 1)
        return darkelf;

    else if (getVocationId() == 2 || getVocationId() == 2)
        return geryon;

    else if (getVocationId() == 3 || getVocationId() == 3)
        return  dwarf;

    else if (getVocationId() == 4 || getVocationId() == 4)
        return orc;
  
    else if (getVocationId() == 5 || getVocationId() == 5)
        return elf;
  
    else if (getVocationId() == 6 || getVocationId() == 6)
        return human;

O Elf e o Human funcionam normalmente: o elfo vira um dead elfo após morrer, o humano um dead human... O problema é que, quando qualquer outra vocação morre, o corpo some, desaparece. Só fica o sangue. Por que isso?

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

Revivendo por conta de eu abordar o assunto do tópico.

 

Eu fiz tudo certo, exatamente desde modo:

uint16_t Player::getLookCorpse() const
{
    uint16_t darkelf, geryon, dwarf, orc, elf, human, defaultt = 0;

    /*Config */

    darkelf = 2945;  // corpse of liz

    geryon = 3080;    // don't have the dead corpse yet

    dwarf = 2960;    // corpse dwarf

    orc = 3080;    // corpse normalorc

    elf = 2945;    // corpse of elf

    human = 3058;    // corpse do knight
  
    defaultt = 3354;    // corpse padrão.

    /*End */

    if (getVocationId() == 1 || getVocationId() == 1)
        return darkelf;

    else if (getVocationId() == 2 || getVocationId() == 2)
        return geryon;

    else if (getVocationId() == 3 || getVocationId() == 3)
        return  dwarf;

    else if (getVocationId() == 4 || getVocationId() == 4)
        return orc;
  
    else if (getVocationId() == 5 || getVocationId() == 5)
        return elf;
  
    else if (getVocationId() == 6 || getVocationId() == 6)
        return human;

O Elf e o Human funcionam normalmente: o elfo vira um dead elfo após morrer, o humano um dead human... O problema é que, quando qualquer outra vocação morre, o corpo some, desaparece. Só fica o sangue. Por que isso?

 

Porque talvez você não tenha adicionado a vocation certa, ou então, Verifique no seu vocations.xml os "fromvoc" se estão com os números certos!

Link para o comentário
Compartilhar em outros sites

  • 2 months later...
×
×
  • Criar Novo...