Ir para conteúdo

Revive Monster


caotic

Posts Recomendados

Hoje venho trazer um script bem simples para vocês.

Eu fiz um script para um amigo e resolvi postar no xtibia para meus queridos xtibianos.

E bem simples o script quando a criatura morre ela transforma em outra com a vida full dando um efeito de área bem bonito.

 

E simplesinho mais e funcional e útil.

 

 

Vá em creaturescripts e crie um arquivo lua chamado monster.

 

 
function onPrepareDeath(cid, lastHitKiller, mostDamageKiller)
local area = 18 ------- A area que o efeito vai alcançar----
local effect = 23 --- Id do efeito de área para deixar mais bonito escolha um vibrante e colorido--------
local creature = "Demon" -- Monstro que revive ---
function doSendDistanceEffectAround(cid, position, AreaNumber, type)  
local numberInArea = tonumber(AreaNumber)
local distance0 = {x=position.x, y=position.y-numberInArea, z=position.z}
local distance1 = {x=position.x+numberInArea, y=position.y, z=position.z}
local distance2 = {x=position.x, y=position.y+numberInArea, z=position.z}
local distance3 = {x=position.x-numberInArea, y=position.y, z=position.z}
return doSendDistanceShoot(position, distance0, type) and doSendDistanceShoot(position, distance1, type) and doSendDistanceShoot(position, distance2, type) and doSendDistanceShoot(position, distance3, type)
end

doSendDistanceEffectAround(cid, getCreaturePosition(cid), area, effect)
doCreateMonster(creature, getCreaturePosition(cid))
return doRemoveCreature(cid)
end

 

Coloque esta tag em creaturescripts.xml

 

<event type="preparedeath" name= "revive" event="script" value="monster.lua"/>

 

Registre no xml do monstro que vai se transformar colocando antes do <monster>.

 

 

<script>
<event name="revive"/>
</script>

Link para o comentário
Compartilhar em outros sites

Tem como por tipo, com uma chanse de nascer? por exempplo 50 50..

 

Assim?

function onPrepareDeath(cid, lastHitKiller, mostDamageKiller)
local area = 18 ------- A area que o efeito vai alcançar----
local effect = 23 --- Id do efeito de área para deixar mais bonito escolha um vibrante e colorido--------
local creature = "Demon" -- Monstro que revive ---
local chance = 4 --- Chance de 1 uma ou seja se você por 10 existe 10% de sair o monstro-----
function doSendDistanceEffectAround(cid, position, AreaNumber, type)
local numberInArea = tonumber(AreaNumber)
local distance0 = {x=position.x, y=position.y-numberInArea, z=position.z}
local distance1 = {x=position.x+numberInArea, y=position.y, z=position.z}
local distance2 = {x=position.x, y=position.y+numberInArea, z=position.z}
local distance3 = {x=position.x-numberInArea, y=position.y, z=position.z}
return doSendDistanceShoot(position, distance0, type) and doSendDistanceShoot(position, distance1, type) and doSendDistanceShoot(position, distance2, type) and doSendDistanceShoot(position, distance3, type)
end
ran = math.random(1, chance)
if ran == 1 then
doSendDistanceEffectAround(cid, getCreaturePosition(cid), area, effect)
doCreateMonster(creature, getCreaturePosition(cid))
end
return doRemoveCreature(cid)
end

Editado por caotic
Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...