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

Datastore Cannot store arrays?

Asked by 4 years ago

i have tried to make a saving system, but when testing, it says Datastore cant store arrays, but only valid UTF-8 characters. Why is this?

client:

script.Parent.MouseButton1Click:Connect(function()
            local e = {}
        local meshdat = {}
        local wedgedat = {}
        local blockdat = {}
        local cydat = {}
        local firedat = {}
        local smokedat = {}
        local pointlightdat = {}
        local spotlightdat = {}
    for i,v in pairs(game.Players.LocalPlayer.Cars.Current:GetChildren()) do
            for _,m in pairs(game.Workspace.CurrentCamera.Car.Body:GetDescendants()) do
    if m:IsA("Part") and m.Name ~= "Wedge" then
    table.insert(
        e,
        {
            ["Name"] = m.Name;
            ["Color"] = m.BrickColor.Name;
            ["Anchored"] = m.Anchored;
            ["CanCollide"] = m.CanCollide;
            ["Transparency"] = m.Transparency;
            ["Material"] = m.Material;
            ["Reflectance"] = m.Reflectance;
            ["Shape"] = m.Shape;        
["Pos"] = {
                ["X"] = m.CFrame.X;
                ["Y"] = m.CFrame.Y;
                ["Z"] = m.CFrame.Z;
                ["RX"] = m.Orientation.X;       
["RY"] = m.Orientation.Y;
["RZ"] = m.Orientation.Z;
                ["XSize"] = m.Size.X;
                ["YSize"] = m.Size.Y;
                ["ZSize"] = m.Size.Z;

}
}
    )
    end
        if m:IsA("WedgePart") then
    table.insert(
        wedgedat,
        {
            ["Name"] = m.Name;
            ["Color"] = m.BrickColor.Name;
            ["Anchored"] = m.Anchored;
            ["PartType"] = m.ClassName;
            ["CanCollide"] = m.CanCollide;
            ["Transparency"] = m.Transparency;
            ["Material"] = m.Material;
            ["Reflectance"] = m.Reflectance;        
["Pos"] = {
                ["X"] = m.CFrame.X;
                ["Y"] = m.CFrame.Y;
                ["Z"] = m.CFrame.Z;
                ["RX"] = m.Orientation.X;
["RY"] = m.Orientation.Y;
["RZ"] = m.Orientation.Z;
                ["XSize"] = m.Size.X;
                ["YSize"] = m.Size.Y;
                ["ZSize"] = m.Size.Z;

}
}
    )
    end
    if m:IsA("SpecialMesh") then
        table.insert(
            meshdat,
            {
                ["ParentPos"] = m.Parent.Position;
                ["MeshId"] = m.MeshId;
                ["Stuff"] = {
                    ["ScaleX"] = m.Scale.X;
                    ["ScaleY"] = m.Scale.Y;
                    ["ScaleZ"] = m.Scale.Z;
                    ["OffsetY"] = m.Offset.X;
                    ["OffsetY"] = m.Offset.Y;
                    ["OffsetY"] = m.Offset.Z;
                }
                }
        )
    end
        if m:IsA("BlockMesh") then
        table.insert(
            blockdat,
            {
                ["ParentPos"] = m.Parent.Position;
                ["Stuff"] = {
                    ["ScaleX"] = m.Scale.X;
                    ["ScaleY"] = m.Scale.Y;
                    ["ScaleZ"] = m.Scale.Z;
                    ["OffsetY"] = m.Offset.X;
                    ["OffsetY"] = m.Offset.Y;
                    ["OffsetY"] = m.Offset.Z;
                }
                }
        )
        end
                if m:IsA("CylinderMesh") then
        table.insert(
            cydat,
            {
                ["ParentPos"] = m.Parent.Position;
                ["Stuff"] = {
                    ["ScaleX"] = m.Scale.X;
                    ["ScaleY"] = m.Scale.Y;
                    ["ScaleZ"] = m.Scale.Z;
                    ["OffsetY"] = m.Offset.X;
                    ["OffsetY"] = m.Offset.Y;
                    ["OffsetY"] = m.Offset.Z;
                }
                }
        )
                end
                        if m:IsA("Fire") then
        table.insert(
            firedat,
            {
                ["ParentPos"] = m.Parent.Position;
                ["Stuff"] = {
                    ["Color"] = m.Color;
                    ["Heat"] = m.Heat;
                    ["Name"] = m.Name;
                    ["SecondaryColor"] = m.SecondaryColor;
                    ["Size"] = m.Size;
                }
                }
        )
                                end
                            if m:IsA("Smoke") then
        table.insert(
            smokedat,
            {
                ["ParentPos"] = m.Parent.Position;
                ["Stuff"] = {
                    ["Color"] = m.Color;
                    ["Opacity"] = m.Opacity;
                    ["Name"] = m.Name;
                    ["RiseVelocity"] = m.RiseVelocity;
                    ["Size"] = m.Size;
                }
                }
        )
                                                                end
if m:IsA("PointLight") then
        table.insert(
            pointlightdat,
            {
                ["ParentPos"] = m.Parent.Position;
                ["Stuff"] = {
                    ["Color"] = m.Color;
                    ["Range"] = m.Range;
                    ["Name"] = m.Name;
                    ["Shadows"] = m.Shadows;
                    ["Brightness"] = m.Brightness;
                }
                }
        )
end
if m:IsA("SpotLight") then
        table.insert(
            spotlightdat,
            {
                ["ParentPos"] = m.Parent.Position;
                ["Stuff"] = {
                    ["Color"] = m.Color;
                    ["Range"] = m.Range;
                    ["Name"] = m.Name;
                    ["Shadows"] = m.Shadows;
                    ["Brightness"] = m.Brightness;
                    ["Angle"] = m.Angle;
                    ["Face"] = m.Face;
                }
                }
        )
    end
        end
        game.Workspace.PaintRemotes.AddCustomPart:FireServer(v,e,meshdat,blockdat,cydat,firedat,smokedat,pointlightdat,spotlightdat,wedgedat)
        game.Workspace.PaintRemotes.SetStats:FireServer(v,game.Workspace.CurrentCamera.Car.tuning.acceleration.Value,game.Workspace.CurrentCamera.Car.tuning.brakespeed.Value,game.Workspace.CurrentCamera.Car.tuning.gear.MaxValue,game.Workspace.CurrentCamera.Car.tuning.grip.Value,game.Workspace.CurrentCamera.Car.tuning.idleaccel.Value,game.Workspace.CurrentCamera.Car.tuning.maxspeed.Value,game.Workspace.CurrentCamera.Car.tuning.steerspeed.Value,game.Workspace.CurrentCamera.Car.Seats.VehicleSeat.Sound.SoundId,game.Workspace.CurrentCamera.Car.Seats.VehicleSeat.Sound.Volume,game.Workspace.CurrentCamera.Car.Seats.VehicleSeat.Sound.idlepitch.Value,game.Workspace.CurrentCamera.Car.Seats.VehicleSeat.Sound.pitchinfluence.Value)
        game.Workspace.SaveSlot1:FireServer(v,e,meshdat,blockdat,cydat,firedat,smokedat,pointlightdat,spotlightdat,wedgedat,game.Workspace.CurrentCamera.Car.tuning.acceleration.Value,game.Workspace.CurrentCamera.Car.tuning.brakespeed.Value,game.Workspace.CurrentCamera.Car.tuning.gear.MaxValue,game.Workspace.CurrentCamera.Car.tuning.grip.Value,game.Workspace.CurrentCamera.Car.tuning.idleaccel.Value,game.Workspace.CurrentCamera.Car.tuning.maxspeed.Value,game.Workspace.CurrentCamera.Car.tuning.steerspeed.Value,game.Workspace.CurrentCamera.Car.Seats.VehicleSeat.Sound.SoundId,game.Workspace.CurrentCamera.Car.Seats.VehicleSeat.Sound.Volume,game.Workspace.CurrentCamera.Car.Seats.VehicleSeat.Sound.idlepitch.Value,game.Workspace.CurrentCamera.Car.Seats.VehicleSeat.Sound.pitchinfluence.Value)
    end
end)

