Ir para conteúdo
  • 0

[Resolvido] [PEDIDO] Script porta que abre sozinha


SosFirexd

Pergunta

Galera tava precisando de um script que quando o player chegasse perto da porta ela se abria sozinha deixando ele passar, alguém pode me ajudar nisso ? (igual a do pxg)

 

Ex: a porta ta fechada mais quando um player chega perto dela,ela faz uma animação de abrir e o player passa.

 

obs: ja tenho a sprite

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

11 respostass a esta questão

Posts Recomendados

  • 0

isso é um movements, quando um player pisar em tal posição, outra posição ira adicionar a porta e essa porta vai fazer o movimento dela se abrindo, ainda não tentamos fazer isso mais é bem simples

Link para o comentário
Compartilhar em outros sites

  • 0

eu tenho essa script aqui de porta automática

local config = {
    delay = 150,                                       --Intervalo de tempo entre as "transformações" da porta, em milésimos.
    door = {621, 622, 605},                       --{ID da porta fechada, ID da porta aberta pela metade, ID da porta aberta},
    ids = {
    [2701] = {                                        
        {x = 1056, y = 1055, z = 7},         --Saffron--
    },
  },
}
function onStepIn(cid, item, position)
    if config.ids[item.actionid] then
        for _, pos in pairs(config.ids[item.actionid]) do
            if getTileItemById(pos, config.door[1]).uid > 0 then
                for i = 1, 2 do
                    addEvent(function()
                        doTransformItem(getTileItemById(pos, i == 1 and config.door[1] or config.door[2]).uid, config.door[i + 1])
                    end, i * config.delay)
                end
            end 
        end
    end
    return true
end
function onStepOut(cid, item)
    if config.ids[item.actionid] then
        for _, pos in pairs(config.ids[item.actionid]) do
            local it = getTileItemById(pos, config.door[3]).uid
            if it > 0 then
                if getSpectators(pos, 1, 1) then
                    return true
                end
            end
        end
        for _, pos in pairs(config.ids[item.actionid]) do
            if getTileItemById(pos, config.door[3]).uid > 0 then
                for i = 1, 2 do
                    addEvent(function()
                        doTransformItem(getTileItemById(pos, i == 1 and config.door[3] or config.door[2]).uid, config.door[i == 1 and 2 or 1])
                    end, i * config.delay)
                end
            end
        end
    end
    return true
end 

Tags

 

<movevent type="StepIn" actionid="2701;2702" event="script" value="NOME DO AQUIVO.lua"/>
<movevent type="StepOut" actionid="2701;2702" event="script" value="NOME DO AQUIVO.lua"/>

+ ela ta com um bug olha o link ai do bug, se alguém conseguir tirar esse bug também agradeço :) pq também preciso dessa script

 

 

vc edita nessa parte

local config = {
    delay = 150,                                       --Intervalo de tempo entre as "transformações" da porta, em milésimos.
    door = {621, 622, 605},                       --{ID da porta fechada, ID da porta aberta pela metade, ID da porta aberta},
    ids = {
    [2701] = {                                        
        {x = 1056, y = 1055, z = 7},         --Saffron--
    },
  },
}

em door = {621, 622, 605}, 1° id vc coloca o id da porta instável, no caso a fechada, no 2° id vc coloca a porta com ela metade aberta e no 3° id vc coloca o id da porta aberta,

 

em ids = {

[2701] vc coloca o action id que serar colocado no RME

 

e em {x = 1056, y = 1055, z = 7}, coloca a posição da porta

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

  • 0

 

eu tenho essa script aqui de porta automática

local config = {
    delay = 150,                                       --Intervalo de tempo entre as "transformações" da porta, em milésimos.
    door = {621, 622, 605},                       --{ID da porta fechada, ID da porta aberta pela metade, ID da porta aberta},
    ids = {
    [2701] = {                                        
        {x = 1056, y = 1055, z = 7},         --Saffron--
    },
  },
}
function onStepIn(cid, item, position)
    if config.ids[item.actionid] then
        for _, pos in pairs(config.ids[item.actionid]) do
            if getTileItemById(pos, config.door[1]).uid > 0 then
                for i = 1, 2 do
                    addEvent(function()
                        doTransformItem(getTileItemById(pos, i == 1 and config.door[1] or config.door[2]).uid, config.door[i + 1])
                    end, i * config.delay)
                end
            end 
        end
    end
    return true
end
function onStepOut(cid, item)
    if config.ids[item.actionid] then
        for _, pos in pairs(config.ids[item.actionid]) do
            local it = getTileItemById(pos, config.door[3]).uid
            if it > 0 then
                if getSpectators(pos, 1, 1) then
                    return true
                end
            end
        end
        for _, pos in pairs(config.ids[item.actionid]) do
            if getTileItemById(pos, config.door[3]).uid > 0 then
                for i = 1, 2 do
                    addEvent(function()
                        doTransformItem(getTileItemById(pos, i == 1 and config.door[3] or config.door[2]).uid, config.door[i == 1 and 2 or 1])
                    end, i * config.delay)
                end
            end
        end
    end
    return true
end 

Tags

 

<movevent type="StepIn" actionid="2701;2702" event="script" value="NOME DO AQUIVO.lua"/>
<movevent type="StepOut" actionid="2701;2702" event="script" value="NOME DO AQUIVO.lua"/>

+ ela ta com um bug olha o link ai do bug, se alguém conseguir tirar esse bug também agradeço :) pq também preciso dessa script

 

 

