Object verschwindet bei Message!

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

  • Object verschwindet bei Message!

    Hi Leute!

    Ich möchte ein Spiel mit Vogelpesperktive machen und da ein paar Dialoge einbauen.
    Aber irgendwie glaube ich langsam das ich irgendwas falsch mache.

    Ich habe eine Person die sich auf der Karte bewegt und ich möchte eine Message haben
    wenn meine Person eine andere Person berührt. Also habe ich folgendes gemacht:

    In dem "Collision" Event habe ich einen "Display a message" eingebaut und da die gewünschte Nachricht reingeschrieben.

    Die Message funktioniert ja auch wenn man die Person berührt, aber wenn man nachdem man das durchgelesen hat auf enter oder ok drückt dann kommt die gleiche Message sofort nochmal und dann nochmal und nochmal und nochmal.... so das man nichtmal eine Chance hat das Spiel auszumachen.

    Inzwischen musste ich "Destroy the instance" eimbauen damit sich die Person mit der man reden möchte nach der erste Message gleich löscht. Aber das ist nicht wirklich das was ich brauche...


    Danke vorraus!


    MfG: I.B.
  • Du machst einfach ein variable "display" im create event und setzt sie auf 1.

    Im collisions event:

    GML-Quellcode

    1. if display = 1
    2. {
    3. show_message("Text");
    4. display=0;
    5. }

    © 2008 by Teamgrill Productions

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

  • Sorry für die folgende blöde Frage, aber ich arbeite erst paar Tage mit Game Maker...

    Ich habe jetzt bei der Person die mit mir reden sollte einen Create Event erstellt und dan "Set Variable" auf 1 reingemacht. (So habe ich das aus deiner Antwort verstanden)
    Und bei der Collision habe ich das "Display a message" gelassen.

    Naja, das Problem hat sich nicht geändert. Ich habe was falsch gemacht oder?


    MfG: I.B.
  • Original von II.IB.
    ...
    Und bei der Collision habe ich das "Display a message" gelassen.


    wie Soul Reaver sagte, musst du auch im collision-event was ändern:

    Original von Soul Reaver
    Im collisions event:

    GML-Quellcode

    1. if display = 1
    2. {
    3. show_message("Text");
    4. display=0;
    5. }


    otional kannst du "display" auch mit diesem abfragen lassen.
    Battle Command - WeltraumEchtzeitStrategie | Meine GM Spiele auf Box.net
    GCM/FA/O d-(--)@>---xpu s-:- !a C++$@ U- P L+ E W++ N o K-- w++ O? M V PS PE-- Y PGP t 5 X R+++ tv+ b DI D G e+ h? r-- x
  • wie Soul Reaver sagte, musst du auch im collision-event was ändern:

    Original von Soul Reaver
    Im collisions event:

    GML-Quellcode

    1. if display = 1
    2. {
    3. show_message("Text");
    4. display=0;
    5. }


    Achso, ja das habe ich gemacht (das hoffe ich zu mindestens).
    Ich habe in das collision-event das "Execute Code" reingemacht und da den von Soul Reaver angegebenen Code reingeschrieben.

    Und bei Create "Set Variable" auf 1 gemacht.

    Und jetzt kommt ein Fehler

    GML-Quellcode

    1. FATAL ERROR in action
    2. number 1 of Create Event for object obj_x: COMPILATION ERROR
    3. in code action Error in code at line 1: 1 += 0 at position 3: Variable
    4. name expected.
  • Hm, ich habe bei "execude a piece of code" das hier reingeschrieben:

    GML-Quellcode

    1. if display = 1 { show_message("Text"); display=0; }


    genau so wie es bei dir auch steht, warum da die + ist weiss ich gar nicht :/


    EDIT: ach ne, sorry. ich habe den Fehler falsch eingetragen:

    GML-Quellcode

    1. FATAL ERROR in action number 1 of Create Event for object obj_x: COMPILATION
    2. ERROR in code action Error in code at line 1: 1 = 0 at position 3:
    3. Variable name expected.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von II.IB. ()

  • Ou man... stimmt..

    Ich lese mal das Variabel Tutorial nochmal durch. Hab es wohl nicht so richtig verstanden.

    EDIT:

    So, jetzt habe ich verstanden wie du das alles meintest Soul Reaver und ich habe jetzt die Variable "display" genant und auf 1 gesetzt. Und bei collision den Code eingegeben und es läuft!

    Ich danke euch 1000mal für die Antworten, hat mir sehr geholfen!

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von II.IB. ()