Solved by Merely. Thanks!
Ok, so I made a script that works when a player joins the game. It works perfectly in Solo but in online mode (As in servers and online and such), the ObjectValue by the name of "load_function"'s Value property remains nil.
Here's the (server) script; I added comments to try to add description into the code for you:
local w = function(p,o) return p:WaitForChild(o) end --Just waits for a child
local load_map = w(script,"load_map") --This is a RemoteEvent. This is what the ObjectValue's Value is set to
players.PlayerAdded:connect(function(p)
print("weeeee") --Just tells me if the event fires
local nls = ls:Clone() --This just an other local script, ignore this
nls.Parent = w(p,"PlayerGui") --And this...
--The problems begin here
local main = menuGUI:Clone() --A ScreenGui containing another local script there we'll be looking at
main.Parent = w(p,"PlayerGui") --Adds the Gui to the PlayerGui
w(main,"load_function").Value = load_map --[[Here, I set the RemoteFunction as the value for the ObjectValue "load_function"
For some reason, Value IS set to the RemoteFunction in Solo Mode, but in online mode it is nil...
]]
w(main,"script").Disabled = false --Here, I enable the local script that uses the ObjectValue
end)
If you actually help or even bother to try and help, I thank you.
~coo1o

3 comments
Try getting rid of the local before the w variable maybe? Not too sure. Also, I'm assume you've already created a players variable for line 4, correct?
Is this script in ServerStorage? If so, the load_function object won't replicate.
Oh yeah, the script is in ServerScriptService but the principles are the same for both. Thanks, Merely!