Bandileros : другие произведения.

]-[alf-Life 2. Когда вдруг осознал, что игре уже 13 лет...

Самиздат: [Регистрация] [Найти] [Рейтинги] [Обсуждения] [Новинки] [Обзоры] [Помощь|Техвопросы]
Ссылки:
Школа кожевенного мастерства: сумки, ремни своими руками
  • Аннотация:
    Короткая статейка для чайников про то, как сделать давно пройденную вдоль и поперёк игру интереснее. Не прибегая к левым файлам. Тут кое-что интереснее обычного sv_cheats!


  


Добрый день, мальчики и девочки, леди и джентльмены, любители играть в Халф-Лайф. Я, наверное, мог бы написать в предисловии какую-нибудь хвалебную оду халфе. Но не буду разоряться лишний раз, скажу лишь просто - это революционная игра, которая задала новые стандарты качества, и до сих пор не была превзойдена, на мой скромный взгляд, никем.

Движок второй халфы, как и движок первой, унаследовал все самые сильные стороны - открытость, простота, логичность, последовательность. Если во многих других шутерах, стремясь подогнать свой движок к завышенным требованиям и прикрутить к игре побольше свистелок и перделок, производители делали из своей игры настоящее месиво разных полигонов, моделей, текстур, шейдеров и прочего, то Халфа изначально была обречена на успех. Первый движок был превосходен и разработчики продолжили его совершенствовать. Тот редкий случай, когда вторая часть не была неудачным поиском нового пути, как фар-край-2, и не была повторением старого пути, как фаллаут-2.

Теперь понимаете, почему мы все ждём третью часть? Каждая новая халфа - это смена эпохи компьютерных игр жанра FPS. Новая графика, новые возможности, новые стандарты качества.


Я люблю халфу и проходил её много-много раз. Но это стало скучно. Мне откровенно не нравится тот же Рейвенхольм и вводная часть "Через каналы". Теперь я прекрасно могу в голове представить и полностью вспомнить всю игру, каждый её закоулок и из какого тёмного переулка выскочит комбайн.

Поэтому я обратился к самому любимому методу получить удовольствие от игры - к консоли. Читы и Моды - это всегда гут. К сожалению, в движке ХЛ не предусмотрена лёгкая установка модов, как например в Элдер Скроллс, где их можно делать на официальном приложении и запускать из официального лаунчера. И тем не менее, есть много способов повеселиться!


Начну с простого. Оружие. В Шутерах обычно оружие - главный элемент игры. Хотя в халфе нельзя так уж легко установить новую пушку, можно придать старой новые свойства, исправить раздражающие вас косяки. Например, меня очень раздражает малюсенький боезапас у ракетницы и ничтожный урон пистолета, делающий его практически сразу после получения оружия потяжелее неликвидным грузом.

Файлы, из которых игра берёт данные об оружии - это "weapon_*названиеоружия*.txt, например D:\Half-Life 2\hl2\scripts\weapon_357.txt, это файл револьвера.




Давайте препарируем его. Внутри обнаруживается следующее содержание:
"// 357
  
   WeaponData
   {
   // Weapon data is loaded by both the Game and Client DLLs.
      -- "printname" "#HL2_357Handgun"
      -- "viewmodel" "models/weapons/v_357.mdl"
      -- "playermodel" "models/weapons/w_357.mdl"
      -- "anim_prefix" "python"
      -- "bucket" "1"
      -- "bucket_position" "1"
      -- "bucket_360" "0"
      -- "bucket_position_360" "1"
  
   "clip_size" "120"
   "default_clip" "60"
   "primary_ammo" "357"
   "secondary_ammo" "None"
  
  
  
Что это такое? Первый пункт - название оружия, которое печатается вверху экрана. Только в русской локализации этот пункт бесполезно редактировать.
Второй пункт - модель, когда другой игрок или непись берёт в руки оружие. В нашем случае - только непись. Плейермодел, третий пункт - модель, отображающаяся от первого лица. Соответственно, вы можете легко заменить модели одну на другую, порывшись как следует в интернете.
Пункты 5-8 я опускаю, они тут вообще не при чём.

Далее идёт самое любимое. "clip_size" - размер обоймы оружия. Заменим ка мы оружию обоймы на более вместительные. Скажем, у пистолета обойма в сто двадцать патронов. Лучше всего эффект при увеличении обоймы автоматического оружия, дробовика и револьвера.

"default_clip" - количество патронов в оружии по умолчанию. К примеру, если вы замочили комбайна с автоматом, то в подобранном оружии будет именно это количество патронов.

"primary_ammo" - то же, что расширение, указание игре, какие патроны использует оружие. Примари и сэкондари - первичные и вторичные соответственно.
В моей игре главным оружием является пистолет, по простой причине - высокий темп огня. Позже покажу фишку.


Итак, это первая часть редактирования оружия. Мы меняем количество патронов по дефолту и в обойме. Но здесь нельзя изменить ни урон, ни количество носимого боезапаса. Для этого есть второй файл, на этот раз редактировать будет легче. Это D:\Half-Life 2\hl2\cfg\skill.cfg.

Конфиг-файл открывается так же, как и текстовый, блокнотом.

Открыв, увидим в начале файла характеристики NPC:
// ===========
   // NPCs
   // ============
   // Barnacle
   sk_barnacle_health "35" {здоровье бранкла, потолочного липуна}
  
   // Barney
   sk_barney_health "1000" {Барни из чёрной мезы сделали здоровяком}
   ...
   // Citizen
   sk_citizen_health "100" {здоровье граждан сити-17 и членов сопротивления. Однако, в скриптовых сценах они всё равно будут умирать}.

И так далее...

Теперь переходим к главному пункту!

// =================
   // WEAPONS
   // =================
  
   sk_plr_dmg_ar2 "12" {Это импульсный автомат альянса. SK_PLR_DMG_названиеоружия - это урон, который игрок, то есть Фримен, наносит этим оружием. Я усилил ружьё до двенадцати пунктов.}
   sk_npc_dmg_ar2 "3" {Думаю, не нужно долго объяснять, что NPC_DMG - значит, сколько будут наносить урон неписи.}
   sk_max_ar2 "500" (А это - максимальный боезапас, носимый Фрименом)
   sk_max_ar2_altfire "250" (мой любимый пункт - альтернативный огонь. Играть, имея 250 шариков альянса в запасе - веселее. Накопление оружия становится интереснее, а его потеря - трагичнее)
  
   sk_plr_dmg_alyxgun "15" (пистолет аликс. В руках игрока - такой же, как все)
   sk_npc_dmg_alyxgun "15" (Урон от пистолета Аликс можно добавить, чтобы она вас прикрывала, или наоборот, убрать до одной еденицы, чтобы ваш Гордон, в пафосном молчании защищал няшку)
   sk_max_alyxgun "500" (ни на что не влияет, так как патроны у Аликс по умолчанию бесконечные)
  
   sk_plr_dmg_pistol "25" - (О, да, делаем из бесполезного пистольчика серьёзное оружие. Точное, скорострельное!)
   sk_npc_dmg_pistol "3"
   sk_max_pistol "500" (носимый боезапас пистолета.)
  
   sk_plr_dmg_smg1 "12" (тоже важно, так как автомат - основное оружие. Если добавить мощности автомату в руках Неписей, то комбайны будут вас легко нагибать, до восстания не доживёте! Если конечно вы не в годмоде.)
   sk_npc_dmg_smg1 "5"
   sk_max_smg1 "520"
  
   sk_plr_dmg_buckshot "18"
   sk_npc_dmg_buckshot "3"
   sk_max_buckshot "500"
  
   sk_plr_dmg_rpg_round "120"
   sk_npc_dmg_rpg_round "50"
   sk_max_rpg_round "120"
  
   sk_plr_dmg_smg1_grenade "120"
   sk_npc_dmg_smg1_grenade "50"
   sk_max_smg1_grenade "300"
   sk_smg1_grenade_radius "380"
  
   //sk_plr_dmg_gauss "100"
   //sk_plr_max_dmg_gauss "120"
  
   sk_plr_dmg_sniper_round "20" (этого оружия в руках игрока не бывает - это снайперская винтовка альянса).
   sk_npc_dmg_sniper_round "100"
   sk_max_sniper_round "30"
  
   sk_plr_dmg_357 "50"
   sk_npc_dmg_357 "30"
   sk_max_357 "600"
  
   sk_plr_dmg_crossbow "120" (Старый добрый снайперский арбалет. Его даже менять не надо - он хорошо сбалансирован со всех сторон и ничем не раздражает, кроме долгой перезарядки. Эх, учёные, а до СВД не додумались!)
   sk_npc_dmg_crossbow "10"
   sk_max_crossbow "100" (ня)
  
   sk_plr_dmg_airboat "12" (а это - урон пулемёта, устанавливаемого на аэроглиссер, используемой в главе "через каналы".
   sk_npc_dmg_airboat "3"
  
   //sk_dmg_sniper_penetrate_plr "10"
   //sk_dmg_sniper_penetrate_npc "100"
  
   sk_plr_dmg_grenade "150"
   sk_npc_dmg_grenade "75"
   sk_max_grenade "500"
  
   sk_plr_dmg_crowbar "50" {монтировка Гордона Фримена имеет такой низкий урон, что диву даёшься. Я добил до полусотни}
   sk_npc_dmg_crowbar "5"
  
   sk_plr_dmg_stunstick "10" (Это шоковая дубинка Альянса. Тоже не бывает в руках у Фримена)
   sk_npc_dmg_stunstick "40" // Kill a citizen in one hit (зато гражданских убивает с одного тычка)
  
   //sk_plr_dmg_satchel "150"
   //sk_npc_dmg_satchel "75"
   //sk_satchel_radius "150"
  
   // Mortar Synth projectile
   //sk_dmg_energy_grenade "2"
   //sk_energy_grenade_radius "100"
  
   sk_dmg_homer_grenade "20"
   sk_homer_grenade_radius "100"
  
   // Bullsquid spit
   //sk_dmg_spit_grenade "5"
   //sk_spit_grenade_radius "50"
  
   //sk_plr_dmg_tripmine "150"
   //sk_npc_dmg_tripmine "125"
   //sk_tripmine_radius "200"
  
   sk_plr_dmg_fraggrenade "1250" (фраггренаде - обычная ручная граната. Ни разу не святая... Хотя можно залезть в прошлый файл, поменять название на СВЯТАЯ_РУЧНАЯ_ГРАНАТА и изменить характеристики на те, которые здесь есть. Токмо не забудьте включить годмод!)
   sk_npc_dmg_fraggrenade "75"
   sk_fraggrenade_radius "1000"


А Вот мы и добрались до чарджеров! Это очень важно для баланса. Здесь мы можем поменять характеристики зарядных устройств. Первое - сюитчарджер, не нуждается в представлении.
   // HEALTH/SUIT CHARGE DISTRIBUTION
   sk_suitcharger "75" [Можно беспалевно менять на 750]
   sk_suitcharger_citadel "500" [удваиваем или даже утраиваем]
   sk_suitcharger_citadel_maxarmor "200"
   sk_battery "15" (батарейка восстанавливает 15 эргов? Добавим до 25, а можно и до 50ти)
   sk_healthcharger "50" (тоже можно добавить до сотни, а ещё лучше - до тысячи. Тогда хелчарджер станет полезной штукой, способной стать опорой в обороне, а не просто настенным хелкитом)
   sk_healthkit "25" ((Хелкит обыкновенный. Восстанавливает 25 здоровья. Меняем эту цифру на 50, если хотим сделать игру проще, или на 10, если хотим сделать игру жёстче!))
   sk_healthvial "10"
  
   // Combine balls (переводится как "яйца комбайнов" Игнорируем этот пункт)
   sk_combineball_seek_angle "15"
   sk_combineball_guidefactor "1.0"
  
А вот тут показано, сколько мы наносим\получаем урона. Это основная веселуха. Согласитесь, скучно, что выстрел в пузо и в пятку одинаково смертелен?
   // NPC damage adjusters (Дамаг, наносимый неписям, или неписями. Нужно проверить. В любом случае, для порядку должно быть одинаково, так что один хрен. Я напишу характеристики для завышенного дамага, который делал ранее, но если вы наоборот, занизили дамаг, то характеристики нужно повышать)
   sk_npc_head "3" (Хедшот - тройной урон)
   sk_npc_chest "2" (грудь. По умолчанию стоял 1 )
   sk_npc_stomach "0.5" - урон при огне в пузико - 0.8 от обычного
   sk_npc_arm "0.5" - урон в руку - половина от номинального
   sk_npc_leg "0.3" - в ногу - тридцать процентов.
  
По умолчанию стояли такие показатели:
   // player damage adjusters
   sk_player_head "3"
   sk_player_chest "1"
   sk_player_stomach "1"
   sk_player_arm "1"
   sk_player_leg "1"

По умолчанию функция разделения не реализована девелоперами. Есть разница урона по голове, груди, животу, ногам и рукам, но, как видите, урон по башке - тройной, остальной - номинальный. Я поменял это так, как счёл нужным, учитывая, что у меня увеличенный боезапас.

Если вы хотите более острых ощущений - то вместо классических изменений параметров можете тонко настроить параметры оружия, боезапаса и урона по разным частям тела, параметры аптечек и настенных зарядников.



Ладно, все знают, как читерят в ХЛ2. Вводим SV_CHEATS 1 и можно вводить классические читы God, Noclip, notarget и так далее. Иногда я использовал консоль, если игра тупила и приходилось перезагружать AI, "искуственный интеллект" неписей.
Тут же можно редактировать параметры оружия, причём - теми же самыми командами. То есть можно беспалевно ввести в консоль SK_max_357_500 и будет у нас 500 патронов револьвера. Только подобная модернизация быстро слетает при загрузке-подгрузке-перезагрузке игры. Так что - самый надёжный способ - сразу прописать в конфиг нужные параметры.


Едем дальше! Мой самый-самый-самый любимый способ сделать игру интересной, даже если прошёл её 100500 раз.
Буллеттайм. Да, не удивляйтесь, в халфу можно сделать буллеттайм всего лишь средствами родного движка без установки каких-либо там модов. Что и говорить - движок Халфы - это своеобразный Фауст от товарища Гёте, только в деле программирования игровых движков.

Чтобы сделать буллеттайм просто копируйте нижеследующий текст в блокнот:
   sv_cheats 1
   bind b "+BT"
   alias "+bt" "host_timescale 0.3;phys_pushscale 20;cl_phys_timescale 0.1;Physcannon_maxforce 10000;physcannon_minforce 3000;physcannon_tracelength 1000;physcannon_maxmass 8000;physcannon_pullforce 8000"
   alias "-bt" "host_timescale 1;phys_pushscale 1;cl_phys_timescale 1;Physcannon_maxforce 1500;physcannon_minforce 700;physcannon_tracelength 250;physcannon_maxmass 250;physcannon_pullforce 4000;"

   Сохраняем файл, ставим вместо расширения .txt - .cfg. Файл необходимо загрузить в Half-Life\HL2\cfg

и в игре в консоль прописать "exec bullettime.cfg"
Наслаждайтесь - при нажатии на "b" ваш Фримен станет Нэо. В смысле - сможет уворачиваться от пуль снайперов, хотя это очень непросто. Но можно. А ещё это очень красиво выглядит, особенно если гранатой в какой-нибудь ящик запустить. Фрагменты так красиво разлетаются облачком...


Чтобы ещё красивее разлетались облачком, измените в мире халфы гравитацию - команда "SV_GRAVITY 600" - 600 это гравитация по умолчанию. Чтобы уменьшить её, нужно ввести число поменьше. Эта гравитация будет влиять на высоту прыжка, урон от падения с высоты, траекторию баллистики - гранаты будут лететь теперь по более пологой траектории. Особенно это помогает в миссиях, где вам нужно держаться на камнях, не ступая на песок, или красться по доскам в рейвенхольме. Хотя и в других местах можно развлечься.


Именно так вы сможете по сути написать новый баланс для любимой игры. Превратить её в точный хитман-шутер с буллеттаймом и выстрелами в голову, либо в кровавую мясорубку, где вы в начале игры зажимаете гашетку и отпускаете только попав в цитадель. Именно так можно поменять параметры лечилок и заряжалок, сделав из халфы страшный сон выживальщика-хардкорщика, где каждая аптечка даёт только +5 здоровья, либо вообще не беспокоиться о здоровье, выписав себе аптечки, дающие по сотне хелсов.

И, наконец, главное - видео демонстрации буллеттайма и вышеописанных читов. Видео немного дёрганое и не в лучшем качестве, но так записала программа. Вот ссылка: Видео https://youtu.be/lcGDPvGc898 или если битая, на канале Канал Банди return end


Связаться с программистом сайта.

Новые книги авторов СИ, вышедшие из печати:
О.Болдырева "Крадуш. Чужие души" М.Николаев "Вторжение на Землю"

Как попасть в этoт список

Кожевенное мастерство | Сайт "Художники" | Доска об'явлений "Книги"