Ir para conteúdo

Featured Replies

Postado


local fromSqm = {x = 0, y = 0, z = 0} -- Coordenadas do canto superior esquerdo da sala

local toSqm = {x = 0, y = 0, z = 0} -- Coordenadas do canto inferior direito da sala


local destination = {x = 0, y = 0, z = 0} -- Coordenadas para onde o jogador será teleportado

local doorID = 0 -- ID da porta


function onUse(cid, item, fromPosition, itemEx, toPosition)

	local width = (math.max(fromSqm.x, toSqm.x) - math.min(fromSqm.x, toSqm.x)) / 2 + 1

	local height = (math.max(fromSqm.y, toSqm.y) - math.min(fromSqm.y, toSqm.y)) / 2 + 1


	local center = {x = math.min(fromSqm.x, toSqm.x) + width, y = math.min(fromSqm.y, toSqm.y) + height, z = fromSqm.z}


	if itemEx.itemid == doorID then

		if #getSpectators(center, width, height, false) >= 1 then

			doPlayerSendCancel(cid, "Desculpe, já há alguém na sala")

		end

	else

		doPlayerSendCancel(cid, "Este item não deve ser usado nessa porta")

	end

	return true

end


<action itemid="itemid" event="script" value="nome do script.lua"/>

Coloca o id do item que será usado na porta, e o nome do arquivo .lua que será criado na pasta data/actions/scripts.

As variáveis que você deve configurar já estão todas comentadas.

Editado por Lpz (veja o histórico de edições)

  • Respostas 11
  • Visualizações 1.1k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • local fromSqm = {x = 886, y = 965, z = 7} -- Coordenadas do canto superior esquerdo da sala local toSqm = {x = 888, y = 968, z = 7} -- Coordenadas do canto inferior direito da sala local destinatio

  • Adriano SwaTT
    Adriano SwaTT

    Agora funcionou' valeu brother... ajudou muito'

  • Sim, há como, mas te daria um pouco de trabalho. local rooms = { [1000] = { from = {x = 886, y = 965, z = 7}, to = {x = 888, y = 968, z = 7}, inside = {x = 887, y = 968, z = 7}

Postado
  • Autor

Então, eu testei aqui...

Mesmo sem ninguém na Sala, está exibindo a mensagem como se houvesse alguém na mesma'

:T

O Script configurado ficou assim:

local fromSqm = {x = 886, y = 965, z = 7} -- Coordenadas do canto superior esquerdo da sala

local toSqm = {x = 888, y = 968, z = 7} -- Coordenadas do canto inferior direito da sala


local destination = {x = 887, y = 968, z = 7} -- Coordenadas para onde o jogador será teleportado

local doorID = 5105 -- ID da porta


function onUse(cid, item, fromPosition, itemEx, toPosition)

	    local width = (math.max(fromSqm.x, toSqm.x) - math.min(fromSqm.x, toSqm.x)) / 2 + 1

	    local height = (math.max(fromSqm.y, toSqm.y) - math.min(fromSqm.y, toSqm.y)) / 2 + 1


	    local center = {x = math.min(fromSqm.x, toSqm.x) + width, y = math.min(fromSqm.y, toSqm.y) + height, z = fromSqm.z}


	    if itemEx.itemid == doorID then

			    if #getSpectators(center, width, height, false) >= 1 then

					    doPlayerSendCancel(cid, "Espere o outro usuário sair da sala")

			    end

	    else

			    doPlayerSendCancel(cid, "Este item não deve ser usado nessa porta")

	    end

	    return true

end

Agora não entendi'

:T

Mas valeu mesmo assim a ajuda.

Gosta do meu trabalho?

Curta e siga a página do meu projeto de 2016 e 2017 (Lab Z Games) que trará vários servidores OTServs.

 

Atenciosamente,
Adriano Swatt'

 

Para ver meus tutoriais acesse meu perfil.

 

cbCyOSZ.png

Postado

local fromSqm = {x = 886, y = 965, z = 7} -- Coordenadas do canto superior esquerdo da sala

local toSqm = {x = 888, y = 968, z = 7} -- Coordenadas do canto inferior direito da sala


local destination = {x = 887, y = 968, z = 7} -- Coordenadas para onde o jogador será teleportado

local doorID = 5105 -- ID da porta


function onUse(cid, item, fromPosition, itemEx, toPosition)

local width = (math.max(fromSqm.x, toSqm.x) - math.min(fromSqm.x, toSqm.x)) / 2 + 1

local height = (math.max(fromSqm.y, toSqm.y) - math.min(fromSqm.y, toSqm.y)) / 2 + 1


local center = {x = math.min(fromSqm.x, toSqm.x) + width, y = math.min(fromSqm.y, toSqm.y) + height, z = fromSqm.z}


	if itemEx.itemid == doorID then

		if #getSpectators(center, width, height, false) >= 2 then

				doPlayerSendCancel(cid, "Espere o outro usuário sair da sala")

		else

			doTeleportThing(cid, destination)

		end

	else

		doPlayerSendCancel(cid, "Este item não deve ser usado nessa porta")

	end

	return true

end

Postado
  • Autor


local fromSqm = {x = 886, y = 965, z = 7} -- Coordenadas do canto superior esquerdo da sala

local toSqm = {x = 888, y = 968, z = 7} -- Coordenadas do canto inferior direito da sala


local destination = {x = 887, y = 968, z = 7} -- Coordenadas para onde o jogador será teleportado

local doorID = 5105 -- ID da porta


function onUse(cid, item, fromPosition, itemEx, toPosition)

local width = (math.max(fromSqm.x, toSqm.x) - math.min(fromSqm.x, toSqm.x)) / 2 + 1

local height = (math.max(fromSqm.y, toSqm.y) - math.min(fromSqm.y, toSqm.y)) / 2 + 1


local center = {x = math.min(fromSqm.x, toSqm.x) + width, y = math.min(fromSqm.y, toSqm.y) + height, z = fromSqm.z}


	if itemEx.itemid == doorID then

		if #getSpectators(center, width, height, false) >= 2 then

				doPlayerSendCancel(cid, "Espere o outro usuário sair da sala")

		else

			doTeleportThing(cid, destination)

		end

	else

		doPlayerSendCancel(cid, "Este item não deve ser usado nessa porta")

	end

	return true

end

Agora funcionou'

:D

valeu brother... ajudou muito'

Gosta do meu trabalho?

Curta e siga a página do meu projeto de 2016 e 2017 (Lab Z Games) que trará vários servidores OTServs.

 

Atenciosamente,
Adriano Swatt'

 

Para ver meus tutoriais acesse meu perfil.

 

cbCyOSZ.png

Postado
  • Autor

Hmmm, sem querer ser chato..

Mas agora que pensei em uma coisa aqui.

Eu usarei várias salas uma do lado da outra, no entanto, teria como fazer com que a "ActionID" fosse na porta ou coisa assim?

Para não bugar, sakas?

Abraços

Gosta do meu trabalho?

Curta e siga a página do meu projeto de 2016 e 2017 (Lab Z Games) que trará vários servidores OTServs.

 

Atenciosamente,
Adriano Swatt'

 

Para ver meus tutoriais acesse meu perfil.

 

cbCyOSZ.png

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo