CreateSignal (Function): Difference between revisions

From Legacy Roblox Wiki
Jump to navigationJump to search
>XLEGOx
Created page with "<onlyinclude>{{Function |name = CreateSignal |arguments = table none |returns = string <var>Signal object</var> |description = Returns a Signal object whi..."
m Text replacement - "<SyntaxHighlight code="lua">" to "<syntaxhighlight lang="lua">"
 
(40 intermediate revisions by 3 users not shown)
Line 1: Line 1:
<onlyinclude>{{Function
<onlyinclude>{{Function
|name        = CreateSignal
|name        = CreateSignal
|arguments  = [[table]] none
|returns    = [[RbxUtility (Library)/LuaSignal|LuaSignal]]
|returns    = [[string]] <var>Signal object</var>
|description = Returns a LuaSignal object which acts much like the real [[RBXScriptSignal]] objects, which ROBLOX events use, only implemented in-Lua for full control from within scripts.
|description = Returns a Signal object which acts much like the Signal objects which events use.
}}
}}


{{clear floats}}
{{clear floats}}
</onlyinclude>
</onlyinclude>
== Description ==
This function is used to create "custom events" for use in user-code, that act mostly like normal Roblox events. For example:
<syntaxhighlight lang="lua">
local lib = assert(LoadLibrary('RbxUtility'))
local sig = lib.CreateSignal()
--
sig:connect(function(message)
    print("Message: "..tostring(message))
end)
--
sig:fire("Hello, World!") --> Makes the event fire, so that all the handlers are called
</syntaxhighlight>
Note that the LuaSignal class also supports all of the other properties of events, such as wait:
<syntaxhighlight lang="lua">
Spawn(function()
    local result = sig:wait()
    print("Result: "..tostring(result))
end)
sig:fire("Continue Message") --> Makes any waiting code continue, as well as firing connected functions
</syntaxhighlight>
==See Also==
*[[RbxUtility (Library)|RbxUtility]]
[[Category:Functions]]
[[Category:Functions]]

Latest revision as of 06:19, 27 April 2023

CreateSignal( )
Returns LuaSignal
Description: Returns a LuaSignal object which acts much like the real RBXScriptSignal objects, which ROBLOX events use, only implemented in-Lua for full control from within scripts.


Description

This function is used to create "custom events" for use in user-code, that act mostly like normal Roblox events. For example:

local lib = assert(LoadLibrary('RbxUtility'))
local sig = lib.CreateSignal()
--
sig:connect(function(message)
    print("Message: "..tostring(message))
end)
--
sig:fire("Hello, World!") --> Makes the event fire, so that all the handlers are called

Note that the LuaSignal class also supports all of the other properties of events, such as wait:

Spawn(function()
    local result = sig:wait()
    print("Result: "..tostring(result))
end)
sig:fire("Continue Message") --> Makes any waiting code continue, as well as firing connected functions

See Also