:EquipTool() not working when the tool is in ServerStorage

The title basically explains it all. No need to show my code.
Also this was used with the FE Gun Kit. Does that break it?

Are you sure that you are using Humanoid:EquipTool()?

Are you using that function in a Script?

No. I just put a script as “Humanoid:EquipTool(ServerStorage.Gun)”

Is that a Script or a LocalScript?

Could you show me the script’s Parent?

Could you show me the entire script?

Too lazy to format but here you go:
image

Could you show me the explorer tab?

image

So some things here that should be fixed before I talk about the equip problem. Don’t add a wait() at the beginning of scripts, if you have to, that is a sign of bad script structure. Also don’t do script.Parent to get the character. It is unreliable and bad practice. Get the local player and do Player.Character.

As for equipping, you can just parent the tool to the character. It will equip it automatically.

As said before this is not a local script…

How is it bad practice if the script is literally inside the character… ? Plus, its a server script, local player wont work.

1 Like

And equipping it via that will break the guns. Why? I have no idea…

I’m assuming it has a handle since it’s a gun.

But, have you tried moving it to the workspace then using EquipTool?

Just a hunch. May not solve hte problem but worth a shot!

1 Like

Try this maybe?

wait()
local ServerStorage = game:GetService("ServerStorage")
local Item = ServerStorage:WaitForChild("Gun")

local Humanoid = script.Parent:WaitForChild("Humanoid")

local Gun = Item:Clone()
Gun.Enabled = true
Gun.Parent = workspace

Humanoid:EquipTool(Gun)
1 Like

You’re correct, that does solve the problem!
But I’m afraid of an exploiter going to that point in workspace.

Also, try doing tool.Enabled before you do EquipTool()

Change the parent after the gun is equipped

How would an exploiter get that though? I mean it’s a Server-Sided script, I don’t believe they’ll be able to see the changes when they first spawn in?