Fala ae galera, blz? Bem vamos lá.. eu to tentando adicionar novos elementos (Damage) no meu server de tibia, só que quando eu vou invocar a spell com a nova damage, ela simplesmente não aparece a cor do hit e nem o efeito, como uma damage normal (ex: Fire Damage). Eu queria sabe como faço pra essa nova damage funcionar 100%..
Uma observação: Quando eu troco o número da minha damage (COMBAT_BLUEFIREDAMAGE = 1993) para que uma já existente (Exemplo: COMBAT_ENERGYDAMAGE = 2), minha damage fica com o efeito e a cor do hit da Energy Damage, no arquivo 000-constant.lua.
Minha dúvida é, como eu crio uma "ID" ou "Numeração" própria pra minha damage, para ela se tornar original?
Obs²: Não ocorre erro na compilação do executável, The Forgotten Server 0.3.6 - Versão 8.54
Se alguém poder me esclarecer essa dúvida, vai ajudar muitas outras pessoas, pois quem não quer aprender a adicionar novos elementos no otserver? Até mesmo pra criar um ot de pokémon estável e do zero sem bugs.. seria daora
Foi assim que adicionei minha nova damage na source:
========================================================================================
combat.cpp
Abaixo de:
case CONDITION_FIRE:
return COMBAT_FIREDAMAGE;
Adicione:
case CONDITION_ELECTRIC:
return COMBAT_ELECTRICDAMAGE;
-----------------------------------------------------------------------------------------
Abaixo de:
case COMBAT_FIREDAMAGE:
return CONDITION_FIRE;
Adicione:
case COMBAT_ELECTRICDAMAGE:
return CONDITION_ELECTRIC;
========================================================================================
condition.cpp
Abaixo de:
case CONDITION_FIRE:
Adicione:
case CONDITION_ELECTRIC:
-----------------------------------------------------------------------------------------
Abaixo de:
case CONDITION_FIRE:
return ICON_BURN;
Adicione:
case CONDITION_ELECTRIC:
return ICON_NONE;
========================================================================================
condition.h
Abaixo de:
CONDITION_HUNTING = 1 << 23,
Coloque a vírgula na linha de cima e adc a próxima sem a vírgula:
CONDITION_ELECTRIC = 1 << 24
========================================================================================
const.h
Abaixo de:
TEXTCOLOR_WHITE = 215,
Adicione:
TEXTCOLOR_ELECTRIC = 210,
========================================================================================
enums.h
Abaixo de:
COMBAT_DEATHDAMAGE = 1 << 11,
Adicione:
COMBAT_ELECTRICDAMAGE = 1 << 12,
E em: COMBAT_LAST = COMBAT_DEATHDAMAGE
Você troca por: COMBAT_LAST = COMBAT_BLUEFIREDAMAGE
========================================================================================
game.cpp
Abaixo de:
case COMBAT_ENERGYDAMAGE:
Adicione:
case COMBAT_ELECTRICDAMAGE:
-----------------------------------------------------------------------------------------
Abaixo de:
case COMBAT_ENERGYDAMAGE:
{
textColor = TEXTCOLOR_PSYCHIC;
magicEffect = MAGIC_EFFECT_DRAW_BLOOD;
break;
}
Adicione:
case COMBAT_ELECTRICDAMAGE:
{
textColor = TEXTCOLOR_ELECTRIC;
magicEffect = MAGIC_EFFECT_DRAW_BLOOD;
break;
}
========================================================================================
monster.cpp
Abaixo de:
else if(tmpName == "drown")
combat->setParam(COMBATPARAM_COMBATTYPE, COMBAT_DROWNDAMAGE);
Adicione:
else if(tmpName == "electric")
combat->setParam(COMBATPARAM_COMBATTYPE, COMBAT_ELECTRICDAMAGE);
-----------------------------------------------------------------------------------------
Abaixo de:
else if(tmpStrValue == "energy")
{
mType->damageImmunities |= COMBAT_ENERGYDAMAGE;
mType->conditionImmunities |= CONDITION_ENERGY;
}
Adicione:
else if(tmpStrValue == "electric")
{
mType->damageImmunities |= COMBAT_ELECTRICDAMAGE;
mType->conditionImmunities |= CONDITION_ELECTRIC;
}
-----------------------------------------------------------------------------------------
Abaixo de:
else if(readXMLString(tmpNode, "fire", strValue) && booleanString(strValue))
{
mType->damageImmunities |= COMBAT_FIREDAMAGE;
mType->conditionImmunities |= CONDITION_FIRE;
}
Adicione:
else if(readXMLString(tmpNode, "electric", strValue) && booleanString(strValue))
{
mType->damageImmunities |= COMBAT_ELECTRICDAMAGE;
mType->conditionImmunities |= CONDITION_ELECTRIC;
}
-----------------------------------------------------------------------------------------
Abaixo de:
else if(readXMLInteger(tmpNode, "energyPercent", intValue))
mType->elementMap[COMBAT_ENERGYDAMAGE] = intValue;
Adicione:
else if(readXMLInteger(tmpNode, "electricPercent", intValue))
mType->elementMap[COMBAT_ELECTRICDAMAGE] = intValue;
========================================================================================
player.cpp
Abaixo de:
case CONDITION_FIRE:
tmp = "burning";
break;
Adicione:
case CONDITION_ELECTRIC:
tmp = "dashing";
break;
========================================================================================
tools.cpp
Abaixo de:
{"fire", COMBAT_FIREDAMAGE},
Adicione:
{"electric", COMBAT_ELECTRICDAMAGE},
-----------------------------------------------------------------------------------------
Abaixo de:
case COMBAT_ENERGYDAMAGE:
return "energy";
Adicione:
case COMBAT_ELECTRICDAMAGE:
return "electric";
Pergunta
Flaah 18
Fala ae galera, blz? Bem vamos lá.. eu to tentando adicionar novos elementos (Damage) no meu server de tibia, só que quando eu vou invocar a spell com a nova damage, ela simplesmente não aparece a cor do hit e nem o efeito, como uma damage normal (ex: Fire Damage). Eu queria sabe como faço pra essa nova damage funcionar 100%..
Uma observação: Quando eu troco o número da minha damage (COMBAT_BLUEFIREDAMAGE = 1993) para que uma já existente (Exemplo: COMBAT_ENERGYDAMAGE = 2), minha damage fica com o efeito e a cor do hit da Energy Damage, no arquivo 000-constant.lua.
Minha dúvida é, como eu crio uma "ID" ou "Numeração" própria pra minha damage, para ela se tornar original?
Obs²: Não ocorre erro na compilação do executável, The Forgotten Server 0.3.6 - Versão 8.54
Se alguém poder me esclarecer essa dúvida, vai ajudar muitas outras pessoas, pois quem não quer aprender a adicionar novos elementos no otserver? Até mesmo pra criar um ot de pokémon estável e do zero sem bugs.. seria daora
Foi assim que adicionei minha nova damage na source:
Editado por FlaahLink para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados