Сповіщення
Очистити все

Зброя сталкера


Ранг:
Майстер
Роль:
Гість
Записи:
752
Приєднався:
2 роки тому
 

Сталкер ось уже десять хвилин повз по зараженій території. За ним гналася величезна банда, озброєна «калашами». Шансів вижити практично не було, у пістолеті залишався лише один патрон. Знайдений у купі радіоактивного мотлоху старенький автомат обіцяв лише невелику відстрочку правильної загибелі.

Але перший постріл розрізав одного з бандитів надвоє. Другий — розтяв одразу двох. Знищивши майже всіх бандитів, сталкер почав уважно вивчати знайдений ствол. Дивний напис Made in Igromania на прикладі та ядерна символіка на затворі однозначно говорили про те, що зброя не проста, а модифікована.

У «Сталкері» представлено переважно зброю радянського виробництва. Сьогодні ми поповнимо арсенал кількома футуристичними екземплярами. Хочете пропалювати ворогів лазером і прати мутантів з лиця землі атомними зарядами? Завжди будь ласка!

 

Тренування

Усі найцінніші розробники сховали від допитливих очей до архівів. Усього їх одинадцять, і всі мають одне й те саме ім'я - gamedata . Різниця у розширенні. Воно виглядає як db* (на місці зірочки стоїть цифра чи буква, своя для кожного файлу). Для розпакування цих архівів можна використовувати утиліту STALKER Data Unpacker . Користуватися програмою нескладно. Скопіюйте в ігрову папку файл STALKER_Data_Unpacker_RU.exe , якщо у вас російська версія гри, або STALKER_Data_Unpacker_EN.exe , якщо раптом англійська, і запустіть з параметром: gamedata.db* [Каталог для розпакування всередині ігрової папки] (останній можна і не вказувати архів розпакується прямо в каталог з грою). Наприклад: STALKER_Data_Unpacker_RU.exe gamedata.db0 gamedata .

Після того, як ви внесете зміни до розархівованих файлів, створіть в ігровому каталозі папку \gamedata і помістіть їх туди, зберігаючи ієрархію підкаталогів, в яких вони знаходяться (пріоритет гри віддаватиме новим файлам, а не тим, що упаковані в архіви). Скажімо, для ltx -файлів з архіву gamedata.db0 (вони описують зброю) в директорії \config\weapons слід створити в ігровому каталозі папку \gamedata\config\weapons і складати їх саме туди.

Ви можете трохи прискорити процес завантаження гри, якщо розпакувати всі одинадцять архівів у директорію <Каталог гри>\gamedata . Плюс, після цього всі файли будуть у вас на очах і створювати моди стане зручніше.

Що стосується самих архівів, то цього разу нам знадобляться gamedata.db0 і gamedata.db8 . Останній набитий розсортованими за підкаталогами текстурами, у тому числі збройними; gamedata.db0 ж несе в собі, крім усього іншого, папку \config , наповнену різноманітними конфігураційними файлами (як правило, що мають розширення ltx ). Ті, що присвячені зброї, лежать у підкаталозі \weapons — кожен такий файл відповідає окремій гарматі. Виняток становлять лише delayed_action_fuse.ltx і weapons.ltx (в ньому знаходяться характеристики боєприпасів та всіляких примочок до стволів).

 

Структура ltx- файлів (редагувати можна у звичайному «Блокноті») побудована за таким принципом. Усі вони складаються із розділів, імена яких марковані квадратними дужками. У файлах зброї їх, як правило, два: перший вміщує бойові характеристики стовбура, другий (в імені міститься абревіатура hud ) відповідає за екран героя, озброєного вказаною гарматою.

Параметри всередині блоків в деяких випадках забезпечені коментарями російською - з такими атрибутами ви легко розберетеся самостійно. Але більшість із них підказками все ж таки не супроводжується. Ознайомлення з найважливішими з цих параметрів допоможе зробити бажану зброю.

cost - вартість зброї.

