Ergebnis 1 bis 5 von 5

Thema: [RMXP]-Pfadfindung, wie?

  1. #1

    [RMXP]-Pfadfindung, wie?

    Also folgendes Problem:
    Ich habe jetzt als Event einen Soldaten, der von seiner Patrouille abgekommen ist, jetzt soll er von alleine wieder zu diesem bestimmten Punkt kommen, was ja an und für sich kein Problem ist, wenn auf dem Weg dorthin keine Hindernisse wären, da diese nämlich seinen Weg unterbrechen.

    Meine Frage ist nun, wie ich eine halbwegs intelligente Pfadfindung erstellen kann, die es meinem Soldaten ermöglichen, problemlos zum Ziel zu gelangen?
    Ich habe schon daran gedacht, jedes Hinderniss als Event darzustellen und diese mit dem Soldaten über Map-Variablen zu vergleichen, sodass im Falle einer Übereinstimmung beider Events ein Schritt vom Hinderniss weg bewegt und dann seinen eigentlichen Weg fortsetzt, aber mal davon abgesehen, dass diese Lösung viel zu aufwendig ist, bin ich mir auch nicht sicher, dass es letztendlich funktionieren würde :/

    Naja, es wäre toll, wenn mir jemand in der Sache etwas helfen könnte und notfalls würde ich auch ein Ruby-Skript annehmen, auch wenn ich die Sache nicht ganz verstehe...

    Edit: Achja, bevor ich's vergesse, hier ist der Code, den ich bis jetzt habe:

    Code:
    Control Variables:[XWache1]-=[XWegpunkt]
    Control Variables:[YWache1]-=[YWegpunkt]
    
    Conditional Branch: Variable[YWache1] > 0
    Set Move Route:[Soldat]
    :<$Move Up
    
    Branch End
    
    Conditional Branch: Variable[YWache1] < 0
    Set Move Route:[Soldat]
    :<$Move Down
    
    Branch End
    
    Conditional Branch: Variable[XWache1] > 0
    Set Move Route:[Soldat]
    :<$Move Left
    
    Branch End
    
    Conditional Branch: Variable[XWache1] < 0
    Set Move Route:[Soldat]
    :<$Move Right
    
    Branch End
    Ja, ziemlich billig gemacht bis jetzt, ich weiß >_>"

    Geändert von Oestinator (08.07.2008 um 17:43 Uhr)

  2. #2
    Sorry, aber so ganz verstehe ich dein Problem nicht
    -Du könntest diese Hindernisse entfernen,
    -am Anfang der Move Route den Befehl "Through" setzen, würde aber nur bei kleinen Steinen etc. logisch aussehen, also nicht für Bäume etc. geeignet,
    -oder du stellst die Move Route so ein, das er die Hindernisse umgeht.

    MfG, diäitsch

    Edit: Oh, habe den Code übersehen, jetzt bezweifle ich, das dir meine Tipps helfen.

  3. #3
    Zitat Zitat von diäitsch Beitrag anzeigen
    Sorry, aber so ganz verstehe ich dein Problem nicht
    Ich hab mich wohl etwas undeutlich ausgedrückt. Ich habe nämlich vor für Gegnertypen eine Art "KI" zu entwickeln, die nachdem diese die Verfolgung auf den Helden aufgeben, wieder auf ihren alten Standort zurückkehren um wieder zu patrouillieren, was sich mit normalen Movement-Events leider nicht lösen lässt ^^

  4. #4
    Es gibt für den XP einige Pfadfindungsskripte, sofern ich mich nicht irre. Such mal in XP-Foren nach "Pathfinding" und "A*".

    Alternativ kannst du selber nach A* suchen und den Algo. nachbauen, ob sich dafür allerdings der Eventcode eignet ist eine andere Sache.

  5. #5
    Nach längerem Suchen habe ich sogar ein geeignetes Script gefunden, mit dem es sich auch gut arbeiten lässt. Damit müsste das Problem gelöst, danke MagicMagor.

Berechtigungen

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