Skip to content

themusaigen/Talkie

Repository files navigation

Talkie

Talkie is a Roblox module for remote communicating. Based on Comm module from Stephen Leitnick.

Installation

Use the package manager Wally to install Talkie.

Install Wally

aftman init
aftman add UpliftGames/wally
aftman install

Create new Wally project (or use the already created)

wally init

Install Talkie

Add this line into dependencies on your wally.toml file

Talkie = "themusaigen/talkie@1.25.0"

Usage

-- Load the Talkie.
local Talkie = require(game.ReplicatedStorage.Talkie) -- In your project it might be ReplicatedStorage.Packages.Talkie
-- Or:
-- local Talkie = require(game.ReplicatedStorage.Talkie.Client) IntelliSense only for client methods
-- Create the instance of Talkie. If you required Talkie directly by your side (Client/Server), you must use `new` method.
local client =
Talkie.Client(--[[Package: ReplicatedStorage.SomeFolder/Services, etc...]] --[[, namespace: "MyService"]])
-- Or the same, but IntelliSense will show Client + Server methods
-- local client = Talkie.new(sameArgs as Above)
-- Grab the RemoteFunction from storage.
-- NOTE: On client these methods only grabs remotes, not create!
local example = client:Function("ExampleFunction")
-- Another remotes, like Event, Property, etc...
--[[ Or auto-parse method.
local remotes = client:Parse()
local example = remotes.ExampleFunction
]]
example:Listen(function(arg)
print(`Server told us: {arg}`)
end)
example:Invoke("Hello, server!")
-- Load the Talkie.
local Talkie = require(game.ReplicatedStorage.Talkie) -- In your project it might be ReplicatedStorage.Packages.Talkie
-- Or:
-- local Talkie = require(game.ReplicatedStorage.Talkie.Server) IntelliSense only for Server methods
-- Create the instance of Talkie. If you required Talkie directly by your side (Client/Server), you must use `new` method.
local server = Talkie.Server(--[[Package: ReplicatedStorage.SomeFolder/Services/etc...]] --[[, namespace: "MyService"]])
-- Or the same, but IntelliSense will show Client + Server methods
-- local server = Talkie.new(sameArgs as Above)
-- Create `ExampleFunction`.
-- NOTE: On server these methods only creates remotes, not grabs!
local example = server:Function("ExampleFunction")
-- Another remotes creation, like Event, Property, etc...
example:Listen(function(player, arg)
print(`{player.Name} told us: {arg}`)
end)
game.Players.PlayerAdded:Connect(function(player)
player.CharacterAdded:Connect(function()
example:Invoke(player, "Hello, client!")
end)
end)

For other examples see examples folder.

License

MIT, see LICENSE for detailed information.

About

Roblox remote communication module.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages