Scripting Helpers is winding down operations and is now read-only. More info→
Ad
Log in to vote
0

How do I receive more than 8 values from an OrderedData Store?

Asked by
rexhawk 222 Moderation Voter
5 years ago

Hello again!

I’ve hit another brick wall, with another thing that I know almost nothing about. I’ve been trying to make a “Database” system where an officer can enter a suspect’s name, and it will return with the suspect’s criminal record like shown here:

!download

(This one is from another game)
And I’ve gotten pretty far for my knowledge, but I’m having a major issue: It only returns 8 values.
I’ve tried asking scriptinghelpers (another developer website that helps out most of the time), but I haven’t gotten much help. Any help would be greatly appretiated!

Code:

script.Parent.MouseButton1Down:Connect(function()
    if string.len(script.Parent.Parent:WaitForChild("Search_Box").Text) >= 3  then  -- checks if it's at least three characters long, which is roblox's minimum amount
        local recordObject = game:GetService("ReplicatedStorage"):WaitForChild("getRecord"):InvokeServer(script.Parent.Parent:WaitForChild("Search_Box").Text)
        if recordObject == true  then
            script.Parent.Text = "Success"
            wait(3)
            script.Parent.Text = "Search Database"
        else
            if recordObject ~= nil then
                script.Parent.Text = recordObject
            else
                script.Parent.Text = "Undefined Error"
            end
            wait(3)
            script.Parent.Text = "Search Database"
        end
    end
end)

ServerScript:

local function getRecord(player,lookedUp)
    local success,errorMessage = pcall(function()
        local data = {}
        local recordDataStore = game:GetService("DataStoreService"):GetOrderedDataStore(lookedUp.."_RecordData")
        local dataAsync = recordDataStore:GetSortedAsync(true,100)
        local dataPages = dataAsync:GetCurrentPage()
        for i,v in  pairs (player.PlayerGui.Database.Frame.Main["Arrests/Citations"].Arrests:GetChildren()) do
            v:Destroy()
        end
        player.PlayerGui.Database.Frame.Main["Arrests/Citations"].arrestButtons.CurrentPage.Value = 1
        for i = 1, #dataPages do
            local record = dataPages[i]
            local newPage = game.ServerStorage.GUI.ArrestWrapper:Clone()
            newPage.Parent = player.PlayerGui.Database.Frame.Main["Arrests/Citations"].Arrests
            newPage.Arrests["01"].Text = record.key
            newPage.Name = "arrest_"..i
            if i ~= 1 then
                newPage.Visible = false
            end
        end
    end)
if not success then
    return errorMessage
else
    return  true
end
end 
game:GetService("ReplicatedStorage"):WaitForChild("getRecord").OnServerInvoke = getRecord

I do intend to change some things to make it foolproof, but this is only a testing version.

Roblox File: Database.rbxl (30.8 KB) (Blue button is to open the GUI, Red Button is to add an arrest under a random name)

Answer this question