mp_potential_step-Fehler

  • GM 8
  • mp_potential_step-Fehler

    Hi Leute,

    ich hatte diese Frage in einem anderen Beitrag schon erwähnt, aber da das Hauptthema was anderes war will ich jetzt mal n neues Thema dafür erstellen.
    Undzwar liegt das Problem bei mp_potential_step. Wenn ich auf einen gegner rechtsklicke, bewegt sich der Player zu ihm hin. Wenn er 80 Pixel von ihm entfernt ist bleibt er stehen und fängt an auf den gegner zu schießen. Wenn dieser Gegner allerdings keine Leben mehr hat, wird er zerstört. Das Problem ist jetzt, dass sich der Player nach dem Zerstören auf einen anderen Enemy stellt, der im Raum ist. Könnt ihr mir helfen? Hier die gmk:
    Dateien
    Grüße Stupe
  • Erstmal frage ich wozu mp_potential_step. Kugeln können doch nicht Hinternisse umgehen oder sie verfolgen.
    Benutze doch lieber am Anfang wo die Kugel erstellt wird diesen Code: move_towards_point(x,y,sp)

    Wenn es aber extra ist dann benutze dies im step event von der Kugel:

    GML-Quellcode

    1. if(instance_exists(global.angriffobject))
    2. mp_linear_step(global.angriffobject.x,global.angriffobject.y,6,false)
    3. else
    4. instance_destroy();
  • Hi

    Ich habe zwar dein Programm jetzt nicht angeschaut.
    Wenn dein Spieler zerstört wird und du ihn wieder In den Raum setzt, dann über prüfe einfach ob der Platz frei ist
    im Creat des Players

    GML-Quellcode

    1. if (position_meeting(x,y,Enemy) // prüfe ob an der Stelle ein Feind ist
    2. {
    3. setzt den Player dann wo anders hin
    4. }


    Gruss Drachen :)
  • das Problem liegt an folgendem Code im Step Event von obj_player

    GML-Quellcode

    1. if instance_exists(obj_gotoenemy) and instance_exists(obj_enemy) and distance_to_object(global.angriffobject) >=75
    2. {mp_potential_step(obj_enemy.x,obj_enemy.y,4,false)}


    Nachdem du einen Gegner getötet hast existiert die in global.angriffsobject gespeicherte Instanz nicht mehr. Solange global.angriffsobject keine existierende ID zugewiesen wird (anderen Gegner anklicken) gibt distance_to_object(global.angriffsobject) einen Wert von 1000000 zurück --> größer als 75 --> obj_player bewegt sich zum nächsten Gegner.

    Gibt wie immer mehrere Möglichkeiten das Problem zu beheben.
    Ich habe deinen Code im Step Event mal schnell um die Abfrage erweitert ob die Instanz global.angriffobject existiert:

    GML-Quellcode

    1. if instance_exists(obj_gotoenemy) and instance_exists(obj_enemy) and instance_exists(global.angriffobject) and distance_to_object(global.angriffobject) >=75
    2. {mp_potential_step(obj_enemy.x,obj_enemy.y,4,false)}


    mfg
    G
  • Benutzer online 1

    1 Besucher