eu trocaria os spoilers por code, muita gente tem dificuldade ao abrir spoilers, fora isso o tutorial está ótimo.
- Fórum
- OTServ
- Tutoriais
- Tutoriais de Programação
- [C++]Adicionando novos elementos
[C++]Adicionando novos elementos
Por fodim, 23 de dez. de 2012 em Tutoriais de Programação
info
Grupo: Herói
Registrado: 12/03/11
Posts: 1.9k
Reputação: +284
Gênero: Masculino
Char no Tibia: Nokte

info
Grupo: Campones
Registrado: 11/02/10
Posts: 80
Reputação: +7
Char no Tibia: Lord Slashin

Nao Troquei pq o code nao tem suporte de cor e pro tutorial é essencial
Vao (re)Aprovar ake nao ??
Editado Dezembro 25 por Fodim
info
Grupo: Lorde
Registrado: 05/06/12
Posts: 2.2k
Reputação: +215
Gênero: 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
Grupo: Conde
Registrado: 10/12/11
Posts: 962
Reputação: +99
Gênero: 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
Grupo: Lorde
Registrado: 05/06/12
Posts: 2.2k
Reputação: +215
Gênero: 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.
Editado Dezembro 30 por Manyzin
info
Grupo: Campones
Registrado: 11/02/10
Posts: 80
Reputação: +7
Char no Tibia: Lord Slashin

mano se n te ajuda n comenta nda pow, faiz melhor ![]()
info
Grupo: Visconde
Registrado: 10/02/11
Posts: 377
Reputação: +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. =)
Editado Fevereiro 8 por rohfagundes





info
Grupo: Campones
Registrado: 11/02/10
Posts: 80
Reputação: +7
Char no Tibia: 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]
Editado Dezembro 30 por Fodim