Ir para conteúdo

Featured Replies

Postado
  • 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) Elethriel's Elemental Bow.gif. É 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 Shiver Arrow.gif 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.gif Warsinger Bow + Flaming Arrow.gifFlaming Arrow + Burning Flash Icon.gif Fire Damage.

setCombatParam(xCombat, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)

local condition = createConditionObject(CONDITION_BURNING)

ShotType/DistanceEffect: FlamingArrow

 

Silkweaver Bow.gif Silkweaver Bow + Earth Arrow.gifEarth Arrow + Poisoned Flash Icon.gif Earth Damage.

setCombatParam(xCombat, COMBAT_PARAM_TYPE, COMBAT_EARTHDAMAGE)

local condition = createConditionObject(CONDITION_POISON)

ShotType/DistanceEffect: EarthArrow

 

Royal Crossbow.gif Royal Crossbow + Infernal Bolt.gif Infernal Bolt + Dazzled Flash Icon.gif 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:

bloggif_5c466b513db7d.gif.a1693f187ee95df0366431bbbf255be0.gif

Editado por DdJs (veja o histórico de edições)

Postado

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.

 

  • 2 months later...

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

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.7k

Informação Importante

Confirmação de Termo