Según lo que entiendo, el script tiene que guardar las ubicaciones (x,y) de todas las instancias de un objeto dado (cuyo object_index es argument0) en un archivo tipo ini cuyo nombre es argument1. Lo que yo haría sería guardar las variables x,y en una lista y luego guardar esa lista como string en el archivo. El siguiente script haría eso:
Ese script guarda en la sección "coordenadas" del archivo ini una clave con el nombre del objeto y un valor igual a un string que contiene toda la información con las coordenadas.
El siguiente script lee la información y crea las instancias:
Código [Seleccionar]
//scriptpara guardar coordenadas
//argument0=object_index del objeto
//argument1=nombre del archivo (sin el .ini)
var lista;
lista=ds_list_create();
with argument0
{
ds_list_add(lista,x);//guarda la x de la instancia
ds_list_add(lista,y);//guarda la y de la instancia
}
ini_open(argument1+".ini");
ini_write_string("coordenadas",object_get_name(argument0),ds_list_write(lista));
ini_close();
ds_list_destroy(lista);
Ese script guarda en la sección "coordenadas" del archivo ini una clave con el nombre del objeto y un valor igual a un string que contiene toda la información con las coordenadas.
El siguiente script lee la información y crea las instancias:
Código [Seleccionar]
//script para leer coordenadas y crear los objetos:
//argument0=object_index del objeto
//argument1=nombre del archivo (sin el .ini)
var lista,n,i,xx,yy;
lista=ds_list_create();
ini_open(argument1+".ini");
ds_list_read(lista,ini_read_string("coordenadas",object_get_name(argument0),""));
n=ds_list_size(lista);//número de datos a leer
for(i=0;i<n;i+=2)
{
xx=lista[| i];//coord. x
yy=lista[| i+1];//coord. y
instance_create(xx,yy,argument0);
}
ds_list_destroy(lista);