В данной теме вы можете задавать любые вопросы касательно 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 - содержит секции конфигов уникального оружия и костюмов.
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
mmihaill, в распакованных ресурсах по пути "gamedata/scripts/" лежит чудесный файлик lua_help.script в котором хранятся классы и функции которые можно использовать. Там найдёшь и ListBox элемент. А пример можно нарыть тоже в оригинальных файлах, например в скриптовых файлах загрузки\сохранения (Там есть и создание списка, и его заполнение, добавление элементов). А далее изучаем ЛУА и включаем фантазию и используем все функции из класса ListBox так как пожелает та самая фантазия
strchi, Это я сделал в первую очередь. Только вот метка на ПДА все ещё отображается. Если её удалить/закомментировать в конфигах, игра будет вылетать с логом о не нахождении секции метки. Если её просто поменять на обычное отображение сталкеров на карте, то например если такого сталкера-проводника ранить, на мини карте/карте его метка не будет отображаться красным. Поэтому я и спрашиваю как сделать так чтобы "запретить игре" делать из проводников обычных сталкеров(если это так работает). Или это в движок зашито?
Сообщение отредактировал Advisor890 - Вторник, 07.06.2016, 15:22
DеXter, Есть замечательный туториал от Глеба (FantomICW), где он показал возможность созданий новых отметок НПС на карте в ЗП, то почему бы по данному уроку и не попробовать реализовать данную фичу в ТЧ? Туториал: Создание новой метки НПС на карте
Сообщение отредактировал Stalker_Monstr - Вторник, 07.06.2016, 15:55
strchi, level_spot = guider есть только у проводников на болотах. На кордоне тоже есть проводник на базе сталкеров, только вот всю логику облазил и ничего подобного не нашел.