Ir para conteúdo
  • 0

function onCombat , me ajuda a fazer isso aqui?


tonynamoral

Pergunta

Olá galera , eu gostaria de um sistema , que tipo . o player está usando uma wand e , ele tem 30% de mandar uma magia .

 

exemplo :

 

 

local wands = {

[9812] = "exura",

[1725] = "exori flam",

}

 

function onCombat(cid)

 

if item.itemid = wands[getPlayerSlotItem(cid,6).itemid] then

if math.random(1,100) <= 30 then

doPlayerCastSpell(cid,wands[getPlayerSlotItem(cid,6).itemid]

end

return true

end

end

 

Só um exemplo .

Link para o comentário
Compartilhar em outros sites

13 respostass a esta questão

Posts Recomendados

  • 0

data/weapons/scripts

copie um arquivo e renomeie para spellwand.lua

local wands = {
[9812] = "exura",
[1725] = "exori flam",
chance = 30 -- em porcentagem
}

function onUseWeapon(cid, var)
if math.random(1,100) <= wands.chance then
doPlayerCastSpell(cid,wands[item.itemid])
end
return true
end

data/weapons/weapons.xml ache todas as wands que voce vai colocar o efeito e troque a tag

 

event="function" value="default"

por ..

event="script" value="spellwand.lua

 

não testei ;S

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

  • 0

Não vai funcionar.

 

O processo de instalação é o mesmo do passado pelo usuário acima.

 

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_FIREAREA)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_FIRE)
-- min = (level / minl + maglevel / minml) * 1. * mina + minb
-- max = (level / maxl + maglevel / maxml) * 1. * maxa + maxb
-- min < minc
--    min = minc
-- max < maxc
--    max = maxc
-- setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, mina, minb, maxa, maxb[, minl, maxl[, minm, maxm[, minc[, maxc]]]])
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -1, 0, -1, 0, 5, 5, 1.2, 1.4)

function onUseWeapon(cid, var)
   if math.random(0, 100) > 70 then
       doPlayerCastSpell(cid, "exori flam")
   end
   doCombat(cid, var)
   return true
end

 

Lembrando que um script de weapon, você precise criar um combat para que ele funcione e editar a fórmula de dano a gosto.

 

Deixei alguns comentários para te auxiliar quanto ao dano.

Link para o comentário
Compartilhar em outros sites

  • 0

1. Crie um arquivo Lua com o nome que você quiser em data/weapons/scripts, cole o conteúdo passado acima.

2. Abra o arquivo weapons.xml e coloque a linha abaixo:

 

<wand id="ID_DA_WAND" level="LEVEL_DA_WAND" mana="MANA_POR_TIRO" event="script" value="nome_do_arquivo.lua">

 

Certifique-se também que não exista nenhuma outra linha relacionada ao ID que você vai colocar, para evitar erros.

Link para o comentário
Compartilhar em outros sites

  • 0

Só sabe vir aqui postar "errinho" e esperar que caia do céu a solução, não mexe um dedo um milímetro para tentar aprender a consertar erros e aprender um pouco de Lua.

 

Cansei já da sua folga, então se vira aí.

 

Abraços.

Link para o comentário
Compartilhar em outros sites

  • 0

@Topic

 

Resolvido!

Script feito via Msn, podem mover o tópico.

 

 

@Script

 

Esse foi um script muito simples, foi só usar um if.

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

×
×
  • Criar Novo...