eu trocaria os spoilers por code, muita gente tem dificuldade ao abrir spoilers, fora isso o tutorial está ótimo.
- Forums
- OTServ
- Tutoriais
- Tutoriais de Programação
- [C++]Adicionando novos elementos
[C++]Adicionando novos elementos
By fodim, 23 de dez. de 2012 in Tutoriais de Programação
info
Group: Herói
Joined: 12/03/11
Posts: 1.9k
Reputation: +284
Gender: Masculino
Tibia Character: Nokte

info
Group: Campones
Joined: 11/02/10
Posts: 80
Reputation: +7
Tibia Character: Lord Slashin

Nao Troquei pq o code nao tem suporte de cor e pro tutorial é essencial
Vao (re)Aprovar ake nao ??
Edited Dezembro 25 by Fodim
info
Group: Lorde
Joined: 05/06/12
Posts: 2.2k
Reputation: +215
Gender: Masculino

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.
info
Group: Conde
Joined: 10/12/11
Posts: 962
Reputation: +99
Gender: Masculino

Deveria ser aprovado ja que não ha outro tutorial ensinando a fazer issoNao 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 explicar mais sobre isso pois tem alguns que não sabem nem pra que serve.
Mas ta bom o tutorial .
por mim aprovado
info
Group: Lorde
Joined: 05/06/12
Posts: 2.2k
Reputation: +215
Gender: Masculino

Deveria ser aprovado ja que não ha outro tutorial ensinando a fazer issoNao 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.
Mesmo que não tenha, ja disse que tem que aguardar a aprovação de outros membros.
@Topic
Tutorial Aprovado.
Movido.
Do que adianta um tutorial único se não ajuda ninguém.
Edited Dezembro 30 by Manyzin
info
Group: Campones
Joined: 11/02/10
Posts: 80
Reputation: +7
Tibia Character: Lord Slashin

mano se n te ajuda n comenta nda pow, faiz melhor ![]()
info
Group: Visconde
Joined: 10/02/11
Posts: 377
Reputation: +78

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 = 0COMBAT_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. =)
Edited Fevereiro 8 by rohfagundes





info
Group: Campones
Joined: 11/02/10
Posts: 80
Reputation: +7
Tibia Character: Lord Slashin
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:
{
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]
[size=4]Obrigatorio Editar[/size][/b][/size]
[size=5][b][size=4]
Edite Apenas se souber o que significa[/size][/b][/size]
[b][size=4]Atenciosamente Fodim[/size][/b]
Edited Dezembro 30 by Fodim