Ir para conteúdo
  • Cadastre-se

Programação (Resolvido)Debug ao adicionar uma nova shoottype no Tibia 8.6


Ir para solução Resolvido por Koebaratao,

Posts Recomendados

Boa tarde pessoal, esse é meu primeiro tópico então peço desculpas de antemão se cometi algum equívoco.

Estou com um problema ao adicionar uma nova shoottype no meu servidor. Modifiquei as sprites com o Object Builder (no caso adicionei alguns shoottypes a mais), modifiquei a source (Tools.cpp e Const.h), compilei e inclui no arquivo \lib/000-constant, como manda o protocolo.

Eu executo o servidor e ele vai normalmente, inclusive, quando uso o comando /x ou /z (não me recordo agora qual é relacionado a shoottype) ele me informa que possuo 46 shoottypes, visto que é o correto. Contudo, quando ataco com a nova arma e, consequentemente, a nova shoottype, dá debug no client e nenhum erro na distro. E o mais icônico é que quando eu relogo, o monstro tomou os hits normalmente, pq eu o vejo low life.

Lembrando que eu só uso 46 shoottypes e o normal (que já vem no servidor padrão do tibia 8.60) são 42. A minha última shoottype é número 46 no object builder e 45 nas sources e no 000-constant.lua.

 

Eu coloco isso no items.lua:       

 <attribute key="shootType" value="prismaticarrow"/> 

Que é condizente com o que eu adicionei nas sources e compilei. Quando eu substituo as novas sprites no lugar de outras, por exemplo, coloco a prismatic arrow no lugar do cake (id 42) funfa normal. O problema está sendo com as novas shoottypes mesmo (id 43, 44, 45 e 46) não é com  as sprites, ao que me parece.

Agradeço desde já.

 

Const.h

 

Citar

enum ShootEffect_t
{
    SHOOT_EFFECT_SPEAR                = 0x00,
    SHOOT_EFFECT_BOLT                = 0x01,
    SHOOT_EFFECT_ARROW                = 0x02,
    SHOOT_EFFECT_FIRE                = 0x03,
    SHOOT_EFFECT_ENERGY                = 0x04,
    SHOOT_EFFECT_POISONARROW        = 0x05,
    SHOOT_EFFECT_BURSTARROW            = 0x06,
    SHOOT_EFFECT_THROWINGSTAR        = 0x07,
    SHOOT_EFFECT_THROWINGKNIFE        = 0x08,
    SHOOT_EFFECT_SMALLSTONE            = 0x09,
    SHOOT_EFFECT_DEATH                = 0x0A, //10
    SHOOT_EFFECT_LARGEROCK            = 0x0B, //11
    SHOOT_EFFECT_SNOWBALL            = 0x0C, //12
    SHOOT_EFFECT_POWERBOLT            = 0x0D, //13
    SHOOT_EFFECT_POISONFIELD        = 0x0E, //14
    SHOOT_EFFECT_INFERNALBOLT        = 0x0F, //15
    SHOOT_EFFECT_HUNTINGSPEAR        = 0x10, //16
    SHOOT_EFFECT_ENCHANTEDSPEAR        = 0x11, //17
    SHOOT_EFFECT_REDSTAR            = 0x12, //18
    SHOOT_EFFECT_GREENSTAR            = 0x13, //19
    SHOOT_EFFECT_ROYALSPEAR            = 0x14, //20
    SHOOT_EFFECT_SNIPERARROW        = 0x15, //21
    SHOOT_EFFECT_ONYXARROW            = 0x16, //22
    SHOOT_EFFECT_PIERCINGBOLT        = 0x17, //23
    SHOOT_EFFECT_WHIRLWINDSWORD        = 0x18, //24
    SHOOT_EFFECT_WHIRLWINDAXE        = 0x19, //25
    SHOOT_EFFECT_WHIRLWINDCLUB        = 0x1A, //26
    SHOOT_EFFECT_ETHEREALSPEAR        = 0x1B, //27
    SHOOT_EFFECT_ICE                = 0x1C, //28
    SHOOT_EFFECT_EARTH                = 0x1D, //29
    SHOOT_EFFECT_HOLY                = 0x1E, //30
    SHOOT_EFFECT_SUDDENDEATH        = 0x1F, //31
    SHOOT_EFFECT_FLASHARROW            = 0x20, //32
    SHOOT_EFFECT_FLAMMINGARROW        = 0x21, //33
    SHOOT_EFFECT_SHIVERARROW        = 0x22, //34
    SHOOT_EFFECT_ENERGYBALL            = 0x23, //35
    SHOOT_EFFECT_SMALLICE            = 0x24, //36
    SHOOT_EFFECT_SMALLHOLY            = 0x25, //37
    SHOOT_EFFECT_SMALLEARTH            = 0x26, //38
    SHOOT_EFFECT_EARTHARROW            = 0x27, //39
    SHOOT_EFFECT_EXPLOSION            = 0x28, //40
    SHOOT_EFFECT_CAKE                = 0x29, //41
    SHOOT_EFFECT_PRISMATICARROW                = 0x30, //42
    SHOOT_EFFECT_PRISMATICBOLT                = 0x31, //43
    SHOOT_EFFECT_DIAMONDARROW                = 0x32, //44
    SHOOT_EFFECT_NATURESPEAR                = 0x33, //45
    SHOOT_EFFECT_LAST                = SHOOT_EFFECT_NATURESPEAR,

