[Resolvido] Mover boss com 80% da vida

brunin86
em Resolvidos

brunin86

avatar
Artesão
Artesão

INFOS

Grupo: ArtesãoRegistrado: 30/05/10Posts: 101

Bom dia galera.. Tudo joia?

Precisava de um globalevent onde um boss se teleporta pra uma posição X se ele estiver com 80% de life e volta um tempo depois pra posição Y..

Como se fosse uma quest onde eu vou matar o boss.. Quando chego na sala, bato no boss até ele ficar com 80% de life, depois ele fica preso na parte de cima da sala e aparecem outros monstros pra eu matar, depois de 10s por exemplo o boss desce novamente, fica até ter 40% de life, sobe de novo e fica preso, e aparecem outros monstros na sala pra eu matar

 

Agradeço desde já :DDD

MSN : brunin.1420@hotmail.com

 

 

Catch System + Go/Back ' (da época de 2010 que não tinha server de pokemon sem ser o da SVKE)

Pokedex System (Basico) (da época de 2010 que não tinha server de pokemon sem ser o da SVKE)

Saffari Zone (da época de 2010 que não tinha server de pokemon sem ser o da SVKE)

 

 

740733.png

Ajudei ? Quer me ajudar ? Upa meu pet pls :]

 

fbbc5e2.png

PoRaI

avatar
Administrador
Administrador

INFOS

Grupo: AdministradorRegistrado: 23/07/06Posts: 121Gênero: MasculinoChar no Tibia: Politico

Coloca a versão quando for postar coisas do gênero.


1.0.

local TELEPORTED_CREATURES = {}
local TELEPORT_LOW_HEALTH = {
    {name = "Demon", to = {x=1,y=1,z=7}, percent=80},
    {name = "Demon", to = {x=1,y=1,z=7}, percent=60},
    {name = "Demon", to = {x=1,y=1,z=7}, percent=40},
}

function onHealthChange(creature, attacker, primaryDamage, primaryType, secondaryDamage, secondaryType, origin)
    if creature:isMonster() then
        for n, m in pairs(TELEPORT_LOW_HEALTH) do
            if m.name == creature:getName() and creature:getHealth() <= (creature:getMaxHealth() / 100) * m.percent then
                local mid = creature:getId()
                if not TELEPORTED_CREATURES[mid] or Position(TELEPORTED_CREATURES[mid]) ~= Position(m.to) then
                    TELEPORTED_CREATURES[mid] = m.to
                    creature:teleportTo(m.to, false)
                    break
                end
            end
        end
    end
    return primaryDamage, primaryType, -secondaryDamage, secondaryType
end


0.3.6pl1.


local TELEPORTED_CREATURES = {}
local TELEPORT_LOW_HEALTH = {
	{name = "Demon", to = {x=1,y=1,z=7}, percent=80},
	{name = "Demon", to = {x=1,y=1,z=7}, percent=60},
	{name = "Demon", to = {x=1,y=1,z=7}, percent=40},
}

function onStatsChange(cid, attacker, type, combat, value)
	if isMonster(cid) then
		for n, m in pairs(TELEPORT_LOW_HEALTH) do
			if m.name == getCreatureName(cid) and getCreatureHealth(cid) <= (getCreatureMaxHealth(cid) / 100) * m.percent then
				local pos = m.to.x..","..m.to.y..","..m.to.z
				if not TELEPORTED_CREATURES[cid] or TELEPORTED_CREATURES[cid] ~= pos then
					TELEPORTED_CREATURES[cid] = pos
					doTeleportThing(cid, m.to, false)
					break
				end
			end
		end
	end
	return true
end


São creaturescripts. Basta configurar o script no creaturescripts.xml e colocar no xml da criatura:

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

 

Stigal

don't ever stop...
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 28/11/10Posts: 3402Gênero: Masculino
O pedido neste tópico de foi atendido e/ou o autor do tópico resolveu sua duvida. Este tópico está fechado e foi movido para Pedidos - Resolvidos. Se você tiver outros pedidos, crie um novo tópico.

VI6MDIG.png

 

"O fracasso é a oportunidade de se começar de novo inteligentemente"

Minhas Redes Sociais: Youtube | Página & Grupo | Steam  | Discord Xtibia | Skype: @mrooger

 

OTpanel