LOCAL SCRIPT
1 | function onTouch() |
2 | local player = game.Players.LocalPlayer |
3 | local cashMultiplyer = script.CashMultiplyer.Value |
4 | game.ReplicatedStorage.Delivered:FireServer(player, cashMultiplyer) |
5 | end |
6 | game.Workspace.Brick.Touched:connect(onTouch) |
SERVER SCRIPT
1 | game.Players.PlayerAdded:Connect( function (player) |
2 | game.ReplicatedStorage.Delivered.OnServerEvent:Connect( function (player, cashMultiplyer) |
3 | print (cashMultiplyer.Name) |
4 | print (cashMultiplyer) |
5 | end ) |
6 | end ) |
The server script prints my username instead of script.CashMultiplyer.Name
LocalScripts will pass LocalPlayer to whatever function is on the receiving end when calling the :FireServer() function. Which means you do not need to create a variable and add it as an argument as it's basically done for you. Fixed scripts:
LocalScript
1 | function onTouch() |
2 | local cashMultiplyer = script.CashMultiplyer.Value |
3 | game.ReplicatedStorage.Delivered:FireServer(cashMultiplyer) |
4 | end |
5 | game.Workspace.Brick.Touched:connect(onTouch) |
ServerScript
1 | game.ReplicatedStorage.Delivered.OnServerEvent:Connect( function (player, cashMultiplyer) |
2 | print (cashMultiplyer.Name) |
3 | print (cashMultiplyer) |
4 | end ) |