RemoteFunction doesnt return table "lobbies"

Refresh RemoteFunction:

local l = {} --Lobbies table
for i, v in pairs(Lobbies:GetChildren()) do --Lobbies folder in ServerStorage
	if not table.find(l,v,i) then
		table.insert(l,v)
	end
end
for i, v in pairs(l) do
	print(v.Name) --check if anything is in the table
end
return l

Refresh trigger:

refresh.MouseButton1Click:Connect(function()
	local lobbies = Refresh:InvokeServer()
	print(lobbies) -- it returns only table:randomguid
	for i, v in pairs(lobbies) do --the NOT working part of the script after return
		print(v)
		local clone = template:Clone()
		clone.Name = "Lobby"..#sf:GetChildren()
		clone.lobbytitle.Text = v.Name
		clone.Lobby.Value = v.Name
		clone.plrs.Text = #v.Players:GetChildren().."/4"
		if v.Password.Value ~= "" then
			clone.Pass.Value = v.Password.Value
		else
			Instance.new("BoolValue",clone).Name = "Passless"
		end
		clone.Parent = sf
	end
end)

shot
How do I fix this?

Thats still a Table, but in a “Simplified” form, make sure you have Log Mode Disabled within the Settings of the Output.

1 Like

what is log mode?
didnt heard about that before

There is Documentation from Roblox that should explain what Stuff on the Output is.

1 Like

Ok, thanks, but, what will Log Mode do? Like, would it fix the problem?

What the console is displaying here is the memory address of the table.
If you want it to display the table as a “tree” you have to disable log mode Log Mode. It should fix your problem.

Ok, thanks, I will respond if this helped or no.

Hello again
As you can see, its returning empty table :frowning:
shot

Local scripts don’t have access to stuff in ServerStorage. You need to either move it to ReplicatedStorage, or move/copy it before returning.

1 Like

It means that client cant read ServerStorage data what server-sided RemoteFunction returns on the client-side?

Yes because you are passing an array of instances which are not visible to the client. Instead of passing the entire instance, you can insert the name into the table.