Dịch vụ

*Nội dung này được dịch bằng AI (Beta) và có thể có lỗi. Để xem trang này bằng tiếng Anh, hãy nhấp vào đây.

Trong Tái sử dụng mã, bạn có thể đã chú ý đến việc thường xuyên sử dụng phương thức game:GetService(). Các dịch vụ của Roblox cho phép bạn truy cập các tính năng tích hợp của engine, như bán hàng trong trò chơi, kích hoạt chat, phát âm thanh, hoạt hình đối tượng và quản lý các phiên bản.

Thực tế, các dịch vụ là bước đầu tiên trong mô hình phát triển Roblox cơ bản và phổ biến nhất:

  1. Lấy dịch vụ.
  2. Yêu cầu các script mô-đun.
  3. Thêm các hàm cục bộ.
  4. Thêm các sự kiện kích hoạt những hàm đó.

Ví dụ, bạn có thể muốn lưu vị trí của người chơi trong thế giới khi họ rời khỏi trò chơi của bạn:


local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SaveManager = require(ReplicatedStorage:WaitForChild("SaveManager"))
-- Hàm cục bộ gọi một hàm có thể tái sử dụng trong script mô-đun.
local function saveProgress(character)
-- Lấy vị trí của nhân vật của người chơi.
local position = character:FindFirstChild("HumanoidRootPart").Position
-- Sử dụng hàm saveData trong script mô-đun, ghi vào
-- DataStoreService.
SaveManager.saveData(character, position)
end
-- Một hàm cục bộ khác gọi saveProgress() khi một nhân vật bị xóa
-- khỏi trò chơi (trong trường hợp này, khi người chơi rời đi).
local function onPlayerAdded(player)
player.CharacterRemoving:Connect(saveProgress)
end
-- Gọi onPlayerAdded khi một người chơi đầu tiên kết nối đến trò chơi.
Players.PlayerAdded:Connect(onPlayerAdded)

Một số chi tiết chính bao gồm:

  • Bởi vì bạn chỉ nên lấy một dịch vụ một lần trên mỗi script, quy ước là đặt tên biến giống như tên dịch vụ. Quy ước này cũng áp dụng cho các script mô-đun.
  • Bạn lấy dịch vụ bằng biến toàn cục game, một tham chiếu đến gốc của mô hình dữ liệu.
  • Roblox không đảm bảo thứ tự tải (và streaming phiên bản làm cho việc xác định những gì đang được tải tại bất kỳ thời điểm nào trở nên phức tạp hơn), vì vậy việc sử dụng Instance:WaitForChild() là một biện pháp an toàn quan trọng.

Thay vì so sánh thư viện tiêu chuẩn, hàm và biến toàn cục, hoặc thư viện của bên thứ ba, một phần lớn trong phát triển Roblox là xác định các dịch vụ nhiều nhất có thể giúp bạn thêm chức năng mong muốn vào trò chơi của bạn. Trong ví dụ trên, thay vì sử dụng một thư viện I/O tiêu chuẩn để ghi vào đĩa, bạn sử dụng dich vụ đám mây để lưu trữ dữ liệu.

Dịch vụ chứa

Dịch vụ chứa có thể bao gồm và ảnh hưởng đến các đối tượng khác. Các dịch vụ chứa này nằm ở gốc của mô hình dữ liệu và có thể thấy trong cửa sổ Explorer của Studio. Tập hợp lại, các dịch vụ chứa này tạo thành một cấu trúc phân cấp cho mô hình dữ liệu, vì vậy Roblox Engine có thể diễn giải và render đúng cách địa điểm của bạn. Bảng sau bao gồm một số dịch vụ chứa phổ biến.

ServiceDescription
WorkspaceChứa tất cả các đối tượng render trong thế giới 3D, như các phần và địa hình.
LightingChứa các đối tượng để thiết lập hiệu ứng ánh sáng toàn cục, như AtmosphereSky.
ReplicatedStorageReplicatedFirstChứa nội dung và logic sao chép giữa server và client.

Để xem xét thêm về mô hình dữ liệu, bạn có thể sử dụng các phương thức sau:

  • game:FindService() tìm kiếm phiên bản của dịch vụ đã chỉ định.
  • game:GetChildren() trả về một mảng tất cả các đối tượng con gốc của mô hình dữ liệu, là các dịch vụ chứa cấp cao nhất.
  • game:GetDescendants() trả về một mảng tất cả các thế hệ con của mô hình dữ liệu, bao gồm tất cả các dịch vụ chứa và các đối tượng con của chúng.

Để biết thêm thông tin về các dịch vụ chứa, hãy xem tài liệu mô hình dữ liệu.

Dịch vụ lập trình

Các dịch vụ lập trình cung cấp chức năng tiêu chuẩn trong Roblox Engine mà bạn gọi trong các script. Bảng sau bao gồm một số dịch vụ lập trình phổ biến.

ServiceDescription
TweenServiceĐược sử dụng để nội suy các thuộc tính số của các phiên bản khác từ một giá trị bắt đầu đến một giá trị kết thúc, với các tùy chọn cho hướng và kiểu easing, lặp lại và độ trễ.
MarketplaceServiceDịch vụ chịu trách nhiệm cho các giao dịch trong trò chơi, như yêu cầu người chơi mua một sản phẩm của nhà phát triển, đăng ký, thẻ, Roblox Premium, v.v.
RunServiceChứa các phương thức và sự kiện để quản lý thời gian từng khung hình, cũng như để kiểm tra ngữ cảnh (server, client, chế độ Studio) mà trò chơi đang chạy. Hữu ích cho việc chạy bất kỳ quy trình hoặc cập nhật nào trên mỗi khung hình thời gian thực.
SoundServiceKiểm soát nhiều khía cạnh toàn cầu khác nhau về cách âm thanh phát trong một trò chơi, như tỷ lệ doppler và âm thanh thể tích. Cũng có thể chứa các nhóm âm thanh để kiểm soát âm lượng và các thuộc tính hiệu ứng động của nhiều tín hiệu âm thanh cùng một lúc.
CollectionServiceQuản lý các nhóm (tập hợp) các phiên bản với các thẻ sao chép từ server đến client, giúp bạn dễ dàng hơn trong việc gán và làm việc với các nhóm đối tượng liên quan.

Dịch vụ đám mây

Roblox cũng có các dịch vụ đám mây đặc biệt để xử lý các nhiệm vụ và quy trình diễn ra trong đám mây của Roblox. Bảng sau bao gồm một số dịch vụ đám mây phổ biến.

ServiceDescription
DataStoreServiceĐể lưu trữ dữ liệu bền vững qua các phiên.
MemoryStoreServiceĐể lưu trữ dữ liệu thường xuyên và thoáng qua thay đổi nhanh chóng.
MessagingServiceĐể giao tiếp giữa nhiều server trong các phiên trực tiếp.

Các dịch vụ đám mây cũng có các API web tương ứng; chúng có thể truy cập từ các script hoặc công cụ bên ngoài. Để biết thêm thông tin, hãy xem Cloud Mở.

©2026 Roblox Corporation. Roblox, logo Roblox và Powering Imagination là các nhãn hiệu đã đăng ký và chưa đăng ký của chúng tôi tại Hoa Kỳ và các quốc gia khác.