Como guardar datos con ficheros ini

También te podría gustar...

16 Respuestas

  1. Jason Miranda dice:

    Excelente post, muchas gracias por tus aportes, me has salvado en mas de una ocasión.
    Sería muy interesante y util que crearas un post de como colgar nuestro juego a la tienda y realizar ventas, asi como poner la publicidad necesaria y el método de pago. Pienso que con un post de ese tipo quedaría una guía bastante completa y profesional.
    Saludos.

    • David dice:

      ¡Hola!
      La verdad es que eso entra en la parte de marketing, y es un mundo lo bastante extenso como para tener sección propia.

      Habría que montar tu propia página web, redes sociales, vídeos, kit de prensa, enviar mails a sitios para que vean la demo y opinen, etc… ¡Mucho trabajo por delante!

      Como respuesta rápida, puedes probar en itch.io, que te permite publicar y vender tu juego.

      ¡Pruébalo y me lo comentas!

  2. Elias dice:

    Tengu una duda, si creo un archivo ini o cualquier tipo de archivo manualmente, cómo lo leo? Es decir, tengo lo siguente:
    var file = “datafiles\messages.ini”;

    show_message(file+”::”+string(file_exists(file)));
    Y por mas que cambio la variable file, usando las constantes working_directory, temp_directory, program_directory, siempre da falso, como si el archivo no existiera, pero sí existe.

    • David dice:

      Yo no utilizo ninguna constante de directory.
      Si creas un fichero fijo, como mensajes o texto de traducción, lo incluyo en “Included Files”. Luego lo llamo así:
      ini_open("messages.ini");
      Si es un fichero que creo en el juego, para guardar puntuación, variables y demás, lo hago de la misma manera.
      El problema viene cuando grabas un fichero que está en “Included Files”, porque lo tendrás duplicado en el sistema (dónde se instala/ejecuta el juego y dónde se guardan los datos). Game Maker buscará siempre en la carpeta dónde se guardan los datos e ignorará el fichero que hay dónde se ejecuta el juego (a no ser que se borre). Por eso hay que separar que nos interesa guardar y leer.
      Espero haber resuelto la duda.

  3. jorgen dice:

    Saludos excelente post, acabo de descubrir el sitio y suscribirme ya que me interesa entrar en este mundo de los videojuego, una pregunta ¿se puede usar el .ini para guardar el highscore de un juego para dispositivos móviles (Android e iOS)?

    • David dice:

      Buenas Jorgen,
      los ficheros ini funcionan perfectamente para dispositivos móviles. Yo lo uso y funciona, aunque nunca he descubierto dónde gguarda el fichero.

      El otro día hice una prueba con una exportación a HTML5 y también leía un .ini incluido en el proyecto!

      David

  4. Baltasar dice:

    Muy bueno! podrías hacer un tutorial para guardar la información en la nube, si el usuario borra el juego y luego lo vuelve a bajar y se loguea (mediante cualquier metodo) lo recupera.

    • David dice:

      Lo tengo pendiente ;). Estoy buscando la mejor manera, ya que existen varias formas de hacerlo. La forma gratuita es saber programar en páginas web, por ejemplo PHP, y montarte un WebService, pero no me gusta por el mantenimiento, más los problemas que puedes tener (caídas de servidor, hackeos, etC).
      La otra opción sería buscar una web que te ofrezca ese servicio. en un post de Game Maker habla del tema, he visto precios y son asequibles, aunque el ejemplo diría que es sólo para leer datos y no grabar.

      Lo dicho, es una cosa que tengo en la cabeza, pero quiero hacerla que se entienda muy bien, y que sea fácil (lo malo es que no es gratis) para todo el mundo.

      • Baltasar dice:

        Pero si es muy complejo podes subir la extension en la tienda a 1 U$s, es un tema interesante y creo que como yo hay muchos que están con el mismo problema.

  5. carlos dice:

    hola, muy buen post. please help..jaja tengo problemas trabajando con working directory. ojala y puedas ayudarme. necesito que lea si existe un fichero y si no existe lo cree. pero no me hace caso Y.Y.. Ejmp:

    if not directory_exists(working_directory+”\\”+string(current_month))
    {
    directory_create(working_directory+”\\”+string(current_month))
    {
    if not file_exists((working_directory+”\\”+string(current_month+”\\”+date_date_string(global.dia)+”.ini”)))
    {
    ini_open((working_directory+”\\”+string(current_month+”\\”+date_date_string(global.dia)+”.ini”)))
    {
    }}}}
    he sustituido working_directory por una dirección ejmp: c: \\etc\\etc y nada, he sustiduido el_ini open por drirectory_create(c:\\etc\\etc\\+date_date_string(global.dia)+”ini”y nada. estoy al cambiar de hobit por pegarle a la pared creo que resultara mas gratificante…

  6. Óscar Ledezma dice:

    Hola amigo! Excelente información, soy nuevo en game maker, una consulta, es posible guardar el progreso de diferentes jugadores? Que guarde su ID y su progreso en el mismo juego.

  7. Hey!
    Soy Ylber, Tengo 14 Años y Soy Desarrollador de Videojuegos con *Game Maker Studio*. En la Mayoria de los Juegos Comunes se Utiliza Los Guardados de Partida (Archivos INI). Pero Ya Que Al Usar Estos Sistemas en *Game Maker Studio*, Los Archivo se Crean en *%APPDATA%* o Algún Otro Lado (Lugar de Ejecución). Y Eso Me Intriga un Poco Ya Que Es Muy Facil ”Hackear” O Alterar un Archivo De Estos. Entonces, Mi Pregunta es:
    Existe Alguna Manera o Posibilidad de ‘Blockear’ Los Archivos Creados Dentro del Juego en GMS. (Los Archivo .INI)??.

    GRACIAS!!

    • David dice:

      He visto tu página web y me ha gustado bastante. ¡Continúa así haciendo tus juegos!
      Diría que ahora con Game Maker podrías guardar el fichero en cualquier lugar del ordenador, pero no te lo recomiendo. La mejor opción que tienes es encriptar los resultados que guardas en el fichero ini, así no lo pueden cambiar.

      Mira en esta web que tiene varios scripts para hacerlo. A mi me gusta el Rc4, ya que puedes poner una clave que sin ella no pueden conseguir descifrarlo.

      GMLScripts

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *