Основы написания скриптов для CS: Source

Источник : http://www.counter-script.net/index.php?id=25

Автор: SxRxRnR
Перевел: Palych

               Как писать скрипты для CS Source? Эта статья содержит описание основ написания скриптов для Counter-Strike:Source. Многие из ранее существовавших команд и правил, применимых к написанию скриптов в Counter-Strike, по-прежнему применимы и к Source, но некоторые нет. Поэтому я постараюсь только описать те изменения, которые отличают Source от других версий Counter-Strike.

              1. Файл autoexec.cfg

              Да, этот файл использовался в предыдущих версиях CS, но в текущих версиях он был заменен на файл userconfig.cfg. Поэтому я начну с информации об этом файле. Файл autoexec.cfg – это файл, который исполняется во время загрузки игры и следует за файлом config.cfg. Что он делает на самом деле, так это переустанавливает значения, ранее заданные файлом config.cfg. Иногда игра сбрасывает значения файла config.cfg на значения по умолчанию, поэтому единственное, что сохранит Ваши установки – это Ваш верный userconfig.cfg. Более подробно о создании файла autoexec.cfg можно посмотреть здесь.
              Сейчас даже хотя файл autoexec.cfg автоматически исполняется игрой, Вы должны фактически сами создать этот файл. Вы можете либо скопировать или переименовать в него Ваш файл config.cfg, или написать его сами в текстовом редакторе (например, в WordPad). Создав такой файл, убедитесь, что он находится в правильной директории. Для Source этот файл должен находится здесь:

              C:\Program Files\Valve\Steam\SteamApps\yourusername\counter-strike source\cstrike\cfg

              Просто убедитесь, что Вы поместили файл autoexec.cfg в ту же директорию, в которой находится config.cfg.
              Как только Вы создали autoexec.cfg в правильной директории, Вы захотите добавить в него те настройки и бинды, котороые Вы бы хотели сохранить. Вы можете либо перенести их из файла config.cfg, либо написать их вручную. Убедитесь, что Вы сохранили Ваш файл, и при использовании текстового редактора убедитесь также, что Вы сохраняете этот файл с расширением .cfg, а не со стандартным расширением .txt (Это одна из самых распространенных ошибок при редактировании подобных файлов).
              После этого Вы практически готовы. Хорошо еще добавить команду echo в Ваш файл autoexec.cfg, чтобы быть уверенным, что он загружается должным образом. Добавьте что-то типа этого и сохраните файл:

echo
echo Autoexec loaded . . . . .
echo

              Если Вы откроете консоль при загрузке игры, то увидите надпись "Autoexec loaded . . . . .". Если Вы этого не видите, то Ваш файл не грузится. Вы можете загрузить его вручную, написав в консоли "exec autoexec.cfg" .

              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

              3. Как закупать оружие и оборудование

              CS:Source позволяет игрокам напрямую привязывать (bind) команды на закупку со следующими процедурами, используя команду купить (“buy”) и предмет закупки (item).

              Вот здесь приводится назначение команды, пример и список команд:
              1. Назначение: buy [item]
              2. Примеры:
              а) Чтобы купить АК47, просто пишете в консоли: buy ak47

              б) Чтобы закупить комбинацию оружия и оборудования выможете либо сделать алиас

              alias m4combo "buy m4a1; buy vesthelm; buy primammo"
              bind "q" "m4combo
"

              либо сделать прямой бинд:

              bind z "buy m4a1; buy vesthelm; buy primammo"

              3. Ниже приводится список команд по оружию и оборудованию, которые работают с командой “buy”. Заметьте, как некоторые из них отличаются от прежних версий CS:

              galil - IDF Defender
              ak47 - CV-47
              scout - Schmidt Scout
              sg552 - Krieg 552
              awp - Magnum Sniper Rifle
              g3sg1 - D3/AU1
              famas - Clarion 5.56
              m4a1 - Maverick M4A1 Carbine
              aug - Bullpup
              sg550 - Krieg 550 Commando
              glock - 9x19mm Sidearm
              usp - KM .45 Tactical
              p228 - 228 Compact
              deagle - Night Hawk .50C
              elite - .40 Dual Elites
              fiveseven - ES Five-Seven
              m3 - Leone 12 Gauge Super
              xm1014 - Leone YG1265 Auto Shotgun
              mac10 - Ingram MAC-10
              tmp - Schmidt Machine Pistol
              mp5navy - KM Sub-Machine Gun
              ump45 - KM UMP45
              p90 - ES C90
              m249 - M249
              primammo - Primary Ammo
              secammo - Secondary Ammo
              vest - Kevlar
              vesthelm - Kevlar+Helmet
              flashbang - Flashbang
              hegrenade - HE Grenade
              smokegrenade - Smoke Grenade
              nvgs - Nightvision
              defuser - Defusal Kit

