Hi Leute!
Ich habe einen kleinen Skript geschrieben der mir verschiedene Objekte raussucht und deren werte in ein Binary file Speichert.
Nun, die Objekte werden am ende der Abfrage gelöscht um komplikationen zu vermeiden.
Da gibt es jedoch ein Problem: Nachdem ich die Werte speicher und das Objekt lösche, wird nach einem neuen gesucht.
Dabei wird abgefragt ob das !NEUE! Objekt eiine Bedingung erfüllt. Wenn ja, dann sollen die Werte wieder gespeichert werden und das Objekt soll wieder gelöscht werden.
Komischerweise sagt er mir immer dass er die X-Koordinate des Objekts nicht kennt.
Hier mal der Skript:
Alles anzeigen
Was ich bis dato herausfinden konnte ist, dass wenn ich die letzte zeile
auskommentiere, kein Bug auftretet.
Ich glaube der GM versucht auf die x-Koordinate des zerstörten Objekts zuzugreifen. Die Frage aber ist: WIESO? Vor der Abfrage prüfe ich immer das nächste Objekt ab.
Seht ihr irgendeinen Fehler im Syntax? Evtl übersehe ich etwas.
Ich habe einen kleinen Skript geschrieben der mir verschiedene Objekte raussucht und deren werte in ein Binary file Speichert.
Nun, die Objekte werden am ende der Abfrage gelöscht um komplikationen zu vermeiden.
Da gibt es jedoch ein Problem: Nachdem ich die Werte speicher und das Objekt lösche, wird nach einem neuen gesucht.
Dabei wird abgefragt ob das !NEUE! Objekt eiine Bedingung erfüllt. Wenn ja, dann sollen die Werte wieder gespeichert werden und das Objekt soll wieder gelöscht werden.
Komischerweise sagt er mir immer dass er die X-Koordinate des Objekts nicht kennt.
Hier mal der Skript:
GML-Quellcode
- //nun gehe die Items nochmals durch. diesmal speicher sie im Chunk
- var item_count;
- item_count = instance_number(obj_dropped_item);
- for(u=0;u<item_count;u+=+1){//gehe alle Items durch
- var item_r;
- item_r = instance_find(obj_dropped_item,u); //Hol die dir ID des einen Items
- if (scr_get_chunk_ID_object(item_r.x) == gID){//<<< Genau HIER erkennt er die "item_r.x" Variable NICHT!
- with self var item_x;
- item_x = item_r.x - scr_get_chunk_verschiebung(scr_get_chunk_ID_object(item_r.x))*16;
- file_bin_write_byte(item_save,0);//0 = item (1 = mob)
- file_bin_write_byte_ext(item_save,real(item_r.item_ID)); //item-ID
- file_bin_write_byte_ext(item_save,real(item_x));//x-koordinate
- file_bin_write_byte_ext(item_save,real(item_r.y));//y-koordinate
- file_bin_write_byte_ext(item_save,real(item_r.destroy_time_left));
- file_bin_write_byte_ext(item_save,real(item_r.pickUp_time_left));
- with item_r instance_destroy(); //Lösche das Item
- }
- }
Was ich bis dato herausfinden konnte ist, dass wenn ich die letzte zeile
auskommentiere, kein Bug auftretet.
Ich glaube der GM versucht auf die x-Koordinate des zerstörten Objekts zuzugreifen. Die Frage aber ist: WIESO? Vor der Abfrage prüfe ich immer das nächste Objekt ab.
Seht ihr irgendeinen Fehler im Syntax? Evtl übersehe ich etwas.