Ir para conteúdo
  • Cadastre-se

(Resolvido)Sumonar uma criatura caso o teleport não esteja no local


Ir para solução Resolvido por Fir3element,

Posts Recomendados

Eai pessoal, preciso da ajuda de vocês...

 

Preciso de um script globalevents que execute a cada segundo uma seguinte função:

Sumonar tal monstro em tal posição x y z, Mas somente se não houver um teleport naquela posição x y z.

Caso haja o teleport naquele local, nada acontece (Não é sumonado)!

 

Meu servidor é 8.6, tfs 0.4 r3884.

 

Espero que possam me ajudar, obrigado!

Link para o post
Compartilhar em outros sites

Eai pessoal, preciso da ajuda de vocês...

 

Preciso de um script globalevents que execute a cada segundo uma seguinte função:

Sumonar tal monstro em tal posição x y z, Mas somente se não houver um teleport naquela posição x y z.

Caso haja o teleport naquele local, nada acontece (Não é sumonado)!

 

Meu servidor é 8.6, tfs 0.4 r3884.

 

Espero que possam me ajudar, obrigado!

 

 

Por acaso , seu monstro é aquele que cria um portal quando morre e o portal some ? 

Se quiser sua dúvida tirada, mande PM com os links, e não com a dúvida (outros podem ter a mesma dúvida, e o fórum serve para ser usado).

 

Tópicos:


 

yNlhRVC.png

 

55px-Judo_yellow_belt.svg.png

Link para o post
Compartilhar em outros sites

Por acaso , seu monstro é aquele que cria um portal quando morre e o portal some ? 

 

Sim!

Link para o post
Compartilhar em outros sites

Sim!

 

 

Manda o script que faz criar o teleport.

 

se não souber qual é, manda o xml do monstro que abre ele...

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

Se quiser sua dúvida tirada, mande PM com os links, e não com a dúvida (outros podem ter a mesma dúvida, e o fórum serve para ser usado).

 

Tópicos:


 

yNlhRVC.png

 

55px-Judo_yellow_belt.svg.png

Link para o post
Compartilhar em outros sites

tag.xml

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

 

script.lua

local tpId = 1387
local tps = {
        ["RB Goku SSJ4"] = {pos = {x=389, y=250, z=15}, toPos = {x=400, y=250, z=15}, time = 60}, -- Onde o Teleport irá aparecer e onde ele levará o Player. Em 'Time', configurar tempo em segundos para o TP desapecer.
["RB Vegeta SSJ4"] = {pos = {x=412, y=250, z=15}, toPos = {x=426, y=250, z=15}, time = 60},
["RB Gohan SSJ4"] = {pos = {x=438, y=250, z=15}, toPos = {x=449, y=250, z=15}, time = 60},
["RB Trunks SSJ4"] = {pos = {x=461, y=250, z=15}, toPos = {x=377, y=271, z=15}, time = 60},
["RB Raditz SSJ4"] = {pos = {x=389, y=271, z=15}, toPos = {x=400, y=271, z=15}, time = 60},
["RB Broly SSJ4"] = {pos = {x=412, y=271, z=15}, toPos = {x=426, y=271, z=15}, time = 60},
["RB Turles SSJ4"] = {pos = {x=438, y=271, z=15}, toPos = {x=449, y=271, z=15}, time = 60},
["RB Bardock SSJ4"] = {pos = {x=461, y=271, z=15}, toPos = {x=419, y=232, z=15}, time = 60},
["RB Gogeta SSJ4"] = {pos = {x=419, y=220, z=15}, toPos = {x=419, y=316, z=15}, time = 60},
["Porunga"] = {pos = {x=419, y=295, z=15}, toPos = {x=419, y=400, z=13}, time = 60},
["Fire Guardian1"] = {pos = {x=661, y=703, z=8}, toPos = {x=662, y=706, z=8}, time = 60},
["Fire Guardian2"] = {pos = {x=657, y=753, z=8}, toPos = {x=657, y=755, z=8}, time = 60},
["Fire Guardian3"] = {pos = {x=640, y=720, z=6}, toPos = {x=638, y=720, z=6}, time = 60},
["Fire Guardian4"] = {pos = {x=640, y=717, z=6}, toPos = {x=638, y=716, z=6}, time = 60},
["Fire Guardian5"] = {pos = {x=636, y=730, z=5}, toPos = {x=636, y=732, z=5}, time = 60},
["Fire Guardian6"] = {pos = {x=636, y=707, z=5}, toPos = {x=636, y=705, z=5}, time = 60},
["Hawk"] = {pos = {x=648, y=841, z=3}, toPos = {x=646, y=841, z=3}, time = 60},
["Warlock"] = {pos = {x=637, y=837, z=3}, toPos = {x=641, y=831, z=1}, time = 60},
}
 
 
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

 

