Biến toàn cục và module
Mọi thứ script dùng được mà không cần require. Thành viên viết camelCase; module gọi bằng dấu chấm (net.send), đối tượng bằng dấu hai chấm (part:tween).
Các mục chứa
| Biến | Là gì |
|---|---|
game | Game: isServer, isClient, frame, closing, và các mục chứa bên dưới |
world | World: mọi part người chơi thấy. world:raycast(origin, direction), world.streamingRadius, world.replication |
shared | ReplicationService: model và Module cả hai phía đều có |
game.ServerService, game.ClientService, game.StorageService | Các mục chứa khác |
lighting | Giờ trong ngày và ánh sáng - xem Âm thanh, ánh sáng và hiệu ứng |
teams | Các đội của game |
script | Script này; script.parent là thứ chứa nó |
game
| Thành viên | |
|---|---|
game.isServer, game.isClient | Script này đang ở phía nào |
game.frame | Event mỗi khung hình (server: mỗi bước), kèm số giây từ lần trước |
game.closing | Event (server): server sắp tắt - lưu những gì cần. Chờ tối đa 20 giây |
world
| Thành viên | |
|---|---|
world:raycast(origin, direction) | nil, hoặc {part, position, normal, distance} |
world.streamingRadius | Server: 0 gửi cả world cho mọi người chơi; một con số thì gửi dần theo khoảng cách |
world.replication | Server: chuyển động tới người chơi thường xuyên thế nào theo khoảng cách - {near = 150, mid = 400, midEvery = 3, farEvery = 12}; đặt cái nào cũng được |
players
| Thành viên | |
|---|---|
players.joined | Event: một người chơi vào |
players.left | Event: một người chơi sắp rời (vẫn đọc được thông tin) |
players.all() | Mọi người trong game |
players.fromPart(part) | Người chơi sở hữu nhân vật chứa part đó, hoặc nil |
players.me | ClientScript: người chơi của thiết bị này |
net - tin nhắn giữa server và người chơi
| Hàm | Phía | |
|---|---|---|
net.send(player, name, ...) | Script | Tới một người chơi |
net.sendAll(name, ...) | Script | Tới mọi người chơi |
net.send(name, ...) | ClientScript | Tới server |
net.on(name, fn) | Cả hai | Nhận. Trên server là fn(player, ...) |
net.call(name, ...) | ClientScript | Hỏi server và chờ trả lời |
net.handle(name, fn) | Script | Trả lời net.call: fn(player, ...) trả về câu trả lời |
Xem Server và client.
input (ClientScript)
| Thành viên | |
|---|---|
input.onKey(key, fn) | fn khi phím được bấm (không tính lúc đang gõ). Trả về connection |
input.isDown(key) | Phím có đang được giữ không |
input.began, input.ended | Event (inputObject, typing): inputObject.key, inputObject.type |
input.mouseFree | True: con trỏ hiện và tự do ở góc nhìn thứ nhất / khi khoá camera |
camera (ClientScript)
mode, transform, position, fov, target, minZoom, maxZoom, offset, firstPerson, firstPersonArms, viewportSize, ray(distance?), toScreen(position), tween(goals, time). Xem Phím, chuột và camera.
data (Script)
data.store(name) trả về một kho có get(key), set(key, value), update(key, fn), increment(key, delta?), remove(key). Mỗi lần gọi đều chờ và báo lỗi khi thất bại - dùng pcall. Xem Lưu dữ liệu.
chat (Script)
chat.send(message) - một dòng hệ thống trong chat của mọi người chơi.
physics
| Hàm | |
|---|---|
physics.collide(a, b, yes?) | Part nhóm a có va chạm với nhóm b không (bỏ trống yes là true) |
physics.collides(a, b) | Chúng có va chạm không |
tags
| Hàm | |
|---|---|
tags.get(tag) | Mọi thứ trong game có tag |
tags.each(tag, fn) | fn cho từng cái bây giờ và tới sau |
tags.added(tag), tags.removed(tag) | Event |
tags.all() | Mọi tag đang dùng |
Xem Tag và attribute.
building (cài đặt: Script trên server)
enabled, limit, reach, blockSize, loose, keepOnLeave, removeAny; event placed(player, block), removed(player?, block); count(player), blocks(player?), remove(block, shatter?). Xem Xây dựng, phá huỷ, thành tựu.
destruction (Script)
shatter(part, options?), explode(position or part, options?), detach(part), repair(part), clear(), debrisCount(), configure(settings?).
achievements (Script)
achievements.award(player, key, name?, description?) - trả true khi vừa trao.
json
json.encode(value, pretty?), json.decode(text).
Tạo đối tượng và giá trị
| Biến | |
|---|---|
new(className, parent?) | Một đối tượng mới - xem Các lớp đối tượng |
vec3(x, y, z) | Véc-tơ 3D: vec3.zero, vec3.one, vec3.up |
vec2(x, y) | Véc-tơ 2D: vec2.zero, vec2.one |
rgb(r, g, b) | Màu, 0-255; hoặc rgb("#ffaa00") |
hsv(h, s, v) | Màu theo sắc độ, độ bão hoà, độ sáng, 0-1 |
transform(...) | Vị trí và góc xoay: transform(x, y, z), transform(position), transform.lookAt(from, to), transform.angles(rx, ry, rz), transform.identity |
dim(xScale, xOffset, yScale, yOffset) | Kích thước hay vị trí UI: dim.scale(x, y), dim.px(x, y) |
Xem Kiểu giá trị.
Thời gian và luồng
| Biến | |
|---|---|
task.wait(seconds?) | Chờ (một khung hình nếu bỏ trống); trả về thời gian đã chờ |
task.spawn(fn, ...) | Chạy fn ngay, song song |
task.delay(seconds, fn, ...) | Chạy fn sau một lúc |
task.defer(fn, ...) | Chạy fn ở cuối bước này |
time() | Số giây từ khi game bắt đầu |
Luau
print, warn, require, typeof, pcall, error, assert, tostring, tonumber, ipairs, pairs, select, type, setmetatable... và các thư viện math, string, table, os, utf8, bit32, buffer, coroutine. Xem luau.org.
Tên kiểu Roblox
workspace, Instance.new, Vector3, CFrame, Color3, UDim2, TweenInfo, Enum, wait, tick, game:GetService(...) và các tên khác vẫn chạy. Xem Chuyển từ Roblox sang.