Ir para conteúdo
  • Cadastre-se

(Resolvido)Teleport caindo de monstros


Ir para solução Resolvido por Wakon,

Posts Recomendados

Boa noite pessoal!

 

Gostaria de saber como faço para um monstro virar teleport apósser morto e como faço para colocar as coordenadas de onde o teleport ira levar!

 

Como faço isso?

Link para o post
Compartilhar em outros sites

Wakon...esta muito confuso!

 

Pq consta monstro que ja existem, e eu queria somente adicionar meus mosntros novos para cair os teleports!

 

Vc consegue enteder a script?

Link para o post
Compartilhar em outros sites
  • Solução

Em data/creaturescripts/scripts copie e cole 1 arquivo .lua e renomeie para Teleportz.lua, limpe ele e adicione isso:


local teleport = {
    tpId = 1387,      -- ItemID do teleport.
    TempoTp = 15,     -- Tempo que o teleport irá durar em segundos, no caso 15 segundos.
    -- Posições do teleport, na primeira é aonde o teleport será criado e na segunda pra onde ele irá levar | OBS: Nunca coloque as mesmas posições !!!
tps = {
        {{x = 160, y = 58, z = 7}, {x = 160, y = 57, z = 7}},
    },
}
function onDeath(cid)
    doCreatureSay(cid, "O teleport vai sumir em "..teleport.TempoTp.." segundos.", TALKTYPE_ORANGE_1)
    for i = 1, #teleport.tps do
        doCreateTeleport(teleport.tpId, teleport.tps[2], teleport.tps[1])
        addEvent(function()
            local item = getTileItemById(teleport.tps[1], teleport.tpId).uid
            if item > 0 then
                doRemoveItem(item, 1)
                doSendMagicEffect(teleport.tps[1], CONST_ME_POFF)
            end
        end, teleport.TempoTp * 1000)
    end
    return true
end

 

 
Agora abra o creaturescripts.xml em data/creaturescripts e adicione essa linha:
<event type="death" name="teleportz" event="script" value="teleportz.lua"/>

Ultimo passo, vá até o xml do monstro e adicione isso:

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

OBS: Nunca coloque as mesmas posições, pois assim que alguém usar o teleport seu servidor irá travar e fechar !!

Link para o post
Compartilhar em outros sites

Em data/creaturescripts/scripts copie e cole 1 arquivo .lua e renomeie para Teleportz.lua, limpe ele e adicione isso:

local teleport = {
    tpId = 1387,      -- ItemID do teleport.
    TempoTp = 15,     -- Tempo que o teleport irá durar em segundos, no caso 15 segundos.
    -- Posições do teleport, na primeira é aonde o teleport será criado e na segunda pra onde ele irá levar | OBS: Nunca coloque as mesmas posições !!!
tps = {
        {{x = 160, y = 58, z = 7}, {x = 160, y = 57, z = 7}},
    },
}
function onDeath(cid)
    doCreatureSay(cid, "O teleport vai sumir em "..teleport.TempoTp.." segundos.", TALKTYPE_ORANGE_1)
    for i = 1, #teleport.tps do
        doCreateTeleport(teleport.tpId, teleport.tps[2], teleport.tps[1])
        addEvent(function()
            local item = getTileItemById(teleport.tps[1], teleport.tpId).uid
            if item > 0 then
                doRemoveItem(item, 1)
                doSendMagicEffect(teleport.tps[1], CONST_ME_POFF)
            end
        end, teleport.TempoTp * 1000)
    end
    return true
end

 

 
Agora abra o creaturescripts.xml em data/creaturescripts e adicione essa linha:

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

Ultimo passo, vá até o xml do monstro e adicione isso:

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

OBS: Nunca coloque as mesmas posições, pois assim que alguém usar o teleport seu servidor irá travar e fechar !!

Vou testar se der certo dou +REP!

 

mano obrigado por me ajudar, esta me ajudando em varios post!!

 

vlw!

Link para o post
Compartilhar em outros sites

Wakon... testei e não deu certo!

 

Deve ter alguma coisa errada!

 

pode me ajudar  verificar?

Algum erro na distro ao matar o bixo ?

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

sim, essse aqui:

 

[warning - monster: monster] unknown event name - teleportz

Você mudou o nome do evento la em creaturescripts.xml?

<event type="death" name="nomedoevento" event="script" value="teleportz.lua"/>

Se você mudou vai lá no script do monstro e mude pelo que você colocou na tag:

<script>
<event name="nomedoevento"/>
</script>
Link para o post
Compartilhar em outros sites
Bom, acho que ficaria mais dinamico se o teleport aparecesse exatamente onde o monstro morreu...
 
Em 'Teleportz.lua', coloque o seguinte codigo...

local teleport = {
    tpId = 1387,      -- ItemID do teleport.
    TempoTp = 15,     -- Tempo que o teleport irá durar em segundos, no caso 15 segundos.
    tpos = {x = 160, y = 57, z = 7} --Local a ser teleportado
}
function onDeath(cid)
    doCreatureSay(cid, "O teleport vai sumir em "..teleport.TempoTp.." segundos.", TALKTYPE_ORANGE_1)
    doRemoveCreature(cid) --Remove o monstro pra nao aparecer o corpse
	doSendMagicEffect(getThingPos(target), config.effect) --Adiciona um efeito ao criar o portal
    doCreateTeleport(teleport.tpId, getCreaturePos(cid), teleport.tpos) --Cria o portal no local onde o monstro morreu
    addEvent(function()
        local item = getTileItemById(teleport.tps[i][1], teleport.tpId).uid
        if item > 0 then
            doRemoveItem(item, 1)
            doSendMagicEffect(teleport.tps[i][1], CONST_ME_POFF)
        end
    end, teleport.TempoTp * 1000)
    return true
end
 
*Obs. Podem haver problemas se o monstro tiver o poder de atravessar paredes.
*Obs.² Provavelmente o player não recebera xp por matar o monstro.

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

Atenciosamente, David Araujo

Meu Conteúdo

 

Fui útil? Gostou? 
Faça uma doação.

 
 
 

"É errando que se erra."

"Gambiarras resolvem instantemente, porém podem complicar em problemas futuros."

"Cada dia vivido é um aprendizado."

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