voce adicionou o action em todos os pisos perto da porta?
Ajuda a modificar script de porta automática
Por Developer Berg, 08 de ago. de 2015 em Scripts
Editado Agosto 9 por Taiger
info
Grupo: Visconde
Registrado: 05/02/14
Posts: 411
Reputação: +285
Gênero: Masculino
Char no Tibia: Zeh Sergipano

eu tinha feito essa porta para um cara aqui, da uma olhada.
http://www.xtibia.com/forum/topic/235518-como-por-efeito-no-item-da-porta/
info
Grupo: Conde
Registrado: 12/04/15
Posts: 655
Reputação: +65
Gênero: Masculino
Char no Tibia: Developer Berg

voce adicionou o action em todos os pisos perto da porta?
Ss
eu tinha feito essa porta para um cara aqui, da uma olhada.
http://www.xtibia.com/forum/topic/235518-como-por-efeito-no-item-da-porta/
Esse sistema ta do mesmo jeito que esse meu, ta fazendo o mesmo bug rs '-'
Up
info
Grupo: Visconde
Registrado: 28/02/14
Posts: 416
Reputação: +90
Gênero: Masculino

acho que esse sistema é feito pelo otc, para evitar lag
info
Grupo: Conde
Registrado: 12/04/15
Posts: 655
Reputação: +65
Gênero: Masculino
Char no Tibia: Developer Berg

acho que esse sistema é feito pelo otc, para evitar lag
isso n é leg, um cara de outro forum falou que era coisa do StepIn e StepOut, tipo, também tem no Psoul, lá tem esse sistema da porta automatica, e eles usam OldClient E Otclient rs
info
Grupo: Visconde
Registrado: 05/02/14
Posts: 411
Reputação: +285
Gênero: Masculino
Char no Tibia: Zeh Sergipano

Você testo antes de fala?
Que bug ta dando?
O cara que eu fiz amostro ele funcionando no servidor dele e tava pegando normal.
só basta você por a actionid 5555 onde o player pisara e abrira a porta.
e para de da up, você so pode fazer isso acada 24hrs, espere alguém te responde!
info
Grupo: Conde
Registrado: 12/04/15
Posts: 655
Reputação: +65
Gênero: Masculino
Char no Tibia: Developer Berg

Você testo antes de fala?
Que bug ta dando?
O cara que eu fiz amostro ele funcionando no servidor dele e tava pegando normal.
só basta você por a actionid 5555 onde o player pisara e abrira a porta.
s eu testei, o bug é aquele que ta no video, tipo, se eu colocar a action 5555, e colocar essa action ao redor da porta, e se eu passar de 1 piso que tem a action para o outro piso que também tem a action a porta deveria continuar aberta, já na script ta assim, quando eu passo de 1 piso que tem a action para o outro piso que também tem a action, a porta se fecha e depois reabre de novo, eu queria que ela continua-se aberta e n fecha-se e reabri-se, e as vezes a porta nem reabrir ela reabre, fica fechada, só se eu andar de novo que ela reabre '-' olha os 2 videos ai e ver, o 1° video é o bug que eu to mostrando, e o 2° video é a porta do jeito que quero.
Editado Agosto 9 por ricardoberg
info
Grupo: Visconde
Registrado: 05/02/14
Posts: 411
Reputação: +285
Gênero: Masculino
Char no Tibia: Zeh Sergipano

manda o script do jeito que você ta editando, deve ser porque você ta editando errado.
info
Grupo: Conde
Registrado: 12/04/15
Posts: 655
Reputação: +65
Gênero: Masculino
Char no Tibia: Developer Berg

