Lewati ke konten utama

Gerakan

client:setPoint(point, teleport?)

FieldType
Signature(self: Client, point: Vec2i, teleport: boolean?) → string?
Returnsstring?nil kalau gerakan kelar; kode Errors.* kalau gagal
Common errorsErrors.NOT_IN_WORLD, Errors.CANCELLED, Errors.DISCONNECTED
Asyncyes

teleport=true ngirim mP{tp:true} langsung (server bisa nolak + snap balik). Default-nya jalan A* + walk interpolasi dan blok sampai gerakan kelar.

client:setPosition(pos, teleport?)

FieldType
Signature(self: Client, pos: Vec2, teleport: boolean?) → string?
Returnsstring?nil kalau sukses
Common errorsErrors.NOT_IN_WORLD, Errors.CANCELLED, Errors.DISCONNECTED
Asyncyes

Sama kayak setPoint tapi terima koordinat dunia (sub-tile precision) bukan koordinat tile.

client:movePoint(delta)

FieldType
Signature(self: Client, delta: Vec2i) → string?
Returnsstring?nil kalau sukses
Asyncyes

client:movePosition(delta)

FieldType
Signature(self: Client, delta: Vec2) → string?
Returnsstring?nil kalau sukses
Asyncyes
local point = Vector2i.new(40, 30)
local size = Vector2.new(0.16, 0.32)

-- Teleport / set absolut
client:setPosition(point:position(size), true) -- arg ke-2 = flag teleport
client:setPoint(point, false)

-- Relatif
client:movePoint(Vector2i.new(0, 1)) -- naik satu tile
client:movePoint(Vector2i.new(1, 0)) -- kanan satu tile
client:movePosition(Vector2.new(0.16, 0)) -- kanan setengah tile
client:movePosition(Vector2.new(0, -0.01)) -- turun 1/32 tile

Pathfinding

client:getPath(point)

FieldType
Signature(self: Client, point: Vec2i) → {Vec2i}?
ReturnsTabel 1-indexed berisi titik {x, y} di sepanjang rute. Kosong kalau path nggak ketemu
Asyncyes

Hitung path tanpa jalan beneran.

client:findPath(point)

FieldType
Signature(self: Client, point: Vec2i) → string?
Returnsbooleantrue kalau task walk udah jalan, false kalau tile awal bot belum diketahui
Asyncyes

Tendang walk A*; balik instan. Polling pathfinding() sampai false.

client:pathfinding()

FieldType
Signature(self: Client) → boolean
Returnsbooleantrue selama task walk lagi jalan
Asyncno

client:clearPath()

FieldType
Signature(self: Client) → ()
Returnsnothing — abort walk yang lagi jalan
Asyncno
local ok = client:findPath(Vector2i.new(5, 3))
while ok and client:pathfinding() do
sleep(100)
end

Lokasi

client:point()

FieldType
Signature(self: Client) → Vec2i
ReturnsVec2i — tile peta sekarang
Asyncyes

client:position()

FieldType
Signature(self: Client) → Vec2
ReturnsVec2 — posisi dunia sekarang (sub-tile precision)
Asyncyes

client:navigation()

FieldType
Signature(self: Client) → string?
Returnsstring?"EXIT" di menu, nama dunia kalau in-world, nil buat state transisi / terminal
Asyncyes