Ir para conteúdo

Featured Replies

Postado
26 minutos atrás, Yamborghini disse:
  Ocultar conteúdo

<?xml version="1.0" encoding="UTF-8"?>
<monster name="Trainer Target" nameDescription="trainer target" race="UNDEAD" experience="0" speed="0" manacost="100">
  <health now="9999999" max="9999999"/>
  <look typeex="5787" />
  <targetchange interval="5000" chance="8"/>
  <strategy attack="100" defense="0"/>
  <flags>
    <flag summonable="0"/>
    <flag attackable="1"/>
    <flag hostile="1"/>
    <flag illusionable="1"/>
    <flag convinceable="0"/>
    <flag pushable="1"/>
    <flag canpushitems="0"/>
    <flag canpushcreatures="0"/>
    <flag targetdistance="1"/>
    <flag staticattack="90"/>
    <flag runonhealth="0"/>
  </flags>
  <attacks>
    <attack name="melee" interval="1000" skill="3" attack="8"/>
  </attacks>

  <defenses armor="1" defense="2">
    <defense name="healing" interval="2000" chance="25" min="999999" max="99999">

    </defense>
  </defenses>

  <immunities>
    <immunity physical="0"/>
    <immunity energy="0"/>
    <immunity fire="0"/>
    <immunity poison="0"/>
    <immunity lifedrain="0"/>
    <immunity paralyze="0"/>
    <immunity outfit="0"/>
    <immunity drunk="0"/>
    <immunity invisible="0"/>
    <immunity ice="0"/>
    <immunity holy="0"/>
    <immunity death="0"/>
    <immunity earth="0"/>
  </immunities>
  <loot>

  </loot>
  
  <script>
    <event name="LifeSteal"/>
</script>
</monster>

 

 

Cara eu testei aqui e funcionou normalmente.

 

rRlHvGv4QVq3Zgf-zoe6wA.png

 

Tenta da seguinte maneira, remove a tag que registra o login do script no creaturescripts.xml e usa o script assim.

local config = {
   weapons = {
   -- [ID] = LIFE STEAL %,
      [8602] = 10,
   },
   -- Vocations number
      -- 1, 5 = Druid,    Elder Druid
      -- 2, 6 = Sorcerer, Master Sorcerer
      -- 3, 7 = Paladin,  Royal Paladin
      -- 4, 8 = Knight,   Elite Knight
      -- others
   vocations = {4, 8},
}
 
function onStatsChange(cid, attacker, type, combat, value)
   if not isPlayer(attacker) then 
      return true 
   end 
 
   if not isInArray(config.vocations, getPlayerVocation(attacker)) then 
      return true 
   end
 
   for slot = 0, 9 do 
      for id, perc in pairs(config.weapons) do 
         if (getPlayerSlotItem(attacker, slot).id == id) then 
               return doCreatureAddHealth(attacker, math.ceil(value / perc))
         end
      end
   end
   
   return true
end

 

O XML do monstro você usa assim.

<?xml version="1.0" encoding="UTF-8"?>
<monster name="Trainer Target" nameDescription="trainer target" race="UNDEAD" experience="0" speed="0" manacost="100">
  <health now="9999999" max="9999999"/>
  <look typeex="5787" />
  <targetchange interval="5000" chance="8"/>
  <strategy attack="100" defense="0"/>
  <script>
	<event name="LifeSteal"/>
  </script>  
  <flags>
    <flag summonable="0"/>
    <flag attackable="1"/>
    <flag hostile="1"/>
    <flag illusionable="1"/>
    <flag convinceable="0"/>
    <flag pushable="1"/>
    <flag canpushitems="0"/>
    <flag canpushcreatures="0"/>
    <flag targetdistance="1"/>
    <flag staticattack="90"/>
    <flag runonhealth="0"/>
  </flags>
  <attacks>
    <attack name="melee" interval="1000" skill="3" attack="8"/>
  </attacks>

  <defenses armor="1" defense="2">
    <defense name="healing" interval="2000" chance="25" min="999999" max="99999">

    </defense>
  </defenses>

  <immunities>
    <immunity physical="0"/>
    <immunity energy="0"/>
    <immunity fire="0"/>
    <immunity poison="0"/>
    <immunity lifedrain="0"/>
    <immunity paralyze="0"/>
    <immunity outfit="0"/>
    <immunity drunk="0"/>
    <immunity invisible="0"/>
    <immunity ice="0"/>
    <immunity holy="0"/>
    <immunity death="0"/>
    <immunity earth="0"/>
  </immunities>
  <loot>

  </loot>
  
  <script>
    <event name="LifeSteal"/>
</script>
</monster>

 

E por ultimo, no seu login.lua, você adiciona a seguinte linha.

registerCreatureEvent(cid, "LifeSteal")

 

