Inventar Problem

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

  • Inventar Problem

    Ich habe in meinem obj_inventory eine Variable sword = 0
    Nun habe ich ein obj_knife, in dessen Kollisions Event obj_inventory.sword = 1 gesetzt wird. Außerdem soll anschließend im obj_inventory draw event das obj_knife auf x = 88 und y = 136 gedrawt werden.
    Doch sobald mein Player mit dem obj_knife kollidiert, kommt dieser Fehlercode und das Spiel crasht:


    ___________________________________________
    ############################################################################################
    FATAL ERROR in
    action number 1
    of Step Eventobj_player
    for object obj_knife:

    Unable to find any instance for object index '53' name 'obj_inventory'
    at gml_Object_obj_knife_CollisionEvent_0_1 (line 1) - obj_inventory.sword += 1;
    ############################################################################################
    Es gibt 10 Arten von Menschen: Diejenigen, die Binärcode verstehen und die, die es nicht tun ^^
  • dein Objekt obj_inventory ist nicht im room.
    Es kann
    • nicht im room platziert sein
    • schon vorher zerstört sein
    • deaktiviert sein
    Um so einen Fehler zu verhindern, solltest du ein

    GML-Quellcode

    1. if(instance_exists(obj_inventory))

    packen.
    Hier bietet es sich aber nicht an, da es dann nie den gewünschten Effekt bietet.
    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
  • pack in ein Control obj oder sonst irgendeines mal das hier ins draw gui:

    GML-Quellcode

    1. ​draw_text(100,100,"Inventory exists:"+string(instance_exists(obj_inventory)));
    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
  • Ja :)
    Habs vergessen ^^
    Da steht jetzt oben Links eine 1 oder 0. wann steht da was?
    0 bedeutet, dass das Objekt nicht existiert.


    Edit: Achso obj_player und obj_knife sind aber nicht im rm_inventar wie man zumindest aus den Namen lesen kann.
    Dafür musst du dann zB. eine globale Variable haben, die dann obj_inventar ausliest.
    Andere Möglichkeit wäre, obj_inventar in jedem Room zu haben (am besten auf persistent stellen) und dann aber nur im room rm_inventar wirklich aktiv handeln zu lassen.
    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

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