Postado Maio 17, 2018 7 anos 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 [*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*] DISCORD: vodkart#6090
Postado Maio 17, 2018 7 anos Autor @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
Postado Maio 17, 2018 7 anos 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 [*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*] DISCORD: vodkart#6090
Postado Maio 17, 2018 7 anos 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 Maio 18, 2018 7 anos 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 [*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*] DISCORD: vodkart#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.