. Очень нечёткие, но важные сведения для новичков. Ничего конкретного. Азы - Все о модостроении. - Каталог статей - S.T.A.L.K.E.R-modi
Модификации для серий игр S.T.A.L.K.E.R
Меню сайта
Категории раздела
Survarium [32]
Мир игры
Мир зоны [31]
Прохождение игры Сталкер [9]
Зона отчуждения [65]
Основные [34]
Демонстрация модификаций (видео) [81]
Путь на прилавки игры S.T.A.L.K.E.R ( Видео ) [3]
Интервью [21]
Лаборатория [9]
Все о новинках в мире техники).
Репортаж из зоны [19]
Все о чернобыле,саркофаге и др объектах находящихся в 30 км зоне!
Все о модостроении. [41]
Здесь вы найдете все что необходимо для создания любой сложности мода! (источник сайт Теорий модостроения stalk-mod-er.net.ru)
Рассказы , литература из мира S.T.A.L.K.E.R [0]
Сюда вы сможете добавить свой рассказ , или же добавить любимый отрывок из уже вышедшей литературы !
Обзоры других игр [41]
Обзоры фильмов [4]
Hi-Tech Новинки [6]
Заброшенные людьми места мира. [19]
Мини-чат
Наш опрос
Что бы вы больше хотели увидеть в сталкере 2
Всего ответов: 4037
Реклама
Статистика

Онлайн всего: 5
Гостей: 5
Пользователей: 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)
Просмотров: 1388 | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа



СТАЛКЕР!
Я всегда рад видеть
еще одну живую душу!
Но я незнаю кто ты?
Регистрация
Вход!

---


English version


Список Сталкеров
Поиск
Последние файлы
Друзья
Все баннеры
Баннерообмен
Наш Банер
Мы будем очень благодарны
если вы разместите нашу
кнопку у себя на сайте!

S.T.A.L.K.E.R-modi




Авторское право на игру и использованные в ней материалы принадлежат GSC Game World. Любое использование материалов сайта возможно только с разрешения администрации. Powered by Ssnork © (2010-2020).