hit_power - шкода від зброї. Значення параметра складається з чотирьох чисел: перше означає мінімальну шкоду, останнє — максимальну, середні два, відповідно, проміжну.

hit_impulse - сила трясіння, якій зазнає жертва.

fire_distance - далекобійність.

bullet_speed - стартова швидкість польоту кулі. Цей і три попередні параметри в деяких файлах мають аналоги з префіксом silencer_ , ці характеристики описують стовбур при надітомому на нього глушнику.

hit_type - тип пошкодження, що наноситься зброєю. Вогнепальне поранення - fire_wound , ножове - wound і wound_2 , вибух - explosion .

rpm - скорострільність.

hit_power_2 - шкода від альтернативної атаки.

hit_impulse_2 - трясіння жертви, атакованої альтернативним ударом/пострілом.

hit_type_2 – тип пошкодження від альтернативної атаки.

startup_ammo – початкова кількість патронів.

ammo_limit — максимальна кількість набоїв до гармати, яку ви можете носити в рюкзаку одномоментно.

ammo_mag_size - Місткість обойми.

ammo_class - тип патронів. В області значення цього та наступного параметрів вказується назва відповідного розділу файлу weapons.ltx .

grenade_class - тип гранат, якими стріляє гармата (якщо вона, звичайно, наділена такою здатністю).

explode_duration – тривалість вибуху (тільки для зброї, що стріляє розривними снарядами) у секундах.

sprint_allowed - визначає, чи може бігти персонаж з цією гарматою ( true - так, false - ні).

inv_weight - вага.

shell_particles — модель гільз, що відлітають у різні боки під час стрільби.

Наступні три характеристики вказують на наявність у ствола певного доповнення. Можливі значення: 0 - відсутній взагалі, 1 - є відразу, 2 - може бути приєднано.

scope_status - снайперський приціл.

silencer_status - глушник.

grenade_launcher_status - підствольний гранатомет.

zoom_enabled - можливість зумування ( true - є, false - ні).

scope_zoom_factor – максимальний зум. Зверніть увагу, що залежність тут обернено пропорційна: чим вище значення показника, тим менше наближення. Цей же параметр, до речі, є і у файлі weapons.ltx , у розділах, присвячених знімним прицілам.

 

Замах, удар — і ворог повалений! Кинжал - це вам не ніж, він може вразити супротивника одним ударом.

Кинжал

Додамо до гри кілька нових видів зброї. Робити їх ми будемо на базі наявних екземплярів. Весь цей процес складається із трьох основних стадій, перша — редагування бойових характеристик.

Почнемо з холодної зброї, яка у грі представлена ​​одним лише ножем. Перетворимо його на кинжал. Для початку відкрийте в Блокноті файл w_knife.ltx і внесіть у нього невелику правку. Підвищіть значення показника cost до 100 , внаслідок чого вартість цього знаряддя зросте до 100 рублів.

Зросте в нашому моді і пошкодження, що наноситься їм — параметрам hit_power і hit_power_2 надайте серію чисел 2.00, 2.20, 2.40, 2.60 в першому випадку і 2.10, 2.25, 2.40, 2.55 у другому. Спочатку ножа сила альтернативної атаки майже дублює основну. Відмінності лише в анімації.

З кинджалом все буде інакше. Перший вид удару, як бачите, тут має більший розкид у силі - отже, атака може вийти як сильною, так і не дуже. Альтернативний помах кинджалом більш стабільний, але завдати дуже серйозного поранення ворогові не вийде.

Не забудьте про атрибути hit_impulse та hit_impulse_2 , яким слід присвоїти значення 140 та 125 . Перший вид атаки після цього сильніше відштовхуватиме ворогів від головного героя, що в деяких випадках ускладнює добивання.

Трохи попрацюємо над балансом. Атрибутам inv_weight , rpm (мінімальний часовий інтервал між двома атаками) та bullet_speed (швидкість завдання удару) визначте відповідно значення 0.8 і 600 . На відміну від ножа, кинджал, хоч і небагато, але скільки важить, а значить, займає трішки місця у вашому рюкзаку - це, погодьтеся, цілком природно.

