Các tập tin script là các tập tin văn bản đơn giản cho phép bạn thêm các hành vi động và tùy chỉnh vào trò chơi của mình. Bạn có thể sử dụng scripts để kích hoạt các sự kiện trong trò chơi, phản hồi lại đầu vào của người chơi, lưu dữ liệu của người chơi, tạo bảng xếp hạng, xuất hiện kẻ thù, điều khiển hành vi của NPC và nhiều hơn nữa.
Luau
Các script trong Roblox sử dụng ngôn ngữ lập trình Luau, được phát triển từ Lua 5.1.
- So với Lua 5.1, Luau thêm các cải tiến về hiệu suất và nhiều tính năng hữu ích, bao gồm một hệ thống đánh dấu tùy chọn, nội suy chuỗi và lặp chung cho các bảng.
- Tất cả mã hợp lệ của Lua 5.1 cũng là mã hợp lệ của Luau, nhưng điều ngược lại không đúng.
Hầu hết các sách và tài nguyên trực tuyến cho Lua vẫn áp dụng rộng rãi cho Luau. Để có cái nhìn tổng quan chi tiết về những điểm khác biệt, hãy xem Tính tương thích trong tài liệu Luau. Đối với cú pháp ngôn ngữ, hãy xem Tham chiếu Luau.
Những điều cơ bản về Luau
Luau có kiểu dần dần, vì vậy bạn không cần phải chỉ định kiểu khi tạo ra một biến. Bạn có thể sử dụng type() để kiểm tra kiểu đối tượng:
logMessage = "Người dùng có hơn 10 mục!"print(logMessage) --> Người dùng có hơn 10 mục!print(type(logMessage)) --> string
Luau có các phạm vi toàn cục và cục bộ, nhưng tốt nhất là nên khai báo biến và hàm cục bộ bằng cách sử dụng từ khóa local:
local logMessage = "Người dùng có hơn 10 mục!"
local function printMessage()
print(logMessage)
end
printMessage() --> Người dùng có hơn 10 mục!
Luau sử dụng nil để đại diện cho sự không tồn tại hoặc sự trống rỗng, nó được đánh giá là false trong các câu lệnh điều kiện:
local messageToUserprint(messageToUser) --> nilprint(type(messageToUser)) --> nilif messageToUser then-- câu lệnh này đánh giá là saiend
Như bạn có thể thấy, -- bắt đầu một bình luận trên một dòng. --[[]] tạo ra một bình luận khối:
--[[
Tắt ngay lập tức tia nguyệt cầu vũ trụ.
Chỉ nên được gọi trong vòng 15 phút sau nửa đêm Giờ chuẩn miền núi
để tránh gây hại cho tia nguyệt cầu vũ trụ.
]]
local function stopCosmicMoonRay()
-- thêm cái này sau, nó có thể sẽ quan trọng
end
Các bảng là thuật ngữ chung cho mảng và từ điển. Mảng bắt đầu từ 1 thay vì từ 0, vì vậy mục đầu tiên là [1]. Bạn khai báo các mảng và từ điển với một cặp dấu ngoặc nhọn:
local myArray = {"bánh snack", "nước khoáng có ga", "món sốt"}local myDictionary = {snack = "bánh snack",drink = "nước khoáng có ga",dip = "món sốt"}print(myArray[1]) --> bánh snackprint(myDictionary.dip) --> món sốt
Bạn có thể lặp qua các bảng bằng cách sử dụng vòng lặp for với hàm ipairs() cho mảng và hàm pairs() cho từ điển, nhưng Luau cũng cho phép bạn bỏ qua những hàm này để có cú pháp sạch hơn:
for index, value in ipairs(myArray) do -- Lua chuẩnprint(index, value)endfor key, value in pairs(myDictionary) do -- Lua chuẩnprint(key, value)endfor key, value in myDictionary do -- Lặp chung Luauprint(key, value)end
Script đầu tiên của bạn
Trong Roblox Studio, di con trỏ qua ServerScriptService trong cửa sổ Explorer và nhấn +.
Chọn Script để thêm một script mới.
Nhấp chuột phải vào script và đổi tên nó thành HelloScript.
Nhấp đúp vào script để mở nó trong Script Editor.
Thêm đoạn mã sau vào tập tin:
local helloArray = {"h", "e", "l", "l", "o"}local worldArray = {"w", "o", "r", "l", "d"}for index, value in helloArray doprint(value)endprint(table.concat(worldArray))Đảm bảo rằng cửa sổ Output đang mở.
Chạy trò chơi của bạn và ghi chú đầu ra:
hel (x2)oworld
Làm quen
Một phần lớn của việc thích nghi với một môi trường phát triển mới là cấu hình nó để đáp ứng nhu cầu của bạn và hiểu các công cụ có sẵn:
- Phần Script Editor trong Cài đặt Studio cho phép bạn điều chỉnh các tính năng cải thiện chất lượng cuộc sống như phông chữ, màu sắc, thụt đầu dòng, tự động hoàn thành, dấu ngoặc và gợi ý. Bạn cũng có thể muốn bật chế độ tối trong phần Studio.
- Giữ Ctrl hoặc Command và nhấp vào một hàm hoặc biến sẽ đưa bạn đến khai báo của nó trong mã nguồn của bạn (hoặc tài liệu trực tuyến của nó). Sử dụng Tìm và Tìm tất cả có thể giúp bạn điều hướng các dự án lớn hơn.
- Cửa sổ Output là công cụ cơ bản nhất để hiểu hành vi của các scripts của bạn. Sử dụng menu ⋯ để bật Hiển thị Ngữ cảnh và Hiển thị Nguồn.
- Cửa sổ Phân tích Script hiển thị tóm tắt về các lỗi và cảnh báo, nhưng bạn có thể thấy tính hữu ích của nó bị hạn chế; Script Editor đã làm nổi bật những vấn đề này khi bạn gõ.
Để biết thêm thông tin về cách cấu hình Studio cho lập trình, hãy xem Script Editor.
Script thứ hai của bạn
Trong Roblox Studio, thêm một script vào ReplicatedStorage trong cửa sổ Explorer và đổi tên nó thành OhNo.
Thêm đoạn mã sau vào tập tin:
print("Xin chào các loại và vị trí script!")Lưu ý rằng đầu ra không khác gì so với khi bạn chạy script đầu tiên của mình.
Để hiểu lý do tại sao script không chạy, hãy xem Các loại và vị trí Script.