Scripting HelpersARCHIVE
A little piece of Roblox history. Preserved for everyone, one question at a time.Read about the archive →
COMMUNITY QUESTION

Why does this work on studio but not on server?

y = 1
x = game.ServerStorage["Baton"]:Clone(); 
game:GetService("UserInputService").InputBegan:connect(function(inputObject, gameProcessedEvent)
    if inputObject.KeyCode == Enum.KeyCode.E then 
		if y == 1 then
        game.Players.Player1.Character.Humanoid:EquipTool(x);
		y = 2
		elseif y == 2 then
		game.Players.Player1.Character.Humanoid:UnequipTools();
		y = 1
		end
    end 
end)
w = game.ServerStorage["BillyClubRiotShield"]:Clone(); 
game:GetService("UserInputService").InputBegan:connect(function(inputObject, gameProcessedEvent)
    if inputObject.KeyCode == Enum.KeyCode.Q then 
		if y == 1 then
        game.Players.Player1.Character.Humanoid:EquipTool(w);
		y = 2
		elseif y == 2 then
		game.Players.Player1.Character.Humanoid:UnequipTools();
		y = 1
		end
    end 
end)

4 comments

0

First off, you're using Player1, unless your name is Player1 it will not work. Secondly, make sure this is in a LocalScript as you are using UserInputService.

0

ahh

0

how do i get my player?

0

player = game.Players.LocalPlayer

1 answer

You are trying to access game.ServerStorage["Baton"] from the client. Clients do not have access to ServerStorage online. If you intend to have clients accessing an object, store it in ReplicatedStorage so it can be accessed.

This discussion is preserved as it was. New answers, comments, and votes are closed.