Ir para conteúdo
  • Cadastre-se

Posts Recomendados

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 :D

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";
Editado por Flaah (veja o histórico de edições)

"Pense nisso você tbm"

"Tudo o que um sonho precisa para ser realizado é alguém que acredite que ele possa ser realizado"

35l7z91.jpg

Link para o post
Compartilhar em outros sites

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

  • Conteúdo Similar

    • Por Under
      A CipSoft acaba de anunciar uma grande novidade: a empresa agora também será responsável pelo desenvolvimento e operação do clássico The Settlers Online! 
      O time que já cuidava do jogo seguirá dedicado ao projeto, mas agora diretamente do novo escritório da CipSoft em Düsseldorf, na Alemanha.
       
      Pra quem não conhece, The Settlers Online é um jogo com uma base de jogadores muito fiel e engajada — algo que a CipSoft conhece bem graças à comunidade Tibiana que, há décadas, mostra paixão, comprometimento e amor pelo jogo. 
      O mais importante:
      É incrível ver a CipSoft crescendo e levando seu espírito de comunidade para novos horizontes, sem esquecer de onde veio e quem está com ela há tantos anos. 
      Anúncio oficial no fórum do Tibia
      Site oficial de The Settlers Online (Brasil)
       
    • Por Under
      Apresentando o Tibia-IA: A IA para Desenvolvimento de Servidores Tibia! 
       O que é o Tibia-IA?
      Um modelo de IA especializado para Tibia! Ele está atualmente em teste gratuito, e eu adoraria que vocês o experimentassem. Basta acessar https://ai.tibiaking.com, criar uma conta e começar a usar totalmente de graça! 
       Versão Experimental Fechada
      Atualmente, algumas funcionalidades ainda estão em desenvolvimento. No momento, apenas a geração de scripts está disponível para o público.
      Se encontrarem qualquer problema nos scripts gerados, me avisem! Vamos juntos construir a IA mais poderosa para ajudar no desenvolvimento de servidores Tibia!  
      Contato direto discord : underewar
       Acesse agora: https://ai.tibiaking.com
       Como funciona?
       Geração automática de scripts LUA para TFS  Suporte a diferentes eventos, criaturas, NPCs, magias, etc.  Ferramenta em constante evolução para aprimorar o desenvolvimento Novidades em breve confira no site. O acesso ao Tibia-IA está disponível para testes GRATUITOS! 
      Basta criar uma conta em: https://ai.tibiaking.com
      Utilize a IA para gerar seus scripts de forma simples e rápida
      Envie feedbacks para ajudarmos a tornar a ferramenta ainda melhor!

      Problemas relatar diretamente no meu discord pessoal : underewar
       
       
    • Por BTitan
      Reviva a nostalgia do Tibia 8.6 com um toque das novidades modernas, mantendo a essência clássica que você ama. Nosso mapa é limpo e otimizado, perfeito para wars intensas e estratégicas.
      Com mais de 100 áreas de caça, vocações equilibradas e eventos automáticos diários, garantimos diversão sem limites para todos os jogadores.
       
      ACC Manager: 1/1
      IP: go.baiaktitan.com
      https://www.baiaktitan.com
       
      Principais informações:
       
      Dedicado 24 horas sem lag Attack Speed moderado Cast System DODGE! CRITICAL! REFLECT! Upgrade Weapon Forge System Autoloot Anti Rollbacks Eventos exclusivos (Battle Royale, DOTA, Team Battle, entre outros...) Servidor integrado com Telegram (Contato direto com ADM) Cliente próprio (com novos itens, montarias e outfits) Mapa Baiak, modificado exclusivamente para o PvP Servidor otimizado, suportando mais de 1.000 players online  
      »» EXP Rate: 200x
      »» Skill Rate: 20x
      »» Magic Rate: 10x
      »» Loot Rate: 3x
       
      Aguardamos por você!
    • Por Nogard
      Não deixe seu evento de Natal para última hora, faltam apenas 4 dias. 

      Aproveite as sprites com desconto no site: https://otsprites.com
       
       
       

       

       
       
       
  • Estatísticas dos Fóruns

    96831
    Tópicos
    519567
    Posts
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo