The objects you sent from the client (v,z,x) are only stored in the playerGui of the player. This is why it will not replicate to other clients. Instead you can use game:GetPlayers() and itterate through it with a for loop. For each itteration, you can update the guis elements inside the player gui to whatever you want.
Also, never trust the client. When you fired the remote event you gave some text label objects. This is not a good idea because exploiters can do the same thing, but change the textlabel.text property to something offensive and other players will see it.
Instead, you can rename the remote to something specific like "PlayerFoundSomething" and just fire the remote event with no arguments. Now if the exploiter fires to the server, it is impossible for the exploiter to change the text because the exploiter nor anyone can change the name of a player object (which is the only parameter by default).
Example:
03 | local rp = game.ReplicatedStorage |
04 | local remote = rp.Claim |
05 | local player = game.Players.LocalPlayer |
07 | script.Parent.MouseButton 1 Click:Connect( function () |
09 | script.Parent.Parent.FinishOrderFrame.Visible = true |
10 | script.Parent.Parent.FinishOrderFrame.Parent = player.PlayerGui.FinishOrder |
16 | local rp = game.ReplicatedStorage |
17 | local remote = rp.Claim |
19 | remote.OnServerEvent:Connect( function (player) |
20 | local players = game.Players:GetPlayers() |
22 | for _, player in pairs (players) do |
23 | local playerGui = player.PlayerGui |
24 | local textlabel = playerGui.Gui.textLabel |
25 | texlabel.Text = "Claimed by: " .. player.Name |
I hope this helps :)