manda o script do jeito que você ta editando, deve ser porque você ta editando errado.
olha, com a minha antiga script que eu usava eu editei assim
script
local config = {
delay = 150, --Intervalo de tempo entre as "transformações" da porta, em milésimos.
door = {{621, 606}, 622, 605}, --{ID da porta fechada, ID da porta aberta pela metade, ID da porta aberta},
ids = {
[2701] = {
{x = 1056, y = 1058, z = 7}, --Saffron--
{x = 1053, y = 1058, z = 7},
},
},
}
function onStepIn(cid, item, position)
if config.ids[item.actionid] then
for _, pos in pairs(config.ids[item.actionid]) do
if type(config.door[1]) == "table" then
for n = 1, #config.door[1] do
if getTileItemById(pos, config.door[1][n]).uid > 0 then
for i = 1, 2 do
addEvent(function()
doTransformItem(getTileItemById(pos, i == 1 and config.door[1][1] or config.door[2]).uid, config.door[i + 1])
end, i * config.delay)
end
end
end
else
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
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()
if type(config.door[1]) == "table" then
for n = 1, #config.door[1] do
local j = i == 1 and config.door[2] or config.door[1][1]
doTransformItem(getTileItemById(pos, i == 1 and config.door[3] or config.door[2]).uid, j)
end
else
doTransformItem(getTileItemById(pos, i == 1 and config.door[3] or config.door[2]).uid, config.door[i == 1 and 2 or 1])
end
end, i * config.delay)
end
end
end
end
return true
end
Tags
<movevent type="StepIn" actionid="2701" event="script" value="portas cps/portas cima baixo.lua"/> <movevent type="StepOut" actionid="2701" event="script" value="portas cps/portas cima baixo.lua"/>
Vou deixar Print da porta no mapa onde está todas as actions " 2701 " que coloquei para funcionar
Já com a sua script eu fiz assim
Script
-- Do not remove the credits --
-- [MOVEMENT] Porta que abre automáticamente --
-- Developed by Rigby (João Vitor) --
-- Xtibia.com --
local porta = {621, 622, 605} -- porta fechada, porta meio aberta, porta aberta
local pos = {x = 1056, y = 1058, z = 7} -- local onde vai fica a porta
local delay = 150 -- ela vai demorar 0.1 segundos para fica totalmente aberta ou totalmente fechada
local action = 2701 -- action que ta no .xml, se muda la vai ter que muda aqui também
function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor)
if getTileItemById(pos, porta[1]).uid > 0 then
for i = 1, 2 do
addEvent(function()
doTransformItem(getTileItemById(pos, i == 1 and porta[1] or porta[2]).uid, porta[i + 1])
end, i * delay)
end
end
return true
end
function onStepOut(cid, item, position, lastPosition, fromPosition, toPosition, actor)
local tab = {}
for _, pid in ipairs(getPlayersOnline()) do
if getTileInfo(getCreaturePosition(pid)).actionid == action then
table.insert(tab, pid)
end
end
if #tab == 0 then
if getTileItemById(pos, porta[3]).uid > 0 then
for i = 1, 2 do
addEvent(function()
doTransformItem(getTileItemById(pos, i == 1 and porta[3] or porta[2]).uid, porta[i == 1 and 2 or 1])
end, i * delay)
end
end
end
return true
end
Tags
<movevent type="StepIn" actionid="2701" event="script" value="portas cps/portas cima baixo.lua"/> <movevent type="StepOut" actionid="2701" event="script" value="portas cps/portas cima baixo.lua"/>
Eu coloquei a action " 2701 " também, e coloquei ela nos mesmos cantos do mapa que coloquei na 1° script citada
Print dos locais que tem a action onde está marcado é onde tem as actions
Up
Up
Aqui funcionou certinho, ja vou postar uma gif.
Editado Agosto 10 por Taiger
info
Grupo: Conde
Registrado: 12/04/15
Posts: 655
Reputação: +65
Gênero: Masculino
Char no Tibia: Developer Berg

Aqui funcionou certinho
e como vc configurou ? no mapa e na script ?
Pera que ja posto o meu e o que fiz no mapa etc
info
Grupo: Conde
Registrado: 12/04/15
Posts: 655
Reputação: +65
Gênero: Masculino
Char no Tibia: Developer Berg

Pera que ja posto o meu e o que fiz no mapa etc
ok
Coloquei os action id no mapa e no script normal, e funcionou de boa só segui o tutorial do the jv normal. Tem que por as cordenadas do tile que fica o item da porta certinho tb.
Não sei pq ficou ruim essa gif, mais ta ai ó funcionando.
Tenta usar outro numnero para o action id manow, quem sabe pode estar dando conflito com outro action com o mesmo numero.
Editado Agosto 10 por Taiger





info
Grupo: Conde
Registrado: 12/04/15
Posts: 655
Reputação: +65
Gênero: Masculino
Char no Tibia: Developer Berg
Iae galera
é o seguinte, queria a ajuda de vcs para modificar uma script de porta automática, igual a porta do Pxg.
como ela funciona --->>> o player chega e pisa em tal tile, e assim que ele pisa uma porta é aberta, em seguida quando o player sair de cima do tile ela se fecha, e quando tem 2 player em cima dos tiles que tem a action a porta fica aberta e se 1 dos players sair de cima do tile com a action e ficar 1 player em cima do tile ainda com a action a porta continua aberta.
vou deixar a script que estou usando que o zipter98 criou ^^
Script
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 endTags
Bug --->>> para facilitar + eu filmei para vcs entender o bug.
Video com a porta bugada, que quero corrigir
Video com a porta normal do jeito que quero.
e tipo, metade da porta pega normal do jeito que eu quero no caso a metade direita, já no caso da metade esquerda da porta, ela fica bugada,
vou deixar print representando onde ta as actions e quais tiles tão bugando
Explicação do Print --->>> onde ta azul é os tiles que ta pegando normal, Onde ta vermelho é os tiles que tão bugados
Print
Up
Editado Agosto 8 por ricardoberg