Crafting Script Deletes 2 Items

Oh ok oof, no not because that , its trying to set locked parent

Sorry can you explain what that means? and also could we see your crafting script too I think it its self is the main problem.

Im not sure what that means myself but I did put the script, scroll to the post itself i put it under server script in serverscriptservice

game.Players.LocalPlayer.Inventory:FindFirstChild("Part"):Destroy()

So I see the inventory also has a copy when you make the axe how many are lost from the inventory?

what do you mean lost from the inventory?

I mean taken away or removed it says it destroys them during crafting so i mean how many are destroyed.

when you craft, it destroyes 1 of the item

Are you 100 percent sure and can you check? Like what if there is a bug in that part of the script too

yeah I am sure, and I checked,

Can you also check after you craft > drop an item (craft then drop item if that wasn`t clear).

Yeah I did that, the one I drop just dissapears

So in your inventory folder also losses a item not the gui the folder right?

idk just nvm this anymore, Ill just rewrite the code , its unfixable it doesnt say where the warning coming from

open output in studio and u can see where the warning is comming from

My potato laptop crashes when I test in studio

He`s already done that but maybe a quick fix can work for this?

Ok i do have a quick fix for this i have a script i was recently working on:

for i,v in pairs(script.Parent:GetChildren()) do
wait()
if v:FindFirstChild("Drop") then
	v.Drop.MouseButton1Click:Connect(function()

		local Part = v.Stats.Item.Value
		local NewPart = workspace.Parent.ReplicatedStorage.DropItems[Part]:Clone()
		local Player = script.Parent.Parent.Parent.Parent
		local character = Player.Character
		local Yax = character.PrimaryPart.Position.Y
		
		NewPart.Parent = workspace
		NewPart.PrimaryPart.CFrame = CFrame.new(NewPart.PrimaryPart.Position, character.PrimaryPart.Position)
		NewPart.PrimaryPart.CFrame = character.PrimaryPart.CFrame:ToWorldSpace(CFrame.new(0,0,-5))

		Player.Inventory[Part].Value = Player.Inventory[Part].Value - 1
	end)
end

end

if you just remove drop in line 3 with frame or remove it entirely then change things like “Part = v.Stats.Item.Value” to another way of identifying item type like text is guess? after this where it states what “NewPart” is you change this to Player.Inventory[Part].

This is a cheep fix for my cheep script i think you should try this FOR NOW it dosnt see like a good idea permanently.

okay thanks but where do I put it?

Put it in the parent of the gui buttons (Item frame?) that drop the item but remember to remove line 3 and add in its place

if v.Name ~= “UIGridLayOut” then

also change part (Your gonna need to figuer out how to define it part needs to be the exact name of the part/item.

define player

and also add if Part:IsA(“Model”) then and if else as you can see this was made to deal with only models.

there is a few things to do so if you have any more problems just ask.