monster.xml

<?xml version="1.0" encoding="UTF-8"?>
<monster name="Fire Guardian1" nameDescription="a Fire Guardian1" race="fire" experience="0" speed="0" manacost="0">
  <health now="100000000" max="100000000"/>
  <look type="484" corpse="0"/>
  <targetchange interval="5000" chance="50"/>
  <strategy attack="100" defense="0"/>
  <flags>
    <flag summonable="0"/>
    <flag attackable="1"/>
    <flag hostile="1"/>
    <flag illusionable="0"/>
    <flag convinceable="0"/>
    <flag pushable="0"/>
    <flag canpushitems="1"/>
    <flag canpushcreatures="1"/>
    <flag targetdistance="4"/>
    <flag staticattack="90"/>
    <flag runonhealth="0"/>
  </flags>
<attacks>
<attack name="melee" interval="1000" min="-5000" max="-10000"/>
<attack name="super hell granade" interval="1000" chance="75" min="-2000" max="-2250"/>
<attack name="super explosion wave" interval="3000" chance="25" min="-60" max="-15000"/>
<attack name="explosion" interval="5000" min="-10000" max="-15000"/>
<attack name="saiko nodo" interval="5000" min="-10000" max="-15000"/>
<attack name="brave cannon" interval="4000" chance="75" min="-5000" max="-15000"/>
</attacks>
  <defenses armor="100" defense="100"/>
<elements>
<element firePercent="0"/>
<element energyPercent="0"/>
<element icePercent="0"/>
<element earthPercent="0"/>
<element holyPercent="0"/>
<element physicalPercent="0"/>
</elements>
<immunities>
<immunity paralyze="1"/>
<immunity invisible="1"/>
</immunities>
  <summons maxSummons="10">
    <summon name="Hell Ghost" interval="2500" chance="50" max="10"/>
  </summons>
<script>
<event name="tp"/>
</script>
</monster>

