Postado Janeiro 22, 2019 6 anos Este é um post popular. Faz um tempo que eu postei algo aqui nessa parte do fórum sobre uma wand elemental a pedido de um membro. Quando fiz o post, uns dias depois alguém veio no meu inbox perguntando se eu tinha algo parecido relacionado a bow e acabou que eu apaguei as mensagens e não me recordo o nome da pessoa para poder marca-la aqui, e também só agora me lembrei disso e resolvi vir aqui postar. Eu não tenho conhecimento nenhum disso, muito menos sobre cálculos de formulas ou se existe outro mais sofisticado. Se alguém que entende do assunto quiser fazer melhorias, correções, etc, sinta-se a vontade. Introdução: Para quem já jogou o foxworld open tibia, ou algum outro otserver baiak/custom já deve ter visto um "magic bow" lá entre os itens vips/donates que dispara sozinho arrows, sem precisar das arrows em seu devido slot. Pois bem, isso é um negocinho bem simples que serve para leigos que nem eu no assunto colocar no ot uma arminha diferente. O ponto disso é que não tem nenhum segredo na "criação", você só altera um bow para ele funcionar como uma viper star. Mas de tudo é bem interessante e permite que o paladin tenha o 'slot extra' vago para usar de outra forma. Guia: Vamos lá! O bow que eu vou usar vai ser o Elethriel's Elemental Bow (ID: 8858) . É um bow interessante para se usar, ele tem um sprite bonito e não pode-se obter no jogo (o que facilita bastante). Os tiros eu usei as Shiver Arrows que combina com a cor do bow e possibilita colocar o elemento de envenenamento do alvo de gelo. Você pode usar o bow que quiser e alterar para o tipo de tiro que achar melhor. Veja dicas no final do tutorial. Em items.xml de CTRL F, coloque 8858 e vá até o Elethriel's Bow e deixe da seguinte forma: Spoiler <item id="8858" article="a" name="magic ice bow"> <attribute key="weight" value="4400" /> <attribute key="slotType" value="two-handed" /> <attribute key="attack" value="100" /> <attribute key="weaponType" value="distance" /> <attribute key="shootType" value="shiverarrow" /> <attribute key="range" value="7" /> <attribute key="breakChance" value="0" /> </item> O attack, range e nome você poe a seu gosto. Em weapons.xml de CTRL F, coloque 8858 e vá até o Elethriel's Bow e deixe da seguinte forma: Spoiler <distance id="8858" level="200" swing="true" unproperly="1" event="script" value="magicbow.lua"> <!-- Elethriel's Elemental Bow --> <vocation id="3"/> <vocation id="7" showInDescription="0"/> </distance> O level você poe a seu gosto. Em weapons/scripts crie um arquivo magicbow.lua e coloque isso dentro: Spoiler local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, 1) setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_SHIVERARROW) setCombatFormula(combat, COMBAT_FORMULA_SKILL, 0, 0, 1.0, 0) local xCombat = createCombatObject() setCombatParam(xCombat, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE) local condition = createConditionObject(CONDITION_FREEZING) setConditionParam(condition, CONDITION_PARAM_DELAYED, 1) addDamageCondition(condition, 100, 2000, -20) addDamageCondition(condition, 50, 1000, -10) addDamageCondition(condition, 50, 1000, -5) setCombatCondition(xCombat, condition) function onUseWeapon(cid, var) local ret = doCombat(cid, combat, var) if(ret == false) then return false end local target = variantToNumber(var) if(target ~= 0) then local chance = math.random(0, 100) if(chance > 90) then ret = doCombat(cid, xCombat, var) end end return ret end Guia: setCombatParam(xCombat, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE) Tipo de dano que causará no alvo (você pode alterar para fogo, terra, etc). local condition = createConditionObject(CONDITION_FREEZING) Tipo de efeito que ficará no alvo (você pode alterar para fogo, terra, etc). addDamageCondition(condition, 100, 2000, -20) O alvo vai sofrer com o dano de 20 hit points a cada 2000 milissegundos, você pode notar outras duas linhas como essa de 10 e 5, os danos vão abaixando gradativamente, de 20 passa para 10 a cada 1000 milissegundos e 5 a cada 1000 milissegundos. Tipos de conditions, shottypes e como calcular formulas você pode encontrar variados tutoriais e aulas aqui no fórum mesmo. Isso é tudo, pessoal. Depois desses três passinhos simples, estará tudo pronto! Dicas: Spoiler Você também pode fazer usando: Warsinger Bow + Flaming Arrow + Fire Damage. setCombatParam(xCombat, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE) local condition = createConditionObject(CONDITION_BURNING) ShotType/DistanceEffect: FlamingArrow Silkweaver Bow + Earth Arrow + Earth Damage. setCombatParam(xCombat, COMBAT_PARAM_TYPE, COMBAT_EARTHDAMAGE) local condition = createConditionObject(CONDITION_POISON) ShotType/DistanceEffect: EarthArrow Royal Crossbow + Infernal Bolt + Holy Damage. setCombatParam(xCombat, COMBAT_PARAM_TYPE, COMBAT_HOLYDAMAGE) local condition = createConditionObject(CONDITION_DAZZLED) ShotType/DistanceEffect: InfernalBolt Ideias úteis: Spoiler Cargas Deixar o bow com cargas, basta adicionar essas duas linhas na tag do bow em items.xml: <attribute key="charges" value="100" /> <attribute key="showcharges" value="1" /> Tempo Deixar o bow com duração, basta adicionar essas três linhas na tag do bow em items.xml e a tag abaixo em movements.xml: <attribute key="duration" value="3600" /> <attribute key="showduration" value="1" /> <attribute key="decayTo" value="0" /> <movevent type="DeEquip" itemid="8858" slot="shield" event="function" value="onDeEquipItem"/> <movevent type="Equip" itemid="8858" slot="shield" level="200" event="function" value="onEquipItem"> <vocation id="3"/> <vocation id="7" showInDescription="0"/> </movevent> Conjura-lo com magia Fazer com que o bow seja conjurado a partir de spell, basta adicionar a tag de conjure em spells.xml: <conjure name="Magic Ice Bow" words="exevo ice bow" lvl="200" mana="1200" soul="10" prem="1" conjureId="8858" conjureCount="1" exhaustion="15000" needlearn="0" event="function" value="conjureRune"> <vocation id="3"/> <vocation id="7"/> </conjure> Funcionamento: Editado Março 2, 2019 6 anos por DdJs (veja o histórico de edições)
Postado Janeiro 22, 2019 6 anos Parabéns, seu tópico de conteúdo foi aprovado! Muito obrigado pela sua contribuição, nós do Tibia King agradecemos. Seu conteúdo com certeza ajudará à muitos outros, você recebeu +1 REP. Spoiler Congratulations, your content has been approved! Thank you for your contribution, we of Tibia King we are grateful. Your content will help many other users, you received +1 REP.
Postado Janeiro 22, 2019 6 anos @DdJs tópico perfeitamente organizado, parabéns. Obrigado por compartilhar o conteúdo!
Postado Maio 3, 2019 6 anos Autor 46 minutos atrás, Rodrigo94 disse: Topico muito bom, curti e estou usando seu script TOP!
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.