Ir para conteúdo
  • Cadastre-se

(Resolvido)Boss morre e nasce um TP!


Ir para solução Resolvido por trancx123,

Posts Recomendados

Boa noite pessoal!

 

Procurei vários por ae e nada!

 

Gostaria muito de um Script que quando um monstro morre nasce um TP, ou abre uma porta ou buraco '-' tanto faz, só quero que precise matar o boss para poder sair da sala!!! :/

Obrigado desde já...

Link para o post
Compartilhar em outros sites
  • Moderador

Mano, existe sim um monte de coisa sobre isso aqui no tk, inclusive, eu lembro de ter respondido um tópico sobre isso, mas n lembro qual, então vou responder aqui msm

 

creaturescripts

Spoiler

local tpId = 1387
local tp = {
    info = {
        pos = {x = 1002, y = 1022, z = 7}, -- onde aparece o tp
        toPos = {x = 1002, y = 1019, z = 7}, -- onde o player vai aparecer ao entrar no tp
        time = 10, -- tempo em segundos q o tp fica aberto
    },
    kill = {
        ["Demon"] = {count = 1, str = 10629}, -- ["monstro"] = {quantidade = 1, storage = n mexa
    },
}
 
function checkTask()
    for name, info in pairs(tp.kill) do
        if getGlobalStorageValue(info.str) < info.count then
            return false
        end
    end
    return true
end
 
function removeTp(tp)
    local t = getTileItemById(tp.info.pos, tpId)
    if t then
        doRemoveItem(t.uid, 1)
        doSendMagicEffect(tp.info.pos, CONST_ME_POFF)
    end
end
 
function onDeath(cid)
    local m = tp.kill[getCreatureName(cid)]
    if not tp then
        return true
    end
    setGlobalStorageValue(m.str, getGlobalStorageValue(m.str) < 0 and 1 or getGlobalStorageValue(m.str) + 1)
    if checkTask() then
        doCreateTeleport(tpId, tp.info.toPos, tp.info.pos)
        doCreatureSay(cid, "O teleport irá sumir em "..tp.info.time.." segundos.", TALKTYPE_ORANGE_1)
        addEvent(removeTp, tp.info.time * 1000, tp)
        for _, info in pairs(tp.kill) do
            setGlobalStorageValue(info.str, -1)
        end
    end
    return true
end

 

 

creaturescripts.xml

<event type="death" name="MonsterQuest" event="script" value="tpmonster.lua"/>

 

Agora adiciona o seguinte no arquivo .xml do monstro

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

 

 

obs

aqui vc pode adicionar mais monstros, assim

kill = {
        ["Demon"] = {count = 1, str = 10629}, -- ["monstro"] = {quantidade = 1, storage = n mexa
  		["Spider"] = {count = 1, str = 10630},
    },

 

Editado por Sekk (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
15 minutos atrás, moviebr disse:

Só procurar amigo...

 

 

Você leu o que disse?

Procurei, e testei uns 6 mais ou menos, e nada acontece!

Amigo...

13 minutos atrás, Sekk disse:

Mano, existe sim um monte de coisa sobre isso aqui no tk, inclusive, eu lembro de ter respondido um tópico sobre isso, mas n lembro qual, então vou responder aqui msm

 

creaturescripts

  Ocultar conteúdo


local tpId = 1387
local tp = {
    info = {
        pos = {x = 1002, y = 1022, z = 7}, -- onde aparece o tp
        toPos = {x = 1002, y = 1019, z = 7}, -- onde o player vai aparecer ao entrar no tp
        time = 10, -- tempo em segundos q o tp fica aberto
    },
    kill = {
        ["Demon"] = {count = 1, str = 10629}, -- ["monstro"] = {quantidade = 1, storage = n mexa
    },
}
 
function checkTask()
    for name, info in pairs(tp.kill) do
        if getGlobalStorageValue(info.str) < info.count then
            return false
        end
    end
    return true
end
 
function removeTp(tp)
    local t = getTileItemById(tp.info.pos, tpId)
    if t then
        doRemoveItem(t.uid, 1)
        doSendMagicEffect(tp.info.pos, CONST_ME_POFF)
    end
end
 
function onDeath(cid)
    local m = tp.kill[getCreatureName(cid)]
    if not tp then
        return true
    end
    setGlobalStorageValue(m.str, getGlobalStorageValue(m.str) < 0 and 1 or getGlobalStorageValue(m.str) + 1)
    if checkTask() then
        doCreateTeleport(tpId, tp.info.toPos, tp.info.pos)
        doCreatureSay(cid, "O teleport irá sumir em "..tp.info.time.." segundos.", TALKTYPE_ORANGE_1)
        addEvent(removeTp, tp.info.time * 1000, tp)
        for _, info in pairs(tp.kill) do
            setGlobalStorageValue(info.str, -1)
        end
    end
    return true
end

 

 

creaturescripts.xml


<event type="death" name="MonsterQuest" event="script" value="tpmonster.lua"/>

 

Agora adiciona o seguinte no arquivo .xml do monstro


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

 

 [Error - CreatureScript Interface]

 data/creaturescripts/scripts/tpmonster.lua:onDeath Description:  data/creaturescripts/scripts/tpmonster.lua:35: attempt to index local 'm' (a nil value) stack traceback: data/creaturescripts/scripts/tpmonster.lua:35: in function

 

Tfs 0.4

8.6

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

@tirso em creaturescripts/scripts chama de tpmonstros

Spoiler

local tpId = 1387

local tps = {
        ["Apocalypse"] = {pos = {x = 1234, y =1874, z = 14}, toPos = {x = 1286, y = 1875, z = 14}, time = 120},
        ["Devovorga"] = {pos = {x = 2027, y =1035, z = 7}, toPos = {x = 2087, y = 1033, z = 7}, time = 120},
        ["Morgaroth"] = {pos = {x = 2238, y =888, z = 9}, toPos = {x = 2310, y = 900, z = 7}, time = 120},

  }

 

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, "Entre no teleporte! ele ira sumir em "..tp.time.." segundos.", TALKTYPE_ORANGE_1)

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

        end

        return TRUE

end

em cresturescripts.xml
 

<event type="death" name="teleportbosses" script="tpmonstros.lua"/>

na mesma pasta registra no login.lua, vou dar só um exemplo, no caso o da devovorga

Spoiler

 registerCreatureEvent(cid, "devovorga") 


e por ultimo registra no script do monstros em monster/scripts, todo monstro q vc registrar tem q ter essa tag
 

Spoiler

    <script>

<event name="teleportbosses"/>

</script>

 

Link para o post
Compartilhar em outros sites
9 horas atrás, trancx123 disse:

@tirso em creaturescripts/scripts chama de tpmonstros

  Mostrar conteúdo oculto

local tpId = 1387

local tps = {
        ["Apocalypse"] = {pos = {x = 1234, y =1874, z = 14}, toPos = {x = 1286, y = 1875, z = 14}, time = 120},
        ["Devovorga"] = {pos = {x = 2027, y =1035, z = 7}, toPos = {x = 2087, y = 1033, z = 7}, time = 120},
        ["Morgaroth"] = {pos = {x = 2238, y =888, z = 9}, toPos = {x = 2310, y = 900, z = 7}, time = 120},

  }

 

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, "Entre no teleporte! ele ira sumir em "..tp.time.." segundos.", TALKTYPE_ORANGE_1)

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

        end

        return TRUE

end

em cresturescripts.xml
 


<event type="death" name="teleportbosses" script="tpmonstros.lua"/>

na mesma pasta registra no login.lua, vou dar só um exemplo, no caso o da devovorga

  Mostrar conteúdo oculto

 registerCreatureEvent(cid, "devovorga") 


e por ultimo registra no script do monstros em monster/scripts, todo monstro q vc registrar tem q ter essa tag
 

  Mostrar conteúdo oculto

    <script>

<event name="teleportbosses"/>

</script>

 

Agora sim!

Obrigado pela força Trancx...

Abraço :D

 

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.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo