Herramientas de usuario

Herramientas del sitio


modding:tutoriales:movermapaspda

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
Próxima revisión
Revisión previa
modding:tutoriales:movermapaspda [03/09/2011 09:44]
173.245.62.114 UprrfwVeMnNxC
modding:tutoriales:movermapaspda [26/12/2014 20:36] (actual)
Línea 1: Línea 1:
-Qgptx3  ​<a href="http://ssczboeczali.com/">ssczboeczali</a>+====== Modificar la posición de las Ubicaciones en la PDA ====== 
 + 
 +===== Teoría ===== 
 + 
 +Antes que nada, es preciso entender el Mapa Global y entender su funcionamiento. Toda la información sobre la localización de las Ubicaciones está ahí, así que parte del mapa se mostrará por la PDA, etc.. Así pues, abrimos //​gamedata/​config///​**game_maps_single.ltx** con nuestro editor de textos favorito, y pasemos a comprender un poquito más sobre el mismo: 
 + 
 +<code>​[level_maps_single] 
 +L01_escape 
 +L02_garbage 
 +L03_agroprom 
 +L03u_agr_underground 
 +l04_darkvalley 
 +l04u_LabX18 
 +L05_bar 
 +L06_rostok 
 +l07_military 
 +l08_yantar 
 +l10_radar 
 +l11_pripyat 
 +l12_stancia 
 +l12_stancia_2 
 +l12u_control_monolith 
 +l12u_sarcofag 
 +l08u_brainlab</​code>​ 
 + 
 + 
 +Esta sección muestra todos los niveles del juego. Este archivo pertenece ​la lista original de Shadow of Chernobyl, en otras versiones posiblemente hayan más o menos mapas. 
 + 
 +<​code>​[level_music_tracks] 
 +music\amb01  ​0, 12, 0.5, 10,20 music 
 +music\amb03 ​ = 0, 12, 0.5, 10,15 music 
 +music\amb07 ​ = 12,24, 1.0, 5, 25</code> 
 + 
 +No tenemos ni idea de lo que es esto, pero seguramente algo relacionado con la música ambiental del mapa. En todo caso, no lo necesitaremos para los fines de este tutorial. 
 + 
 +<​code>​[global_map] 
 +texture ​  = ui\ui_global_map 
 +bound_rect ​ = 0.0,0.0, 1024, 2634.0 
 +max_zoom ​ = 6.0</code> 
 + 
 +  * **Texture**Quizás uno de los valores más importantes. Define a //​gamedata/​textures/​ui///​**ui_global_map.dds**. Fijaros que, no en vano, no hay ninguna referencia a la extensión del archivo. 
 +  * **Bound_rect**. Coordenadas de la texturas, mediante Coordenadas de cuadrícula sobre el Mapa Global. Sus cuatro valores indican los puntos más externos del Mapa Global - Esquina Superior Izquierda es indicada por los primeros dos valores (0.0,0.0) y la Esquina Inferior Derecha por los restantes (1024,​2643.0). **MUY IMPORTANTE:​** //¡NO son píxeles!// En realidad la textura es de 1024x2048 (como muchas otras del juego que se guían por coordenadas en los archivos de configuración),​ pero el juego la considerará como si fuera una imagen de 1024x2643. Más adelante, veremos la gran importancia que representa tener esto bien grabado en la mente. 
 +  * **Max_zoom**. Como se puede entender por su nombre, es el máximo zoom permitido utilizando la PDA. Puedes probar modificando los valores, seguro que encuentras algo interesante. 
 + 
 +Seguimos avanzando por el archivo y encontramos otras secciones que describen, con los mismos valores, las distintas Ubicacioes del juego en el Mapa Global. Para el ejemplo, tomaremos prestados los valores del Cordón. 
 + 
 +<code>[l01_escape] 
 +texture = map/​map_escape 
 +bound_rect = -317.164, -633.718, 404.880, 811.627 
 +global_rect = 355.0,​2011.0,​ 576.0,​2453.000000 
 +weathers = default 
 +music_tracks = l01_escape_musics</code> 
 + 
 +  * **Texture**. Define a //​gamedata/​textures/​map///​**map_escape.dds** como mapa particular del Cordón. Es el mapa que se mostrará en el minimapa. Además, como habréis deducido ya, se impone a lo que pueda haber en ese mismo lugar del Mapa Global. 
 + 
 +  * **Bound_rect**. Coordenadas de la texturas, mediante Coordenadas de cuadrícula sobre el Mapa de la Ubicación. Es necesario hacer una aclaración;​ si os fijáis, los valores de la X e Y pueden ser tanto positivos como negativos. El motivo es que, el punto (0,0) no es una esquina del Mapa, como cabría suponer, sino el centro del mismo. Por ejemplo, el Cordón tiene sus coordenadas (0,0) cerca de la Avanzadilla Militar que se sitúa debajo del puente. Pero por otro lado, el Búnker de Sidorovich, y cualquier otro objeto que se encuentre por allí, tendrá las coordenadas de X negativas. La Base Militar, situada al Sur del Cordón, tendrá por tanto coordenadas de Y negativas. Por tanto, podremos decir que //​bound_rect//​ nos muestra, en este caso, los puntos más externos de cada Ubicación. La sintáxis se formaría entonces por: X más pequeña, Y más pequeña, X más grande, Y más grande. Ten en cuenta que estas sólo son coordenadas,​ no significa que puedas andar hasta allí dentro del juego; es el punto del juego en el que la Ubicación termina. Es muy importante el correcto uso de los decimales. 
 + 
 +  * **Global_rect**. Esta variable hace referencia a las coordenadas de la Ubicación en el Mapa Global. Es la posición exacta en la cual el Mapa de la Ubicación será supeditado al Mapa Global. Tiene un funcionamiento muy similar al de //​bound_rect//​. A la hora de determinar la posición de la Ubicación, ten en cuenta que el valor de Y será 0 cuando querramos indicar una posición arriba del todo, o 2634 si queremos precisar la posición más inferior del Mapa Global. Dicho de otro modo, un punto cuyas coordenadas sean (50,100) estará más arriba que otro puto con mayor Y, por ejemplo (50,200). Concentrémonos por un momento en el valor de esta variable en el Cordón: //​global_rect = 355.0,​2011.0,​576.0,​2453.000000//​. Nos viene a señalar que tenemos una Ubicación cuyas coordenadas (¡en el Mapa Global!) lo encierran entre 355.0,​2011.0 y 576.0,​2453.000000 (no me preguntéis porqué tantos ceros). Al tener estos datos, podemos sugerir que el tamaño del mapa sería de 221x442 puntos, resultante de restar la X más grade por la X más pequeña y la Y más grande por la Y más pequeña. Nuevamente, estos no son píxeles, pero si que nos ayudarán a entender mejor todo el sistema. 
 + 
 +===== Práctica ===== 
 + 
 +Conocida la teoría tomamos para el ejemplo el archivo //​gamedata/​textures/​map///​**map_lost_villiage.dds**. Como ya sabéis encontrar vosotros solitos las coordenadas,​ y si no volved a leer la Teoría, procedemos a intentar situar la Ubicación en otro lugar dentro del Mapa Global, por ejemplo aquí: 
 + 
 +{{ http://​arsmod.ucoz.ru/​_fr/​2/​3999811.jpg }} 
 + 
 +Abre el archivo //​gamedata/​textures/​ui///​**ui_global_map.dds** mediante el programa que más gustes, y con el que puedas utilizar cuadrículas de coordenadas. Nosotros usaremos el S.T.A.L.K.E.R. Icon Viewer. Tomaremos la coordenadas de la Esquina Superior Izquierda desde programa, tal y como se indica aquí: 
 + 
 +{{ http://​arsmod.ucoz.ru/​_fr/​2/​s5067643.jpg }} 
 + 
 +Obtenemos así las Coordenadas:​ x = 180, y = 370 
 + 
 +Si tenéis bien machacada la teoría, recordaréis que el Mapa Global mide 1024x2634, cuando en realidad teníamos una textura de 1024x2048. No temáis, con un poco de matemáticas todo es posible: 
 + 
 +  - Usando una calculadora,​ dividimos 2634 por 2048 y obtenemos como resultado 1.2861328125 
 +  - Multiplicamos la Y (370) por el resultado anterior (1.2861328125),​ y se obtiente 475.86 (resultado redondeado) 
 + 
 +Hecho esto, todo es simple. Suponiendo que nuestro mapa sea de tamaño 100x100, se configura en global_rect con los valores 180.0, 475.86, 280.0, 575.86. 
 + 
 +  * 180.0 - Tomada con el S.T.A.L.K.E.R. Icon Viewer. Coordenada X más pequeña. 
 +  * 475.86 - Resultado del cálculo anterior. Coordenada de Y más pequeña. 
 +  * 280.0 - Es la suma de la X tomada con el S.T.A.L.K.E.R. Icon Viewer más el ancho de la Ubicación. Coordenada X más grande. 
 +  * 5575.86 - Es la suma de la Y tomada con el S.T.A.L.K.E.R. Icon Viewer más el alto de la Ubicación. Coordenada Y más grande. 
 + 
 +Y este es el resultado final:  
 + 
 +{{ http://​arsmod.ucoz.ru/​_fr/​2/​s6961400.jpg }}
modding/tutoriales/movermapaspda.1315035896.txt.gz · Última modificación: 26/12/2014 20:36 (editor externo)