You can write your topic however you want, but you need to answer these questions:

What do you want to achieve? Keep it simple and clear!
I want my function to return numbers that aren’t only 0 
What is the issue? Include screenshots / videos if possible!
My function only prints 0, but when I use a different method, it doesn’t only print 0.
The function that is meant to return numbers that aren’t only 0 but instead only returns 0
Output
The function that uses the same math but uses a different method instead of being a function that returns the value
Output

What solutions have you tried so far? Did you look for solutions on the Developer Hub?
I have seen similar problems although they’re dealing with physical parts and are dealing with arrays.
Here are the scripts if you want to try them out for yourself.
Function that only returns 0
local freq = 50
local amp = 35
local lacunarity = 2
local gain = .65
local octaves = 5
local total = 0
local seed = math.random(1, 9000)
local function fBm(x, z)
local y = 0
for i = 1, octaves do
y = total + (math.noise(x / freq + seed, z / freq + seed)) * amp
freq = freq * lacunarity
amp = amp * gain
end
return y
end
local function GenerateHeightmap()
for x = 1 , 100 do
for z = 1, 100 do
local y = fBm(x , z)
print(y)
end
end
end
GenerateHeightmap()
Function that doesn’t return 0
local freq = 50
local amp = 35
local lacunarity = 2
local gain = .65
local octaves = 5
local total = 0
local seed = math.random(1, 9000)
local function GenerateHeightmap()
for x = 1 , 100 do
for z = 1, 100 do
local y = total + (math.noise(x / freq + seed, z / freq + seed)) * amp
spawn(function()
for i = 1, octaves do
freq = freq * lacunarity
amp = amp * gain
end
end)
print(y)
end
end
end
GenerateHeightmap()
If my question isn’t clear enough for you, just ask me and i’ll try to explain it as clear as I can.
Any help would be appreciated.