world
proc
O()
var/SS = rand(1,2)
if(SS == 1)
for(var/area/Climax/C in world)
var/I
I++
if(C.ClimexID == 1)
C.Climax = "Snow"
new /turf/Snow(locate(C.x,C.y,C.z))
world << "[C.x] [C.y] [C.z]"
var/S = rand(1,2)
if(S == 1)
new /obj/SnowTree(locate(C.x,C.y,C.z))
..()
else
..()
if(SS == 2)
for(var/area/Climax/C in world)
if(C.ClimexID == 1)
C.Climax = "Desert"
new /turf/Desert(locate(C.x,C.y,C.z))
var/S = rand(1,2)
if(S == 1)
new /obj/Cactus(locate(C.x,C.y,C.z))
..()
else
..()
Problem description:
I've tried everything to make this work but it only spawns it at 1,1,1 in the world i dont know why.
If you want to iterate over every turf in an area, you should loop through every turf in the area:
Also, you clearly don't understand what ..() is, so you should probably do some reading on that. Mainly, you should not be calling ..() even once in this entire snippet.