В данной теме вы можете задавать любые вопросы касательно 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 - содержит секции конфигов уникального оружия и костюмов.
Подскажите, за что отвечают >>эти<< настройки? И подскажите, есть ли возможность, при генерации аи сетки, запретить ей накладываться на почти >>отвесные<< места. И есть ли какие то правила наложения аи сетки на локе.
Сообщение отредактировал ins33 - Понедельник, 19.09.2016, 13:43
Draw Nodes - вкл/выкл отображение нодов в СДК. Visible Radius - дальность прорисовки сетки в СДК. Brush Size - кол-во нодов при одном нажатии, т.е. если выставить значение, например, 5, то при клике поставится 5 аи-нодов. Очень удобно, кстати, и быстро, если прокладываешь вручную с зажатой клавишей Alt. Can Up и Can Down - тут всё очевидно.
Цитатаins33 ()
есть ли возможность, при генерации аи сетки, запретить ей накладываться на почти отвесные места
Скрипты. Функция create возвращает серверный обеъект. После ее использования необходимо применение другой функции, обращающейся к объекту игровому. Как осуществить этот самый переход от серверного к игровому объекту?
Сообщение отредактировал Suhar_ - Понедельник, 19.09.2016, 16:12
makdm, я прекрасно знаю, как получить объекты через айди. Но у меня нет его айди. Есть только серверный объект (sobj), возвращаемый функцией create. Есть способ получить id через sobj?
Сообщение отредактировал Suhar_ - Понедельник, 19.09.2016, 16:32
makdm, этим способом пользовался в том числе. obj = level.object_by_id(sobj.id) В итоге obj == nil, дабы не возникало вопросов, sobj~=nil, sobj.id~= nil, sobj.id>0
Добавлено (19.09.2016, 18:19) --------------------------------------------- Может ли быть так, что obj:id() ~= sobj.id, если sobj и obj - это серверный и игровой объект одного же предмета? Полагаю, что нет. Может ли быть получен объект по айди, если он в оффлайне?
Сообщение отредактировал Suhar_ - Понедельник, 19.09.2016, 19:21
makdm, целенаправленно проверил. sobj = alife():create(wpn _section,...[в инвентаре гг]...) obj = level.object_by_id(sobj.id) local current_ammo = obj:get_ammo_total() - obj:get_ammo_in_magazine() alife():release(sobj,true) Если некий фейковый ствол юзает всего один тип патронов, то эти самые патроны можно подсчитать таким образом. Проблема в том, что при попытке подсчета лог ругается на nil в переменной obj.
Для создания клиентского класса объекта нужно время. А вы тут же пытаетесь его получить. Естественно он равен NIL. Движок просто не успел его ещё создать.
З.Ы. И вообще, если вы хотите постоянно знать сколько определённого вида патронов есть в рюкзаке ГГ, то непонятно, зачем вы удаляете это фейковое оружие после спавна.
Сообщение отредактировал makdm - Понедельник, 19.09.2016, 20:43
makdm, на как долго может затянуться этот процесс? Можно и не удалять, но не хочется, чтобы всякий хлам в рюкзаке валялся. Разумеется, можно сделать его невидимым, но все же. Обращение к функции будет происходить не так часто, поэтому ради соблюдения чистоты и этикета будет лучше удалить.
Сообщение отредактировал Suhar_ - Понедельник, 19.09.2016, 21:03
Можно и не удалять, но не хочется, чтобы всякий хлам в рюкзаке валялся.
Что значит валялся? Делаете фейковое оружие с уникальной секцией. Прописываете ему вес = 0. Все координаты иконки и её высоту и длину выставляете в 0 После начала игры, когда всё оружие уже в слотах, проспавниваете в рюкзак ГГ. Игрок при открытии инвентаря не видит этот ствол и вес его не влияет на вес рюкзака. О том, что что-то лежит в рюкзаке знает только двигало и вы. Дальше в любой момент времени получаем количество патронов в рюкзаке. Вас конкретно что смущает? Вы что за движок переживаете, что у него там лишний объект обрабатывается?
makdm, как скрыть объект в инвентаре гг мне ведомо. Да и по поводу одного лишнего объекта соглашусь. Просто стараюсь придерживаться порядка и не создавать лишнего там, где можно без него обойтись. Это касается всего: конфиги, объекты и прочее. Не до крайностей конечно, если ситуация требует, то будут применены все необходимые срндства. Но в результате такого подхода везде удобство и порядок. Самому удобно и тем, кто пользоваться наработками будет. Не раз приходилось рыться в ресурсах, где все запутано так, что черт ногу сломит. Не смертельно, но напрягает. В общем, дело вкуса.