--script
script.Parent.Touched:Connect(function(hit)
game.ReplicatedStorage.Battery:FireClient(hit.Parent.Name)
end)
--localscript
game.ReplicatedStorage.Battery.OnClientEvent:Connect(function(hit)
hit.Backpack.Battery.Value = true
print(hit.Name.."Has Picked Up Battery")
end)
nothing, nothing at all doesnt print or change the value

3 comments
You need a client for the server to fire to. The server can't fire a RemoteEvent to a string.
oh sorry i forgot to copy my updated code that is my old my new has :FireClient(game.Players:GetPlayerFromCharacter(hit)) on line 3
hit.Parent is what you should do.