Postado Janeiro 19, 2015 10 anos Gostaria de um tile que heale os bichos que passem encima, mas apenas criaturas. Caso um player passe, nada aconteça. OBS.: como vai ser mais de um tile, se possível, que possa repetir o AID ou UID (sei lá qual vai ser usado) em mais de um tile. OBS2,: favor, colocar efeito quando o bicho passar encima. Vlw <3 ~~ [show Off] Lolksky ~~
Postado Janeiro 20, 2015 10 anos Não Testei function onStepIn(cid) if isMonster(cid) then doCreatureAddHealth(cid, getCreatureHealthMax(cid)) doSendMagicEffect(getThingPos(cid), 12) end return true end
Postado Janeiro 20, 2015 10 anos Solução doCreatureAddHealth(cid, getCreatureHealthMax(cid)) Amigo, essa função que você utilizou no segundo parâmetro, não existe. Portanto retornaria um valor nulo; seria getCreatureMaxHealth. E o modo como ela está sendo aplicada, provavelmente iria bugar os health points do creatureid, já que você fez uma adição do HP máximo dele ao HP atual. Você têm de subtrair os points máximos pelos points atuais, então, resultando na quantidade exata para "completar" o HP do creatureid: function onStepIn(cid) if isMonster(cid) then doCreatureAddHealth(cid, getCreatureMaxHealth(cid) - getCreatureHealth(cid)) doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE) end return true end The corrupt fear us. The honest support us. The heroic join us.
Postado Janeiro 20, 2015 10 anos Amigo, essa função que você utilizou no segundo parâmetro, não existe. Portanto retornaria um valor nulo; seria getCreatureMaxHealth. E o modo como ela está sendo aplicada, provavelmente iria bugar os health points do creatureid, já que você fez uma adição do HP máximo dele ao HP atual. Você têm de subtrair os points máximos pelos points atuais, então, resultando na quantidade exata para "completar" o HP do creatureid: function onStepIn(cid) if isMonster(cid) then doCreatureAddHealth(cid, getCreatureMaxHealth(cid) - getCreatureHealth(cid)) doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE) end return true end Sim, o código pode estar errado, porém na função "doCreatureAddHealth", não seria necessário adicionar apenas o restante, porque esta função o máximo que ela adiciona é o valor máximo do HP da criatura.
Postado Janeiro 20, 2015 10 anos na função "doCreatureAddHealth", não seria necessário adicionar apenas o restante, porque esta função o máximo que ela adiciona é o valor máximo do HP da criatura. Observe-a: function doCreatureAddHealth(cid, health) local c = Creature(cid) return c ~= nil and c:addHealth(health) or false end Já que não crê em mim, tire a prova, teste. The corrupt fear us. The honest support us. The heroic join us.
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.