Ir para conteúdo
Banner com Efeitos

Featured Replies

Postado

Eu tenho um ot de war que utiliza um sistema de gems que adicionam HP/MP permanentemente ao personagem que é bem legal, mas tem um problema com ele.. o pessoal stacka mana e hp até o infinito sem ter como perder ela, e com isso eu tive a ideia de colocar um script que ao morrer, você perder uma certa % de HP/MANA dependendo de sua vocação, mas como eu não sei fazer.. venho aqui pedir a vocês, ele seria assim:

 

Druid e sorcerers perderem 5% da sua mana maxima ao morrer.

Knights perderem 5% do seu HP maxima ao morrer.

Paladins perderem 3% do seu HP maxima e 3% da sua mana ao morrer.

 

O level inicial do meu server é 130, então eu gostaria que essas penalidades parassem de ser aplicadas ao chegar no HP/MP original desse level

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

Resolvido por Caronte

Ir para solução
  • Respostas 21
  • Visualizações 1.7k
  • 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

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


    ["Knight"] = {
        vocs = {4, 8},
        lose = {
            ["hp"] = 5, -- Perde 5% de health
            ["mp"] = 0, -- Nao perde mana
        }
    },
    
    ["Paladin"] = {
        vocs = {3, 7},
        lose = {
            ["hp"] = 3, -- Perde 3% de health
            ["mp"] = 3, -- Perde 4% de mana
        }
    }
}


function onDeath(cid, corpse, deathList)
    local voc = getPlayerVocation(cid)
    
    for index, info in pairs(config) do
        if isInArray(info.vocs, voc) then -- Da uma estudada em for..
            if info.lose["mp"] > 0 then
                setCreatureMaxMana(cid, getCreatureMaxHealth(cid) * (1 - info.lose["mp"] / 100))
                doCreatureAddMana(cid, 1)
                doCreatureAddMana(cid, -1)
            end
            
            if info.lose["hp"] > 0 then
                setCreatureMaxHealth(cid, getCreatureMaxHealth(cid) * (1 - info.lose["hp"] / 100))
                doCreatureAddHealth(cid, 1)
                doCreatureAddHealth(cid, -1)
            end
            
            break
        end
    end
    
    return true
end

 

<event type="death" name="Perda" event="script" value="Arquivo.lua"/>

tem que registrar ..

registerCreatureEvent(cid, "Perda")

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

Eu tenho um ot de war que utiliza um sistema de gems que adicionam HP/MP permanentemente ao personagem que é bem legal, mas tem um problema com ele.. o pessoal stacka mana e hp até o infinito sem ter como perder ela, e com isso eu tive a ideia de colocar um script que ao morrer, você perder uma certa % de HP/MANA dependendo de sua vocação, mas como eu não sei fazer.. venho aqui pedir a vocês, ele seria assim:

 

Druid e sorcerers perderem 5% da sua mana maxima ao morrer.

Knights perderem 5% do seu HP maxima ao morrer.

Paladins perderem 3% do seu HP maxima e 3% da sua mana ao morrer.

 

O level inicial do meu server é 130, então eu gostaria que essas penalidades parassem de ser aplicadas ao chegar no HP/MP original desse level

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
local config = {
mages = {1, 5, 2, 6},
pallys = {3, 7},
knights = {4, 8},
}

  if isInArray(config.mages, getPlayerVocation(cid)) then
     setCreatureMaxMana(cid, getPlayerMaxMana(cid) - (getPlayerMaxMana(cid)*0.5))
  elseif isInArray(config.pallys, getPlayerVocation(cid)) then
     setCreatureMaxHealth(cid, getCreatureMaxHealth(cid) - (getCreatureMaxHealth(cid)*0.3))
     setCreatureMaxMana(cid, getPlayerMaxMana(cid) - (getPlayerMaxMana(cid)*0.3))
  elseif isInArray(config.knights, getPlayerVocation(cid)) then
     setCreatureMaxHealth(cid, getCreatureMaxHealth(cid) - (getCreatureMaxHealth(cid)*0.5))
  end
  return true
end

Tag:

<event type="death" name="DeathPercent" event="script" value="deathpercent.lua"/>

No login.lua:

 

registerCreatureEvent(cid, 'DeathPercent')

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

                              _
                          .-'` `}
                  _./)   /       }
                .'o   \ |       }
                '.___.'`.\    {`
                /`\_/  , `.    }                                      ME DA UMA NOZ!
                \=' .-'   _`\  {
                 `'`;/      `,  }
                    _\   @   ;  }
                   /__`;-...'--'

Cluck!

Postado
  • Autor

Eu só tive tempo de olhar o tópico agora, esqueci de postar o HP/MP das vocações mesmo, perdão.

 

Aqui vai:

Paladin: 1405 HP

             1255 MP

 

Knight: 2015 HP

            645 MP      

      

Sorcerer: 795 HP

                3695 MP

 

Druid: 795 HP

           3695 MP

 

Como ficaria o script? desculpas novamente pela falta de atenção.

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

Postado

Eu só tive tempo de olhar o tópico agora, esqueci de postar o HP/MP das vocações mesmo, perdão.

 

Aqui vai:

Paladin: 1405 HP

             1255 MP

 

Knight: 2015 HP

            645 MP      

      

Sorcerer: 795 HP

                3695 MP

 

Druid: 795 HP

           3695 MP

 

Como ficaria o script? desculpas novamente pela falta de atenção.

 

 

Funciona sem saber o hp.

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