Make me this lua script:
1: Clean Workspace, Delete the children of "Workspace.Enemies" every 5 seconds. And delete the folder "Workspace.Effects" and the folder "Workspace.Map.Weather" .
2: Create part, Run this script "local boat = workspace.Boats:FindFirstChild("[PLAYERNAME]Boat")
local deck = boat:FindFirstChild("Deck")
local keel = boat:FindFirstChild("Picture2")
local partCounter = 0
local function createPart(offset)
partCounter += 1
local part = Instance.new("Part")
part.Name = tostring(partCounter)
part.Size = Vector3.new(1, 1, 1)
part.Anchored = false
part.CanCollide = false
-- Set the CFrame using Deck position, Keel orientation, and Vector3 offset
part.CFrame = CFrame.new(deck.Position) * CFrame.Angles(
math.rad(keel.Orientation.X),
math.rad(keel.Orientation.Y),
math.rad(keel.Orientation.Z)
) * CFrame.new(offset)
part.Parent = boat
local weld = Instance.new("WeldConstraint")
weld.Part0 = part
weld.Part1 = deck
weld.Parent = part
end
--// Right
createPart(Vector3.new(10, 3, -40))
createPart(Vector3.new(10, 3, -35))
createPart(Vector3.new(10, 3, -30))
createPart(Vector3.new(10, 3, -25))
createPart(Vector3.new(10, 3, -20))
createPart(Vector3.new(10, 3, -15))
createPart(Vector3.new(10, 3, -10))
createPart(Vector3.new(10, 3, -5))
createPart(Vector3.new(10, 3, 0))
createPart(Vector3.new(10, 3, 5))
createPart(Vector3.new(10, 3, 10))
createPart(Vector3.new(10, 3, 15))
createPart(Vector3.new(10, 3, 20))
createPart(Vector3.new(10, 3, 25))
createPart(Vector3.new(10, 3, 30))
--// Middle
createPart(Vector3.new(0, 3, -40))
createPart(Vector3.new(0, 3, -25))
createPart(Vector3.new(0, 3, -20))
createPart(Vector3.new(0, 3, -15))
createPart(Vector3.new(0, 3, -10))
createPart(Vector3.new(0, 3, -5))
createPart(Vector3.new(0, 3, 0))
createPart(Vector3.new(0, 3, 5))
createPart(Vector3.new(0, 3, 10))
createPart(Vector3.new(0, 3, 15))
createPart(Vector3.new(0, 3, 30))
createPart(Vector3.new(0, 3, 35))
createPart(Vector3.new(0, 3, 40))
createPart(Vector3.new(0, 3, 45))
--// Left
createPart(Vector3.new(-10, 3, -40))
createPart(Vector3.new(-10, 3, -35))
createPart(Vector3.new(-10, 3, -30))
createPart(Vector3.new(-10, 3, -25))
createPart(Vector3.new(-10, 3, -20))
createPart(Vector3.new(-10, 3, -15))
createPart(Vector3.new(-10, 3, -10))
createPart(Vector3.new(-10, 3, -5))
createPart(Vector3.new(-10, 3, 0))
createPart(Vector3.new(-10, 3, 5))
createPart(Vector3.new(-10, 3, 10))
createPart(Vector3.new(-10, 3, 15))
createPart(Vector3.new(-10, 3, 20))
createPart(Vector3.new(-10, 3, 25))
createPart(Vector3.new(-10, 3, 30))"
3: Teleport the player to "Workspace.Boats.[PlayerName]Boat.Center" then weld The player with Center at 30 studs above
4: Move the boat: using "Workspace.Boats.[PlayerName]Boat.Center.SailV.Velocity" make that his velocity is at -300, 0, 0
5: Detect Dark Sealed Chest: When a part called "Dark Sealed Chest" is found in "Workspace.Map.Temporary" at 3000 studs around the player without a Children called "Weld" or "BoatWeld" then Stop the boat (Set velocity to 0, 0, 0), unweld the player with Center, Teleport the player to the "Dark Sealed Chest" at 300 studs per second (If part is at 900 studs, then wait 3 sec before instant TP) then when teleport done fire "local args = {
"Carry",
workspace:WaitForChild("Map"):WaitForChild("Temporary"):WaitForChild("Dark Sealed Chest")
}
game:GetService("ReplicatedStorage"):WaitForChild("RS"):WaitForChild("Remotes"):WaitForChild("Misc"):WaitForChild("Carry"):FireServer(unpack(args))
" with the correct Dark Sealed Chest path then put +1 to a Variable called "ChestCount" then wait 1 second, and repeat this step (Find a Dark Sealed Chest etc...)
6: When no more "Dark Sealed Chest" found around the player then instant teleport the player to "Workspace.Boats.[PlayerName]Boat.Center" and weld the player with Center at 30 studs above, and set back the SailV.Velocity to -300, 0, 0.
7: If ChestCount = 2 then set it to 0 and teleport the player at 300 studs per second to "Workspace.Boats.[PlayerName]Boat.1" then set player orientation same as the Teleported part and then wait 0.5 second and then fire "local args = {
"Place"
}
game:GetService("ReplicatedStorage"):WaitForChild("RS"):WaitForChild("Remotes"):WaitForChild("Misc"):WaitForChild("Carry"):FireServer(unpack(args))
" then wait 1 second, and repeat step 5, 6. (Note: When ChestCount = 2 the teleport to the part called "1" then when ChestCount = 2 again the teleport to the part "2", if ChestCount = 2 again then teleport to part "3" then 4, 5, 6, 7 etc...)