* Примечание: Команды "buyammo1" и "buyammo2" доступны и применяются для покупки одной обоймы боеприпасов для первичного и вторичного оружия соответственно.

              4. Команда «Использовать» (“Use ”)

              1. Вы сейчас должны добавлять команду «использовать» («use») к названию оружия, чтобы немедленно вызвать это оружие для использования.

              Использование: use [weapon_xxxx] (xxxx=weapon or item from list below)

              2. Вот несколько примеров:

              а) Чтобы прямо выбрать 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"
              bind z "qpist"

              3. Перечень оружия:

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                weapon_knife
                            weapon_deagle
                            weapon_usp
                            weapon_glock
                            weapon_p228
                            weapon_elite
                            weapon_fiveseven
                            weapon_ak47
                            weapon_aug
                            weapon_g3sg1
                            weapon_m249
                            weapon_m4a1
                            weapon_m3
                            weapon_mac10
                            weapon_mp5navy
                            weapon_p90
                            weapon_scout
                            weapon_sg552
                            weapon_sg550
                            weapon_ump45
                            weapon_tmp
                            weapon_xm1014
                            weapon_awp
                            weapon_galil
                            weapon_famas
                            weapon_hegrenade
                            weapon_flashbang
                            weapon_smokegrenade
                            weapon_c4

              5. Радио алиасы

              Алиасы прямых биндов радиокоманд не включены в CS:Source, поэтому вы должны их сделать старым добрым способом. Помните, что при использовании этого типа алиасов Вы должны держать клавишу немного дольше, чтобы закрылось экранное меню. Вот быстрый пример:

              // Roger/Affirmative
              alias +roger "rd3; w2; ms1"
              alias -roger "close"
              alias rd3 "radio3"
              alias ms1 "menuselect 1"

              6. Команда «incrementvar»

              Эта новая команда в CS:Source позволяет игрокам создавать единичные алиасы и бинды, которые могут работать циклично между минимальными и максимальными значениями. Эта команда упрощает способ, который мы использовали ранее для создания длинных цикличных скриптов, содержащих значения переменных.

              Использование: incrementvar varName minValue maxValue delta

              bind 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 "tg_clr"

              **** НОВЫЙ СПОСОБ ****
              //Как бинд
              bind m "incrementvar cl_crosshaircolor 0 4 1"

              //Как алиас
              alias tg_clr "incrementvar cl_crosshaircolor 0 4 1"
              bind m "tg_clr"

              * Единственным ограничением является то, что Вы можете менять значения либо только в сторону увеличения, либо в сторону уменьшения. Вы не можете делать произвольные изменения, поэтому, если Вам нужны другие вариации, Вам придется использовать старый способ.

              7. Команда «BindToggle»

              Команда BindToggle является новой командой, которая позволяет Вам создавать «связанные выключатели ("bind toggles") для команд, которые обычно включаются и выключаются , или 0 и 1. Хорошим примером является команда cl_showfps. Чтобы включить cl_showfps, вы используете значение cl_showfps 1, и тогда текущее значение fps Вы увидите в верхней правой части Вашего экрана. Значение cl_showfps 0 убирает эту информацию с экрана. Ниже приведены примеры, как это делалось раньше и как это можно делать теперь.

              **** СТАРЫЙ СПОСОБ ****
              alias fps "fpson"
              alias fpson "cl_showfps 1; alias fps fpsoff"
              alias fpsoff "cl_showfps 0; alias fps fpson"
              bind "m" "fps"

              **** НОВЫЙ СПОСОБ ****

              BindToggle m cl_showfps

              8. Команды, связанные с производительностью системы и видеоизображением.

              Эти настройки напрямую связаны с производительностью системы, качеством видеоизображения и реализмом. Все эти настройки могут очень сильно различаться в зависимости от компьютерной системы, на которой Вы работаете.

