hello, I decided to continue making the game, but unfortunately I have a lot of knowledge in the IT sphere, I don’t have a mistake here
ServerScriptService.LastEquipped:27: attempt to index nil with 'Clone' - Server - LastEquipped:27
here is the script itself
local dsService = game:GetService("DataStoreService") local ds = dsService:GetDataStore("LastEquippedShop11") game.ReplicatedStorage.GameClient.Events.RemoteEvent.PlayerLoaded.OnServerEvent:Connect(function(player) local equippedlast = Instance.new("StringValue") equippedlast.Name = "Equipped" local save = ds:GetAsync(player.UserId) if save then equippedlast.Value = save else local name for i, tool in pairs(game.ServerStorage.Tools:GetChildren()) do if tool:FindFirstChild("ItemNumber") then if tool.ItemNumber.Value == 1 then name = tool.Name end end end equippedlast.Value = name end equippedlast.Parent = player local clone = game.ServerStorage.Tools:FindFirstChild(equippedlast.Value):Clone(0) clone.Parent = player:WaitForChild("Backpack") end) game.Players.PlayerRemoving:Connect(function(player) ds:SetAsync(player.UserId, player.Equipped.Value) end)
Usually “attempt to index nil value” errors happen when something has not loaded yet (If you have your hierarchy set up correctly).
You can consider doing:
local clone = game.ServerStorage.Tools:FindFirstChild("equippedlast").Value:Clone()
EDIT:
If there was a property called "Value" in equippedlast, you can do:
local clone = game.ServerStorage.Tools:FindFirstChild("equippedlast")["Value"]:Clone()
I think you meant for this?
Ok, after looking at your image, I want to say that "Value" is uncloneable and it's a property. Consider using:
local clone = game.ServerStorage.Tools:FindFirstChild("equippedlast"):Clone()