Erst nach Beendigung der Quest den Raum verlassen

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

  • Erst nach Beendigung der Quest den Raum verlassen

    Hallo zusammen,

    erst einmal Danke für die Seite, bin langsam am verzweiflen weil vieles nicht klappt ^^'

    Habe keine Ahnung vom Programmieren und vieles durch Videotutorials gemacht. Nun komme ich aber leider nicht weiter.

    Durch das Tutorial

    weiß ich, wie man Quests schreibt (Ich weiß nicht, ob das so allgemein immer so ist, deshalb poste ich es mal mit.)

    Habe das Object GameState und wenn die Quest erledigt ist (am besten nach Ansprechen des NPC, wobei das nicht so wichtig wäre), soll erst mein Teleport gehen. Beides einzeln geht aber netterweise kann man sich auch ohne Beenden der Quest teleportieren. Also, wie schreibe ich es, das man die Quest beenden und danach der Teleport aktiv ist?

    meine GameState Variablen:

    Quellcode

    1. switches[? "quest_intro_started"] = false;
    2. switches[? "quest_intro_gottea"] = false;


    In meinem Warp Object steht:

    Quellcode

    1. if(GameState.switches[? "quest_intro_gottea"] == true){
    2. event_inherited();
    3. dest_room = rm_Forest_01;
    4. }


    Wenn ich das ganze testen will, komme ich nicht einmal in meinem Startraum, denn da kommt folgende Meldung:

    ___________________________________________
    ############################################################################################
    FATAL ERROR in
    action number 2
    of Create Event
    for object obj_Warp_Pub:


    Push :: Execution Error - Variable Get 7.switches(100020, -2147483648)
    at gml_Object_obj_Warp_Pub_CreateEvent_2 (line 1) - if(GameState.switches[? "quest_intro_gottea"] == true){
    ############################################################################################


    Ich dachte ich habe das System verstanden, aber scheint doch nicht so.

    Habe auch schon gegoogelt und hier geschaut doch nichts gefunden (oder ich bin zu doof).

    Danke schonmal für die Hilfe,

    Grüße, Iduna
  • Hab mir das Video jetzt nicht angeschaut und gehe aufgrund des "?" im Array davon aus, dass du ds_map verwendest.
    Bin mir nicht sicher wie der GM mit ds_maps arbeitet, aber kann mir nicht vorstellen, dass auf diese nur lokal vom objekt der die map erstellt ha tzugegriffen werden kann.

    Die Fehlermeldung sagt, dass obj_Warp_Pub nicht auf "GameState.switches" zugreifen kann.
    Heißt dein GameState-Objekt tatsächelich GameState oder evtl anders zb. "obj_Game_State"?
    Und existiert das GameState Objekt auch in dem Room mit dem Teleporter bzw. ist nicht deaktiviert?
  • Vielen Dank für die schnelle Hilfe!

    Danke für die Info, was die Fehlermeldung besagt ^^'
    Das komische ist, das das object in dem Raum ist, "GameState" auch heißt und die Quest funktioniert einwandfrei.
    In der Quest musste ich ebenso mit dem GameState arbeiten.

    Kann ich das vielleicht auch irgendwie anders lösen?

    Zur Erklärung:
    switches[? "quest_intro_started"] = false; <- hiermit ist die Quest gestartet (Beim anreden von dem NPC)
    Dann hebt man einen Gegenstand auf und es änder sich auf
    switches[? "quest_intro_gottea"] = false; (got tea = Ja, es wird ein Tee aufgehoben ^^')
    Ich sehe auch im Hintergrund, das die Quest gestartet und beendet wurde. (Das funktioniert auch alles ^^')