Ir para conteúdo

Ajuda Com Weapons


DarkSaga00

Posts Recomendados

Pessoal eu to tentando montar meu servidor e a tempo estou procurando uma forma de criar uma arma com efeitos especiais, por exemplo uma fire sword que tenha 20% de chance de dar um dano em area a cada ataque (dano seria 4 squares de fogo a frente de quem usou a espada) só que (pode parecer uma pergunta boba, ou não) eu não consegui montar um script q iniciasse quando eu atacasse um monstro (não quando eu uso um item)

 

queria saber como que eu consigo fazer isso, eu fiz umas alterações na pasta weapon e consegui isso:

 

local combat = createCombatObject()

setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, 1)

setCombatParam(combat, COMBAT_PARAM_BLOCKSHIELD, 1)

setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)

setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_FIREAREA)

setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_BURSTARROW)

setCombatFormula(combat, COMBAT_FORMULA_SKILL, 1, 0, 1, 0)

 

local area = createCombatArea( { {0, 1, 0}, {0, 1, 0}, {0, 1, 0}, {0, 3, 0} } )

 

setCombatArea(combat, area)

 

function onUseWeapon(cid, var)

return doCombat(cid, combat, var)

end

 

claro que eu tenho que alterar o tipo de projetil ainda mas isso é detalhe, o que acontece é que toda vez que eu ataco com a arma ele da esse ataque especial (numa area de 4 squares na minha frente) só que eu queria fazer isso acontecer apenas as vezes (20% de chance a cada ataque)

 

o que eu faço??

 

desde ja eu agradeço...

 

 

(ahh só pra avisar (não sei se adianta de alguma coisa) meu server eh o forgotten pra versão 8.50)

Editado por darksaga00
Link para o comentário
Compartilhar em outros sites

local combat = createCombatObject()

setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, 1)
setCombatParam(combat, COMBAT_PARAM_BLOCKSHIELD, 1)
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatFormula(combat, COMBAT_FORMULA_SKILL, 1, 0, 1, 0)

local combata = createCombatObject()

setCombatParam(combata, COMBAT_PARAM_BLOCKARMOR, 1)
setCombatParam(combata, COMBAT_PARAM_BLOCKSHIELD, 1)
setCombatParam(combata, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combata, COMBAT_PARAM_EFFECT, CONST_ME_FIREAREA)
setCombatParam(combata, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_BURSTARROW)
setCombatFormula(combata COMBAT_FORMULA_SKILL, 1, 0, 1, 0)

local area = createCombatArea( { {0, 1, 0}, {0, 1, 0}, {0, 1, 0}, {0, 3, 0} } )
setCombatArea(combata, area)

function onUseWeapon(cid, var)
local chance = math.random(0, 10)
if (chance <= 2) then
return doCombat(cid, combata, var)
else
return doCombat(cid, combat, var)
end
end

 

~~Edit

 

Foi arrumado um pequeno erro.

 

~~Edit 2

 

Veja se da certo agora...

Editado por lucasjockey
Link para o comentário
Compartilhar em outros sites

Editado ==~>

 

Bah cara, vlw mesmo, tavo precisando disso ja fa zum tempão =D

 

falto apenas tira o efeito da burst arrow e uma virgula pra completa..:

 

local combat = createCombatObject()

 

setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, 1)

setCombatParam(combat, COMBAT_PARAM_BLOCKSHIELD, 1)

setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)

setCombatFormula(combat, COMBAT_FORMULA_SKILL, 1, 0, 1, 0)

 

local combata = createCombatObject()

setCombatParam(combata, COMBAT_PARAM_BLOCKARMOR, 1)

setCombatParam(combata, COMBAT_PARAM_BLOCKSHIELD, 1)

setCombatParam(combata, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)

setCombatParam(combata, COMBAT_PARAM_EFFECT, CONST_ME_FIREAREA)

setCombatFormula(combata, COMBAT_FORMULA_SKILL, 1, 0, 1, 0)

 

local area = createCombatArea( { {0, 1, 0}, {0, 1, 0}, {0, 1, 0}, {0, 3, 0} } )

setCombatArea(combata, area)

 

function onUseWeapon(cid, var)

local chance = math.random(0, 10)

if (chance <= 2) then

return doCombat(cid, combata, var)

else

return doCombat(cid, combat, var)

end

end

 

valew mesmo :D

Editado por darksaga00
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...