В данной теме вы можете задавать любые вопросы касательно 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 - содержит секции конфигов уникального оружия и костюмов.
denis2000, попробовал поиском по скриптам ЧН найти yan_zabor_, добавил найденное в скрипты ЗП, прописал в схему ремарк анимку yan_zabor_0 и получаю вылет:
[error]Expression : !m_error_code [error]Function : raii_guard::~raii_guard [error]File : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp [error]Line : 748 [error]Description : ...lker\cop\gamedata\scripts\state_mgr_animation.script:248: attempt to index local 'state' (a nil value)
Добавлено (06.06.2016, 22:56) --------------------------------------------- Вопрос выше больше не является актуальным. Теперь такой вопрос: чем отличается АИ-сетка, скомпилированная на драфте от той, что скомпилирована на макс. кач-ве. Как это скажется на игре?
DarkSatellite, story_id - это метка, которая ставится на объект. По этой метке всегда можно найти в игре нужный вам объект и произвести с ним нужные вам манипуляции.
ЦитатаDarkSatellite ()
И почему story_id может быть прописан как в секции отдельного НПС, так и в скваде, в который он входит?
Например, вам нужно проспавнить какой-то квестовый объект определённому НПС. Используйте story_id этого НПС. А если вам нужно телепортировать отряд( сквад ) сталкеров из одной точки в другую, то используете story_id сквада.
В оригинальном ЗП эта метка может использоваться скриптами и для других целей. Например, если НПС имеют метку story_id, то они считаются квестовыми и не гибнут при выбросе, а также уборщик трупов не помещает их в таблицу для удаления и т.д.
* New phase started: Processing level graphs ! There is no cross table for the level l01_escape! (level is not included into the game graph) ! There is no cross table for the level l02_garbage! (level is not included into the game graph) ! There is no cross table for the level l03_agroprom! (level is not included into the game graph) ! There is no cross table for the level l03u_agr_underground! (level is not included into the game graph) ! There is no cross table for the level l04u_labx18! (level is not included into the game graph) ! There is no cross table for the level l05_bar! (level is not included into the game graph) ! There is no cross table for the level l06_rostok! (level is not included into the game graph) ! There is no cross table for the level l08_yantar! (level is not included into the game graph) ! There is no cross table for the level l08u_brainlab! (level is not included into the game graph) ! There is no cross table for the level l07_military! (level is not included into the game graph) ! There is no cross table for the level l10_radar! (level is not included into the game graph) ! There is no cross table for the level l12_stancia! (level is not included into the game graph) ! There is no cross table for the level l12u_sarcofag! (level is not included into the game graph) ! There is no cross table for the level l12u_control_monolith! (level is not included into the game graph) ! There is no cross table for the level l12_stancia_2! (level is not included into the game graph) ! There is no cross table for the level l10u_bunker! (level is not included into the game graph) level 5 l04_darkvalley Script debugger succesfully restarted. * loading script _G.script * loading script class_registrator.script * loading script smart_terrain.script * loading script se_respawn.script * loading script se_switcher.script * loading script se_stalker.script * loading script se_car.script * loading script se_zones.script * loading script se_item.script * loading script se_artefact.script * loading script se_monster.script * loading script game_registrator.script
* New phase started: Adding interconnection points Cannot find level with level_id 2. Connection point will not be generated! Cannot find level with level_id 6. Connection point will not be generated!
* New phase started: Saving graph being merged
* New phase started: Freeing resources being allocated
monk, Телепортнись по этим координатам, только поставь не -1 а например 50. И бессмертие пропиши. Сними координаты и измени на нужные. Или в сдк выдели этот вайпоинт и жмякни белый квадрат. (Показать объект.) И исправь.
Сообщение отредактировал ins33 - Вторник, 07.06.2016, 08:43
denis2000, Это вижу. В соседнем форуме писали, что не хватает уровня или всех. Где не хватает, не уточнялось... Конфиги проверял, да там вроде и проверять то нечего, ведь чистое ТЧ. В геймдате все уровни есть. Спавн и граф распаковал ещё перед началом сборки сетки. (На сей раз, проверил визуально, -verify) Графы с свалкой соединил в СДК:
exit_garbage_05 --> exit_darkvalley_01 -- графпоинт соединён с поинтом на ДТ exit_to_darkvalley_01 --> start_actor_01 -- переход конектится с поинтом на ДТ start_actor_05 -- графпоинт соединённый с переходом на ДТ
exit_darkvalley_01 --> exit_garbage_05 -- графпоинт соединён с поинтом на свалке exit_to_garbage_02 --> start_actor_05 -- переход конектится с поинтом на свалке start_actor_01 -- графпоинт соединёный с переходом на свалке
По идеи
Код
! There is no cross table for the level l02_garbage!
должно было пропасть, но не там то было. Потом разок ударил в бубен:
и так со всеми уровнями. Не помогло, лог не изменился. Если возникнет вопрос, зачем это прописывал, отвечу сразу, в тот момент думал, вдруг поможет, или давно с бубном не плясал. Где дальше искать причину фантазии не хватает. Если вас не затруднит, подскажите подробней, что и где исправить.
Добавлено (07.06.2016, 10:03) --------------------------------------------- monk, Как вариант, смотри кому прописан этот путь, и изменяй его на свой. Если это соединённые точки, p0,p1,p2 и p1 имеет отрицательный вертекс, можете попробовать удалить его.
В соседнем форуме писали, что не хватает уровня или всех.
Совершенно верно, не хватает или папок или необходимых файлов в папках уровней.
Цитатаins33 ()
Где не хватает, не уточнялось...
Очевидно, что в gamedata SDK. Где еще компилятор может что-либо искать?
Цитатаins33 ()
Конфиги проверял, да там вроде и проверять то нечего, ведь чистое ТЧ.
А то что там куча мусора осталась не беспокоит?
Цитатаins33 ()
Спавн и граф распаковал ещё перед началом сборки сетки.
Зачем? Если вы все равно новые создаете? There is no cross table for the level l02_garbage! означает что в папке уровня отсутствует файлы level.graph, gct.raw. Cannot find level with level_id 6 означает, что в геймдате СДК отсутствует папка с указанным уровнем (id = 6) или необходимые файлы в ней: level.ai, level.game, level.gct, level.graph, level.spawn, gct.raw
monster_classes = { [clsid.bloodsucker_s] = "Кровосос", [clsid.boar_s] = "Кабан", [clsid.dog_s] = "Собака", [clsid.flesh_s] = "Плоть", [clsid.pseudodog_s] = "Псевдособака", [clsid.poltergeist_s] = "Полтергейтс", [clsid.gigant_s] = "ПсевдоГигант", [clsid.zombie_s] = "Зомби", [clsid.snork_s] = "Снорк", [clsid.psy_dog_s] = "Пси собака", [clsid.psy_dog_phantom_s] = "Призрак псевдособаки", [clsid.controller_s] = "Контролёр", [clsid.tushkano_s] = "Тушканчик", } local m_game_vertex = who:game_vertex_id() local lvert = game_graph():vertex(m_game_vertex) local lid = lvert:level_id() local mlevel = alife():level_name(lid) local m_s_level = mlevel local victim_name = victim:character_name() local killer_name = who:character_name() local victim_comm = victim:character_community() local killer_comm = who:character_community() local post_message_prob = 0.8 if killer_comm=="monster" then local m_clsid = get_clsid(who) killer_name = monster_classes[m_clsid] end if killer_name==victim_name then killer_name="Выброс" killer_comm="monster" end if killer_comm~=nil then local m_text_kill_string=killer_name.." ("..game.translate_string(killer_comm).."), убил сталкера "..victim_name.."("..game.translate_string(victim_comm).."). Локация: "..game.translate_string(m_s_level) local news_text = "%c[255,160,160,160]".."Некролог:".."\\n".."%c[default]"..m_text_kill_string local news_caption = game.translate_string("st_tip") local texture = "ui_iconsTotal_weapons" db.actor:give_game_news(news_caption, news_text, texture, 15*1000, 15*1000) end
Я так понимаю local m_text_kill_string=killer_name.." ("..game.translate_string(killer_comm).."), убил сталкера "..victim_name.."("..game.translate_string(victim_comm).."). Локация: "..game.translate_string(m_s_level)отслеживает имя убившего, убитого и название локации. А можно ли сделать чтобы он ещё и название смарта на теретории которого произошло убийство отслеживал? Для большей информативности это было бы очень полезным. Если можно подскажите как реализовать.
Сообщение отредактировал Rodger_Hunk - Вторник, 07.06.2016, 14:56