    //for internal use, dont send to client
    SHOOT_EFFECT_WEAPONTYPE        = 0xFE, //254
    SHOOT_EFFECT_NONE            = 0xFF,
    SHOOT_EFFECT_UNKNOWN        = 0xFFFF
};

 

Tools.cpp

ShootTypeNames shootTypeNames[] =
{
	{"spear",			SHOOT_EFFECT_SPEAR},
	{"bolt",			SHOOT_EFFECT_BOLT},
	{"arrow",			SHOOT_EFFECT_ARROW},
	{"fire",			SHOOT_EFFECT_FIRE},
	{"energy",			SHOOT_EFFECT_ENERGY},
	{"poisonarrow",		SHOOT_EFFECT_POISONARROW},
	{"burstarrow",		SHOOT_EFFECT_BURSTARROW},
	{"throwingstar",	SHOOT_EFFECT_THROWINGSTAR},
	{"throwingknife",	SHOOT_EFFECT_THROWINGKNIFE},
	{"smallstone",		SHOOT_EFFECT_SMALLSTONE},
	{"death",			SHOOT_EFFECT_DEATH},
	{"largerock",		SHOOT_EFFECT_LARGEROCK},
	{"snowball",		SHOOT_EFFECT_SNOWBALL},
	{"powerbolt",		SHOOT_EFFECT_POWERBOLT},
	{"poison",			SHOOT_EFFECT_POISONFIELD},
	{"infernalbolt",	SHOOT_EFFECT_INFERNALBOLT},
	{"huntingspear",	SHOOT_EFFECT_HUNTINGSPEAR},
	{"enchantedspear",	SHOOT_EFFECT_ENCHANTEDSPEAR},
	{"redstar",			SHOOT_EFFECT_REDSTAR},
	{"greenstar",		SHOOT_EFFECT_GREENSTAR},
	{"royalspear",		SHOOT_EFFECT_ROYALSPEAR},
	{"sniperarrow",		SHOOT_EFFECT_SNIPERARROW},
	{"onyxarrow",		SHOOT_EFFECT_ONYXARROW},
	{"piercingbolt",	SHOOT_EFFECT_PIERCINGBOLT},
	{"whirlwindsword",	SHOOT_EFFECT_WHIRLWINDSWORD},
	{"whirlwindaxe",	SHOOT_EFFECT_WHIRLWINDAXE},
	{"whirlwindclub",	SHOOT_EFFECT_WHIRLWINDCLUB},
	{"etherealspear",	SHOOT_EFFECT_ETHEREALSPEAR},
	{"ice",				SHOOT_EFFECT_ICE},
	{"earth",			SHOOT_EFFECT_EARTH},
	{"holy",			SHOOT_EFFECT_HOLY},
	{"suddendeath",		SHOOT_EFFECT_SUDDENDEATH},
	{"flasharrow",		SHOOT_EFFECT_FLASHARROW},
	{"flammingarrow",	SHOOT_EFFECT_FLAMMINGARROW},
	{"flamingarrow",	SHOOT_EFFECT_FLAMMINGARROW},
	{"shiverarrow",		SHOOT_EFFECT_SHIVERARROW},
	{"energyball",		SHOOT_EFFECT_ENERGYBALL},
	{"smallice",		SHOOT_EFFECT_SMALLICE},
	{"smallholy",		SHOOT_EFFECT_SMALLHOLY},
	{"smallearth",		SHOOT_EFFECT_SMALLEARTH},
	{"eartharrow",		SHOOT_EFFECT_EARTHARROW},
	{"explosion",		SHOOT_EFFECT_EXPLOSION},
	{"cake",			SHOOT_EFFECT_CAKE},
	{"prismaticarrow",		SHOOT_EFFECT_PRISMATICARROW},
	{"prismaticbolt", 		SHOOT_EFFECT_PRISMATICBOLT},
	{"diamondarrow", 		SHOOT_EFFECT_DIAMONDARROW},
	{"naturespear",			SHOOT_EFFECT_NATURESPEAR}
};
Spoiler

Segue o 000-constant:

 

