Dodge é um sistema que permite (através de item neste caso) o player ''desviar'' de alguns ataques, ou seja, quantos mais ''dodges itens'' o player tiver usado, maior a chance durante uma batalha de um ataque contra ele ser cancelado. No nosso caso usaremos um sistema que permite usar de 0-50 dodge's. Vamos lá.
Passo 1º - Em creaturescript crie um arquivo .lua chamado Dodge System, dentro dele coloque isto:
function onStatsChange(cid, attacker, type, combat, value)
local getStorage = getPlayerStorageValue(cid, 123455678)
if (type == STATSCHANGE_HEALTHLOSS or type == STATSCHANGE_MANALOSS) then
local chance = math.random (0,100)
if chance <= getStorage then
doSendAnimatedText(getCreaturePos(cid), "MISS!", 214)
doSendMagicEffect(getCreaturePosition(cid), 30)
return false
end
end
return true
end
Passo 2º - Em Creaturescript.xml adicione esta linha:
<event type="StatsChange" name="DodgeSystem" event="script" value="Dodge System.lua"/>
Passo 3º - Em Login.lua, desça até o final da página e procure o último ''return'' (está no final). Após achar ele, acrescente isso ANTES dele. ps: não esqueça de colocar o end.
registerCreatureEvent(cid, "DodgeSystem")
if getPlayerStorageValue(cid, 123455678) == -1 then
setPlayerStorageValue(cid, 123455678, 0)
end
Passo 4º - Agora vamos até a pasta ''action'' e criamos um arquivo .lua chamado dodgestone, vamos acrescentar isso dentro dele:
function onUse(cid, item, fromPosition, itemEx, toPosition)
local max = 50 -- limite de dodge
local storagedodge = 123455678 -- storage do dodge
if getPlayerStorageValue(cid, storagedodge) >= max then
return doPlayerSendTextMessage(cid,22,"Você ja chegou no limite de Dodge.")
else
doPlayerSetStorageValue(cid, storagedodge, (getPlayerStorageValue(cid, storagedodge)) + 1)
doPlayerSendTextMessage(cid,22, "DodgeSKILL:["..getPlayerStorageValue(cid, storagedodge).."/"..max.."].")
doRemoveItem(item.uid, 1)
end
return true
end
Passo 5º - Agora volte um pouco e vá até a pasta action.xml (ela normalmente está de baixo da pasta anterior que utilizamos) e adicione esta tag: ps: Não esqueça de colocar o ID do item que você deseja que vire uma ''dodge''.
<action itemid="Id do item" event="script" value="dodgestone.lua"/>
Considerações finais: Para mudar a quantidade de dodge's que o player pode usar ao todo, está no passo 4.
Coloque esse sistema em um item agrupável, uma vez que o player vai comprar vários
O script está funcionando perfeitamente bem, os créditos dele vai inteiramente para o Visconde (Zeh Sergipano). Espero que quebre o galho de vocês assim como quebrou o meu!!