Inicio › Foros › Clientes y programación › conversión de mapa para Tintin++
-
AutorRespuestas
-
-
Hola a todos.
Debido a los recientes cambios de mapa, me he visto muy frustrado intentando actualizármelo manualmente. Es un poco lioso hacerlo con los comandos de Tintin++ así que comentándolo con Sierephad me indicó un tutorial que posiblemente funcionaría.
El tuto aquí: http://roysjosh.blogspot.com.es/2009/01/converting-zmud-maps-to-tintin-and.html
Para hacerlo funcionar, primero tienes que tener instaladas ciertas herramientas:
mdbtools
sqlite3
libdbd-sqlite3 (en el tutorial indica que hay que tener DBD::SQLite, así que yo interpreto que tengo que tener estos dos paquetes instalados también)libdbd-sqlite3-perl
mdb2sqlite.pl < script adjunto
zmudconv.pl < script adjuntoluego hay que ejecutar:
$ perl ./mdb2sqlite.pl mapaZmud.mdb
…
$ perl ./zmudconv.pl mapaZmud.mdb.sqlite > tintin.mapA mi no me ha funcionado. No sé si alguien tiene tiempo para realizar esta prueba. Por otro lado he visto en nuestro foro una entrada de rawazarr (link) en el que da la impresión de que el primer paso lo tiene hecho (esto lo quiero probar, a ver si con su solución puedo realizar la conversión)
Si se consiguiese tirar adelante este conversor, tendríamos una buena solución para el cliente RL de tintin++ de (link)
Alguien se anima conmigo?
Adjuntos:
-
No me ha dado tiempo de probar mucho aún, pero:
El primer script (mdb2sqlite.pl) me falla.
«Usage: mdb-export [options] <file> <table>»
Esto es porque la sintaxis está mal en el script. En la linea 27 pone:
foreach my $line (qx(mdb-export -R ‘;\\n’ -I $mdb $_))
Pero la opción -I espera una palabra clave:
-I <backend> INSERT statements (instead of CSV)
Según el man, los valores válidos son:
access, sybase, oracle, postgres, mysql and sqlite
Entonces la linea 27 debe quedar:
foreach my $line (qx(mdb-export -R ‘;\\n’ -I access $mdb $_))
Por ejemplo, pero lo que no sé es cual es el backend que deberíamos usar :S
Eckol el Alquimista de las Cien Formas
-
Ok, he ejecutado el primer proceso con la modificación que proponia eckol y ha funcionado aparentemente bien.
Ahora al ejecutar el conversor a tintin++ me sale continuamente el mensaje (bucle):
Use of uninitialized value in printf at ./zmudconf.pl line 81.
Use of uninitialized value in $dirname in hashelement at ./zmudconv.pl line 79
Me esperaré a que acabe el proceso (tarda bastante) a ver que ha escrito y cual puede ser el problema de esas lineas de código.
Gracias.
-
Yei gente!!!
El proceso ha funcionado. Estoy haciendo alguna verificación. Cuando haya acabado y me sea posible, os paso el fichero de mapa por si lo queréis añadir como recurso.
Gracias por la ayuda.
-
Hola a todos.
Bueno, os informo. He conseguido hacer la transformación del mapa de la V5.1.3 a tintin++, pero no todo son buenas noticias.he probado el mapa por Anduar, Ryniver, Dendra, Galador, etc…Aparentemente va todo bien peeeeroooooo, no he podido ver naggrung en el fichero.A partir de aqui, yo creo que una posible solución seria que los mapas de las islas fuesen ficheros a parte, pero claro, para ello sería necesario que esos mapas también estuvieran por separado en zmud.Opiniones? ideas?(dejo el fichero de mapa adjunto para que lo pruebe quien quiera)
Edit: Nada! no haced caso. Probé otro fichero sin querer. Este fichero no carga (posiblemente por superar el tamaño máximo). He probado a acortarlo quitando unas cuantas líneas, pero no carga bien. Me salen tropecientos mensajes de «invalid exit» al cargar.
No me ha funcionado. Sorry.
-
Al final se consiguió hacer funcionar esto?
Si hay algún lugar donde pueda ver la estructura de la base de datos de tintin++ puedo mirar a ver qué consigo.
Saludos,
Tengo muchas ideas en la cabeza, tantas que no puedo si quiera expresarlas.
-
Hola Rawazarr.
No, no se consiguió.
La estructura es bastante sencilla, es un fichero de texto plano.
Os pego una estructura de un mapa con la forma:
[ ]--[ ]--[ ]
······| /
·····[ ]Las primeras lineas no sé exactamente lo que son, pero vienen las lineas R (rooms) y las lineas e (exits)
C 50000
CE
CH
CP
CRF 8
I 1
L * # # # | # x
R { 1} {0} {} {} { } {} {} {} {} {room data} {1.000}
E { 2} {e} {e} {2} {0} {}R { 2} {0} {} {} { } {} {} {room name?} {room desc?} {room data} {1.000}
E { 1} {o} {o} {8} {0} {}
E { 3} {e} {e} {2} {0} {}
E { 4} {s} {s} {4} {0} {}R { 3} {0} {} {} { } {} {} {room name?} {room desc?} {room data} {1.000}
E { 2} {o} {o} {8} {0} {}
E { 4} {so} {so} {12} {0} {}R { 4} {0} {} {} { } {} {} {room name?} {room desc?} {room data} {1.000}
E { 3} {ne} {ne} {3} {0} {}
E { 2} {n} {n} {1} {0} {}- Esta respuesta fue modificada hace 4 years, 11 months por pequeño halfling.
- Esta respuesta fue modificada hace 4 years, 11 months por pequeño halfling.
- Esta respuesta fue modificada hace 4 years, 11 months por pequeño halfling.
- Esta respuesta fue modificada hace 4 years, 11 months por pequeño halfling.
- Esta respuesta fue modificada hace 4 years, 11 months por pequeño halfling.
-
-
AutorRespuestas
- Debes estar registrado para responder a este debate.