I Want To Generate Triangle Terrain

The Script Is Kinda Old Possibly From 2014 Or 2013?
I Wanted To Make The Terrain Infinite And I Want To Add Water And Make Triangle Terrain
Here’s The Script

if game.Workspace:FindFirstChild(“terrainFolder”) then game.Workspace:FindFirstChild(“terrainFolder”):Destroy() game.SoundService.TerrainSound:Destroy() end

local seed = math.randomseed(os.time())

local terrainFolder = Instance.new(“Folder”,game.workspace)

terrainFolder.Name = “terrainFolder”

script.Parent.TerrainSky.Position = Vector3.new(0,150,0)

script.Parent.TerrainSky.Parent = terrainFolder

local grass = Instance.new(“Part”)

grass.Material = Enum.Material.Grass

grass.BrickColor = BrickColor.new(“Grime”)

grass.Locked = true

grass.Anchored = true

grass.Name = “Grass”

local mountain = Instance.new(“Part”)

mountain.BrickColor = BrickColor.new(“Reddish brown”)

mountain.Material = Enum.Material.Slate

mountain.Locked = true

mountain.Anchored = true

mountain.Name = “Mountain”

local tree = script.Parent.Tree:Clone()

local structures = script.Parent.Structures:GetChildren()

for i=1, 400 do

local terrain = grass:Clone()

terrain.Size = Vector3.new(math.random(100,2000),math.random(10,100),math.random(100,2000))

terrain.Position = Vector3.new(math.random(-3000,3000),0,math.random(-3000,3000))

terrain.Parent = terrainFolder


for i=1, 100 do

local terrain = mountain:Clone()

terrain.Size = Vector3.new(math.random(50,300),math.random(100,400),math.random(50,300))

terrain.Position = Vector3.new(math.random(-3000,3000),20,math.random(-3000,3000))

terrain.Parent = terrainFolder


for i=1, 1000 do

local newTree = tree:Clone()

local pointA = Vector3.new(math.random(-3000,3000),300,math.random(-3000,3000))

local pointB = pointA + Vector3.new(0,-1000,0)

local ray = Ray.new(pointA,pointB)

local part,pos = workspace:FindPartOnRay(ray)


newTree.Parent = terrainFolder


for i=1, 100 do

local structure = structures[math.random(#structures)]:Clone()

local pointA = Vector3.new(math.random(-2000,2000),300,math.random(-2000,2000))

local pointB = pointA + Vector3.new(0,-1000,0)

local ray = Ray.new(pointA,pointB)

local part,pos = workspace:FindPartOnRay(ray)


structure.Parent = terrainFolder



script.Parent.TerrainSound.Parent = game.SoundService


And I Wanted To Make The Terrain Look Natural And I Wanted To Make Sky Islands
Around Make It 20% To Spawn

have you actually tried the script to see what it does?
I am asking so we can figure out what you are asking.

I’m not entirely sure what you’re asking here, but lua has a built in function for perlin noise: math.noise(X,Y,Z) where Z is the seed. You can generate terrain using this noise function, while using Terrain:FillBlock.

As for the sky islands, you could design a bunch of pre-made island models and clone them to random positions in the workspace, keeping the height level above your maximum perlin noise Y range.

It’s Not A ModuleScript Or A Local Script Just A Normal Script And Which Part Of Script?
Here It Is
1 To 66
This Is The Generator Looks Like

Just Copy And Paste The Script Only
I Meant Triangle Terrain

Have you looked at these