В данной теме вы можете задавать любые вопросы касательно 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 по основным вопросам моддинга - обращаемся в ЛС.
[game_relations] rating = novice, 300, experienced, 600, veteran, 900, master ;При каком значении опыта повышается ранг. То есть, изначально идёт novice (новичок), при достижении 300 ГГ (или любой NPC, хотя у них опыт прописывается изначально) становится expirienced (опытный). Дальнейшие несколько параметров используют тот же принцип. monster_rating = weak, 400, normal, 800, strong ;Аналогично предыдущему, но относится к монстрам, слабый-обычный-сильный. Используется в статистике. reputation = terrible, -1000, very_bad, -150, bad, -50, neutral, 50, good, 150, very_good, 1000, excellent ;Репутация ГГ или NPC
;шкалы для вывода названий вместо чисел ;рейтингов, репутаций и благосклонности в интерфейсе rating_names = novice, 300, experienced, 600, veteran, 900, master ;В общем, аналогично параметру rating reputation_names = terrible, -1000, very_bad, -150, bad, -50, neutral, 50, good, 150, very_good, 1000, excellent ;Это тоже goodwill_names = enemy, -400, indifferent, 500, friendly ;А это уже отношение персонажей друг к другу, враг-нейтрал-друг.
;пороговые значения для отношения персонажей. Репутация к персонажу и ее порог, при которой НПС становиться другом или врагом. Допустим, мы создали диалог, в котором даем 500 репутации. Значит, НПС достиг порога в репутации к вам и стал другом. Если чуть меньше(450, например), то никакого эффекта не будет и НПС так и останеться нейтрален). attitude_neutal_threshold = -400 ;когда attitude меньше значения, то выставляется ALife::eRelationEnemy attitude_friend_threshold = 500 ;когда attitude меньше значения, то выставляется ALife::eRelationNeutral, иначе ALife::eRelationFriend
;константы, которые присвоят скриптовые функции set_relation для personal goodwill goodwill_enemy = -1000 goodwill_neutal = 0 goodwill_friend = 1000
;названия группировок; рекомендуется к прочтению сразу после этой статьи (создание новой группировки):[http://stalkerin.gameru.net/wiki/index.php/Создание_новой_группировки] communities = actor, 0, actor_dolg, 1, actor_freedom, 2, stalker, 5, monolith, 6, military, 7, killer, 8, ecolog, 9, dolg, 10, freedom, 11, bandit, 12, zombied, 13, stranger, 14, trader, 15, arena_enemy, 16 ;Помим, что зомбированные (но не просто зомби) технически являются отдельной группировкой.
; отношение персонажа к актеру (или другому NPC) вычисляется по формуле ; attitude = personal_goodwill + //личное отношение персонажа к актеру (если раньше не встречались, то 0) ; community_goodwill + //отношение группировки персонажа лично к актеру (если раньше контактов не было, то 0) ; community_to_community + //отношение группировки персонажа к группировке актера из [communities_relations] ; reputation_goodwill + //отношение репутации персонажа к репутации актера из [reputation_relations] ; rank_goodwill //отношение ранга персонажа к рангу актера из [rank_relations]
[communities_relations] ;Отношения группировок к Actor`у и другим группировкам. Если отношения уходят в минус(-), то они враги для той или иной группировки ; |actor |act_dol|act_fre|stalker|monolit|militar|killer |ecolog |dolg |freedom|bandit |zombied|strange|trader |arena_enemy| ;================================================================================================================================= actor = 0, 0, 0, 0, -5000, -5000, -5000, 0, 0, 0, -5000, -5000, 0, 0, -5000 actor_dolg = 0, 0, 0, 0, -5000, -500, -5000, 5000, 600, -5000, -5000, -5000, 0, 0, -5000 actor_freedom = 0, 0, 0, 0, -5000, -5000, -5000, -1500, -5000, 5000, 0, -5000, 0, 0, -5000
; ; очки рейтинга и репутации начисляемые за определенные действия ;
;коэффициенты "сочувствия" группировок ;после воздействия на одного из членов группировки ;goodwill его распространится на остальных членов группировки ;с определенным коэффициентом [communities_sympathy] actor = 0.0 actor_dolg = 0.0 actor_freedom = 0.0 stalker = 0.0 monolith = 0.0 military = 0.0 killer = 0.0 ecolog = 0.0 dolg = 0.1 freedom = 0.1 bandit = 0.0 zombied = 0.0 trader = 0.0 stranger = 0.0 arena_enemy = 0.0
; ;очки рейтинга, получаемые за убийство персонажа ;с определенным статусом ;вроде не рабочий конфиг [rank_kill_points] novice = 0 experienced = 0 veteran = 0 master = 0
;очки рейтинга, репутации и доброжелательности начисляемые ;в зависимости от совершенного действия ;Рабочий конфиг но срабатывает не всегда [action_points] personal_goodwill_limits = -1000, 1000 community_goodwill_limits = -3000, 1000 ;------------------------------------------------------- free_friend_attack_goodwill = -2500 ;Свободная аттака друга (понижается отношение) free_neutral_attack_goodwill = -1000 ;Свободная аттака по нейтралу (понижается отношение) free_enemy_attack_goodwill = 0 ;Свободная аттака врага (понижается отношение)
danger_friend_attack_goodwill = -200 ;Аттака друга при опасности (понижается отношение) danger_neutral_attack_goodwill = -200 ;Аттака нейтрала при опасности (понижается отношение) danger_enemy_attack_goodwill = 0 ;Аттака врага при опасности (понижается отношение)
danger_friend_attack_reputation = 0 ;Аттака друга при опасности (понижается репутация) danger_neutral_attack_reputation = 0 ;Аттака нейтрала при опасности (понижается репутация) danger_enemy_attack_reputation = 0 ;Аттака врага при опасности (понижается репутация) ;-------------------------------------------------- ;(с) мин. время, через которое снова будет зарегистрировано ;сообщение об атаке на персонажа, и, соответственно, вычтется attack_goodwill и attack_reputation ;(работает аналогично и при помощи другим персонажам в бою) min_attack_delta_time = 3
friend_kill_goodwill = -1000 ;Свободное убийство друга (понижается отношение) neutral_kill_goodwill = -1000 ;Свободное убийство нейтрала (понижается отношение) enemy_kill_goodwill = 0 ;Свободное убийство врага (понижается отношение) community_member_kill_goodwill = -1000 ;Неизвестно
;убийство члена группировки отражается на отношении ;группировки (умножается на communities_sympathy)
;свойства, которые изменяются у сталкеров в ;зависимости от их ранга ;коэффициенты линейно интерполируются для рангов от 0 (novice) до 100 (experienced)
Ну вообщем нужно в гугле смотреть, если хочешь реализацию увидеть.
Мне для этих целей гугл не нужен. А вообще спасибо за идею. Даже уже написал свой "костыль", который возвращает таблицу объектов на поясе ГГ. Скрипт равносилен движковому методу db.actor:item_in_slot ( 11 ) Если нужен, то обращайся.
Modder, bound_rect прописан одинаково в файле level.ltx что в ЗП что в ЧН, global_rect вычисляется прогой map_dragger_rel. Тебе только необходимо иметь карту локи и глобальную карту.
Salamander711, Мне нужно через скрипт изменить отношение одного НПС с группировкой. denis2000, Я находил ф-цию что бы изменять отношение объекта к группировке сразу, но я забыл какого она вида. Единственное что помню, такого вида[code]npc:bla_bla_bla(community, game_jbject.friend)
Добавлено (08.07.2015, 20:21) --------------------------------------------- Вот она!
Привет. Я не могу открыть terrain локации в 3D max через xray object import у меня при нажатии "Import model" не видит её. Помогите пожалуйста.
Добавлено (08.07.2015, 21:53) --------------------------------------------- И объясните пожалуйста что такое в Object import там две формы ввода "Textures path" и "Object path" для чего они нужны?
Добавлено (08.07.2015, 21:58) --------------------------------------------- Ой ребятушки вот я дно, оказывается я не в ту папку заходил. Прошу прощения.
Сообщение отредактировал Nord_Tramper - Среда, 08.07.2015, 21:59
Такой вопрос: можно ли запустить функцию через рестриктор на движение ГГ? Т.е. ГГ попадая в зону рестриктора непроизвольно совершит движения либо вперед либо назад несколько шагов, можно ли так? На ЗП.
Asfagan, Можно, запускаешь рестрактором катсцену, конец ее ГГ на вайпоинты перекидывает. Вайпоинты ставишь чуть левее или правее того места где начинается катсцена.
Сообщение отредактировал скат - Четверг, 09.07.2015, 09:01
То, что ты хочещь реализовать делается через катсцену, поэтому тебе придется сделать его своим. А делать свой скрипт для реализации уже существующей схемы - мягко говоря извращение.