Para realizar o teste, reinicie o servidor ao invés de dar reload. Tenha certeza também de que o player é da vocação de ID 4 ou 8 (Knight) e também que esteja usando como arma o item de ID 8602.

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

 

 

 

Nós somos aquilo que fazemos repetidamente. Excelência, não é um modo de agir, mas um hábito.

                                                                                                                                                                                                                                        Aristóteles 

  • Respostas 33
  • Visualizações 2.4k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • Isso aqui só funciona em OTX: if (getPlayerSlotItem(attacker, slot).id == id) then   Tenta: if(getPlayerSlotItem(attacker, slot).itemid == id) then  

Postado
  • Autor
9 minutos atrás, Way20 disse:

 

Cara eu testei aqui e funcionou normalmente.

 

rRlHvGv4QVq3Zgf-zoe6wA.png

 

Tenta da seguinte maneira, remove a tag que registra o login do script no creaturescripts.xml e usa o script assim.


local config = {
   weapons = {
   -- [ID] = LIFE STEAL %,
      [8602] = 10,
   },
   -- Vocations number
      -- 1, 5 = Druid,    Elder Druid
      -- 2, 6 = Sorcerer, Master Sorcerer
      -- 3, 7 = Paladin,  Royal Paladin
      -- 4, 8 = Knight,   Elite Knight
      -- others
   vocations = {4, 8},
}
 
function onStatsChange(cid, attacker, type, combat, value)
   if not isPlayer(attacker) then 
      return true 
   end 
 
   if not isInArray(config.vocations, getPlayerVocation(attacker)) then 
      return true 
   end
 
   for slot = 0, 9 do 
      for id, perc in pairs(config.weapons) do 
         if (getPlayerSlotItem(attacker, slot).id == id) then 
               return doCreatureAddHealth(attacker, math.ceil(value / perc))
         end
      end
   end
   
   return true
end

 

O XML do monstro você usa assim.


<?xml version="1.0" encoding="UTF-8"?>
<monster name="Trainer Target" nameDescription="trainer target" race="UNDEAD" experience="0" speed="0" manacost="100">
  <health now="9999999" max="9999999"/>
  <look typeex="5787" />
  <targetchange interval="5000" chance="8"/>
  <strategy attack="100" defense="0"/>
  <script>
	<event name="LifeSteal"/>
  </script>  
  <flags>
    <flag summonable="0"/>
    <flag attackable="1"/>
    <flag hostile="1"/>
    <flag illusionable="1"/>
    <flag convinceable="0"/>
    <flag pushable="1"/>
    <flag canpushitems="0"/>
    <flag canpushcreatures="0"/>
    <flag targetdistance="1"/>
    <flag staticattack="90"/>
    <flag runonhealth="0"/>
  </flags>
  <attacks>
    <attack name="melee" interval="1000" skill="3" attack="8"/>
  </attacks>

  <defenses armor="1" defense="2">
    <defense name="healing" interval="2000" chance="25" min="999999" max="99999">

    </defense>
  </defenses>

  <immunities>
    <immunity physical="0"/>
    <immunity energy="0"/>
    <immunity fire="0"/>
    <immunity poison="0"/>
    <immunity lifedrain="0"/>
    <immunity paralyze="0"/>
    <immunity outfit="0"/>
    <immunity drunk="0"/>
    <immunity invisible="0"/>
    <immunity ice="0"/>
    <immunity holy="0"/>
    <immunity death="0"/>
    <immunity earth="0"/>
  </immunities>
  <loot>

  </loot>
  
  <script>
    <event name="LifeSteal"/>
</script>
</monster>

 

Para realizar o teste, reinicie o servidor ao invés de dar reload. Tenha certeza também de que o player é da vocação de ID 4 ou 8 (Knight) e também que esteja usando como arma o item de ID 8602.

nada :( e eu estou fazendo tudo certo

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

tumblr_o70wteR8521r9n6kzo1_400.gif

Postado
4 minutos atrás, Yamborghini disse:

nada :( e eu estou fazendo tudo certo

 

 

Chegou a adicionar isso no login.lua?

registerCreatureEvent(cid, "LifeSteal")

 

 

 

 

Nós somos aquilo que fazemos repetidamente. Excelência, não é um modo de agir, mas um hábito.

                                                                                                                                                                                                                                        Aristóteles 

Postado
Agora, Yamborghini disse:

sim

 

Então infelizmente não tenho ideia do que possa ser, aqui funcionou tranquilo.

 

 

 

Nós somos aquilo que fazemos repetidamente. Excelência, não é um modo de agir, mas um hábito.

                                                                                                                                                                                                                                        Aristóteles 

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.

Conteúdo Similar

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.7k

Informação Importante

Confirmação de Termo