¿Ya encontraste respuesta?, o ¿la duda te sigue "carcomiendo el alma"? 
  
Bueno, por si aun no encuentras nada, aquà te doy unos datos que me encontre cuando yo queria saber lo mismo, pero si, necesitas un 'recurso' para cerrarlas. 
Hace mucho que encontre esto, pero como deje de mapear, no lo he comprobado. 
  
En uno de los mapas originales de Sth (que vienen por default en el MTA) encontre estos tres scripts (No se si los tres juntos sean necesarios)(El mapa es sth-cookiepirates, o algo asi): 
  
piratecars 
 
createVehicle ( 430, 3823.152344 , 1870.386963 , 1.048789, 0, 0, 78, "Coookie" )
createVehicle ( 430, 3822.419678 , 1885.250000 , 0.367065, 0, 0, 101, "Coookie" )
createVehicle ( 430, 3828.372559 , 1914.312866 , 1.027057, 0, 0, 44, "Coookie" )
createVehicle ( 430, 3826.934570 , 1899.963135 , 1.223454, 0, 0, 71, "Coookie" )
createVehicle ( 430, 3840.287598 , 1874.648315 , 1.307586, 0, 0, 192, "Coookie" )
createVehicle ( 430, 3847.321777 , 1894.430664 , 0.459520, 0, 0, 316, "Coookie" )
createVehicle ( 473, 3860.848389 , 1908.323730 , 0.495588, 0, 0, 259, "Coookie" )
createVehicle ( 473, 3872.362061 , 1906.354858 , 1.285000, 0, 0, 259, "Coookie" )
createVehicle ( 473, 3882.443848 , 1903.577637 , 1.028829, 0, 0, 259, "Coookie" )
createVehicle ( 500, 3719.376953 , 1931.138306 , 28.347870, 0, 0, 11, "Coookie" )
createVehicle ( 500, 3701.569336 , 1932.786743 , 27.928991, 0, 0, 282, "Coookie" )
 
  
cars 
 
firstime = 1
function locks()
  local vehicles = getElementsByType("vehicle")
  for i,v in ipairs(vehicles) do
     setVehicleLocked( v, true )
     if (getElementModel(v) == 427 or getElementModel(v) == 427 or getElementModel(v) == 597) then
        setVehicleSirensOn ( v, true )
     end
  end
end
function fix()
  local vehicles = getElementsByType("vehicle")
  if (firstime == 1) then
     firstime = 0
     for i,v in ipairs(vehicles) do
        local x,y,z = getElementPosition(v)
        setElementData(v, "CarX", x)
        setElementData(v, "CarY", y)
        setElementData(v, "CarZ", z)
     end
  end
  for i,v in ipairs(vehicles) do
  fixVehicle(v)
  end
end
function reposvehicle()
  local vehicles = getElementsByType("vehicle")
  for i,v in ipairs(vehicles) do
     local x,y,z = getElementPosition(v)
     setElementData(v, "CarZ", z)
     setElementPosition(v, tonumber(getElementData(v, "CarX")), tonumber(getElementData(v, "CarY")), z)
  end
end
setTimer( reposvehicle, 5000, 0 )
setTimer( locks, 500, 1 )
setTimer( fix, 50, 0 )
 
  
cars2 
 
function enterVehicle ( player, seat, jacked )
  if ( getElementModel(source) ) then
     cancelEvent()
  end
end
addEventHandler ( "onVehicleStartEnter", getRootElement(), enterVehicle )
 
  
Como puedes ver, el primer archivo es para spawnear los vehiculos, pero no estoy seguro de que en verdad sea necesario, lo dejo a tu criterio, pero si decides que si lo es, solo es cuestion de cambiar valores. 
  
El segundo es la programacion para cerrar los vehiculos, como yo lo veo el tercer script solo finaliza las acciones de los otros dos. Asi que posiblemente, poner todo el texto en un solo archivo es adecuado. 
Como ya lo mencione, no estoy seguro de como puede funcionar esto. 
Si lo pones a prueba avisame, para ver si funciono o no. :good: 
  
Espero que sea de ayuda para cualquiera con esta duda.