Ir para conteúdo
  • Cadastre-se

(Resolvido)Parede que se move


Ir para solução Resolvido por Yan Liima,

Posts Recomendados

Boa noite gente, estou precisando de uma script que, a parede de mova quando um player pisa em determinado sqm, sera que alguem me ajuda? fico muito agradecido :D

Link para o post
Compartilhar em outros sites
  • Respostas 46
  • Created
  • Última resposta

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

Fiz de um modo diferente, tenta assim: local c = { closeDelay = 2000, -- tempo em que ira fechar (1000ms = 1s) busyArea = {from = {x=100, y=100, z=7}, to = {x=100, y=100, z=7}}, -- area que chec

ta ai o video explicando o sistema   Untitled.wmv

Posted Images

Posso criar o script amanhã cedo?

4 horas atrás, maury123 disse:

Boa noite gente, estou precisando de uma script que, a parede de mova quando um player pisa em determinado sqm, sera que alguem me ajuda? fico muito agradecido :D

Como assim ela se mova? Ela desaparece ou ela muda a posição ou ela anda um piso pró lado pq assim VC sabe que no script VC vai ter q por o id de todos os itens que faça esse movimento eu to dormindo amanhã cedo explico pra vc

Link para o post
Compartilhar em outros sites

então eu quero que ela se mova para o lado, ela se abre ao meio metade vai para um lado e a outra metade vai para o outro, pra mim fazer com a porta da cp como a pxg

Link para o post
Compartilhar em outros sites
1 hora atrás, maury123 disse:

então eu quero que ela se mova para o lado, ela se abre ao meio metade vai para um lado e a outra metade vai para o outro, pra mim fazer com a porta da cp como a pxg

a blz entendi então to fazendo certo o script kkk eu ja posto aqui um video explicando como funciona e o script em si ok, to só fazendo os testes 

 

 

cara eu vo pedir uma coisa sempre que você for me responder, no meu post click em citar, pq assim aparece que você disse alguma coisa, vlw xD

Editado por lenardo88 (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
1 hora atrás, maury123 disse:

ta certo eu nao sabia

cara terminei agora to testando o scrit e arrumando os erros rsrs ta funcionando só to arrumando stepout blz xD

Link para o post
Compartilhar em outros sites
41 minutos atrás, maury123 disse:

tranquilo mano to aq naa espera vlw mesmo

taai o tutorial xD funciono perfeitamente:

 

 

 vá na pasta movements do seu otserver crie um arquivo com nome qualquer dentro coloque:

Spoiler

--[[

aqui no caso é o seguinte vc vai fazer duas portas essas duas portas unidas uma do lado da outra formao uma porta inteira e vc vai desenhar as duas portas fechadas

 

meio abertas

 

 

completamente aberta

]]--  

 

 

seg = 0.10                 -- segundos
delay = seg*1000         -- não modificar

 

function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor)
addEvent(a, delay, item, position, lastPosition, fromPosition, toPosition, actor)
return true
end


function a(cid, item, position, lastPosition, fromPosition, toPosition)
item = {13481, 13483}                      -- aqui seria tipo a porta1 fechada seguido pela porta1 meio aberta
item2 = {13482, 13484}                     -- aqui seria a porta2 do lado fechada seguido pela porta2 meio aberta

pos = {x=278, y=1147, z=6}        -- pos da porta 1
pos2 = {x=279, y=1147, z=6}       -- pos da porta 2  

 

if getTileItemById(pos, item[1]).uid > 0 then
for i = 1, 2 do
doTransformItem(getTileItemById(pos, item[1]).uid, item[2])
doTransformItem(getTileItemById(pos2, item2[1]).uid, item2[2])
addEvent(b, delay, cid, item, position, lastPosition, fromPosition, toPosition)
end
end
return true
end


function b(cid, item, position, lastPosition, fromPosition, toPosition)
item = {13483, 13485}                      -- id da porta1 meio aberta seguido por porta1 totalmente aberta
item2 = {13484, 13486}                     -- id da porta2 meio aberta seguido por porta2 totalmente aberta

pos = {x=278, y=1147, z=6}        -- pos da porta 1
pos2 = {x=279, y=1147, z=6}       -- pos da porta 2  

 

if getTileItemById(pos, item[1]).uid > 0 then
for i = 1, 2 do
doTransformItem(getTileItemById(pos, item[1]).uid, item[2])
doTransformItem(getTileItemById(pos2, item2[1]).uid, item2[2])
end
end
return true
end

 

--[[

aqui no caso a baixo a gente vai fazer o msm processo que em cima só que ao contrario pq agora

é quando o player sair do piso 

]]--

 

 

 

function onStepOut(cid, item, position, lastPosition, fromPosition, toPosition, actor)
addEvent(c, delay, item, position, lastPosition, fromPosition, toPosition)
return true
end

function c(cid, item, position, lastPosition, fromPosition, toPosition)

pos = {x=278, y=1147, z=6}        -- pos da porta 1
pos2 = {x=279, y=1147, z=6}       -- pos da porta 2  
item = {13485, 13483}                     -- id da porta1 toda aberta seguido por porta1 meia aberta
item2 = {13486, 13484}                     -- id da porta2 toda aberta seguido por porta2 meia aberta

if getTileItemById(pos, item[1]).uid > 0 then
for i = 1, 2 do
doTransformItem(getTileItemById(pos, item[1]).uid, item[2])
doTransformItem(getTileItemById(pos2, item2[1]).uid, item2[2])
addEvent(d, delay, item, position, lastPosition, fromPosition, toPosition)
end
end
return true
end


function d(cid, item, position, lastPosition, fromPosition, toPosition)

pos = {x=278, y=1147, z=6}        -- pos da porta 1
pos2 = {x=279, y=1147, z=6}       -- pos da porta 2  
item = {13483, 13481}                     -- id da porta1 meia aberta seguido por porta1 fechada 
item2 = {13484, 13482}                     -- id da porta2 meia aberta seguido por porta2 fechada 

if getTileItemById(pos, item[1]).uid > 0 then
for i = 1, 2 do
doTransformItem(getTileItemById(pos, item[1]).uid, item[2])
doTransformItem(getTileItemById(pos2, item2[1]).uid, item2[2])
end
end
return true
end

 

agora em movements.xml coloque:

Spoiler

    <movevent type="StepOut" actionid="12424" event="script" value="nomedoarquivo.lua"/>
    <movevent type="StepIn" actionid="12424" event="script" value="nomedoarquivo.lua"/>

 

ali ja deixei o action id deixe esse msm .-. ai aquele action id ="12424 vc vai

colocar na frente e atras das portas e é isso cara xD, más cara tipo fica ligado nesse tópico vou dar uma diminuida no tamanho da script e vou postar de novo vou dar uma melhorada tb pq nesse caso se o player tiver no meio da porta a porta vai fechar então eu vo fazer com q isso não aconteca mas tipo eu vo trabalhar e a noite eu vo prafacul então umas 22:30 só eu vo postar o script legalzinho então até amanhã fica ligado aqui nesse tópico

Editado por lenardo88 (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
31 minutos atrás, maury123 disse:

muito obrigado mano voçê tem skype pois nao entendi muito bem

e deu erro aq na script

deu erro

Cara eu to no trabalho agora que erro q deu?

1 minuto atrás, lenardo88 disse:

Cara eu to no trabalho agora que erro q deu?

Vamos fazer assim vou chegar em casa umas 17:00 gravo um vídeo pra VC ok? Aguarda ae 

Link para o post
Compartilhar em outros sites
3 horas atrás, maury123 disse:

blz vou aguardar 

Sem título.png

Tudo q tiver de uma mentario no script VC tira ok tudo q for -- texto ou

 

--[[

 

Texto

 

]]-- 

 

Tudo q for assim exclui ok

Link para o post
Compartilhar em outros sites
5 minutos atrás, maury123 disse:

fiz isso msm assim continuou

oks coloca o script q vc ta agora pq la em casa no meu funciono de qualquer jeito a hora q chegar em casa daki uns 50 minutos eu gravo o video mas posta o script e o que vc coloco em movements.xml

Link para o post
Compartilhar em outros sites

seg = 0.10                 
delay = seg*1000         
 
function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor)
addEvent(a, delay, item, position, lastPosition, fromPosition, toPosition, actor)
return true
end

function a(cid, item, position, lastPosition, fromPosition, toPosition)
item = {13481, 13483}                     
item2 = {13482, 13484}                     
pos = {x=278, y=1147, z=6}        
pos2 = {x=279, y=1147, z=6}       
 
if getTileItemById(pos, item[1]).uid > 0 then
for i = 1, 2 do
doTransformItem(getTileItemById(pos, item[1]).uid, item[2])
doTransformItem(getTileItemById(pos2, item2[1]).uid, item2[2])
addEvent(b, delay, cid, item, position, lastPosition, fromPosition, toPosition)
end
end
return true
end

function b(cid, item, position, lastPosition, fromPosition, toPosition)
item = {13483, 13485}                     
item2 = {13484, 13486}                    
pos = {x=278, y=1147, z=6}        
pos2 = {x=279, y=1147, z=6}         
 
if getTileItemById(pos, item[1]).uid > 0 then
for i = 1, 2 do
doTransformItem(getTileItemById(pos, item[1]).uid, item[2])
doTransformItem(getTileItemById(pos2, item2[1]).uid, item2[2])
end
end
return true
end
 
function onStepOut(cid, item, position, lastPosition, fromPosition, toPosition, actor)
addEvent(c, delay, item, position, lastPosition, fromPosition, toPosition)
return true
end
function c(cid, item, position, lastPosition, fromPosition, toPosition)
pos = {x=278, y=1147, z=6}        
pos2 = {x=279, y=1147, z=6}         
item = {13485, 13483}                    
item2 = {13486, 13484}                    
if getTileItemById(pos, item[1]).uid > 0 then
for i = 1, 2 do
doTransformItem(getTileItemById(pos, item[1]).uid, item[2])
doTransformItem(getTileItemById(pos2, item2[1]).uid, item2[2])
addEvent(d, delay, item, position, lastPosition, fromPosition, toPosition)
end
end
return true
end

function d(cid, item, position, lastPosition, fromPosition, toPosition)
pos = {x=278, y=1147, z=6}        
pos2 = {x=279, y=1147, z=6}      
item = {13483, 13481}                     
item2 = {13484, 13482}                     
if getTileItemById(pos, item[1]).uid > 0 then
for i = 1, 2 do
doTransformItem(getTileItemById(pos, item[1]).uid, item[2])
doTransformItem(getTileItemById(pos2, item2[1]).uid, item2[2])
end
end
return true
end

 

 

 

 

  <movevent type="StepIn" actionid="12424" event="script" value="porta.lua"/>

 

Link para o post
Compartilhar em outros sites
1 hora atrás, maury123 disse:

seg = 0.10                 
delay = seg*1000         
 
function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor)
addEvent(a, delay, item, position, lastPosition, fromPosition, toPosition, actor)
return true
end

