В данной теме вы можете задавать любые вопросы касательно 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 по основным вопросам моддинга - обращаемся в ЛС.
Помогите советом, до сих пор не получается дописать квест пригнать машину, А точнее проверку выполнения условия, что машина на месте. В связи с этим появился ещё один вопрос, всем известно о существовании системных поршней, которые отслеживают некоторые события в игре, такие, как открытие инвентаря, пда, обыск трупов и т.д. Так вот, игре ведь тоже необходимо знать, что ГГ за рулём машины, и наверняка она (игра) использует для этого ещё один системный поршень. Была надежда, что это ui_car_body, но увы, это поршень обыска трупов. Если комуто известно, что это за поршень, подскажите плз!!! Или подкиньте идейку, как отследить условие, что машина на месте.
П.С. Или подскажите скрипт, который сможет вывести все имеющиеся поршни в лог, или хотябы тот который только, что получил.
ALEX13, Первое, что приходит на ум, так простое изменение секции [*_immunities_*] в конфиге монстра.
Добавлено (22.09.2013, 07:50) --------------------------------------------- Кстати, что касается П.С., пришла идейка использовать, что то типа этого:
Код
local portion = {} function car_home() for k, v in pairs(portion) do if db.actor:has_info(v) then SendMessage("Получен поршень: "..v) end end end
Только вот как в local portion = {} передать все возможные варианты поршней?
ins33, у меня мысыль Поставить спейс рестриктор у него есть функция inside(position,radius) она проверяет находиться ли сфера радиуса radius, с позицией position в спейс рестрикторе. Можешь создать эвулатор который периодически будет вычислять это условие, и ему можишь назначить action, который будет выполняться после его выполнения делашь что надо в экшене что тебе нужно в зависимости от результата эвулатора
Добавлено (22.09.2013, 08:05) --------------------------------------------- Если не понял спрашивай я ж не знаю на каком уровне пояснять
wanes101, Пожалуй мне требуется объяснение на порядок проще :). Толком ни чего не понял. По сути мне надо, как раз использовать спей рестриктор, в котором проверить нахождение динамического объекта. Или в крайнем случае тот самый вариант с поршнем у ГГ. Но беда в том, что спейс рестриктор не отслеживает неживые объекты. Так что будь добр, объясни на пальцах. СПС.
ins33, У него же есть метод который просто проверяет находиться ли в нем заданная сфера или нет, вот тебя и нужно будет получить координаты транспорта, прикинуть сферой какого радиуса его можно описать.
И в скрипте можешь использовать метод спей рестриктора inside(position,radius) он проверяет находиться ли сфера радиуса radius, с позицией position в спейс рестрикторе. Это ясно?
С помощью map_dragger'а настроил глобальную карту, всё выглядит хорошо. Но почему-то координаты игрока и его метки на карте не совпадают. Метка находится севернее. Что делать?
wanes101, Увы, опять не очень. Подскажи, как можно получить координаты какого либо объекта? И подскажи где посмотреть inside(position,radius). П.С. Пока желательно не готовым ответом для конкретной задачи, если сам не допру, то спрошу готовое решение.
И вопрос такой. Можно ли сделать чтобы во время загрузки проигровалась музыка.
наверное в движке
Цитата (R0D23)
Как сделать чтобы броня изнашивалась быстро?
попробуй менять коэффициенты иммунитета самого костюма, может это тебе нужно
lexshevtsov, bound_rect - неверный, или карта не того размера
ins33, может используй one_obj_in_zone в качестве кондлиста. wanes101 прав за использование метода inside, только я ничего не понял, как можно использовать радиус. Шейп, бокс зоны как ставишь, уже радиус задаешь у sdk.
только я ничего не понял, как можно использовать радиус.
Полностью с тобой солидарен, ведь речь идёт об объекте.
И по поводу вызова твоей ф-ции из другого скрипта. Решил проверить твой вариант вызова: xr_effects.money_out(db.actor, nil, {}) и, как и предполагал словил вылет:
Expression : fatal error Function : CScriptEngine::lua_error File : E:\stalker\sources\trunk\xr_3da\xrGame\script_engine.cpp Line : 73 Description : <no expression> Arguments : LUA error: ...g\s.t.a.l.k.e.r\gamedata\scripts\NAME_SCRIPT.script:308: attempt to call field 'money_out' (a nil value)
Если есть необходимость вызывать подобную ф-ию из скрипта, то надо по другому передавать аргументы:
Код
function money_out(number) local all_money_actor = db.actor:money() if number == nil then db.actor:give_money(-all_money_actor) news_manager.relocate_money(db.actor, "out", all_money_actor) else db.actor:give_money(-number) news_manager.relocate_money(db.actor, "out", number) end end
И вызывать name_script.money_out(number) или name_script.money_out()
Сообщение отредактировал ins33 - Воскресенье, 22.09.2013, 13:54