trensim.comSimulación Ferroviaria
   

Trensimpedia :: Simulación Ferroviaria.
 
 

:: Entrar

MSTS:Rutas y TrackDatabase

De TrenSimpedia

(Diferencias entre revisiones)
('''Copia de seguridad avanzada.''')
('''Reparación puntual manual del ''track database''''')
Línea 102: Línea 102:
Este tramo va acompañado de los tramos adyacentes, que muestran el mensaje: '''''can't load adjacent track.''''' El esquema siempre es el siguiente:
Este tramo va acompañado de los tramos adyacentes, que muestran el mensaje: '''''can't load adjacent track.''''' El esquema siempre es el siguiente:
-
  Resto de vías—tramo correcto—tramo adyacente—tramo rebelde—tramo adyacente—tramo correcto—Resto de vías.
+
  Resto vías—tramo correcto—tramo adyacente—tramo rebelde—tramo adyacente—tramo correcto—Resto vías.
*Aislar los tramos del resto. Se borran en el ER los tramos correctos, para que los tramos erróneos queden aislados. Lo ideal sería borrar todos los tramos de la baldosa, pero no es imprescindible. Se anota el nombre de la baldosa.
*Aislar los tramos del resto. Se borran en el ER los tramos correctos, para que los tramos erróneos queden aislados. Lo ideal sería borrar todos los tramos de la baldosa, pero no es imprescindible. Se anota el nombre de la baldosa.
Línea 142: Línea 142:
*Se observa que los ''Tracknodes'' de los tramos erróneos forman una cadena cerrada; mientras que el resto van interconectándose entre sí.
*Se observa que los ''Tracknodes'' de los tramos erróneos forman una cadena cerrada; mientras que el resto van interconectándose entre sí.
-
*Una vez conocidos los TrackNodes erróneos, se borran estas entradas. Aparece otro problema: el listado debe ser exacto y correlativo. No se puede borrar el trackNode 575 y dejarlo simplemente vacío. Los siguientes deben cambiar de numeración. Cuando a un TrackNode se le cambia el número, debe hacerse lo mismo con sus conexiones, en la línea TrPin, para que referencie al nodo correcto.
+
*Una vez conocidos los ''TrackNodes'' erróneos, se borran estas entradas. Aparece otro problema: el listado debe ser exacto y correlativo. No se puede borrar el ''TrackNode'' 575 y dejarlo simplemente vacío. Los siguientes deben cambiar de numeración. Cuando a un ''TrackNode'' se le cambia el número, debe hacerse lo mismo con sus conexiones, en la línea ''TrPin'', para que se refiera al nodo correcto.
*En la tercera línea del archivo, se debe cambiar el número total de nodos existentes, descontando los que se han borrado.
*En la tercera línea del archivo, se debe cambiar el número total de nodos existentes, descontando los que se han borrado.
Línea 150: Línea 150:
====''Ejemplo:''====
====''Ejemplo:''====
-
''Encontramos un tramo rebelde y dos tramos adyacentes que dan los mensajes de error (tres tramos de vía doble) Borramos los tramos contiguos para dejar esos tres aislados. Apuntamos la baldosa.''
+
''Encontramos un tramo rebelde y dos tramos adyacentes que dan los mensajes de error (tres tramos de vía doble). Borramos los tramos contiguos para dejar esos tres aislados. Apuntamos la baldosa.''
-
''Buscamos en el TDB los trackNode. Observamos que los únicos tracknode en esa baldosa son los 879, 880, 881, 882, 884 y 885. Seis nudos cuando la lógica dice que tres tramos de vía doble deberían tener ocho nudos (cuatro intermedios y cuatro en los extremos). Éste es posiblemente el error.''
+
''Buscamos en el TDB los TrackNode. Observamos que los únicos Tracknode en esa baldosa son los 879, 880, 881, 882, 884 y 885. Seis nudos cuando la lógica dice que tres tramos de vía doble deberían tener ocho nudos (cuatro intermedios y cuatro en los extremos). Éste es posiblemente el error.''
''Vamos a los nudos numerados y nos fijamos en sus TrPin (sus conexiones) para apuntarlas en una hoja:''
''Vamos a los nudos numerados y nos fijamos en sus TrPin (sus conexiones) para apuntarlas en una hoja:''
Línea 166: Línea 166:
''Aquí hemos tenido suerte, pues borramos todos los tramos de la baldosa salvo los rebeldes y por eso los seis que encontramos de esa baldosa son los malos. Sin hubiera más tramos, tendríamos que averiguar por las conexiones cuáles son los aislados.''
''Aquí hemos tenido suerte, pues borramos todos los tramos de la baldosa salvo los rebeldes y por eso los seis que encontramos de esa baldosa son los malos. Sin hubiera más tramos, tendríamos que averiguar por las conexiones cuáles son los aislados.''
-
''Ahora tenemos que cambiar el número de esos tracknodes: 883->879; 886->880; 887->881 y 888->882.''
+
''Ahora tenemos que cambiar el número de esos TrackNodes: 883->879; 886->880; 887->881 y 888->882.''
-
''No solo en la línea “Tracknode (883” sino también en aquellos tracknodes directamente ligados a éstos. En este caso en los propios Trpin de estos nodos y también en los de los nodos 876 y 873.''
+
''No solo en la línea “TrackNode (883” sino también en aquellos TrackNodes directamente ligados a estos. En este caso en los propios Trpin de estos nodos y también en los de los nodos 876 y 873.''
''Por supuesto, también debemos cambiar el número total de nodos en la línea del principio del archivo:''
''Por supuesto, también debemos cambiar el número total de nodos en la línea del principio del archivo:''
Línea 174: Línea 174:
:''TrackNodes ( 888 --> TrackNodes ( 882''
:''TrackNodes ( 888 --> TrackNodes ( 882''
-
''Si hacemos esto bien, ahora debemos guardar el archivo y abrir el RE. Vamos a la zona rebelde y deberían aparecer los tres tramos SIN la línea de cable encima. SOLO esos tres tramos. Seleccionamos y borramos.''
+
''Si hacemos esto bien, ahora debemos guardar el archivo y abrir el RE. Vamos a la zona rebelde y deberían aparecer los tres tramos <u>SIN</u> la línea de cable encima. <u>SOLO</u> esos tres tramos. Seleccionamos y borramos.''
''Ya tenemos el TDB reparado.''
''Ya tenemos el TDB reparado.''
-
Lógicamente, este truco solo sirve para un error puntual en el TDB, que suelen ser la inmensa mayoría. En este caso, solo había que eliminar tres tramos y pudimos aislarlos en una baldosa. Fueron fácilmente localizados y estaban al final de la numeración. Si de 888 nodos tuviéramos que eliminar el 346, del 612 al 615 y del 729 al 732, el proceso sería bastante engorroso y habría que plantearse las opciones tradicionales. Recordemos que no solo el número de tracknodes debe ser exacto, sin saltarse ningún número, sino que también deben estar perfectamente ordenados.
+
Lógicamente, este truco solo sirve para un error puntual en el TDB, que suelen ser la inmensa mayoría. En este caso, solo había que eliminar tres tramos y pudimos aislarlos en una baldosa. Fueron fácilmente localizados y estaban al final de la numeración. Si de 888 nodos tuviéramos que eliminar el 346, del 612 al 615 y del 729 al 732, el proceso sería bastante engorroso y habría que plantearse las opciones tradicionales. Recordemos que no sólo el número de ''TrackNodes'' debe ser exacto, sin saltarse ningún número, sino que también deben estar perfectamente ordenados.
 +
 
{{Mensaje_Esbozo}}
{{Mensaje_Esbozo}}
[[Categoría:Diseño de rutas|Rutas y TrackDatabase]]
[[Categoría:Diseño de rutas|Rutas y TrackDatabase]]

Revisión de 13:42 22 ene 2008

En este artículo se pretende dar una serie de consejos a la hora de crear una ruta para MSTS. Para aquellos que se consideren totalmente inexpertos en esta tarea, el primer consejo es la lectura de unos buenos manuales de ayuda del Editor de Rutas (ER) y de creación y modelado de terreno, disponibles en la web. En ellos se dan las primeras advertencias acerca de la inestabilidad del editor de rutas, que origina no pocos problemas que pueden provocar la pérdida de una buena parte de la decoración de la ruta.

Contenido

Consejos generales para la realización de rutas.

A la hora de disponer los diferentes objetos y vías de la ruta a crear, es imprescindible seguir una serie de pautas, para evitar en la medida de lo posible un cierre inesperado del editor que acarree pérdida de datos.

Orden de colocación de objetos en una ruta:

  1. Todos los tramos de vía.
  2. Todos los tramos de carreteras.
  3. Objetos estáticos, no interactivos con vías ni carreteras.
  4. Objetos interactivos: Siding (apartadero), Platform (andén), paso a nivel, límites de velocidad, car spawner (tráfico en carreteras)
  5. Toda la señalización y semáforos de las vías.

El objetivo de este orden es evitar que un error producido en la colocación de tramos de vía o carretera, los más frecuentes, provoque la pérdida de los objetos interaccionan con la base de datos de vías.

  • Guardar los cambios efectuados en la ruta a intervalos cortos de tiempo y efectuar copias de seguridad de toda la ruta por si fuera necesario recuperarla.
  • No usar nunca la llamada dynamic track o vía dinámica. Este tramo de vía de longitud variable que viene con el editor para enlazar tramos, es la fuente de muchos de los problemas; y puede evitarse su uso con los X-tracks [1], que incorporan secciones de vía de longitudes y radios muy diversos.
  • Evitar los tramos de vía largos (500mstrt, 2000r20d…) que salten de baldosa. Son preferibles dos o más tramos iguales más cortos.
  • Evitar la colocación de tramos en curva a izquierda y derecha correlativos, formando “S” insertando un pequeño tramo recto entre ambas curvas.
  • Evitar situar un cambio de agujas entre dos baldosas.
  • Evitar que un mismo tramo de vía empiece en una baldosa, pase por una segunda y termine en una tercera baldosa. De ahí lo de los tramos largos.
  • Evitar que carreteras y carspawner pasen solo un poco a la baldosa siguiente.

Errores más frecuentes en el editor de rutas referentes a la base de datos de vías.

Es muy frecuente que en el momento más inesperado, el editor de rutas se "cuelgue" y se cierre, debido sin duda a algún tipo de error en la base de datos de vías (también llamado TDB, de track database)

Failed to load trackdatabase

Este error se produce en el momento de abrir la ruta con el editor o en el juego. Significa que no se ha podido cargar la base de datos de vías porque hay un error.

Track data base error: 'remove_end_end' one non-vector, one vector

Este mensaje de error se puede producir al seleccionar un tramo de vía en el editor de rutas. Los datos referentes a ese tramo están corruptos en la base de datos y provoca el cierre inmediato del editor.

Can't load adjacent track

Este mensaje se produce como en el anterior caso, pero en los tramos de vías que están unidos al tramo corrupto. También puede ser producido por posición de la cámara y la longitud del tramo, que provoca que el tramo siguiente aún no se haya cargado. En este caso basta con mover la cámara un poco.

Solución principal para la corrección de la base de datos.

El editor de rutas dispone de una función para reconstruir esa base de datos, la rebuild track database, que se encuentra al principio, cuando elegimos la ruta que queremos abrir. Esta función reconstruye esa base de datos desde el principio, pero produce también algunos daños colaterales. Y es que la reconstrucción implica la pérdida de sincronización de los objetos interactivos con la base de vías, que obliga a borrar todos esos objetos y a colocarlos de nuevo. Ésta es una de las razones del orden de colocación de objetos. Si en la ruta solo hay vías, ésta opción es la más adecuada.

Soluciones alternativas al rebuild track database

En ocasiones, el hecho de reconstruir la base de datos de vías implica la pérdida de una cantidad de objetos considerable, pues no siempre se cumple la recomendación de colocar los objetos según un orden. Puede ocurrir que ya se hayan colocado objetos interactivos por desconocimiento, porque se esté ampliando una ruta ya terminada o simplemente porque nos gusta ver una zona terminada antes de pasar a la siguiente. En estos casos se hace necesario el empleo de soluciones alternativas al Rebuild

Copia de seguridad.

Es la forma más rápida de reparar un error. Se borra la carpeta de la ruta y se reemplaza por otra que previamente se ha guardado. El inconveniente principal es que todo el trabajo realizado desde esa copia de seguridad se ha perdido. Esta solución es útil en caso de que hubiera gran cantidad de errores y fuera muy difícil de solucionar a mano.

Copia de seguridad avanzada.

La versión avanzada consiste en recuperar una copia de seguridad, pero añadiéndole las baldosas de terreno que se han modificado o creado desde entonces.

Para saber qué baldosas hay que incluir a la copia de seguridad, basta con sobrevolar la zona en el ER y apuntar el número de baldosa, del estilo: 10366-10345. Después se copian de la carpeta world los archivos de extensión .W y .WS cuyo nombre coincida con las coordenadas.

Esta solución exige tener unos conocimientos algo más avanzados del ER, porque plantea algunos problemas con las vías, carreteras y objetos interactivos.

Las vías y carreteras colocadas desde la copia aparecerán como objetos estáticos y es necesario seleccionarlos uno a uno para que se añadan al TDB y RDB.

Antes de añadir las baldosas nuevas, es necesario revisar la copia de seguridad con el ER. Concretamente las secciones de vía y carretera y los objetos interactivos, porque son los que aparecen por duplicado en los archivos .W y en las bases de datos.

Si se habían eliminado objetos de este tipo, es necesario volver a eliminarlos de la copia para que el TDB y RDB antiguos coincidan con las baldosas nuevas.

Si se habían modificado tramos de vía o carretera (varía la inclinación, el radio, el tipo de tramo de vía…); entonces se deben borrar en la copia, así como todos sus objetos interactivos. Aparecerán como tramos estáticos al añadir las baldosas y se incluirán en el TDB y RDB al seleccionarlos uno a uno.

Todo esto es para estar seguro de que no hay nada en el TDB y el RDB que no exista como objeto estático en la baldosa.

Si se han añadido nuevos tramos de vía y carretera a tramos ya existentes en la copia de seguridad, es necesario borrar de la copia el último tramo que conecta con los nuevos. Es muy importante que los tramos nuevos, que aparecen como estáticos y que hay que seleccionar para incluirlos a las bases de datos, no estén conectados a los antiguos. Una vez que todos están incluidos en la TDB y RDB, se incluye el tramo de conexión.

¿Qué se consigue con este procedimiento?

  • 1: No tenemos que realizar ningún rebuild track database (con lo que conlleva).
  • 2: No tenemos que picar TODAS las secciones de vía de toda la ruta, solo las de las baldosas que copiamos.
  • 3: Aparte de esas baldosas, el resto de la ruta NO se altera para nada.

Reparación puntual manual del track database

Puede darse el caso concreto de que sea posible abrir la ruta con el ER sin que muestre el mensaje Failed to load track database; pero que una vez dentro, se produzca un error puntual del tipo Remove_end_end… y Can’t Load… que esté perfectamente localizado.

Además, las soluciones anteriores de rebuild… o copia simple o avanzada pueden no ser factibles en cuanto impliquen demasiadas pérdidas o sea muy complejo realizar una copia de seguridad avanzada.

Para estos casos, es posible una reparación manual del archivo TDB.

La siguiente solución permite eliminar tramos que llamaremos “rebeldes” sin necesidad de recurrir a una copia de seguridad. Lógicamente se debe hacer una copia de seguridad por si se producen fallos.

Lo primero es localizar ese tramo rebelde en el editor de rutas. Un tramo rebelde es aquel que al seleccionarlo en el ER, aparece el mensaje: Track data base error: 'remove_end_end' one non-vector, one vector con el consiguiente cierre del ER.

Este tramo va acompañado de los tramos adyacentes, que muestran el mensaje: can't load adjacent track. El esquema siempre es el siguiente:

Resto vías—tramo correcto—tramo adyacente—tramo rebelde—tramo adyacente—tramo correcto—Resto vías.
  • Aislar los tramos del resto. Se borran en el ER los tramos correctos, para que los tramos erróneos queden aislados. Lo ideal sería borrar todos los tramos de la baldosa, pero no es imprescindible. Se anota el nombre de la baldosa.
  • Abrir el archivo TDB. El inicio de dicho archivo será parecido a esto:

TrackDB (

Serial ( 2496 )

TrackNodes ( 888

TrackNode ( 1
TrEndNode ( 0 )
UiD ( -10353 10333 541 1 -10353 10333 -977.555 526.352 -748.375 0 -1.06084 0 )
TrPins ( 1 0
TrPin ( 2 0 )
)
)

Donde:

  • TrackNodes ( 888 son los puntos de unión totales entre los diferentes tramos de vías de la ruta, comenzando a enumerarlos uno a uno.
  • UiD ( -10353 10333 es la baldosa donde se encuentra el punto.
  • TrPin ( 2 0 ) es cada uno de los enlaces con otros tramos. En este caso, el tracknode 1 está unido solo con el 2. Aparecerán tantos TrPin como uniones con otros tramos.

Interesa saber qué track nodes son los rebeldes, y se buscan por el número de baldosa.

Usando el comando “buscar…”, se inserta el número de la baldosa (Por ej:“-10360 10271”) y el wordpad muestra los tracknodes que tienen este número en su descripción UiD. Apuntamos estos números.

  • Revisión de conexiones. Observando los TrackNodes apuntados, nos fijamos en sus interconexiones (TrPin)
  • Se observa que los Tracknodes de los tramos erróneos forman una cadena cerrada; mientras que el resto van interconectándose entre sí.
  • Una vez conocidos los TrackNodes erróneos, se borran estas entradas. Aparece otro problema: el listado debe ser exacto y correlativo. No se puede borrar el TrackNode 575 y dejarlo simplemente vacío. Los siguientes deben cambiar de numeración. Cuando a un TrackNode se le cambia el número, debe hacerse lo mismo con sus conexiones, en la línea TrPin, para que se refiera al nodo correcto.
  • En la tercera línea del archivo, se debe cambiar el número total de nodos existentes, descontando los que se han borrado.
  • Abrir el ER e ir a la baldosa. Los tramos de vía erróneos aparecen ahora sin la línea blanca superior. Se seleccionan y se borran.

Ejemplo:

Encontramos un tramo rebelde y dos tramos adyacentes que dan los mensajes de error (tres tramos de vía doble). Borramos los tramos contiguos para dejar esos tres aislados. Apuntamos la baldosa.

Buscamos en el TDB los TrackNode. Observamos que los únicos Tracknode en esa baldosa son los nº 879, 880, 881, 882, 884 y 885. Seis nudos cuando la lógica dice que tres tramos de vía doble deberían tener ocho nudos (cuatro intermedios y cuatro en los extremos). Éste es posiblemente el error.

Vamos a los nudos numerados y nos fijamos en sus TrPin (sus conexiones) para apuntarlas en una hoja:

879-881-882; 880-884-885;
883-888-876-875-866-878-870…
886-887-873-874-868-877-872…

¿Qué observamos de esto? Que los seis nudos están unidos entre sí de tres en tres, y el resto de nudos van formando una cadena que enlaza con otros nudos. Estos seis son los rebeldes.

Aquí hemos tenido suerte, pues borramos todos los tramos de la baldosa salvo los rebeldes y por eso los seis que encontramos de esa baldosa son los malos. Sin hubiera más tramos, tendríamos que averiguar por las conexiones cuáles son los aislados.

Ahora tenemos que cambiar el número de esos TrackNodes: 883->879; 886->880; 887->881 y 888->882.

No solo en la línea “TrackNode (883” sino también en aquellos TrackNodes directamente ligados a estos. En este caso en los propios Trpin de estos nodos y también en los de los nodos 876 y 873.

Por supuesto, también debemos cambiar el número total de nodos en la línea del principio del archivo:

TrackNodes ( 888 --> TrackNodes ( 882

Si hacemos esto bien, ahora debemos guardar el archivo y abrir el RE. Vamos a la zona rebelde y deberían aparecer los tres tramos SIN la línea de cable encima. SOLO esos tres tramos. Seleccionamos y borramos.

Ya tenemos el TDB reparado.

Lógicamente, este truco solo sirve para un error puntual en el TDB, que suelen ser la inmensa mayoría. En este caso, solo había que eliminar tres tramos y pudimos aislarlos en una baldosa. Fueron fácilmente localizados y estaban al final de la numeración. Si de 888 nodos tuviéramos que eliminar el 346, del 612 al 615 y del 729 al 732, el proceso sería bastante engorroso y habría que plantearse las opciones tradicionales. Recordemos que no sólo el número de TrackNodes debe ser exacto, sin saltarse ningún número, sino que también deben estar perfectamente ordenados.

Icono de esbozo

Este artículo o sección es un miniesbozo en el que falta información esencial. Ampliándolo ayudarás a mejorar la TrenSimpedia.