function a(cid, item, position, lastPosition, fromPosition, toPosition)
item = {13481, 13483}                     
item2 = {13482, 13484}                     
pos = {x=278, y=1147, z=6}        
pos2 = {x=279, y=1147, z=6}       
 
if getTileItemById(pos, item[1]).uid > 0 then
for i = 1, 2 do
doTransformItem(getTileItemById(pos, item[1]).uid, item[2])
doTransformItem(getTileItemById(pos2, item2[1]).uid, item2[2])
addEvent(b, delay, cid, item, position, lastPosition, fromPosition, toPosition)
end
end
return true
end

function b(cid, item, position, lastPosition, fromPosition, toPosition)
item = {13483, 13485}                     
item2 = {13484, 13486}                    
pos = {x=278, y=1147, z=6}        
pos2 = {x=279, y=1147, z=6}         
 
if getTileItemById(pos, item[1]).uid > 0 then
for i = 1, 2 do
doTransformItem(getTileItemById(pos, item[1]).uid, item[2])
doTransformItem(getTileItemById(pos2, item2[1]).uid, item2[2])
end
end
return true
end
 
function onStepOut(cid, item, position, lastPosition, fromPosition, toPosition, actor)
addEvent(c, delay, item, position, lastPosition, fromPosition, toPosition)
return true
end
function c(cid, item, position, lastPosition, fromPosition, toPosition)
pos = {x=278, y=1147, z=6}        
pos2 = {x=279, y=1147, z=6}         
item = {13485, 13483}                    
item2 = {13486, 13484}                    
if getTileItemById(pos, item[1]).uid > 0 then
for i = 1, 2 do
doTransformItem(getTileItemById(pos, item[1]).uid, item[2])
doTransformItem(getTileItemById(pos2, item2[1]).uid, item2[2])
addEvent(d, delay, item, position, lastPosition, fromPosition, toPosition)
end
end
return true
end

