В данной теме вы можете задавать любые вопросы касательно 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 по основным вопросам моддинга - обращаемся в ЛС.
Всем добра. В общем, поменял картинку фона в титрах игры, все работает как надо, да только с оригинала осталась вставка анимации с костром. Кто знает, в каком документе эта вставка прописывается? Спасибо.
StalkerNest, загрузить анимку в АЕ, предварительно конвертнув её в stalker_animation.skls. Загрузить любую модель сталкера, снять у него все галки прописанных анимаций и подгрузить анимку.
Игра летит при попытке заговорить с неписем, которого я добавил(Сталкер ЗП). Делал в точности по этой статье
Доброго вам времени суток. Мне поведали о том, как создать непися в зп и я решил, что вопрос создание нпса мучает не только меня и решил написать об этом.
Нам нужны следующие файлы: - configs\creatures\spawn_sections_zaton.ltx - configs\gameplay\npc_profile.xml - сonfigs\gameplay\charecter_desc_zaton.xml - scripts\db.script
И создадим сами файлы: - scripts\npc.script - configs\scripts\snaiper_lg.ltx
Для начала создадим нашему неписю логику(( после мы её сможем часто пользоваться) Для этого заходим в configs\scripts\snaiper_lg.ltx И там вбиваем следующие строки: [logic] active = remark1 danger = danger_ignore anim = desk_idle
[meet_guide] close_anim = nil close_victim = nil far_anim = nil far_victim = nil close_distance = 0 far_distance = 0 close_snd_distance = 3 abuse = false use = {=actor_enemy} false, true allow_break = false meet_on_talking = false meet_on_talking = false Теперь всё по порядку поясняю: [logic] – обозначает, что это функция логи active = remark1 - функция его действий danger = danger_ignore – можно ли рядом достать оружие anim = desk_idle - анимка, но вроде не влияет
[danger_ignore] ignore_distance = 5 – на сколько близко можно махать стволом
[remark1] invulnerable = true - бессмертие. True-бессмертный, false- смертный no_move = true (будет стоять на месте) или false что б ходил -- не работает. meet = meet_guide название схемы
[meet_guide] - сама схема close_anim = nil - анимка при прощании close_victim = nil - вроде анимка при встречи far_anim = nil far_victim = nil close_distance = 0 far_distance = 0 close_snd_distance = 3 - на каком расстоянии будет слышен звук приветствия abuse = false - вроде разрешение говорить use = {=actor_enemy} false, true - ? allow_break = false - можно ли закрыть диалог esc meet_on_talking = false – говорить можно(диалог) meet_on_talking = false - говорить можно(диалог)
Теперь заходим в configs\creatures\spawn_sections_zaton.ltx После: [test_body_5]:stalker $spawn = "respawn\test_body_5" ;character_profile = zat_a2_stalker_mechanic community = stalker ;story_id = test_body_5 custom_data = scripts\test_cfg5.ltx прописываем это: [snaiper]:stalker $spawn = "respawn\snaiper" character_profile = snaiper spec_rank = master community = stalker custom_data = scripts\snaiper_lg.ltx story_id = stalker_snaiper где
[snaiper]:stalker - секция нпс $spawn = "respawn\snaiper" - респавн для sdk character_profile = snaiper - ссылка на профиль spec_rank = master - ранг community = stalker - группировка( здесь роли не играет custom_data = scripts\snaiper_lg.ltx - логика, которую мы создали story_id = stalker_snaiper - уникальный ID , не знаю но вроде что-то про квесты
Теперь заходим в configs\gameplay\npc_profile.xml И в самый конец (перед </xml>) пишем: <character id="snaiper"> <class>snaiper</class> <specific_character>snaiper</specific_character> </character> Должно получиться примерно так: <character id="conrack_selo_stalker"> <class>jup_b6_freedom_stalker_1</class> </character>
<character id="snaiper"> <class>snaiper</class> <specific_character>snaiper</specific_character> </character> </xml> Пояснения: <character id="snaiper"> - ID <class>snaiper</class> - класс , это типа метки <specific_character>snaiper</specific_character> - ID </character> - массив закрыт
Теперь создадим профиль для нашего непися. Заходим в configs\gameplay\charecter_desc_zaton.xml И в самый конец (перед <xml>) прописываем: <specific_character id="snaiper" team_default="1"> <name>Дрюня</name> <icon>ui_inGame2_merc_4</icon> <map_icon x="1" y="0"> </map_icon> <bio>Опытный сталкер. Детальная информация отсутствует.</bio>
<actor_dialog>actor_break_dialog</actor_dialog> </specific_character> Где: <specific_character id="snaiper" team_default="1"> - ID <name>Дрюня</name> -имя <icon>ui_inGame2_merc_4</icon> - иконка <map_icon x="1" y="0"> - иконка на карте </map_icon> - закрывающий тэг <bio>Опытный сталкер. Детальная информация отсутствует.</bio> в игре не используется
<start_dialog>zat_b215_stalker_guide_start</start_dialog>- диалоги. В нашем случае диалоги лоцмана <actor_dialog>zat_b215_stalker_guide_leave_zone</actor_dialog> - диалог актора ..... <actor_dialog>actor_break_dialog</actor_dialog> - диалог выхода </specific_character> - закрывающий тэг
Теперь создаём скрипт спавна scripts\npc.script Вбиваем в него: function snaiper() if not db.actor:has_info("spawn_snaiper") then
alife():create("snaiper",vector():set(116.238,2.250,183.199),1165999,316) db.actor:give_info_portion("spawn_snaiper") end end Строчка alife():create("snaiper",vector():set(116.238,2.250,183.199),1165999,316) отвечает за координаты, на которых спавнится объект. В нашем случае - непись. Подробнее о них: Pos - 116.238,2.250,183.199 Ivid - 1165999 Gvid - 316 Чтобы их получить качаем позишн информер Отсюда
И последнее - регистрация скрипта в scripts\db.script Открываем db.script. Находим строки: function add_actor(obj) actor = obj actor_proxy:net_spawn(obj) add_obj(obj) end И меняем на такие: function add_actor(obj) actor = obj actor_proxy:net_spawn(obj) add_obj(obj) npc.snaiper() end
лог вылета
Expression : !m_error_code Function : raii_guard::~raii_guard File : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp Line : 748 Description : ...r. - Зов Припяти\gamedata\scripts\sound_theme.script:786: attempt to index global 'db' (a nil value)
если я хочу вызывать туториал при входе в зону костра, то как писать нужно?
_S_k_i_F_, если сам тутор не сложный, то достаточно прописать в метод UPDATE следующий код:
Код
local actor_pos = db.actor:position() if not game.has_active_tutorial() and self.object:inside( actor_pos ) then game.start_tutorial( "имя_туториала" ) end if not self.object:inside( actor_pos ) and game.has_active_tutorial() then game.stop_tutorial() end