function onCombat , me ajuda a fazer isso aqui?

tonynamoral
em Scripts

tonynamoral

Administrador DragonHeart
avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 22/09/10Posts: 319Char no Tibia: lest sarif

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 .

sign1z.png

Clique na imagem e veja nosso TOPICO OFFICIAL

Oneshot

avatar
Marquês
Marquês

INFOS

Grupo: MarquêsRegistrado: 05/07/09Posts: 1347

Faz direto no script da wand.

tonynamoral

Administrador DragonHeart
avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 22/09/10Posts: 319Char no Tibia: lest sarif

Como?

sign1z.png

Clique na imagem e veja nosso TOPICO OFFICIAL

XxPaaulinhoOxX

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 19/12/12Posts: 47

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

tonynamoral

Administrador DragonHeart
avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 22/09/10Posts: 319Char no Tibia: lest sarif

Irei testar =x

sign1z.png

Clique na imagem e veja nosso TOPICO OFFICIAL

Oneshot

avatar
Marquês
Marquês

INFOS

Grupo: MarquêsRegistrado: 05/07/09Posts: 1347

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.

tonynamoral

Administrador DragonHeart
avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 22/09/10Posts: 319Char no Tibia: lest sarif

Poderia me ajudar a instalar?

sign1z.png

Clique na imagem e veja nosso TOPICO OFFICIAL

Oneshot

avatar
Marquês
Marquês

INFOS

Grupo: MarquêsRegistrado: 05/07/09Posts: 1347

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.

tonynamoral

Administrador DragonHeart
avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 22/09/10Posts: 319Char no Tibia: lest sarif

Irei testar.

 

[10/01/2013 10:09:21] [Error - Weapon Interface]

[10/01/2013 10:09:21] data/weapons/scripts/wands.lua:onUseWeapon

[10/01/2013 10:09:21] Description:

[10/01/2013 10:09:21] (luaDoCombat) Combat not found

sign1z.png

Clique na imagem e veja nosso TOPICO OFFICIAL

Oneshot

avatar
Marquês
Marquês

INFOS

Grupo: MarquêsRegistrado: 05/07/09Posts: 1347

Errei a linha:

 

doCombat(cid, var)

 

Troque por:

 

doCombat(cid, combat, var)

tonynamoral

Administrador DragonHeart
avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 22/09/10Posts: 319Char no Tibia: lest sarif

[10/01/2013 12:05:36] [Error - Weapon Interface]

[10/01/2013 12:05:36] data/weapons/scripts/wands.lua:onUseWeapon

[10/01/2013 12:05:36] Description:

[10/01/2013 12:05:36] (luaDoCombat) Combat not found

sign1z.png

Clique na imagem e veja nosso TOPICO OFFICIAL

Oneshot

avatar
Marquês
Marquês

INFOS

Grupo: MarquêsRegistrado: 05/07/09Posts: 1347

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.

tonynamoral

Administrador DragonHeart
avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 22/09/10Posts: 319Char no Tibia: lest sarif

Eu estou tentando arrumar aqui , mais obrigado ai.

sign1z.png

Clique na imagem e veja nosso TOPICO OFFICIAL

Snowsz

avatar
Artesão
Artesão

INFOS

Grupo: ArtesãoRegistrado: 22/01/12Posts: 121Char no Tibia: Not...

@Topic

 

Resolvido!

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

 

 

@Script

 

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

Oi '-'