object_get_index??

  • GM 6

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

  • object_get_index??

    hi,
    gibt es eine möglichkeit den object_index aus dem object_name zu bekommen?
    also es geht darum, dass ich in einer .ini datei gespeichert habe welches objekt erstellt
    werden soll. also hab ich den namen des objektes in der .ini stehen. wenn ich den jetzt aber auslese
    (als string) dann erstellt der gamemaker falsche objekte..
    muss ich jetzt also für jedes objekt, dass ich aus der .ini heraus erstellen möchte erst den object_index
    im GM raussuchen oder geht das auch über eine funktion bzw script?

    ich hoffe die frage ist verständlich :)

    mfg
    him
  • GML-Quellcode

    1. // object_name_to_id('obj_player');
    2. var i, name;
    3. for (i = 0; i < 100000; i += 1) {
    4. if (object_exists(i)) {
    5. name = object_get_name(i);
    6. if (name == argument0) return i;
    7. }
    8. }


    Diese methode ist aber langsam.
    Führ die einmal aus und speicher namen&id in einer liste.
    Und ruf die dann ab.
    :saint:
  • super!!
    vielen dank für die rasend schnelle antwort! das skript funktioniert hervorragend!
    ich nutze es auch nur einmal. es geht ja wie gesagt nur darum zu spiel beginn eine ini auszulesen um später beim aktivieren
    einer quest auf die gespeicherten daten zurückzugreifen.

    also nochmal vielen dank!
  • @MewX das hab ich auch als erstes gemacht, aber er hat komischer weise immer falsche objekte erstellt.. mit derm skript von Tice funktionerts allerdings reibungslos.. ich werds aber morgen nochmal mit dem objektnamen versuchen..
  • Also ich habs jetzt nochmal nur mit dem Objektnamen versucht. Ich kann es drehen und wenden wie ich will, aber es läuft immer darauf hinaus, dass der Gamemaker Objekt 0 erstellt, also in dem Fall das Cameraobjekt, was zur Folge hat, dass nichts mehr funktioniert :S
    Der Eintrag in der ini:
    e = cockroach_en (wenn ich " " nutze machts auch kein Unterschied)
    und zum laden im Gamemaker:
    global.quest[0,4] = ini_read_string ("quest00","e","noone"), auch ini_read_real führt zum gleichen Ergebnis.
    Egas was ich mach, es wird immer das Cameraobjekt mit object_index 0 erstellt. Außer natürlich ich schreib die id direkt rein, aber das wollte ich ja vermeiden.
  • HIM666 schrieb:

    Außer natürlich ich schreib die id direkt rein, aber das wollte ich ja vermeiden.

    Darauf wollte ich hinaus - wenn, dann natürlich so. Wobei ich jetzt aber nicht verstehe, warum du ausgerechnet den Namen und nicht die Id reinschreiben willst. Aber gut, dann kommst du mit meiner Variante natürlich nicht weiter.

    Das hier zu diskutieren ist jetzt der falsche Ort, nicht zuletzt weil ich den Kontext nicht kenne, aber eine ini-Datei ist ja normalerweise öffentlich einsehbar und damit auch einfach zu editieren. Wenn du dieser Ini-Datei indirekt die Macht gibst, beliebige Instanzen zu erstellen, dann kann das zu ganz dicken Probleme führen. Dahingehend solltest du evtl. nochmal dein Konzept überdenken. Aber, wie gesagt, ich kenn die Umstände nicht.
  • Ok, ich will den Namen der Übersich wegen. Die Ini erstellt die Objekte ja nicht, sie speichert lediglich für alle Quests die Texte und die zu erstellenden Objekte, deren Koordinaten, usw. Das alles jedesmal im Gamemaker direkt zu ändern find ich unkomfortabel.

    Dennoch vielen Dank für deine Unterstützung :)
  • HIM666 schrieb:

    Ok, ich will den Namen der Übersich wegen. Die Ini erstellt die Objekte ja nicht, sie speichert lediglich für alle Quests die Texte und die zu erstellenden Objekte, deren Koordinaten, usw. Das alles jedesmal im Gamemaker direkt zu ändern find ich unkomfortabel.


    Genau das meinte ich mit "indirekt Macht geben". Aber ob du diese Gefahr auch als solche siehst bleibt dir überlassen. Ich sags nur für den Fall, dass du daran nicht gedacht hast.
    Manche Leute wollen ja um jeden Preis verhindern, dass man in ihrem Spiel moddet/cheatet etc..
  • Benutzer online 1

    1 Besucher