В данной теме вы можете задавать любые вопросы касательно 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 по основным вопросам моддинга - обращаемся в ЛС.
А при попытке добавить combat_ignore_cond = {=fighting_actor =check_fighting(9733:9734)} НПС нападает на Мобов ии ГГ. Так что путём проб и ошибок, выяснил что эти 2 условия вместе конфликтуют. И тут возникает вопрос, возможно ли заставить нпс игнорировать и ГГ? П.С. Нпс враг.
Полный вариант типа такого должен быть: combat_ignore_cond = {=fighting_actor, check_fighting(9733:9734)} (запятая хз нужна или нет после актора) А стоп. Прочитал между строк. Конфликтует говоришь? Хм
Сообщение отредактировал BeeRsek - Вторник, 25.02.2014, 16:11
BeeRsek, combat_ignore_cond = {=fighting_actor =check_fighting(9733:9734)} Вот так должно выглядеть условие. В твоём варианте не второго =.
П.С. Как ни странно, НО, вот эта синтаксическая ошибка не приводит к вылету, и по какой то причине ещё и работает: combat_ignore_cond = {=check_fighting(9733, 9734) =fighting_actor}
Всем доброго времени суток! Есть всем известная ф-ция проверки нахождения НПС на определённом уровне
Код
function rest() local npc = level_object_by_sid(006) --волк if npc and level.name() == "l01_escape" then return true else return false end end
автор stalk15. Я создавал ф-цию которая удаляет лампочки в игре по секции из аллСпавна
if level.name() == "l04u_labx18" then for a=1,65534 do --Перебор айди local obj = alife():object(a) if obj and level.name() == "l04u_labx18" then if obj and obj:section_name() == "lights_hanging_lamp" then alife():release(obj, true) else return end end end end
но мне нужно что бы лампочки удалялись только в Х-18 поэтому есть проверка
Код
... if obj and level.name() == "l04u_labx18" then ...
Но при вызове удаляются лампочки на всех локациях, что не верно или нужен другой способ?
Сообщение отредактировал Graff46 - Вторник, 25.02.2014, 19:38
Для реализации одного квеста мне потребовалась одна вещь, а именно: нужно сделать так, чтобы враг мог разговаривать с главным героем, при этом не угрожая ему расправой. Если конкретней, то: спавню бандита, который не будет размахивать пушкой и стрелять в актора, а будет просто мирно сидеть где-нибудь и будет возможность с ним поговорить. Что-то вроде военного под ж\д мостом из ТЧ. Кстати, пытался разобраться с этим военным, но так ни к чему не пришел, поэтому задаю вопрос здесь.
Еще есть вопрос. Банальный, наверное, но я его так и не решил. Создал уникальный квестовый предмет и хочу его заспавнить через all.spawn. Искал возможные варианты спавна, но кроме скриптов и спавна физического объекта ничего не нашел. В итоге, остановился на этом варианте, который работает некорректно (невозможно подобрать предмет, а если в него выстрелить, то вообще проваливаешься под текстуры и начинаешь жестко лагать).[spoiler=Секция в all.spawn]
Код
[1] ; cse_abstract properties section_name = physic_object name = kpk_stalkera1 position = -80.774955,-1.002711,158.438201 direction = 0,-0.0252000000327826,0
Физ объекты нельзя подобрать в инвентарь напрямую. Только делать подмену: спавнишь физ объект, цепляешь к нему логику и при юзе (нажатии клавиши F) - удаляешь физ объект и спавнишь нормальный инвентарный, но, имхо, это глупость. Посмотрите как заспавнены через all.spawn тот же кейс с документами на блок посте Кордона:
Код
[849] ; cse_abstract properties section_name = quest_case_01 name = esc_quest_case_01 position = -126.6884765625,-29.4200000762939,-388.704040527344 direction = 0,1.57047343254089,0
CyberToast, На счет бандита, тебе в логике нужно ему комбат-игнор прописать и секцию встречи мит. Вообще загугли "Логика НПС от Икстрима" очень полезная и лёгкая в освоении вещь
Добавлено (25.02.2014, 20:19) --------------------------------------------- ColR_iT, Если создать секцию предмета и заспавнить через скрипт, то вроде с ним можно что угодно делать, главное в секции подходящий класс подобрать. Я так рацию делал.
Сейчас речь идёт не про спавн через скрипт, а через all.spawn. Скриптом ты ничего кроме секции и не заспавнешь, а здесь вы указываете physic_object - такие объекты не поднимаются в инвентарь.
Спасибо всем за помощь, походу зря я на АМК запостился, так сказать, прокопипастил.
Добавлено (25.02.2014, 20:54) --------------------------------------------- В общем, попробовал по совету товарища ColR_iT сделать этот долбанный КПК. Сделал по образу и подобию с дефолтного белого кейса и вот, что мне выдал сам ACDC: unknown section "kpk_stalkera1" и указывает строчку, где ошибка.
Код
[999999999999999] ; cse_abstract properties section_name = kpk_stalkera1 name = esc_kpk_stalkera1 position = -80.774955,-1.002711,158.438201 direction = 0,1.57047343254089,0