Ir para conteúdo
  • 0

[Resolvido] Learnspell E Unlearn Spell Por Tempo


atzka

Pergunta

Olá pessoal, temos aqui 2 funções que fazem o jogador aprender a magia e desaprender a magia, respectivamente.

doPlayerLearnInstantSpell(cid, Spell)
doPlayerUnlearnInstantSpell(cid, Spell)

 

Eu tentei fazer o jogador aprender a magia durante determinado tempo com a função addEvent mas não deu certo.

function onUse(cid, item, frompos, item2, topos)
local tempo = 1000
           addEvent(doPlayerLearnInstantSpell,10*tempo,cid, "Haste")
return true
end

 

 

Alguém poderia me ajudar?

 

  • Como fazer uma função que depois de X tempo acontece o evento? (Exemplo: Quando o jogador usa o item ele aprende a magia e quando se passam 10 segundos ele "desaprende" a magia.)
    Algo como:
     
    ---- EDIT -----
    function onUse(cid, item, frompos, item2, topos)
               doPlayerLearnInstantSpell(cid, "Haste")
               funcEvent(doPlayerUnlearnInstantSpell, tempo, cid, "Haste")
    
    return true
    end
    


    Sendo a funcEvent uma funçao que achei no topico do nosso amigo Demonbholder
     

     
    function funcEvent(func, time, ...)
    
    local i, timeLimit, timeFunc = os.time(), time/1000, os.time
    
    while true do
    if timeFunc() - i >= timeLimit then
    func(...)
    break
    end
    end
    
    end
    


 

 

 

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

4 respostass a esta questão

Posts Recomendados

  • 0

Eai, tudo bem? tente assim.

 

function onUse(cid, item, frompos, item2, topos)
doPlayerLearnInstantSpell(cid, "Haste")
addEvent(doPlayerUnlearnInstantSpell, 10*1000, cid, "Haste")
return true
end

 

E lembre que no arquivo spells.xml, o argumento needlearn na tag da magia precisa ser 1

 

:P::D

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...