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

What are Bindable Functions?

I'm really puzzled by this topic. Bindable Function, I heard it once in a PeasPod video, but I really couldn't get any more information about it. I tried the ROBLOX wiki and some good scripters I know. I really don't know what it is, what's it's used for. I haven't asked a question in like 2 months. But I need this one answered, it may not help me in my future games, but the more the merrier.

Really hope I get a Good answer!

1 answer

✓ Accepted answer

BindableFunctions are objects that have methods you can use to do communication between two scripts, or two localscripts.

For example, say you have an Admin Script, and a Cleanup Script. You want your admin script to tell your Cleanup script to remove everything in the Workspace.

You would create a BindableFunction in ServerStorage named "DoCleanup"

In the Cleanup Script:

local DoCleanup = Instance.new("BindableFunction")
DoCleanup.Name = "DoCleanup"
DoCleanup.Parent = game.ServerStorage

DoCleanup.OnInvoke = function()
	print("A script told me to clean up")
	game.Workspace:ClearAllChildren()
end

In the Admin Script:

local DoCleanup= game.ServerStorage:WaitForChild("DoCleanup")
wait(10)
DoCleanup:Invoke() -- call the BindableFunction

Often with BindableFunctions you would pass in parameters and get a return value. For the sake of simplicity I left that out. For example, a use case could be that you have a PointsSystem script that manages all points, and you want to get the number of points of a particular player from a script that's in a model in Workspace. You would create a BindableFunction and call it with the player as the first argument, and the PointsSystem script would return the number of points to you.

Basically, they're useful if you have complicated systems set up with multiple server side scripts needing to communicate with each other.

You can find more information on the wiki: http://wiki.roblox.com/index.php?title=BindableFunction

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