cl_detaildist [0-9999] – Устанавливает расстояние, на котором видны детали предметов (items).
(Рекомендация: оставьте значение по умолчанию или устанавливайте на значения между 1200 и 1800 до тех пор, пока Вы не получите наибольшей производительности при наилучшем качестве.)

cl_detailfade [0-9999] - Устанавливает расстояние, на котором детали предметов пропадают.
(Рекомендация: оставьте значение по умолчанию или устанавливайте на значения между 200-600 до тех пор, пока Вы не получите наибольшей производительности при наилучшем качестве.)

cl_show_bloodsprays [0/1] – Показывает брызги крови. – Может повысить значение FPS в выключенном положении, но минимально.
(Рекомендация:- Оставить со значением "1")

cl_show_splashes [0/1] – Показывает брызги на воде - Может повысить значение FPS в выключенном положении .
(Рекомендация:- Оставить со значением "1" для реализма, выключить на «0» для повышения минимальной производительности около воды.)

cl_showfps [0/1/2] – Показывает счетчик fps на верху экрана (0 = Выкл., 1 = Вкл., 2 = сглаженное (smooth) fps)
(Рекомендация:- - Используйте "cl_showfps 1" вместо net_graph, если Вы только хотите посмотреть значение fps. Если Вы хотите получить больше сетевой информации используйте net_graph.)

cl_smooth [0/1] – Включает и выключает сглаживание реального вида из глаз после ошибок упреждения (0 и 1)
(Рекомендация:- - Эту команду Вы должны попробовать прежде, чем использовать. Если У вас игра подергивается, это потому что, вероятно, значение стоит на «1». Попробуйте поиграть со значением «0» и посмотрите как изменится Ваша точность. Если подергивание исчезло, и у Вас нет проблем с точностью, оставьте значение на «0». Только не вините эту настройку, если Вы – NOOB!)

cl_smoothtime [0-2.0] – Сглаживает вид на стороне клиента после ошибки упреждения через такое-то количество секунд (0.01 – 2.0). Эта команда действует, только если cl_smooth установлена на "1".
(Рекомендация - если cl_smooth установлена на "1", попробуйте сначала установить на 0.01 и потом повышайте. Я использовал значение между 0.01 и 0.03)

fog_enable [0/1] - Включает и выключает изображение тумана. Когда fog_enable поставлена на "1", то Вы увидите видимый туман, если он присутствует на карте. Выключая это значение, Вы получите минимальное значение fps на картах с туманом.
(Рекомендация: - Оставить со значением "1" для реализма, выключить на «0» для повышения минимальной производительности).

fps_max [001-999] – Устанавливает максимальное ограничение для Вашего fps.
(Рекомендация: - Не нужно устанавливать этот показатель выше, чем refresh rate Вашего монитора. Определите сколько Hz выдает Ваш монитор при разрешении, на котором Вы играете и оставьте показатель fps_max на этом уровне. У меня выставлено fps_max 85 для 85Hz-1024x768. Такая настройка уменьшает подергивание видеоизображения.)

mat_antialias [0/1] – Это Ваша настрока антиалиасинга. Вы можете менять ее вручную или в меню игры: Options > Video > Advanced menu.
(Рекомендация: - Оставьте значение по умолчанию)

mat_bloom [0/1] – Эффект мягкой подсветки. Он виден на текстурах и придает объектам более реалистичный вид.
(Рекомендация: - Я не увидел никакого увеличения производительности при включении/выключении этого показателя, поэтому рекомендую оставить на «1»)

mat_bumpmap [0/1] – Установка Бампмэппинга (Bumpmap Setting). При включенном на «1» дает уменьшение FPS на 5-10%. Существует заметная разница в изображении текстур при выключении на «0», но когда я увлеченнно играл, то я этого не замечал.).
(Рекомендация: - Установить на "0", чтобы получить 5-10% прирост производительности)

mat_clipz [0/1] – Это оптитмизация видеоизображения, которая только «вытягивает» то, что видно на экране на стороне клиента, что приводит к приросту производительности. Если у Вас имеются проблемы с видеоизображением при включенном значении, это значит, что Ваша видеокарта не поддерживает эту функцию, и Вы должны выставить значение на «0».
(Рекомендация: - Оставьте значение по умолчанию)

