В данной теме вы можете задавать любые вопросы касательно S.T.A.L.K.E.R. моддинга
• Не флудить • Предварительно просматривайте раздел, ведь ответ на ваш вопрос может быть там • В своем вопросе указывайте платформу моддинга — Тень Чернобыля, Чистое небо или Зов Припяти
1. Какая стоит игра, с каким патчем? 2. Какой мод, версия мода? 3. Что правили своими ручками? 4. Лог вылета и последние 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 - содержит секции конфигов уникального оружия и костюмов.
Здравствуйте. Интересует строчка "BirthProbability" в конфигах аномалий. В АМК 1.4 и модах на базе скриптов АМК эта строчка влияет на частоту "рождения" артефактов? И если влияет то каким образом? Артефакты после выброса будут появляться или просто через определённое время?
У меня "детский" вопросик: Есть ли ограничения при выборе/использовании функции в диалогах? Т.е. например: При вызове функции/скрипта через <precondition>, функция обязана вернуть True или False? Так? И вообще, функции которые можно юзать в диалогах должны иметь 2 входных параметра (first_person, second_person)?
Короче говоря, хочу сделать фильтр для проги по всем функциям, дабы отсеять ненужные при редактировании диалогов. А если еще короче, то какого вида функции "хавает" диалог со своими фразами? Спасибо!
KomeR, насколько я помню, функции в precondition выполняются в любом случае, однако если там не возвращается True, ветка с данным условием не работает.
ЦитатаKomeR ()
И вообще, функции которые можно юзать в диалогах должны иметь 2 входных параметра (first_person, second_person)?
Вовсе необязательно. Пример:
Код
function night_star_not_have() if not db.actor:object("af_night_star") then return true end return false end
Сообщение отредактировал antonnkz76 - Четверг, 11.08.2016, 09:04
Короче говоря, хочу сделать фильтр для проги по всем функциям, дабы отсеять ненужные при редактировании диалогов. А если еще короче, то какого вида функции "хавает" диалог со своими фразами?
Беда в том, что в принципе любого. Они могут быть расположены в произвольном скрипте и не иметь входных параметров в принципе, а если заявлено параметров более двух, то не значит что работать такая функция не будет. Единственное функции в precondition обязаны возвращать true или false, возможно даже nil будет принят как false. Тогда вообще никаких критериев по которым их можно фильтровать.
ПС: Удачи вам в вашей работе.
Сообщение отредактировал denis2000 - Четверг, 11.08.2016, 09:10
Получается, что можно вызвать любую функцию? А как на счет "системных" (как понять что она системная)? -----
Цитатаantonnkz76 ()
Вовсе необязательно. Пример:
Эту функцию в action не запишешь(она будет бесполезной). Так? Только в преконд. ----- по каким критериям Вы выбираете функцию? Я понимаю что смотрится тело функции(что она делает) и при необходимости отсеивается или выбирается, но всё-таки, какие-то критерии все равно есть. Даже перед тем как смотреть что она делает, как мы понимаем что она нам не нужна? ____ Сложная тема однако :D
"Тогда вообще никаких критериев по которым их можно фильтровать." печалька.
Сообщение отредактировал KomeR - Четверг, 11.08.2016, 09:31
Подскажите , как сделать пропуск спавна сквада нпс на смарте если они спавнятся близко к актору? А то появляются прямо перед актором и из за этого пролагивает , мб их спавн можно както отменить или сдвинуть?
Сообщение отредактировал xr_Sanya - Четверг, 11.08.2016, 11:23
Выбрасываем медузу рядом с аномалией... В ф-ию check_section приходят: objs = zone_mosquito_bald_weak obj = af_medusa
Код
local tbl = {["zone_mosquito_bald_weak"] = {"af_medusa","af_cristall_flower","af_night_star","af_kostyashka","af_mebius" }, *, *}
часть кода без последующих проверок:
function check_section(obj,objs) local osect = obj:section() -- Определяем секцию obj -->> В данном примере это af_medusa for a, b in ipairs(tbl) do -- Перебираем таблицу tbl (в надежде получить a или b. В данном примере b) if b then -- b почемуто всегда = nil if b == osect then -- Тут надо бы сделать проверку: если вторая часть таблицы = секции af_medusa. НО! b = nil todo end end end
Подскажите, как получить из таблицы секции артефактов, что бы потом сравнить с osect.
Сообщение отредактировал ins33 - Четверг, 11.08.2016, 19:58
Подскажите , как сделать пропуск спавна сквада нпс на смарте если они спавнятся близко к актору?
Как спавните?
ЦитатаKomeR ()
А как на счет "системных" (как понять что она системная)?
А что вы подразумеваете под термином системная функция? Если имеется ввиду не скриптовая, но движковая функция, то она вызываться не будет. А попытка скорее всего вызовет вылет.
Кстати, на самом деле параметров передаваемых функции из поля action не два, а четыре: 1. Объект, кто говорит фразу 2. Объект, кто слушает фразу 3. Число, ид-диалога 4. Число, ид-фразы А в procondition не два, а пять: 1. Объект, кто слушает фразу 2. Объект, кто говорит фразу 3. Число, ид-диалога 4. Число, ид-фразы 5. Число, ид-следующей фразы
ЦитатаKomeR ()
по каким критериям Вы выбираете функцию?
Я бы выбирал функции из скриптов, которые начинаются на dialogs...
Сообщение отредактировал denis2000 - Четверг, 11.08.2016, 21:01
Здоров всем! Делается у меня мод технически сейчас, и нужна ваша помощь. Иногда в модах встречается фича, когда при осмотре инвентаря убирается оружие. Как можно проделать такое?
NewValveCom, Тебе надо поймать момент открытия\закрытия инвентаря. Это можно отловить поршнями ui_inventory\ui_inventory_hide. Оружие убирается ф-ей db.actor:hide_weapon(). Достаётся: db.actor:restore_weapon() Вызов из actor_binder:info_callback(npc, info_id)
Код
function on_inventory_info(info_id) if info_id == "ui_inventory" then db.actor:hide_weapon() elseif info_id == "ui_inventory_hide" then db.actor:restore_weapon() end end
Сообщение отредактировал ins33 - Четверг, 11.08.2016, 21:35