PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Koordinaten-Sache (oder?)



Sniez
08.03.2011, 17:31
Ich möchte kurzerhand eine Frage bezüglich Koordinaten stellen. Mein Problem ist folgendes:
In einem Dorf in meinem Spiel haben die Bewohner einen bestimmten Gang, den sie im Paralell Process immer wieder laufen. Nun soll aber immer, wenn man einen der NPC im Weg steht, dieser sagen, dass er nicht im Weg rumstehen soll und 'schubst' ihn von ihm weg. (Wie nett...) Das verläuft auch alles gut, nur ist das Problem, dass wenn der Held einem NPC im Weg steht, weiß ich nicht, in welche Richtung er weggeschubst werden soll. Aber der NPC ist ja ständig woanders, und wenn er einmal nicht nach rechts geschubst werden kann, dann passiert ja gar nichts. Weiß jemand, was ich meine?

Rosa Canina
08.03.2011, 17:45
Folgende Idee:

Im Wegschubsfall:
Koordinaten des Helden speichern.
Dann z.B. zum Feld unter ihm verändern (Y+1).
Terrain ID speichern anhand der Koordinaten
Abfragen, wie diese ist.
In den TileSets alle nicht begehbaren Flecken (LOWER TILE!) auf zB 2, alle begehbaren
auf 1.
If 1 = Wegschubsen, If 2 = alles von vorne, nur diesmal in eine andere Richtung, z.B. Rechts

Das wiederholen, bis man alle vier Richtungen hat.

Multi-Master1988
08.03.2011, 17:51
den sie im Paralell Process

Warum laggt das Spiel dann nicht irgendwann wenn du zuviele Parralle Ereignisse in deine Karte einbaust? O.o

Die einfachste Variante wäre doch das Ereigniss durch Heldberührung/Ereigniss starten zu lassen sowie hier:

http://www.npshare.de/files/f1b5ae1f/Neu%20WinRAR-Archiv.rar

Und du hättest dann den Vorteil ein Ringmenü oder eine Auswahlmöglichkeit noch einzubauen was der Held nun mit den NPC machen soll fragen stellen,gedanken lesen,einfach nur Reden u.s.w. und wenn dann ein Abruchsfall oder der Menüpunkt gehen angewählt wird dann kann der NPC den Helden ja immer noch wegschubsen.

Btw. wie wäre es denn mal mit einem Beispiel wie du es denn genau gemacht hast.Deine Erklärung ist nämlich ein wenig verwirrend.

Lg
Multi-Master1988

Sniez
08.03.2011, 17:53
Huch, Parallel Process? Dann habe ich das falsche Wort benutzt. Nein, kein PP. Ist eben nur 'Repeat Action' bei 'Edit Route'. Rosa Caninas Vorschlag hat funktioniert, danke. ^-^

Cherry
08.03.2011, 18:12
Anstatt der Terrain ID kannst du auch die Try-And-Error-Koordinatenmethode verwenden: Koordinaten des Events speichern, Event mit angehaktem "Ignore Impossible Moves" wegschubsen. Wenn es gegen eine Wand laufen würde, bewegt es sich nicht, wenn du nachher die Koordinaten vergleichst, haben sie sich nicht geändert => Wand. Haben sie sich geändert => Event erfolgreich weggeschubst.

Rosa Canina
08.03.2011, 19:45
Dabei darf man aber kein Wait until Moved verwenden ^^

Dafür funktioniert Cherrys Methode zusammen mit Schritt-Geräuschen, die ja auch normalerweise auf Terrain IDs basieren ^^

Cherry
09.03.2011, 07:08
Darf man schon. Bei Ignore Impossible Movements ist die Bewegung dann sofort abgeschlossen, wenn er gegen eine Wand laufen würde. Sind die Koordinaten dann noch die selben, muss man in eine andere Richtung ausweichen. Bis man halt die richtige findet :)

Rosa Canina
09.03.2011, 10:51
Ja, stimmt. Das hab ich total vergessen XD

Okay, Thema gegessen. Der Threadersteller hat es ja hinbekommen ;)