function d(cid, item, position, lastPosition, fromPosition, toPosition)
pos = {x=278, y=1147, z=6}        
pos2 = {x=279, y=1147, z=6}      
item = {13483, 13481}                     
item2 = {13484, 13482}                     
if getTileItemById(pos, item[1]).uid > 0 then
for i = 1, 2 do
doTransformItem(getTileItemById(pos, item[1]).uid, item[2])
doTransformItem(getTileItemById(pos2, item2[1]).uid, item2[2])
end
end
return true
end

 

 

 

 

  <movevent type="StepIn" actionid="12424" event="script" value="porta.lua"/>

 

entendi o que você fez errado rsrs o problema ta em movement.xml kkkk vc adiciono apenas stepIn falto adicionar StepOut uhue mas em fim cara adiciona esse script dei uma resumida mais ainda não está 100% legalzinho olha coloca esse script:

 

Spoiler

seg = 0.10                 -- segundos
delay = seg*1000         -- não modificar
pos = {x=278, y=1147, z=6}
pos2 = {x=279, y=1147, z=6}

function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor)
addEvent(a, delay, item, position, lastPosition, fromPosition, toPosition, actor)
return true
end

 
function a(cid, item, position, lastPosition, fromPosition, toPosition)
item = {13481, 13483}
item2 = {13482, 13484}