mat_compressedtextures [0/1] - Включает и выключает сжатые текстуры («compressed textures»). При выключении на "0", Вы получите минимальное улучшение качества с существенным снижением производительности – на 10-15%. При включении на «1» система использует сжатые текстуры, которые проще обрабатывать. Это похоже на файлы изображений форматов jpeg и bmp. Они выглядят одинаково, но jpeg меньше с лушей компрессией.
(Рекомендация: - Оставить включенной на "1")

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» эта настройка снижает качество некоторых текстур при повышении производительности.

(Рекомендация: - Оставьте значение по умолчанию или выключить на "0")

mat_fastspecular [0/1] - Включает и выключает отражательность для видео тестов. Эта настройка, похоже, действует только при включенной mat_specular. Если Вы выставите ее на "0", когда включена mat_specular, Вы получите небольшой прирост производительности.
(Рекомендация: - Оставьте значение по умолчанию или включите на "1")

mat_filtertextures [0/1] - Включает и выключает фильтрацию текстур. Когда эта настройка выставлена на «0», Вы получите нефильтрованные зернистые текстуры с приростом производительности.
(Рекомендация: - Оставьте значение по умолчанию или включите на "1")

mat_forceansio [0/1] – Установка Ansio. Вы можете изменить ее вручную или в меню Options > Video > Advanced menu.
(Рекомендация: - Оставьте значение по умолчанию)

mat_mipmaptextures [0/1] - Включает и выключает mipmaptextures. Эта команда определяет четкость текстур. Если Вы ее выключите, то получите размытые текстуры с небольшим приростом производительности. В среднем FPS у меня повышался со 110 до 111, когда я ее выключал, что составляет менее 1%.
(Рекомендация: - Оставьте значение по умолчанию или включите на "1")

mat_monitorgamma [0-9.9] – Регулирует показатель gamma монитора (типично - 2.2 для ЭЛТ и 1.7 для ЖК).
(Рекомендация: - Это определенно зависит от личных предпочтений. Я использую 2.0 на моем ЭЛТ).

mat_specular [0/1] - Включает и выключает отражательность. При включении на «1» дает уменьшение FPS на 5%. Я не заметил существенной разницы в качестве при выключении.
(Рекомендация: - Установить на "0" для получения 5%-ого прироста производительности)