У вашому розпорядженні чудова зброя ближнього бою. Один точний укол у тіло слабкого ворога — і той занепадає духом. Єдиний недолік кинджала в порівнянні з ножем криється у зниженій швидкості. Головний герой махає кинджалом трохи повільніше, але якщо потрапить... В оригінальній грі майже ніхто не користувався ножем, занадто вже він слабенький. Кинжал — цілком серйозна підмога пістолету. З його допомогою можна легко валити деяких мутантів та добивати поранених бандитів.

Кинжал зовні відрізняється від ножа яскравим гравіюванням... А атомна гармата від РПГ — знаком радіації на верхній частині корпусу.

 

Лазерна гвинтівка

Тепер займемося створенням футуристичних стволів. Перший — лазерна гвинтівка. Робити її ми будемо на основі снайперки СВУмк2 , яка детально описана у файлі w_svu.ltx . Почніть знову ж таки з ціни, піднявши число, що відповідає показнику Cost , до 12000 . А ось запас патронів слід обмежити, задаючи характеристикам ammo_limit, ammo_current, ammo_mag_size і startup_ammo значення 40 (першою з них) та 6 (іншим трьом).

Не завадить також трохи обтяжити гвинтівку (пропишіть параметру inv_weight значення 5.2 ) і підсилити її (у цьому нам допоможе регулювання налаштувань hit_power та hit_impulse ). Першою тепер має відповідати значення 1.20, 1.30, 1.40, 1.50 , другий - 180 . Швидкість польоту снаряда та дальність стрілянини теж збільшуємо: параметрам bullet_speed та fire_distance пропишіть 1130 . А ось скорострільність ( rpm ) краще знизити до 150 .

Ослабимо у гармати зум, приписавши атрибуту scope_zoom_factor число 30 - збільшення з триразового стане дворазовим. Значення показника shell_particles слід обнулити, видаливши колишнє weapons\generic_shells . В результаті при стрільбі з гвинтівки більше не будуть видно гільзи, що падають на землю, що нам і потрібно. Стріляє вона тепер лазером. Нарешті, трохи підвищіть швидкість зношування стовбура: у показника condition_shot_dec пропишіть число 0.00035 .

Лазерна гвинтівка готова. Вона дає велику шкоду, має високу точність і велику дальність стрільби, шалену швидкість польоту заряду, але перезарядка відбувається досить повільно. Ця зброя відкриває нові тактики ведення бою. Можна причаїтися за якоюсь спорудою, що стоїть на височини, дочекатися групи бандитів, підпустити їх на дистанцію пострілу і почати поступово відступати, відстрілюючи ворогів, що наздоганяють вас.

До цього подібна тактика зі снайперкою не працювала, тому що противники, що біжать попереду, наздоганяли вас раніше, ніж ви їх знищували. Але з лазерною гвинтівкою можна вбивати незахищених ворогів із одного пострілу. Головне, навчитися влучно стріляти.

А ось намагатися сісти з лазерною гвинтівкою на верхотурі однозначно не варто. Через те, що вона довго перезаряджається, вороги встигнуть підібратися до вас у проміжку між пострілами.

 

Атомна гармата

На десерт у нас є атомна гармата. Її ми отримаємо з ракетниці ( РПГ-7у ). Отже, правити потрібно файл w_rpg7.ltx і перше, що варто зробити, - підняти ціну на зброю ( cost ) до 14000 . Показнику ammo_limit слід надати значення 10 щоб знизити швидкість польоту снаряда, до характеристик launch_speed, bullet_speed і fragment_speed підставте відповідно числа 3, 50 і 30 . Швидкострільність теж знижуємо: зменшуємо обороти параметра rpm до позначки 100 , а далекобійність ( fire_distance ) зменшуємо до 300 .

