Nur mit Schlüssel weiterkommen

  • Nur mit Schlüssel weiterkommen

    Hallo, ich habe mal wieder eine Frage, da ich nichts in der SuFu gefunden habe.
    Ich möchte gerne, das man nur durch eine Tür kommt, wenn man auch ein Gegendstand ''schlüssel'' hat.
    Die Tür ist da, der Schlüssel auch, aber noch kann ich den schlüssel nicht einsammeln und einfach so durch die tür ins nächste level...
    wie mach ich das nun, das der schlüssel eingesammelt werden muss?
    (Wenn es geht sogar oben rechts eine anzeige mit dem schlüssel)

    Gruß Christian
  • RoFras Methode würde nicht funktionieren, da sich das Objekt vor der Zerstörung der Tür selbst zerstören würde. Du müsstest die beiden Codezeilen tauschen.

    Ich würde dir aber eher vorschlagen, mit Variablen zu arbeiten, in etwa nach diesem Prinzip:

    Schlüssel-Objekt -> Kollision mit Spieler:

    GML-Quellcode

    1. global.key = true
    2. instance_destroy()


    Tür-Objekt -> Kollision mit Spieler:

    GML-Quellcode

    1. if !global.key speed = 0
    Dieser Beitrag ist Spam.
    | |
    | |
    \. ./
    \/
  • Original von RoFra
    Du kannst erst einmal eine Tür erstellen, die so ist, wie eine normale Wand.
    Dann kommt ins Player-Kollisions-Event mit dem Schlüssel folgendes rein:

    GML-Quellcode

    1. instance_destroy()
    2. with obj_tuer instance_destroy()

    Ihr wisst ja bestimmt, das ich noch nicht lange hier bin, und ich nicht so viel kann :D
    Deswegen muss ich mal wieder nachfragen, weil es irgendwie bei mir nicht klappt!

    Also, ich habe jetzt eine ganz normale Tür da hingesetzt. Und ein ganz normalen schlüssel (Also es wurde bei beiden noch nichts eingeställt)
    Jetzt habe ich als Event bei der Tür ''Kolision'' eingegeben mit dem Schlüssel. Und als Aktion bin ich in der Kategorie ''control'' auf ''execute Code'' gegangen. Jetzt habe ich das Level geladen, aber nichts passierte. Ich konnte durch Tür und Schlüssel durchgehen, aber nichts :(
    Ich wette das klappt super, doch leider weiß ich nicht wie..

    EDIT:
    Der coole code von F.S. klappt sehr gut. jetzt kann man mit dem schlüssel, durch die Tür gehen, aber ohne kommt eine Fehlermeldung. Kan man die auch irgendwie wegmachen? Oder eine eigene wie: ''Sie brauchen einen schlüssel um passieren zu können''?

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

  • Wenn du die Variable von Anfang an deklarierst, kommt keine Fehlermeldung. Schreibe in das Create-Event des Schlüssel-Objekts global.key = false, das sollte funktionieren.
    Dieser Beitrag ist Spam.
    | |
    | |
    \. ./
    \/

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von F.S. ()

  • Stimmt, jetzt kommt keine Fehlermeldung, jetzt geht er aber auch ohne Schlüssel durch die Tür :(
    Ich muss ja nach dem Code von der Kollision von der Tür mit dem Caracter auch auflisten, das er in das nächste Level gehen muss. Ich hbe es extra danach gemacht, weil es ja nicht vorher sein soll, aber er geht, wenn man ohne schlüssel davor geht auch schon.. und das soll ja nicht..
    Ich hoffe ich nerve euch nicht mit meinen Fragen!

    Gibt es da nicht auch irgendwie so ein if code?
    Also wenn der schlüssel geholt wurde, geht die Tür offen, fals nicht, nicht :D

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

  • Ich würde eine Variable machen und diese auf 0 setzen
    und schließlich im collision-event mit dem Schlüssel die Variable +1
    und dann noch im collision event mit Tür
    if var.schluessel=1...destroy instance(other)
    dass du dann halt einfach weiter laufen kannst^^
    bin mir nich ganz sicher wie genau aber ich schätze mal es wird so gehen^^
  • Hallo,
    ich verstehe irgendwie dein Beitrag nicht Royalcash!
    Ich habe aber jetzt noch mal für alle, die mir helfen wollen eine schöne Grafik erstellt, was jetzt genau mein Problem ist.
    Ich hoffe die Arbeit, die Grafik zu erstellen, hat sich gelohnt, und ich schaffe es endlich!
    Danke schonmal.

    Grafik: img267.imageshack.us/my.php?image=gmyt0.png
  • Benutzer online 1

    1 Besucher