Ir para conteúdo
  • 0

Regen constante


Fjinst

Pergunta

Olá, dei uma olhada no forum e não encontrei, então resolvi pedir

 

 

Gostaria que vocês me ajudem com um script que seja um regen passivo, tanto de mana quanto de vida

 

EX: O player vai healar 2 em 2 a cada segundo, mesmo sem comer food, como se fosse uma passiva de regen, e com o decorrer do level do player o regen vai aumentando, desde já grato pela atenção de ambos.

 

obs: De preferencia que fique aparecendo também a quantidade que healou, tipo healou 2, aparece um texto verde falando +2 encima do personagem.

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

Posts Recomendados

  • 0

Troquei o

 

<event type="login" name="regen" event="script" value="regen.lua"/>

 

por

<event type="think" name="regen" event="script" value="regen.lua"/>

 

com esse script que você passou

 

agora quando o player loga, fica curando sem exhaust varias vezes

 

 

 

Sobre o bug que falei é que se o player logar, e logar denovo ele cura, ignorando o exhaust do jogo, não é que o script buga e fica curando varias vezes, e sim cada vez que o player logar vai curar, ou seja da para os espertinhos ficarem logando e deslogando só pra burlar o exhaust do script

 

Desculpe por não ter explicado claramente

 

 

Acho que tive uma idéia, tem como você criar um creaturescripts que assim que o player loga fica com battle por 3 segundos? assim evitaria isso

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

  • 0

Acho que seria melhor fazer um globalevent mas ta ai do jeito que você quer.

 

function doDoT(cid)
    local a = {
        {levelMin = 0, levelMax = 10, heal = 1}, 
        {levelMin = 11, levelMax = 20, heal = 4},
        {levelMin = 21, levelMax = math.huge, heal = 20},
}
    if not isCreature(cid) then
        return false
    end
    if getCreatureHealth(cid) < getCreatureMaxHealth(cid) then
        for _, b in pairs(a) do
            if getPlayerLevel(cid) >= b.levelMin and getPlayerLevel(cid) <= b.levelMax then
                doCreatureAddHealth(cid, b.heal)
                addEvent(doDoT, 2000, cid)
            end
        end
    end
return true
end
 
function onLogin(cid)
    local condition_infight = createConditionObject(CONDITION_INFIGHT)
    setConditionParam(condition_infight, CONDITION_PARAM_TICKS, 3 * 1000)
    doAddCondition(cid, condition_infight)
    doDoT(cid)
return true
end
Link para o comentário
Compartilhar em outros sites

  • 0
[01/07/2015 09:30:01] [Error - CreatureScript Interface]

[01/07/2015 09:30:01] data/creaturescripts/scripts/passiva/hp.lua:onLogin

[01/07/2015 09:30:01] Description:

[01/07/2015 09:30:01] (luaDoAddCondition) Condition not found

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...