Corpse Por Vocation C++

Applezin
em Linguagens de Programação

Applezin

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 17/10/13Posts: 15

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

OriGM

avatar
Cavaleiro
Cavaleiro

INFOS

Grupo: CavaleiroRegistrado: 24/09/13Posts: 199

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.

paulgrande

Perceba que você é sua própria criação Você é seu próprio mestre
avatar
Artesão
Artesão

INFOS

Grupo: ArtesãoRegistrado: 09/12/10Posts: 138Char no Tibia: Loh Pabllitooh

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

zshgs7w.png

coming soon

 

 

"Sozinho eu sou agora o meu inimigo intimo.
Lembranças más vem, pensamentos bons vai,
Me ajude, sozinho penso merda pra caralho.
Gente que acredito, gosto e admiro,
Brigava por justiça e paz levou tiro:
Malcom X, Ghandi, Lennon, Marvin Gaye,
Che Guevara, 2Pac, Bob Marley e
O evangélico Martin Luther King.
Lembrei de um truta meu falar assim:
- Não joga pérolas aos porcos irmão,
Joga lavagem eles prefere assim.

HeelNox

avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 08/10/11Posts: 444Gênero: FemininoChar no Tibia: No Have.

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

2+2 = 1

Applezin

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 17/10/13Posts: 15

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á.

OriGM

avatar
Cavaleiro
Cavaleiro

INFOS

Grupo: CavaleiroRegistrado: 24/09/13Posts: 199

ok Applezin,agradeço de qualquer forma.

Oneshot

avatar
Marquês
Marquês

INFOS

Grupo: MarquêsRegistrado: 05/07/09Posts: 1347

Isso não é um tutorial, é apenas um Código C++, vou reportar para a moderação mover a tópico para a área correta.

paulgrande

Perceba que você é sua própria criação Você é seu próprio mestre
avatar
Artesão
Artesão

INFOS

Grupo: ArtesãoRegistrado: 09/12/10Posts: 138Char no Tibia: Loh Pabllitooh

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

zshgs7w.png

coming soon

 

 

"Sozinho eu sou agora o meu inimigo intimo.
Lembranças más vem, pensamentos bons vai,
Me ajude, sozinho penso merda pra caralho.
Gente que acredito, gosto e admiro,
Brigava por justiça e paz levou tiro:
Malcom X, Ghandi, Lennon, Marvin Gaye,
Che Guevara, 2Pac, Bob Marley e
O evangélico Martin Luther King.
Lembrei de um truta meu falar assim:
- Não joga pérolas aos porcos irmão,
Joga lavagem eles prefere assim.

Applezin

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 17/10/13Posts: 15

 

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!

skanet

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 25/06/12Posts: 18Char no Tibia: Kc

gostam de ter o conjunto de macho e fêmea

vital900

Xtibia, agente se vê por aqui!
avatar
Grão-Duque
Grão-Duque

INFOS

Grupo: Grão-DuqueRegistrado: 28/07/11Posts: 3455Gênero: MasculinoChar no Tibia: Transloko

Movido para o local correto.

Obrigado por denunciar.


 

CoroNelas.png

115757

In your sword still beats a heart.
avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 20/01/11Posts: 80Gênero: MasculinoChar no Tibia: Trikar Oxyshia

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?

Applezin

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 17/10/13Posts: 15

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!

Creatserv

avatar
Artesão
Artesão

INFOS

Grupo: ArtesãoRegistrado: 15/02/14Posts: 106

vou testa