Ir para conteúdo
  • Cadastre-se

(Resolvido)Ao "morrer" criatura se transforma em outra


Ir para solução Resolvido por Vodkart,

Posts Recomendados

Cada criatura tem X% de chance de se transformar em outra, não precisa se preocupar com o corpse pq os monstros são personalizados sem o corpo para esse script. :)

 

sQ7Rrwm.png

 

Aqui na imagem são 3, mas eu quero 4 transformações para o mesmo script

 

EDIT-- 

 

acabei de perceber que toda vez que o monstro morrer ele não vai ter o corpo AUHAUHAUHA

 o script que vai ter que tirar o corpo então :(

 

EDIT2--

 

Se for mais fácil, pode fazer dessa forma, quando a vida do bicho chegar a 30% ou menos ele tem X% de chance de se transformar no outro.

Editado por Saymon Kopolsky (veja o histórico de edições)

https://www.youtube.com/SaymonKopolsky

 

589f09a9e1af9_SemTtulo-1.png.ddf1b437984d72bd5d4124b7e90762fa.png

https://www.youtube.com/SaymonKopolsky

 

 

 

Easy Mapper Map Editor 8.60: Clique aqui

[8.60] BeastXHunter: Clique aqui

 

5494899_orig.gif

Link para o post
Compartilhar em outros sites

quando matar uma criatura ela se transforma na outra? sem corpse? o corpse só retirar pelo xml do monstro kk

vodkart_logo.png

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

 

DISCORDvodkart#6090

 

Link para o post
Compartilhar em outros sites
2 minutos atrás, Vodkart disse:

quando matar uma criatura ela se transforma na outra? sem corpse? o corpse só retirar pelo xml do monstro kk

 

mas tem a chance, não é toda vez que matar que transforma. 

 

se tirar pelo xml, toda vez que o bicho morrer n vai ter corpo

Editado por Saymon Kopolsky (veja o histórico de edições)

https://www.youtube.com/SaymonKopolsky

 

589f09a9e1af9_SemTtulo-1.png.ddf1b437984d72bd5d4124b7e90762fa.png

https://www.youtube.com/SaymonKopolsky

 

 

 

Easy Mapper Map Editor 8.60: Clique aqui

[8.60] BeastXHunter: Clique aqui

 

5494899_orig.gif

Link para o post
Compartilhar em outros sites
1 hora atrás, Saymon Kopolsky disse:

 

mas tem a chance, não é toda vez que matar que transforma. 

 

se tirar pelo xml, toda vez que o bicho morrer n vai ter corpo

 

então tira no script mesmo, se a chance "der certo", remove o corpse e aparece outro no lugar! É isso seu paçoqueiro safado?

vodkart_logo.png

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

 

DISCORDvodkart#6090

 

Link para o post
Compartilhar em outros sites
Agora, Vodkart disse:

 

então tira no script mesmo, se a chance "der certo", remove o corpse e aparece outro no lugar! É isso seu paçoqueiro safado?

sim, ler o primeiro post completo viado

Editado por Saymon Kopolsky (veja o histórico de edições)

https://www.youtube.com/SaymonKopolsky

 

589f09a9e1af9_SemTtulo-1.png.ddf1b437984d72bd5d4124b7e90762fa.png

https://www.youtube.com/SaymonKopolsky

 

 

 

Easy Mapper Map Editor 8.60: Clique aqui

[8.60] BeastXHunter: Clique aqui

 

5494899_orig.gif

Link para o post
Compartilhar em outros sites

Eu tenho um script aqui, mas sem porcentagem, a criatura vira msm outra:

 

creaturescripts/scripts cria um script ae qlqr nome:

Spoiler

function doSendAreaEffect(pos, effect, radius)
    for x = pos.x-radius, pos.x+radius do
        for y = pos.y-radius, pos.y+radius do
            doSendMagicEffect({x=x, y=y, z=pos.z}, effect)
        end
    end
    return true
end

function onStatsChange(cid, attacker, type, combat, value)
    registerCreatureEvent(cid, "empe_dmg")
    if isPlayer(cid) then return true end
    if type == 1 then
        local mhp = getCreatureMaxHealth(cid)
        local percentChange = 10
        local newMonster = 'Demon' -- nome do monster q vai aparecer no lugar do monster q vc colocou o script em monsters/ARQUIVO.xml
        if (getCreatureHealth(cid) - value) <= percentChange/100*mhp then
            local pos = getThingPos(cid)
            doRemoveCreature(cid)
            newMonster = doCreateMonster(newMonster, pos)
            doCreatureAddHealth(newMonster, (getCreatureMaxHealth(newMonster)))
            doSendAreaEffect(pos, 5, 1)
            return false
        end
    end
    return true
end

 

 

creaturescripts.xml

<event type="statschange" name="Transformation" event="script" value="qlqr nome.lua"/>

Agora no .xml do monstro do script, vc adiciona isso:

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

 

Créditos: Omega

Link para o post
Compartilhar em outros sites
9 minutos atrás, Sekk disse:

Eu tenho um script aqui, mas sem porcentagem, a criatura vira msm outra:

 

creaturescripts/scripts cria um script ae qlqr nome:

  Mostrar conteúdo oculto


function doSendAreaEffect(pos, effect, radius)
    for x = pos.x-radius, pos.x+radius do
        for y = pos.y-radius, pos.y+radius do
            doSendMagicEffect({x=x, y=y, z=pos.z}, effect)
        end
    end
    return true
end

function onStatsChange(cid, attacker, type, combat, value)
    registerCreatureEvent(cid, "empe_dmg")
    if isPlayer(cid) then return true end
    if type == 1 then
        local mhp = getCreatureMaxHealth(cid)
        local percentChange = 10
        local newMonster = 'Demon' -- nome do monster q vai aparecer no lugar do monster q vc colocou o script em monsters/ARQUIVO.xml
        if (getCreatureHealth(cid) - value) <= percentChange/100*mhp then
            local pos = getThingPos(cid)
            doRemoveCreature(cid)
            newMonster = doCreateMonster(newMonster, pos)
            doCreatureAddHealth(newMonster, (getCreatureMaxHealth(newMonster)))
            doSendAreaEffect(pos, 5, 1)
            return false
        end
    end
    return true
end

 

 

creaturescripts.xml


<event type="statschange" name="Transformation" event="script" value="qlqr nome.lua"/>

Agora no .xml do monstro do script, vc adiciona isso:


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

 

Créditos: Omega

 

vlw, mas tem que ter a chance e tem quer ser uma sequência de monstros

 

monstro pequeno 20% chance > monstro médio 10% > monstro grande 5% > boss 1%

 

é algo tipo isso  ;D

 

 

para entender melhor oq eu to querendo fazer

 

Editado por Saymon Kopolsky (veja o histórico de edições)

https://www.youtube.com/SaymonKopolsky

 

589f09a9e1af9_SemTtulo-1.png.ddf1b437984d72bd5d4124b7e90762fa.png

https://www.youtube.com/SaymonKopolsky

 

 

 

Easy Mapper Map Editor 8.60: Clique aqui

[8.60] BeastXHunter: Clique aqui

 

5494899_orig.gif

Link para o post
Compartilhar em outros sites
  • Solução
function onKill(cid, target)
	local monsters = {
		["larva"] = {chance = 50, next = "bug", msg = {"kill me bitch","hoje nao hoje nao"}},
		["bug"] = {chance = 50, next = "scarab", msg = {"vou renascer","viadoo"}},
		["scarab"] = {chance = 50, next = "ancient scarab", msg = {"fui derrotado","saymon vendedor de rolas"}}
	}
	function doRemoveCorpse(pos, creature)
		for i = 0, 255 do
			pos.stackpos = i
			tile = getTileThingByPos(pos)
			if tile.uid > 0 and isCorpse(tile.uid) then
				doRemoveItem(tile.uid)
			end
		end
	doSummonCreature(creature, pos)	
	end
	if isPlayer(cid) and isMonster(target) then
		local var = monsters[getCreatureName(target)]
		if var then
			if var.chance >= math.random(1, 100) then
				addEvent(doRemoveCorpse, 0, getThingPos(target), var.next)
				doCreatureSay(target, var.msg[math.random(1, #var.msg)], TALKTYPE_ORANGE_1)
			end
		end
	end
	return true
end

 

<event type="kill" name="BossCorpse" event="script" value="nome do seu script.lua"/>

 

 

registra no Login:

 

registerCreatureEvent(cid, "BossCorpse")

 

 

 

#EDITADO ARRUMEI ALI O REGISTRO KKKKKK

vodkart_logo.png

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

 

DISCORDvodkart#6090

 

Link para o post
Compartilhar em outros sites
12 minutos atrás, Vodkart disse:

 

 

 

registra no Login:

 


registerCreatureEvent(cid, "KillTask")

 

não acontece nada seu baitola, matei larva criado pelo god, umas 50, n acontceu nada

 

 

mas é um jumento msm, e eu vi essa merd@ ai

Editado por Saymon Kopolsky (veja o histórico de edições)

https://www.youtube.com/SaymonKopolsky

 

589f09a9e1af9_SemTtulo-1.png.ddf1b437984d72bd5d4124b7e90762fa.png

https://www.youtube.com/SaymonKopolsky

 

 

 

Easy Mapper Map Editor 8.60: Clique aqui

[8.60] BeastXHunter: Clique aqui

 

5494899_orig.gif

Link para o post
Compartilhar em outros sites
1 hora atrás, Saymon Kopolsky disse:

 

não acontece nada seu baitola, matei larva criado pelo god, umas 50, n acontceu nada

 

 

arrumei o registro, tinha copiado da task, olha lá agora

5RucSw8.jpg

vodkart_logo.png

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

 

DISCORDvodkart#6090

 

Link para o post
Compartilhar em outros sites
17 minutos atrás, Vodkart disse:

function onKill(cid, target)
	local monsters = {
		["larva"] = {chance = 50, next = "bug", msg = {"kill me bitch","hoje nao hoje nao"}},
		["bug"] = {chance = 50, next = "scarab", msg = {"vou renascer","viadoo"}},
		["scarab"] = {chance = 50, next = "ancient scarab", msg = {"fui derrotado","saymon vendedor de rolas"}}
	}
	function doRemoveCorpse(pos, creature)
		for i = 0, 255 do
			pos.stackpos = i
			tile = getTileThingByPos(pos)
			if tile.uid > 0 and isCorpse(tile.uid) then
				doRemoveItem(tile.uid)
			end
		end
	doSummonCreature(creature, pos)	
	end
	if isPlayer(cid) and isMonster(target) then
		local var = monsters[getCreatureName(target)]
		if var then
			if var.chance >= math.random(1, 100) then
				addEvent(doRemoveCorpse, 0, getThingPos(target), var.next)
				doCreatureSay(target, var.msg[math.random(1, #var.msg)], TALKTYPE_ORANGE_1)
			end
		end
	end
	return true
end

 


<event type="kill" name="BossCorpse" event="script" value="nome do seu script.lua"/>

 

 

registra no Login:

 


registerCreatureEvent(cid, "BossCorpse")

 

 

 

#EDITADO ARRUMEI ALI O REGISTRO KKKKKK

 

Você poderia usar o onDeath, pra não precisar dessa parte do código que varre a stack de itens para remover o corpse. Ou colocar o doRemoveCreature antes do doSummonCreature :D. Seria bacana colocar o doRemoveCorpse fora do onStatsChange também, pra ele não ficar redefinindo a função sempre que uma criatura morresse. 

 

Abraço Vodk <3

Editado por MaXwEllDeN (veja o histórico de edições)

-"Supra Omnes Lux Lucis"

- Acima de todos brilha a Luz -

5VGnDyBz.png

Link para o post
Compartilhar em outros sites

Foiiiiiii, que delicia cara

 

3iCzecM.png

 

77.jpg

https://www.youtube.com/SaymonKopolsky

 

589f09a9e1af9_SemTtulo-1.png.ddf1b437984d72bd5d4124b7e90762fa.png

https://www.youtube.com/SaymonKopolsky

 

 

 

Easy Mapper Map Editor 8.60: Clique aqui

[8.60] BeastXHunter: Clique aqui

 

5494899_orig.gif

Link para o post
Compartilhar em outros sites

Teria como alguem editar pra min deixando tipo.

 

quando life do Demon chega 90%, ele some e nasce 6 Demon lord com lifes infinito, ao passa 5 minunto o demon volta com 90%.

 

isso se repetir com 60% e 30% de lifee do demon.

Link para o post
Compartilhar em outros sites
59 minutos atrás, Saymon Kopolsky disse:

77.jpg

 

Fiquei com vontade de tomar SUCO ?! HEUHEUHEU

 

 

 

 

VODK, será que da para colocar pra ele se transformar sem precisar matar ele? Tipo, ter uma chance de 10% para ele se transformar em outro bixo caso seja atacado apenas?

 

Ex: Ao tirar 1 de dano, ele vai ter chance de se transformar, caso não se transforme, ele não pode mais se transformar. Nesse caso, o script só roda 1x por monstro atacado, se é que me entende k

Link para o post
Compartilhar em outros sites
24 minutos atrás, Weslley Kiyo disse:

 

Fiquei com vontade de tomar SUCO ?! HEUHEUHEU

 

 

 

 

VODK, será que da para colocar pra ele se transformar sem precisar matar ele? Tipo, ter uma chance de 10% para ele se transformar em outro bixo caso seja atacado apenas?

 

Ex: Ao tirar 1 de dano, ele vai ter chance de se transformar, caso não se transforme, ele não pode mais se transformar. Nesse caso, o script só roda 1x por monstro atacado, se é que me entende k

 

dá pra fazer sim, no caso seria onStats... ai vc pode até pegar qntos % do hp do bicho ou um hit maior que "X" value no bicho, ele vai se transformar no outro!

vodkart_logo.png

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

 

DISCORDvodkart#6090

 

Link para o post
Compartilhar em outros sites

Novamente, igual um outro tópico, como sou inútil, fiz um mod pra esse script, se alguém quiser ta ai uahuah(se tiver errado avisa pfv, ai eu aprendo tbm)

<?xml version="1.0" encoding="utf-8"?>
<mod name="Transform" version="1.0" author="Vodkart" enabled="yes">
<event type="login" name="BossCorpse-Reg" event="script"><![CDATA[

function onLogin(cid)
		registerCreatureEvent(cid, "BossCorpse")
		return true
end]]></event>
<event type="kill" name="BossCorpse" event="script"><![CDATA[

function onKill(cid, target)
	local monsters = {
		["larva"] = {chance = 50, next = "bug", msg = {"kill me bitch","hoje nao hoje nao"}},
		["bug"] = {chance = 50, next = "scarab", msg = {"vou renascer","viadoo"}},
		["scarab"] = {chance = 50, next = "ancient scarab", msg = {"fui derrotado","saymon vendedor de rolas"}}
	}
	function doRemoveCorpse(pos, creature)
		for i = 0, 255 do
			pos.stackpos = i
			tile = getTileThingByPos(pos)
			if tile.uid > 0 and isCorpse(tile.uid) then
				doRemoveItem(tile.uid)
			end
		end
	doSummonCreature(creature, pos)	
	end
	if isPlayer(cid) and isMonster(target) then
		local var = monsters[getCreatureName(target)]
		if var then
			if var.chance >= math.random(1, 100) then
				addEvent(doRemoveCorpse, 0, getThingPos(target), var.next)
				doCreatureSay(target, var.msg[math.random(1, #var.msg)], TALKTYPE_ORANGE_1)
			end
		end
	end
	return true
end
]]></event>
</mod>

 

Link para o post
Compartilhar em outros sites

Alguem explicar pelo menos como eu posso fazer o que perdi porfavor.

 

 

tipo nesse video note que o diablo vira em varios diabolic imp.

 

 

Editado por BangxD (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

Isso é só um raid cara, no próprio nome do video tá descrito "invasão", o que vc quer fazer ?

https://www.youtube.com/SaymonKopolsky

 

589f09a9e1af9_SemTtulo-1.png.ddf1b437984d72bd5d4124b7e90762fa.png

https://www.youtube.com/SaymonKopolsky

 

 

 

Easy Mapper Map Editor 8.60: Clique aqui

[8.60] BeastXHunter: Clique aqui

 

5494899_orig.gif

Link para o post
Compartilhar em outros sites

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

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo