Задавайте вопросы по модингу,знающие люди вам ответят.
Внимание! Правила комментариев.
Тело поста
* Каждое новое предложение начинается с заглавной буквы. * Между словами ставится только один пробел. * Знаки препинания (точки, запятые, двоеточия, точка с запятой) пишутся слитно с тем словом, после которого они стоят. * Если скобки () находятся в середине предложения, знаки препинания ставятся вне скобок. Если скобка заканчивает предложение, точка ставится также за скобкой. Эти же правила относятся к кавычкам. * Не писать лишние посты,они будут удалены без предупреждения.(1 раз могу простить)
Зашитим МоНоЛиТ братья!!!
[Танковый Клан "Celestial Warriors". Позывной: Zmax_111. Должность: Глава Клана]
Сообщение отредактировал Zmax_111 - Пятница, 08 Апреля 2011, 15:16
Рассмотрим, что-же содержится в папке gamedata: Папка ai – в ней содержатся файлы типа *.efd, через которые очевидно управляется искусственный интеллект тех же npc например. Папка anims – здесь и так всё понятно, игровая анимация, а также эффекты камеры. Папка config содержит в себе многие игровые параметры, к ней мы ещё вернёмся. Папка levels – это игровые уровни,локации, на которые поделена игра (как карты в CS) Папка meshes – игровые модели, в формате .ogf Папка scripts – скрипты Папка shaders – шейдеры, для двух рендеров(DX8 и 9) Папка sounds – звуки и музыка, кот. используются в игре. Формат .ogg* Папка spawns – отвечает за самую ужасную вещь в игре – респаун противников и др. людей, животных. Папка textures – в ней содержаться текстуры домов, оружия, монстров и др. Формат - .dds(DirectDraw Surface Image) Файлы: game.graph, gamemtl.xr, lanims.xr, particles.xr, resource.h, senvironment.xr, shaders.xr, shaders_xrlc.xr, stalkergame.inf. В звуках, кстати, можно найти много интересного, например: в папке sounds\car содержатся звуки машин(которых в игре нет), а sounds\music\harmonica_1.ogg – файл губной гармошки. Ах да, чуть не забыл, самый главный лол, это файл sounds\car\trabantnoise.ogg =======================================================================
Введение в моддинг:
Именно с папкой config придётся работать для редактирования многих параметров игры.
Но начнём сначала:
Перед тем, как начать редактирование файлов игры, нужно в каталог Сталкера поместить ту самую папку 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, файлы типа w_ak74.ltx открываются тоже блокнотом. Разберём содержимое файла например w_groza.ltx Во первых стоит обратить внимание на значение пременной(буду их так называть) cost, это цена оружия, т.е. сколько гроза будет стоить у продавца. Переменная weapon_class означает, к какому классу относится оружие, в данном случае - assault_rifle. ammo_limit – лимит боеприпасов(в игре по-моему не используется) ammo_mag_size – [=yellow]размер магазина. Можно поставить например 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).
В этом файле в квадратных скобках написан тот предмет, чьи параметры идут ниже, за квадр. скобками. Например: [kolbasa]:identity_immunities. Параметры на примере колбасы: class – к какому классу принадлежит предмет. visual – модель. cost – цена. eat_health – сколько восстанавливает здоровья.(если будет 0, то колбаса лечить не будет.) eat_power - сколько восстанавливает силы. eat_radiation - сколько выводит/или добавляет радиации. (Насчёт этого не уверен, надо тестить.) inv_weight – вес предмета.
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 могли покупать у ГГ оружие, нужно править файл 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 для смены вида. Очень нужно при езде на БТР
======================================================================= Создание новых веток диалога:
[=yellow]Создание новых веток диалога.[ /COLOR] 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 es cape_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)
… Записываем изменения и с файлом 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_gu si_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 monste rs\burer\burer monsters\chimera\chimera monsters\cat\cat monsters\zombi\zombi_1 monsters\rat\rat_1 monsters\tushkano\tushkano
Зашитим МоНоЛиТ братья!!!
[Танковый Клан "Celestial Warriors". Позывной: Zmax_111. Должность: Глава Клана]
Сообщение отредактировал Zmax_111 - Пятница, 08 Апреля 2011, 19:36
Скелет, Заходишь в gamedata\configs\weapons\(НАПРИМЕР)wpn_ak74 там находишь строку hit_power = 5.7, 5.7, 5.7, 5.7 у меня например стоит 5.7-убивает с 1 выстрела. Зашитим МоНоЛиТ братья!!!
[Танковый Клан "Celestial Warriors". Позывной: Zmax_111. Должность: Глава Клана]
Скелет, Я знаю как я играю,а играю кул.Он мне дал левую прогу там лагает 17 кадров в сек.И Больше такое не пиши.Тут только про Модинг!Читай правила! Зашитим МоНоЛиТ братья!!!
[Танковый Клан "Celestial Warriors". Позывной: Zmax_111. Должность: Глава Клана]
Сообщение отредактировал Zmax_111 - Пятница, 08 Апреля 2011, 15:09
Скелет, В начале игры то так gamedata\configs\gameplay\character_desc_general найдёшь там вот это team>Actor</team> <supplies> [spawn] \n device_torch \n </supplies> ПОТОМ СДЕЛАЙ ТАК team>Actor</team> <supplies> [spawn] \n wpn_ak74 \n ammo_5.45x39_fmj = 19 \n device_torch \n </supplies> С помощью этого у тебя будет ак74 и патроны на него всего их 19 ОСТОРОЖНО ДЛЯ НАЧАЛО НУЖНО на всякий случай копировать файл character_desc_general Зашитим МоНоЛиТ братья!!!
[Танковый Клан "Celestial Warriors". Позывной: Zmax_111. Должность: Глава Клана]
Сообщение отредактировал Zmax_111 - Пятница, 08 Апреля 2011, 15:12
Теперь кто хочет,может писать сюда свои знания по модингу.
А так-же можете добавлять файлы для начинающих мододелов.
Всего наилучшего.
Инструменты:
http://stalkermir.ucoz.ru/load/2179_s_t_a_l_k_e_r_u/12-1-0-150 Если хотите стать класным модмейкером то для начало вы должны скачать эту прогу.
http://stalkermir.ucoz.ru/load/ogfviewer/12-1-0-149 Популярный просмоторщик OGF моделей для всех трех серий СТАЛКЕРа.
http://stalkermir.ucoz.ru/load/stalkerltxed/12-1-0-148 Утилита для редактирования параметров игры S.T.A.L.K.E.R. Shadow of Chernobyl. Позволяет изменять параметры оружия, боеприпасов, бронежилетов, артефактов, еды, медикаментов, погодных условий. Имеет два режима редактирования: стандартный и табличный.
http://stalkermir.ucoz.ru/load/stalker_mus_creator/12-1-0-147 «Утилита написана специально под Сталкер, позволяет добавлять определенные музыкальные композиции (т.е. гитарную музыку) каждой группировке и работать со звуковыми файлами.»[spoiler]
[spoiler]http://stalkermir.ucoz.ru/load/paint_net_3_5_5_install/12-1-0-146 «Paint.NET – бесплатная программа для редактирования изображений и фотографий разработанная для компьютеров работающих под операционной системой Windows 2000, XP, Vista, или Server 2003.
http://stalkermir.ucoz.ru/load/34_position/12-1-0-145 «Выводит на экран значения level vertex id, game vertex id, pos, для точки, в которой находиться игрок. Также показывает информацию по направлению взгляда игрока. Если Вам необходимо знать точные координаты для спавна чего-либо, этот небольшой скрипт будет очень кстати.»
http://stalkermir.ucoz.ru/load/audacity_win/12-1-0-144 «Бесплатный многоплатформенный редактор звуковых файлов, ориентированный на работу с несколькими дорожками. Редактор Audacity обеспечивает выполнение следующих функций: -импорт и экспорт файлов WAV, MP3, Ogg Vorbis, FLAC и других форматов; -запись с микрофона, линейного входа и других источников; -запись до 16 каналов одновременно (необходима многоканальная звуковая карта); -эффекты и расширения как в комплекте поставки, так и устанавливаемые отдельно; -индикаторы уровня записи и воспроизведения; -изменение темпа с сохранением высоты тона; -изменение высоты тона с сохранением темпа; -удаление шума по образцу; -воспроизведение множества дорожек одновременно; -сведение дорожек с разными качественными характеристиками с автоматическим преобразованием к заданным характеристикам проекта в режиме реального времени; -результаты могут сохраняться во множество форматов, обеспечиваемых библиотекой libsndfile.»
Добавление нового оружия.
Сложность:Сложная.
Текстуры
Нарисуем для оружия новую текстуру. Подробно останавливаться на этом процессе не буду, ознакомьтесь с примером, приведенным здесь. Итак, основываясь на текстуре АК74, мы сделали вот такую текстуру:
Новых моделей мы пока делать не станем, просто воспользуемся дублированными моделями от АК74. Скопируем папку:
gamedata\meshes\weapons\ak74\
И назовем её ak-101. Содержимое, соответственно, переименуем в:
* wpn_ak101.ogf * wpn_ak101_hud.ogf.
Теперь пропишем в эти модели созданные нами текстуры. Способ описан здесь.
Вобще, если вы создаёте новое оружие на основе старой модели, то удобней будет прописывать его через файл gamedata\config\misc\unique_items.ltx (в Тени чернобыля). В Чистом небе уникальные стволы лежат в файлах оружия. Смысл в том, что вам не нужно бутет переписывать все значения оружия в новый файл, а просто надо добавить ссылки на новые текстуры и описания, и перечислить свойства, которые Вы хотите заменить. Кроме того, создавая отдельный файл модели для нового оружия Вы тупо загружаете одну и туже информацию в память по второму кругу (это нехорошо, да). Всё остальное надо делать также как написано далее.
Если создаете оружие с новой моделью то обязательно не оставляйте её без изменений.Почему-то в игре не может быть двух оружий с одинаковыми моделями.И еще-если вы создаете прототипное оружие(меняете часть конфигов) то обязательно ложите конфиг в соответствующий файл(в ЧН и ЗП это файл с оружием-прототипом,а в ТЧ unique_items) иначе при загрузке игра будет вылетать,примерно так: argument:can not find section 'название вашего оружия'
Иконки
Добавим в игру иконки, которыми оружие будет отображаться в инвентаре.
В конечном этоге получится это.
3)
Подробно:
...\gamedata\textures\ui\ui_icon_equipment.dds
Он содержит иконки предметов, отображаемые в инвентаре. Допустим, вы сделали новый вид оружия, и хотите присвоить ему новую иконку.
Нам понадобится следующее:
* Adobe Photoshop (я использовал CS2, CS и 7.0 различаются незначительно) * плагин для работы с .dds-изображениями.
Итак, мы установили плагин и запустили Photoshop. Откройте в нем наш файл.
2а)
Иконки расположены по сетке 50х50 пикселей.
Чтобы включить её отображение, зайдите в меню:
Редактирование -> Установки -> Направляющие, сетка и фрагменты
И установите в нем следующие значения:
* Линия через каждые: 50 * Единицы измерения: пиксели * Внутреннее деление на: 1
После чего выберите пункт:
Просмотр -> Показать -> Сетку ( Ctrl+' )
Всё, сетка теперь правильно настроена и отображается. Выберем место для иконки.
2б)
Иконка будет размером 4х2, то есть 200х100 пикселей - это обычный размер иконки для автоматических винтовок. Нарисуем её:
2в)
Иконка АК47У была нарисована следующим образом: я нашел качественную фотографию с однородным фоном (благо, фотографий АК в интернете немерено), открыл её в Photoshop, выделил с помощью второго вида инструмента "Лассо", нажал Ctrl+C, открыл файл с иконками, нажал Ctrl+V, нажал Ctrl+T, зажал Shift ("Сохранение пропорций") и потянул за край выделения, сжимая изображение до нужного размера.
После чего применил трансформацию, перетащил изображение на нужное место и нажал Shift+Ctrl+E ("Слить слои").
Теперь соответственно иконке изменим и альфа-канал.
2г)
Выделим иконку оружия, и перейдем в окне со слоями на закладку:
Каналы -> Alpha
2д)
После чего залейте выделение белым. Всё, мы сделали иконке альфа-канал.
Теперь нужно сохранить файл в правильном формате. Выберите:
Файл -> Сохранить
И выставьте в появившемся окне окне следующие настройки:
2е)
Крайне важно выставить следующие параметры:
* Save Format: DXT5 (Interpolated Alpha) * MIP maps: No MIP maps
Нажмите Save. Вот всё, мы добавили новую иконку.
Теперь присвоим её предмету.
Допустим, вы создали файл wpn_ak47u, которому и нарисовали иконку. Зайдем в его конфиг:
* inv_grid_width - ширина в сетке 50х50 * inv_grid_height - высота в сетке 50х50 * inv_grid_x - местонахождение по х * inv_grid_y - местонахождение по y
Новое оружие мы будем делать на базе оригинальных конфигурационных файлов. Создадим АК101 на базе конфигов АК74.
Свойства оружия
Скопируем файл из папки:
gamedata\config\weapons\ak74.ltx
Назовем его ak101.ltx.
Отредактируем свойства по своему усмотрению (но лучше - в соответствии с достоверной информацией о характеристиках оружия, т.к. АК101 - всё-таки оружие реально существующее). Редактирование конфигов оружия подробно описано в отдельном уроке. В данном случае конфиг был составлен таким образом:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; [wpn_ak101]:identity_immunities GroupControlSection = spawn_group discovery_dependency = $spawn = "weapons\ak-101" ; name and section in level editor $npc = on $prefetch = 8 scheduled = off ;[] option for ALife Simulator cform = skeleton class = WP_AK74 ; class of the weapon that corresponding to CPP class min_radius = 30 ; [] for AI max_radius = 100 ; [] for AI description = enc_weapons1_wpn-ak101
ef_main_weapon_type = 2 ef_weapon_type = 6
;----------------------------------------------------------------------------------- holder_range_modifier = 1.0 ; во сколько раз увеличивается eye_range holder_fov_modifier = 0.7 ; во сколько раз увеличивается eye_fov ;-----------------------------------------------------------------------------------
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;HUD offset in zoom mode (to all) ;(use CONSOLE: hud_adjust_mode 0,1,2, then keys WSADQE and P to show current value in console)
Так же не забудте в файле mp_ranks.ltx прописать после available_items (которое внизу) прописать название своего оружия. Это предотвратит вылет при убийстве ГГ а также вылет при выкидывании оружия из инвентаря.
* buy_supplies - доступный ассортимент торговца, то есть то, что будет у него в продаже.
Чтобы добавить в начальный ассортимент, например, винтовку FN2000, проделаем следующее:
1. Добавим её в раздел [supplies_start]:
;Оружие ... wpn_fn2000 = 2, 0.5
2. Добавим её в раздел [barman_start_sell]:
;Оружие ... wpn_fn2000 1, 3
Ну а чтобы оно не пропадало после выполнения важных заданий, запишите её и в ассортименты для выполненных условий.
А вот как наш ак 101 будет выглядеть в игре:
4)
При создании нового оружия можно допустить некоторые ошибки в конфиге, что приведёт к вылету игры. При таком случае сразу после вылета игры заходим в любой текстовый редактор и нажимаем клавиши Ctrl+V (вставить) и внизу можно увидеть из-за какой ошибки вылетела игра, а там уже дело техники исправить ошибку...
Всё, в item.ltx работа закончена, теперь переходим к редактированию описания, открываем string_table_enc_equipment "Блокнотом". Что мы там видим: все описания и названия прописаны по тегам:
<string id="название из inv_name">
Название в игре
</string>
И:
<string id="описание из description">
Описание в игре
</string>
Пишем:
<string id="test">
Тестовый предмет
</string>
И:
<string id="enc_equipment_food_bread1_test">
Тестовый предмет, разработанный в сверхсекретных лабораториях Зоны :)
</string>
Сохраняем... Все! Основная работа завершена! Теперь добавим предмет торговцам, например, Сидоровичу.
Открываем trade_trader из папки config/misc (работа с ним подробно описана в этой статье), прописываем:
test = 0.3, 0.5
В секции:
[trader_generic_buy]
И далее в:
[supplies_start]
test = 10, 1
В [supplies_after_fabric]
test = 10, 1
В [trader_start_sell]
И в:
[trader_after_fabric_sell]
test = 1. 3
Сохраняем, запускаем игру, торгуем с Сидоровичем и видим у него два вида хлеба: один из них - наш )
всё начиная с "И description = enc_equipment_food_bread1 на description = enc_equipment_food_bread1_test" вам понадобится.) Информацию о оружии можно найти здесь.
http://world.guns.ru/
АК-101 - Автомат Калашникова АК-101 является экспортной модификацией штатного автомата Российской армии АК-74М. Главным (и фактически единственным) отличием АК-101 от АК-74М является калибр - автомат "сотой" серии использует патроны калибра 5.56мм (5.56х45 НАТО) и соответствующие магазины, в остальном автоматы идентичны.
ВСЁ С ДОБАВЛЕНИЕ АК-101 МЫ ЗАКОНЧИЛИ!
Скрины идет по порядку с 1) 2а) 2б) 2в) 2г) 2д) 2е) 3) 4)