I'm making two games, one on my own, and one with my friend. I've paused working on like 11 things now because they require remote events and I don't know how to use them. Please just gimme an example on how they work, bc I've tried like 30 tutorials and they all follow what happens when you try to perform an action on a localscript, and not when you want to do something like (Triggering a prompt in the workspace, then giving an item to a player). I'm begging anyone at this point.
Please tell me how to use remote events I really need them(?)
3 answers
A RemoteEvent is designed to provide a one-way message between the server and clients, allowing Scripts to call code in LocalScripts and vice-versa. This message can be directed from one client to the server, from the server to a particular client, or from the server to all clients.
1 comment
Thank you, I know what they're used for and what they do, but I don't know how to make them transfer a script function, like let's say a proximity prompt in the workspace, to play an animation when triggered, or when something is destroyed in the workspace, give the player who destroyed it an item.
Take your comment as an example, to “give the player who destroyed it an item”.
--local script
workspace.PartToDestroy.ClickDetector.MouseClick:Connect(function() --placeholder event, it can be whatever you need for your gameplay to destroy a part
game.ReplicatedStorage.RemoteEvent:FireServer(workspace.PartToDestroy.Name)
end)
After the player does something to destroy a part, it fires a RemoteEvent to tell the server a part needs to be destroyed, along with some values: the player (you don’t need to put this in the brackets, this sends by default and cannot be removed), and whatever you pass along in the brackets. In this case it would be the name of the part we are destroying.
--sever script
game.ReplicatedStorage.RemoteEvent.OnServerEvent:Connect(function(player, partName)
workspace[partName]:Destroy()
script.WhateverItem:Clone().Parent = player.Backpack
end)
After the server recieves the RemoteEvent being fired, it destroys the part and clones a tool to put into the player’s backpack.
Hello Buddy,
Don't Know what remote Events do?. No problem there are many resources to learn this from. I will give some personal Examples and Explanations too. Lets get Started
What Are Remote Events?
Remote Events Are used when the Client has to communicate to Server or the Server has to Communicate with Client(s). for example we set up a Currency System, so we will use remote Events to send the server a request and the server will check if we have the desired amount of money, if the player has the money than it will give the tool by a remote Event
Tip: Best place to put remote Events are, is Replicated Storage
Send Message(s) from Client to Server
Roblox by default Sets it so when you are in a local Script you can only fire Events to server.
First of all, Define the Remote Event in your Script
local script Example
local Event = game.ReplicatedStorage.RemoteEvent <---
You can Send Data to the Server or you can just Call the function. Another part of Remote Functions is Sending Data. you can Start or Activate the Event by doing :FireServer() if used in a local Script
Firing Event Example
local Event = game.ReplicatedStorage.RemoteEvent
Event:FireServer() <---
Sending Data through Remote Events is simple. Just create your Own Parameters.
Sending Data
local Text = "Hello World" <---
local Event = game.ReplicatedStorage.RemoteEvent
Event:FireServer( Text ) <---
^1st Parameter
Always remember your parameter, Name doesn't Matter you just have to keep in mind whether if its first Parameter or second. In my case Text is the first Variable. if you need To add more data, Just Separate the Parameters using "," (Comma).
Sending Extra Data
local Text = "Hello World" <---
local Bool = true <---
local Event = game.ReplicatedStorage.RemoteEvent
Event:FireServer( Text , Bool ) <---
^1st ^2nd
Receive Data from Server Sent from a Client
This may get more confusing!, but with practice you can learn very quickly and even master this part of script.
First of All Define the Event
Server Sided Script Example
local Event = game.ReplicatedStorage.RemoteEvent
To receive the :FireServer() event we did on the client sided (Local Script), we will connect a function to .OnServerEvent to a function(Parameters Will Be here)
Code Example, Server Sided Script
local Event = game.ReplicatedStorage.RemoteEvent
Event.OnServerEvent:Connect(function()
-- Script will be here
end)
To get the remaining Parameters we will do something like below BUT always remember that the first Parameter we received will be the Player who Fired the event. If u don't need the Player you can just define the parameter and not use it, but for scripters it will be useful later.
Code Example, Receiving Data Server-sided
local Event = game.ReplicatedStorage.RemoteEvent
Event.OnServerEvent:Connect(function(Player, text, bool)
print(text) ^ ^1st ^2nd
print(bool) |
end) [ Always Define Player because Roblox on default sets first Parameter to Player]
Sending Messages to Client(s)
Slightly Different from Client sided Remote Event. The server Has the power to fire the Event to a client or to All clients
it is very simple to Send a message to a client.
First Define the Event
local Event = game.ReplicatedStorage.RemoteEvent <---
Fire the Event like below and send addition Data like we did in local script in the "Send Message(s) from Client to Server" Topic above,
Code Example, Sending Message to A client
local Event = game.ReplicatedStorage.RemoteEvent
local text = "Hello" <---
local Player = "AbettrWesley"
Event:FireClient(Player ,text) <---
^1st Parameter
We can send Additional Data after the Player Parameter, Don't forget to define Player or else the script wont work
Code Example,
local Event = game.ReplicatedStorage.RemoteEvent
local Message = "Hello!"
Event:FireClient( Message )
^1st Parameter
Now we can send Messages to Client lets now receive the message through local script. it is possible through .OnClientEvent
Code Example, Receiving server message
local Event = game.ReplicatedStorage.RemoteEvent
Event.OnClientEvent:Connect(function(,Message) <---
print(Message) ^1st Parameter
end)
Sending Message to all clients is Easy. Message will be received to every client in game and will not need the Player Parameter when Receiving Data!. to fire all clients do :FireAllClients()
First of All define the Event
Code Example, Sending Message to All Clients
local Event = game.ReplicatedStorage.RemoteEvent
local Message = "Hello!"
Event:FireAllClients(Message) <---
Receiving from :FireAllClients() in local script can be done by the script below. Does not need the Player Parameter.
Code Example, Receiving server message
local Event = game.ReplicatedStorage.RemoteEvent
Event.OnClientEvents:Connect(function(message)
print(message) ^1st Parameter
end
I Hope This Helped Else there are some Resources Below
Remote functions and Events - By Roblox
Please UpVote because it took me 2.5 HOURS to write this
This discussion is preserved as it was. New answers, comments, and votes are closed.

3 comments
I don't want to be that kind of person, but I think you should've checked Roblox's developer hub for something like this https://developer.roblox.com/en-us/articles/Remote-Functions-and-Events
For ex, you can detect when the player triggers a prompt, then fireserver with all the arguments (player, tool/s to give,) then doing it in a server.
Yes. I know how they work, but I don't know the code to make it work.