Hi,

Habe ne Zeit lang ein Skript bzw. einen Skripter gesucht, der mir ein Movementskript erstellen könnte. Genauer gesagt, ich möchte dass die Charaktere nicht 32 pixel weit bei einem schritt laufen sondern 16 pixel.

Ein Pixel Movement Skript ist in meinen Augen 1. sinnfrei und unnötig und 2. zu viel performance fressend.

Ich habe auch glücklicherweise das Skript bekommen. Derula (Techniker von Genocide) hat freundlicherweise sein Movementskript, mit welchem u.a. die bewegungen mit 16 pixel laufen frei zur verfügung gestellt.

Das ist das Skript



Funktioniert auch wunderbar... allerdings ist ein Problem vorhanden. Da man in meinem Fall ja jetzt 16 pixel mit einem schritt macht, kann man quasi auch zwischen 2 events stehen (von der position her). Das sähe so aus:


Wie man vllt. schon ahnen kann, geht es mir genau um so einen Problemfall. Denn momentan ist es so, dass der Held im aufgeführten Beispiel nach unten gehen könnte. Das ist und soll aber nicht möglich sein. Denn, wenn der Held jetzt nach unten geht, steht er zwischen 2 Feldern bei denen keine passability nach links bzw. nach rechts vorhanden ist.

Lösung:


Oben, wenn der Held nach rechts oder links läuft und eben zwischen 2 Feldern steht.

Unten, wenn der Held nach oben oder unten läuft und zwischen 2 Feldern ist.

Beim Roten Punkt sollte keine Bewegung möglich sein, beim Grünen Punkt schon. Das heißt, eine zusätzliche Abfrage bei jeder Richtung, Links und Rechts die selbe Abfrage sowie bei Oben und Unten.

Links und Rechts: Hat oberes Feld eine Begehbarkeit nach unten und unteres Feld eine Begehbarkeit nach oben?

Oben und Unten: Hat linkes Feld eine Begehbarkeit nach rechts und rechtes Feld eine Begehbarkeit nach links?

Ich habe jetzt nur die relevanten Begehbarkeitspfeile reingezeichnet, da es ja sowieso nicht möglich ist, wenn man zwischen zwei Feldern ist, sich z.B. von links nach rechts zu bewegen, wenn eins der 2 Felder keine Begehbarkeit nach links besitzt. Das heißt also auch, dass eben nur die eingezeichneten Pfeile abgefragt werden müssen.

Es wäre wirklich nett, wenn ein fähiger Skripter diese Abfragen in das Skript noch einbauen könnte.

greetz