Ghi chú phát hành
Học
Lớp công cụ
MemoryStoreSortedMap
Không Thể Tạo
Không Sao Chép

*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.


Tóm Tắt
Phương Pháp
GetRangeAsync(direction: Enum.SortDirection,count: number,exclusiveLowerBound: Variant,exclusiveUpperBound: Variant):{any}
SetAsync(key: string,value: Variant,expiration: number,sortKey: Variant):boolean
UpdateAsync(key: string,transformFunction: function,expiration: number):Tuple
Thành viên kế thừa

Tài Liệu Tham Khảo API
Phương Pháp
GetAsync
Sinh Lợi
Các khả năng: DataStore
MemoryStoreSortedMap:GetAsync(key:string):Tuple
Tham Số
key:string
Lợi Nhuận

GetRangeAsync
Sinh Lợi
Các khả năng: DataStore
MemoryStoreSortedMap:GetRangeAsync(
direction:Enum.SortDirection, count:number, exclusiveLowerBound:Variant, exclusiveUpperBound:Variant
Tham Số
count:number
exclusiveLowerBound:Variant
exclusiveUpperBound:Variant
Lợi Nhuận
Mẫu mã
Lấy khóa MemoryStore
local MemoryStoreService = game:GetService("MemoryStoreService")
local myMap = MemoryStoreService:GetSortedMap("MySortedMap")
function printAllKeys(map)
-- ranh giới dưới ban đầu là nil có nghĩa là bắt đầu từ mục đầu tiên
local exclusiveLowerBound = nil
-- vòng lặp này tiếp tục cho đến khi đạt đến cuối bản đồ
while true do
-- lấy tối đa một trăm mục bắt đầu từ ranh giới dưới hiện tại
local items = map:GetRangeAsync(Enum.SortDirection.Ascending, 100, exclusiveLowerBound)
for _, item in ipairs(items) do
print(item.key)
print(item.sortKey)
end
-- nếu lời gọi trả về ít hơn một trăm mục có nghĩa là chúng ta đã đạt đến cuối bản đồ
if #items < 100 then
break
end
-- khóa vừa lấy được cuối cùng là ranh giới dưới đặc biệt cho lần lặp tiếp theo
exclusiveLowerBound = {}
exclusiveLowerBound["key"] = items[#items].key
exclusiveLowerBound["sortKey"] = items[#items].sortKey
end
end
printAllKeys(myMap)

GetSizeAsync
Sinh Lợi
Các khả năng: DataStore
MemoryStoreSortedMap:GetSizeAsync():number
Lợi Nhuận

RemoveAsync
Sinh Lợi
Các khả năng: DataStore
MemoryStoreSortedMap:RemoveAsync(key:string):()
Tham Số
key:string
Lợi Nhuận
()

SetAsync
Sinh Lợi
Các khả năng: DataStore
MemoryStoreSortedMap:SetAsync(
key:string, value:Variant, expiration:number, sortKey:Variant
Tham Số
key:string
value:Variant
expiration:number
sortKey:Variant
Lợi Nhuận

UpdateAsync
Sinh Lợi
Các khả năng: DataStore
MemoryStoreSortedMap:UpdateAsync(
key:string, transformFunction:function, expiration:number
Tham Số
key:string
transformFunction:function
expiration:number
Lợi Nhuận
Mẫu mã
Cập nhật một Bản đồ Đã sắp xếp của MemoryStore
local MemoryStoreService = game:GetService("MemoryStoreService")
local map = MemoryStoreService:GetSortedMap("Leaderboard")
local Players = game:GetService("Players")
function updateLeaderboard(itemKey, killsToAdd, deathsToAdd)
local success, newStats, newScore = pcall(function()
return map:UpdateAsync(itemKey, function(playerStats, playerScore)
playerStats = playerStats or { kills = 0, deaths = 0 }
playerStats.kills += killsToAdd
playerStats.deaths += deathsToAdd
if playerStats then
-- `playerScore` là sortKey đang được sử dụng để sắp xếp các mục trong bản đồ
playerScore = playerStats.kills / math.max(playerStats.deaths, 1)
return playerStats, playerScore
end
return nil
end, 30)
end)
end
-- Thêm một lần giết cho tất cả người chơi
for i, player in pairs(Players:GetPlayers()) do
updateLeaderboard(player.UserId, 1, 0)
end
-- Thêm 5 lần giết và 1 lần chết cho người chơi có userId 12345
updateLeaderboard(12345, 5, 1)

©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.