Пишу по заявке)
/run local m, r; if IsFlyableArea() then m={4, 7, 8, 9 } else m={2, 5, 6, 14, 22} end; r=random (1, table.getn(m)); if IsMounted() then Dismount() else CallCompanion("MOUNT", m[r]); end;
Поясняю: числа в массиве m - порядковые номера маунтов в листе транспорта, в 1й массиве летающие маунты, во 2м наземные. Макрос сам определяет можно звать флая или нет, маунта вызывает рандомно из занесенных в массив.