Ergebnis 1 bis 3 von 3

Thema: Event/Terrain Lokalisation

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1

    Event/Terrain Lokalisation

    Hallo allerseits,

    ich versuche derzeitig ein kleines Pathfindingskript in mein Spiel zu integrieren und habe auch das Grundgerüst fertig, d.h. das Objekt meiner Wahl findet auch sein Ziel und begibt sich dorthin. Allerdings ist die Methode dabei nicht ausreichend effizient und Hindernisse werden bislang nur dadurch registriert, da das Objekt nach einem weiteren Schritt immer noch auf derselben Stelle verharrt. Jetzt zu meiner eigentlichen Frage - Gibt es eine Abfragemöglichkeit, dass sich in einer der vier Himmelsrichtungen vom Objekt aus gesehen ein Event oder ein Hindernis in Form des Terrains (Wasser, Fels etc.) gibt?

    Bsp.:

    Mein gewähltes Objekt befindet sich auf Position (6;5) und das Ziel auf Position (14;10). Derzeitig berechne ich den kürzesten Weg in dem ich die Achse zur Bewegung wähle, die die wenigsten Schritte für den Anfang braucht. Hier wäre dies also die Y-Achse da ich hier erstmal nur 5 Schritte machen muss (10-5=5). Mein Objekt bewegt sich also nach unten. Jedoch befindet sich ein Hindernis auf der Position (6;9) weshalb das Objekt nur 4 Schritte machen kann und dann stehen bleibt. Per Abfragen wechsel ich nun die Richtungsangabe und das Objekt bewegt sich eine Position nach rechts und versucht wieder den alten Weg einzuschlagen, also nach unten zu laufen etc. Funktioniert auch wunderbar, jedoch würde ich gerne diverse Fragen einbauen ob sich in unmittelbarer Nähe ein Hindernis befindet. Das Objekt soll diese praktisch "sehen" können und dementsprechend handeln.


    Vielen Dank im Voraus für eure Bemühungen!

    Gruß,
    Tassadan

  2. #2
    Es gibt im Maker die Befehle "Set Terrain ID" sowie "Set Event ID", die genau das tun, was du brauchst. Durch eine fehlerhafte Übersetzung heissen die Befehle so, eigentlich müsste es lauten "Get Terrain ID" und "Get Event ID"
    Wenn du zB Set Terrain ID anwählst, kannst du ein absolute Position mit x und y Koordinaten oder eine dynamische Position mit 2 Variablen angeben. Anschliessend wird in der Zielvariablen die Terrain Nummer es gewünschten Feldes übergeben. Genauso funktioniert es mit Event ID, hier wird die Nummer des Events in die Zielvariable gespeichert, das sich an der definierten Position befindet. ist dort kein Event vorhanden, erhält die Variable den Wert 0.

  3. #3
    Hallo,

    vielen Dank für die tolle Hilfe! Das minimiert den Code erheblich und ist auch wesentlich effektiver da ich nun andere Algorithmen anwenden kann.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •