Postado Janeiro 7, 2021 4 anos 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} }; Mostrar conteúdo oculto 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 Janeiro 9, 2021 4 anos por Koebaratao (veja o histórico de edições)
Postado Janeiro 9, 2021 4 anos Autor 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
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.