Link para o post
Compartilhar em outros sites
local tpId = 1387
local tps = {
        ["RB Goku SSJ4"] = {pos = {x=389, y=250, z=15}, toPos = {x=400, y=250, z=15}, time = 60}, -- Onde o Teleport irá aparecer e onde ele levará o Player. Em 'Time', configurar tempo em segundos para o TP desapecer.
["RB Vegeta SSJ4"] = {pos = {x=412, y=250, z=15}, toPos = {x=426, y=250, z=15}, time = 60},
["RB Gohan SSJ4"] = {pos = {x=438, y=250, z=15}, toPos = {x=449, y=250, z=15}, time = 60},
["RB Trunks SSJ4"] = {pos = {x=461, y=250, z=15}, toPos = {x=377, y=271, z=15}, time = 60},
["RB Raditz SSJ4"] = {pos = {x=389, y=271, z=15}, toPos = {x=400, y=271, z=15}, time = 60},
["RB Broly SSJ4"] = {pos = {x=412, y=271, z=15}, toPos = {x=426, y=271, z=15}, time = 60},
["RB Turles SSJ4"] = {pos = {x=438, y=271, z=15}, toPos = {x=449, y=271, z=15}, time = 60},
["RB Bardock SSJ4"] = {pos = {x=461, y=271, z=15}, toPos = {x=419, y=232, z=15}, time = 60},
["RB Gogeta SSJ4"] = {pos = {x=419, y=220, z=15}, toPos = {x=419, y=316, z=15}, time = 60},
["Porunga"] = {pos = {x=419, y=295, z=15}, toPos = {x=419, y=400, z=13}, time = 60},
["Fire Guardian1"] = {pos = {x=661, y=703, z=8}, toPos = {x=662, y=706, z=8}, time = 60},
["Fire Guardian2"] = {pos = {x=657, y=753, z=8}, toPos = {x=657, y=755, z=8}, time = 60},
["Fire Guardian3"] = {pos = {x=640, y=720, z=6}, toPos = {x=638, y=720, z=6}, time = 60},
["Fire Guardian4"] = {pos = {x=640, y=717, z=6}, toPos = {x=638, y=716, z=6}, time = 60},
["Fire Guardian5"] = {pos = {x=636, y=730, z=5}, toPos = {x=636, y=732, z=5}, time = 60},
["Fire Guardian6"] = {pos = {x=636, y=707, z=5}, toPos = {x=636, y=705, z=5}, time = 60},
["Hawk"] = {pos = {x=648, y=841, z=3}, toPos = {x=646, y=841, z=3}, time = 60},
["Warlock"] = {pos = {x=637, y=837, z=3}, toPos = {x=641, y=831, z=1}, time = 60},
}
 
 
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)
				addEvent(doCreateMonster,tp.time*1001, getCreatureName(cid), tps.pos)
				
				
				
        end
        return TRUE
end

substitua o script, por esse.

 

Testa, é pra adicionar um monstro depois do tp sumir...

Se quiser sua dúvida tirada, mande PM com os links, e não com a dúvida (outros podem ter a mesma dúvida, e o fórum serve para ser usado).

 

Tópicos:


 

yNlhRVC.png

 

55px-Judo_yellow_belt.svg.png

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

local tpId = 1387
local tps = {
    ["RB Goku SSJ4"] = {pos = {x=389, y=250, z=15}, toPos = {x=400, y=250, z=15}, time = 60}, -- Onde o Teleport irá aparecer e onde ele levará o Player. Em 'Time', configurar tempo em segundos para o TP desapecer.
    ["RB Vegeta SSJ4"] = {pos = {x=412, y=250, z=15}, toPos = {x=426, y=250, z=15}, time = 60},
    ["RB Gohan SSJ4"] = {pos = {x=438, y=250, z=15}, toPos = {x=449, y=250, z=15}, time = 60},
    ["RB Trunks SSJ4"] = {pos = {x=461, y=250, z=15}, toPos = {x=377, y=271, z=15}, time = 60},
    ["RB Raditz SSJ4"] = {pos = {x=389, y=271, z=15}, toPos = {x=400, y=271, z=15}, time = 60},
    ["RB Broly SSJ4"] = {pos = {x=412, y=271, z=15}, toPos = {x=426, y=271, z=15}, time = 60},
    ["RB Turles SSJ4"] = {pos = {x=438, y=271, z=15}, toPos = {x=449, y=271, z=15}, time = 60},
    ["RB Bardock SSJ4"] = {pos = {x=461, y=271, z=15}, toPos = {x=419, y=232, z=15}, time = 60},
    ["RB Gogeta SSJ4"] = {pos = {x=419, y=220, z=15}, toPos = {x=419, y=316, z=15}, time = 60},
    ["Porunga"] = {pos = {x=419, y=295, z=15}, toPos = {x=419, y=400, z=13}, time = 60},
    ["Fire Guardian1"] = {pos = {x=661, y=703, z=8}, toPos = {x=662, y=706, z=8}, time = 60},
    ["Fire Guardian2"] = {pos = {x=657, y=753, z=8}, toPos = {x=657, y=755, z=8}, time = 60},
    ["Fire Guardian3"] = {pos = {x=640, y=720, z=6}, toPos = {x=638, y=720, z=6}, time = 60},
    ["Fire Guardian4"] = {pos = {x=640, y=717, z=6}, toPos = {x=638, y=716, z=6}, time = 60},
    ["Fire Guardian5"] = {pos = {x=636, y=730, z=5}, toPos = {x=636, y=732, z=5}, time = 60},
    ["Fire Guardian6"] = {pos = {x=636, y=707, z=5}, toPos = {x=636, y=705, z=5}, time = 60},
    ["Hawk"] = {pos = {x=648, y=841, z=3}, toPos = {x=646, y=841, z=3}, time = 60},
    ["Warlock"] = {pos = {x=637, y=837, z=3}, toPos = {x=641, y=831, z=1}, time = 60},
}


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)
        addEvent(doCreateMonster, tp.time*1001, getCreatureName(cid), tp.pos)
    end

    return TRUE
