Dodge System V2

RigBy
Por RigBy
em Globalevents e Spells

RigBy

Katrina? Romero Brito?
avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 05/02/14Posts: 411Gênero: MasculinoChar no Tibia: Zeh Sergipano

Dodge System por item V2

http://prntscr.com/7f2vl9

 

Para quem não sabe eu ja tinha feito um Dodge System ano passado, na época que eu não sabia nada, embora eu ainda não saiba nada to melhorando :D, eu tava sem nada para fazer ai decidir refazer, o script não tem nada de novo só foi modificado e melhorado algumas coisa.

 

Para que não sabe dodge é um sistema que faz com que o player tenha uma certa porcentagem de esquiva de um ataque( por ele te esquivado ele não vai toma nenhum ataque e não apenas 50%)

 

Então vamos la:

 

Em creaturescript:

Dodge System.lua

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
Creaturescript.xml
<event type="StatsChange" name="DodgeSystem" event="script" value="Dodge System.lua"/>
Login.lua antes do ultimo return true
registerCreatureEvent(cid, "DodgeSystem")
    if getPlayerStorageValue(cid, 123455678) == -1 then
        setPlayerStorageValue(cid, 123455678, 0) 
    end

em action:
dodgestone.lua
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 chego 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
action.xml tag
<action itemid="Id do item" event="script" value="dodgestone.lua"/>

 

Se tiver algum bug ou dica de como melhorar pode comentar ai nos cometários

Ps. com base nesse da para fazer Critical System, Reflect System e da para usar como magia de esquiva, se precisar é so fala :D



DXBXk1i.gif

xSONYx

Prostituto
avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 26/12/07Posts: 272Char no Tibia: [ADM]Sony

Não entendi, qual a diferença desse pro de antes?

----------------------------------------------------------------

 

Ah sim eu vi, o código tá menor, mas então, faz um array pra armazenar a configuração, fica melhor porque aí você não precisa ficar alterando toda hora tudo.. ^^

eu uso oculos no show porque elas querem minha alma

kinglekke

ewret
avatar
Artesão
Artesão

INFOS

Grupo: ArtesãoRegistrado: 29/04/13Posts: 139

teria como fazer um esquema de dodge por lvl EXEMPLO: player lvl 100 tem 10% de dodge ai quando ele upar lvl 200 tera 20% assim ate chegar no max que é lvl 500

OldTaboos24hpor48h.com Inauguração DOMONIGO as 18:00

|18/03/2018 | Stages | Custom Map | Loot 3 |VENHA SEM TOP TABOSS |

XxVinePeccixX

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 23/08/11Posts: 46

esse funciona em tfs 1.2? e tu tem algum sistema de critical?

UmSerQualquer

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 18/10/18Posts: 12

Tem como adaptar para Tfs 0.4?

blekdeivy

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 19/06/15Posts: 2

muito bom testei ficou perfeito