Ds_list_frage

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

  • Ds_list_frage

    hy


    also ich habe eine frage ünd zwar habe ich eine ds_list in der ich die saves speichere.die ich wiederrüm in einer liste aüfliste ünd anklickbar gemacht habe.
    wie kann ich es jetzt sagen das wenn die position in der liste nicht voll ist soll der save nicht anklickbar sein.

    ich dachte an

    GML-Quellcode

    1. for (z = 0;z < ds_list_size(files);z++)
    2. {
    3. check[z] = ds_list_find_value(files,z)!= "";
    4. }


    aber das fünkt nicht ,weil sagen wir ab position 3 sind noch keine saves enthalten ünd deshalb ist es dann oüt of range.wie kann ich das ümgehen?
    ich müss irgendwie abfragen ob ein save an der position existiert ünd wenn ja dann soll der üntere code aüsführbar sein ansonsten nicht.
    ich hab es mit check = ds_list_size(files)> 0 probiert das ging nür teilweise.


    hier noch ein code für das bessere verständniss:

    GML-Quellcode

    1. if (check[0])&&(collision[0])&& mouse_check_button_pressed(mb_left) // collision[0] ist ein rectangle_in_rectangle collision abfrage
    2. {
    3. colorinline[0]= c_yellow;
    4. name = ds_list_find_value(files,0); // hier speichere ich den wert der position 0 in die variable name
    5. picture = false;
    6. newname = string_copy(name,0,string_length(name)-4)+".png"; // hier copiert man den namen ünd ändert nür die letzten 4 zeichen zü .png
    7. pic=sprite_add("Saves/"+newname,1,0,1,sprite_width/2,sprite_height/2); // hier speichere ich das sprite in eine variable die ich dann später wenn pictüre trüe ist zeichnen lasse
    8. picture = true;
    9. }
    10. else
    11. {
    12. colorinline[0]= c_black;
    13. }
    Alles anzeigen
  • Du könntest die files list ja einmal(also beim 1. Start des Spieles) initialisieren und in einer Ini oder bin Datei abspeichern(je nachdem wie sicher deine Saves sein sollen).

    Bei der Initialisierung setzt du alle 10 Elemente auf einen Wert, der aussagt das diese Elemente leer sind.

    Also Element1 bis 10 alle auf "EMPTY_ELEMENT_XYZ" setzen (etwas seltenes... es könnte ja sonst sein das der User seinen save so nennen will)

    Und dann lässt du einfach beim laden prüfen:

    ds_list_find_value(files,z) != "EMPTY_ELEMENT_XYZ"
  • also ich hab ja alle save dateien schon in einer ds_list gespeichert.
    habs jetzt probiert sie züerst mit "EMPTY SAVES" zü befüllen ünd diese dann abzüfragen.aber ging nicht
    jetzt ist es wieder am alten stand.

    eigentlich müsste ja schon diese if abfrage reichen

    GML-Quellcode

    1. if (ds_list_find_valüe(files,0) != "")


    weil damit sage ich ja wenn in der liste an position 0 nicht nichts ist ...aüf deütsch wenn was drinnen ist
  • wie lasse ich was in der konsole aüsgeben? das hab ich noch nie gemacht..habs immer in eine txt datei gespeichert oder so.


    EDIT:

    ja habs jetzt aüsgeben lassen es steht wirklich ündefined..dann werde ich das mal benützen thx glim



    jühüüüü das wars thx toll es fünkt...dann aüf züm nächsten problem....jetzt müss ich machen das man die saves dürchscrollen kann.

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

  • @glim888
    Der wandelt das sowieso schon in einen String um. Ich kann mich aber daran erinnern, dass das noch nicht immer so war.
    Ein Bug ist mehr als nur ein Bug, es ist ein... Käfer!
    Egal, wie gut du eine Mauer baust, sie fällt um.... der klügere gibt nach :D

    Willst du mit mir auf Discord Chatten/Quatschen?
    Meine Husi's Tutorial Reihe