Remote Event Problem For a Placer Tool

So, i was Actually Working on Placer Tool That Allows us to Spawn any Objects if we want!

i made an gui and i programmed it and i tested out, i press L on my keyboard The Gui Popped up, and i Typed Name TextBox to “Sans” and i Typed Delay TextBox to “5” For Example, and i clicked Select Button, Nothing Happens. And i Actually don’t have a clue how to fix it.

Server Script:

local Storage = game.ReplicatedStorage.PlacerStorage:GetChildren()

game.ReplicatedStorage.RemoteEvent.OnServerEvent:Connect(function(Player, Character)
	Character:FindFirstChild("Placer").Selected.Value = Storage[script.Parent.NameLabel.TextBox.Text]
	Character:FindFirstChild("Placer").PlaceDelay.Value = script.Parent.DelayLabel.TextBox.Text
	script.Parent.Parent:Destroy()
end)

Local Script:

local Storage = game.ReplicatedStorage.PlacerStorage
local Player = game.Players.LocalPlayer

local ItemStorage = Storage:GetChildren()
local Character = Player.Character or Player.CharacterAdded:Wait()
local Storage = game.ReplicatedStorage.PlacerStorage

script.Parent.TextButton.MouseButton1Click:Connect(function()
	if Storage:FindFirstChild(script.Parent.NameLabel.TextBox.Text) == nil then
		script.Parent.ErrorOutput.Text = "No Such Item Exists"
	elseif Player.Character:FindFirstChild("Placer") == nil then
		script.Parent.ErrorOutput.Text = "Please Equip The Placer Before Pressing Select Button"
	else
		local Character = Player.Character or Player.CharacterAdded:Wait()
		game.ReplicatedStorage.RemoteEvent:FireServer(Character)
	end
end)

for i=1, #ItemStorage do
	local StorageText = game.ReplicatedStorage.ViewportFrame:Clone()
	StorageText.Parent = script.Parent.StorageFrame
	StorageText.TextLabel.Text = ItemStorage[i].Name
	StorageText.Rig:Destroy()
	local item = ItemStorage[i]:Clone()
	item.Parent = StorageText
	item:PivotTo(CFrame.new(script.Parent.PositionTarget.Value.X, script.Parent.PositionTarget.Value.Y, script.Parent.PositionTarget.Value.Z))
end

Someone Please any solutions?

May not be THE issue, but this line and it’s use is an issue.
:GetChildren() returns a list of all the objects, each accessible through an index (e.g. 1, 5, 12, 19).
Trying to access them by name isn’t going to work the way you have it:

Storage[script.Parent.NameLabel.TextBox.Text]

It’s a relatively simple fix. Just change the local Storage = ... to

local Storage = game.ReplicatedStorage.PlacerStorage

To be a bit more correct, you should also use :FindFirstChild() here

 Storage[script.Parent.NameLabel.TextBox.Text]

so it would be

 Storage:FindFirstChild(script.Parent.NameLabel.TextBox.Text)

I Tested your Solution, But Still Nothing Happens