Тепер попрацюємо над віддачею. У такої потужної гармати вона має бути дуже відчутною. Тому налаштування cam_relax_speed, cam_dispersion і cam_max_angle слід задати значення 1, 8 і 12 відповідно.

Але баланс поки все одно залишається перекошеним: надто потужна штука у нас вийшла. Додамо стовбуру ще один серйозний недолік - зробимо його швидко зношується. Атрибут condition_shot_dec логічно буде поставити значення 0.00150 . Крім того, ймовірність осічки при максимальному зносі ( misfire_probability ) треба зробити рівною 0.01 . Зрозуміло, що і вага у громіздкої новинки буде відповідна: цього можна досягти, прописавши показник inv_weight число 8 .

Одним пострілом з атомної гармати можна не тільки підірвати танк, а й зачистити вишку, що стоїть неподалік.

Пошкодження ж від нової гармати будуть воістину величезними. Встановіть параметри hit_power, hit_impulse та explode_duration значення 5, 600 та 8 . Також необхідно відредагувати третій розділ файлу wpn_rpg7_missile (всі зміни, що залишилися, робіть саме в ньому), що характеризує безпосередньо ракету. Тут ви знову зустрінете показник explode_duration , якому і цього разу треба надати значення 8 . Щоб зробити вибух ракети ще потужнішим, «прив'яжіть» до налаштування blast число 8 , blast_impulse - 450 , а щоб розширити його радіус - збільште показник blast_r до 18 .

Рекомендуємо зробити вибух ефектнішим. У цьому вам допоможе зміна значень параметрів light_range та light_time відповідно на 50 та 2.6 . Це зробить спалах після розриву снаряда більш тривалим та яскравим. Збільшенню не завадило б і сліди на стінах, що залишаються після вибуху: задайте атрибуту wm_size значення 0.3 .

Насамкінець встановіть ціну на снаряд ( cost ) у розмірі 300 рублів . Зброя вбивства, що вийшла, буде в грі на вагу золота — за забійною силою йому просто немає рівних. Хоча, звичайно, їм одним ніяк не обійдешся. Тут дається взнаки і дефіцит зарядів, і повільність, і невисока дальність стрілянини. Та й зношується воно дуже швидко.

Проте в деяких заварушках, коли на вас нападає цілий натовп мутантів або бандитів, лише атомна гармата може врятувати від неминучої загибелі. Лише один постріл — і довкола залишаються тільки гори трупів.

 

Текстоманія

При створенні нових стволів необхідно замінити їх назви та описи. Текст, що використовується в грі, ви знайдете у файлах формату xml в директорії \config\text\rus архіву gamedata.db9 . Що стосується безпосередньо озброєння, міститься у файлі string_table_enc_weapons.xml . Влаштований він в такий спосіб. Кожному напису відповідає невеликий розділ виду:

 

<string id="X"> 
 
<text>Y</text>
 
</string>

X тут - кодове найменування об'єкта (в даному випадку - зброї, пристосувань до нього або боєприпасів), до якого належить напис. Y – текст (як варіант – назва об'єкта).

Знайти потрібний розділ нескладно - у його заголовку (X) незмінно фігурує коротка назва стовбура (те саме, що слідує в імені відповідного ltx -файлу з папки \config\weapons після приставки w_ ).

Задамо новій зброї відповідні назви. Назва ножа вказана у файлі string_table_general.xml (який містить базові ігрові терміни та поняття і має ту ж структуру, що і string_table_enc_weapons.xml ). Воно розташовується в блоці st_knife . Прописане слово Нож замініть на Кинжал .

Наступні перетворення стосуються виключно файлу string_table_enc_weapons.xml . Назва модифікованої нами снайперки ви зустрінете в розділі wpn-svu , в якому скорочення СВУмк2 необхідно виправити на Лазерна гвинтівка . Що ж до ракетниці, то їй розробники виділили блок wpn-rpg7 , де абревіатуру РПГ-7у треба замістити фразою «Атомна гармата» . Нова зброя називається тепер як належить, ось тільки описи поки що залишаються колишніми — бажано підкоригувати і їх.

