Статистика |
Онлайн всего: 1 Гостей: 1 Пользователей: 0 |
|
|
Очень нечёткие, но важные сведения для новичков. Ничего конкретного. Азы
Перед тем, как начать редактирование файлов игры, нужно в каталог
Сталкера поместить ту самую папку gamedata, в которую были извлечены
игровые файлы. *Все файлы не понадобятся, поэтому можно оставить
только папки config, scripts(а конкретно файл se_respawn*****ipt),
textures, sounds, а всё остальное удалить(а можно и не удалять)
Стоит
обратить внимание на токой факт , если распаковать все архивы .dbN в
папку с игрой, то это может дать несколько дополнительных FPS.
Текстуры:
В
папке textures лежат файлы формата .dds, которые можно открыть
программой Nero PhotoSnap Viewer(входит в состав NERO7) например или
windows texture viewer (63кб), и там же отредактировать по вкусу. Так,
например, существует мод, уменьшающий размер PDA Меченого. Текстура PDA
находится по адресу textures\ui\ui_pda.dds.
Скрипты:
se_respawn*****ipt
– файл, отвечающий за респаун. Время респауна можно уменьшить, путём
небольших изменений в этом файле. Он открывается обычным
блокнотом(notepad). Ищем в нём строку idle_time:setHMSms( 0, 0, 0,
math.random(self.idle_spawn_min, self.idle_spawn_max)*1000) и меняем
её на idle_time:setHMSms( math.random(X, Y), 0, 0,
math.random(self.idle_spawn_min, self.idle_spawn_max)*1000) где X и Y
- числа, задают диапазон случайной переменной в часах отвечающей за
респаун.
Звуки и музыка:
Любой файл в папке sounds можно
заменить на другой, но при этом нужно сохранить все параметры звукового
файла, который был использован в игре. Например, чтобы заменить музыку в
приёмнике у Сидоровича, нужно файл
sounds\scripts\magnitofon\magnitofon_2.ogg, заменить на любой другой.(У
оригинального файла винамп мне выдал свойства: Average bitrate : 60
kbps Nominal bitrate : 80 kbps Channels : 1 Sampling rate:
44100 Hz.
Config/Weapons:
Параметры оружия вы можете найти
в папке config\weapons, файлы типа w_ak74.ltx открываются тоже
блокнотом. Разберём содержимое файла например w_groza.ltx Во первых
стоит обратить внимание на значение пременной(буду их так называть)
cost, это цена оружия, т.е. сколько гроза будет стоить у продавца. Переменная
weapon_class означает, к какому классу относится оружие, в данном
случае - assault_rifle. ammo_limit – лимит боеприпасов(в игре
по-моему не используется) ammo_mag_size – размер магазина. Можно
поставить например 900, тогда о перезарядке можно совсем не вспоминать. ammo_class
– класс патронов, используемых оружием. Здесь ammo_9x39_pab9,
ammo_9x39_sp5, ammo_9x39_ap. hit_power – сила оружия. Чем больше, тем
лучше silencer_hit_power - сила оружия, когда на него одет
глушитель. misfire_probability - вероятность осечки при максимальном
износе. condition_shot_dec - увеличение износа при каждом выстреле. visual
– модель оружия. zoom_enabled - поддерживается ли оптика.
Config/Сreatures:
actor.ltx
– параметры главного героя. В этой же папке находятся файлы с
параметрами npc, монстров и пр. Рассмотрим некоторые переменные на
примере actor.ltx visual – модель персонажа. max_walk_weight -
максимальный вес, при достижении которого игрок перестает двигаться. pickup_info_radius
– радиус от ГГ, в котром над предметами выводятся их названия. camera_height_factor
– высота ГГ. По умолчанию стоит 0.85, но можно увеличить рост ГГ до
0.95 например. disp_base – разброс. Если уменьшать, то и разлёт
уменьшается соответственно. wound_incarnation_v - скорость заживления
раны. cant_sprint_power_begin - порог силы меньше которого актер не
может бежать в спринте. hit_probability_gd_novice hit_probability_gd_stalker hit_probability_gd_veteran hit_probability_gd_master Эти
строчки отвечают за вероятность попадания по вам, при разных уровнях
сложности. Хотите чтобы враги стреляли не очень метко, уменьшайте
значения. Также в файле присутсвуют комментарии на русском языке, так
что разобраться в остальных переменных не составит труда.
Config/System.ltx:
start_blood_size
- размер раны чтоб начала капать кровь. stop_blood_size - размер
раны чтоб кровь остановилась. max_weight – вес, с которым ГГ может
бежать.
Config/Misc.ltx:
В дополнение к конфигам оружия:
cвойства
патронов находятся в файле weapons.ltx, а бронежилетов – в outfit.ltx. Свойства
артефактов находятся в файле artefacts.ltx и файлах zone_ART.ltx,
предметов – items. ltx, где ART – название артефакта(например
zone_gravi.ltx). Параметры артефактов: health_restore_speed -
скорость восстановления здоровья (0.0001 = +100%) radiation_restore_speed
- скорость накопления радиации (0.0004 = 4). Если поставить
отрицательное число, то артефакт будет ускорять выведение радиации. idle_particles
– если закоментить её символами «--« -, то аномалия исчезнет. Чтобы
отключить звуковое оповещение, то находим строку visible_by_detector и
меняем on на off. Иммунитеты: strike_immunity - удар. shock_immunity
- электрошок. chemical_burn_immunity - химический ожог. telepatic_immunity
- телепатия. radiation_immunity - радиация. wound_immunity -
разрыв. explosion_immunity - взрыв. fire_wound_immunity -
огнестрел.
items.ltx:
Параметры предметов:
В этом
файле в квадратных скобках написан тот предмет, чьи параметры идут ниже,
за квадр. скобками. Например: [kolbasa]:identity_immunities. Параметры
на примере колбасы: class – к какому классу принадлежит предмет. visual
– модель. cost – цена. eat_health – сколько восстанавливает
здоровья.(если будет 0, то колбаса лечить не будет.) eat_power -
сколько восстанавливает силы. eat_radiation - сколько выводит/или
добавляет радиации. (Насчёт этого не уверен, надо тестить.) inv_weight
– вес предмета.
Outfit.ltx:
Параметры костюмов:
actor_visual
– модель костюма. inv_weight – вес костюма. cost – цена костюма. коэффициенты
иммунитета самого костюма: burn_immunity см. коэффиц. ... fire_wound_immunity ;
NO RESISTANCE burn_protection - коэффициент защиты от огня strike_protection
- коэффициент защиты от пуль shock_protection - коэффициент защиты
от молний wound_protection - коэффициент защиты от кровотечений (?) radiation_protection
- коэффициент защиты от радиации telepatic_protection - коэффициент
защиты от телепатии chemical_burn_protection - коэффициент защиты от
хим. ожогов. explosion_protection - коэффициент защиты от взрыва fire_wound_protection
- коэффициент защиты от кровотечений(от огня) nightvision_sect – тип
ночного видения(плохой/хороший). Если ПНВ нету, то строку добавить,
если его нужно убрать, строку закомментируйте(--).
Торговцы:
Вещи,
которые продают торговцы можно отредактировать(добавить/убрать) в
файлах с именем [b]trade_YYY.ltx[.B], где YYY – это имя
торговца(например trade_barman.ltx) Итак, поехали: Структура файла
на самом деле очень проста, под зачком ; прописаны сами предметы, а
после него – комментарий(чтоб понятно было). Например ;Аммуниция. В
квадратные скобки заключены([barman_generic_buy]), как бы сказать,
"условия”. Лучше показать на примере: В самом начале(практически)
файла trade_barman.ltx идёт строка содержания [barman_generic_buy], т.е.
она означает, что ниже прописанные предметы торговец может купить. Сами
предметы например: ;Артефакты af_medusa = 1, 0.3 af_cristall_flower
= 1, 0.3 af_night_star = 1, 0.3 af_vyvert = 1, 0.3 af_gravi =
1, 0.3 af_gold_fish = 1, 0.3 af_blood = 1, 0.3 af_mincer_meat =
1, 0.3 или ;ADDONS wpn_addon_scope = 0.7, 0.2 wpn_addon_scope_susat
= 0.7, 0.2 Посмотрим какие ещё "условия” содержит этот файл и их
значение: [supplies_start] - начальный ассортимент [supplies_after_darkvalley]
- ассортимент, после выполнения квеста в тёмной долине [supplies_after_brain]
- ассортимент, после "выжигателя мозгов” [barman_start_sell] - цены
по которым торговец(бармен в данн. сл.) продает в начале [barman_after_darkvalley_sell]
- аналогично [barman_after_brain_sell] Итак: чтобы добавить
предмет к торговцу, после строки [supplies_start], находим интересующую
нас категорию(а это может быть:
;Аммуниция/;Оружие/;Броники/;Медикаменты/;Еда и др.) и после всех
прописанных в данной категории предметов добавляем ещё одну строчку для
своего предмета(а именно название модели(т.к. оно совпадает с названием
самого предмета) и после знака = параметры(о них чуть ниже)). Ну я так и
знал что вы ничего не поймёте, поэтому пример: Чтобы добавить
бармену винтовку Гаусса, находим строки после условия [supplies_start] - ;Оружие wpn_pb
= 3, 0.6 wpn_walther = 3, 0.6 wpn_mp5 = 3, 0.6 wpn_ak74u = 3,
0.5 и внизу прописываем wpn_gauss = N, n.n *о значениях после
знака = см. ниже. Все имена оружия, амуниции, снаряжения и т.п. можно
найти в папках gamedata\meshes\equipments, gamedata\meshes\weapons,
gamedata\meshes\food. Заметьте, что wpn_gauss нужно писать без
расширения .ogf Значения: После знака = у вальтера например стоит
цифра 3, а после запятой – 0,6. Первое, для гаусса у нас стоит N, это
количество(в штуках) предметов. Т.е. если поставить значение 999, то у
бармена будет 999 гауссов. А второе: 1. В разделах supplies вторая
цифра это вероятность появления данного предмета. 2. В разделе buy -
первая цифра максимальная цена покупки, вторая минимальная (зависит от
отношения торговца к Меченному - рейтинг, репутация)[Предположительно. –
прим.] 3. Соответственно в разделах sell - первая цифра минимальная
цена продажи, вторая - максимальная (точнее множитель на "истинную цену"
предмета). Tnx GreyL. В итоге должно получиться: [supplies_start] ;Оружие wpn_pb
= 3, 0.6 wpn_walther = 3, 0.6 wpn_mp5 = 3, 0.6 wpn_ak74u = 3,
0.5 wpn_gauss = 6, 0.6 И тогда у торговца мы получим ровно 6
винтовок Гаусса.
Создание рандомного выбора муз. заставки
главного меню:
При заходе на экран главного меня муз. заставка
будет выбираться случайно из добавленных вами.
1. В директорию
gamedata\sounds\music\ положить два канальных ogg-файла с нужной
музыкой, например: my_music_l.ogg (левый канал) и my_music_r.ogg (правый
канал) 2. В текстовом редакторе открыть файл
gamedata\config\ui\ui_mm_main.xml, найти в нем строку:
и заменить
на:
3. В этом же файле найти строку: music\wasteland2 и
ниже нее выставить следующую строку: music\my_music 4. Сохранить
файл. 5. Если требуется вставить больше муз. заставок, то в параметре
random укажите их количество.
NPC покупают оружие:
Чтобы
обычные сталкеры и др. npc могли покупать у ГГ оружие, нужно править
файл gamedata\config\misc\trade_generic.ltx. Его структура точно такая
же, как и у любого другого торговца. После строки [generic_buy]
находим строку ;Оружие и после неё у каждого вида ставим зачения N и
n.n. Можно например так: ;Оружие wpn_pm = 0.08, 0.12 wpn_pb
;NO TRADE wpn_fort = 0.08, 0.12 wpn_hpsa = 0.08, 0.12 wpn_beretta
= 0.08, 0.12 wpn_walther = 0.08, 0.12 wpn_sig220 ;NO TRADE … … А
чтобы у npc продавалось оружие, нужно проделать тоже самое, только
после строки [generic_sell] Метод я проверял, вроде как работает. Чтобы
после покупки персонаж не выкидывал купленное оружие(а также чтобы
подбирал его с земли), в файле gamedata\config\creatures\m_stalker.ltx
строку can_select_items = off меняем на can_select_items = on и
строку use_single_item_rule = on меняем на use_single_item_rule = off .
Транспорт:
Транспорт
в игре есть! Пока способ заспаунить его не известен общественности, но
тем не менее в сети появился файл all.spawn, копируйте его в папку
gamedata\spawns. Мод предназначен только для пропатченной версии
игры(1.0001). После начала новой игры в первой локации рядом с
Сидоровичем появятся несколько машин, в т. ч. и Камаз. Чтобы включить
двигатель в консоли пишем [b]bind turn_engine kb[b], закрываем консоль,
жмём кнопку b и наслаждаемся…. Рассмотрим параметры машин, конфиги
находятся в папке gamedata\config\models\vehicles. [car_definition] –
после строки идут коментарии на русском языке, перейдём сразу к
следующему. … --Factory parameters of Engine -- - параметры
двигателя(описание не претендует на совершенно точное) fuel_tank –
вместимость бака. engine_power – мощность двигателя. hand_break_torque
- сила торможения [damage_items] – повреждения частей машины back_left_wheel
- заднее левое колесо back_right_wheel -заднее правое колесо front_left_wheel
-переднее левое колесо front_right_wheel - переднее правое колесо left_door
- левая дверь right_door - правая дверь [immunities] burn_immunity
= 0.5 ;коэффициенты иммунитета strike_immunity = 0.1 shock_immunity
= 0.0 wound_immunity = 0.01 radiation_immunity = 0.0 telepatic_immunity
= 0.0 chemical_burn_immunity = 0.0 explosion_immunity = 0.4 fire_wound_immunity
= 0.0005 P.S. Чтобы сделать вид от третьего лица, в файле
user.ltx(ну если не знаете где он находится, то специально для вас в
Microsoft сделали поиск в Windows) пишем после строки unbindall: bind
cam_1 kF1 bind cam_2 kF2 bind cam_3 kF3 В игре жмём кнопки F1,
F2 или F3 для смены вида. Очень нужно при езде на БТР
Создание
новых веток диалога:
Создание новых веток диалога. 1) Списки
веток диалогов содержатся в файлах вида
gamedata/config/gameplay/character_desc_*.xml
Это например: character_desc_zombied.xml character_desc_stalker.xml character_desc_g
arbage.xml итд.
Файлы character_desc_*.xml можно сравнить со
стволом дерева диалогов. В них перечисляется названия прикрепляемых
веток диалогов
Например вот список веток диалога с Сидоровичем
взятый из файла character_desc_escape.xml
escape_trader_start_dialog escape_trader_talk_info escape_trader_jobs tm_trader_dialog tm_trader_reward escape_trader_done_blockpost_box<
br> В свою очередь каждая ветка диалога также может ветвится.
2)
Ветвление веток прописывается уже в других файлах. Например
ветвление веток диалога с Сидоровичем содержится в файле
gamedata/config/gameplay/dialogs_escape.xml Возьмем оттуда к примеру
ветвление ветки escape_trader_jobs (ветвление веток обычно очень
большое поэтому я приведу только часть):
escape_dialog.trader_has_talk_info_w
r tutorial_end
escape_trader_talk_info_1 100 99 9995
… … …
escape_trader_talk_info_0 1
Здесь
… - это проверка выполнения условия. Ветка появится в диалоге, только
если условие выполняется. Конкретно
escape_dialog.trader_has_talk_info_w r из ветки escape_trader_talk_info
есть обращение к функции trader_has_talk_info_wr находящейся в файле
скрипте gamedata/scripts/escape_dialog*****ipt
Функция выглядит
так:
function trader_has_talk_info_wr( trader, actor ) return
true end
Насколько понимаю она возвращает true только в случае
если мы разговариваем с trader_ом т.е. с Сидоровичем. Т.е проверкой
условия escape_dialog.trader_has_talk_info_w r проверяется с кем ведется
диалог, и если диалог ведется с Сидоровичем в ветке по крайней мере
этим условием пропускается в списк реплик. Но для конкретной ветки
может быть несколько precondition и других условий.
Далее
tutorial_endЕсли я верно понимаю, это так же своего рода проверка
условия В данном случае проверка на то закончена стадия tutorialа или
нет. Т.е ветка допустится в список реплик если стадия tutorialа
закончена.
А далее идут конкретные фразы содержащие ссылки на
вытекающие фразы
Фраза:
escape_trader_talk_info_0 1
это
основа ветки escape_trader_talk_info. (Вообще как я понял в любой
основной ветке любого диалога фраза будет основой из которой далее будет
все вытекать)
1 - это ссылка на вытекающую фразу :
escape_trader_talk_info_1 100 99 9995
В
свою очередь 100, 99, 9995 это ссылки на фразы веточки растущие из
фразы .
3) Текст каждой фразы содержится уже в четвертом
файле. Для диалога с Сидоровичем тексты лежат в файле gamedata/config/text/rus/stable_dialogs_escape.xml
Есть
несколько вопросов.
Спрашивай, только я ведь всего не знаю.
Сам понимаешь, сижу тут целыми днями, а жизнь - она вся там, снаружи, в
Зоне. Могу рассказать о Зоне вообще, а немного могу о ближайших
окрестностях, где сам ходил.
Эти строки содержат тексты для
фраз и
Итого диалоги разложены по 4 а то и более файлам.
Ветки
диалога могут быть цикличными.
Как в этом случае:
… 1 2
… 11 12
… 1
- Это возврат к фразе 1. (зацикливание) 111
Теперь пример
практического применения того, о чем было сказано выше: Добавим в
диалог с Сидоровичем ветку своего собственного изготовления.
Например
такую:
Меченый: Сидрыч а что это у тебя зеленые человечки, что
по столу бегают, такие худые? Сидорович: Чего?!! Меченый: Ты их
совсем, совсем не кормишь? Сидорович: В следующий раз, как пойдешь в
зону, бери-ка вместо водяры побольше антирада. А то мало что таким
перегаром дышишь, уже до зеленых человечков долечился… Шутник.
1)
В файле gamedata/config/gameplay/character_desc_escape.xml в конце
списка веток для trader_а суем свою ветку с произвольным названием.
(например escape_trader_letat_gusi)
Т.е у нас получится так …
… … … escape_trader_start_dialog escape_trader_talk_info escape_trader_jobs tm_trader_dialog tm_trader_reward escape_trader_done_blockpost_box<
br> escape_trader_letat_gusi
… Записываем изменения и с
файлом character_desc_escape.xml все.
2) Теперь берем файл
gamedata/config/gameplay/dialogs_escape.xml
Диалогу:
Меченый:
Сидрыч а что это у тебя зеленые человечки, что по столу бегают, такие
худые? Сидорович: Чего?!! Меченый: Ты их совсем, совсем не
кормишь? Сидорович: В следующий раз, как пойдешь в зону, бери-ка
вместо водяры побольше антирада. А то мало что таким перегаром дышишь,
уже до зеленых человечков долечился… Шутник.
Который мы хотим
реализовать будет соответствовать такая структура:
escape_trader_
letat_gusi_0 1
escape_trader_ letat_gusi_1 2
escape_trader_
letat_gusi_2 3
escape_trader_ letat_gusi_3
условия
наличия ветки в диалоге можно взять из ветки Т.е берем условия
escape_dialog.trader_has_talk_info_w r и tutorial_end (Можно было
конечно прописать в скрипте еще одно условие для ветки, чтоб она
появилась только один раз, а потом больше не возникала. Но об этом
как нибудь позже допишу.)
В итоге у нас получилась такая
структура:
escape_dialog.trader_has_talk_info_w r tutorial_end
escape_trader_letat_gusi_0 1
escape_trader_letat_gusi_1 2
escape_trader_letat_gusi_2 3
escape_trader_letat_gusi_3
Которую
нужно вставить в любом месте между dialog id_шниками других веток в
файле dialogs_escape.xml. Главное не промахнутся и засунуть именно
между, а не внутрь одного из dialog id Все что находится между тегами
и это внутенности конкретного dialog id Т.е совать наш
….
надо
…
здесь
…
но
не
здесь
После сохранения внесенных изменений с файлом
dialogs_escape.xml все.
3) Теперь вбиваем сами текстовички в
файле gamedata/config/text/rus/stable_dialogs_escape.xml
Т.е нам
надо в файле stable_dialogs_escape.xml вставить такую конструкцию:
Сидрыч
а что это у тебя зеленые человечки, что по столу бегают, такие худые?
Чего?!!
Ты
их совсем, совсем не кормишь?
В следующий раз, как пойдешь в
зону, бери-ка вместо водяры побольше антирада. А то мало что таким
перегаром дышишь, уже до зеленых человечков долечился… Шутник.
в
любом месте между уже существующими string id
сюда
Но
не внутрь одного из существующих string id
не сюда
После
сохранения изменений, у вас все готово. Можно грузить игру и смотреть
что получилось.
Объекты, которые можно перемещать:
В файле
system.ltx в конце есть строка [ph_capture_visuals], после неё идёт
список перетаскиваемых вещей. Например чтобы можно было таскать
монстров, в конец добавляем: //Monsters monsters\mutant_boar\mutant_boar monsters\krovosos\krovosos monsters\kontroler\kontroler monsters\dog\dog monsters\flesh\flesh monsters\dog\dog_cmn_1 monsters\flesh\flesh monsters\poltergeist\poltergeist monsters\pseudodog\pseudodog monsters\snork\snork monsters\burer\burer monsters\chimera\chimera monsters\cat\cat monsters\zombi\zombi_1 monsters\rat\rat_1 monsters\tushkano\tushkano
|
Категория: Все о модостроении. | Добавил: ZARK (21.10.2010)
|
Просмотров: 1654
| Рейтинг: 0.0/0 |
Добавлять комментарии могут только зарегистрированные пользователи. [ Регистрация | Вход ]
|
Наш Банер |
Мы будем очень благодарны если вы разместите нашу кнопку у себя на сайте!
|
|