CONST_ANI_SPEAR = 0
CONST_ANI_BOLT = 1
CONST_ANI_ARROW = 2
CONST_ANI_FIRE = 3
CONST_ANI_ENERGY = 4
CONST_ANI_POISONARROW = 5
CONST_ANI_BURSTARROW = 6
CONST_ANI_THROWINGSTAR = 7
CONST_ANI_THROWINGKNIFE = 8
CONST_ANI_SMALLSTONE = 9
CONST_ANI_DEATH = 10
CONST_ANI_LARGEROCK = 11
CONST_ANI_SNOWBALL = 12
CONST_ANI_POWERBOLT = 13
CONST_ANI_POISON = 14
CONST_ANI_INFERNALBOLT = 15
CONST_ANI_HUNTINGSPEAR = 16
CONST_ANI_ENCHANTEDSPEAR = 17
CONST_ANI_REDSTAR = 18
CONST_ANI_GREENSTAR = 19
CONST_ANI_ROYALSPEAR = 20
CONST_ANI_SNIPERARROW = 21
CONST_ANI_ONYXARROW = 22
CONST_ANI_PIERCINGBOLT = 23
CONST_ANI_WHIRLWINDSWORD = 24
CONST_ANI_WHIRLWINDAXE = 25
CONST_ANI_WHIRLWINDCLUB = 26
CONST_ANI_ETHEREALSPEAR = 27
CONST_ANI_ICE = 28
CONST_ANI_EARTH = 29
CONST_ANI_HOLY = 30
CONST_ANI_SUDDENDEATH = 31
CONST_ANI_FLASHARROW = 32
CONST_ANI_FLAMMINGARROW = 33
CONST_ANI_SHIVERARROW = 34
CONST_ANI_ENERGYBALL = 35
CONST_ANI_SMALLICE = 36
CONST_ANI_SMALLHOLY = 37
CONST_ANI_SMALLEARTH = 38
CONST_ANI_EARTHARROW = 39
CONST_ANI_EXPLOSION = 40
CONST_ANI_CAKE = 41
CONST_ANI_PRISMATICARROW = 42
CONST_ANI_PRISMATICBOLT = 43
CONST_ANI_DIAMONDARROW = 44
CONST_ANI_NATURESPEAR = 45
CONST_ANI_WEAPONTYPE = 254
CONST_ANI_NONE = 255
CONST_ANI_LAST = CONST_ANI_NATURESPEAR

Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui. 

 

Editado por Koebaratao (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
  • Solução

   Achei a solução. Para quem tiver o mesmo problema que eu, basta modificar isso na source const.h:

Trocar:

  SHOOT_EFFECT_PRISMATICARROW                = 0x30, //42
    SHOOT_EFFECT_PRISMATICBOLT                = 0x31, //43
    SHOOT_EFFECT_DIAMONDARROW                = 0x32, //44
    SHOOT_EFFECT_NATURESPEAR                = 0x33, //45

 

Por:

SHOOT_EFFECT_PRISMATICARROW                = 0x2A, //42
    SHOOT_EFFECT_PRISMATICBOLT                = 0x2B, //43
    SHOOT_EFFECT_DIAMONDARROW                = 0x2C, //44
    SHOOT_EFFECT_NATURESPEAR                = 0x2D, //45

 

 

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 Muvuka
      Alguem tem anti-nuker igual a esse 
       

       
    • Por Muvuka
      [SQLite] -=[TFS]=- 0.4 8.60 Alguem faz apk mobile pra mim ip: dexsoft.ddns.net
       
      pra mim
       
      https://www.mediafire.com/file/5klqnyy6k7jda0u/OTClientV8.rar/file
       
      TA TUDO AI
    • Por yuriowns
      Salve rapazes, estou precisando de um client próprio para o meu servidor 7.4, preciso que algum programador experiente e com referências faça um client do jeito que eu procuro. Responda aqui para fazermos um orçamento, obrigado!

      Não sei se estou no lugar certo, se não me desculpem e peço que movam por gentileza!
    • Por paulo thush
      Pessoal to com um grande problema, estou com um servidor TFS 1.4x 10.98, recentemente começou dar um problema, sempre quando falava "trade" com o npc dava um erros, com qual quer npc, o erro e o seguinte.
       
       
      me falaram que o problema e nas sourcer que precisava mudar umas coisas me passaram um link no github esse aqui 
      https://github.com/otland/forgottenserver/pull/3996/files
       
      porem eu vi vídeos no youtube ensinando a compilar, já vi muitos tópicos como compilar a sourcer, ai quando vou compilar da esse erro
      já tentei instalar, desinstala muitas coisas, alterar também não vai, minha sourcer e essa 
      https://github.com/otland/forgottenserver
       
       
      Alguém poderia me ajuda com esse erro, ou ate compilar 100% as sourcer. os Tópicos que eu tentei para compilar e esse daqui, se não poder o link me desculpe.
      https://forums.otserv.com.br/index.php?/forums/topic/169234-windowsvc2019-compilando-sources-tfs-14-vcpkg/
       
      alguém me da uma luz por favor kkk
    • Por Ryzek
      Uso tfs 0.4 trunk3884 bem simples.
      Queria acrescentar magic effects para 255 pois o meu só vai até 69. Encontrei um tópico que falava sobre porém parece ter sido removido, não consigo acessar!
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo