Tenta:
function onUse(cid, item, frompos, item2, topos)
local remove_soul = 1 --Quantidade de soul que vai ser retirada de x em x tempo (definido na variável abaixo.)
local remove_time = 2 --A cada x em x tempo que será retirada a quantidade de soul (definida na variável acima.)
local max_time = 100 --Segundos que vai durar a retirada de soul.
function remove_soul(cid, time, count, delay)
for i = 2, time, delay do
addEvent(function()
if isCreature(cid) then
doPlayerAddSoul(cid, -count)
end
end, i*1000)
end
end
remove_soul(cid, max_time, remove_soul, remove_time)
return true
end
O script tá montado seguindo seu exemplo (100 segundos, removendo soul points a cada 2 segundos).




info
Grupo: Campones
Registrado: 06/11/13
Posts: 99
Reputação: +2
Olá galera!
Queria saber como posso fazer para ao dar use em um item, que esteja equipado, começar a diminuir o Soul Point do player gradativamente.
Ex:
Tenho um sword ring, eu equipo ele e depois dou use nele então meu soul point começa diminuir. Soul point = 100, 99, 98, 97, ..., 0
O soul point começa a diminuir depois de X tempo.
Ex:
Após dar use no item iniciará um tempo de 1 min e 40 segundos, por exemplo, meu soul point é 100 então depois de 2 segundos ele passará de 100 para 99, depois de mais 2 segundos passará para 98, fazendo isso até o soul zerar.