Where do i place this script?

I would like to know where i place the following script:

local player = game.Players.PlayerAdded:Connect(function(player)
	local randomNumber = math.random(1, 2)
	local plot = nil
	if randomNumber == 1 then
		plot = game.Workspace.Plot1
	else
		plot = game.Workspace.Part2
	end

	player.Data.AssignedPlot = plot.Name
	player.Character.HumanoidRootPart.CFrame = plot.CFrame
	game.Workspace.Chat:SendMessage("Player " .. player.Name .. " has been assigned to plot " .. plot.Name)
end)
1 Like

All of the paths are absolute so it can technically be placed anywhere that server scripts are run, such as in the workspace or ServerScriptService.

1 Like

if i put it in serverscriptservice i get thism error
Data is not a valid member of Player “Players.dav2777” - Server - Script:14

1 Like

its because theres no any instance named “Data”, unless if you put wait(1) and put player:WaitForChild(“Data”)

1 Like

so what do i do? what do i modify

you should add a instance named “Data” like an folder or a intvalue or whatever like

game.Players.PlayerAdded:Connect(function(player)
wait(0.4)
local data = Instance.new("IntValue")
data.Name = "Data"
data.Parent = player
local data2 = Instance.new("ObjectValue")
data2.Name = "AssignedPlot"
data2.Parent = data

	local randomNumber = math.random(1, 2)
	local plot = nil
	if randomNumber == 1 then
		plot = game.Workspace.Plot1
	else
		plot = game.Workspace.Part2
	end

	player.Data.AssignedPlot = plot
	player.Character.HumanoidRootPart.CFrame = plot.CFrame
	game.Workspace.Chat:SendMessage("Player " .. player.Name .. " has been assigned to plot " .. plot.Name)
end)

Don’t put a local in

game.Players.PlayerAdded:Connect(function(player)

Since the plot is nil, it’ll always error.

local player = game.Players.PlayerAdded:Connect(function(player)
	local randomNumber = math.random(1, 2)
	local plot = nil
	
	print(plot)
	
	if plot == nil then
		script.Parent.Enabled = false
	else
		return
	end
	
	if randomNumber == 1 then
		plot = game.Workspace.Plot1
	else
		plot = game.Workspace.Part2
	end

	player.Data.AssignedPlot = plot.Name
	player.Character.HumanoidRootPart.CFrame = plot.CFrame
	game.Workspace.Chat:SendMessage("Player " .. player.Name .. " has been assigned to plot " .. plot.Name) -- PLOT IT NIL
end)

its because theres no instance named “Data” and “AssignedPlot” (sorry i dont know how to do a quote)

i updated my code, test it again

i got this error:
AssignedPlot is not a valid member of IntValue “Players.dav2777.Data” - Server - Script:18

game.Players.PlayerAdded:Connect(function(player)
wait(0.4)
local data = Instance.new("IntValue")
data.Name = "Data"
data.Parent = player
local data2 = Instance.new("ObjectValue")
data2.Name = "AssignedPlot"
data2.Parent = data

	local randomNumber = math.random(1, 2)
	local plot = nil
	if randomNumber == 1 then
		plot = game.Workspace.Plot1
	else
		plot = game.Workspace.Part2
	end

	player.Data.AssignedPlot.Value = plot
	player.Character.HumanoidRootPart.CFrame = plot.CFrame
	game.Workspace.Chat:SendMessage("Player " .. player.Name .. " has been assigned to plot " .. plot.Name)
end)

i forgot about the “Value” im the properties

the script is in serverscriptservice, i got error:

ServerScriptService.Script:19: attempt to index nil with ‘HumanoidRootPart’ - Server - Script:19

its bc it executed before even the character was parented bruh let me find a thing real quick

1 Like
game.Players.PlayerAdded:Connect(function(player)
	wait(0.4)
	player.CharacterAppearanceLoaded:Wait()
	print("start")
	local data = Instance.new("IntValue")
	data.Name = "Data"
	data.Parent = player
	local data2 = Instance.new("ObjectValue")
	data2.Name = "AssignedPlot"
	data2.Parent = data

	local randomNumber = math.random(1, 2)
	local plot = nil
	if randomNumber == 1 then
		plot = game.Workspace.Plot1
	else
		plot = game.Workspace.Plot2
	end

	player.Data.AssignedPlot.Value = plot
	player.Character.HumanoidRootPart.CFrame = plot.CFrame
	--game.Workspace.Chat:SendMessage("Player " .. player.Name .. " has been assigned to plot " .. plot.Name)
end)

uhh updated

1 Like

Now i get no errors, but nothing is happening

can u send me a video???1123121sd

1 Like
game.Players.PlayerAdded:Connect(function(player)
	wait(0.4)
	player.CharacterAppearanceLoaded:Wait()
	print("start")
	local data = Instance.new("IntValue")
	data.Name = "Data"
	data.Parent = player
	local data2 = Instance.new("ObjectValue")
	data2.Name = "AssignedPlot"
	data2.Parent = data

	local randomNumber = math.random(1, 2)
	local plot = nil
	if randomNumber == 1 then
		plot = game.Workspace.Plot1
	else
		plot = game.Workspace.Plot2
	end

	player.Data.AssignedPlot.Value = plot
	game.Workspace.Chat:SendMessage("Player " .. player.Name .. " has been assigned to plot " .. plot.Name)
	wait(0.21)
	player.Character.HumanoidRootPart.CFrame = plot.CFrame

end)

should work, tested (but i removed the chat:sendmessa on my test script)

1 Like

1 Like

bruh bro u didn’t parernt it to serverscriptservice (thats how mine worked)

what didnt i parent to serverscriptservice ?