if i try to play test this script with two people inside of roblox studio it only works for one person, like only Player1 is able to fly. Its inside of starterplayerscripts, also im using the ZonePlus module by foreverHD incase im just doing something wrong for that
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Players = game:GetService("Players")
local ZoneModule = require(ReplicatedStorage.Modules:WaitForChild("Zone"))
local FlyModule = require(ReplicatedStorage.Modules:WaitForChild("FlyModule"))
local player = game:GetService("Players").LocalPlayer
local function waitForPlayerGarden(player)
local gardensFolder = workspace:WaitForChild("PlayerGardens")
local gardenName = player.Name.."_Garden"
local timeout = 10
local timer = 0
while not gardensFolder:FindFirstChild(gardenName) and timer < timeout do
warn("Waiting for "..player.Name.."'s garden")
task.wait(0.1)
timer += 0.1
end
return gardensFolder:FindFirstChild(gardenName)
end
local function setupZones(playerGarden)
local gardenName = player.Name .. "_Garden"
local gardensFolder = game.Workspace:WaitForChild("PlayerGardens")
playerGarden:WaitForChild("Zone"):SetAttribute("Owner", player.Name)
local playerGui = player:WaitForChild("PlayerGui")
local screenGui = playerGui:WaitForChild("ScreenGui")
local zoneFrame = screenGui:WaitForChild("ZoneFrame")
local zoneLabel = zoneFrame:WaitForChild("ZoneLabel")
if playerGarden then
for _, container in pairs(playerGarden:GetChildren()) do
if container:IsA("Folder") and container.Name == "Zone" and container:GetAttribute("Owner") == player.Name then
local spacePart = container:FindFirstChild("Space")
local Zone = ZoneModule.new(container)
print(gardenName.." has been initialized")
if spacePart then
print("SpacePart found for "..gardenName)
Zone.playerEntered:Connect(function()
print("Player entered:", spacePart.Name)
FlyModule:Enable(player)
end)
Zone.playerExited:Connect(function()
print("Player left:", spacePart.Name)
FlyModule:Disable(player)
end)
else
warn("SpacePart NOT found for "..gardenName.."; repeating until found")
repeat
task.wait(0.1)
spacePart = container:FindFirstChild("Space")
until spacePart
if spacePart then
print("SpacePart found for "..gardenName)
end
end
end
end
else
warn("PlayerGarden not found")
end
end
local playerGarden = waitForPlayerGarden(player)
setupZones(playerGarden)