end
Editado por fireelement (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
local tpId = 1387
local tps = {
    ["RB Goku SSJ4"] = {pos = {x=389, y=250, z=15}, toPos = {x=400, y=250, z=15}, time = 60}, -- Onde o Teleport irá aparecer e onde ele levará o Player. Em 'Time', configurar tempo em segundos para o TP desapecer.
    ["RB Vegeta SSJ4"] = {pos = {x=412, y=250, z=15}, toPos = {x=426, y=250, z=15}, time = 60},
    ["RB Gohan SSJ4"] = {pos = {x=438, y=250, z=15}, toPos = {x=449, y=250, z=15}, time = 60},
    ["RB Trunks SSJ4"] = {pos = {x=461, y=250, z=15}, toPos = {x=377, y=271, z=15}, time = 60},
    ["RB Raditz SSJ4"] = {pos = {x=389, y=271, z=15}, toPos = {x=400, y=271, z=15}, time = 60},
    ["RB Broly SSJ4"] = {pos = {x=412, y=271, z=15}, toPos = {x=426, y=271, z=15}, time = 60},
    ["RB Turles SSJ4"] = {pos = {x=438, y=271, z=15}, toPos = {x=449, y=271, z=15}, time = 60},
    ["RB Bardock SSJ4"] = {pos = {x=461, y=271, z=15}, toPos = {x=419, y=232, z=15}, time = 60},
    ["RB Gogeta SSJ4"] = {pos = {x=419, y=220, z=15}, toPos = {x=419, y=316, z=15}, time = 60},
    ["Porunga"] = {pos = {x=419, y=295, z=15}, toPos = {x=419, y=400, z=13}, time = 60},
    ["Fire Guardian1"] = {pos = {x=661, y=703, z=8}, toPos = {x=662, y=706, z=8}, time = 60},
    ["Fire Guardian2"] = {pos = {x=657, y=753, z=8}, toPos = {x=657, y=755, z=8}, time = 60},
    ["Fire Guardian3"] = {pos = {x=640, y=720, z=6}, toPos = {x=638, y=720, z=6}, time = 60},
    ["Fire Guardian4"] = {pos = {x=640, y=717, z=6}, toPos = {x=638, y=716, z=6}, time = 60},
    ["Fire Guardian5"] = {pos = {x=636, y=730, z=5}, toPos = {x=636, y=732, z=5}, time = 60},
    ["Fire Guardian6"] = {pos = {x=636, y=707, z=5}, toPos = {x=636, y=705, z=5}, time = 60},
    ["Hawk"] = {pos = {x=648, y=841, z=3}, toPos = {x=646, y=841, z=3}, time = 60},
    ["Warlock"] = {pos = {x=637, y=837, z=3}, toPos = {x=641, y=831, z=1}, time = 60},
}


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)
        addEvent(doCreateMonster, tp.time*1001, getCreatureName(cid), tp.pos)
    end

    return TRUE
end

 

Deu certo! Obrigado por me ajudarem! =D

