Ir para o conteúdo

Movimento e Teletransporte

gObjMoveGate(aIndex, gate)

Teletransporta o jogador para um move gate predefinido.

gObjMoveGate(aIndex, 27) -- Move to gate 27 (e.g., Lorencia)

gObjTeleport(aIndex, map, x, y)

Teletransporta o jogador para coordenadas exatas em um mapa.

gObjTeleport(aIndex, 0, 130, 130) -- Teleport to Lorencia (130,130)

MoveObjectTo(lpObj, map, x, y, autoStartHelper)

Move um jogador para coordenadas em um mapa, usando o sistema de gates para movimentos entre mapas. Opcionalmente inicia o sistema helper (auto-move).

MoveObjectTo(player, 0, 130, 130, false)

gObjTeleportMagicUse(aIndex, map, x, y)

Usa magia de teletransporte para mover o jogador (com animação de teletransporte).

gObjTeleportMagicUse(aIndex, 0, 130, 130)

gObjGetRandomFreeLocation(map, ox, oy, tx, ty, count)

Encontra uma localização livre aleatória no mapa próximo às coordenadas fornecidas.

  • Retorna: boolean (modifica ox, oy por referência)
local ok = gObjGetRandomFreeLocation(0, player.X, player.Y, player.X, player.Y, 10)

gObjGetTargetPos(lpObj, sx, sy)

Calcula uma posição alvo com deslocamento a partir do objeto.

  • Retorna: boolean, tx, ty (tupla)
local ok, tx, ty = gObjGetTargetPos(player, 3, 3)
if ok then
    LogAdd(LOG_BLUE, "Target pos: " .. tx .. "," .. ty)
end

gObjGetPositionTarget(lpObj)

Obtém a posição alvo de movimento atual do objeto.

gObjGetPositionTarget(monster)

gObjSetPosition(aIndex, x, y)

Define diretamente a posição do objeto (sem animação de teletransporte).

gObjSetPosition(aIndex, 130, 130)

PathFindMoveMsgSend(lpObj, x, y)

Envia uma mensagem de movimento por pathfinding para fazer o objeto andar até a posição.

PathFindMoveMsgSend(monster, 130, 140)

gObjConbertTimeGetTIckCount(secondsBlock)

Converte segundos em dias, horas, minutos, segundos.

  • Retorna: days, hours, minutes, seconds (tupla)
local d, h, m, s = gObjConbertTimeGetTIckCount(90061)
LogAdd(LOG_BLUE, d .. "d " .. h .. "h " .. m .. "m " .. s .. "s")
-- Output: "1d 1h 1m 1s"