server:


local datastore = game:GetService("DataStoreService") local accelstore = datastore:GetDataStore("accelstore1") local brakestore = datastore:GetDataStore("brakestore1") local gearstore = datastore:GetDataStore("gearstore1") local gripstore = datastore:GetDataStore("gripstore1") local idlestore = datastore:GetDataStore("idlestore1") local speedstore = datastore:GetDataStore("speedstore1") local steerstore = datastore:GetDataStore("steerstore1") local soundidstore = datastore:GetDataStore("soundidstore1") local volumestore = datastore:GetDataStore("volumestore1") local idlepitchstore = datastore:GetDataStore("idlepitchstore1") local pitchrevstore = datastore:GetDataStore("pitchrevstore1") local tabstore = datastore:GetDataStore("tabstore1") local meshtabstore = datastore:GetDataStore("meshtabstore1") local blokstore = datastore:GetDataStore("blokstore1") local cystore = datastore:GetDataStore("cystore1") local firstore = datastore:GetDataStore("firstore1") local smokstore = datastore:GetDataStore("smokstore1") local poinstore = datastore:GetDataStore("poinstore1") local spotstore = datastore:GetDataStore("spotstore1") local wedstore = datastore:GetDataStore("wedstore1") script.Parent.OnServerEvent:Connect(function(plr,car,tab,meshtab,blok,cy,fir,smok,poin,spot,wed,accel,brake,gear,grip,idle,speed,steer,soundid,volume,idlepitch,pitchrev) accelstore:SetAsync(plr.UserId,accel) brakestore:SetAsync(plr.UserId,brake) gearstore:SetAsync(plr.UserId,gear) gripstore:SetAsync(plr.UserId,grip) idlestore:SetAsync(plr.UserId,idle) speedstore:SetAsync(plr.UserId,speed) steerstore:SetAsync(plr.UserId,steer) soundidstore:SetAsync(plr.UserId,soundid) volumestore:SetAsync(plr.UserId,volume) idlepitchstore:SetAsync(plr.UserId,idlepitch) pitchrevstore:SetAsync(plr.UserId,pitchrev) --tables tabstore:SetAsync(plr.UserId,tab) meshtabstore:SetAsync(plr.UserId,meshtab) blokstore:SetAsync(plr.UserId,blok) cystore:SetAsync(plr.UserId,cy) firstore:SetAsync(plr.UserId,fir) smokstore:SetAsync(plr.UserId,smok) poinstore:SetAsync(plr.UserId,poin) spotstore:SetAsync(plr.UserId,spot) wedstore:SetAsync(plr.UserId,wed) print("e") end)

thanks

0
I got concussed when I see this xD Xapelize 2658 — 4y
0
Try tables BlackOrange3343 2676 — 4y

Answer this question