Problem mit Code!

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

  • Problem mit Code!

    Hallo Leute! Habe da ein kleines Problem mit einem Code.

    Folgender Code soll je nach Monat (Weihnachten) bestimmte Objekte erstellen, damit das Spiel jeden Advent anders wird.

    GML-Quellcode

    1. datum = date_date_string(date_current_date());
    2. /*24. Dezember 2007 Weihnachten*/ if (datum == '24.12.2007') {instance_create(x,y,obj_Weihnachten)}
    3. /*1.-6. Dezember 2007 1. Advent*/ if (datum == '01.12.2007' or '02.12.2007' or '03.12.2007' or '04.12.2007' or '05.12.2007' or '06.12.2007') {instance_create(x,y,obj_1Advent)}
    4. /*7.-13. Dezember 2007 2. Advent*/ if (datum == '07.12.2007' or '08.12.2007' or '09.12.2007' or '10.12.2007' or '11.12.2007' or '12.12.2007' or '13.12.2007') {instance_create(x,y,obj_2Advent)}
    5. /*14.-20. Dezember 2007 3. Advent*/ if (datum == '14.12.2007' or '15.12.2007' or '16.12.2007' or '17.12.2007' or '18.12.2007' or '19.12.2007' or '20.12.2007') {instance_create(x,y,obj_3Advent)}
    6. /*21.- 23. Dezember 2007 4. Advent*/ if (datum == '21.12.2007' or '22.12.2007' or '23.12.2007') {instance_create(x,y,obj_4Advent)}
    Alles anzeigen


    Wenn ich Syntax auf Fehler prüfe, ist alles OK. Doch sobald ich das Spiel starte kommt folgende Meldung:

    Quellcode

    1. ERROR in
    2. action number 1
    3. of Create Event
    4. for object obj_Weihnachtsspezial_controler:
    5. Error in code at line 5:
    6. /*1.-6. Dezember 2007 1. Advent*/ if (datum == '01.12.2007' or '02.12.2007' or '03.12.2007' or '04.12.2007' or '05.12.2007' or '06.12.2007') {instance_create(x,y,obj_1Advent)}
    7. at position 65: Wrong type of arguments for ||.


    Keine Ahnung warum das so ist. Genau aus diesem Grund funktionieren die "Adventfunktionen" nicht. Beim if datum == 24. Dezember 2007 funktioniert's einwandfrei. Kann mir jemand sagen, was für ein Problem im Code ist???

    Thx! :)
  • Klammersetzung ) falsch?
    hetotecs Winter-Homepage - klick hier:hetotec.de


    Hier auf landet ihr auf meiner Spiele-Vorstellungs-Seite ^^
    Noch keinen Stern geschenkt bekommen? Hol dir deinen eigenen Stern
    hier yoyogames.com/games/show/30678
    Am Weihnachtsbaum Lichter anzünden? Mit 9 Musik-Titeln zur Auswahl oder eigene Musik laden
    hier yoyogames.com/games/show/20074
  • Du hast einfach den OR-Operator falsch verstanden.

    GML-Quellcode

    1. if (datum == '01.12.2007' or '02.12.2007' or '03.12.2007' or '04.12.2007' or '05.12.2007' or '06.12.2007')

    Dieser Code ist falsch. Was wird hier verarbeitet? Zuerst

    GML-Quellcode

    1. datum == '01.12.2007'

    Dies gibt entweder True oder False zurück. Im falle von True ist der Gesamtausdruck True.
    Im Fallse von False wird folgendes berechnet:

    GML-Quellcode

    1. False or '02.12.2007'

    Dies gibt natürlich immer False.

    Der Code müsste so aussehen:

    GML-Quellcode

    1. if (datum == '01.12.2007' or
    2. datum == '02.12.2007' or
    3. datum == '03.12.2007' or
    4. datum == '04.12.2007' or
    5. datum == '05.12.2007' or
    6. datum == '06.12.2007') {
    7. // ...
  • Vielleicht klappt es so

    Spoiler anzeigen


    datum = date_date_string(date_current_date());

    /*24. Dezember 2007 Weihnachten*/
    if (datum == '24.12.2007')
    {
    instance_create(x,y,obj_Weihnachten);
    }

    /*1.-6. Dezember 2007 1. Advent*/
    if (datum == '01.12.2007')
    if (datum == '02.12.2007')
    if (datum == '03.12.2007')
    if (datum == '04.12.2007')
    if (datum == '05.12.2007')
    if (datum == '06.12.2007')
    {
    instance_create(x,y,obj_1Advent);
    }

    /*7.-13. Dezember 2007 2. Advent*/
    if (datum == '07.12.2007')
    if (datum == '08.12.2007')
    if (datum == '09.12.2007')
    if (datum == '10.12.2007')
    if (datum == '11.12.2007')
    if (datum == '12.12.2007')
    if (datum == '13.12.2007')
    {
    instance_create(x,y,obj_2Advent);
    }

    /*14.-20. Dezember 2007 3. Advent*/
    if (datum == '14.12.2007')
    if (datum == '15.12.2007')
    if (datum == '16.12.2007')
    if (datum == '17.12.2007')
    if (datum == '18.12.2007')
    if (datum == '19.12.2007')
    if (datum == '20.12.2007')
    {
    instance_create(x,y,obj_3Advent);
    }

    /*21.- 23. Dezember 2007 4. Advent*/
    if (datum == '21.12.2007')
    if (datum == '22.12.2007')
    if (datum == '23.12.2007')
    {
    instance_create(x,y,obj_4Advent);
    }

    hetotecs Winter-Homepage - klick hier:hetotec.de


    Hier auf landet ihr auf meiner Spiele-Vorstellungs-Seite ^^
    Noch keinen Stern geschenkt bekommen? Hol dir deinen eigenen Stern
    hier yoyogames.com/games/show/30678
    Am Weihnachtsbaum Lichter anzünden? Mit 9 Musik-Titeln zur Auswahl oder eigene Musik laden
    hier yoyogames.com/games/show/20074
  • @hetotec
    Das klappt nicht!!! Das selbe Problem, was eigentlich gelöst werden soll. 24. Dez. funktioniert. Der Rest nicht. Aber es kommt immerhin keine Fehlermeldung mehr. Aber es erfüllt nicht das Gewünschte.

    @boxxar
    Hey Supiii!!! Das funktioniert! Wusst' gar nicht, dass man Beachten muss, neue Zeilen zu erstellen! Danke! :D

    Edit

    Lol! Hab' erst jetzt gesehen was du eigentlich am Code verändert hast. ich glaube, mit neuen Absätzen hat das nichts zu tun. OK! Danke an alle!!! :)

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Michaelp800 ()