как сделать скрипт css
Простой слайдер изображений на CSS и Javascript
Автор уже опубликовал скрипт карусели, который также использует только CSS и Javascript. Теперь давайте рассмотрим скрипт слайдера. Он отличается от карусели тем, что одновременно виден только один элемент, а не несколько, и элементы не прокручиваются, а медленно замещаются одно другим. И ещё. В данном слайдере в качестве элементов используются только изображения (слайды), поэтому и называется он простой слайдер изображений.
Навигация осуществляется стрелками “Следующий элемент” или “Предыдущий элемент” и индикаторными точками. Стрелки и точки можно отключить в настройках скрипта. Элементы могут быть показаны с остановкой на первом и последнем элементе или в цикле, когда за последним элементом вновь следует первый. Можно включить автоматический просмотр (пролистывание) элементов, длительность просмотра (интервал между переключениями) регулируется. При наведении мыши на элемент пролистывание прекращается.
Слайдер автоматически подстраивается под любую ширину экрана любого устройства. Убедиться в этом можно сдвигая влево-вправо какую-либо из боковых сторон браузера.
HTML – код слайдера стандартный, за исключением одного: перед изображениями помещён экран, который представляет собой однотонный рисунок белого цвета. Все изображения и экран должны быть одного размера. Число изображений произвольное.
. Стрелки и индикаторные точки располагаются абсолютным позиционированием в соответствующих контейнерах. Для стрелок используются рисунки в виде треугольных скобок, которые, при желании, вы можете заменить своими рисунками. Точки генерируются программой, количество точек равно количеству изображений.
Все изображения располагаются “в стопочку”, одно над другим абсолютным позиционированием в левом верхнем углу объемлющего контейнера. Экран предотвращает схлопывание внешнего контейнера. Всем изображениям присваивается CSS-свойство opacity: 0, кроме первого элемента, которому программа инициализации присваивает opacity: 1, тем самым делая его видимым.
Пролистывание элементов осуществляется плавным изменением opacity из 1 в 0 для видимого элемента и из 0 в 1 для следующего за ним невидимого элемента. Тем самым видимый элемент становится невидимым, а невидимый видимым. Плавность перехода создаёт свойство transition с длительностью 1с и функцией перехода ease-in.
Для того, чтобы слайдер был адаптивным к любой ширине экрана, для изображений нужно указать CSS-свойство width: 100%. Для всех блочных контейнеров (div, ul, li и пр.) также width: 100% или, если нужна ширина в числовых единицах, то только max-width или min-width.
Стили, как обычно, подключаются в заголовке. Скрипт можно подключить по наступлению события onload или в конце HTML-разметки. Файл со скриптом слайдера может выглядеть так:
Вызов слайдера производится по имени класса sim-slider или по идентификатору. Во втором случае можно разместить несколько слайдеров на одной странице.
Пишем CSS лучше и красивее
Скажем честно: писать хороший CSS-код бывает сложно.
Многие разработчики не любят писать CSS. Все что угодно, но только не это! Только не CSS.
Когда при разработке приложений приходилось браться за CSS, это была не самая радостная часть работы. Но ее ведь не избежать, верно? Сегодня порадовать пользователя дизайном приложения настолько важно, что без CSS — никак.
Это я, когда сражаюсь с CSS
Переведено в Alconost
Моя задача сегодня — научить вас писать CSS лучше. Я хочу, чтобы, взглянув на старые проекты, вы подумали: «О боги! Как можно было написать такое?»
А как же CSS-фреймворки? — спросите вы. Они ведь для этого и придуманы — писать хороший CSS-код.
Правильно. Но у них есть недостатки:
Примечание. Это статья не о том, как создавать красивые приложения, а о том, как писать поддерживаемый CSS-код и как его упорядочить.
В примерах я буду использовать SCSS.
SCSS — это препроцессор CSS, по сути — надмножество CSS, которое добавляет некоторые классные возможности, например, переменные, вложенность, импорт и примеси («миксины»).
Далее я расскажу, какие возможности мы будем использовать здесь.
Переменные
В SCSS есть переменные, и основное их преимущество — повторное использование. Предположим, у вас есть палитра цветов для приложения, и основной цвет — синий.
Поэтому синий у вас везде: фон background-color кнопок, цвет color заголовков, ссылок. СИНИЙ — ПОВСЮДУ.
И вдруг синий вам разонравился. Новый фаворит — зеленый.
Вложенность
В SCSS можно использовать вложенность. Поэтому из фрагмента
можно сделать такой код:
Последнее читается лучше, правда? Вложенность позволяет меньше времени тратить на написание сложных селекторов.
Импорт и частичные файлы
Если нужно обеспечить поддерживаемость и удобочитаемость, хранить весь код в одном огромном файле — плохая идея. Если вы экспериментируете или пишете небольшое приложение, это еще терпимо, но на профессиональном уровне… даже не пытайтесь. К счастью для нас, SCSS решает эту проблему.
Мы можем создавать «частичные файлы» — у которых имя начинается с символа подчеркивания: _animations.scss, _base.scss, _variables.scss и так далее.
Не-а. SCSS достаточно умен, чтобы понять, что в этом случае речь идет о частичном файле.
Если вам интересно — почитайте документацию: она достаточно понятно и хорошо написана.
Упорядочивание CSS-кода: методология БЭМ
Часто мы понятия не имеем, какое имя выбрать — хотя именование это важная задача. Представьте, что вы начали писать приложение, а затем решили отложить это дело на несколько месяцев — или, что еще хуже, кто-то взял ваш проект на себя. Если не продумать именование в CSS-коде, будет сложно сходу понять, что имеется в виду в конкретной строчке.
БЭМ помогает решить эту проблему. БЭМ — это соглашение об именовании; расшифровывается как блок, элемент, модификатор.
Эта методология поможет структурировать код, сделать его более модульным и упростить повторное использование. Разберемся, что же значат «блок», «элемент» и «модификатор».
Блоки
Блок можно представить себе как компонент. Возьмем, к примеру, конструктор Lego.
Как из конструктора сделать простой дом? Понадобятся окно, крыша, дверь, пару стен — и всё. Как раз это и есть наши блоки — они несут смысл сами по себе.
Элементы
А как из кубиков конструктора сделать окно? Можно найти кубики, которые выглядят как части рамы, и собрать из них красивое окно. Это и будут наши элементы. Они представляют собой необходимые части блока, но вне блока сами по себе бесполезны.
Модификаторы
Итак, мы сделали какое-то окно. Теперь нам понадобилось зеленое или, например, маленькое окно. Это будут наши модификаторы. Они представляют собой флаги на блоках и элементах, которые используются для изменения поведения, внешнего вида и т. д.
Примечания
Пример
Небольшое упражнение для читателей. Походите по сайтам, на которых вы часто бываете, и подумайте, какие там могли бы быть блоки, элементы и модификаторы.
Например, такую картину я могу вообразить в магазине Google:
Теперь ваша очередь. Проявите любопытство и подумайте, что можно было бы сделать лучше. И конечно, чтобы совершенствовать собственные навыки, нужно самостоятельно искать, экспериментировать и писать код.
Упорядочивание CSS-файлов: принцип «7–1»
Я вас еще не утомил? Отлично! Давайте разберемся, как же упорядочить CSS-файлы. Это здорово повысит эффективность работы и поможет мгновенно находить CSS-код, который нужно поправить.
Пришло время познакомиться с принципом «7–1».
Эти цифры ни о чем вам не говорят, да?
Но всё довольно просто. Нужно следовать двум правилам:
Семь папок:
Основной файл
Сюда импортируются все частичные файлы.
Да, выглядит немножко раздуто, признаю. Но эта архитектура придумана для крупных проектов — а для задач помельче есть другой вариант.
Теперь у нас два варианта:
Верно подмечено! На последнем этапе мы будем компилировать SCSS в CSS.
Из SCSS делаем CSS
Нам понадобятся Node.js и NPM (или Yarn).
Интерфейс у него довольно простой:
Теперь мы знаем, какие инструменты будут использоваться. Остальное сделать еще проще:
Кое-что еще
Перезагрузка на лету
Автоматические префиксы
Мы настроили инструменты разработки — отлично! Теперь поговорим об инструментах сборки, в частности — об этом: Autoprefixer.
Этот инструмент (а точнее, плагин «postcss») анализирует CSS и добавляет к правилам CSS префиксы поставщиков, используя значения из Can I Use.
При создании веб-сайта могут использоваться новые функции, которые поддерживаются не во всех браузерах. Реализовать поддержку таких функций позволяют префиксы поставщиков.
Пример того, как оно будет выглядеть:
Да-да, писать это вручную — утомительно. Облегчит нам жизнь инструмент для автоматического добавления префиксов, который сделает CSS-код совместимым с браузерами без дополнительных усилий.
Итак, чтобы собрать CSS:
Теперь при запуске npm run build будут добавлены префиксы поставщиков, а сам CSS-код будет сжат. Просто магия!
А хотите еще немножко волшебства? Я поднял репозиторий — чтобы вы могли разобраться побыстрее?
Если вам интересно, как я применил эти навыки на странице своего портфолио, загляните в этот репозиторий и полюбуйтесь на результат. Надеюсь, эти примеры помогут лучше понять то, о чем шла речь в статье.
И… это всё на сегодня! Теперь вы умеете писать поддерживаемый модульный CSS-код с возможностью повторного использования.
Перевод статьи выполнен в Alconost.
Alconost занимается локализацией игр, приложений и сайтов на 68 языков. Переводчики-носители языка, лингвистическое тестирование, облачная платформа с API, непрерывная локализация, менеджеры проектов 24/7, любые форматы строковых ресурсов.
Мы также делаем рекламные и обучающие видеоролики — для сайтов, продающие, имиджевые, рекламные, обучающие, тизеры, эксплейнеры, трейлеры для Google Play и App Store.
Руководство по HTML/CSS/JavaScript
Frontend Guidelines
Правила и руководства оформления, форматирования HTML, СSS и JavaScript кода. Его цель — повысить качество кода и облегчить совместную работу и поддержку инфраструктуры.
От переводчика
Приветствую всех снова, меня зовут Максим Иванов, и сегодня я подготовил перевод, который, возможно, окажется для вас полезным. Бенджамин Де Кук (Benjamin De Cock), разработчик из Бельгии, собрал некоторые указания по оформлению кода, которые позиционируют себя как лучшие практики по написанию HTML, CSS, JS. Конечно, существует множество рекомендаций, например, есть хороший гайдлайн от Google, наверное, есть еще что-то, однако, если следовать хотя бы некоторым из них, то можно надеяться, что ваш код станет лучше. В отдельных случаях следование этим гайдлайнам не полезно, а совсем наоборот. В общем и целом, все зависит от вашего опыта и виденья дела, если вы новичок, то скорее вам будет полезно оценить то, что пишут другие и в обществе считается верным, если вы гуру, то наверное вам и не нужны гайдлайны, которые написаны непонятно кем на ваш взгляд. Итак, приступим.
JavaScript
Семантика
HTML5 предоставляет нам достаточное количество элементов, направленных на точное семантическое описание документа или содержимого. Поэтому, убедитесь в том, что у вас все хорошо с лексикой.
Убедитесь, что вы поняли семантику элементов, которые вы используете в своем коде. Очень плохо использовать семантические элементы не по назначению или не в том месте, если бы вы просто оставались нейтральными к этим этим семантическим элементам.
Лаконичность
Старайтесь кратко писать код. Забудьте о своих старых привычках, перетекающих из XHTML.
Читабельность
Читабельность вашего кода не должна иметь второстепенный характер. Конечно, вы не обязаны быть экспертом по оптимизации (WCAG) для того, чтобы наверняка улучшить свой сайт, однако, уже прямо сейчас вы можете начать немедленно исправлять мелочи, которые в итоге помогут сделать ваш код лучше, например:
— использовать атрибут alt правильно
— связывайте имена (links) и элементы (buttons) и называйте их по смыслу (
— это зверство)
— не полагайтесь на название цветов, в качестве информации
— явно связывайте определенной меткой и элемент формы
Язык документа
Определении языка и кодировки символов не является обязательным, однако рекомендуется всегда объявлять их на уровне документа, даже если они указаны в заголовках HTTP. Приоритетной кодировкой символов является UTF-8.
Эффективность
Если нет уважительных причин добавлять загрузку скриптов до контента, старайтесь прописывать скрипты в конце документа, тем самым ваши скрипты не будут блокировать рендеринг страницы. Если у вас очень тяжелые таблицы стилей, старайтесь разбить их на несколько и загружать по отдельности, так чтобы первичный контент был сразу отрисован. Очевидно, чем больше файлов, тем больше HTTP запросов, два запроса, конечно, медленнее, чем один, но в нашем случае, важным фактором будет являться скорость отображения нужного контента.
Точка с запятой
В то время как точка с запятой является чисто технически разделителем правил, CSS всегда относится к точке запятой, как к оператору завершения.
Box model
Блочная модель, в идеале, должно быть одинаковой для всего документа. Глобальное правило * это нормально, однако нужно помнить, что вы не можете изменить блочную модель у специфичных элементов.
Потоки
Не меняйте стандартное поведение элемента, если вы можете обойтись без этого. Сохраняйте элементы в их классическом отображении в потоке документа. Например, удаление пробелов под изображением, не должно влиять на его отображение.
Аналогично, не вытаскивайте из основного потока элементы, если вы можете обойтись без этого.
Позиционирование
Существует множество способов позиционирования элементов в CSS, однако старайтесь ограничивать себя свойствами представленными ниже. В порядке предпочтения:
Селекторы
Минимизируйте сочетания селекторов связанных с DOM. Иногда, лучше добавить лишний класс элементу, который вы хотите найти, чем искать его через три структурных селектора: псевдо-класс, потомок, комбинатор.
Избегайте перегрузку селекторов.
Специфичность
Не используйте значения и селекторы, которые нельзя переопределить. Минимизируйте использование id (идентификаторов) и избегайте правило !important
Переопределения
Переопределение стилей селекторов затрудняет отладку. Избегайте этого, если можете.
Наследование
Не дублируйте определения селекторов, стили которых и так могут передаваться по наследству.
Лаконичность
Пусть ваш код будет немногословным. Старайтесь избегать использование несколько свойств в том месте, где это вовсе не нужно.
Англоязычные обозначения
Предпочтительно использовать английскую математику.
Вендорные префиксы
Не используйте устаревшие префиксы. Если вам действительно необходимо использовать их, в этом случае, добавляйте их перед стандартными.
Анимация
Иногда предпочтительнее использовать переходы (transitions), нежели анимацию (animations). Избегайте анимирование свойств в пользу opacity и transform.
Единицы измерения
Используйте безразмерные значения. Старайтесь использовать rem, если вы рассчитываете все в относительных единицах. Предпочтительно использовать секунды, а не миллисекунды.
Цветовая модель
Если нужна прозрачность, использовать rgba. В противном случае, всегда используйте шестнадцатеричный формат.
Отрисовка
Избегайте http-запросов, если ресурс легко воспроизводится с помощью CSS.
JavaScript
Производительность
Легкочитаемый, выразительный и правильный код важнее производительности. На самом деле, JavaScript никогда не будет вашим узким местом в расчете на производительность. Лучше уделять внимание таким вещам, как сжатие изображений, оптимизация http-запросов и доступа к сети, перерасчет DOM-дерева. Если вы запомните хотя бы одну из рекомендаций в данной статье, опирайтесь на нее.
Независимость от внешнего состояния
Старайтесь создавать свободные функции. Все функции и методы в идеале не должны нести никакого побочного характера, зависеть от внешних данных, и в итоге, они должны возвращать новые объекты, а не вносить изменения в существующие.
Нативность
Полагайтесь на стандартные методы, как можно больше.
Принудительное сравнение
Лишние сравнения не имеют смысл, избегайте их.
Циклы
Не используйте циклы, так как они заставляют вас использовать изменяемые объекты. Полагайтесь на методы Array.prototype.
Если вы не можете использовать методы Array.prototype, используйте рекурсию.
Вот общая функция Loop, делающая рекурсию проще в использовании.
Аргументы
Забудьте об arguments как об объекте. Остаточные параметры это всегда лучший вариант, потому что:
1. Передаваемое имя дает лучшее представление о том, что ожидает функция на входе
2. Остаточный параметр — это массив и он легок в использовании
Использование метода apply
Забудьте метода apply(). Вместо этого используйте оператор распространения (вызова функции).
Использование метода bind
Не используйте bind(), когда есть более идиоматические подходы.
К прочтению:
1. Babeljs (пример в ES5): плохо vs хорошо
2. bind(), а также итераторы в JavaScript
Методы высшего порядка
Избегайте вложенных функций там где это не нужно.
Композиции
Избегайте несколько вложенных вызовов функций. Используйте вместо них композицию.
К прочтению:
1. Babeljs (пример в ES5): плохо vs хорошо
Кеширование
Дорогостоящие операции с большими структурами данных непростительны, если вы не кешируете их.
Переменные
Используйте const вместо let и let вместо var.
Условия
Будьте привержены концепции IIFE’s (немедленно выполняемый функтор), используйте возвращаемые значения в условиях (if, else if, else и switch).
Итераторы
Избегайте цикл перебора for. in
Разница между циклом и методом в том, что цикл перечисляет свойства и из цепочки прототипов.
Объект как ассоциативный массив
В то время как объекты можно законно использовать, как правило, ассоциативный массив (Map) лучше и мощнее. Если сомневаетесь, тогда точно используйте Map.
Каррирование
Каррирование является мощной, но в свою очередь чужеродной парадигмой для многих разработчиков. Не злоупотребляйте.
Читабельность
Не скрывайте намерения вашего кода, используя умные трюки.
Повторное использование кода
Не бойтесь создавать много мелких и многоразовых функций, они очень полезны.
К прочтению:
1. Babeljs (пример в ES5): плохо vs хорошо
Зависимости
Минимизируйте зависимости стороннего кода, если вы не в курсе как он работает. Не нужно загружать всю библиотеку ради нескольких методов, которые легко воспроизводимы:
К прочтению:
1. Babeljs (пример в ES5): плохо vs хорошо
2. Путь JavaScript модуля и документация по библиотеке Underscore
Основы написания скриптов для CS: Source
1. Файл autoexec.cfg
Да, этот файл использовался в предыдущих версиях CS, но в текущих версиях он был заменен на файл userconfig.cfg. Поэтому я начну с информации об этом файле. Файл autoexec.cfg – это файл, который исполняется во время загрузки игры и следует за файлом config.cfg. Что он делает на самом деле, так это переустанавливает значения, ранее заданные файлом config.cfg. Иногда игра сбрасывает значения файла config.cfg на значения по умолчанию, поэтому единственное, что сохранит Ваши установки – это Ваш верный userconfig.cfg.
Сейчас даже хотя файл autoexec.cfg автоматически исполняется игрой, Вы должны фактически сами создать этот файл. Вы можете либо скопировать или переименовать в него Ваш файл config.cfg, или написать его сами в текстовом редакторе (например, в WordPad). Создав такой файл, убедитесь, что он находится в правильной директории. Для Source этот файл должен находится здесь:
C:\Program Files\counter-strike source\cstrike\cfg
Просто убедитесь, что Вы поместили файл autoexec.cfg в ту же директорию, в которой находится config.cfg.
После этого Вы практически готовы. Хорошо еще добавить команду echo в Ваш файл autoexec.cfg, чтобы быть уверенным, что он загружается должным образом. Добавьте что-то типа этого и сохраните файл:echo
2. Размещение
Следующим важным фактором при написании скриптов в CS:Source является их размещение. Хочу еще раз повторить, что Ваши файлы должны быть помещены в правильную директорию, иначе они не будут работать. Вот для примера несколько возможных размещений для CS:Source:
Это дефолтная (домашняя) директория для скриптов. Все, созданные Вами файлы, должны быть помещены в эту директорию или под-директорию.
C:\Program Files\Valve\Steam\SteamApps\ yourusername \counter-strike source\cstrike\cfg
Сейчас Вы, возможно, заметили директорию по названием scripts. Единственное, что должно быть помещено туда – это файл kb_act.lst, для настройки Вашей клавиатуры.
C:\Program Files\Valve\Steam\SteamApps\yourusername\counter-strike source\cstrike\scripts
Мне нравится помещать мои скрипт-файлы в под-директорию директории cfg, чтобы все было четко организовано, похоже на мой AutoScript. У меня есть скрипт, который создает собственную директорию под названием autoscript, содержащую все уникальные скрипт-файлы. Поэтому, когда я даю команду exec на исполнение этих файлов, я включаю полный путь примерно такой, как этот пример исполнения файла «scripts»: exec autoscript/scripts.cfg
CS:Source позволяет игрокам напрямую привязывать (bind) команды на закупку со следующими процедурами, используя команду купить (“buy”) и предмет закупки (item).
Вот здесь приводится назначение команды, пример и список команд:
1. Назначение: buy [item]
а) Чтобы купить АК47, просто пишете в консоли: buy ak47
либо сделать прямой бинд:bind z «buy m4a1; buy vesthelm; buy primammo»
4. Команда «Использовать» (“Use ”)
Использование: use [weapon_xxxx] (xxxx=weapon or item from list below)
Вот несколько примеров:
а) Чтобы прямо выбрать M4, напишите в консоли:use weapon_m4a1
б) Чтобы сделать бинд:bind c «use weapon_m4a1»
в) Чтобы сделать алиас быстрого переключения оружия
// Quick Pistol Alias //
alias qpist «use weapon_deagle; use weapon_usp; use weapon_glock; use weapon_p228; use weapon_elite; use weapon_fiveseven»
Перечень оружия:
5. Радио алиасы
Алиасы прямых биндов радиокоманд не включены в CS:Source, поэтому вы должны их сделать старым добрым способом. Помните, что при использовании этого типа алиасов Вы должны держать клавишу немного дольше, чтобы закрылось экранное меню. Вот быстрый пример:// Roger/Affirmative
alias +roger «rd3; w2; ms1»
alias ms1 «menuselect 1»
6. Команда «incrementvar»
Эта новая команда в CS:Source позволяет игрокам создавать единичные алиасы и бинды, которые могут работать циклично между минимальными и максимальными значениями. Эта команда упрощает способ, который мы использовали ранее для создания длинных цикличных скриптов, содержащих значения переменных.
Использование: incrementvar varName minValue maxValue deltabind F1 «incrementvar cl_crosshaircolor 0 4 1»
alias crsclr «tg_clr»
alias tg_clr «cl_crosshaircolor 1; alias crsclr tg_clr1»
alias tg_clr1 «cl_crosshaircolor 2; alias crsclr tg_clr2»
alias tg_clr2 «cl_crosshaircolor 3; alias crsclr tg_clr3»
alias tg_clr3 «cl_crosshaircolor 4; alias crsclr tg_clr4»
alias tg_clr4 «cl_crosshaircolor 0; alias crsclr tg_clr»
bind m «incrementvar cl_crosshaircolor 0 4 1»
alias tg_clr «incrementvar cl_crosshaircolor 0 4 1»
* Единственным ограничением является то, что Вы можете менять значения либо только в сторону увеличения, либо в сторону уменьшения. Вы не можете делать произвольные изменения, поэтому, если Вам нужны другие вариации, Вам придется использовать старый способ.
7. Команда «BindToggle»
alias fpson «cl_showfps 1; alias fps fpsoff»
alias fpsoff «cl_showfps 0; alias fps fpson»
BindToggle m cl_showfps
8. Команды, связанные с производительностью системы и видеоизображением
Эти настройки напрямую связаны с производительностью системы, качеством видеоизображения и реализмом. Все эти настройки могут очень сильно различаться в зависимости от компьютерной системы, на которой Вы работаете.
cl_detaildist 2802 – Устанавливает расстояние, на котором видны детали предметов (items).
(Рекомендация: оставьте значение по умолчанию или устанавливайте на значения между 1200 и 1800 до тех пор, пока Вы не получите наибольшей производительности при наилучшем качестве.)
(Рекомендация: оставьте значение по умолчанию или устанавливайте на значения между 200-600 до тех пор, пока Вы не получите наибольшей производительности при наилучшем качестве.)
cl_show_bloodsprays [0/1] – Показывает брызги крови. – Может повысить значение FPS в выключенном положении, но минимально.
(Рекомендация:- Оставить со значением «1»)
(Рекомендация:- Оставить со значением «1» для реализма, выключить на «0» для повышения минимальной производительности около воды.)
cl_showfps [0/1/2] – Показывает счетчик fps на верху экрана (0 = Выкл., 1 = Вкл., 2 = сглаженное (smooth) fps)
cl_smooth [0/1] – Включает и выключает сглаживание реального вида из глаз после ошибок упреждения (0 и 1)
cl_smoothtime [0-2.0] – Сглаживает вид на стороне клиента после ошибки упреждения через такое-то количество секунд (0.01 – 2.0). Эта команда действует, только если cl_smooth установлена на «1».
fps_max 132 – Устанавливает максимальное ограничение для Вашего fps.
mat_antialias [0/1] – Это Ваша настрока антиалиасинга. Вы можете менять ее вручную или в меню игры: Options > Video > Advanced menu.
mat_bloom [0/1] – Эффект мягкой подсветки. Он виден на текстурах и придает объектам более реалистичный вид.
mat_bumpmap [0/1] – Установка Бампмэппинга (Bumpmap Setting). При включенном на «1» дает уменьшение FPS на 5-10%. Существует заметная разница в изображении текстур при выключении на «0», но когда я увлеченнно играл, то я этого не замечал.).
mat_clipz [0/1] – Это оптитмизация видеоизображения, которая только «вытягивает» то, что видно на экране на стороне клиента, что приводит к приросту производительности. Если у Вас имеются проблемы с видеоизображением при включенном значении, это значит, что Ваша видеокарта не поддерживает эту функцию, и Вы должны выставить значение на «0».
mat_dxlevel [50/60/70/80/81/90] – Уровень DirectX Level, по умолчанию является оптимальным, но Вы можете настроить его вручную. Хорошей идеей является переключение Вашего dxlevel на другой уровень, а затем обратно на Ваше исходное значение, потом перегрузить Ваши установки Video и перезапустить игру. Например, У вас DX9, Вы переключаетесь на mat_dxlevel 81, а потом обратно на mat_dxlevel 90. После этого Вы заходите в настройки игры и переустанавливаете Video settings, а затем перезагружаете игру. Понижение этого значения может привести к увеличению производительности, но снизит общее качество изображения).
mat_fastnobump [0/1] – Эта настройка, похоже, работает только при включенной mat_bumpmap. При значении «1» эта настройка снижает качество некоторых текстур при повышении производительности.
mat_forceansio [0/1] – Установка Ansio. Вы можете изменить ее вручную или в меню Options > Video > Advanced menu.
mat_vsync [0/1] – обеспечивает синхронизацию с обратным ходом кадровой развёртки
mp_decals [0-9999] – Устанавливает максимальное количество декалей в многопользовательской игре. Уменьшение этого значения повышает производительность, но уменьшает количество декалей, которые сохраняются в памяти на стороне клиента. Также помните, что брызги крови помогут Вам понять, где прячутся игроки и т.п., поэтому, оставляя это значение по умолчанию или даже увеличивая его – это также Ваш выбор.
r_propsmaxdist [0-9999] – Устанавливает максимальную дистанцию видимости предметов. Уменьшение значения по сравнению с дефолтным приводит к росту производительности. Если уменьшить слишком сильно, это приведет к тому, что предметы будут вдруг появляться у Вас на экране, поэтому безопасными значениями являются 600 – 1800, а оптимальным – 1200.
r_rainalpha 2897 – Меняет альфа-фактор цвета дождя. (0=Выкл., более высокие значения делают дождь темнее)
differences – Показывает те настройки, значения которых отличаются от значений по умолчанию.
Вы можете сказать: «Ух ты! Так много разных команд, но какие из них наиболее важные?» Поэтому ниже я привожу те команды, которые я считаю самыми важными с точки зрения влияния на производительность:
9. Сетевые настройки
rate 22081 – Устанавливает максимальное количество байтов информации в секунду, которое может принять хост при загрузке (Download, или входящий траффик). Я прочел тонны статей по этому проказателю за много лет, и каждая из этих статей делает различные выводы относительно того, какое значение этого показателя должно быть. Поэтому я зашел на сервер и провел испытания с различными значениями, чтобы понять, какое из них наилучшее для меня. Я использовал значения rate в 1000, 5000, 10000, 15000, 20000 и 25000 и не заметил никаких существенных различий в значениях таких показателей, как ping, loss или choke. Сервер, на котором я проводил испытания, имел максимальное значение rate, установленное для клиентов, и я, было, подумал, что моё значение в 1000 будет слишком низким, но это оказалось не так.
cl_updaterate 148 – Максимальное количество пакетов обновлений (updates) в секунду, которые Вы запрашиваете у сервера (Download или входящий траффик). Это еще один из тех таинственных показателей, по которому каждого есть своя теория, но все эти теории немного отличаются друг от друга. Эта команда определяет количество пакетов в секунду, которые Вы запрашиваете у сервера. Сервер может поставить ограничение на это значение. Когда я в последний раз проверял настройки сервера, то по умолчанию стояло значение «60». Поэтому Вы можете менять значения около этого уровня, но никакое значение свыше «60» не покажет никакого улучшения.
cl_interp [0-0.1] – Регулирует будут ли вычисляться (интерполироваться) позиции объекта, начиная с такого-то количества секунд в прошлом.
cl_interpolate [0/1] – Обсчитывает объекты на стороне клиента. Изменение этой настройки приведет к чему-то похожему на прыгающий экран, поэтому Вы может быть захотите испытать ее при значении «1» (по умолчанию), а потом выставить на «0».
cl_lagcomp_errorcheck [0/1] – Включает для игрока указатели других игроков для проверки ошибок в позиционировании. При включенном на «1» поможет Вам с точностью Вашей стрельбы путем проверки ошибок в позиционировании. Правда, это помогает, если Вы успеваете прицелиться первым.
net_channels – Показывает информацию о сетевом канале, отличный способ определить Ваши оптимальные сетевые настройки
net_maxfragments – Максимальное число фрагментированных байтов на пакет. У меня по умолчанию 1280 байтов.
Фильм только вышел? а на торренте в плохом качестве?скачать бесплатно фильмы хорошего качества