GlobalDataStore
*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.
Một GlobalDataStore tiết lộ các hàm để lưu và tải dữ liệu cho DataStoreService .
Xem Data Stores cho một hướng dẫn chi tiết về cấu trúc dữ liệu, quản lý, xử lý lỗi, v.v.
Các cửa hàng dữ liệu đã được lưu không hỗ trợ phiên bản và metadữ, vì vậy DataStoreKeyInfo luôn luôn là nil cho các khóa trong một OrderedDataStore . Nếu bạn cần hỗ trợ phiên bản và metadữ, hãy sử dụ
Tóm Tắt
Phương Pháp
Trả lại giá trị của một chìa khóa trong một lưu trữ dữ liệu được xác định và một DataStoreKeyInfo ví dụ / trường hợp.
- IncrementAsync(key : string,delta : number,userIds : Array,options : DataStoreIncrementOptions):Variant
Tăng giá trị của một chìa khóa bằng số lượng cung cấp (cả hai phải là số lượng).
Loại bỏ chìa khóa được chỉ định trong khi giữ một phiên bản truy cập được.
Điều chỉnh giá trị của cửa hàng dữ liệu cho giá trị đã được cung chìa khóa.
Cập nhật giá trị của một chìa khóa bằng một giá trị mới từ hàm chuỗi đã định.
Thuộc Tính
Phương Pháp
GetAsync
Hàm này trả về giá trị mới nhất của chìa khóa được cung cấp và một DataStoreKeyInfo ví dụ / trường hợp. Nếu chìa khóa không tồn tại hoặc nếu phiên bản mới nhất đã được xóa, cả hai giá trị sẽ được trả lại nil .
Các chìa khóa được lưu trữ địa phương trong 4 giây sau khi đã xemlần đầu tiên. Một cuộc gọi GlobalDataStore:GetAsync() trong 4 giây này trả lại giá trị từ cơ sở dữ liệu. Sự điều chỉnh của chìa k
Để có được một phiên bản cụ thể, chẳng hạn như một phiên bản trước đó, hãy sử dụng DataStore:GetVersionAsync() .
Tham Số
Tên chính của giá trị được yêu cầu. Nếu DataStoreOptions.AllScopes được đặt để là true khi truy cập vào cửa hàng dữ liệu thông qua DataStoreService:GetDataStore(), tên chính của giá trị này phải được kết hợp với scope cũ như trong " scope/key".
Lợi Nhuận
Giá trị của hàng trong cơ sở dữ liệu với chìa khóa được cung cấp và một DataStoreKeyInfo instance bao gồm số phiên bản, ngày và thời gian mà phiên bản đã được tạo, và các chức năng để lấy lại UserIds và métadữ.
IncrementAsync
Hàm này tăng giá trị của một chìa khóa bằng số lượng cung cấp (cả hai phải là số lượng).
OrderedDataStore không hỗ trợ phiên bản, vì vậy gọi phương thức này trên một OrderedDataStore key sẽ khảy định giá trị hiện tại với giá trị tăng dần và làm cho các phiên bản trước đó bị không truy cập.
Tham Số
Tên giá trị mà giá trị này nên được cập nhật. Nếu DataStoreOptions.AllScopes được đặt thành true khi truy cập vào cửa hàng dữ liệu thông qua DataStoreService:GetDataStore(), tên giá trị này phải được kết hợp với giá trị nguyên thủy như trong " scope
Số tiền để tăng giá trị hiện tại bằng.
(Tùy chọn) DataStoreIncrementOptions instance kết hợp nhiều tham số bổ sung như một mô tả dữ liệu tùy chỉnh và cho phép tương lai khả dụng.
Lợi Nhuận
Giá trị cập nhật của hàng trong cơ sở dữ liệu với chìa khóa đã được cung cấp.
RemoveAsync
Hàm này đánh dấu các thẻ đã được xóa bằng cách tạo một phiên bản "tombstone" mới của chìa khóa. Trước đó, nó trả lại phiên bản mới nhất trước khi gọi xóa.
Sau khi một chìa khóa đã được xóa bằng cách này, GlobalDataStore:GetAsync() gọi cho chìa khóa sẽ trả lại nil . Các phiên bản cũ hơn của chìa khóa vẫn được truy cập thông qua Class.Data
OrderedDataStore không hỗ trợ bản quyền, vì vậy gọi RemoveAsync() trên một OrderedDataStore key sẽ xóa nó vĩnh viễn.
Các thống kê đã xóa sẽ bị xóa vĩnh viễn sau 30 ngày.
Nếu các giá trị trước đó đã bị xóa bằng cách GlobalDataStore:RemoveAsync() hoặc DataStore:RemoveVersionAsync() , hàm sẽ trả lại nil , 1> nil1> cho giá trị và 4> Class.DataStoreKeyInfo4> cho mỗi trường hợp.
Tham Số
Tên chìa khóa để được xóa. Nếu DataStoreOptions.AllScopes được đặt để là true khi truy cập vào cửa hàng dữ liệu thông qua DataStoreService:GetDataStore(), tên chìa khóa này phải được kết hợp với scope cũ như trong " scope/key".
Lợi Nhuận
Giá trị của cơ sở dữ liệu trước khi xóa và một DataStoreKeyInfo instance bao gồm số phiên bản, ngày và thời gian mà phiên bản đã được tạo, và các chức năng để lấy lại UserIds và métadữ liệu.
SetAsync
Hàm này đặt giá trị mới nhất, UserIds , và metadữ cho các thông chìa khóađã được cung cấp.
Giá trị trong các cửa hàng dữ liệu được phiên bản, có nghĩa là GlobalDataStore:SetAsync() sẽ tạo ra một phiên bản mới mỗi khi nó được gọi. Các phiên bản trước đó có thể được truy cập thông qua Class.DataStore
OrderedDataStore không hỗ trợ phiên bản, vì vậy gọi phương thức này trên một OrderedDataStore key sẽ khải tạo giá trị hiện tại và làm cho các phiên bản trước đó bị mất truy cập.
Các định nghĩa metadữu phải luôn được cập nhật với một giá trị, ngay cả khi không có sự thay đổi đến giá trị hiện tại; nếu không, giá trị hiện tại sẽ bị mất.
Bất kỳ chuỗi được lưu trong một cơ sở dữ liệu phải là hợp lệ UTF-8 . Trong UTF-8, các giá trị lớn hơn 127 được sử dụng chủ yếu để mã hóa các điểm dữ liệu nhiều bản, vì vậy một
Cài đặt vs. Cập nhật
GlobalDataStore:SetAsync() là lựa chọn tốt nhất cho một cập nhật nhanh của một chìa khóa cụ thể, và nó chỉ đếm đối với giới hạn viết. Tuy nhiên, n
Tham Số
Tên giá trị mà giá trị này nên được cài đặt. Nếu DataStoreOptions.AllScopes được đặt thành true khi truy cập vào cửa hàng dữ liệu thông qua DataStoreService:GetDataStore(), tên giá trị này phải được kết hợp với phạm vi gốc như trong " scope/key".
Giá trị mà chìa khóa lưu trữ dữ liệu sẽ được đặt.
Bảng của UserIds, được khuyến nghị mạnh mẽ để giúp đỡ với công bố/xóa dữ liệu GDPR.
(Tùy chọn) DataStoreSetOptions instance that allows for metadata specification on the chìa khóa.
Lợi Nhuận
Nhận dạng phiên bản mới tạo. Nó có thể được sử dụng để lấy thông tin chìa khóa bằng cách sử dụng GetVersionAsync() hoặc để loại bỏ nó bằng cách sử dụng RemoveVersionAsync() .
UpdateAsync
Hàm này lấy giá trị và metadữ của một chìa khóa từ cửa hàng dữ liệu và cập nhật nó với giá trị mới được xác định bởi chức năng gọi được qua tham số thứ hai. Nếu chức năng gọi trả lại nil, thì hoạt động viết được huỷ và giá trị được giữ nguy
Nếu cuộc nhập nhật thành công, một bản mới của giá trị sẽ được tạo và các bản mới hơn sẽ vẫn được truy cập thông qua DataStore:ListVersionsAsync() và DataStore:GetVersionAsync() .
OrderedDataStore không hỗ trợ phiên bản, vì vậy gọi chức năng này trên một OrderedDataStore key sẽ khải tạo giá trị hiện tại và làm cho các phiên bản trước đó bị mất truy cập.
Trong các trường hợp khi một máy chủ trò chơi khác cập nhật chìa khóa trong thời gian ngắn giữa việc lấy lại giá trị chìa khóa hiện tại và cài đặt giá trị chìa khóa, Class.Global
Bất kỳ chuỗi được lưu trong một cơ sở dữ liệu phải là hợp lệ UTF-8 . Trong UTF-8, các giá trị lớn hơn 127 được sử dụng chủ yếu để mã hóa các điểm dữ liệu nhiều bản, vì vậy một
Cài đặt vs. Cập nhật
GlobalDataStore:SetAsync() là lựa chọn tốt nhất cho một cập nhật nhanh của một chìa khóa cụ thể, và nó chỉ đếm đối với giới hạn viết. Tuy nhiên, n
Hàm Callback
Hàm gọi xảy ra hai引数:
- Giá trị hiện tại của chìa khóa trước khi cập nhật.
- DataStoreKeyInfo instância chứa thông tin phiên bản mới nhất (điều này có thể được bỏ qua nếu không sử dụng métadữ).
Tương tự như vậy, hàm gọi thứ hồi trả lại tối đa ba giá trị:
- Giá trị mới để đặt cho chìa khóa.
- Một dàn bộ UserIds để kết hợp với chìa khóa. DataStoreKeyInfo:GetUserIds() nên được trả lại trừ khi các ID hiện tại không được thay đổi; nếu không, tất cả các ID hiện tại sẽ bị xóa.
- Một bảng Lua chứa các thông số dữ liệu để kết hợp với chìa khóa. DataStoreKeyInfo:GetMetadata() nên được trả lại trừ khi những thông số dữ liệu hiện tại đang được thay đổi; nếu không, tất cả các thông số dữ liệu hiện tại sẽ bị xóa.
Nếu hàm chuỗi trả về nil thay vào đó, máy chủ hiện tại sẽ ngừng cố gắng cập nhật chìa khóa.
Hàm gọi không thể tạo ra, vì vậy đừng bao gồm các gọi như Library.task.wait() .
Tham Số
Tên giá trị mà giá trị này nên được cập nhật. Nếu DataStoreOptions.AllScopes được đặt thành true khi truy cập vào cửa hàng dữ liệu thông qua DataStoreService:GetDataStore(), tên giá trị này phải được kết hợp với giá trị nguyên thủy như trong " scope
Chuyển hành động nhận giá trị hiện tại và DataStoreKeyInfo làm các tham số và trả lại giá trị mới cùng với các tham số tùy chọn UserIds và métadữ liệu.
Lợi Nhuận
Giá trị đã cập nhật của hàng trong cơ sở dữ liệu với chìa khóa đã được cung cấp và một DataStoreKeyInfo instance bao gồm số phiên bản, ngày và thời gian mà phiên bản đã được tạo, và các chức năng để lấy lại Class.Player.UserId|UserIds