I'm trying to make an equip and un-equip system for my RPG that works in FE. I've used RemoteEvents and it works when you press play in studio(of course it does) however when I press test it doesn't and the server doesn't report any errors regarding it. Here are the scripts:
Local Script
local player = game.Players.LocalPlayer
local inv = player.PlayerGui.MainGUI.Menu.Holder.Inventory:WaitForChild("Main")
function onClicked()
if script.Parent.Parent.Equipped.Value == false then
script.Parent.Parent.Parent.WeaponName.Value = script.Parent.Parent.Name
for index, name in pairs(player.Weapons.WeaponName:GetChildren()) do
name.Name = script.Parent.Parent.Name
end
for index,spot in pairs(inv:GetChildren()) do
if spot.Name == spot.Parent.WeaponName.Value then
game.ReplicatedStorage.Equip:FireServer()
spot.Equipped.Value = true
spot.TextButton.Text = "Un-equip"
for index, weapon in pairs(player.Character.Equipped:GetChildren()) do
player.PlayerGui.Combat.Weapon.Value = weapon
end
elseif spot.Name ~= spot.Parent.WeaponName.Value then
spot.Equipped.Value = false
spot.TextButton.Text = "Equip"
end
end
elseif script.Parent.Parent.Equipped.Value == true then
for index,spot in pairs(inv:GetChildren()) do
game.ReplicatedStorage.UnEquip:FireServer()
spot.Equipped.Value = false
game.Players.LocalPlayer.PlayerGui.Combat.Weapon.Value = nil
spot.TextButton.Text = "Equip"
script.Parent.Parent.Parent.WeaponName.Value = "N/A"
for index, name in pairs(player.Weapons.WeaponName:GetChildren()) do
name.Name = "N/A"
end
end
end
end
script.Parent.MouseButton1Click:connect(onClicked)
Script
game.ReplicatedStorage.Equip.OnServerEvent:Connect(function(player)
for index, weapons in pairs(player.Character.Equipped:GetChildren()) do
weapons:Destroy()
end
for index, chosen in pairs(game.ReplicatedStorage.WeaponFile:GetChildren()) do
for index, name in pairs(player.Weapons.WeaponName:GetChildren()) do
if chosen.Name == name.Name then
local Scythe = chosen.Scythe
Scythe.Parent = player.Character.Equipped
local weld = Instance.new("Weld")
weld.Part0 = player.Character.Ring
weld.Part1 = Scythe.Part
weld.Parent = Scythe.Part
end
end
end
end)

4 comments
Local script?
The button script is the local script and the RemoteEvent script is a regular script
Try to add WaitForChilds in the regular script for Characters n such
Hmm that didn't seem to work. Thanks for the suggestion though!