So, I'm trying to change a torso's CFrame if a value in the character equals 1. I made a separate DataStore that saves the value, and it works just fine, this CFrame thing is the only problem. I got no errors in Studio and when I checked the dev console there were still no errors.
Here's the code I used: LOCAL SCRIPT
01 | local player = game.Players.LocalPlayer |
02 |
03 | if player.JAILED.Value = = 1 then |
04 | game.ReplicatedStorage.JailedPersonEvent:FireServer() |
05 | end |
06 |
07 | player.Character.Humanoid.Died:Connect( function () |
08 | if player.JAILED.Value = = 1 then |
09 | game.ReplicatedStorage.JailedPersonEvent:FireServer() |
10 | end |
11 | end ) |
SERVER SCRIPT
1 | game.ReplicatedStorage.JailedPersonEvent.OnServerEvent:Connect( function (player) |
2 | local character = game.Workspace:WaitForChild(player.Character) |
3 |
4 | character.Torso.CFrame = CFrame.new( 1717.323 , 226.31 , - 1283.756 ) |
5 |
6 | end ) |
Any reason why???
On line 2 of your server script, you said:
local character = game.Workspace:WaitForChild(player.Character)
There's no point in saying that because if player.Character didn't load, then you are searching for nil.
Replace it with:
local character = player.Character or player.CharacterAdded:Wait()
Hope this helps :)