alle objecte im room anzeigen lassen

  • GM 8

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

  • alle objecte im room anzeigen lassen

    hi
    ich wollte wissen wie man z.B. über
    show_message(str)
    alle Objecte die im room sind anzeigen könnte.
    Geht das überhaupt?
    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
  • Wenn du die Anzahl aller Objekte (Instanzen) meinst, dann show_message(string(instance_count)).
    Wenn du die Namen willst, wirds komplizierter, dann müsstest du eine Array oder ds_list anlegen mit den Objektnamen (z.B. durch object_get_name(object_index)).
  • wie soll ich denn
    object_index verwenden?
    es ist nun mal nur eine variable
    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
  • husi012 schrieb:

    wie soll ich denn
    object_index verwenden?
    es ist nun mal nur eine variable

    Wenn du z.B. ein Objekt namens obj_test hast,
    dann kannst du mit object_get_name(obj_test) den Objektnamen abrufen und den String in eine Variable speichern. (obj_test ist in dem Fall der object_index)
    Der object_index gibt ja nur einen real-Wert aus.
    Ist aber jetzt nicht die beste Variante Objektnamen auszulesen. Da definierst du die Namen am besten selbst,
    als Spieler will man weniger den Objektnamen vom Ressourcenbaum des GM wissen.
    Da will man eher den Namen "Baum" sehen als "obj_baum", wenn du weißt was ich meine, aber für Editing/Debugzwecke kann man das durchaus gebrauchen.

    Was willst du denn überhaupt machen?
    So ganz geht das nicht aus der Beschreibung hervor.
  • eigentlich dachte ich an einem Code um dann alle Objecten, die im Room sind einen text zuweisen kann.
    nur um das nicht auch noch zu erklären wolte ich es mit show_message abkürzen
    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
  • husi012 schrieb:

    eigentlich dachte ich an einem Code um dann alle Objecten, die im Room sind einen text zuweisen kann.

    Und der Text soll dann direkt neben oder unter den Objekten stehen?
    Wenn ja, dann kannst du im Draw-Event jedes Objekts einmal draw_self() oder draw_sprite(sprite_index,image_index,x,y) ausgeben und dann mit draw_text() den Objektnamen dazuschreiben.
    Oder wenn du eine Liste erstellen willst, dann kannst du alle Objektnamen in eine Array speichern, wie schon erwähnt.
    Und dann mit einer for-Schleife durchgehen

    husi012 schrieb:

    nur um das nicht auch noch zu erklären wolte ich es mit show_message abkürzen

    Ein bisschen mehr Erklärung solltest du aber trotzdem abliefern, generell.
    Ich kenne mich jetzt nicht genau aus, was du mit "Zuweisen der Objekte zu einem Text" meinst.
    Möglichkeiten die mir einfallen:

    Du willst einen Text neben/über/unter dem Objekt ausgeben
    Du möchtest einen String in allen Objekten abspeichern
    Du möchtest eine Liste mit Objektnamen erstellen und irgendwo im Raum, oder über show_message ausgeben (wohl die wahrscheinlichste Variante) - hierfür habe ich die Möglichkeit mit Arrays schon aufgezeigt. Dazu müsstest du dich natürlich erstmal mit denen auseinandersetzen inkl. Schleifen. Oder du probierst es erstmal mit object_get_name(object_index), wie vorhin auch schon erwähnt.

    Schlage doch mal in der Hilfe nach und lese dir die Funktionen genau durch, das könnte helfen.
  • Du kannst dafür folgende Variable/Array nutzen:

    instance_count* Anzahl der Instanzen, welche momentan im Raum sind.
    instance_id[0..n-1]* Die id der bestimmten Instanz. Wobei n die Nummer der Instanz ist. Beachte, dass die Position einer Instanz im Array sich bei jedem Schritt verändert, benutze deswegen nicht die Werte vorheriger Schritte.


    Für Instanzen von einem bestimmten Objekt kannst du folgende Funktionen nutzen:

    instance_find(obj,n) Gibt die id der (n+1)ten Instanz des Objektes obj an. obj kann ein Objekt oder das Schlüsselwort "all" sein. Wenn es nicht existiert, wird das besondere Objekt "noone" zurückgegeben. Beachte, dass sich die Zuordnung wieder bei jedem Schritt verändert, deswegen benutze nicht die Werte vorheriger Schritte.
    instance_exists(obj) Gibt an, ob eine Instanz des Objektes obj existiert. obj kann ein Objekt, eine Instanz-ID oder das Schlüsselwort "all" sein.
    instance_number(obj) Gibt die Anzahl der Instanzen von Objekt obj an. obj kann ein Objekt oder das Schlüsselwort "all" sein.


    Alternativ würde auch with gehen, je nachdem was du umsetzen willst.

    gm-d.de/help/hh_start.htm?403_05_instances.html
    wupto.net/ Nicht meine Seite!
    We love Koalas.

    GM-D-Spam-o-Meter: 32%
  • ok das habe ich jetzt verstanden,
    aber ich bekomme nur die id von der Variablel instance_id
    aber ich brauche ja den object_index
    sonst hätte ich das fertig
    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
  • Du kannst mit der ID auf die jeweiligen Variablen zugreifen und somit auch auf die Variable object_index.

    GML-Quellcode

    1. var meineTolleInstance;
    2. meineTolleInstance = instance_id[0];
    3. show_message("MeineTolleInstance ist vom Objekt " + object_get_name(meineTolleInstance.object_index));
    wupto.net/ Nicht meine Seite!
    We love Koalas.

    GM-D-Spam-o-Meter: 32%
  • Benutzer online 1

    1 Besucher