Главная | Регистрация | Вход Приветствую Вас Гость | RSS
Меню сайта
В начало Главная страница Фотогалерея Видео Online Наш Форум Каталог файлов Загрузка файлов Наша группа в Steam Сервер Minecraft
Мини-чат
Коментарии
CUBA написал:
CUTlet написал:
Куба, есть на линуху...
13Волк написал:
Да тут только 2 вари...
ZeeKee написал:
...да потому что в м...
Статистика

Зарег. на сайте
Всего: 692
Новых за месяц: 0
Новых за неделю: 0
Новых вчера: 0
Новых сегодня: 0
Из них
Админинистраторов: 1
Модераторов: 8
Проверенных: 49
Обычных юзеров: 617
Из них
Парней:644
Девушек: 46

  • Новый игрок
  • liko-com

  • Здесь были
  • Счетчики
    отрывки из Книги..
    Поиск
    [ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
    Страница 1 из 11
    Форум WELL COME » Общий форум » Все для Source Dedicated Server » Основы написания скриптов для CS: Source
    Основы написания скриптов для CS: Source
    CoyotДата: Воскресенье, 19.02.2012, 08:24 | Сообщение # 1
    Подполковник
    Группа: Проверенные
    Сообщений: 119
    Награды: 6
    Репутация: 7
    Статус: Offline
    Как писать скрипты для 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":

    Code

    exec autoscript/scripts.cfg


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

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

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

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

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


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

    Код: Выделить всё
    Code
    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
    б) Чтобы сделать бинд:

    Код: Выделить всё
    Code
    bind c "use weapon_m4a1"

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

    // Quick Pistol Alias //

    Code
    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

    и т. д.

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

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

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

    bind F1 "incrementvar cl_crosshaircolor 0 4 1"

    Code
    **** СТАРЫЙ СПОСОБ ****  
    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"


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


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

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

    Давайте включим образное мышление и представим, что бы случилось, если бы мы могли написать скрипт какого-нибудь отрезка своей жизни. Допустим, мы заскриптовали ежедневный утренний «ритуал» - и вот вместо многофазового процесса «проснуться, умыться, почистить зубы, сделать зарядку, поесть и т.д.» мы производим всего лишь одно действие - какой-нибудь morningscript. Паранойя? Возможно, но человек всю свою жизнь старается найти путь автоматизации повторяющихся изо дня в день действий. Так почему бы это не сделать с нашей виртуальной жизнью, имя которой - Counter-Strike.

    Быстро поздоровались со всем миром - и в бой.
    Написание скриптов для Counter-Strike сродни программированию - а посему не будем уходить от традиций и сходу напишем маленький код, который заставит по нажатию на клавишу [F3] выводить на экран фразу «Hello, World!». Итак, запускаем Counter-Strike, создаем игру на любой карте, открываем консоль (клавиша [~]) и прописываем следующую строку:bind f3 “say Hello, World!”

    Теперь в любой момент игры по нажатию на [F3] вы приветствуете весь мир. В данном скрипте использовалась конструкция bind <название клавиши> “<команды>”, которая присваивает указанной клавише некоторую последовательность команд.

    В более весомых скриптах наряду с bind’ом используют такую конструкцию: alias <название alias’а> “<последовательность команд>”. Использование alias’ов не только облегчает чтение скрипта (что очень полезно при дальнейшем его редактировании) но и расширяет наши возможности. Скоро вы сами поймете, когда можно обойтись, используя лишь bind’ы, а когда к ним необходимо добавлять alias’ы. Кстати, наш первый скрипт мог бы выглядеть и так:alias salute “say Hello, World!”
    bind f3 “salute”

    Как сохранить свой первый проект скрипта? Откройте директорию с игрой и перейдите в папку по адресу \cstrike\cfg. Здесь создайте с помощью любого текстового редактора файл с названием autoexec и измените его расширение с txt на cfg. Теперь откройте созданный файл с помощью все того же текстового редактора и занесите в него нашу строку bind f3 “say Hello, World!”. Отныне вы будете автоматически загружать этот скрипт при каждом запуске игры.

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

    Вот мы и добрались до следующего жизненно важного вопроса - написания config’ов. Config - это файл, в котором хранятся скрипты и настройки. Например, в папке \cstrike\cfg откройте файл config.cfg - в нем прописаны ваши настройки по умолчанию. По ряду причин я рекомендую вам ничего здесь не менять, а вместо этого написать собственный config. Для этого по приведенному только что алгоритму создайте не autoexec.cfg, а, скажем, myconfig.cfg. Занесите туда все свои настройки (это могут быть не только скрипты, но и обычные консольные команды) и сохраните его. Теперь запустите игру, откройте консоль и пропишите exec myconfig.cfg - все, ваши настройки загружены.

    Это совет: добавляйте к вашим скриптам комментарии. Делается это в любом месте после разделителя: //.
    Например://по нажатию на [F3] на экран выводится фраза “Hello, World!”

    //begin
    bind f3 say “Hello, World!”
    //end


    Нетрудно догадаться, что использование config’ов позволяет решить проблему уникальности настроек играющего за компьютером, если последний приходится делить с кем-либо. Достаточно создать для каждого пользователя по одному config-файлу, чтобы он не тратил время и нервы на настройку Counter-Strike в соответствии с его требованиями. Автоматизируем процесс загрузки config’ов, добавив в уже упомянутый autoexec.cfg строки:bind f3 “exec myconfig.cfg”

    bind f4 “exec mother.cfg”
    bind f5 “exec father.cfg”
    bind f6 “exec brother.cfg”
    bind f7 “exec sister.cfg”


    Теперь осталось только сообщить каждому пользователю компьютера, какая клавиша соответствует его настройкам.

    Это совет: чтобы в консоли при загрузке config-файла появлялось сообщение, добавьте в него строку echo “bla bla bla”.
    kb_actis

    В списке стандартных alias’ов можно найти множество очень полезных команд.

    В директории \cstrike\scripts находится файл kb_act.lst. Откройте его, чтобы увидеть стандартные alias’ы и их краткое описание. Знание этих alias’ов поможет вам понимать чужие скрипты и писать собственные. Мне, для примера, пригодилась команда, которая производит снятие screenshot’а. Описание его в kb_act было следующим:

    jpeg - Valve_Take_Screen_Shot

    Новые команды

    Incrementvar

    В Counter-Strike: Source появилась команда, которая позволяет игроку прокручивать значение от максимального до минимального. Синтаксис команды имеет следующий вид: incrementvar <название переменной> <минимальное значение> <максмимальное значение> <инкремент>.
    Вот таким незатейливым образом можно заставить меняться цвет прицела непосредственно во время игры:bind p “incrementvar cl_crosshaircolor 0 4 1″

    А вот еще один демонстративный пример использования команды incrementvar, который позволяет регулировать громкость в любой момент времени. Клавиша [Page Up] - громче, [Page Down] - тише.bind pgup “incrementvar volume 0 1 0.1″
    bind pgdn “incrementvar volume 0 1 0.1″

    BindToggle

    BindToggle позволяет создавать переключатели для команд, которые могут быть в состоянии on или off (0 или 1). Для примера возьмем команду cl_showfps, которая показывает в верхнем правом углу экрана значение вашего fps. Чтобы по нажатию клавиши [F1] количество fps появилось на экране, а при повторном исчезло - используйте следующий скрипт:BindToggle f1 cl_showfps

    Для сравнения, чтобы сделать подобный переключатель в предыдущих версиях Counter-Strike, вам бы понадобились следующие строки:alias fps “fpson”
    alias fpson “cl_showfps 1; alias fps fpsoff”
    alias fpsoff “cl_showfps 0; alias fps fpson”
    bind f1 “fps”

    Покупки

    Пистолеты

    Glock18 Select Fire glock
    USP .45 Tactical usp
    SIG P228 p228
    Desert Eagle deagle
    FN Five-Seven fiveseven
    Dual Beretta 96G Elite elite
    Дробовики
    Benelli M3 Super 90 m3
    Benelli XM1014 xm1014

    Автоматы

    Steyr TMP tmp
    Ingram MAC-10 mac10
    MP5 Navy mp5navy
    UMP 45 ump45
    FN P90 p90

    Винтовки

    Galil galil
    Famas famas
    AK-47 ak47
    Colt M4A1 Carbine m4a1
    SIG 550 Sniper sg550
    SIG 552 Commando sg552
    Steyr Aug aug
    Steyr Scout scout
    AI Arctic Warfare/Magnum awp
    G3/SG-1 Sniper Rifle g3sg1

    Пулемет

    FN M249 Para m249

    Экипировка

    Kevlar Vest vest
    Kevlar Vest и Helmet vesthelm
    Flashbang flashbang
    HE Grenade hegrenade
    Smoke Grenade smokegrenade
    Defuse Kit defuser
    NightVision Goggles nvgs
    Primary Ammo primammo
    Secondary Ammo secammo

    Продолжим наше образование по системе «от простого к сложному». Допустим, вы хотите по нажатию клавиши [F1] купить автомат Калашникова. Для этого добавьте в файл следующую строку:bind f1 “buy ak47″

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

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

    bind f1 “buy ak47; buy m4a1; buy primammo; buy vest; buy hegrenade”
    При этом предметы амуниции в подобном скрипте расставляются в порядке приоритета закупки. Например, если у вас не хватает денег на приобретение всех перечисленных в скрипте элементов, то закупаться будут предметы слева направо. Причем обратите внимание на то, что в приведенном скрипте есть и АК-47, и m4a1. Сделано это для того, чтобы в любой команде по нажатию на [F1] закупался один из стволов - АК отсутствует в арсенале контртеррористов, которые в свою очередь располагают m4a1.

    Чтобы узнать скриптовые название оружия, обратитесь к таблице.
    Это важно: перед вами список названий клавиш в таком виде, в котором следует их «упоминать» в скриптах: space * capslock * escape * f1 * f2 * f3 * f4 * f5 * f6 * f7 * f8 * f9 * f10 * f11 * f12 * backspace * tab * shift * enter * , * ctrl * alt * 1 * 2 * 3 * 4 * 5 * 6 * 7 * 8 * 9 * 0 * a * b * c * d * e * f * g * h * i * j * k * l * m * n * o * p * q * r * s * t * u * v * w * x * y * z * uparrow * downarrow * rightarrow * leftarrow * ins * home * pgup * pgdown * del * end * mouse1 * mouse2 * mouse3 * mouse4 * mouse5 * mwheelup * mwheeldown.

    Общение

    Зачастую на общение с командой во время игры у вас просто нет времени. К счастью, этот процесс можно автоматизировать. Например, этот скрипт сообщает о вашей перезарядке всей команде:alias +relsay “+reload; say_team Please, cover me, I am reloading; radio1; menuselect 1; slot10; wait; wait; slot10″
    alias -relsay “-reload”
    bind “r” “+relsay”

    Теперь, нажав на [R], вы перезарядите оружие, скажете по радио «Cover me» и напишете в игровом командном chat’е сообщение «Please, cover me, I am reloading».
    Еще пример: членам вышей команды может быть полезна информация о том, что вы заметили противника. Нижеприведенный скрипт при нажатии левой кнопки мыши передает в радиоэфире «Enemy Spotted» и открывает огонь:alias +attack3 “+attack; radio3; menuselect 2; slot10″
    alias -attack3 “-attack; slot10; wait; slot10″
    bind mouse1 “+attack3″

    Движение

    Скрипты, кроме всего прочего, могут облегчить вам управление в игре. Сразу же пример - скрипт, который освобождает вас от обязанности постоянно держать клавишу [Ctrl] нажатой:alias ctoggle “crouch”
    alias stand “-duck; bind mouse1 +attack; alias ctoggle crouch”
    alias crouch “+duck; bind mouse1 +release; alias ctoggle stand”
    alias +release “+attack; -duck”
    alias -release “-attack; bind mouse1 +attack; alias ctoggle crouch”
    bind ctrl “ctoggle”

    Теперь по нажатию на [Ctrl] вы припадете к земле, а повторное нажатие приведет к тому, что вы подниметесь.
    Вот еще один скрипт, подобный предыдущему, который позволяет по нажатию на клавишу [Z] переключаться с бега на ходьбу и обратно.alias walk “+speed; -duck; bind q run; bind c crouchwalk; dv1; echo Walking; dv0″
    alias run “-speed; -duck; bind q walk; bind c crouch; dv1; echo Running; dv0″
    alias crouchwalk “+duck; -speed; bind c walk; bind q crouch; dv1; echo Crouching Ready to Run; dv0″
    bind z “walk”


     
    Форум WELL COME » Общий форум » Все для Source Dedicated Server » Основы написания скриптов для CS: Source
    Страница 1 из 11
    Поиск:
    Статистика Форума
    Последнии темы Читаемые темы Лучшии пользователи Сегодня общались
  • натяжные потолки (2)
  • К кому лучше обращаться ? (2)
  • Стоит ли экономить на своём доме? (2)
  • Разбан и Желающие Разбан (753)
  • Хочу стать Админом! (628)
  • Бананы (498)
  • CUBA
  • Steel
  • DEMON
  • yyyM
  • -Барс-
  • Профиль
    MP3
    Новое на Форуме
    написал:
    11:12 Воскресенье liko-com
    написал:
    11:10 Воскресенье liko-com
    написал:
    11:07 Воскресенье liko-com
    написал:
    11:03 Воскресенье liko-com
    написал:
    11:02 Воскресенье liko-com
    Top пользователей
    Опрос
    Вы курите?
    Всего ответов: 353
    Design by © WellCome.moy.su 2017