mat_vsync [0/1] – обеспечивает синхронизацию с обратным ходом кадровой развёртки
(Рекомендация: - Оставьте значение по умолчанию и установите значение fps_max в соответствии частотой регенерации монитора (refresh rate)

mp_decals [0-9999] – Устанавливает максимальное количество декалей в многопользовательской игре. Уменьшение этого значения повышает производительность, но уменьшает количество декалей, которые сохраняются в памяти на стороне клиента. Также помните, что брызги крови помогут Вам понять, где прячутся игроки и т.п., поэтому, оставляя это значение по умолчанию или даже увеличивая его – это также Ваш выбор.
(Рекомендация: - Оставьте значение по умолчанию или измените его в зависимости от необходимости, имея в виду, что производительность возрастает с уменьшением числа декалей.)

r_decals [0-9999] - Устанавливает максимальное количество декалей. Уменьшение этого значения повышает производительность, но уменьшает количество декалей, которые сохраняются в памяти на стороне клиента. Также помните, что брызги крови помогут Вам понять, где прячутся игроки и т.п., поэтому, оставляя это значение по умолчанию или даже увеличивая его – это также Ваш выбор
(Рекомендация: - Оставьте значение по умолчанию или измените его в зависимости от необходимости, имея в виду, что производительность возрастает с уменьшением числа декалей.)

r_dynamic [0/1] - Включает и выключает динамическое освещение. При выключении Вы получаете прирост производительности при небольшом ухудшении качества изображения.
(Рекомендация: - Оставьте значение по умолчанию или измените его в зависимости от необходимости,"0" – для производительности, "1" – для качества)

r_propsmaxdist [0-9999] – Устанавливает максимальную дистанцию видимости предметов. Уменьшение значения по сравнению с дефолтным приводит к росту производительности. Если уменьшить слишком сильно, это приведет к тому, что предметы будут вдруг появляться у Вас на экране, поэтому безопасными значениями являются 600 – 1800, а оптимальным – 1200.
(Рекомендация: - Оставьте значение по умолчанию или измените его в зависимости от необходимости, имея в виду, что производительность возрастает с уменьшением дистанции.)

r_rainalpha [0-9999] – Меняет альфа-фактор цвета дождя. (0=Выкл., более высокие значения делают дождь темнее)
(Рекомендация: - Оставьте значение по умолчанию или уменьшите для того, чтобы сделать дождь светлее. Не увеличивайте значение.)

r_RainSimulate [0/1] - Включает и выключает симуляцию дождя (0=Выкл., 1=Вкл.)
(Рекомендация: - Личное предпочтение. Выключите на "0", если Вы хотите лучшей видимости и оставьте включенным для реализма. Если Вы хотите и того и другого, то отрегулируйте настройку r_rainalpha так, чтобы и дождь был, и была лучшая видимость.)

r_shadows [0/1] - Включает и выключает shadows
(Рекомендация: - Оставьте значение по умолчанию.)

r_WaterDrawReflection [0/1] - Включает и выключает отражения на воде. Выключая на «0», Вы получите прирост производительности, но вид воды станет нереалистичным, и могут даже возникнуть проблемы с видеорендерингом водных текстур .
(Рекомендация: - Оставьте значение по умолчанию)

r_WaterDrawRefraction [0/1] - Включает и выключает эффект преломления воды. Выключая на «0», Вы получите прирост производительности, но вид воды станет нереалистичным, и могут даже возникнуть проблемы с видеорендерингом водных текстур.
(Рекомендация: - Оставьте значение по умолчанию)

differences – Показывает те настройки, значения которых отличаются от значений по умолчанию.
(Рекомендация: - Используйте для проверки того, какие значения Вы изменили по сравнению с дефолтными.)

Вы можете сказать: «Ух ты! Так много разных команд, но какие из них наиболее важные?" Поэ»ому ниже я привожу те команды, которые я считаю самыми важными с точки зрения влияния на производительность:

cl_smooth
fps_max
mat_bumpmap
mat_compressedtextures
mat_dxlevel
mat_specular

*Примечание – В следующей части своей статьи об основах скриптинга в CS:Source я добавлю образцы типовых конфигов для «высокой производительности», «средней производительности» и «высокого качества».

              9. Сетевые настройки

rate [0-99999] – Устанавливает максимальное количество байтов информации в секунду, которое может принять хост при загрузке (Download, или входящий траффик). Я прочел тонны статей по этому проказателю за много лет, и каждая из этих статей делает различные выводы относительно того, какое значение этого показателя должно быть. Поэтому я зашел на сервер и провел испытания с различными значениями, чтобы понять, какое из них наилучшее для меня. Я использовал значения rate в 1000, 5000, 10000, 15000, 20000 и 25000 и не заметил никаких существенных различий в значениях таких показателей, как ping, loss или choke. Сервер, на котором я проводил испытания, имел максимальное значение rate, установленное для клиентов, и я, было, подумал, что моё значение в 1000 будет слишком низким, но это оказалось не так.
(Рекомендация: - Все, что я могу сказать по этому поводу, – пробуйте разные значения, пока Вы не почуствуете, что достигли наилучшего из возможных соединений. Большинство статей говорит, что для кабельного интернет-соединения налучшими являются значения rate между 10000 и 20000).

cl_rate [0-99999] - Устанавливает максимальное количество байтов информации в секунду, которое может отправить хост (Upload, или исходящий траффик). И опять, Я прочел тонны статей по этому проказателю за много лет, и каждая из этих статей делает различные выводы относительно того, какое значение этого показателя должно быть. Поэтому я зашел на сервер и провел испытания с различными значениями, чтобы понять, какое из них наилучшее для меня. Я использовал значения cl_rate в 1000, 2500, 5000, 75000, 10000 и 20000 и не заметил никаких существенных различий в значениях таких показателей, как ping, loss или choke. И опять, Сервер, на котором я проводил испытания, имел максимальное значение cl_rate, установленное для клиентов, и я, было, подумал, что моё значение в 1000 будет слишком низким, но это оказалось не так.
(Рекомендация: - Пробуйте разные значения, пока Вы не почуствуете, что достигли наилучшего из возможных соединений. Большинство статей говорит, что для кабельного интернет-соединения налучшими являются значения cl_rate между 7500 - 10000).

cl_updaterate [0-999] – Максимальное количество пакетов обновлений (updates) в секунду, которые Вы запрашиваете у сервера (Download или входящий траффик). Это еще один из тех таинственных показателей, по которому каждого есть своя теория, но все эти теории немного отличаются друг от друга. Эта команда определяет количество пакетов в секунду, которые Вы запрашиваете у сервера. Сервер может поставить ограничение на это значение. Когда я в последний раз проверял настройки сервера, то по умолчанию стояло значение «60». Поэтому Вы можете менять значения около этого уровня, но никакое значение свыше «60» не покажет никакого улучшения.
(Рекомендация: - Пробуйте разные значения, пока Вы не почуствуете, что достигли наилучшего из возможных соединений. Большинство статей говорит, что для кабельного интернет-соединения налучшими являются значения 50 - 100. Я использую значение 85, которое отлично работает на сервере с ограничением этого показателя на уровне 60.)

cl_cmdrate [0-999] - Максимальное количество командных пакетов в секунду, отправляемое на сервер (Upload или исходящий траффик). Этот показатель должен устанавливаться пропорционально показателю cl_updaterate. Обычно Ваш входящий траффик составляет от ¼-ой до1/8-ой Вашего исходящего траффика, но опять Вы прочтете в многочисленных статьях, что эти 2 показателя должны быть одинаковыми или очень близкими по значению
(Рекомендация: - Пробуйте разные значения, пока Вы не почуствуете, что достигли наилучшего из возможных соединений. Большинство статей говорит, что для кабельного интернет-соединения налучшими являются значения 30 - 100. Я использую значение 45, которое отлично у меня работает.)

cl_cmdbackup [0-999] – Показывает сколько дополнительных дублирующих пакетов посылается на сервер с каждым командным пакетом (помогает при потере пакетов - packet loss). Увеличение значения этого показателя повышает Ваш ping, но в этом случае Вы посылаете на сервер больше точной информации, что позволяет серверу также более точно посылать информацию Вам.
(Рекомендация: - Пробуйте разные значения, пока Вы не почуствуете, что достигли наилучшего из возможных соединений Большинство статей говорит, что для кабельного интернет-соединения налучшими являются значения 1 - 50. Я использую значение 5 и не заметил большой разницы между 5 и 50.)

cl_interp [0-0.1] – Регулирует будут ли вычисляться (интерполироваться) позиции объекта, начиная с такого-то количества секунд в прошлом.
Это очень ценная настройка, если у Вас есть проблемы с лагами при выключенной команде cl_smooth. Значения этого показателя находятся в связи с Вашим пингом. Поэтому, если у Вас пинг 100 , то Ваш cl_interp должен быть 0.1, а при пинге 50 значение cl_interp должно быть 0.05.
(Рекомендация: - Оставьте значение по умолчанию, только если у Вас нет проблем с попаданиями в хитбоксы (hitbox), и постарайтесь соотнести значение этого показателя с Вашим пингом.)

cl_interpolate [0/1] – Обсчитывает объекты на стороне клиента. Изменение этой настройки приведет к чему-то похожему на прыгающий экран, поэтому Вы может быть захотите испытать ее при значении «1» (по умолчанию), а потом выставить на «0».
(Рекомендация: - Оставьте значение по умолчанию, только если у Вас нет чрезвычайных проблем с попаданиями в хитбоксы (hitbox),.)

cl_lagcomp_errorcheck [0/1] – Включает для игрока указатели других игроков для проверки ошибок в позиционировании. При включенном на «1» поможет Вам с точностью Вашей стрельбы путем проверки ошибок в позиционировании. Правда, это помогает, если Вы успеваете прицелиться первым.
(Рекомендация: - Оставьте значение по умолчанию или измените на "1")

net_channels – Показывает информацию о сетевом канале, отличный способ определить Ваши оптимальные сетевые настройки

net_maxfragments – Максимальное число фрагментированных байтов на пакет. У меня по умолчанию 1280 байтов.
(Рекомендация: - Оставьте значение по умолчанию, если Вы не испытываете серьезных проблем с choke или плохим пингом.)

              10. Заключение

              Этим я завершаю первую часть своих «Основ написания скриптов для CS: Source». В следующую часть я включу Пособие по написанию скриптов для закупки в CS: Source, а также добавлю минимальные и максимальные значения для всех команд в CS: Source. Все команды CS: Source можно посмотреть здесь.

Далее в этом разделе Вы можете посмотреть:

              Как улучшить картинку в CS: Source
              Что такое PING и с чем его едят?
              Как повысить ФПС в CS: Source

Назад

 



 



 

 



      
          
             

 

 

 

 

 

 

 



Hosted by uCoz