Wenn der ,,Player'' objekte berührt gibts ne Fehler-meldung und Pickups spawnen nicht

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

  • Wenn der ,,Player'' objekte berührt gibts ne Fehler-meldung und Pickups spawnen nicht

    Das spiel bekommt diese Fehler-meldung wenn der ,,PLayer''# irgendetwas berührt:

    Quellcode

    1. FATAL ERROR in action number 1 of Draw Event for object energy_cont:
    2. Unable to find any instance for object index '0' name 'player_obj' at
    3. gml_Object_energy_cont_DrawEvent_1 (line 2) -
    4. draw_text(view_xview[0]+10, view_yview[0]+30, "Energy: "+string(
    5. player_obj.hp ));


    Und wo ich das spawnen der Pickups geschehen soll...

    Quellcode

    1. //Enemy Death
    2. if hp <= 0
    3. { instance_destroy() ; instance_create (x,y,energy_obj) ; }
    4. //Head towards Player
    5. mp_potential_step(player_obj.x,player_obj.y,enemy_speed,true);


    Hier ist das project wenn der code nicht reicht (alles richtug geschrieben und es funktionirte einmal...)
    Das Project:
    dropbox.com/sh/lq1apkxqiw60841…ohX6BDLQ8-P0CB49YqVa?dl=0
    :headtouch:
  • Also erstmal willkommen im Forum.Wie man dem Compiler entnehmen kann versuchst du im draw event von Object_energy_cont im draw_text auf die variablen von player_obj zuzugreifen. Um diesen Fehler zu umgehen musst du entweder sicherstellen das der Spieler vor dem anderen Objekt erstellt wird, oder du fügst vor das draw eine Abfrage ein:

    GML-Quellcode

    1. if (instance_exists(player_obj)) {
    2. draw_text(x,y,"...");
    3. }


    Das selbe solltest du vor dem mp_potential_step tun.
    Warum das Objekt nicht erstellt wird erschließt sich mir gerade nicht, versuch mal das Spawnen in das
    "destroy event" zu packen.
    132 little bugs in the code. 132 little bugs. Fix a few, set the compiler to stew, 172 little bugs in the code... :vogel:
  • Habs gelöst:

    Ich hatte ,,with (other) instance_destroy'' beim gegner und beim pickup...warscheinlich haben sie sich selber zerstört bevor sie damage mahcne konnten.

    Ausserdem hät ich die Frage: Warum umkreisen gegener und general dinge die die Koodienaten von irgenwas verfolgen und berühren nicht (um Schaden oder andres Zeug auszulösen)
  • Die Funktion setzt speed und direction in die Richtung vom Ziel, aber das stoppen musst du selber realisieren.

    GML-Quellcode

    1. if (point_distance(x,y,target.x,target.y) > 10) {
    2. //mp_step...
    3. }else{
    4. //attack...
    5. }
    132 little bugs in the code. 132 little bugs. Fix a few, set the compiler to stew, 172 little bugs in the code... :vogel: