В данной теме вы можете задавать любые вопросы касательно 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 по основным вопросам моддинга - обращаемся в ЛС.
сделать сквад из 7 снорков все есть написал свою функцию спавна но спавнится один снорк, а остальные 6 непоявляются вот что я писал в скрипте xr_effect
function spawn_monstr(actor, obj, p) --' p[1] --' p[2] local spawn_sect = p[1] if spawn_sect == nil then abort("Wrong spawn section for 'spawn_monstr' function %s. For object %s", tostring(spawn_sect), obj:name()) end
local path_name = p[2] if path_name == nil then abort("Wrong path_name for 'spawn_monstr' function %s. For object %s", tostring(path_name), obj:name()) end
if not level.patrol_path_exists(path_name) then abort("Path %s doesnt exist. Function 'spawn_monstr' for object %s ", tostring(path_name), obj:name()) end local ptr = patrol(path_name) local index = p[3] or 0
local se_obj = alife():create(spawn_sect, ptr:point(index), ptr:level_vertex_id(0), ptr:game_vertex_id(0))
ins33 Функцию желательно сделать универсальной. Показанная тобой одноразовая. Не так ли? Знать бы побольше условий...но исходя из тех что есть можно оформить как-то так :
Код
function name(in_object, out_object, ...) in_object = type(in_object) =='number' and level_object_by_sid(in_object) out_object = type(out_object)=='number' and level_object_by_sid(out_object)
if type(in_object)~='userdata' or type(out_object)~='userdata' then return end
local exclude={...} for i = 1, #exclude do exclude[ exclude[i] ] = true end
local function transfer_object_items(item) local sect = item:section() if exclude[sect] then return end out_object:transfer_item(item, in_object) end
out_object:inventory_for_each(transfer_object_items) end
При вызове функции name аргументы in_object и out_object могут быть как числами(sid-ами), так и объектами(userdata). Функция сама разберётся что на входе. Заодно и не допустит выполнения при отсутствии объекта. В переменном числе аргументов (...) передаются названия исключаемых вещей.
Возможно ли сделать так, чтобы патроны не сгруппировывались в инвентаре (или другие предметы)?
Добавлено (23.04.2013, 16:56) --------------------------------------------- mmihaill, Писать ему вейпоинты по которым он будет идти. Или же добавить скриптовую функцию в диалог, которая будет перекидывать ГГ подобно телепорту.
Как минимум расставить пути, при этом правильно их "обозвав".
Цитата (РСФСР)
Влияет ли это ... на что-нибудь?
Это в большей степени рудимент. Вот что об этом параметре написали разработчики:
Отряд (squad) Описывает принадлежность сталкеров из одной команды к разным группам внутри одного уровня. Это разделение существует внутри каждого уровня. Для каждой команды это разделение тоже особое. Более подробно распределение отрядов смотри в приложении Значение отряда должно находится в пределах от 0 до 31.
Группа (group) Описывает разбиение больших отрядов на более мелкие структурные единицы. Если такое разделение не нужно – дублирует отряд. Сталкерам одиночкам лучше давать уникальные группы. Значение группы должно находится в пределах от 0 до 31.
Распределение по сквадам и группам. Сквад сталкера ставится в зависимости от уровня, на котором он спавнится. Группа ставится каждому человеку своя отдельная. Получается что на одном уровне не может быть больше чем 32 сталкеров одиночек в каждой команде. Итого 32 нейтральных, 32 злых. Если, скажем, необходимо поставить группу из трех бандитов – то всем им нужно ставить одинаковую группу. Тогда общее число сталкеров увеличится. Вообщем думаю что хватит с головой. 0: Escape 1: Garbage 2: Agroprom 3: DarkDolina 4: RostokBar 5: ... 10: 11-31: Reserved Примеры: Все военные на эскейпе будут иметь команду 2 и сквад 0. Группа будет различаться в зависимости от принадлежности. Так допустим блокпост иметь 0 группу, патруль, выходящий с блокпоста – 1 группу. Трое солдат у входа в зону – 5 группу. Рейды – 6,7,8 группу. Несколько военных под мостом 10 группу, Патруль во второй половине уровня – 11 группу, охранники второго кордона – 12 группу. Такое вот расписание необходимо будет составлять на каждый уровень и более детально, и потом следовать ему.
Цитата (РСФСР)
И что означает содержимое этих строчек ... насколько я понял, это логика для атаки на лагерь сталкеров
Нет, совсем не это. Данные параметры задают условия переключения гулага между его состояниями. Т.е. это аналог функции load_states в скриптах, где и задаются данные условия, только уже напрямую скриптами. Часто, при помощи состояний задают ночные и дневные работы, но при развитой фантазии, при помощи данного параметра можно сделать гораздо больше. ins33, это сохранение делается движком автоматически.
ColR_iT, пути для гулага были созданы, он работал, но если собаки погонятся за актером, то бегут до конца уровня. Как это исправить? И разве не надо прописывать гулаг в scripts\level_gulag.script и config\misc\level_gulag.ltx? хотел сделать по аналогии, но не понял как прописывать - в этих файлах вообще ничего непонятно, даже названий смартов нет
РСФСР, универсальные гулаги не поддаются такой настройке как обычные и прописывать их нигде не нужно, игра сама подхватит пути и создаст из них работы (естественно, если путей будет меньше чем, указанное количество мест, ничем хорошим это не закончится). P.S. И кстати таких файлов (scripts\level_gulag.script и config\misc\level_gulag.ltx) лично я нигде не нашёл.
и есть два пути для этого лагеря esc2_dogs_kladbiche_home_1 - там где собаки сидят, и esc2_dogs_kladbiche_raid_1 - это куда они идут. Что неправильно тут? а насчет файлов - называются они например gulag_escape.script
Сообщение отредактировал РСФСР - Среда, 24.04.2013, 00:43
РСФСР, гораздо проще разобраться в создании нормальных гулагов, чем "воротить" с путями и задавать состояния через всё эти же пути.
Схема работы универсального лагеря для мобов всегда одна и та же. В универсальном гулаге мобы всегда находятся под управлением схемы mob_home. Если в пути указано слово home, то схема будет выглядеть так:
Код
[logic@полное_имя_пути] active = mob_home@полное_имя_пути
Если же в пути указано слово "raid", то к точно такой же схеме будет добавлен параметр aggressive_home, который заставляет мобов бежать в точку path_home. Другого варианта развития событий не предусмотрено.
Почему у тебя монстры бегут на за ГГ до конца уровня я не знаю. Может где-то ошибся буквой, может сама схема даёт сбой при каких-то обстоятельствах.