Ir para conteúdo

Featured Replies

Postado

Boa noite, no meu otserv tem um item que ao da use você ganha 2 horas de heal e mana, porém se o player morrer ou relogar ele perde o buff ( mas a storage fica até as duas horas terminar). o meu problema é que quando o player relogar ou morrer continue curando pelo tempo restante.

 

local l = {
storage = 789159, -- storage do check
mp = 2, -- porcentagem que vai ganhar de mana por segundo
hp = 2, -- porcentagem que vai ganhar em hp por segundo
secs = 1, -- em quanto em quanto segundos que vai healar
hours = 2 -- quantas horas irá ficar healando
}

local function LoopRegen(uid)
if isPlayer(uid) then
 if getPlayerStorageValue(uid, l.storage) > os.time() then
  doCreatureAddMana(uid, getCreatureMaxMana(uid)/100*l.mp)
  doCreatureAddHealth(uid, getCreatureMaxHealth(uid)/100*l.hp)
  addEvent(function()
  LoopRegen(uid)
  end, l.secs*1000)
 end
end 

end

function onUse(cid, item, fromPosition, itemEx, toPosition)
if getPlayerStorageValue(cid, l.storage) < os.time() then
 doCreatureSetStorage(cid, l.storage, os.time()+l.hours*60*60)
 doPlayerSendTextMessage(cid, MESSAGE_STATUS_WARNING, "Você agora está com heal de 2% de Mana e Life por "..l.hours.." hora"..(l.hours == 1 and "." or "s." ))
 LoopRegen(cid)
doSendAnimatedText(getPlayerPosition(cid), "Amethyst", TEXTCOLOR_PURPLE)
doSendMagicEffect(getCreaturePosition(cid), math.random(27,27))
 doRemoveItem(item.uid, 1)
 else
 doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED, "Desculpe, mas você já está com buff.")
 end
return true
end

function onLogin(cid)
	return LoopRegen(l.storage, os.time()+l.hours*60*60, cid)
end

 

Resolvido por MatteusDeli

Ir para solução
Postado
  • Solução

@eunaosei123 Bom dia, tente assim:

 

Eu alterei o seu script e centralizei toda a configuração dele no arquivo 066-heal para facilitar.

 

1 - Vá em data/lib e crie um arquivo chamado 066-heal e cole isto dentro:

Mostrar conteúdo oculto

 

2 - Vá em data/actions/scripts e abra o seu script atual e altere para este:

Mostrar conteúdo oculto

 

3- Vá em data/creatureevents/scripts e crie um arquivo chamado healLogout.lua e cole isto dentro:

Mostrar conteúdo oculto

 

- Por último abra o creatureevents.XML e cole estas duas tags dentro:

Mostrar conteúdo oculto

 

Editado por MatteusDeli (veja o histórico de edições)

Postado
  • Autor
  Em 11/05/2020 em 13:52, MatteusDeli disse:

@eunaosei123 Bom dia, tente assim:

 

Eu alterei o seu script e centralizei toda a configuração dele no arquivo 066-heal para facilitar.

 

1 - Vá em data/lib e crie um arquivo chamado 066-heal e cole isto dentro:

Mostrar conteúdo oculto

 

2 - Vá em data/actions/scripts e abra o seu script atual e altere para este:

Mostrar conteúdo oculto

 

3- Vá em data/creatureevents/scripts e crie um arquivo chamado healLogout.lua e cole isto dentro:

Mostrar conteúdo oculto

 

- Por último abra o creatureevents.XML e cole estas duas tags dentro:

Mostrar conteúdo oculto

 

 

Tá funcionando muito obrigado, mas me tire uma dúvida, teria como colocar para mostrar quanto ganha de hp e mana? tá mostrando só de life.

Postado
  • Autor
  Em 12/05/2020 em 22:21, MatteusDeli disse:

@eunaosei123 Voce quer que apareça a mensagem de cura da mana e do life toda fez que ocorrer a regeneração?

É porque tá mostrando somente o do healingh, o da mana não aparece.

Editado por eunaosei123 (veja o histórico de edições)

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo