adiciona essas 3 funções na sua lib:
-- 14º
function getFloorsBetweenPos(fromPos, toPos)
return math.abs(fromPos.z - toPos.z)
end
-- 15º
function getLowestFloor(fromPos, toPos)
return fromPos.z > toPos.z and toPos.z or fromPos.z
end
-- 16º
function getAllPlayersInArea(fromPos, toPos)
local players = {}
local andares = getFloorsBetweenPos(fromPos, toPos)
for index, creature in ipairs(getPlayersOnline()) do
local z = getLowestFloor(fromPos, toPos)
local frompos = {x = fromPos.x, y = fromPos.y, z = fromPos.z}
local topos = {x = toPos.x, y = toPos.y, z = toPos.z}
for i = 0, andares do
z = z or 0
frompos.z = z + i
topos.z = z + i
if isInArea(getThingPos(creature), frompos, topos) then
table.insert(players, creature)
end
end
end
return players
end
Agora vc vai fazer o seguinte, chamar essa função getAllPlayersInArea(posicao1, posicao2) e aí ele vai pegar todos os players entre a area da posicao 1 e posicao 2.
Só que vc vai colocar o valor dessa função numa variavel:
local totalplayers = getAllPlayersInArea(posicao1, posicao2)
Feito isso você vai ter uma lista de todos os players que estão nessa area. Agora tudo que você precisa fazer é verificar se a condição de ter somente 1 player é verdadeira e teleportar ele caso seja:
if #totalplayers == 1 then doTeleportThing(totalplayers[1], posicaofinal) end
EDIT: não vi que era pra 1.2, foi mal, mas é só adaptar as funções que mudaram de nome que vai dar certo.





info
Grupo: Marquês
Registrado: 03/02/13
Posts: 1.2k
Reputação: +254
Gênero: Masculino
Char no Tibia: Partiu Baladinha
Olá.
Alguém poderia me fazer uma função ou se já existe adaptar pra mim pra que ela:
cheque se tem players na área(só pode ter 1)
se tiver, ela retorna: Já tem jogador lá.
se não, ela teleporta ele pra uma área definida.