В данной теме вы можете задавать любые вопросы касательно 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 по основным вопросам моддинга - обращаемся в ЛС.
Не могу один с биорадаром справиться(на чистую ТЧ 1.0004) Может, кто поможет? Вот моя измененная gamedata Повторюсь, всё работает, но не отображается сам дисплей наверху справа.
Добавлено (01.11.2012, 14:48) --------------------------------------------- Не много не то, но всё же... Вот код скрипта, который проверяет наличие фонарика в руке при его наличии врубает свет. То же самое можно сделать с биорадаром если немного поплясать с бубном
Добавлено (01.11.2012, 14:48) --------------------------------------------- function torch_control() local actor = db.actor local activ_item = actor:active_item() local torch1 = actor:object("device_torch") if activ_item ~= nil then local activ_section = activ_item:section() if activ_section == "bioradar" then if not torch1 then htorch.inv("device_torch") end else --- active item - not torch --- delete torch if torch1 then delete_detector(torch1) end end else --- active item is nil --- delete torch if torch1 then delete_detector(torch1) end end end
function delete_detector(item) local sim = alife() if not (sim and item) then get_console():execute("htorch.sript:message:attempt_delete_torch_is_fail") return end local seid = item:id() if seid then local seobj = sim:object(seid) if seobj then sim:release(seobj, true) end end end
function inv(item,npc_id) if npc_id == nil then npc_id = db.actor:id() end local obj = alife():create(item,vector():set(0,0,0),1,1,npc_id) return obj end
Люди напишите пожалуста логику чтоб нпс пришол в указаную точку при выдаче инфо поршня.А флажки и инфопоршень не надо только сам файл логики.Пожалуста помогите совсем не понемаю как логику писать.
До выдачи инфопоршня -ambush_alles, окно диалога открывается само.Инфопоршень выдаётся в стартовом диалоге.
Добавлено (01.11.2012, 15:55) --------------------------------------------- СЕРА, если Актора рядом не будет,НПС,по моему, никуда не пойдёт.Лучше сделай смену смарта,как у Волка: esc_lager = {-info} mill_lager = {+info} или спавни НПС с условием в кастом_дате: [spawner] cond = {+info} Тогда при получении info,НПС появится в нужноя точке.
Ребят не знаю может этот вопрос задавали уже но всё же, подскажите плиз может урок какой или сами обьсните , я сделал 3 визуала для нпс , разные лица и т.д. как поместить это всё в игру ? Т.е. мне надо что бы все три моих визула были в игре ))) надеюсь понятно обьяснил )
Uyman358 я и сам эту схему не до конца понимаю Но смысл в том, что идёт проверка на наличие фонаря в слоте 2 (пистолет), в случай его наличия фонарь работает, по аналогии ты можешь заменить проверку с фонаря на биорадар и выполнение не включения фонаря, а срабатывания графического меню биорадара (естественно нужно прописать апдейт этой функции в биндере)
Пыс.Пыс - if activ_section == "bioradar" then (там я уже заменил fonarik, на bioradar)
Ох, ребята, ребята... Последние четыре страницы сообщений, за редким исключением, похожи на болтовню детей в песочнице: - "А я говорю - это так!" - "От куда знаешь?" - "Да я тебе говорю знаю! Где-то видел..." dinsekt
Когда говоришь, что что-то не получается, логично приложить то, что ты сделал, чтобы видеть как ты это делаешь. Но даже без этого, лично я, знаю в чём ошибка, и она не твоя в большей степени. Для того, чтобы НПС сам заговорил с ГГ, нужно в секции meet прописать параметр use и use_wpn со значением self:
Code
[meet] use = self use_wpn = self
Это запустит окно диалога и начнёт стартовый диалог НПС, как только он выйдет в онлайн. Думаю, что так ты и сделал. Но ты вероятно не знаешь, что расстояние на котором будет открываться окно диалога, строго прописано в движке и составляет плюс-минус три метра. Если же не соблюсти данную дистанцию, то получится то, что имеешь ты - ГГ стоит и не на что не реагирует. На мой взгляд это недоработка ПЫС, а на Wiki я забыл это дописать. Поэтому, чтобы избавится от данной проблемы, нужно вписывать проверку на расстояние либо чуть подправить файл xr_meet.script. С правкой скрипта боюсь ты пока не осилишь, а проверку нужно писать так:
Вот такая логика позволит правильно воспользоваться данным свойством. Если ты внимательный, то мог увидеть в условии ещё и проверку на отсутствие инфопорции. Для чего это сделано? Всё очень просто - для того, чтобы каждый раз НПС не начинал говорить по новой, а делал это только один раз. Для этого и стоит данная проверка. В конце разговора просто выдай данную инфопорцию и условие перестанет выполнятся, тем самым прекратит самозапуск диалога.
Распаковать all.spawn практически от любого мода/сборки можно при помощи универсального ACDC, за авторством K.D., главное следовать инструкциям.
СЕРА
Чтобы переход появился после какого-то события его нужно спавнить только скриптами, никакого "условие" на появление, по словам "некоторых" в игре не существует. Единственное, что можно сделать с переходом заспавненного через all.spawn, так это убрать с него метку до определённого момента, но сам переход останется, он просто не будет отображаться на карте!
По поводу логики, в которой НПС должен идти к определённой точке, здесь, как тебе уже сказали, лучше будет сделать смену работ в гулаге, либо сам гулаг сменить, это уже на выбор. Сама же логика, до безобразия проста:
ColR_iT, Спасибо за развёрнутый ответ, сейчас попробую. Нет, на счёт спавна там military_lex_final2 из 1511/1510 от товарища РСФСР. Ну если ты говоришь действовать инструкции, значит я что-то упустил. Возможно оно и так. Ещё раз спасибо
Сообщение отредактировал dinsekt - Четверг, 01.11.2012, 17:32
[error]Expression : F [error]Function : xrLoad [error]File : D:\prog_repository\sources\trunk\utils\xrAI\compiler_load.cpp [error]Line : 211 [error]Description : There is no file 'build.prj'!
---------------------------------------------------------------------------------------------------- В чем ошибка пацаны?
dinsekt, у меня этот параметр: use_wpn = {-ambush_alles} self, true не работает, и так тоже: use_wpn = {-ambush_alles} self То есть, с активным оружием ГГ не попадается.Файл xr_meet.script не правил,но у НПС в скрипте гулага: in_rest = "", out_rest = "esc_ambush_out_restrictor", Может поэтому Актор и не зависает.(для информации)
Arist, единственная причина того, что НПС не стал говорить с тобой является то, что у тебя был инфопоршень ambush_alles. Причина "зависа" - одна, и я её указал.
Сообщение отредактировал ColR_iT - Четверг, 01.11.2012, 18:33
Rap4ik ошибка, которая ссылается на отсутствие метода smart_terrain_task_activate. Как вариант, удаление этой строки, а лучше кинь сюда функцию, к которой относиться строка 323