Ir para conteúdo
  • 0

Trainer Ocupado


Fjinst

Pergunta

Olá eu gostaria de pedir a ajuda em um script de alavanca trainers, que tipo, se outra pessoa já estiver treinando no sqm não puder entrar

 

g8CbQE.png

Clicou, entrou blz

huOHOs.png

Se o player que estiverr dentro quiser clicar para voltar consegue

Zd14t9.png

Mas se a pessoa de fora quiser entrar, não conseguirá por que já tem alguém dentro

 

 

Desde já grato pela atenção.

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

function onUse(cid, item, fp, itemEx, toPosition)
	
	local posi = {	[{x = fp.x, y = fp.y + 1, z = fp.z}] = {x = fp.x, y = fp.y - 1, z = fp.z},
					[{x = fp.x, y = fp.y - 1, z = fp.z}] = {x = fp.x, y = fp.y + 1, z = fp.z}, 
					[{x = fp.x - 1, y = fp.y, z = fp.z}] = {x = fp.x + 1, y = fp.y, z = fp.z},
					[{x = fp.x + 1, y = fp.y, z = fp.z}] = {x = fp.x - 1, y = fp.y, z = fp.z}, 
				}	
	local trainerTile = 407 	
	doTransformItem(item.uid, item.itemid == 1945 and 1946 or 1945)
	
	for posout, pos in pairs(posi) do
		if getTileItemById(pos, trainerTile).itemid == trainerTile then 
			if getTopCreature(pos).uid == cid then 
				doTeleportThing(cid, posout)
				return true
			end
			if isCreature(getTopCreature(pos).uid) then 
				doPlayerSendCancel(cid, "Esse trainer esta ocupado.")
				doSendMagicEffect(toPosition, CONST_ME_POFF)
			else 
				doTeleportThing(cid, pos)
				break
			end 
		end 
	end

	return true
end
<action actionid="1234" event="script" value="arquivo.lua"/>

Só precisa mudar a variável trainerTile, pro id do tile que fica dentro do trainer.

actionid coloca na alavanca.

Link para o comentário
Compartilhar em outros sites

  • 0
function onUse(cid, item, fp, itemEx, toPosition)
	
	local posi = {	[{x = fp.x, y = fp.y + 1, z = fp.z}] = {x = fp.x, y = fp.y - 1, z = fp.z},
					[{x = fp.x, y = fp.y - 1, z = fp.z}] = {x = fp.x, y = fp.y + 1, z = fp.z}, 
					[{x = fp.x - 1, y = fp.y, z = fp.z}] = {x = fp.x + 1, y = fp.y, z = fp.z},
					[{x = fp.x + 1, y = fp.y, z = fp.z}] = {x = fp.x - 1, y = fp.y, z = fp.z}, 
				}	
	local trainerTile = 407 	
	doTransformItem(item.uid, item.itemid == 1945 and 1946 or 1945)
	
	for posout, pos in pairs(posi) do
		if getTileItemById(pos, trainerTile).itemid == trainerTile then 
			if getTopCreature(pos).uid == cid then 
				doTeleportThing(cid, posout)
				return true
			end
			if isCreature(getTopCreature(pos).uid) then 
				doPlayerSendCancel(cid, "Esse trainer esta ocupado.")
				doSendMagicEffect(toPosition, CONST_ME_POFF)
			else 
				doTeleportThing(cid, pos)
				break
			end 
		end 
	end

	return true
end
<action actionid="1234" event="script" value="arquivo.lua"/>

Só precisa mudar a variável trainerTile, pro id do tile que fica dentro do trainer.

 

 

 

Seria possível adaptar pra usar ele em uma porta ?

Link para o comentário
Compartilhar em outros sites

  • 0

 

Seria possível adaptar pra usar ele em uma porta ?

 

Se não quiser que ela abra ou feche, é só tirar essa parte e usar:

doTransformItem(item.uid, item.itemid == 1945 and 1946 or 1945)

você pode usar qualquer item, basta ter o piso de dentro diferente dos outros, e colocar o id dele na variável..

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...