Distanz und Einheitenabfrage

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

  • Distanz und Einheitenabfrage

    Ich habe nur jeweils eine Einheit pro Seite. Das lässt sich noch sehr einfach regeln.

    Abfrage vor dem Schuss: (CanShot == true) && (distance_to_object(instance_nearest(x,y,objEnemy)) < 100)

    Was jedoch, wenn ich mehr Gegner habe? Da würde ich das evtl. richten, das die Seite, also Variable Side auf entweder die Spieler Seite (Side = 1) oder für den Computergegner (Side = 2) gesetzt wird.

    Bei der Abfrage wird dann gefragt, ob die Seite dann 2 ist, dann wird geschossen.
    Wie frage ich das jetzt ab?

    Dies hier: (CanShot == true) && (distance_to_object(instance_nearest(x,y,all).Side == 2) < 100), funktioniert nicht. Wie würdet ihr das regeln?

    MFG Burnix

    [ Edit: ]
    Habe versucht aus Purper schlau zu werden, versteh aber kein Wort Holländisch.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Burnix ()

  • Quellcode

    1. gegner = instance_nearest(x,y,all);
    2. if (instance_exists(gegner))
    3. {
    4. if (CanShot == true && distance_to_object(gegner) < 100 && gegner.side ==2)
    5. {
    6. blabla...
    7. }
    8. }


    Der Code wird aber so nicht hinhauen, da er dann nicht schießt wenn ein freundliches Objekt näher ist als ein feindliches. Da musst du dir noch was einfallen lassen oder du passt die Sache auf jeden Gegnertyp extra an anstatt das Keyword all zu verwenden.
    Einige meiner Spiele:
  • Gibt es denn vielleicht eine andere möglichkeit, Gegner zu erkennen? Mit Arrays vieleicht? Aber mit denen kenne ich momentan nicht aus.

    Dein Code interceptor ist zwar nicht schlecht, will halt nicht in der nähe von einem Verbündeten.

    Edit:
    Was bezwekt der Befehl instance_find(obj,n) ? Das mit dem n kapiere ich nicht..
    Laut hilfe: Gibt die id der (n+1)ten Instanz des Objektes obj an.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Burnix ()

  • Wenn mehrere Instanzen von einem Objekt erstellt werden, z. B. mehrere Gegner, dann kann man die nicht mehr über den Objektnamen steuern. Soweit ich weiß kann man über den Objektnamen dann nur die ersterstellte Instanz ändern. Wenn du jetzt eine bestimmte Instanz suchst, dann kannst du die hier geordnet nach Erstellungsreihenfolge finden. z.B. um die letzterstellten Gegner aufzurufen nimm diesen Code:

    Quellcode

    1. letztergegner=instance_find(gegner,intance_number(gegner)-1));
    Einige meiner Spiele:
  • Ah gut, hab ich verstanden. Hilft mir wohl nicht weiter.

    Gibt es andere möglichkeiten, Spielerseiten zu Identifizieren so dass man beide durch einen Befehl abfragen kann, wie weit der nächste Gegner entfernt ist.
    Ein Gegnertyp ist ja überhaupt kein problem, läuft super. Bei mehreren Objekten sehe ich aber keine möglichkeit.

    Laut dem Script von dir interceptor, geht das ja nicht bei einem näheren Verbündeten. Vielleicht könne man ja auch irgendwie den Verbündeten "überspringen"?