if getTileItemById(pos, item[1]).uid > 0 then
for i = 1, 2 do
doTransformItem(getTileItemById(pos, item[1]).uid, item[2])
doTransformItem(getTileItemById(pos2, item2[1]).uid, item2[2])
addEvent(b, delay, cid, item, position, lastPosition, fromPosition, toPosition)
end
end
return true
end


function b(cid, item, position, lastPosition, fromPosition, toPosition)
item = {13483, 13485}
item2 = {13484, 13486}
 

if getTileItemById(pos, item[1]).uid > 0 then
for i = 1, 2 do
doTransformItem(getTileItemById(pos, item[1]).uid, item[2])
doTransformItem(getTileItemById(pos2, item2[1]).uid, item2[2])
end
end
return true
end

function onStepOut(cid, item, position, lastPosition, fromPosition, toPosition, actor)
addEvent(c, delay, item, position, lastPosition, fromPosition, toPosition)
return true
end

function c(cid, item, position, lastPosition, fromPosition, toPosition)
item = {13485, 13483}
item2 = {13486, 13484}


if getTileItemById(pos, item[1]).uid > 0 then
for i = 1, 2 do
doTransformItem(getTileItemById(pos, item[1]).uid, item[2])
doTransformItem(getTileItemById(pos2, item2[1]).uid, item2[2])
addEvent(d, delay, item, position, lastPosition, fromPosition, toPosition)
end
end
return true
end


function d(cid, item, position, lastPosition, fromPosition, toPosition)
item = {13483, 13481}
item2 = {13484, 13482}


if getTileItemById(pos, item[1]).uid > 0 then
for i = 1, 2 do
doTransformItem(getTileItemById(pos, item[1]).uid, item[2])
doTransformItem(getTileItemById(pos2, item2[1]).uid, item2[2])
end
end
return true
end


 

 

 

e em movements.xml vc tem que colocar essas 2 tags:

Spoiler

   <movevent type="StepOut" actionid="12424" event="script" value="nomedoarquivo.lua"/>
    <movevent type="StepIn" actionid="12424" event="script" value="nomedoarquivo.lua"/>

 

você tem que adicionar os 2 a cima 

 

Link para o post
Compartilhar em outros sites
1 hora atrás, maury123 disse:

eu esqueci de colocar as duas tags aq no tk mas no xml ta as duas

