Obrigado, Belo tutorial.
Obrigado, Belo tutorial.
info
Group: Conde
Joined: 03/11/11
Posts: 714
Reputation: +67
Gender: Masculino
Tibia Character: esqueci 20+

Tava precisando MUITO disso! Obrigado!!
info
Group: Visconde
Joined: 11/08/10
Posts: 477
Reputation: +175
Gender: Masculino

info
Group: Herói
Joined: 07/03/16
Posts: 1.4k
Reputation: +385
Gender: Masculino

Muito bom seu script.
Faz uma versão onde requira apenas a posição da porta.
info
Group: Visconde
Joined: 24/05/11
Posts: 391
Reputation: +102

info
Group: Visconde
Joined: 22/11/12
Posts: 267
Reputation: +26
Gender: Masculino
Tibia Character: ADM Kabo

Mais tarde bo testear mano
info
Group: Visconde
Joined: 11/08/10
Posts: 477
Reputation: +175
Gender: Masculino

57 minutos atrás, Poccnn disse:Muito bom seu script.
Faz uma versão onde requira apenas a posição da porta.
Tem razão, não sei porque não fiz assim '-' quando eu chegar em casa eu atualizo.
54 minutos atrás, Faelzdanil disse:ou pode simplesmente colocar anti logout lá.
Sim, também dá certo.
funfando 100%, obrigado por compartilhar
info
Group: Conde
Joined: 03/11/11
Posts: 714
Reputation: +67
Gender: Masculino
Tibia Character: esqueci 20+

Em 29/06/2016 at 14:38, Eskylo disse:
Crie um arquivo chamado doors.lua na pasta data\movements\scripts e adicione o seguinte conteúdo:
-- CONFIGURAÇÕES --local doors = {18312, 18311, 18310, 18309}local door_pos = {x=1051,y=1032,z=7}-- FIM CONFIGURAÇÕES --local top_left = {x = door_pos.x - 3, y = door_pos.y - 2, z = door_pos.z}local bottom_right = {x = door_pos.x, y = door_pos.y + 2, z = door_pos.z}local function areThereCreaturesInArea(top_left, bottom_right) for x = top_left.x, bottom_right.x do for y = top_left.y, bottom_right.y do if isCreature(getTopCreature({x=x, y=y, z=top_left.z}).uid) then return true end end end return falseendlocal function open(pos, i)if i < #doors then current = doors[i] next_ = doors[i+1] local door = getTileItemById(pos, current) if door.uid > 0 then doTransformItem(door.uid, next_) addEvent(open, 200, pos, i+1) endend endlocal function close_(pos, i)if areThereCreaturesInArea(top_left, bottom_right) then return trueendif i <= #doors and i > 1 then current = doors[i] next_ = doors[i-1] local door = getTileItemById(pos, current) if door.uid > 0 then doTransformItem(door.uid, next_) addEvent(close_, 200, pos, i-1) endend endfunction onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor) for i = 1, #doors do local door = getTileItemById(door_pos, doors[i]) if door.uid > 0 then open(door_pos, i) break end end return trueendfunction onStepOut(cid, item, position, lastPosition, fromPosition, toPosition, actor) close_(door_pos, #doors) return trueend
No arquivo movements/movements.xml adicione as seguintes linhas
<movevent type="StepIn" actionid="12000" event="script" value="doors.lua"/> <movevent type="StepOut" actionid="12000" event="script" value="doors.lua"/>
No map editor adicione o action id 12000 aos tiles em volta da porta marcados com X
Agora você deve configurar as coordenadas da porta no script de acordo com o seu mapa:
local door_pos = {x=1051,y=1032,z=7}
(A pos onde fiz o
E por último configurar os IDS das portas de acordo com o seu servidor:
local doors = {18312, 18311, 18310, 18309}Você deve colocar os IDS na ordem da "mais fechada" até a "mais aberta".
No meu exemplo a porta totalmente fechada tem id 18312 e a totalmente aberta 18309, mas no seu servidor provavelmente os ids são diferentes.
Espero que seja útil
Lembrando que você tem que repetir todos os passos para cada porta assim no seu mapa, usando action ids e posições diferentes.
Em breve faço uma versão que dê pra configurar todas as portas do mapa em 1 script.
Cara, tive uma dúvida. Vou ter que fazer esse script para cada cidade?
info
Group: Visconde
Joined: 22/11/12
Posts: 267
Reputation: +26
Gender: Masculino
Tibia Character: ADM Kabo

obrigado ta funcionando
muito boom mano!!

info
Group: Barão
Joined: 31/07/09
Posts: 205
Reputation: +24
Gender: Masculino

funfando 100%, reputeichon mais para ti
o unico bug que encontrei eh caso se a pessoa for usar ele nas portas do tc e tr, elas não fecham.
Edited Julho 8 by jeanflamengo
info
Group: Grão-Duque
Joined: 02/10/06
Posts: 3.3k
Reputation: +151
Gender: Masculino

Muito legal seu script, gostei da ideia.
Obrigado por compartilhar conosco!
E pra botar a porta ela de lado nao de frente ela abre mais ela n fecha
info
Group: Campones
Joined: 22/09/16
Posts: 6
Reputation: 0
Deu certinho, Parabéns ai e Obrigado. Rep+
Agora sera que tem o do Depot também? no meu servidor ele fica parado e não se move igual o Pxg. Se puder ajudar serei ainda mais grato.
Edited Outubro 4 by Skinn Bolic
info
Group: Visconde
Joined: 11/08/10
Posts: 477
Reputation: +175
Gender: Masculino
Crie um arquivo chamado doors.lua na pasta data\movements\scripts e adicione o seguinte conteúdo:
No arquivo movements/movements.xml adicione as seguintes linhas
No map editor adicione o action id 12000 aos tiles em volta da porta marcados com X
Agora você deve configurar as coordenadas da porta no script de acordo com o seu mapa:
(A pos onde fiz o X)
E por último configurar os IDS das portas de acordo com o seu servidor:
Você deve colocar os IDS na ordem da "mais fechada" até a "mais aberta".
No meu exemplo a porta totalmente fechada tem id 18312 e a totalmente aberta 18309, mas no seu servidor provavelmente os ids são diferentes.
Espero que seja útil
Lembrando que você tem que repetir todos os passos para cada porta assim no seu mapa, usando action ids e posições diferentes.
Em breve faço uma versão que dê pra configurar todas as portas do mapa em 1 script.
Edited Junho 29 by Eskylo