Ganze Section in Ini auslesen

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Ganze Section in Ini auslesen

    Moin.

    Ich möchte meine Levels gerne durch eine Ini erstellen lassen.
    Ich habe es geschafft einen Wert mit folgendem Code auszulesen und auszugeben:

    GML-Quellcode

    1. draw_set_font(font0)
    2. draw_set_halign(fa_center)
    3. draw_set_valign(fa_middle)
    4. if (file_exists("level.ini"))
    5. {
    6. datei=ini_open("level.ini");
    7. text=ini_read_string("Level01","01-01-01"," ")
    8. ini_close()
    9. draw_text(51,51,text)
    10. }
    Alles anzeigen


    Das für jeden zu machen ist aber doof.
    Was muss ich machen, damit ich die gesamte Section auslese und die jeweiligen Keys als Variablen speichere, und dann ausgebe?

    Ich will also folgendes aus der ini haben:

    Quellcode

    1. [Level01]
    2. 01-01-01=1
    3. 01-01-02=2
    4. 01-01-03=3
    5. 01-01-04=4
    6. 01-01-05=5
    7. 01-01-06=6
    8. 01-01-07=7
    9. 01-01-08=8
    10. 01-01-09=9


    ...auslesen, und dann:

    GML-Quellcode

    1. //01-01//
    2. draw_text(51,51,01-01-01)
    3. draw_text(85,51,01-01-02)
    4. draw_text(119,51,01-01-03)
    5. draw_text(51,85,01-01-04)
    6. draw_text(85,85,01-01-05)
    7. draw_text(119,85,01-01-06)
    8. draw_text(51,119,01-01-07)
    9. draw_text(85,119,01-01-08)
    10. draw_text(119,119,01-01-09)


    die Variablen ausgeben.


    Myrikenes

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Myrikenes ()

  • ich werde das jetzt nicht auf anhieb hingkiegen, aber ich versuche so gut wie möglich.

    GML-Quellcode

    1. if (file_exists("level.ini"))
    2. {
    3. datei=ini_open("level.ini");
    4. for(i=1;i<9;i+=1) {
    5. execute_string('text[' + string(i) + ']=ini_read_string("Level01","01-01-0' + string(i) + '"," ")
    6. }
    7. ini_close()
    8. draw_text(51,51,text)
    9. }
    warscheinlich habe ich jetzt irgentwo ein ' oder " falsche gemacht, aber das kan ich jetzt nicht nachprüfen ohne den gm zu öffnen, und sowas in der art zu proggen. du must einfach ein bischen ausprobieren.
    bei dem auslesen gehtst du dementsprechend vor.
    :) Nobody is perfect (-:

    "Dummköpfe sind Denkerköpfen weit überlegen. Zahlenmäßig." Ernst Ferstl
  • mmmh... danke für die Hilfe.
    Das Problem ist, das ich nicht nur Datensätze mit einer unterschiedlichen Zahl habe.
    Genaugenommen sieht meine Ini wie folgt aus:

    Quellcode

    1. [1]
    2. 01-01-01=1
    3. 01-01-02=2
    4. 01-01-03=3
    5. 01-01-04=4
    6. 01-01-05=5
    7. 01-01-06=6
    8. 01-01-07=7
    9. 01-01-08=8
    10. 01-01-09=9
    11. 01-02-01=1
    12. 01-02-02=2
    13. 01-02-03=3
    14. 01-02-04=4
    15. 01-02-05=5
    16. 01-02-06=6
    17. 01-02-07=7
    18. 01-02-08=8
    19. 01-02-09=9
    20. 01-03-01=1
    21. 01-03-02=2
    22. 01-03-03=3
    23. 01-03-04=4
    24. 01-03-05=5
    25. 01-03-06=6
    26. 01-03-07=7
    27. 01-03-08=8
    28. 01-03-09=9
    29. 02-01-01=1
    30. 02-01-02=2
    31. 02-01-03=3
    32. 02-01-04=4
    33. 02-01-05=5
    34. 02-01-06=6
    35. 02-01-07=7
    36. 02-01-08=8
    37. 02-01-09=9
    38. 02-02-01=1
    39. 02-02-02=2
    40. 02-02-03=3
    41. 02-02-04=4
    42. 02-02-05=5
    43. 02-02-06=6
    44. 02-02-07=7
    45. 02-02-08=8
    46. 02-02-09=9
    47. 02-03-01=1
    48. 02-03-02=2
    49. 02-03-03=3
    50. 02-03-04=4
    51. 02-03-05=5
    52. 02-03-06=6
    53. 02-03-07=7
    54. 02-03-08=8
    55. 02-03-09=9
    56. 03-01-01=1
    57. 03-01-02=2
    58. 03-01-03=3
    59. 03-01-04=4
    60. 03-01-05=5
    61. 03-01-06=6
    62. 03-01-07=7
    63. 03-01-08=8
    64. 03-01-09=9
    65. 03-02-01=1
    66. 03-02-02=2
    67. 03-02-03=3
    68. 03-02-04=4
    69. 03-02-05=5
    70. 03-02-06=6
    71. 03-02-07=7
    72. 03-02-08=8
    73. 03-02-09=9
    74. 03-03-01=1
    75. 03-03-02=2
    76. 03-03-03=3
    77. 03-03-04=4
    78. 03-03-05=5
    79. 03-03-06=6
    80. 03-03-07=7
    81. 03-03-08=8
    82. 03-03-09=9
    Alles anzeigen


    Und das halt immer pro Level ([1], [2], ...)


    Myrikenes
  • Das Script zum laden:

    GML-Quellcode

    1. // argument0 = Levelnummer
    2. var i, j, k;
    3. ini_open("level.ini");
    4. for (i=0; i<3; i+=1) {
    5. for (j=0; j<3; j+=1) {
    6. for (k=0; k<10; k+=1) {
    7. variable_local_set("var_0"+string(i)+"_0"+string(j)+"_0"+string(k),ini_read_string(argument0,"0"+string(i)+"-0"+string(j)+"-0"+string(k),""));
    8. }
    9. }
    10. }
    11. ini_close();
    Alles anzeigen


    Das Script zum lesen:

    GML-Quellcode

    1. var i, j, k;
    2. for (i=0; i<3; i+=1) {
    3. for (j=0; j<3; j+=1) {
    4. for (k=0; k<10; k+=1) {
    5. variable_local_get("var_0"+string(i)+"_0"+string(j)+"_0"+string(k)); // Damit irgendwas machen
    6. }
    7. }
    8. }