This script below works as intended. It disables the scripts in the game until all children are dispersed to their class, then enables them.
--Searches for all disabled scripts inside folder
local scripts = {}
function recursiveScriptSearch(inst)
for _,v in pairs(inst:children()) do
if v:IsA("Script") and v.Disabled then
table.insert(scripts,v)
end
recursiveScriptSearch(v)
end
end
recursiveScriptSearch(script.Parent)
for n,o in pairs(script.Parent.ReplicatedStorage:GetChildren()) do
o.Parent = game.ReplicatedStorage
end
for n,o in pairs(script.Parent.Workspace:GetChildren()) do
o.Parent = game.Workspace
end
for n,o in pairs(script.Parent.StarterGui:GetChildren()) do
o.Parent = game.StarterGui
end
for n,o in pairs(script.Parent.StarterPack:GetChildren()) do
o.Parent = game.StarterPack
end
for n,o in pairs(script.Parent.ServerStorage:GetChildren()) do
o.Parent = game.ServerStorage
end
for n,o in pairs(script.Parent.ReplicatedFirst:GetChildren()) do
o.Parent = game.ReplicatedFirst
end
for n,o in pairs(script.Parent.StarterPlayerScripts:GetChildren()) do
o.Parent = game.StarterPlayer.StarterPlayerScripts
end
for n,o in pairs(script.Parent.StarterCharacterScripts:GetChildren()) do
o.Parent = game.StarterPlayer.StarterCharacterScripts
end
for n,o in pairs(script.Parent.ServerScriptService:GetChildren()) do
o.Parent = game.ServerScriptService
end
for n,o in pairs(script.Parent.Lighting:GetChildren()) do
o.Parent = game.Lighting
end
--Go through all scripts and enable them
for _,v in pairs(scripts) do
v.Disabled = false
end
print('Assets Loaded')
for n,o in pairs(game.Players:GetChildren()) do
game["Teleport Service"]:TeleportToPlaceInstance(game.PlaceId,game.JobId,o)
end
script.Parent:Destroy()
But I'm still getting errors like "ObjectValue is not a valid member of script." This error didn't not exist when I removed the code which enables/disables scripts. This is the code that gives an error.
wait(.1)
local fakeRope = Instance.new("Part")
fakeRope.Parent = game.Workspace
fakeRope.CanCollide = false
fakeRope.Anchored = true
fakeRope.Material = Enum.Material.DiamondPlate
fakeRope.BrickColor = BrickColor.new("Institutional white")
local val = script.ObjectValue.Value
local part1 = script.ObjectValue2.Value
local AttachPoint1 = val.Attachment
local AttachPoint2 = part1.Attachment
game:GetService('RunService').Heartbeat:connect(function()
if val == nil or part1 == nil then script:Destroy() end
local Pos1 = val.CFrame:toWorldSpace(CFrame.new(AttachPoint1.Position))
local Pos2 = part1.CFrame:toWorldSpace(CFrame.new(AttachPoint2.Position))
Pos1 = Vector3.new(Pos1.X,Pos1.Y,Pos1.Z)
Pos2 = Vector3.new(Pos2.X,Pos2.Y,Pos2.Z)
local Distance = (Pos1 - Pos2).magnitude
fakeRope.Size = Vector3.new(0,0,Distance)
--fakeRope.CFrame = part1.CFrame:lerp(val.CFrame,.5)
fakeRope.CFrame = CFrame.new(Pos1, Pos2) * CFrame.new(0, 0, -Distance/2)
end)
I also get this error which didn't exist before "ServerScriptService.DevProductHandler.HealthScript:4: attempt to index local 'play' (a nil value)"
local play = game.Players:FindFirstChild(script.PlayerName.Value)
--if play == nil then script.Destroy() end
play.CharacterAdded:connect(function(Char)
wait(1)
Char.Humanoid.MaxHealth = Char.Humanoid.MaxHealth + script.Amount.Value
Char.Humanoid.Health = Char.Humanoid.Health + script.Amount.Value
Char.Humanoid.HealthDisplayDistance = 0
Char.Humanoid.NameDisplayDistance = 0
end)
game.Players.PlayerRemoving:connect(function(player)
if player == play then script:Destroy() end
end)
Any idea on what I can fix in the first script that I wrote that would solve these errors?
