18
pedido

Mensagem quando monstro morre.

Por 180319mu, 11 de fev. de 2013 em Scripts

msg
monstro
resolvido
script
9
2.2k
180319mu1
11 de fevereiro de 2013 às 13:11

eu to usando um script de quando o monstro morrer, abrir um teleport e queria que aparecesse uma mensagem em branco pra todos jogadores quando ele morresse tambem

 

'O Darkzu foi morto e o portal irá fechar em 30 segundos.'

 

Script que eu uso.

 

local tpId = 1387

local tps = {

["Darkzu"] = {pos = {x=926, y=891, z=7}, toPos = {x=827, y=879, z=7}, time = 30},

}

 

function removeTp(tp)

local t = getTileItemById(tp.pos, tpId)

if t then

doRemoveItem(t.uid, 1)

doSendMagicEffect(tp.pos, CONST_ME_POFF)

end

end

 

function onDeath(cid)

local tp = tps[getCreatureName(cid)]

if tp then

doCreateTeleport(tpId, tp.toPos, tp.pos)

doCreatureSay(cid, "O teleport irá sumir em "..tp.time.." segundos.", TALKTYPE_ORANGE_1)

addEvent(removeTp, tp.time*1000, tp)

end

return TRUE

end

 

 

 

murilo103M
11 de fevereiro de 2013 às 13:59

Pelo oque eu entendi foi isso que você pediu, então faça bom aproveito :)

 

 

 

Crie em Creaturescripts/scripts/darkzudeath.lua

 

function onKill(cid, target, lastHit)

if lastHit and isMonster(target) and getCreatureName(target):lower() == 'darkzu' then

doPlayerBroadcastMessage(cid, "O player" .. getCreatureName(cid) .. ", matou o BOSS Darkzu!")

end

return true

end

 

Em Login.lua coloque:

registerCreatureEvent(cid, "darkzudeath")

 

Em Creaturescripts.xml coloque

<event type="kill" name="darkzudeath" script="darkzudeath.lua"/>

 

 

Espero ter ajudado.

180319mu1
11 de fevereiro de 2013 às 14:24

eu não quero que apareça o nome do player, só a frase: 'o darkzu foi morto e o teleport irá sumir em 30 segundos' junto com o script que nasce o teleport.. mas valeu ai xará :B

murilo103M
11 de fevereiro de 2013 às 15:25

Então é simples...

function onKill(cid, target, lastHit)

if lastHit and isMonster(target) and getCreatureName(target):lower() == 'darkzu' then

doPlayerBroadcastMessage(cid, "Algum player matou o BOSS Darkzu!")

end

return true

end

 

Pronto espero ter ajudo e Fiquem com Deus.

 

Dúvida sanada e reportado para moverem. :)

180319mu1
11 de fevereiro de 2013 às 15:57

não deu erro nenhum no distro, mas não apareceu a mensagem.

murilo103M
11 de fevereiro de 2013 às 16:11

Aqui deu certo sim, mas apareceu no Server log.

 

Identifiquei uma melhor função.

function onKill(cid, target, lastHit)

if lastHit and isMonster(target) and getCreatureName(target):lower() == 'darkzu' then

doBroadcastMessage("Algum player matou o BOSS Darkzu!", 22)

end

return true

end

 

Pronto espero ter ajudo e Fiquem com Deus.

 

Dúvida sanada e reportado para moverem. :)

ErimythE
11 de fevereiro de 2013 às 18:32

aguardando confirmação do autor do tópico para que seja movido para área de duvidas Sanadas.

180319mu1
11 de fevereiro de 2013 às 21:20

duvida sanada, podem mover.. desculpa pela demora :3

2 semanas depois...
20 de fevereiro de 2013 às 14:25

Tópico movido para a seção de dúvidas e pedidos resolvidos.