Ir para conteúdo

[C++]Adicionando novos elementos


fodim

Posts Recomendados

Explicação

Tipo voce coloca um elemento novo, como energy, death, holy etc.

 

 

Então Vamos La

 

Primeiramente abra o Dev C++

Depois abra o projeto The Forgotten Server.dev (ou outro depende do seu server)

Depois vai ate Combat.cpp:

embaixo de:

 

 

 

case CONDITION_FIRE:

return COMBAT_FIREDAMAGE;

 

 

Adicione

 

 

case CONDITION_BLUEFIRE:

return COMBAT_BLUEFIREDAMAGE;

(2x porque tem 2 script de condition)

 

Agora no Condition.cpp:

 

 

embaixo de:

case CONDITION_PHYSICAL:

 

adicione:

case CONDITION_BLUEFIRE:X

 

embaixo de:

case CONDITION_DROWN:

return ICON_DROWNING;

 

adicione

case CONDITION_BLUEFIRE:

return ICON_DROWNING;

 

Adicione uma virgula no final de:

CONDITION_HUNTING = 1 << 23

 

e embaixo adicione:

CONDITION_BLUEFIRE = 1 << 24

o numero coloque 1 apos a ultima condition no meu caso é a hunting numero 23 ai eu coloco 24

 

 

Agora no enums.h

 

 

embaixo de:

COMBAT_DEATHDAMAGE = 1 << 11,

 

adicione:

COMBAT_BLUEFIREDAMAGE = 1 << 12,

 

 

 

Depois nas spells.cpp:

 

 

depois de :

"cursecondition"

 

coloque uma virgula de um espaço e adicione:

"bluefire"

 

 

 

Agora no Game.cpp:

 

 

embaixo de:case

COMBAT_HOLYDAMAGE

:

adicione:

case COMBAT_BLUEFIREDAMAGE:

 

embaixo de:

 

case COMBAT_LIFEDRAIN:

 

{

textColor = TEXTCOLOR_RED;

magicEffect = MAGIC_EFFECT_WRAPS_RED;

break;

}

 

adicione:

case COMBAT_BLUEFIREDAMAGE:

{

textColor = TEXTCOLOR_BLUE;

magicEffect = MAGIC_EFFECT_HITBY_FIRE;

break;

}

 

 

E Por Ultimo no tools.cpp

 

 

embaixo de:

case COMBAT_BLUEFIREDAMAGE:

 

return "death";

adicione:

 

case COMBAT_BLUEFIREDAMAGE

:

return "bluefire";

 

 

 

 

Ai voce tem a opção de adicionar o reflect e o imune

Mas Como Assim

Tipo num tem aqueles itens de 5% de proteção death ?, você pode fazer que seu elemento possa ser adicionada com imunidade nos items.xml (eu vi nas vocations,monsters e nas outfits e nao entendi bem o que é, pois so vou ensinar as dos items)

 

Nos Items.cpp

 

 

embaixo de:

t.abilities.absorb[COMBAT_DEATHDAMAGE] += intValue;

 

adicione

it.abilities.absorb[COMBAT_BLUEFIREDAMAGE] += intValue;

 

 

abaixo de:

else if(tmpStrValue == "absorbpercentundefined")

{

if(readXMLInteger(itemAttributesNode, "value", intValue))

it.abilities.absorb[COMBAT_UNDEFINEDDAMAGE] += intValue;

 

adicione:

 

else if(tmpStrValue == "absorbpercentbluefire")

{

if(readXMLInteger(itemAttributesNode, "value", intValue))

it.abilities.absorb[COMBAT_UNDEFINEDDAMAGE] += intValue;

adicione:

else if(tmpStrValue == "absorbpercent[color=#ff0000]bluefire[/color]")

{

if(readXMLInteger(itemAttributesNode, "value", intValue))

it.abilities.absorb[COMBAT_[color=#ff0000]BLUEFIRE[/color]DAMAGE] += intValue;

 

 

[b]Repita o processo para os demais resultados, agora o reflect:[/b]

 

Abaixo de:

else if(tmpStrValue == "reflectpercentundefined)

{

if(readXMLInteger(itemAttributesNode, "value", intValue))

it.abilities.reflect[REFLECT_PERCENT][COMBAT_UNDEFINEDDAMAGE] += intValue;

}

 

adicione:else if(tmpStrValue == "reflectpercent[color=#FF0000]bluefire[/color]")

{

if(readXMLInteger(itemAttributesNode, "value", intValue))

it.abilities.reflect[REFLECT_PERCENT][COMBAT_[color=#ff0000]BLUEFIRE[/color]DAMAGE] += intValue;

}

Embaixo de:

it.abilities.reflect[REFLECT_CHANCE][COMBAT_ICEDAMAGE] += intValue;

 

Adicione de:it.abilities.reflect[REFLECT_CHANCE][COMBAT_[color=#FF0000]BLUEFIRE[/color]DAMAGE] += intValue;

 

 

[b]Repita para os demais resultados[/b]

 

 

 

E Depois Compile

Mas Como ?

Siga o tutorial do [b]GM Bekmen[/b]

[b]Compilando Um Otserv[/b]

 

[size=5][b]Legenda:[/b][/size]

[size=5][b]Vermelho_miniatura.png[size=4]Obrigatorio Editar[/size][/b][/size]

[size=5][b][size=4]color-blue.pngEdite Apenas se souber o que significa[/size][/b][/size]

 

[b][size=4]Atenciosamente Fodim[/size][/b]

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

Nao Troquei pq o code nao tem suporte de cor e pro tutorial é essencial

 

Vao (re)Aprovar ake nao ??

 

Tem que aguardar aprovação de outros membros.

Deveria ser aprovado ja que não ha outro tutorial ensinando a fazer isso
Link para o comentário
Compartilhar em outros sites

Nao Troquei pq o code nao tem suporte de cor e pro tutorial é essencial

 

Vao (re)Aprovar ake nao ??

 

Tem que aguardar aprovação de outros membros.

Deveria ser aprovado ja que não ha outro tutorial ensinando a fazer isso

 

Mesmo que não tenha, ja disse que tem que aguardar a aprovação de outros membros.

 

@Topic

 

Tutorial Aprovado.

 

Movido.

Link para o comentário
Compartilhar em outros sites

  • 1 month later...

malz por reviver o topic

mas eu fui fazer isso

e no meu caso

 

essa parte

Adicione uma virgula no final de:

CONDITION_HUNTING = 1 << 23

 

e embaixo adicione:

CONDITION_BLUEFIRE = 1 << 24

o numero coloque 1 apos a ultima condition no meu caso é a hunting numero 23 ai eu coloco 24

 

esta no Condition.h

 

e tb tem q ir na lib/constant.lua

procurar essa parte

 

COMBAT_NONE = 0

COMBAT_PHYSICALDAMAGE = 1

COMBAT_ENERGYDAMAGE = 2

COMBAT_EARTHDAMAGE = 4

COMBAT_POISONDAMAGE = 4

COMBAT_FIREDAMAGE = 8

COMBAT_UNDEFINEDDAMAGE = 16

COMBAT_LIFEDRAIN = 32

COMBAT_MANADRAIN = 64

COMBAT_HEALING = 128

COMBAT_DROWNDAMAGE = 256

COMBAT_ICEDAMAGE = 512

COMBAT_HOLYDAMAGE = 1024

COMBAT_DEATHDAMAGE = 2048

 

e add o novo damage

 

só resolvi colocar aqui pra ajudar. =)

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

×
×
  • Criar Novo...