Wenn ich dich jetzt richtig verstanden habe steuern die Beine also den Oberkörper. Dieser fragt ab ob er sich bewegen kann, hat aber schon zuvor einen Befehl an den Oberkörper geschickt welches diesen bewegt (so oder so ähnlich ^^°).
Wenn dies tatsächlich so ist würde ich an deiner Stelle tatsächlich auf die IDs zurückgreifen. So wie ich das verstanden habe hat das zweite Event (der Oberkörper) keine weitere Funktion, außer sichtbar zu sein. Nun könntest du diesem Event die Möglichkeit geben sich selbst zu steuern, aber nur eingeschränkt. Ich hab mir den Code in RvB 2 mal flüchtig angeschaut (längst nicht lange genug um ihn zu verstehen ^^) und bin der Meinung, dass ein Kontroll-Event die Bewegung der einzelnen Einheiten berechnet und dann eine Variable auf einen Wert von 1-4 setzt, was dann die Einheiten dazu veranlasst sich in eine entsprechende Richtung (per Route) zu bewegen. So wäre es doch wiederum logisch auch dem Oberkörper die selbe Möglichkeit zu geben, nur in diesem Fall noch etwas erweitert. Deine Beine geben dem Oberkörper per Variable den Befehl in welche Richtung er sich bewegen soll, der Oberkörper überprüft dann die ID des Feldes auf dem er steht. Ist diese ID gleich "Freies Feld" darf er sich bewegen, ist die ID aber bereits "Geschlossenes Feld" (er ist also z.B. schon auf einer Wand) wird die Bewegung gar nicht erst ausgeführt.
Dies sollte bei einer Bewegung nach oben funktionieren, nicht jedoch bei Bewegungen in alle anderen Richtungen.
Dieses Problem zu lösen ist dann wieder etwas schwieriger, wäre aber zu machen wenn du auf einer Map nicht zu viele verschiedene Bodenarten verwendest. Dann könntest du eine weitere ID einbauen (für "Geschlossenes Feld 2" (also für unten, rechts und links), welche du den Bodenfeldern um die Hindernisse herum zuweist. Dazu musst du natürlich jede Bodenart zwei mal haben (einmal mit der ID "Offenes Feld" und einmal mit "Geschlossenes Feld 2"). Zu beachten ist dann nur noch das die Bodenfelder für "Geschlossenes Feld 2" einen Abstand von einem Feld zum Hindernis einhalten müssen sobald sie sich über einem Hindernis befinden (sonst rutscht der Oberkörper auf die Beine, da das "Geschlossenes Feld 2" Feld erst unter den Beinen liegt).

Edit
Sorry, dass mir das erst jetzt auffällt, aber eine Bewegung nach unten braucht natürlich auch ihre eigene "Block" ID. Hier verwende ich dann die ID "Geschlossenes Feld 3". Den obigen Text anzupassen würde jetzt zu lange dauern, ich schätze du kannst dir aber auch so vorstellen was ich meine ^^°
Edit Ende

Dementsprechend müsste also auch die Abfrage im Oberkörper angepasst werden (hier die verkürzte Fassung):
Code:
Event: Oberkörper Einheit 1

<>Fork Variable "Einheit 1 Bewegungsrichtung", 1 same //für "nach unten"
<><>Get Terrain ID [Einheit 1 X | Einheit 1 Y] -> "Einheit 1 Terrain ID"
<><>Fork Variable "Einheit 1 Terrain ID", 4 same //für "Geschlossenes Feld 3"
<><><>Move Event [This Event]: down;
<><>End:
<>Else:
<>Fork Variable "Einheit 1 Bewegungsrichtung", 2 same //für "nach links"
<><>Get Terrain ID [Einheit 1 X | Einheit 1 Y] -> "Einheit 1 Terrain ID"
<><>Fork Variable "Einheit 1 Terrain ID", 3 same //für "Geschlossenes Feld 2"
<><><>Move Event [This Event]: left;
<><>End:
<>Else:
<>Fork Variable "Einheit 1 Bewegungsrichtung", 3 same //für "nach rechts"
<><>Get Terrain ID [Einheit 1 X | Einheit 1 Y] -> "Einheit 1 Terrain ID"
<><>Fork Variable "Einheit 1 Terrain ID", 3 same //für "Geschlossenes Feld 2"
<><><>Move Event [This Event]: right;
<><>End:
<>Else:
<>Fork Variable "Einheit 1 Bewegungsrichtung", 4 same //für "nach oben"
<><>Get Terrain ID [Einheit 1 X | Einheit 1 Y] -> "Einheit 1 Terrain ID"
<><>Fork Variable "Einheit 1 Terrain ID", 2 same //für "Geschlossenes Feld 1"
<><><>Move Event [This Event]: up;
<><>End:
<>End:
<>
Öhm, na ja, ich hoffe das war so einigermaßen verständlich. Kann sein das ich alles was bis jetzt gesagt wurde falsch verstanden habe und das hier alles Mist ist, hoffe aber es passt trotzdem zu deinem Problem und ist auch machbar (hab es nicht getestet ^^°). (Wenn es schon mal in ähnlicher Form gesagt wurde hab ich das wohl überlesen, dann tut mir das leid XD).

Hier noch mal ein Bild wie die Terrain-IDs verteilt sein sollten:

Was ich noch vergessen habe: Das schwarze ist natürlich ein Hindernis, das dunkel graue die Wand darunter...


Edit 2
Beim zeichnen ist mir aufgefallen das man wohl noch 2 weitere IDs braucht XD. Auf der Skizze kannst du es ja sehen. Ich schätze ich muss den Code dafür nicht anpassen da du sicherlich gut genug bist das selber zu tun
Edit 2 Ende

mfg
Phönix Tear