Ir para conteúdo

Matar boss e abrir passagem


TheSekcy

Posts Recomendados

Estou criando novas quests no meu mapa, e eu coloquei monstros muito fortes e eu queria um esquema que o teleporte só liberasse se todos os monstros tivessem mortos, não sei se é um script isso se for desculpe por postar na área errada

Link para o comentário
Compartilhar em outros sites

Em data/creaturescripts crie um arquivo chamado tpmonster.lua e adicione isso:

 

 

local tpId = 1387
local tps = {
["Orshabaal"] = {pos = {x=761, y=57, z=7}, toPos = {x=767, y=52, 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

 

 

 

Vermelho - Monstro

Azul - Local em que o TP aparece na quest

Verde Escuro - Local onde o TP vai te teleportar

Roxo - Tempo em segundos que o TP fica aberto

Verde Claro - ID do TP no RME

 

 

Em creaturescripts.xml adicione a seguinte tag:

 

 

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

 

Agora no arquivo .xml do monstro da sua quest, adicione isso após "</elements>"

 

<script>

<event name="MonsterQuest"/>
</script>
Créditos:
TonyHalk
Link para o comentário
Compartilhar em outros sites

O monstro que eu coloquei na quest foi o Bazir porem no xml dele nao existe uma linha com "</elements>"

 

Em data/creaturescripts crie um arquivo chamado tpmonster.lua e adicione isso:

 

 

local tpId = 1387
local tps = {
["Orshabaal"] = {pos = {x=761, y=57, z=7}, toPos = {x=767, y=52, 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

 

 

 

Vermelho - Monstro

Azul - Local em que o TP aparece na quest

Verde Escuro - Local onde o TP vai te teleportar

Roxo - Tempo em segundos que o TP fica aberto

Verde Claro - ID do TP no RME

 

 

Em creaturescripts.xml adicione a seguinte tag:

 

Agora no arquivo .xml do monstro da sua quest, adicione isso após "</elements>"

Créditos:
TonyHalk

 

 

Link para o comentário
Compartilhar em outros sites

Desculpe o erro.

 

Você pode colocar o <script><\script> depois de qualquer fechamento de tag entende? ( isso aki <\>). De preferência no final do XML do monstro!

 

Desculpe dnv!

Link para o comentário
Compartilhar em outros sites

Eu testei nao foi, explique melhor, no id do portal eu coloco id tipo? eu coloquei o padrao 1387 nao funcinou, e eu coloco o teleport no mapa com as cordenadas? ;-; me confundi inteiro!

Desculpe o erro.

Você pode colocar o <script><\script> depois de qualquer fechamento de tag entende? ( isso aki <\>). De preferência no final do XML do monstro!

Desculpe dnv!

 

Link para o comentário
Compartilhar em outros sites

Eu testei nao foi, explique melhor, no id do portal eu coloco id tipo? eu coloquei o padrao 1387 nao funcinou, e eu coloco o teleport no mapa com as cordenadas? ;-; me confundi inteiro!

 

kkkkkk tranquilo, é assim olha:

 

 

onde ta 1387, é o id la do portal sabe? aquele circulo azul, deixa ele msm, que eh o mais "padrão".

 

onde ta "pos" ali, você coloca o local em que o portal vai aparecer entendeu?

onde ta "topos" ali, você coloca a posição que o player vai parar, se ele entrar no portal entendeu?

onde ta"time" ali, você coloca o tempo(em segundos") que o portal vai "ficar ali", por que, quando passar do tempo, o portal some.

 

 

E não, você não coloca o portal no mapa usando o RME ou /i 1387, o script faz tudo sozinho!

Link para o comentário
Compartilhar em outros sites

Entao isso que ta me quebrando, eu coloquei o portal no RME nao funcionou, ai eu tirei matei o bazir e nao apareceu '- :c, e já tinha um arquivo tpmonster.lua na base que eu peguei, entao eu fiz um tpmonster2.lua , e alterei aonde tava tpmonster para tp tpmonster2 tem alguem problema nisso?

Link para o comentário
Compartilhar em outros sites

Entao isso que ta me quebrando, eu coloquei o portal no RME nao funcionou, ai eu tirei matei o bazir e nao apareceu '- :c, e já tinha um arquivo tpmonster.lua na base que eu peguei, entao eu fiz um tpmonster2.lua , e alterei aonde tava tpmonster para tp tpmonster2 tem alguem problema nisso?

Esquece, não precisa criar tp pelo RME, uma vez que o monstro irá criar quando morrer, faltou você registrar o evento no player.

 

Vá em data/creaturescripts/scripts/login.lua e adicione antes do ultimo return true, o seguinte conteúdo:

registerCreatureEvent(cid, "MonsterQuest")
Link para o comentário
Compartilhar em outros sites

Agora que eu pensei aqui, tem uma falha no sistema, como o sistema vai saber que o Bazir daquela quest vai abrir o portal?, por que se for assim qual quer bazir que eu matar vai abrir o portal nao?

kkkkkk tranquilo, é assim olha:

 

 

onde ta 1387, é o id la do portal sabe? aquele circulo azul, deixa ele msm, que eh o mais "padrão".

 

onde ta "pos" ali, você coloca o local em que o portal vai aparecer entendeu?

onde ta "topos" ali, você coloca a posição que o player vai parar, se ele entrar no portal entendeu?

onde ta"time" ali, você coloca o tempo(em segundos") que o portal vai "ficar ali", por que, quando passar do tempo, o portal some.

 

 

E não, você não coloca o portal no mapa usando o RME ou /i 1387, o script faz tudo sozinho!

 

Link para o comentário
Compartilhar em outros sites

Agora que eu pensei aqui, tem uma falha no sistema, como o sistema vai saber que o Bazir daquela quest vai abrir o portal?, por que se for assim qual quer bazir que eu matar vai abrir o portal nao?

Sim amigo,

A intenção se usar um script assim é em um boss que tem para x quest, não em um boss que tem respaw.

Link para o comentário
Compartilhar em outros sites

Um... obrigado, fiz o que voce falou acima tambem, mais nao deu certo D: melhor eu desistir dessa ideia

Sim amigo,
A intenção se usar um script assim é em um boss que tem para x quest, não em um boss que tem respaw.

 

Link para o comentário
Compartilhar em outros sites

Não desiste cara, a gnt vai conseguir resolver isso aí! Agora vou sair pra almoçar, quando eu voltar, eu tento te ajudar!

 

 

Edit:

 

Um... obrigado, fiz o que voce falou acima tambem, mais nao deu certo D: melhor eu desistir dessa ideia

 

 

Cara, não precisa registrar no login.lua não! comigo não precisou..

 

Faz assim, vou dar um exemplo de monstro:

 

 

<?xml version="1.0" encoding="UTF-8"?>

<monster name="Test" nameDescription="a test" race="venom" experience="12" speed="152" manacost="210">
<health now="200000" max="200000"/>
<look type="30" corpse="5961"/>
<targetchange interval="2000" chance="0"/>
<strategy attack="100" defense="0"/>
<flags>
<flag summonable="1"/>
<flag attackable="1"/>
<flag hostile="1"/>
<flag illusionable="1"/>
<flag convinceable="1"/>
<flag pushable="1"/>
<flag canpushitems="0"/>
<flag canpushcreatures="0"/>
<flag targetdistance="1"/>
<flag staticattack="90"/>
<flag runonhealth="6"/>
</flags>
<attacks>
<attack name="melee" interval="2000" skill="10" attack="100"/>
</attacks>
<defenses armor="2" defense="2"/>
<elements>
</elements>
<script>
<event name="MonsterQuest"/>
</script>
<loot>
<item id="2148" countmax="5" chance="21925" /><!-- gold coin -->
<item id="8859" chance="1350" /><!-- spider fangs -->
</loot>
</monster>

 

 

Perceba, que tem uma tag em vermelho.

 

Essa é a tag que você deve colocar no monstro, coloque ela, após qualquer fechamento, que são essas linhas com </EXEMPLO>

 

Entendeu?

 

 

Agora o tpmonster.lua vc coloca :

 

 

 

local tpId = 1387
local tps = {
["Orshabaal"] = {pos = {x=761, y=57, z=7}, toPos = {x=767, y=52, 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

 

 

Você só vai mudar as coordenadas.

 

Em "pos" vc coloca o local em que o portal aparece

 

Em "toPos" vc coloca o local que o player vai parar, se ele entrar no portal

 

Em "time" vc colcoa o tempo q o portal fica aberto em segundos.

 

 

NÃO ESQUEÇA! NÃO COLOQUE O PORTAL NO MAPA, O SCRIPT DO TPMONSTER FAZ TUDO SOZINHO!!!!!!

Editado por jvcasarin
Link para o comentário
Compartilhar em outros sites

sim eu fiz tudo isso, acho que a base que eu to usando que ta meio bugada mesmo, por que nem algumas magias que tentai colocar funcionou entao D: fazer oq

Não desiste cara, a gnt vai conseguir resolver isso aí! Agora vou sair pra almoçar, quando eu voltar, eu tento te ajudar!

 

 

Edit:

 

 

Cara, não precisa registrar no login.lua não! comigo não precisou..

 

Faz assim, vou dar um exemplo de monstro:

 

 

 

Perceba, que tem uma tag em vermelho.

 

Essa é a tag que você deve colocar no monstro, coloque ela, após qualquer fechamento, que são essas linhas com </EXEMPLO>

 

Entendeu?

 

 

Agora o tpmonster.lua vc coloca :

 

 

 

Você só vai mudar as coordenadas.

 

Em "pos" vc coloca o local em que o portal aparece

 

Em "toPos" vc coloca o local que o player vai parar, se ele entrar no portal

 

Em "time" vc colcoa o tempo q o portal fica aberto em segundos.

 

 

NÃO ESQUEÇA! NÃO COLOQUE O PORTAL NO MAPA, O SCRIPT DO TPMONSTER FAZ TUDO SOZINHO!!!!!!

 

Link para o comentário
Compartilhar em outros sites

  • 3 weeks later...

O tópico foi fechado e movido para lixeira por estar inativo a mais de 10 dias. Caso seja preciso reabrir o mesmo, favor entrar em contato com a equipe.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...