Вот это точно работает
Graphics3D 800,600,16,2
SetBuffer BackBuffer()
Dim Pos(15,2)
For i = 1 To 15
Pos(i,1) = 2 * i
Pos(i,2) = 2 * i
Next
Type AptType
Field Ent
End Type
Global Apt.AptType
Camera = CreateCamera()
PositionEntity Camera,10,10,-10
For i = 1 To 5
CreateApt(Apt)
Next
Repeat
RenderWorld
Until KeyDown(1)
Function CreateApt(Apt.AptType)
.Start
PosX = Pos((Rnd(1,15)),1)
PosZ = Pos((Rnd(1,15)),2)
For Apt = Each AptType
If EntityX(Apt\Ent) = PosX And EntityZ(Apt\Ent) = PosZ Then Goto Start
Next
Apt = New AptType
Apt\Ent = CreateCube()
PositionEntity Apt\Ent,PosX,0,PosZ
End Function