Mirad,mi problema ahora es el siguiente,el juego me dice:"INI files must be located in the same directory as the program".
Pero... El ini está en el directorio del programa...
Create:
global.PD="C:\Reverse_Engine\Projects\" //Projects directory
global.GD="C:\Reverse_Engine\" //Engine directory
global.NewProjetName="Juego2" //New project name
Step:
if mouse_check_button_pressed(mb_left) && distance_to_point(mouse_x,mouse_y)=0 //Check if click
{
if !directory_exists(global.PD+global.NewProjetName)
{
show_message("El nombre no está disponible");
}
else
{
directory_create(global.PD+global.NewProjetName);
ini_open(working_directory+"\Mi_INI.ini") // <--ERROR
}
}
no se a que se debe :C
Amigo si lo q quieres es crear el archivo ini en el directorio desde donde se ejecuta tu aplicacion no es necesario poner eso de workin_directory +..............
Con sólo el open_ini("mi_ini") es suficiente, el te lo crea directamente en el archivo raiz de tu aplicación
Saludos
Ese es el problema,no me la genera :'(
Si, lo que sucede es que la funcion ini_open tirara ese error cuando encuentre un "\" (backslash) en el nombre del archivo (argumento) sin importar si es el mismo directorio del juego o no.
ini_open no crea un INI solo lo abre.
Para lograr lo que deseas debes crear un INI con los valores en default e incluirlo dentro del ejecutable del juego, con la opcion Included Files.
http://docs.yoyogames.com/source/dadiospice/002_reference/file%20handling/file%20system%20limits.html (http://docs.yoyogames.com/source/dadiospice/002_reference/file%20handling/file%20system%20limits.html)
Disculpa vampy, pero el ini_open si crea el ini si este no existe
Cita de: ocarina en Abril 07, 2014, 06:35:46 AM
Disculpa vampy, pero el ini_open si crea el ini si este no existe
[user]ocarina[/user] en parte tienes razón ;)
Pero un INI solo se creara si escribes datos.
Osea esto si crearia un INI:
ini_open( "settings.ini" );
ini_write_real( "Opciones", "Fullscreen", 1);
ini_close();
Pero esto no:
ini_open( "settings.ini" );
ini_read_real( "Opciones", "Fullscreen", 1);
ini_close();
Ni esto:
ini_open( "settings.ini" );
ini_close();
Por tanto a lo que yo me referia es que la funcion
ini_open() por si sola no crea un INI.
A manera de pregunta
Si ini_open() crea un INI nuevo, ¿qué datos se crean dentro de ese INI nuevo?
En la mayoría de ejemplos en el foro de YoYo he visto que casi siempre comprueban si existe el archivo ini antes leer/escribir, lo que me hace pensar (sólo pensar, no asegurar) que ini_open() no crea un archivo. Pero si se creara, cómo saber qué llaves y secciones leer del ini si lo creo GM y no el usuario?}
Vampy: el enlace que pusiste apunta al manual de GM:S, pero según el ícono del mensaje original, el makero unixhacker usa la versión 8. A lo mejor me equivoco, pero creo que una de las limitaciones del sistema ini de GM8 es que los inis sólo se pueden ubicar dentro de la carpeta donde se encuentra el archivo gmk/gm81. Si quieres usar un ini fuera de esa carpeta (por ejemplo, dentro de un subdirectorio), hay que usar una dll que maneje inis (hablo de gm8, no de gms)
Cita de: penumbra en Abril 07, 2014, 07:09:26 AM
Vampy: el enlace que pusiste apunta al manual de GM:S, pero según el ícono del mensaje original, el makero unixhacker usa la versión 8. A lo mejor me equivoco, pero creo que una de las limitaciones del sistema ini de GM8 es que los inis sólo se pueden ubicar dentro de la carpeta donde se encuentra el archivo gmk/gm81. Si quieres usar un ini fuera de esa carpeta (por ejemplo, dentro de un subdirectorio), hay que usar una dll que maneje inis (hablo de gm8, no de gms)
Si el enlace no es el correcto ???
Ahora con las limitaciones del GM 8 en relacion a los INI sinceramente no me acuerdo, pero si tu dices que las hay entonces [user]unixhacker2600[/user] tendra que usar una dll.
Según el punto número 2 del primer post,
GM8 sí está limitado a leer inis sólo en el directorio del proyecto
http://gmc.yoyogames.com/index.php?showtopic=375804 (http://gmc.yoyogames.com/index.php?showtopic=375804)
...uh, el propio manual lo dice :-[
CitarThe ini file must be stored in the same folder as the game!
Cita de: vampy09 en Abril 07, 2014, 07:08:33 AM
Cita de: ocarina en Abril 07, 2014, 06:35:46 AM
Disculpa vampy, pero el ini_open si crea el ini si este no existe
[user]ocarina[/user] en parte tienes razón ;)
Pero un INI solo se creara si escribes datos.
Osea esto si crearia un INI:
ini_open( "settings.ini" );
ini_write_real( "Opciones", "Fullscreen", 1);
ini_close();
Pero esto no:
ini_open( "settings.ini" );
ini_read_real( "Opciones", "Fullscreen", 1);
ini_close();
Ni esto:
ini_open( "settings.ini" );
ini_close();
Por tanto a lo que yo me referia es que la funcion ini_open() por si sola no crea un INI.
Ini open no crea un archivo si no se scribe en el, pero se puede hacer una comprobación con un if y crearlo (Así lo hago yo en mi juego para la configuración).
Por ejemplo
ini_open("ini.ini");
valor = ini_read_string("options","fullequip","null");
if(valor == "null")
{
ini_write_string("options","fullequip","miopcionbydefault");
}
else
{
// Lo que sea xD
}
ini_close();
Caleb y vampy si tienen toda la razon se me olvido ese pequeño detalle Jajajajaja :D