Postado Março 13, 2012 13 anos 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 Março 13, 2012 13 anos por Lpz (veja o histórico de edições)
Postado Março 13, 2012 13 anos 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.
Postado Março 13, 2012 13 anos 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 Março 13, 2012 13 anos 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' 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.
Postado Março 13, 2012 13 anos 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.
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.