Ir para conteúdo
  • 0

item que aparece e desaparece aleatorio no mapa


Pergunta

ola!

 

gostaria de uma script de action para um item, no caso e um espelho que aparece e desaparece no mapa a cada 30 min vai estar em um lugar diferente, ele fica no lugar por 5 min e some denovo.

 

o mesmo esquema pra um buraco no chao em 5 areas diferentes,.

 

e o mesmo pra um poke que aparece no mapa em 5 lugares diferentes por 5 mine reaparece no mapa a cada 2 hr. ou entao um esquema dele dar resp de algum poke mais muitooooooooooooooo raramente.bem raramente,

 

desde ja agradeço quem puder ajudar ae e isso vai com certesa ajuda muita gente. vlw

Link para o comentário
https://xtibia.com/forum/topic/235204-item-que-aparece-e-desaparece-aleatorio-no-mapa/
Compartilhar em outros sites

10 respostass a esta questão

Posts Recomendados

  • 0

-.-" min add no skype vá para eu resolve logo tudo de vez.

jv.alves97

 

ele ja vai cria o item com o actionid 5555, você falo que ja tem a script de clicar no action.

  • 1

mano faça um pedido por tópico.

Não fique fazendo vários pedidos no mesmo tópico.

Se o tópico tiver mas de um pedido, ajudarei apenas em 1.

isso facilita quem ta procurando pela mesma coisa.

seja direto no pedido e coloque até o mínimos detalhe.

Se esse tópico já foi resolvido marque como melhor resposta para que fechem e crie um tópico para cada pedido.

 

PS. tô no celular então desculpa por qualquer erro de português

  • 0

Items, faça com que ele não possa ser movido pq caso seja criado é movam de lugar vai da erro no distro na hora de remove ele.

é um globalevent

local item = 2467 -- item que sera criado
local tempo = 5 -- quanto tempo o item vai fica até desaparecer
local positions = { -- posições que sera criado
    {x = 1017, y = 1030, z = 7},
    {x = 1018, y = 1030, z = 7},
    {x = 1019, y = 1030, z = 7},
}
 
