В данной теме вы можете задавать любые вопросы касательно 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 по основным вопросам моддинга - обращаемся в ЛС.
BeeRsek, игра их игнорит почему-то , хотя в спане они есть , специально эти 2 гулага не стал регать в конфигах игре на них пофиг все загрузилось без вылетов и прочее
Сообщение отредактировал FaLcon - Среда, 26.06.2013, 13:53
zhuravel11021997, принцип одинаков на всех частях и работать будет также везде. Вот есть такое: >>ClicK Me<<, нужно лишь чуть-чуть подредактировать, что можно было выключать.
ColR_iT, в прямом - эти 2 смарта которые непоявляются в игре не зарегал (но в sdk заспавнил ) и игра работает не вылетает - более того я спавн распаковал и проверил эти 2 смарта там есть
Насчет скрипта.Хочу заспавнить предметы ГГ в рюкзак. function название функции() local obj = alife():create("ВЕЩЬ", db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(), db.actor:id()) end Можно ли прописать количество вещей ?
FaLcon, и ты хочешь, чтобы они "работали"? Если ты НЕ писал для них распределение работ в скриптах, то как они по твоему должны использоваться? Как смарт, кстати, они будут зарегистрированы, т.е. объект smart_terrain будет создан, а вот гулаг - нет. satanian, конкретно в функцию create вписывать количество - некуда, но можно написать универсальную функцию, в которой можно указывать как место спавна (координаты, ГГ, НПС), так и количество, ну и разумеется то, что будем спавнить.
Код
--# Универсальная функция спавна чего-то - куда-то. --# section - ['string'] секция спавна; --# who - ['table' or 'number' or 'userdata'] место спавна; --# count - ['number'] количество екземпляров. function spawn_to_somewhere (section, who, count) --# Если не задана секция или задана НЕ секция - выйдем. if not section or type(section) ~= "string" then printf ("An error in the section name : %s", tostring(section)) return end --# Если задана табличка, то будем спавнить по координатам. if type(who) == "table" then --# Заспавним в указанном месте в указанном количестве. for i = 1, count or 1 do alife():create(section, who[1], who[2], who[3]) end else --# Если указано число (story_id), то заспавним в инвентарь НПС со story_id равный этому числу, --# если передана userdata НПС (клиентский объект), то заспавним в инвентарь этому НПС, --# либо ГГ, если ничего не указано. local actor = (type(who) == "number") and level_object_by_sid(who) or who or db.actor --# Заспавним в инвентарь в указанном количестве. for i = 1, count or 1 do alife():create(section, vector(), 0, 0, actor:id()) end end end
В качестве последнего параметра who принимает либо число - story_id объекта, либо сам объект (онлайновый), которому нужно спавнить в инвентарь, либо табличку вида:
Код
{vector():set(x,y,z), lv, gv}
задающие место спавна. По умолчанию (если не указан параметр who) спавн происход в инвентарь ГГ. Если не указано количество, то будет заспавнен один указанный объект. Возможны следующие варианты использования: Спавн в инвентарь ГГ в количестве 1 штуки:
Код
spawn_to_somewhere("medkit")
Здесь: "medkit" - что спавним. Спавн в инвентарь ГГ в количестве 2 штук:
Код
spawn_to_somewhere("medkit",2,db.actor)
либо просто
Код
spawn_to_somewhere("medkit",2)
Здесь: "medkit" - что спавним; 2 - количество. Спавн в инвентарь Волка по story_id, в количестве 2 штук:
Код
spawn_to_somewhere("medkit", 2, 6)
Здесь: "medkit" - что спавним; 2 - количество; 6 - story_id Волка. Спавн в инвентарь Волка по переданному объекту, в количестве 1 штуки:
Код
spawn_to_somewhere("medkit", nil, obj)
либо
Код
spawn_to_somewhere("medkit", 1, obj)
Здесь: "medkit" - что спавним; obj - онлайновый объект Волка. Спавн по указанным координатам, в количестве 3 штук:
Здесь: "medkit" - что спавним; 3 - количество. vector():set(x,y,z) - координаты на локации; lv - level_vertex_id на локации; gv - game_vertex_id локации;
Добавлено (26.06.2013, 17:36) --------------------------------------------- zhuravel11021997, в том виде, в котором написано там - да, будет только переключать. Чтобы выключал, нужно вместо второй секции ph_sound@music_2 задавать секцию ph_idle, в которой проверять юз и в случае такового переходить вновь на схему ph_sound@music_1 - тогда получится вкл/выкл, но пестня будет играть одна.
Сообщение отредактировал ColR_iT - Среда, 26.06.2013, 17:44
ColR_iT, да в конфигах все есть он все равно не работает , я даже сделал так : заспавнил этотм смарт а в конфигах его регать не стал - из чего следует что игра должна вылететь , но она не вылетает , хотя повторюсь в алл.спавне этот смарт есть - из этого делаю вывыод что игра не считывает его из спавна , как это исправить?
Нет, не следует. Если в all.spawn просто создать объект smart_terrain, то это ещё не значит создать гулаг. Гулаг - это совокупность работ. И чтобы создать гулаг, нужно прописать загрузку работ для этого гулага, а это делается в файлах gulag_имя_локации.script (ну или в тех, что мог сам зарегистрировать), в функции load_job. Поэтому, если ты этого не делал, то смарт, просто НЕ будет никого в себя принимать и только. И никакого вылета быть и не должно. Другое дело, если ты всё это сделал, а НПС всё равно не идут работать работу - здесь уже нужно разбираться во всех настройках гулага и НПС.
Добавлено (26.06.2013, 20:08) --------------------------------------------- zhuravel11021997, на здоровье!