Ir para conteúdo

Cp door system pxg


Eskylo

Posts Recomendados

  • 1 month later...
Em 29/06/2016 at 14:38, Eskylo disse:
local door_pos = {x=1051,y=1032,z=7}

door_pos.png

 

(A pos onde fiz o X):

pode me responder uma coisa?, ai no x é tipo o player passa ali na frente e abre né ? sou novato com isso -'. ai c eu coloca tipo na frente da porta o player passa e abre né ?

Link para o comentário
Compartilhar em outros sites

  • 2 months later...
  • 2 months later...
Em 29/06/2016 at 14:38, Eskylo disse:

 

l46C4pz7cbejABIn6.gif

 

 

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

 

doors_position.png

 

 

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}

door_pos.png

 

(A pos onde fiz o X):

 

 

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.

 

Olá boa tarde, queria saber porque no meu esta dando esse erro ?

 

2r780v6.png

Link para o comentário
Compartilhar em outros sites

  • 5 months later...
9 horas atrás, Noninhouh disse:

Acho que você deve ter copiado ou editado algo errado @amoxicilinaaaaa, confere aí, acho que tá falando que tem um 'i' em algum lugar que não deveria estar.

Obrigado pela intenção de ajudar, mais já descobrir qual erra erro que eu estava cometendo.

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...