então coloca o novo script q eu coloquei

1 hora atrás, maury123 disse:

eu esqueci de colocar as duas tags aq no tk mas no xml ta as duas

cara então eu fiz um sisteminha pra vc eu separei o stepIn dou StepOut

 

bom faz assim cria um arquivo em movements, script chamado portain.lua e dentro coloque

Spoiler

seg = 0.10                 -- segundos
delay = seg*1000         -- não modificar
pos = {x=278, y=1147, z=6}
pos2 = {x=279, y=1147, z=6}

function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor)
addEvent(a, delay, item, position, lastPosition, fromPosition, toPosition, actor)
return true
end

 
function a(cid, item, position, lastPosition, fromPosition, toPosition)
item = {13481, 13483}     
item2 = {13482, 13484}

if getTileItemById(pos, item[1]).uid > 0 then
for i = 1, 2 do
doTransformItem(getTileItemById(pos, item[1]).uid, item[2])
doTransformItem(getTileItemById(pos2, item2[1]).uid, item2[2])
addEvent(b, delay, cid, item, position, lastPosition, fromPosition, toPosition)
end
end
return true
end


function b(cid, item, position, lastPosition, fromPosition, toPosition)
item = {13483, 13485}    
item2 = {13484, 13486}
 

if getTileItemById(pos, item[1]).uid > 0 then
for i = 1, 2 do
doTransformItem(getTileItemById(pos, item[1]).uid, item[2])
doTransformItem(getTileItemById(pos2, item2[1]).uid, item2[2])
end
end
return true
end


 

 

agora crie um outro arquivo chamado portaout.lua e dentro coloque

Spoiler

seg = 0.10                 -- segundos
delay = seg*1000         -- não modificar
pos = {x=278, y=1147, z=6}
pos2 = {x=279, y=1147, z=6}

function onStepOut(cid, item, position, lastPosition, fromPosition, toPosition, actor)
addEvent(c, delay, item, position, lastPosition, fromPosition, toPosition)
return true
end

function c(cid, item, position, lastPosition, fromPosition, toPosition)
item = {13485, 13483}
item2 = {13486, 13484}

if getTileItemById(pos, item[1]).uid > 0 then
for i = 1, 2 do
doTransformItem(getTileItemById(pos, item[1]).uid, item[2])
doTransformItem(getTileItemById(pos2, item2[1]).uid, item2[2])
addEvent(d, delay, item, position, lastPosition, fromPosition, toPosition)

end
end
return true
end


function d(cid, item, position, lastPosition, fromPosition, toPosition)
item = {13483, 13481}
item2 = {13484, 13482}


if getTileItemById(pos, item[1]).uid > 0 then
for i = 1, 2 do
doTransformItem(getTileItemById(pos, item[1]).uid, item[2])
doTransformItem(getTileItemById(pos2, item2[1]).uid, item2[2])
end
end
return true
end

 

agora em movements coloque:

 

Spoiler

   <movevent type="StepOut" actionid="12424" event="script" value="portain.lua"/>
   <movevent type="StepIn" actionid="12425" event="script" value="portaout.lua"/>

 

cara to gravando o video da explicação ok

 

Editado por lenardo88 (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
local c = {
	closeDelay = 2000, -- tempo em que ira fechar (1000ms = 1s)
	wallPlaces = {
		[1000] = {fromPos = {x=1000, y=1000, z=7}, toPos = {x=1000, y=1000, z=7}}, -- [ID_DA_PAREDE] = {posicao original, posicao movida}
		[1000] = {fromPos = {x=1000, y=1000, z=7}, toPos = {x=1000, y=1000, z=7}}
	}
}

function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor)
	for wallId, i in pairs(c.wallPlaces) do
		local thing = getTileItemById(i.fromPos, wallId).uid
		if(thing ~= 0) then
			doRemoveItem(thing)
			doCreateItem(wallId, 1, i.toPos)
			addEvent(function()
				thing = getTileItemById(i.toPos, wallId).uid
				if(thing ~= 0) then
					doRemoveItem(thing)
					doCreateItem(wallId, 1, i.fromPos)
				end
			end, c.closeDelay)
		end
	end
	return true
end

 

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