В данной теме вы можете задавать любые вопросы касательно 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 по основным вопросам моддинга - обращаемся в ЛС.
функция из вот этого поста рабочая на 100%: >>ClicK Me<<.
Не знаю, у меня она неправильно работает. Если у меня в слоте научный комбез и шлем, и я снимаю комбез, то в инвентарь спавнится ещё один шлем. А тот, что был в слоте, так там и остаётся (а может это новый в слот лезет). А потом можно что угодно и куда угодно надевать. То же самое если попытаться этот шлем надеть с другим костюмом: в инвентаре появится второй шлем и всё то же самое.
Wo1fRam, ins33, ребята извините - был не прав, функция не работает должным образом. Выбрасывать второй только что заспавненный предмет не нужно, а точнее нельзя, т.к. на одном апдейте, клиентской части быть не может. В целом работает и без неё, я думал несколько подстраховаться, но вышло наоборот. Wo1fRam, вот то, что тебе нужно:
Код
--# Функция для синхронизации надетого костюма для конкретного шлема. function SyncOutfitAndHelmet () local actor = db.actor --# Хешируем объект костюма. local outfit = actor:item_in_slot(7) --# Хешируем объект шлема. local helmet = actor:item_in_slot(12) --# А есть ли что сравнивать? if not helmet then --# Если шлем не надет - выйдем. return end --# Если нет костюма или НЕ надет нужный нам костюм, но шлем пытаемся "напялить", то сбросим шлем в инвентарь. if (not outfit or outfit:section() ~= "scientific_outfit") and helmet:section() == "helm_protective" then --# Выбросим наш шлем из инвентаря. actor:drop_item(helmet) --# Заспавним в инвентарь такой же шлем. --# Т.к. слот путой, то в него автоматом поместиться только что заспавненый шлем. local _tmpHelmet = alife():create(helmet:section(), vector(),0,0,actor:id()) --# Подберём назад выброшенный шлем. --# Поскольку слот уже занят, то наш шлем будет в самом инвентаре. actor:transfer_item(helmet, actor) --# Удалим дублирующий шлем из слота. alife():release(_tmpHelmet,true) end end --# Все эти махинации нужны для того, чтобы в случае, когда наш шлем не целый или он апгрейжен, --# то в результате он же и останется в инвентаре, а не будет заспавнен новенький.
Надеть шлем нельзя без научного костюма. При этом другие шлемы надеваются как с, так и без костюмов. P.S. Т.к. это только часть задачи - позже поколдую над всей затеей.
FantomICW, если он скопи-пастит твою функцию, то получит вылет.
ColR_iT, разумеется, что получит вылет, если тупо скопипастит. Рассчитано на то, что человек поймет, что такое x,y,z,lvid,gvid и что вместо этого вписывать
FantomICW, Сдаётся мне, что не только тут трабла. Да и вопрос был про схему sr_idle. Причём тут апдейт? mmihaill, если будешь делать через [sr_idle] то: on_actor_inside = {+/-поршень} nil %-/+поршень% в поршень пропиши <action>имя_скрипта.имя_функции</action> или on_actor_inside = {+/-поршень} nil %=имя_функции -/+поршень% ; функция должна быть в xr_effects.script или если используешь xr_effects.script от АМК то можно прописать и в свой скрипт: on_actor_inside = {+/-поршень} nil %=имя_скрипта.имя_функции -/+поршень% Тут поршень нужен, как условие при котором произойдёт событие.
Сообщение отредактировал ins33 - Вторник, 28.05.2013, 19:24
Ребята, подскажите! Как сделать проверку на кровотечение? Точнее сказать, напишите саму функцию проверки.
Добавлено (29.05.2013, 21:48) --------------------------------------------- Хочу сделать заражение крови при перевязке без дезинфекции, но незнаю как проверить на наличие кровотечения.
Wo1fRam Огромное спасибо! Не поверишь как ты меня выручил)
Добавлено (30.05.2013, 06:54) --------------------------------------------- Хотя рано радовался... Вылет при использовании этой функции. Добавил в bind_stalker.script, в функцию "апдейта" и запустил игру - вылет.
Expression : fatal error Function : CScriptEngine::lua_error File : E:\stalker\patch_1_0004\xr_3da\xrGame\script_engine.cpp Line : 73 Description : <no expression> Arguments : LUA error: ...ow of chernobyl\gamedata\scripts\bind_stalker.script:296: attempt to compare number with nil
Платформа: ТЧ Версия игры: 1.0004
Собственно последние 25 строк из лога. * Loading HOM: c:\program files (x86)\s.t.a.l.k.e.r. - shadow of chernobyl\gamedata\levels\l01_escape\level.hom * phase time: 11 ms * phase cmem: 284984 K Загрузка ИИ объектов... - Loading music tracks from 'l01_escape_musics'... * phase time: 9 ms * phase cmem: 285023 K Клиент: Создание... - Game configuring : Started - Game configuring : Finished * phase time: 224 ms * phase cmem: 292905 K Загрузка текстур... * t-report - base: 865, 166923 K * t-report - lmap: 10, 10241 K ***FATAL***: Too many lmap-textures (limit: 8 textures or 32M). Reduce pixel density (worse) or use more vertex lighting (better). * phase time: 377 ms * phase cmem: 292905 K Клиент: Синхронизация... * phase time: 20 ms * phase cmem: 292905 K * [win32]: free[3225756 K], reserved[112276 K], committed[856208 K] * [ D3D ]: textures[177164 K] * [x-ray]: crt heap[292905 K], process heap[8582 K], game lua[25998 K], engine lua[246 K], render[0 K] * [x-ray]: economy: strings[3718 K], smem[28221 K]
Сообщение отредактировал MoDoStRoY - Четверг, 30.05.2013, 07:04