When i try to use FireClient(player1,player2) i get the error
13:08:56.290 Players.Notatrxp.PlayerScripts.Syncer:7: attempt to index nil with ‘Name’ - Client - Syncer:7
Using FireAllClients(player1,player2) works however all players in the server see what only the player 1 and player 2 are supposed to see
This is my server script: local ReplicatedStorage = game.ReplicatedStorage
local Event1 = ReplicatedStorage.Pairing
local Event2 = ReplicatedStorage.Paired
local players = game.Players
local PairingMenu = ReplicatedStorage.PairingMenu:Clone()
local PairedAccepted = ReplicatedStorage[“Paired Accepted”]:Clone()
local function Triggered(player1,player2)
local PairingMenu2 = PairingMenu:Clone()
local Frame = PairingMenu2.Frame
local Text = Frame.TextLabel
local Yes = Frame.Yes
local No = Frame.No
PairingMenu2.Parent = player1.PlayerGui
Text.Text = “”…player2.Name…“Sent you a pair”…“”
Yes.MouseButton1Click:Connect(function()
Event1:FireClient(player1,player2)
print(player2)
PairingMenu2:Destroy()
local Paired = PairedAccepted:Clone()
Paired.Parent = player1.PlayerGui
local Paired2 = Paired:Clone()
Paired2.Parent = player2.PlayerGui
wait(0.5)
Paired2:Destroy()
Paired:Destroy()
end)
end
local function OnCharacterAdded(Character,player1)
local Prompt = Instance.new(“ProximityPrompt”)
Prompt.Parent = Character
Prompt.Triggered:Connect(function(player2)
Triggered(player1,player2)
end)
end
players.PlayerAdded:Connect(function(player)
player.CharacterAdded:Connect(function(character)
OnCharacterAdded(character,player)
end)
end)
And this is my local script:
local ReplicatedStorage = game.ReplicatedStorage
local RemoteEvent1 = ReplicatedStorage.Pairing
local RemoteEvent2 = ReplicatedStorage.Paired
RemoteEvent1.OnClientEvent:Connect(function(player1, player2)
print(player1.Name) – Capitalized “Name” property
print(player2.Name)
if player1.Character and player2.Character then
local CharacterPlr1 = player1.Character
local CharacterPlr2 = player2.Character
local Pillar1 = workspace.Pillar1
local Pillar2 = workspace.Pillar2 -- Consistent capitalization
Pillar1.BrickColor = BrickColor.new("Really red")
Pillar2.BrickColor = BrickColor.new("Really red")
end
end)
I have no idea how to fix it
You need to fire the event for each player. So you fire it for Player1 with the additional argument of Player2 being passed to the client. If you want Player2 to also receive the information, you need to fire it to Player2 also.
Event1:FireClient(player1, player2) -- remote is fired for player1, not player 2
Event1:FireClient(player2) -- this will fire to player2
Hey thanks for the tip it helped me out figuring it out, the actual issue was that in my script Event1:FireClient(player1, player2) I wasn’t aware that FireClient(ThePersonUrSending,Information) was a thing so when my local script kept reading out nil I wasn’t aware of why. The fix is just get rid of the player 2 information on my local script, Thank you for helping me out!
Hey! Next time when making a post related to a scripting problem, put it in #help-and-feedback:scripting-support. This way you can mark someone’s answer as the solution to your post.
Just adding to this, edit your post and move to that category. You might end up with a forum warning by not doing so.