you would need to do a check for when to turn around (so after a set time or distance)
also rotating by 360 = a full circle, think you mean 180.
and added a bit more random in their settings so they wont all be the same.
untested but should work
local flying = {}
local rotangle = {}
local speed = {}
local max_straight = {}
function gcar_init(e)
flying[e] = 0
max_straight[e] = math.random(200,800)
rotangle[e] = 180
speed[e] = math.random(250,300)
CollisionOff(e)
end
function gcar_main(e)
flying[e] = flying[e] + 1
MoveForward(e,speed[e])
if flying[e] >= max_straight[e] then
flying[e] = 0
RotateY(e,g_Entity[e]['angley'] + rotangle[e])
end
end