оссподи if GetPlayerId(GetOwningPlayer(GetSoldUnit())) > 5 then //Если номер игрока выше 6 то
call SetUnitPos(GetSoldUnit(), X1+(GetRandomReal(-30,30)),Y1+(GetRandomReal(-30,30)))
else
call SetUnitPos(GetSoldUnit(),X2+(GetRandomReal(-30,30)),Y2+(GetRandomReal(-30,30)))
endif
x1,y1,x2,y2 сам вычисли из ректов.