#I am making a plates of fate type game but cannot figure out how to only give each player one plate

1 messages · Page 1 of 1 (latest)

devout sand
#

I just started scripting so my code is most likely bad also because I used forums for the grid system and I do not know anything about that yet.
But anyways all 9 plates are being assigned my name when I should only have one plate.

Here is my script

local players = nil
local spacing = 30

local function createplatforms()
for x = 1,100,5 + spacing do
for z = 1,100,5 + spacing do
for _,player in ipairs(game.Players:GetPlayers()) do
local Cframe = CFrame.new(Vector3.new(x,0,z))
local Gridmodel = game.ReplicatedStorage.Objects.Plates.NormalPlate:Clone()
Gridmodel.Name = player.Name

            Gridmodel:SetPrimaryPartCFrame(Cframe)
            Gridmodel.Parent = workspace.Plates
        end

    end
end

end

wait(10)
createplatforms()
players = game:GetService("Players"):GetPlayers()
for _,player in ipairs(game.Players:GetPlayers()) do
local hrp = player.Character:WaitForChild("HumanoidRootPart")
local plate = workspace.Plates:WaitForChild(player.Name)
hrp.CFrame = plate.Spawn.CFrame
end

vital linden
# devout sand I just started scripting so my code is most likely bad also because I used forum...

local spacing = 30
local gridSize = 5

local function createplatforms()
local players = game:GetService("Players"):GetPlayers()

for i, player in ipairs(players) do
    local x = (i - 1) * (gridSize + spacing)
    local z = 0
    local cframe = CFrame.new(Vector3.new(x, 0, z))

    local plate = game.ReplicatedStorage.Objects.Plates.NormalPlate:Clone()
    plate.Name = player.Name
    plate:SetPrimaryPartCFrame(cframe)
    plate.Parent = workspace:WaitForChild("Plates")
end

end

-- Wait for players to load in
task.wait(10)
createplatforms()

-- Move players to their plates
for _, player in ipairs(game.Players:GetPlayers()) do
local hrp = player.Character and player.Character:WaitForChild("HumanoidRootPart")
local plate = workspace.Plates:WaitForChild(player.Name)
if hrp and plate:FindFirstChild("Spawn") then
hrp.CFrame = plate.Spawn.CFrame + Vector3.new(0, 3, 0) -- Offset to avoid spawn glitches
end
end

#

Instead of looping over the grid and then assigning each player, just loop through the players and give each one grid position.

devout sand
#

oh wow thanks

weary tree
#

🙏

vital linden
#

No problem