Fellow, Guys. Hoje eu estava fazendo um mapa e colocando coisas que ja existiam ex: (Quests, Hunts e outras coisas de outros maps) Cheguei numa conclusão que identificar TP por TP era cansativo e as vezes, fazer algum tile específico e/ou quest específica demoraria mais tempo também... O que eu fiz? com a ajuda do nosso queridíssimo ChatGPT e a idéia mirabolante de organizar isso da forma mais rápida também, ele gerou este código... que para alguns pode chegar a ser inútil Mas, para mim vai otimizar muito tempo... tendo em vista que é abrangente também, caso for usar piso que teria por exemplo: "actionID & uniqueID, Reset & Reborn e outras features especificas", seria uma boa otimizar isso com uma rápida solução de "item no chão, localização e o que você precisar"... (eu não adaptei isso, mas... se precisar eu faço e testo aqui) para não bugar seria necessário: criar um novo ITEM no Item Editor com novo ID e colocar no mapa, configurando esse item especifico (possivelmente com SPRITE de TP) Então, espero que seja útil essa contribuição, pois pra mim irá ser... e quis trazer para cá. local TELEPORT_ITEMID = 10551 -- isso é o código do item que você vai usar local teleporterPairs = { { from = {x = 124, y = 74, z = 7}, to = {x = 136, y = 76, z = 7} }, -- localização a - b (teleportarão entre si) { from = {x = 131, y = 67, z = 7}, to = {x = 125, y = 81, z = 7} }, -- localização c - d (também teleportarão entre si) } local teleportMap = {} -- daqui pra baixo é para a solução funcionar local function posToKey(pos) return string.format("%d,%d,%d", pos.x, pos.y, pos.z) end local function isSamePos(a, b) return a.x b.x and a.y b.y and a.z == b.z end local function getSafeTile(fromPos, toPos) local dx = toPos.x - fromPos.x local dy = toPos.y - fromPos.y if dx ~= 0 then dx = dx / math.abs(dx) end if dy ~= 0 then dy = dy / math.abs(dy) end return { x = toPos.x + dx, y = toPos.y + dy, z = toPos.z } end local function buildTeleportMap() for _, pair in ipairs(teleporterPairs) do local fromKey = posToKey(pair.from) local toPos = pair.to teleportMap[fromKey] = toPos teleportMap[posToKey(toPos)] = pair.from end end buildTeleportMap() function onStepIn(cid, item, pos, _) if not isPlayer(cid) or item.itemid ~= TELEPORT_ITEMID then return true end local key = posToKey(pos) local targetPos = teleportMap[key] if not targetPos then doPlayerSendCancel(cid, "Esse teleport nao esta configurado.") -- aqui é a mensagem caso algum player pise e não esteja configurado a localização... return true end local safePos = getSafeTile(pos, targetPos) doTeleportThing(cid, safePos) doSendMagicEffect(safePos, CONST_ME_TELEPORT) return true end és isso guys.