Ir para conteúdo
  • 0

Alavanca Que Ao Dar Use Abre Um Numero De Portas....


juan500

Pergunta

4 respostass a esta questão

Posts Recomendados

  • 0

????? caotic viajou pra longe em

trocou usar item com matar monstro, action com creature script, porta com teleport, foi feia a coisa

 

 

local doors = doors or {}
local doorPositions = {
{x = 1, y = 1, z = 1},
{x = 1, y = 1, z = 1},
{x = 1, y = 1, z = 1},
{x = 1, y = 1, z = 1},
{x = 1, y = 1, z = 1},
{x = 1, y = 1, z = 1}}
local magicEffect_onCloseDoor = 2  -- efeito ao fechar as portas (vai aparecer em cima de cada porta)
local magicEffect_onOpenDoor = 13  -- efeito ao abrir as portas (vai aparecer em cima de cada porta)

function onUse(cid, item, frompos, item2, topos)

if getPlayerAccess(cid) < 6 then return doPlayerSendCancel(cid, "Apenas gods podem puxar essa alavanca.") end

local isOpen = false

for _, pos in doorPositions do
	local i = getTileItemByType(pos, ITEM_TYPE_DOOR)
	if i.uid > 1 then
		local t = i.itemid + 1
		local e = -1
		isOpen = doTileQueryAdd(cid, pos, 6, false) == 1
		if isOpen then
			t = i.itemid - 1
			e = magicEffect_onCloseDoor or e
		else
			t = doors[i.itemid] or i.itemid + 1
			e = magicEffect_onOpenDoor or e
		end
		doTransformItem(i.uid, t)
		if tonumber(e) and e >= 0 and e <= 255 then
			doSendMagicEffect(pos, e)
		end
	end
end

local open_close = isOpen and "abertas" or "fechadas"
doPlayerSendTextMessage(cid, 23, "As portas foram ".. open_close ..".")
doSendMagicEffect(topos, 13)	
return true
end

 

 

Não testei, vê aí se funciona

só alterar as posições de cada porta

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

  • 0

data\actions\scripts\port6.lua

function onUse(cid, item, fromPosition, itemEx, toPosition)
local x = true
local B  = { 
{1212,{x =161, y = 45, z = 8, stackpos = 1}},   --1212 é id da porta e positin da porta   não edita o stackpos = 1
{1212,{x =162, y = 45, z = 8, stackpos = 1}},   -- id da porta2 e positin da porta   não edita o stackpos = 1
{1212,{x =163, y = 45, z = 8, stackpos = 1}},   -- id da porta3 e positin da porta   não edita o stackpos = 1
{1212,{x =164, y = 45, z = 8, stackpos = 1}},    -- id da porta4 e positin da porta   não edita o stackpos = 1
{1212,{x =165, y = 45, z = 8, stackpos = 1}},    -- id da porta5 e positin da porta   não edita o stackpos = 1
{1212,{x =166, y = 45, z = 8, stackpos = 1}}	  -- id da porta6 e positin da porta   não edita o stackpos = 1
}
if getPlayerAccess(cid) < 5 then return doPlayerSendCancel(cid, "Apenas gods podem puxar essa alavanca.") end
doTransformItem(item.uid, item.itemid == 1945 and 1946 or 1945)
for i = 1, #B do
if getTileItemById(B[i][2], B[i][1]).uid == 0 then x = false end
if x == true then
doRemoveItem(getThingfromPos(B[i][2]).uid,1)
else
doCreateItem(B[i][1], 1, B[i][2])
end
end
return true
end

data\actions\actions.xml

adiciona isso

<action actionid="7012" script="port6.lua"/>

 

na alavanca vc adiciona 7012 com map editor

Link para o comentário
Compartilhar em outros sites

  • 0

????? caotic viajou pra longe em

trocou usar item com matar monstro, action com creature script, porta com teleport, foi feia a coisa

 

 

local doors = doors or {}
local doorPositions = {
{x = 1, y = 1, z = 1},
{x = 1, y = 1, z = 1},
{x = 1, y = 1, z = 1},
{x = 1, y = 1, z = 1},
{x = 1, y = 1, z = 1},
{x = 1, y = 1, z = 1}}
local magicEffect_onCloseDoor = 2  -- efeito ao fechar as portas (vai aparecer em cima de cada porta)
local magicEffect_onOpenDoor = 13  -- efeito ao abrir as portas (vai aparecer em cima de cada porta)

function onUse(cid, item, frompos, item2, topos)

if getPlayerAccess(cid) < 6 then return doPlayerSendCancel(cid, "Apenas gods podem puxar essa alavanca.") end

local isOpen = false

for _, pos in doorPositions do
	local i = getTileItemByType(pos, ITEM_TYPE_DOOR)
	if i.uid > 1 then
		local t = i.itemid + 1
		local e = -1
		isOpen = doTileQueryAdd(cid, pos, 6, false) == 1
		if isOpen then
			t = i.itemid - 1
			e = magicEffect_onCloseDoor or e
		else
			t = doors[i.itemid] or i.itemid + 1
			e = magicEffect_onOpenDoor or e
		end
		doTransformItem(i.uid, t)
		if tonumber(e) and e >= 0 and e <= 255 then
			doSendMagicEffect(pos, e)
		end
	end
end

local open_close = isOpen and "abertas" or "fechadas"
doPlayerSendTextMessage(cid, 23, "As portas foram ".. open_close ..".")
doSendMagicEffect(topos, 13)	
return true
end

 

 

Não testei, vê aí se funciona

só alterar as posições de cada porta

 

 

Viajei geral msn

Embaralhei dois pedidos aki :X

Tava saindo.........

Link para o comentário
Compartilhar em outros sites

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