Ir para conteúdo

Featured Replies

Postado

tenta assim:

 

 

function onStatsChange(cid, attacker, type, combat, value)
local monster = "Rabbit" -- Monstro que irá atingir o 50% e sumir
local monstro = "Demon"  -- Monstro que irá ser invocado
local msg = "Irei sumir" -- Mensagem quando o monstro for sumir 
   if not isMonster(cid) then 
      return true 
   end         
  if type == STATSCHANGE_HEALTHLOSS and getCreatureName(cid):lower() == monster:lower() then
         local monsterPercent = 100/(getCreatureMaxHealth(cid)/getCreatureHealth(cid))
         if monsterPercent <= 50 and monsterPercent >= 49 then
            doCreatureSay(cid, msg, 1)
            addEvent(doCreateMonster, 1000, monstro, getCreaturePosition(cid))
            addEvent(doRemoveCreature, 1000, cid)
        end
  end
return true
end 

 

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

  • Respostas 10
  • Visualizações 1.5k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • Creaturescripts/scripts function onStatsChange(cid, attacker, type, combat, value) local life = getCreatureHealth(cid) <= math.floor(0.5 * getCreatureMaxHealth(cid)) local monster = "Rabbit"

  • tenta assim:     function onStatsChange(cid, attacker, type, combat, value) local monster = "Rabbit" -- Monstro que irá atingir o 50% e sumir local monstro = "Demon" -- Monstro que irá

  • é pq tme mto jogador atingindo ao mesmo tempo, use assim:     function onStatsChange(cid, attacker, type, combat, value) local stor = 354867 -- n mexa local monster = "Rabbit" -- Monstro

Postado
  Em 17/05/2018 em 16:03, Zazeros disse:

@Vodkart Funcionou sim, ficou bem legal, mas só uma pergunta:

Nessa parte da script, significa que o monstro vai sumir quando tiver com a vida entre 50 e 49% ou se tiver com a vida com 50 ou 49%?

 

if monsterPercent <= 50 and monsterPercent >= 49 then

 

é que depende do hp do monstro, eu acho que o hp do seu monstro é bastante alta certo?

 

no caso é:

 

SE (hp do monstro) é igual ou menor(<=) que 50 E (hp do monstro) é igual ou maior(>=) que 49 ENTÃO

 

porque isso? Porque digamos que mtos players hitem ao mesmo tempo e o hp do monstro pule de 51% para 49%, ou seja, pulou 50% e o script não iria executar... entendeu?

 

de qualquer jeito se o hp do seu monstro não for tão alto, só usar: 

 

if monsterPercent <= 50 then

 

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

Postado
  • Autor

@Vodkart Entendi, o HP dele é bem alto mesmo. Obrigado pela explicação.

Só uma coisa, as vezes o monstro tá falando 2x e nesse caso, acabada summonando 2 monstros. Eu acho que pode ser que o menor que 50 e maior que 49 esteja sendo usado ao mesmo tempo, pode ser isso? 

Postado
  • Solução
  Em 17/05/2018 em 22:26, Zazeros disse:

@Vodkart Entendi, o HP dele é bem alto mesmo. Obrigado pela explicação.

Só uma coisa, as vezes o monstro tá falando 2x e nesse caso, acabada summonando 2 monstros. Eu acho que pode ser que o menor que 50 e maior que 49 esteja sendo usado ao mesmo tempo, pode ser isso? 

 

é pq tme mto jogador atingindo ao mesmo tempo, use assim:

 

 

function onStatsChange(cid, attacker, type, combat, value)
local stor = 354867 -- n mexa
local monster = "Rabbit" -- Monstro que irá atingir o 50% e sumir
local monstro = "Demon"  -- Monstro que irá ser invocado
local msg = "Irei sumir" -- Mensagem quando o monstro for sumir 
   if not isMonster(cid) then 
      return true 
   end         
  if type == STATSCHANGE_HEALTHLOSS and getCreatureName(cid):lower() == monster:lower() then
         local monsterPercent = 100/(getCreatureMaxHealth(cid)/getCreatureHealth(cid))
         if monsterPercent <= 50 and monsterPercent >= 49 then
            if getGlobalStorageValue(stor) - os.time() <= 0 then
               doCreatureSay(cid, msg, 1)
               setGlobalStorageValue(stor, os.time() + 120)
               addEvent(doCreateMonster, 1000, monstro, getCreaturePosition(cid))
               addEvent(doRemoveCreature, 1000, cid)
            end
        end
  end
return true
end

 

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

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