Однозначно виноват синтаксис. Во-первых, любое условие, даже в MSTS, всегда заключается в скобки. Это основы программирования как бы

Откуда компьютер знает, что условие уже закончилось и начались действия, которые выполняются после проверки условия? Не удивлён, что не работает. Не забывайте, что это вам не среда программирования, а лишь скромный OR. Во-вторых, каждая команда должна быть в новой строке. OR не понимает, несколько подряд стоящих операторов или процедур. В-третьих, некоторые команды сами по себе немножко иначе работают, если их сравнивать с MSTS и RTS. В основном это касается проверки освобождения путей. Для каждого типа головы свой длины блок-участок.