vc edita nessa parte

local config = {
    delay = 150,                                       --Intervalo de tempo entre as "transformações" da porta, em milésimos.
    door = {621, 622, 605},                       --{ID da porta fechada, ID da porta aberta pela metade, ID da porta aberta},
    ids = {
    [2701] = {                                        
        {x = 1056, y = 1055, z = 7},         --Saffron--
    },
  },
}

em door = {621, 622, 605}, 1° id vc coloca o id da porta instável, no caso a fechada, no 2° id vc coloca a porta com ela metade aberta e no 3° id vc coloca o id da porta aberta,

 

em ids = {

[2701] vc coloca o action id que serar colocado no RME

 

e em {x = 1056, y = 1055, z = 7}, coloca a posição da porta

 

o action id ponho no chao ou na porta??

Link para o comentário
Compartilhar em outros sites

  • 0
Em 23/04/2015 em 20:52, ricardoberg disse:

eu tenho essa script aqui de porta automática


local config = {
    delay = 150,                                       --Intervalo de tempo entre as "transformações" da porta, em milésimos.
    door = {621, 622, 605},                       --{ID da porta fechada, ID da porta aberta pela metade, ID da porta aberta},
    ids = {
    [2701] = {                                        
        {x = 1056, y = 1055, z = 7},         --Saffron--
    },
  },
}
function onStepIn(cid, item, position)
    if config.ids[item.actionid] then
        for _, pos in pairs(config.ids[item.actionid]) do
            if getTileItemById(pos, config.door[1]).uid > 0 then
                for i = 1, 2 do
                    addEvent(function()
                        doTransformItem(getTileItemById(pos, i == 1 and config.door[1] or config.door[2]).uid, config.door[i + 1])
                    end, i * config.delay)
                end
            end 
        end
    end
    return true
end
function onStepOut(cid, item)
    if config.ids[item.actionid] then
        for _, pos in pairs(config.ids[item.actionid]) do
            local it = getTileItemById(pos, config.door[3]).uid
            if it > 0 then
                if getSpectators(pos, 1, 1) then
                    return true
                end
            end
        end
        for _, pos in pairs(config.ids[item.actionid]) do
            if getTileItemById(pos, config.door[3]).uid > 0 then
                for i = 1, 2 do
                    addEvent(function()
                        doTransformItem(getTileItemById(pos, i == 1 and config.door[3] or config.door[2]).uid, config.door[i == 1 and 2 or 1])
                    end, i * config.delay)
                end
            end
        end
    end
    return true
end 

Tags

 


<movevent type="StepIn" actionid="2701;2702" event="script" value="NOME DO AQUIVO.lua"/>
<movevent type="StepOut" actionid="2701;2702" event="script" value="NOME DO AQUIVO.lua"/>

+ ela ta com um bug olha o link ai do bug, se alguém conseguir tirar esse bug também agradeço :) pq também preciso dessa script

 

 

 

vc edita nessa parte


local config = {
    delay = 150,                                       --Intervalo de tempo entre as "transformações" da porta, em milésimos.
    door = {621, 622, 605},                       --{ID da porta fechada, ID da porta aberta pela metade, ID da porta aberta},
    ids = {
    [2701] = {                                        
        {x = 1056, y = 1055, z = 7},         --Saffron--
    },
  },
}

em door = {621, 622, 605}, 1° id vc coloca o id da porta instável, no caso a fechada, no 2° id vc coloca a porta com ela metade aberta e no 3° id vc coloca o id da porta aberta,

 

em ids = {

[2701] vc coloca o action id que serar colocado no RME

 

e em {x = 1056, y = 1055, z = 7}, coloca a posição da porta

Mano no meu a porta tem 3 ID e são 3 paredes dai ela não fica configurada certinho
quando ao seu "Bug" não é bem isso basta você colocar no centro também a action que está usando
centro me refiro no meio das portas

 

Link para o comentário
Compartilhar em outros sites

  • 0
  • Diretor
59 minutos atrás, wenderotpoke disse:

Mano no meu a porta tem 3 ID e são 3 paredes dai ela não fica configurada certinho
quando ao seu "Bug" não é bem isso basta você colocar no centro também a action que está usando
centro me refiro no meio das portas

 

Tome cuidado ao reviver tópicos antigo. Caso tenha alguma duvida, crie um novo tópico! Como o tópico já foi resolvido e tem melhor resposta, Estarei fechando/movendo para área correta.

Link para o comentário
Compartilhar em outros sites

  • 0
  • Diretor
A questão neste tópico de suporte foi respondida e/ou o autor do tópico resolveu o problema. Este tópico está fechado e foi movido para Suporte - Resolvidos. Se você tiver outras dúvidas, crie um novo tópico.
Link para o comentário
Compartilhar em outros sites

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