Prueba con esto:
puerta = createObject (3115, -2183.6943359375, 608.4990234375, 58.674999237061)
open = false
function puerta1 ()
if not open then
moveObject (puerta, 1000, -2183.6943359375, 626.99597167969, 58.674999237061)
open = true
elseif open then
moveObject (puerta, 1000, -2183.6943359375, 608.4990234375, 58.674999237061)
open = false
end
end
addCommandHandler("abrir", puerta1)
* No aseguro que funcione, pues hace tiempo que no escribo algún código.