function onThink(interval)
    local pos = positions[math.random(1, #positions)]
    doCreateItem(item, 1, pos)
    addEvent(function()
        doRemoveItem(getItemStack(pos, item).uid, 1)
    end, tempo*100000)
return true
end
 
function getItemStack(pos, iid)
    for i = 1, 255 do
        posa = getThingFromPos({x=pos.x, y=pos.y, z=pos.z, stackpos=i})
        if posa.itemid == iid then
        return posa
        end
    end
return nil
end
.xml, tag.
<globalevent name="Teleports" interval="300000" script="nomedoscript.lua" />

 

  • 0
  Em 01/07/2015 em 16:37, RigBy disse:

Items, faça com que ele não possa ser movido pq caso seja criado é movam de lugar vai da erro no distro na hora de remove ele.

é um globalevent

local item = 2467 -- item que sera criado
local tempo = 5 -- quanto tempo o item vai fica até desaparecer
local positions = { -- posições que sera criado
    {x = 1017, y = 1030, z = 7},
    {x = 1018, y = 1030, z = 7},
    {x = 1019, y = 1030, z = 7},
}
 
function onThink(interval)
    local pos = positions[math.random(1, #positions)]
    doCreateItem(item, 1, pos)
    addEvent(function()
        doRemoveItem(getItemStack(pos, item).uid, 1)
    end, tempo*100000)
return true
end
 
function getItemStack(pos, iid)
    for i = 1, 255 do
        posa = getThingFromPos({x=pos.x, y=pos.y, z=pos.z, stackpos=i})
        if posa.itemid == iid then
        return posa
        end
    end
return nil
end
.xml, tag.
<globalevent name="Teleports" interval="300000" script="nomedoscript.lua" />

 

 

ae manin blz vc e o cara ajudando a gente. sem pedir demais tem como vc fazer o mesmo script mais com um pokemon ao inves de um item.

esse pokemon ira aparecer pelo mapa aleatorio e fica por la por digamos 5 min e troca de area e fica mias 5 min e troca denovo.

 

desde ja agradeço man.

 

 

 

a e tbm acho que vc vai manjar. tipo to tentando fazer uma arvore aq que quando o player clicar pega os frutos e fica uma arvore sem frutos no lugar. serao as pink fruit. e as arvores voltem a ter frutos depois de 20 min. agradeço qquer ajuda desde ja. vlw se precisar de amis dados meu skype é.. clebermoreno1

 

  Em 01/07/2015 em 16:37, RigBy disse:

Items, faça com que ele não possa ser movido pq caso seja criado é movam de lugar vai da erro no distro na hora de remove ele.

é um globalevent

local item = 2467 -- item que sera criado
local tempo = 5 -- quanto tempo o item vai fica até desaparecer
local positions = { -- posições que sera criado
    {x = 1017, y = 1030, z = 7},
    {x = 1018, y = 1030, z = 7},
    {x = 1019, y = 1030, z = 7},
}
 
function onThink(interval)
    local pos = positions[math.random(1, #positions)]
    doCreateItem(item, 1, pos)
    addEvent(function()
        doRemoveItem(getItemStack(pos, item).uid, 1)
    end, tempo*100000)
return true
end
 
function getItemStack(pos, iid)
    for i = 1, 255 do
        posa = getThingFromPos({x=pos.x, y=pos.y, z=pos.z, stackpos=i})
        if posa.itemid == iid then
        return posa
        end
    end
return nil
end
.xml, tag.
<globalevent name="Teleports" interval="300000" script="nomedoscript.lua" />

 

ae man e como faço pra esse item server como um tp clicando nele e teleportado pra outro lugar o item e um espelho. pode ser passando por ele ou clicando nele desde ja agradeço a ajuda.

  • 0

ola amigo. mau ae por fica te enchendo mais aq nao deu certo o item nao quer aparecer no local que eu coloquei e pra testar so coloquei 2 lugares pertinho um do outro e baixei pra 200 o tempo de intervalo.

e nao aparece ja deixei o serve ligado a 30 min e nada. e tbm quanto a action do item como crio ela pra adiciona nessa.

 

ta dando um erro agora me passa certinho o tuto ae como add um item que aparece e desaparece aleatorio pelo mapa a cada 30 min e some em 5 min. e o mesmo item tera uma action nele de teleportar o player que der use nele pra xyz posiçao,

 

id do item 14708

id da action 5555

Editado por clebao666
  • 0

testei aqui e ta funcionando perfeitamente.

qual a versão do seu servidor?

Acho que seu distro não tem suporte para milesegundos, so basta altera isso

no caso ficara 60s*30m = 1800segundos == 30minutos.

.xml, tag

<globalevent name="Teleports" interval="1800" script="nomedoscript.lua" />

e troca o script por esse, ja configurei do jeito que você pediu pelo PV, vai criar um item com o actionid 5555

local item = 14708 -- item que sera criado
local tempo = 5 -- quanto tempo o item vai fica até desaparecer
local positions = { -- posições que sera criado
    {x = 1017, y = 1030, z = 7},
    {x = 1018, y = 1030, z = 7},
    {x = 1019, y = 1030, z = 7},
}
 
function onThink(interval)
    local pos = positions[math.random(1, #positions)]
    local teleport = doCreateItem(item, 1, pos)
    doItemSetAttribute(teleport, "aid", 5555) -- actionid
    addEvent(function()
        doRemoveItem(getItemStack(pos, item).uid, 1)
    end, tempo*60)
    return true
end
 
function getItemStack(pos, iid)
    for i = 1, 255 do
        posa = getThingFromPos({x=pos.x, y=pos.y, z=pos.z, stackpos=i})
        if posa.itemid == iid then
        return posa
        end
    end
    return nil
end



 

Editado por RigBy
  • 0

uso pda pokecyan aq

 

e ta dando esse erro.

 

[03/07/2015 21:27:05] [Warning - Event::loadScript] Event onThink not found (data/globalevents/scripts/espelho.lua)

 

se nao tem a action ae tbm pra me passar pro item teleportar lembrando que e um espelho que nao pode ser movido e ao clicar nele eele some e teleporta o player pra xyz posiçao.

 

 

  Mostrar conteúdo oculto

 

  • 0

Desculpa foi burrice minha usar esse com aquela tag de la de cima

 

 

local item = 14708 -- item que sera criadolocal tempo = 5 -- quanto tempo o item vai fica até desaparecer
local positions = { -- posições que sera criado
    {x = 1017, y = 1030, z = 7},
    {x = 1018, y = 1030, z = 7},
    {x = 1019, y = 1030, z = 7},
}
 
function onThink(interval)
    local pos = positions[math.random(1, #positions)]
    local teleport = doCreateItem(item, 1, pos)
    doItemSetAttribute(teleport, "aid", 5555) -- actionid
    addEvent(function()
        doRemoveItem(getItemStack(pos, item).uid, 1)
    end, tempo*60)
    return true
end
 
function getItemStack(pos, iid)
    for i = 1, 255 do
        posa = getThingFromPos({x=pos.x, y=pos.y, z=pos.z, stackpos=i})
        if posa.itemid == iid then
        return posa
        end
    end
    return nil
end
Editado por RigBy
Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...