Editado por bhelliip (veja o histórico de edições)
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.

  • Conteúdo Similar

    • Por looktsx
      Salve Rapaziada tudo bom .
      queria ajuda pra cria um teleport ou uma alavanca com tempo ..
      depois do player usa o teleport ou a lavanca ele so poderá usa depois de tal determinado tempo.
       
      SERVIDOR 12.91
      Se alguem poder me ajuda vou fica grato ,
      des de ja agradeço a todos.
      ..
    • Por lango rullez
      Bom como via muita gente "nem tanta" com dúvidas, problemas etc.. Resolvi criar esse tópico para acabar com os seus problemas !
       
      ---------------------------------------------------------------------------------------//-----------------------------------------------------------------------------------------------
       
       
      Bom então vamos lá !
      ------------------------------------//--------------------------------------
       
      Pasta do seu servidor --> Data --> movements --> scripts
       
      Agora crie um arquivo .lua Renomeie com o nome de sua preferencia ! Ps: Tem que ser obrigatoriamente .LUA
      Bom no meu caso coloquei "TileLevel"
        E então cole este script dentro:   
       
       
      ------------------------------------------------------------------------------//-------------------------------------------------------------------------------------------
       
      {´~.~´} Legenda
       
      Vermelho: Level do player que irá poder passar no Teleport/tiler                                          
       
      Dourado: Posição de onde desejar colocar Teleport/tiler
       
      -------------------------------------------------------------------------------------------//-----------------------------------------------------------------------------------------------
       
      Agora salve o arquivo!
       
      -----------------------------------------------------------------//-----------------------------------------------------------------------
       
      Agora vamos para Segunda Parte !
      Me acompanhe !
      ---------------------------------------------------------------------------------------------------//---------------------------------------------------------------------------------------------------
      Vamos em:
      Pasta do seu servidor --> Data --> Movements.xml 
      Agora adicione o seguinte código/tag:
       
       
      {´~.~´} Legenda
      Roxo: É o nome do arquivo.lua que você criou na pasta Scripts
      Azul: É o level do player, tem que estar igual no script acima. Obs: Caso queria colocar level 100 é só mudar parte 250 para 100 isso vale mesma coisa na "PS" que acabei de explica embaixo \/
      -----------------------------------//------------------------------------------
      Ps:No Remeres Editor coloque no tile o actionID: 1250 ou level da sua preferencia. Quer level 100? então no tile coloque "1100"
       
      Bom espero que ajudem a todos !
       
        Créditos @vankk pelo script, que ele postou individualmente em um tópico, sem muitos detalhes.
       A TAG E AS DEMAIS COISAS FEITO POR MIM !
    • Por Barca Furada
      Boa noite meus caros colegas!
      Preciso de um Help!
       
       
      Quando eu coloco meu itens editados no meu xml e otb, acontece isso com os teleportes, perde todas as propriedades:
       
      No lado direito é sem meu Itemxml
      No lado Esquerdo é com meu Itemxml
       
      Como vcs pode vem ele perde a propriedade de destino!
       
      O arquivo Check File Signatures está desativados!
       
      Quando eu entro no REM com meu Itemxml, ele da essas mensagem de erro:
       
       
       
      Antes de fazer tudo isso eu No item editor, todos itens estava com essa borda vermelha, eu tinha dado reload em todos itens para o cliente OTCv8 conseguir visualizar, no primeiro momento achei que era isso que tinha acontecido para bugar meus teleportes, então eu dei reload em todos itens um por um e deixei o teleport sem dar reload, para ver se era esses o bug! e deu na mesma , quando edito o mapa para colocar novas hunt e cidade ele buga todos teleportes!
       
       
       
       
      No itemxml o teleport está com mesmo id!
       
      alguma alma bondosa para ajudar um colega?
    • Por fezeRa
      Estou com um problema chato. Seguinte:
       
      O player pega , compra promotion, dai fica lá "Elder Druid", dai se ele reloga, ele volta pra Druid.
      Ou seja não ta salvando a vocation, é algum problema no login.lua que nao salva a vocation atual? Alguem sabe?
    • Por William Ferreira
      ​Boa Dia, Boa Tarde, Boa Noite Galera Do TK Gostaria de saber porque minhas portas 7171 e 7172 não abrem minha internet não e compartilhada, espero que me ajudem vou deixar algumas imagens abaixo.
       
      IP



       
      Portas



       
      Firewall



       
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo