Ir para conteúdo

Featured Replies

  • Respostas 21
  • Visualizações 1.6k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • local config = {     ["Mages"] = {         vocs = {1, 5, 2, 6},         lose = {             ["hp"] = 0, -- Nao perde health             ["mp"] = 5, -- Perde 5% de mana         }     },     ["Knight

  • Como você não informou o hp/mana do level 130, fiz somente assim: Crie um arquivo com o nome deathpercent.lua function onDeath(cid, corpse, deathList) if not isPlayer(cid) then return true end l

  • Funciona sem saber o hp.

Postado
  • Solução

@Murilosky

Tenta agora:

coloquei o mínimo e arrumei as porcentagens de cada vocação.., lembrando que a distro não atualiza a vida na hora, depois vejo com max sobre o script que faz atualizar...

function onDeath(cid, corpse, deathList)
if not isPlayer(cid) then
return true
end
local config = {
mages = {1, 5, 2, 6},
pallys = {3, 7},
knights = {4, 8},
}

local percents = {
perdevida5 = 5, 
perdevida3 = 3,
perdemana5 = 5,
perdemana3 = 3,
}



  if isInArray(config.mages, getPlayerVocation(cid)) and getPlayerMaxMana(cid) > 3695 then   -- Mana mínima dos mages
     setCreatureMaxMana(cid, getPlayerMaxMana(cid) - (getPlayerMaxMana(cid)*percents.perdemana5/100))
     
  elseif isInArray(config.pallys, getPlayerVocation(cid)) then
    if getCreatureMaxHealth(cid) > 1405 then  -- Vida mínima do pala
     setCreatureMaxHealth(cid, getCreatureMaxHealth(cid) - (getCreatureMaxHealth(cid)*percents.perdevida3/100))
     if getPlayerMaxMana(cid) > 1255 then  -- Mana mínima do para
     setCreatureMaxMana(cid, getPlayerMaxMana(cid) - (getPlayerMaxMana(cid)*percents.perdemana3/100))
      
        elseif isInArray(config.knights, getPlayerVocation(cid)) and getCreatureMaxHealth(cid) > 1405 then -- Vida mínima de kina
           setCreatureMaxHealth(cid, getCreatureMaxHealth(cid) - (getCreatureMaxHealth(cid)*percents.vida5/100))
     
     
      end
     end
  end
  return true
end

Se você quiser re-configurar é só alterar os números da tabela percents...

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

Se quiser sua dúvida tirada, mande PM com os links, e não com a dúvida (outros podem ter a mesma dúvida, e o fórum serve para ser usado).

 

Tópicos:


 

yNlhRVC.png

 

55px-Judo_yellow_belt.svg.png

Postado
  • Autor

Funcionou certinho, o chato é que se vc tiver por exemplo, 1 de hp e 1 de mana a mais que o limite a puniçao vai ser aplicada e vai ficar com menos hp q o limite, mas depois disso a puniçao para de ser aplicada, mas ta quebrando o galho, muito obrigado cara.

Postado

Funcionou certinho, o chato é que se vc tiver por exemplo, 1 de hp e 1 de mana a mais que o limite a puniçao vai ser aplicada e vai ficar com menos hp q o limite, mas depois disso a puniçao para de ser aplicada, mas ta quebrando o galho, muito obrigado cara.

 

 

De nada :D

posso ver se dá para fazer uma alteração aqui, se setar menor que a vida limite voltar para a vida limite..


local config = { 
    mages = {
        vocs = {1, 5, 2, 6},
        percent = 5,
        min_mana = 3695,
    },


    pallys = {
        vocs = {3, 7},
        percent = 3,
        min_hp = 1405,
        min_mana = 1255,
    },
    
    knights = {
        vocs = {4, 8},
        percent = 3,
        min_hp = 1405
    },
}




function onDeath(cid, corpse, deathList)
    local minha_voc = getPlayerVocation(cid)
    local max_mana = getPlayerMaxMana(cid)
    local max_hp = getCreatureMaxHealth(cid)


    if isInArray(config.mages, minha_voc) and max_mana > config.mages.min_mana then   -- Mana mínima dos mages
        setCreatureMaxMana(cid, max_mana - (max_mana * (config.mages.percent / 100)))


        if getCreatureMaxMana(cid) < config.mages.min_mana then
            setCreatureMaxMana(cid, config.mages.min_mana)
        end            
    elseif isInArray(config.pallys, minha_voc) then
        if max_hp > config.pallys.min_hp then  -- Vida mínima do pala
            setCreatureMaxHealth(cid, max_hp - (max_hp * (config.pallys.percent / 100)))
    
            if getCreatureMaxHealth(cid) < config.pallys.min_hp then
                setCreatureMaxHealth(cid, config.pallys.min_hp)
            end 
        end
        
        if getPlayerMaxMana(cid) > config.pallys.min_mana then  -- Mana mínima do pala
            setCreatureMaxMana(cid, max_mana - (max_mana * (config.pallys.percent /100)))
            
            if getCreatureMaxMana(cid) < config.pallys.min_mana then
                setCreatureMaxMana(cid, config.pallys.min_mana)
            end    
        end
    elseif isInArray(config.knights, minha_voc) and max_hp > config.knights.min_hp then -- Vida mínima de kina
        setCreatureMaxHealth(cid, max_hp - (max_hp * (percents.vida5/100)))


          if getCreatureMaxHealth(cid) < config.knights.min_hp then
               setCreatureMaxHealth(cid, config.knights.min_hp)
         end
    end


  return true
end

Vê aí.

agora sempre que colocar a vida menor que a mínima, ele vai voltar para a mínima automáticamente.

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

Se quiser sua dúvida tirada, mande PM com os links, e não com a dúvida (outros podem ter a mesma dúvida, e o fórum serve para ser usado).

 

Tópicos:


 

yNlhRVC.png

 

55px-Judo_yellow_belt.svg.png

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