В данной теме вы можете задавать любые вопросы касательно S.T.A.L.K.E.R. моддинга.
Не флудить
Предварительно просматривайте раздел. Ответ на ваш вопрос может быть там.
В своем вопросе указывайте платформу моддинга - Тень Чернобыля, Чистое небо или Зов Припяти.
1. Какая стоит игра, с каким патчем? 2. Какой мод, версия мода? 3. Что правили своими ручками? 4. Конфиг компа. 5. Лог вылета и последние 25 строк (помещать под спойлер).
Структура папок и файлов в корневом каталоге игры:
...\S.T.A.L.K.E.R\gamedata\anims – папка содержит исполнительные файлы эффектов (например от ПНВ).
...\S.T.A.L.K.E.R\gamedata\config – папка содержит основные конфигурационные файлы (т. е. большинство настроек игры)
...\S.T.A.L.K.E.R\gamedata\meshes – содержит модели игровых предметов и персонажей...
...\S.T.A.L.K.E.R\gamedata\scripts – папка со скриптами (рабочими файлами содержащими в себе наборы функций) – основная папка, отвечающая за ответные действия игры и действия производимых игроком в игре.
...\S.T.A.L.K.E.R\gamedata\shaders – папка содержит в себе конфигурационные файлы шейдеров.
...\S.T.A.L.K.E.R\gamedata\sounds – здесь находятся все звуки игры (разложены по своим каталогам и папкам)
...\S.T.A.L.K.E.R\gamedata\spawns – содержит файл спавна – очень важный файл – не трогать без нужды!!!
...\S.T.A.L.K.E.R\gamedata\textures – содержит разложенные по каталогам и папкам текстуры используемые в игре.
Теперь разберем папки в каталоге «config»
...\S.T.A.L.K.E.R\gamedata\config\creatures - содержит массу конфигурационных файлов, в основном отвечающих за взаимодействие Главного героя игры (в дальнейшем ГГ) и прочего окружения в игре и ТТХ самого ГГ.
...\S.T.A.L.K.E.R\gamedata\config\gameplay – содержит конфиг. файлы персонажей игры (НПС) отвечающие за внешний вид, статус, снаряжение. Файлы: character_desc_ххх (где ххх – название локации) и character_desc_general (отвечает за зомбированного персонажа). Также содержит файлы диалогов и профилей НПС.
…\S.T.A.L.K.E.R\gamedata\config\misc – конфиг.файлы торговцев (папки с именами торговцев), артефактов, брони, квестовых предметов, уникальных предметов, файл отвечающий за награды за автозадания, файл эффектов (алкоголизма, ранения, ПНВ и прочих)...
…\S.T.A.L.K.E.R\gamedata\config\mp – среди прочих содержит важный файл mp_ranks – отвечающий за выпадение оружия и патронов из рук ГГ и НПС – без прописывания добавляемого в игру оружия в этот файл при выпадении нового оружия из рук ГГ\НПС будут следовать вылеты.
…\S.T.A.L.K.E.R\gamedata\config\text\rus – содержит файлы описаний всего и вся находящегося в игре (брони, артефактов, оружия, предметов и прочего).
…\S.T.A.L.K.E.R\gamedata\config\weapons – содержит конфиг.файлы оружия и боеприпасов используемых в игре.
…\S.T.A.L.K.E.R\gamedata\config\weathers – содержит конфиг.файлы настройки погоды на локациях.
Теперь немного подробнее о файлах.
...\S.T.A.L.K.E.R\gamedata\config\misc:
Папка shop_ххх (ххх – имя торговца) – содержит конфиг.файлы ассортимента торговца.
outfits – содержит секции конфигов костюмов.
artefacts - содержит секции конфигов артефактов.
items - содержит секции конфигов предметов.
monster_items - содержит секции конфигов частей монстров
postprocess - содержит секции конфигов пост. процессов (например: ПНВ).
quest_items - содержит секции конфигов квестовых предметов.
task_manager - содержит секции наград за автоквесты.
unique_items - содержит секции конфигов уникального оружия и костюмов.
У кого есть желание, создать FAQ по основным вопросам моддинга - обращаемся в ЛС.
Sander, Нужно всем НПС прописать данжер секцию в логику, у некоторых НПС логика "личная" - прописана в *.ltx или прямо в аллСпауне, в секции этого НПС, в ином случае НПС попадают в смарттерейны - в этом случае их логика в папке config\misc\gulag_bar.ltx
Как изменить (увеличить) размер эффекта выстрела\всполоха пламени у конкретного оружия в режиме от 1-го лица. Т.е. не частицы выстрела заменить, а именно размер уже существующего всполоха визуально увеличить. К примеру, калаш и пулемет используют одну и ту же частицу выстрела, однако размер всполоха пламени у пулемета МЕНЬШЕ, что я и хочу исправить. Имеется ввиду НЕ отсвет от вспышки(light), а размер самого всполоха пламени.
Сообщение отредактировал Dorian23Grey - Понедельник, 23.09.2013, 09:39
stalker-MiX, не может быть в частицах(партиклах), еще раз говорю - одни и те же партиклы используются у обоих пушек (weapons\generic_weapon05), однако размер вспышки различается почти в 3 раза где-то. Внешний вид вспышки, само собой, абсолютно одинаковый, а вот размеры разные. Конфиги оружия вроде уже насквозь перерыл, так и не соображу, где чего править нужно.
Сообщение отредактировал Dorian23Grey - Понедельник, 23.09.2013, 09:51
light_color -- цвета светового отблеска, при выстреле light_range -- радиус светового отблеска light_var_color -- цвет варьирующий среди представленных light_var_range -- радиус варьирующего цвета light_time -- время
Сообщение отредактировал stalker-MiX - Понедельник, 23.09.2013, 10:10
stalker-MiX, не-не-не, я же сказал, не отсвета от выстрела. Ипсравь описание этих параметров, оно не верно. Это не радиусы и цвет ПЛАМЕНИ, а радиусы и цвет СВЕТОВОГО ОТБЛЕСКА от выстрела, динамического источника света, который дает освещение и тени. На размер эффекта всполоха пламени это никак не влияет, совершенно разные вещи.
Добавлено (23.09.2013, 10:15) --------------------------------------------- Мысль у меня только одна по этому поводу - размер всполоха как-то привязан к 3д-модели оружия (.ogf) и регулируется уже оттуда, потому то тип партиклов и там, и там одинаковый... Но если GSC действительно сделали так, то это глупо и совершенно не удобно. Как же мне его поправить без навыков правки моделей?... Именно поэтому, я и надеюсь, что ошибаюсь в своем предположении.
Сообщение отредактировал Dorian23Grey - Понедельник, 23.09.2013, 10:16
ins33, разобрался как проверить, находиться ли НПС в спейс рестрикторе, вот код который я написал: if db.zone_by_name["_space_restrictor"]:inside(self.object:position()) then get_console():execute("car_to_position") end Просто метод inside не работал потомучто нужен клиентский объект, мпейс рестриктор можно по имени найти в таблице db.zone_by_name, ["_space_restrictor"] - это имя рестриктора self.object:position() - это получил координату машины, этот скрипт я ставил в модуле ph_car, там есть келбек action_car:stop_car() остановка машины, и через self можно получить объект машины. через Alife():object(name) не получиться ибо он вернет серверный объект а нужен клиентский.
get_console():execute("car_to_position") это я сделал вывод на консоль что авто в сепейс рестрикторе, тут ты можешь ставить свой скрипт
Добавлено (23.09.2013, 10:56) --------------------------------------------- Методы клиентских объектов отлично расписаны на wiki, в статье объект gameobject это почти полноценный msdn
Фух-х... Все-таки нашел ответ на свой вопрос сам, экспериментальным путем =)
Изменить (увеличить\уменьшить) размер всполохов пламени при выстреле конкретного оружия от первого лица в ТЧ достаточно легко. Изменить сам размер частиц выстрела через конфиг ствола мы не можем, но мы можем создать натуральную иллюзию увеличения размера - приблизить или отдалить точку воспроизведения частиц к камере игрока. За счет того, что проигрывание партиклов выстрела существует в дополнительном пространстве и практически не наслаивается на модель оружия, приближая или отдаляя источник выстрела посредством регулирования параметров конфига, мы можем получить как маленький, так и большой всполох пламени из совершенно одной и той же точки визуально - таким образом мы и регулируем визуальный размер всполохов пламени, при этом не заменяя тип частиц.
Нужно залезть в конфиг желаемого оружия и в подразделе [wpn_*имя-оружия*_hud] изменять параметры:
fire_point = X, Y, Z ;
- Где Х является смещением лево-право - Z смещает верх-низ - а Y является необходимой нам глубиной и смещает вперед-назад, т.е. ближе или дальше к игроку, тем самым увеличивая визуальный размер.
Сообщение отредактировал Dorian23Grey - Понедельник, 23.09.2013, 11:05
Dorian23Grey, сначала подумал, что может поменяли угол обзора, а затем, что худ модели заслоняет партикл, поэтому он и кажется меньше. Это хорошо что хоть сделали настройки на это, могли бы не дать.
wanes101, хорошая попытка, но как всегда слишком усложнена с твоей стороны. ins33, по всей видимости, просто не пробовал воспользоваться параметром on_npc_in_zone, утверждая, что параметр действует только на живых объектах, что самом по себе ересь. Параметр в принципе проверяет находится ли объект (совсем не обязательно, что "живой") в текущей зоне, то беж рестрикторе, или нет:
Код
on_npc_in_zone = 123|%+on_place%
123 - это story_id объекта; "вешается" это на рестриктор, в который объект нужно доставить.
Цитата (wanes101)
почему нету метода inside спейс рестриктора и у скрипт зоны нету метода active_zone_contact
Есть, только доступны они для клиентского объекта.
ins33, функции предназначенные для использования в секциях логики, ничем не отличаются от остальных, за исключением того, что в них, автоматически передаются два первых аргумента: первый - это объект из логики которого вызывается функция, второй - это всегда актор. Третьим аргументом передаётся таблица. Так что в который раз не стоит утверждать того, чего не до понимаешь или тем более не знаешь.
Цитата (Sander)
Как сделать какого-нибудь персонажа бессмертным?
В ТЧ - только унаследовав его секцию от секции Сахарова. Либо если силён в скриптах - постоянно апдейтить его здоровье в мотиваторе, но даже так он умрёт от прямого попадания в голову.
wanes101, они пустые изначально и пополняются они по ходу игры. Нет, на момент спавна ГГ там уже есть информация, но она будет у всех (возможно) разная, в разных модах - это точно. Хочешь посмотреть что там - итерируй таблицы и выводи в лог ключи и их значения; как правило в этих таблицах связка ключ-значение имеет вид: имя объекта/ай-ди объекта - сам объект.