В этой теме модмейкеры могут поделится своими умениями в модостроении на ЗП, выкладывая статьи. Если вы выкладываете чужую статью, то нужо указать имя автора или источник. Если статья ваша - пишите об этом перед ней в начале поста.
Одно правило - статья должна быть подробной, с описанием и с указанием путей к файлам. Обсуждения статей приветствуются.
Ваууу! Неужели модмейкеры такие жадные и гордые?! Мужики...может хоть что-нибудь напишите! Я вас не прошу свои супер секреты выдавать. Но хотябы научите нас азбуке и первым шагам. Лунь, спасибо за первый урок в 13-ом выпуске! Ждём продолжения! 1. Иван Падший 2. нож (собственный); 3 дымовые гранаты; Легкий костюм "Долга" (без символики, для одиночек); Респиратор РПГ-67; Бинокль полевой; ПДА (КПК); Кипятильник 3. 90р.
[af_название_вашего_арта_на_английском]:af_base $spawn = "artefacts\gravitational_1_medusa" ; название каталога\универсальное имя в X-Ray SDK class = ARTEFACT ; Класс для набора читаемых параметров visual = dynamics\artefacts\af_medusa.ogf ;путь к визуалу вашего арта description = st_af_test_descr ;ссылка на описание inv_name = st_af_test_name ;ссылка на имя в инвентаре inv_name_short = st_af_test_name ;ссылка на имя inv_weight = 0.5 ; вес
inv_grid_x = 9 ;кординаты иконки нашего арта по x inv_grid_y = 4 ;кординаты иконки нашего арта по y inv_grid_width = 1 ;ширина иконки inv_grid_height = 1 ;высота иконки
Это нужно для того чтобы нужный детектор мог "засветить" артефакт. Стоит также отметить что этот артефакт можно будет обнаружить только с помощью детектора "Сварог". В файл gamedata\configs\ui\ui_detector_artefact.xml добавляем:
Почти все готово.Теперь его еще нужно добавить в аномалии. Открываем папку gamedata/configs/scripts/нужная_лока/anomaly/, открываем нужную аномалию и ищем там что-то вроде этого:
Добавлено (07.09.2011, 22:31) --------------------------------------------- Копипаста с сталкерин CoP. Создание квеста
Разбираем параметры
icon — иконка квеста Пример использования: icon = ui_inGame2_Put_v_pripyat
prior — приоритет квеста Пример использования: prior = 112
storyline — флаг задания (true — сюжетное, false — несюжетное) Пример использования: storyline = true
title — название задание (id из xml) — если брать название не из xml, то в игре оно будет отображаться без пробелов Пример использования: title = zat_a9_way_gates_check_transport_workshop_name
descr — описание задания (id из xml) — если брать название не из xml, то в игре оно будет отображаться без пробелов Пример использования: descr = zat_a9_way_gates_check_transport_workshop_text
target — цель на карте (метка) Примеры использования: target =zat_a2_stalker_barmen (ID нпц, на которого будет поставлена метка) target = {+название_инфопоршня}zat_a2_stalker_barmen — проверка инфопоршня, после которого метка будет поставлена на нпц
condlist_x — блок условий. возможные значения complete, reversed, fail Примеры использования: condlist_0 = {+название_инфопоршня} complete — если выполняется условие, задание выполнено. condlist_1 = {+название_инфопоршня} reversed — если выполняется условие, значит есть возможность повторить задание. condlist_2 = {+название_инфопоршня} fail — если выполняется условие, задание провалено.
on_init - действия, которые выполняются, при выдаче задания on_complete — действия, которые выполняются, если задание выполнено on_reversed — действия, которые выполняются, если задание провалено Примеры использования: on_init = %+название_инфопоршня% -- выдаем опр.инфопоршень on_complete = %=inc_faction_goodwill_to_actor(stalker:200)% — повышаем репу у сталкеров (функция юзаются из xr_effect) on_reversed = {+название_ифопоршня} %=inc_faction_goodwill_to_actor(stalker:200)% — повышаем репу у сталкеров, только если есть опр.инфопоршень
reward_money - денежная награда reward_item - награда в виде предмета
Далее добавляем наши диалоги Бороде. Открываем файл character_desc_zaton.xml Находим строчку <actor_dialog>zat_a2_stalker_barmen_actor_info</actor_dialog> и под ней пишем:
Открываем файл dialogs_zaton.script и в начало записываем:
function give_vodka_quest() task_manager.get_task_manager():give_task("quest_vodka_give") end function is_has_vodka_borode() if db.actor:object("vodka") then return true end return false end function transfer_vodka_to_boroda(first_speaker, second_speaker) dialogs.relocate_item_section_from_actor(first_speaker, second_speaker, "vodka") end
Открываем файл st_quests_zaton.xml и добавляем после <string_table>:
<string id="vodka_barmen_naiti_name"> <text>Найти водку для бармена</text> </string> <string id="vodka_barmen_prinesti_name"> <text>Принести водку бармену</text> </string> <string id="vodka_barmen_descr"> <text>Бармен в тестовых целях попросил найти и принести ему 2 бутылки водки</text> </string>
Сохраняем.
Автор: XMK Источник
[править] Примечания
От участника THE_ATLAS
Примечание №1
В варианте диалога от автора статьи есть ненужная строка: <has_info>quest_has_vodka</has_info> - эта функция по идее должна проверять наличие инфопорции quest_has_vodka которая ничем не выдаётся... Наличие (или отсутствие) строчки <has_info>quest_has_vodka</has_info> в структуре диалога ничего не изменит, поэтому она просто не нужна... Тем более что она может стать причиной багов.
Примечание №2
Чтобы скрыть диалог выполнения квеста (vodka_quest_prines) - "Вот твоя водяра" - после выполнения квеста, ниже строчки <has_info>quest_vodka_give</has_info> нужно добавить строчку <dont_has_info>quest_vodka_done</dont_has_info> - то бишь условие - показывать диалог выполнения квеста (vodka_quest_prines) при наличии следующих условий:
<has_info>quest_vodka_give</has_info> - уже выдан квест "Принести водку бармену"
<dont_has_info>quest_vodka_done</dont_has_info> - квест ещё не выполнен
<precondition>dialogs_zaton.is_has_vodka_borode</precondition> - проверка наличия у ГГ нужного предмета (водки).
Примечание №3
Наличие строчки <dont_has_info>quest_vodka_done</dont_has_info> в диалоге активации квеста (vodka_quest_dialog) - "Привет, тебе водки не принести?" тоже не нужно, ибо при активации квеста будет выдана инфопорция quest_vodka_give и функция <dont_has_info>quest_vodka_give</dont_has_info> скроет диалог активации квеста.
Добавлено (07.09.2011, 22:32) --------------------------------------------- Копипаста с сталкерин
CoP. Создание нового достижения
Для начала нужно распаковать игру анпакером.
После распаковки идём в следующие директории и ищем следующие файлы: info_x.xml ---> configs\gameplay\ (где "x" название локации на которой хотим получить достижение например jupiter) этот файл нужен для просмотра списка квестов на локации, зачем нам это вы узнаете позже. achievements.ltx ---> configs\misc\ st_achievement.xml ---> configs\text\rus\ ui_actor_achivments.xml ---> configs\ui\textures_descr\ xr_statistic.script ---> scripts\ ui_actor_achivments.dds ---> textures\ui\ xr_conditions.script ---> scripts\
И так, приступаем к работе.
Откроем файл achievements.ltx и ищем такую вот запись: [achievements] pioneer mutant_hunter detective one_of_the_lads kingpin herald_of_justice seeker battle_systems_master high_tech_master skilled_stalker leader diplomat research_man friend_of_duty friend_of_freedom balance_advocate wealthy keeper_of_secrets marked_by_zone information_dealer friend_of_stalkers
Идём в конец файла и добавляем следующее: ["Название_достижения_на_английском_без_кавычек"] icon = ui_inGame2_имя_иконки_на_английском hint = st_sp_achievement_22_hint <--- То, что будет выводиться в КПК при наведении на иконку достижения (надо оставлять так же меняя только числа, чтоб они шли по порядку) name = st_sp_achievement_22_name <--- Имя достижения desc = st_sp_achievement_22_descr <--- Описание достижения functor = xr_statistic.название_достижения_на_английском_functor <--- функция для получения нашего достижения
закрываем сохраняя изменения в файле
Далее откроем файл st_achievement.xml и добавим между: <string id="st_sp_achievement_21_name"> <text>Друг сталкеров</text> </string>
и <string id="st_sp_achievement_1_hint"> <text>Совокупность новых данных позволила профессорам Герману и Озёрскому синтезировать в условиях Зоны экспериментальный анабиотик.</text> </string>
Следующее: <string id="st_sp_achievement_22_hint"> <text>Ваш текст который будет высвечиваться в КПК при наведении мышки на иконку достижения.</text> </string> <string id="st_sp_achievement_22_descr"> <text>Полное описание достижения.</text> </string> <string id="st_sp_achievement_22_name"> <text>Имя достижения</text> </string>
Закрываем с подтверждением на сохранение изменений
Открываем xr_statistic.script идём в самый конец и добавляем следующее: function название_вашей_функции() if not has_alife_info("пишем_что_хотим_на_английсокм") then <--- проверка на раннее получение этого достижения if has_alife_info("название_квеста_или_действия") <--- квест или действие после которого будет получено достижение. Для этого нам как раз и понадобится info_x.xml о котором я писал в начале. and has_alife_info("название_квеста_или_действия") <--- эта функция если квестов несколько db.actor:give_info_portion("пишем_что_писали_в_проверке_на_получение_ранее_достижения") news_manager.send_tip(db.actor, "st_ach_название_вашего_достижения_на_английском", nil, "название_вашего_достижения_на_английском", nil, nil) xr_effects.inc_faction_goodwill_to_actor(db.actor, nil, {"stalker", 100}) <--- прибавление репутации сталкеров при получении данного достижения (если - то убавление), можно вписать любую другую группировку (использовать несколько команд если хотите прибавить или убавить репутацию у нескольких группировок) end end return has_alife_info("пишем_что_писали_в_проверке_на_получение_ранее_достижения") end
Закрываем с подтверждением на сохранение изменений.
Если рисовали собственную иконку то вписываем её координаты (по x и y осям), если решили взять уже имеющуюся то вписывайте её координаты (координаты определяются по левому верхнему углу иконки достижения) координаты можно посмотреть через WTV (Windows Texture Viewer) Удачной игры
Добавлено (07.09.2011, 22:34) --------------------------------------------- Копипаста с сталкерин
CoP. Спавн аномалий
Данная статья посвещена созданию полноценных аномальных зон в ЗП. Расчитана на неопытных мододелов.
Итак начнем, для работы нам понадобятся: распакованный all.spawn, долька фантазии и не очень кривые руки.
РАСПАКОВКА all.spawn:
[1] интерпретатор, нужный для работы ACDC
[2] ACDC от bardak'а
[3] скрипт от bardak'а для вывода на экран информации о позиции игрока.
1) Устанавливаем ActivePerl
2) Закидываем ACDC в любую папку
3) Создаём в файл decompile.txt и вставляем в него текст:
perl acdccop.pl -d all.spawn pause
4) Создаём в файл compile.txt и вставляем в него текст:
perl acdccop.pl -c all.ltx pause
5) Меняем расширение обоих .txt на .bat
6) Кидаем сюда же all.spawn и жмем на распаковку. И видим кучу файлов типа alife_локация.ltx, way_локация.ltx, section2.bin, section4.bin и all.ltx
7) Всё all.spawn распакован оставим его пока что.
ДОЛЬКА ФАНТАЗИИ:
1) Закидываем скрипт bardak'а в gamedata'у соглашаясь на замену и запускаем игру. На экране должна отобразится информация о позиции игрока на локации.
2) Находим место для нашей аномальной зоны(естественно она состоит из нескольких аномалий). Для примера находим какое нибудь деревце на затоне и делаем 4 скрина (кнопочка F12) с разных сторон (крестом) на расстоянии 5 метров от деревца. Далее 1 скрин возле самого деревца. Выходим из игры.
3) Заходим в (S.T.A.L.K.E.R. - Зов Припяти\users\screenshots) и видим там 5 скринов. Ну с приготовлениями справились =)
НЕ ОЧЕНЬ КРИВЫЕ РУКИ:
1) Открываем alife_zaton.ltx и в самом конце вставляем 4 вот таких секции. (Не забудьте удалить коменты)
[9999] ;Уникальный номер секции, для удобства можно именовать последовательно (если последняя секция [1358] то наша должна быть [1359]) ; cse_abstract properties section_name = zone_mine_electric_weak ;Имя секции (Типа чё ставим) Аномалии описаны в gamedata\configs\zones name = test_anomaly ;Уникальное имя секции (УНИКАЛЬНОЕ!!!)Не должно повторяться) position = 0,0,0 ;Позиция на локации по X,Y,Z Допустимые варианты заполнения 364.154896,-14.153879,259.145987 или 364,-14,259 direction = 0,0,0 ;Направление объекта (Для аномалий можно не трогать)
; cse_alife_custom_zone properties max_power = 0 ;Сила аномалии (при 0 используется стандартное из конфига, если меняем то вписываем по образцу 1.0 и т.д.) enabled_time = ?7?7?7? ;Включенное состояние(указывать в секундах, если постоянно то 0 или удалить строку) disabled_time = ?7?7?7? ;Выключенное состояние(указывать в секундах, если постоянно то 0 или удалить строку) start_time_shift = ?7?7?7? ;Задержка включения(без задержки 0, если использованны предъидущие строки то эта строка обязательна!!!)
; cse_alife_anomalous_zone properties offline_interactive_radius = 30 ;(Х.З. Чё значит) artefact_spawn_count = 32 ;Чё та про спавн артефактов(Х.З. Чё значит) artefact_position_offset = 0x460 ;Чё та про спавн артефактов(Х.З. Чё значит)
; se_zone_anom properties
2) Заполняем ВСЕ (?7?7?7?). Откуда спросите вы =) позиции и вертиксы со скринов. section_name в данном случае из gamedata\configs\zones. Радиус и временные параметры из головы. Получится что то типа: [2180] ; cse_abstract properties section_name = zone_mine_electric_weak name = zaton_testing_anomaly_01 position = -73,-7,575 direction = 0,0,0
3) Ну естественно у вас должно получится с другими координатами =)
4) И так заполняем все 4 секции каждую с разных позиций вокруг дерева главное не перестараться с радиусом =)
5) В итоге у нас есть 4 электры вокруг дерева. Согласитесь этого мало для полноценной аномалии. А что еще нужно? А нужно нам что бы в аномальной зоне появлялись артефакты, что бы они постепенно перемещались внутри аномальной зоны, да еще и саму зону на карте отметить.
НУ ПРИСТУПИМ К ОЖИВЛЕНИЮ:
1) Создадим секцию [2204] ; cse_abstract properties section_name = anomal_zone name = zaton_test_anomal_zone position = 257.686218261719,19.0880222320557,541.813903808594 direction = 0,0,0
6)Полученный all.spawn.new кидаем на место оригинального и переименовываем в all.spawn
7)Идем в gamedata\scripts открываем pda.script и находим строку: local primary_objects_tbl =
Добавляем по анологии строку: {target="zaton_test_anomaly_spot", hint="zaton_test_anomaly_spot_name"},
Получится что то типа {target="zat_b12_spot", hint="st_zat_b12_name"}, {target="zat_b28_spot", hint="st_zat_b28_name"}, {target="zat_b103_spot", hint="st_zat_b103_name"}, {target="zaton_test_anomaly_spot", hint="zaton_test_anomaly_spot_name"}, 8)Идем в gamedata\configs\text\rus и открываем блокнотиком st_land_names.xml И добавляем новую секцию с string id = "zaton_test_anomaly_spot_name" по анологии.
9)Если всё сделано правильно то в игре вас будет ждать новая аномалия =)
Добавлено (07.09.2011, 22:42) --------------------------------------------- Копипаста с сталкерин
Редактирование оружия
Общие положения
Сегодня мы разберем то, каким образом можно редактировать оружие в игре - от характеристик до описания. Характеристики оружия хранятся здесь:
...\S.T.A.L.K.E.R\gamedata\config\weapons\w_[...].ltx [править] Разбор структуры конфига
Возьмем, для примера, конфиг w_g36.ltx. Он делится на разделы: [править] Первый раздел
Здесь хранится общая информация о оружии - его класс, тип, ссылки на спавн и т.д. Нас интересуют следующие строки: description = enc_weapons1_wpn-g36 - ссылка на string_id, из которого игра подгружает описание этого оружия. ef_main_weapon_type = 2 - основной тип, к которому принадлежит оружие ef_weapon_type = 6 - подтип, к которому принадлежит оружие default_to_ruck = false - значит, если при пустой ячейке под автомат, подобрать автомат он будет помещён в ячейку; если true автомат в ячейку помещён не будет sprint_allowed = true - эта строка означает можно ли бегать с данным оружием (true-можно;false-нельзя) [править] Второй раздел
Содержит модификаторы, которые даются к углу зрения/дальности обзора NPC, держащего это оружие в руках: holder_range_modifier = 1.85 - во сколько раз увеличивается eye_range holder_fov_modifier = 0.3 - во сколько раз увеличивается eye_fov [править] Третий раздел
Содержит данные о самом оружии, его некоторых характеристиках: cost = 18000 - базовая цена (торговцы умножают её на некоторый коэффициент) weapon_class = assault_rifle - класс оружия (здесь - штурмовая винтовка) ammo_mag_size = 30 - размер магазина ammo_class = ammo_5.56x45_ss190, ammo_5.56x45_ap - типы используемых патронов grenade_class = ammo_m209 - тип используемых гранат fire_modes = 1, -1 - режимы ведения огня hand_dependence = 1 - зависимость о рук (?) - возможно, речь идет о качании ствола single_handed = 0 - держится ли только в одной руке slot = 2 - слот в инвентаре animation_slot = 2 - вид анимации (для пистолета/для винтовки) inv_name = wpn-g36 - ссылка на имя, отображаемое в инвентаре, тоже берется из string table, как и описание inv_name_short = wpn-g36 - короткое имя; в данном случае используется то же самое inv_weight = 3.6 - вес inv_grid_width = 5 - длина иконки (кол-во клеток по х) inv_grid_height = 2 - высота иконки (кол-во клеток по у) inv_grid_x = 0 - координаты первого угла иконки по x inv_grid_y = 10 - координаты первого угла иконки по y [править] Четвертый раздел
В четвертом разделе хранится информация о износе/отдаче оружия. Практически все параметры там снабжены комментариями, поэтому приведу лишь самые интересные: cam_relax_speed = 5.7 - скорость возврата в исходное положение cam_dispersion = 0.2 - увеличения угла (в градусах) с каждым выстрелом fire_dispersion_condition_factor = 5 - увеличение дисперсии в процентах при максимальном износе misfire_probability = 0.003 - вероятность осечки при максимальном износе misfire_condition_k = 0.05 - порог (в данном случае - 5%), после которого оружие может заклинивать condition_shot_dec = 0.0002 - увеличение износа при каждом выстреле [править] Пятый раздел
Здесь хранится множество параметров, из которых наиболее интересны эти: PDM_disp_base = 3.0 - множитель, на который умножается базовая дисперсия оружия, когда ГГ (Главный Герой) стоит на месте в полный рост; PDDM_disp_vel_factor = 1.3 - множитель, на который умножается базовая дисперсия оружия, когда ГГ крутит оружием или бежит; PDM_disp_accel_factor = 1.3 - множитель, на который умножается базовая дисперсия оружия, когда ГГ бежит в спринте; PDM_crouch = 1.0 - множитель, на который умножается базовая дисперсия оружия, когда ГГ идет пригнувшись; PDM_crouch_no_acc = 1.0 - множитель, на который умножается базовая дисперсия оружия, когда ГГ стоит на месте, пригнувшись; hit_power = 0.50, 0.54, 0.57, 0.60 - сила выстрела (лучше оставить так как есть иначе при не правильной суме чисел игра будет вылетать, но если поставить только одно число всё будет нормально(например hit_power = 0.7) ) hit_impulse = 105 - импульс пули (сила, которую летящая пуля передает жертве, влияет на поведение ragdoll-тела. Чем больше поставишь, тем дальше улетит) hit_type = fire_wound - тип причиняемых повреждений, в данном случае - пулевые ранения (параметр в синглплеере ни на что не влияет) fire_distance = 600 - максимальная дистанция для выстрела bullet_speed = 925 - начальная скорость пули rpm = 600 - скорострельность выстрел/минута hud = wpn_g36_hud - внешний вид оружия от 1-ого лица [править] Шестой раздел position = -0.026, -0.132, 0.0 - позиция оружия на спине по отношению к НПС при виде от 3-его лица orientation = 0, 0, 0 - вращение оружия на спине НПС при виде от 3-его лица [править] Седьмой раздел
Содержит описания визуальной стороны оружия и некоторые другие параметры: startup_ammo = 90 - как нетрудно догадаться, стартовое количество патронов (в синглплеере ни на что не влияет) visual = weapons\g36\wpn_g36.ogf - модель оружия, используемая NPC, а также игроком при виде от третьего лица ph_mass = 4 - физическая масса, используемая при расчетах scope_status = 2 - ситуация со съемным прицелом silencer_status = 1 - ситуация с несъемным глушителем grenade_launcher_status = 0 - ситуация с отсутствующим подствольным гранатометом Параметры: 0 - нет, новый прикрепить нельзя 1 - уже есть, несъемный 2 - нет, но можно установить zoom_enabled = true - есть ли зум (прицеливание) scope_zoom_factor = 33.3 - какой зум дает прицеливание (здесь - 1.8х) scope_texture = wpn\wpn_crosshair_g36 - текстура прицельной сетки shell_point = 0.15, 0.0, -0.05 - точка вылета гильз shell_dir = 0.0, 1.0, 0.0 fire_point = -0.000000,0.062000,0.134000 - точка выстрела fire_point2 = 0.30, 0.00, 0.05 - точка выстрела (2) fire_bone = wpn_body orientation = 0, 0, 0 - направление position = 0, 0, 0 - позиция visual = weapons\g36\wpn_g36_hud.ogf - модель, отображаемая у нас в руках [править] Изменение описаний
Описания оружия хранятся в файле: ...\S.T.A.L.K.E.R\gamedata\config\text\rus\string_table_enc_weapons.xml
В нем хранятся строки с названиями и описаниями, на которые ссылаются конфиги оружия. Например, тот же G36 ссылается сюда: [...] <string id="enc_weapons1_wpn-g36"> <text>Штурмовая винтовка немецкого производства, представляющая собой первоклассный образец современного оружия - лёгкого, надёжного и эргономичного.\n Боеприпасы:\n обычный 5,56x45 мм SS109,\n бронебойный 5,56x45 мм АР.</text> [...] <string id="wpn-g36"> <text>ГП37</text> [...]
Меняя их содержимое, мы меняем описания/названия данного оружия. [править] Изменение патронов
Найдем, например, раздел, отвечающий за патроны к тому же G36 (о них мы узнали из параметра ammo_class), и разберем, что означает каждый параметр:
visual = weapons\ammo\ammo_556x45_ss190.ogf - модель коробки с патронами description = enc_weapons1_ammo_ammo-5.56x45-ss190 - ссылка на string_id, из которого игра подгружает описание этого типа патронов cost = 320 - стоимость одной коробки box_size = 30 - количество патронов в одной коробке inv_name = ammo-5.56x45-ss190 - ссылка на string_id, содержащий имя для инвентаря inv_name_short = ammo-5.56x45-ss190_s - ссылка на string_id, содержащий краткое имя для инвентаря inv_weight = 0.33 - вес inv_grid_width = 2 - длина иконки (кол-во клеток, занимаемое в инвентаре) inv_grid_height = 1 - ширина иконки inv_grid_x = 14 - координаты первого угла иконки по x inv_grid_y = 11 - координаты первого угла иконки по y
k_dist = 1 - коэффициент дальности, сама дальность - в стволе, тупо расстояние. k_disp = 2.5 - кучность, завязана с кучностью в стволе k_hit = 1 - убойность, завязана с убойностью в стволе k_impulse = 1 - чисто наскока эффектно ногами непись дрыгнет во время кердыка k_pierce = 1 - коэффициент наскока испортится броня при попадании
impair = 1 - коэффициент износа ствола от пули buck_shot = 1 - кол-во составляющих в пуле (напр картечь - 4, пуля - 1) tracer = on - является ли патрон трассирующим (on/off) wm_size = 0.05 - визуальный размер дырки на стене от пули [править] Нововведения в ЗП [править] HUD
HUD модель была разделена на 2 части - руки и собственно сама пушка. Это было сделано для того чтобы добиться смены визуалов рук при смене комбеза.Из-за этого (и не только из-за этого) большая часть конфига находящаяся под "[wpn_xxx_hud]:hud_base" потерпела некоторые изменения - о них я и расскажу.
Добавлены: hands_position = 0.020500,-0.206999,0.261999 - положение рук и оружия hands_orientation = 3.349998,2.599999,-0.050000 - направление (ориентация) рук и оружия hands_position_16x9 = 0.020500, -0.165999,0.209500 - положение рук и оружия для моников 16x9 hands_orientation_16x9 = 3.649998,1.050001, -0.050000 - направление (ориентация) рук и оружия для моников 16x9 item_position = 0,0,0 - позиция оружия относительно рук item_orientation = 0,0,0 - ориентация оружия относительно рук aim_hud_offset_pos = -0.129000,0.017000,-0.001500 - смещение рук с пушкой при прицеливании aim_hud_offset_rot = -0.012500,0.040000,0.020000 - ориентация рук с пушкой при прицеливании aim_hud_offset_pos_16x9 = -0.129000,0.017000,-0.001500 - смещение рук с пушкой при прицеливании для моников 16x9 aim_hud_offset_rot_16x9 = -0.012500,0.040000,0.020000 - ориентация рук с пушкой при прицеливании для моников 16x9 gl_hud_offset_pos = 0,0,0 - смещение рук с пушкой при прицеливании из подствольника gl_hud_offset_rot = 0,0,0 - ориентация рук с пушкой при прицеливании из подствольника gl_hud_offset_pos_16x9 = 0,0,0 - смещение рук с пушкой при прицеливании из подствольника для моников 16x9 gl_hud_offset_rot_16x9 = 0,0,0 - ориентация рук с пушкой при прицеливании из подствольника для моников 16x9 [править] Апгрейды и изнашиваемость
Как известно, в ЗП есть возможность апгрейда оружия. За выбор схем при апгрейде отвечают строки: upgrades = up_gr_firstab_ak74, up_gr_seconab_ak74, up_gr_thirdab_ak74, up_gr_fourtab_ak74, up_gr_fifthab_ak74, * up_gr_fifthcd_ak74 - части апгрейд схемы installed_upgrades = - установленные апгрейды upgrade_scheme = upgrade_scheme_ak74 - апгрейд-схема
Так-же в ЗП была создана более продуманная схема изнашиваемости, вот строки которые за это отвечают: misfire_start_condition = 0.6 - изношенность, при которой появляется шанс осечки misfire_end_condition = 0.1 - изношенность при которой шанс осечки становится константным misfire_start_prob = 0.003 - шанс осечки при изношености больше чем misfireStartCondition misfire_end_prob = 0.043 - шанс осечки при изношености больше чем misfireEndCondition condition_shot_dec = 0.001 - увеличение изношености при одиночном выстреле condition_queue_shot_dec = 0.0012 - увеличение изношености при выстреле очередью
Изношенность нового ствола = 1.0 [править] Основной конфиг
Здесь изменений ни так много:
Иконка используемая при апгрейде. Координаты отсчитываются с левого верхнего угла по пикселям. Файл с иконками находится по пути textures\ui\ui_actor_weapons.dds upgr_icon_x = 304 - координаты по х (горизонтально) upgr_icon_y = 627 - координаты по у (вертикально) upgr_icon_width = 295 - ширина иконки upgr_icon_height = 110 - высота иконки * scopes_sect = scope_ak74, scope_x2.7_ak74, scope_live_detector_ak74, scope_night_ak74 - ссылки на вторичный конфиг прицела [scope_ak74] - собственно сам вторичный конфиг scope_name = wpn_addon_scope - ссылка на конфиг прицела scope_x = 47 - расположение иконки установленного прицела на иконке оружия по x(в пикселях) scope_y = 0 - по у [править] Авторы
Статья создана: BAC9-FLCL Ya.D
Статья отличная, но не сказано про параметр патронов "explosive". Не подствольников и ракет, а именно патронов! Даже в оригинальном файле "weapons.ltx" в свойствах патронов 5.45x39 для АК к конце всегда есть строка "explosive = off". Достаточно изменить ее на "explosive = on" и мы имеем разрывной снаряд, ну разрывной он в просторечье, а так - бронебойно-зажигательный. И при выстреле таким снарядом мы увидим как 2 секунды после выстрела в месте попадания разгорается и тухнет оранжевое пламя. Но это всего лишь анимация, так что если будете делать такие патроны, не забывайте увеличить их бронебойную способность и останавливающее действие. Кстати это не только для патронов АК сделать можно, а для любых всего одной строкой. Удачи!
Добавлено (07.09.2011, 22:45) --------------------------------------------- Копипаста с сталкерин
Редактирование костюмов
Разбор параметров
В этой статье мы рассмотрим значения параметров костюмов. Все параметры, не упомянутые ниже, изменять строго не рекомендуется!
Итак, секции с параметрами находятся в файле: config\misc\outfit.ltx
Разберем, например, параметры классического костюма сталкера. [stalker_outfit]:outfit_base
; название секции костюма. именно к нему игра будет обращаться. outfit_base - базовая (наследуемая) секция (изменять строго не рекомендуется).
visual = equipments\stalker_suit ; модель, используемая для сложенного костюма, лежащего на земле.
actor_visual = actors\hero\stalker_hood.ogf ; модель, используемая для игрока, когда на нем надет костюм.
inv_name = stalker_outfit_name ; название в инвентаре.
inv_name_short = stalker_outfit_name ; название в инвентаре (в принципе, можно здесь продублировать значение предыдущего параметра - так чаще всего и делают).
description = stalker_outfit_description ; ссылка на текстовую строку с описанием.
inv_weight = 5.0 ; вес.
; далее идут параметры иконки в инвентаре (см. примечание 1).
Здравствуйте. Подскажите, пожалуйста. У меня был установлен гибрид APv+STG и там были глушители 9x18, 9x19, 5x56 и по-моему 5,45x39. А потом я удалил гибрид (папку gamedata на переместил) и установил STG final, а глушителей не осталось. Можете подсказать в какой папке были глушители в гибриде P. S и ещё вопрос если я сделаю у СВД регулируемый прицел через конфиг мне надо будет что-нибудь менять в конфиге апгрейда?