Bueno , como el titulo dice, quiero aprender a guardar el mapa, pero el MAPA en si, guardar los valores etc ya se que se hace con los maravillosos *.ini xD pero los mapas no tengo ni idea, se podria con el "Save game" que trae por defecto con GM pero no es muy bueno comparado con el .ini
Olakease? 
(Click en el link si quieres saber como hacer un generador de mundo aleatorio!)
if click = left url_open_full('http://www.comunidadgm.org/preguntas-y-respuestas/generacion-de-mundo', '_self', 'resizable=0, height=200, scrollbars=0');

Esto depende de como sea que crees el mapa  ???

Pero es entre facil y complicado de implementar, dependiendo de como creas el mapa, da más información sobre como lo creas para poder ayudarte mejor.

En mis proyectos lo que hago es (Uso tiles para el mapa):
-Creo un array del tamaño del cuarto dividido entre 32 (lo hago por celdas para que sea más simple)
-Al momento de ir creando el mapa voy actualizando el array.
-Al momento de guardar el mapa creo un ds_grid
-Recorro el array y lo voy insertando en el ds_grid
-El ds_grid lo guardo en un *.ini

No estoy seguro si en GM8 hay ds_grid, pero aun asi se puede modificar

Y listo

#2 Mayo 01, 2016, 05:11:37 PM Ultima modificación: Mayo 01, 2016, 05:37:36 PM por Vrenicu
Bueno, pues yo tengo un generador de mapa echo por mi, el mundo sale aleatoriamente, puede aparecer agua, islas, arboles, arbustos, flores de 2 colores, casas, (100% aparace el objeto hierba, ya que como el mapa es limitado uso un simple sistema de cultivos, para que los recursos no sean limitados ) , y bueno al final del mapa, el objeto que genera el mundo se detiene, ya que uso un view adicional para poner un inventario en el cual seleccionas objetos para colocarlos en el mapa, usando un sistema de D&D, es suficiente informacion??

Pd. Foto:
https://www.dropbox.com/s/cw1kbc1ajtqd7hk/progr1.bmp?dl=0
https://www.dropbox.com/s/7nty63xmk0cwcdz/progr3.bmp?dl=0
Actualizacion:
Si, acabo de ver que existe la funcion de " data structures" o DS en game maker 8 xD.
Olakease? 
(Click en el link si quieres saber como hacer un generador de mundo aleatorio!)
if click = left url_open_full('http://www.comunidadgm.org/preguntas-y-respuestas/generacion-de-mundo', '_self', 'resizable=0, height=200, scrollbars=0');

Supongo que usas objetos para las casas, las flores, los árboles, rios, cultivos, etc. Obviamente debes de guardar las caracteristicas unicas de cada objeto, hazlo con ciclos "for" de la siguiente forma:


ini_open("Guardado.ini")
for(var i=0;i<instance_number("Objeto a guardar");i++){
   inst = instance_find("Objeto a guardar",i);
   with(inst){
       /*
       Guardas las propiedades que necesitas del objeto dentro del ini. Ejemplo de como lo hago yo:
       ini_write_real("Flor_A","PosX_"+string(i),x)
       */
   }
}
ini_close();

Por ultimo guardas el numero de objetos que existian para cuando vayas a abrir el mapa, haces esto con todos los objetos y los tendras guardados

Yo solo quiero guardar la posicion, las variables globales de ciudadanos,madera, y plantas ya estan guardadas con un ini xD, asi que, en teoria deberia usar esto (para la flor por ejemplo):
ini_open("WLCityesData.ini")
for (e=0;e<instance_number("obj_flower");e+=1)
{
   inst = instance_find("obj_flower",e);
   with(inst)
   {
       ini_write_real("obj_flower","PosX_"+string(e),x)
   }
}
ini_close();

O no? (Cambie la i por e, ya que el generador de mundo ya usa la variable i, y cambie de e++ a e+=1, ya que me sale error si lo dejo como estaba)
Olakease? 
(Click en el link si quieres saber como hacer un generador de mundo aleatorio!)
if click = left url_open_full('http://www.comunidadgm.org/preguntas-y-respuestas/generacion-de-mundo', '_self', 'resizable=0, height=200, scrollbars=0');

Podrías hacerlo más sencillo de esta forma:
[gml]
ini_open("mapa.ini");
var n = 0;
with (objeto) {
    n += 1;
    ini_write_real(object_get_name(objeto) + string(n), "xpos", x); //Guardamos la posición 'x'
    ini_write_real(object_get_name(objeto) + string(n), "ypos", y); //Guardamos la posición 'y'
    //lo mismo con todas las variables que quieras
}
ini_write_real("propiedades", "cantidad", n);
ini_close();
[/gml]
Y cuando quieras cargar las instancias:
[gml]
ini_open("mapa.ini");
var n = ini_read_real("propiedades", "cantidad", 0);
var xx, yy;
for(var i = 1; i <= n; i += 1) {
    xx = ini_read_real(object_get_name(objeto) + string(i), "xpos", 0); //Cargamos la posición 'x'
    yy = ini_read_real(object_get_name(objeto) + string(i), "ypos", 0); //Cargamos la posición 'y'
    instance_create(xx, yy, objeto);
}
ini_close();
[/gml]
alaberga regué el café.

BA:STFW&RTFM

Gracias a los 2 :D
Olakease? 
(Click en el link si quieres saber como hacer un generador de mundo aleatorio!)
if click = left url_open_full('http://www.comunidadgm.org/preguntas-y-respuestas/generacion-de-mundo', '_self', 'resizable=0, height=200, scrollbars=0');