В данной теме вы можете задавать любые вопросы касательно 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 по основным вопросам моддинга - обращаемся в ЛС.
Всем привет! Хочу сделать жажду, но для меня работа с переменными как тёмный лес... Помогите понять, что к чему
Вот код, который будет отвечать за жажду (Warning! Таймеры писать умею, поэтому тут их не буду писать)
-- Проверяем нужно ли попить. Вызывается каждые 2 игровые минуты function need_water() amk.save_variable("water",amk.load_variable("water",0)+1) amk.g_start_timer("water",0,0,2) need_water_degres_health() end
-- Уменьшение здоровья, если долго не пил function need_water_degres_health() local tmp = amk.load_variable("water",0) if tmp > 2 then if db.actor.health > 0.15 then db.actor.health = - 0.15 end end end -- Употребление воды function water_item(oid, time) if alife():object(oid)==nil then local tmp = amk.load_variable("kur",0) - time*10 if tmp < 0 then tmp = 0 end amk.save_variable("water", tmp) need_water_degres_health() end end
Сообщение отредактировал MoDoStRoY - Пятница, 14.12.2012, 17:12
MoDoStRoY, по средствам переменных? Никак! Нужны еще как минимум штатные функции. Ты не очень правильно себя позиционируешь, задавая далеко не конкретный вопрос и по сути ожидая готовый ответ. Магу подсказать алгоритм: Есть предмет - бутылка воды. Периодически проверяется время последнего приёма воды, если оно больше какого-то - начинают действовать какие-то последствия (уменьшение выносливости, уменьшение сытости или ещё чего). При этом запоминается время, для периодической проверки. Когда выпиваем воды, время сбрасывается, как и последствия. Логично, что это должно "висеть" на биндере актора или твоего собственного. Вот несколько абстрактно, но в то же время вполне достаточно. P.S. Кстати, код у тебя уже есть...
Сообщение отредактировал ColR_iT - Пятница, 14.12.2012, 17:58
Вышло при переходе на радар. Смысл примерно таков - нету переменной 07:00:00 в секторе радар. Может это из-за погоды???
Добавлено (14.12.2012, 19:16) --------------------------------------------- Точно нашел такую тему в погодных файлах. И что сделать?
Добавлено (14.12.2012, 19:19) --------------------------------------------- О исправил вылет. Просто переименовал фаил погоды на янтаре. Хехе интересная вещь этот сталкер)))
DarkFace, если хочешь, чтобы НПС всегда стоял на одном месте, то совет Advisor890 не подходит. Advisor890, написал не обдумано, а главное не зная что именно.
Народ что не так,почему вылет? Expression : !m_error_code Function : raii_guard::~raii_guard File : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp Line : 748 Description : ...l.k.e.r. - Зов Припяти\gamedata\scripts\utils.script:469: bad argument #1 to 'gsub' (string expected, got nil)
chuvak1121, не может "активироваться" какая-то из схем логики, если быть точным, то не указана схема, на которую нужно переходить. Вероятно, где-то не правильно составил логику, если составлял. Ведь, при каких обстоятельствах произошёл вылет, ты не удосужился сказать...