Ножу відведено блок enc_weapons1_wpn-knife . Мисливський ніж можна переробити, наприклад, в Гострий кинжал . Характеристики СВУмк2 містяться в розділі enc_weapons1_wpn-svu , а РПГ-7у - в enc_weapons1_wpn-rpg7 . У першому випадку місце Y можна вписати, скажімо, такий текст: Нова розробка вітчизняних учених. Стріляє лазером, у другому такий: Найпотужніша зброя. Створено на території Зони спеціально для боротьби з мутантами. Використовує атомну енергію. Неважко придумати і вишуканіші описи — головне, тепер ви знаєте, куди їх ставити.

І останнє. Підредаговані файли string_table_general.xml та string_table_enc_weapons.xml перемістіть в папку <Каталог гри>\gamedata\config\text\ukr.

Візуалізація

Друга стадія розробки озброєння – графічна. На ній ми оновлюватимемо текстури зброї. При цьому знадобиться набір інструментів DXT Tools . Що стосується самих картинок, то вони представлені файлами формату dds , лежать в архівах gamedata.db5, gamedata.db6, gamedata.db7 і gamedata.db8 . Саме останній, як було згадано, несе у собі збройові скіни, які всередині архіву розміщуються в каталозі \textures\wpn . Ножу тут відповідає файл wpn_knife.dds , СВУмк2 - wpn_svu-a.dds , РПГ-7у - wpn_rpg-7.dds .

Перекласти DDS-файли в знайомий всім TGA-формат вам допоможе саме DXT Tools . Робиться це за такою схемою. Скопіюйте вибраний dds -файл у директорію, куди ви встановили пакет утиліт. Перебуваючи в папці, введіть у командному рядку: readdxt <ім'я dds-файлу> (наприклад, readdxt wpn_colt.dds ). В результаті цього в директорії з'явиться файл test.tga з цікавою для вас картинкою.

Можете сміливо перемальовувати її у графічному редакторі (наприклад, у Photoshop ). Після завершення редагування переведіть змінений малюнок назад у формат dds , набравши в командному рядку (природно, не залишаючи каталог DXT Tools) nvdxt test.tga . Вам залишиться лише повернути отриманому в результаті файлу test.dds колишнє ім'я (у наведеному прикладі це wpn_colt.dds) і покласти у відповідну папку (у випадку зі зброєю це <gamedata\textures\wpn ).

Пора приступати безпосередньо до перемальовування текстур, щоб нові види зброї набули неповторного вигляду. Наприклад, чому б вам не вигравірувати на лезі кинджала якийсь напис чи нескладний малюнок? Що стосується лазерної гвинтівки, то на її «шкірці» все ще красується маркування СВУ-АС 62x54 мм , яку бажано замінити хоча б найпростішою абревіатурою ЛВ-1 . Нарешті, на корпусі атомної гармати прийшовся б до місця ваш аватар, логотип вашого клану, улюбленого журналу чи ще якась картинка. І це лише найпростіші приклади того, як прикрасити новинки.

 

* * *

Разом з вами ми додали в гру три нові знаряддя вбивства: смертоносний кинжал, влучну та забійну лазерну гвинтівку та всеруйнівну атомну гармату. Причому атомна гармата і гвинтівка дивовижним чином надають грі відчуття, що ви у далекому майбутньому.

Вся зброя відмінно збалансована і дозволяє використовувати додаткові тактики у бою, які з оригінальною зброєю просто не працюють. Кинжал дозволяє шаткувати ворогів на ближній дистанції, лазерна гвинтівка хороша при веденні бою на середній дистанції (тільки не надумайте сидіти з нею на одному місці). Атомна ж гармата якнайкраще допоможе вам розібратися з великим скупченням ворогів.

Якщо вам мало цих трьох новинок, то ви можете додати гру будь-яку кількість зброї, створюючи їх за алгоритмом, описаним у статті.


   
Цитата