Создание новой группировки
Сегодня мы создадим новую группировку. Назовем её, скажем, «Ветер». Не суть важно.
Практика
Базовый уровень
1. Для начала в game_relations.ltx и в таблицу отношений группировок в конце и в заголовке добавляем название своей группировки и коэффициенты отношений к ней у других группировок. Также, не забываем прописать её собственное отношение к другим группировкам:
Также, изменим эту строку, добавив туда имя и номер группировки:
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, wind, 18
Отсчет идет построчно начиная сверху. Хотя есть небольшой нюанс. У первых трех строк — нумерация начинается с нуля, с остальных группировок она идет как надо. Для wind выставили 18, так как мы эту группировку отделили от других.
Далее, в разделе [communities_sympathy] в конце добавляем свою группировку и коэффициент «впечатлительности» — чем он меньше, тем меньше отношение группировки будет меняться к вам в целом:
2. После этого в файле death_manager.script ищем строку local community_list и в скобках добавляем название своей группировки:
3. В файле death_items_by_communities.ltx пишем [x]:stalker (вместо x — название вашей группировки):
4. Если предусматривается респавн бойцов новой группировки, в se_respawn.script прописываем в local simMaxCount = <после строчек с зомбированными сталкерами строку:
И в файле misc\smart_terrain_presets.ltx, в секциях требуемых уровней, на которых предусматривается респаун бойцов новой группировки, добавляем строки с названием своей группировки:
5. Чтобы при убийстве непися новой группировки игра не вылетала в xr_statistic.script,
и ниже в function getNpcType(npc) добавим:
6. Ну а в character_desk_x.xml выбираем любого NPC (или группу) и меняем группировку на свою:
7. Чтобы у персонажа в графе «Группировка» отображалось не «wind», а «Ветер», зарегистрируем соответствующую строку в файле string_table_general.xml:
8. Существует возможность создать для нашей новой группировки места, где они будут ходить (*_terrain брать из m_stalker.ltx):
То есть, к примеру, существует секция:
Тогда можно создать новую, по аналогии:
Здесь, очевидно, указаны координаты самого уровня. Для каждого уровня существует своя начальная координата.
Продвинутый уровень
Такой метод достаточно примитивен. Это не полноценная группировка. Нам нужны соответствующие диалоги, возможность получения квестов и вступления в группировку, уникальные NPC.
Квесты
Добавим квесты, которые нужно выполнить для группировки. Пока — простые поручения распространенных типов.
Во-первых, пропишите в список диалогов персонажа следующие строки:
Примеры названий: tm_trader_dialog, tm_wolf_dialog.
Внимание! Метод не проверен.
Этим мы добавили ему ветку диалога «Есть работа?», а также ветку для награды за квест/отказа от него. Теперь зарегистрируем в task_manager.ltx набор новых заданий.
Не забудьте прописать описания заданий в текстовые массивы. Подробнее о редактировании task_manager.ltx читайте в уроке, посвященном однотипным квестам.
Да, и зарегистрируйте сами ветки диалогов в файле dialogs.xml. Вот пример того, как это сделано для заданий «Долга»:
Соответственно, пройдем туда, куда указывает строка task_manager.init_dolg_task_dialog — в task_manager.script:
По аналогии делаем и с нашим «Ветром».
Вступление в группировку
Реализуем возможность вступления в группировку.
Прописываем в dialogs.script такие action’ы:
После чего создадим диалог, и сделаем в нем фразу с action’ом вида <action>dialogs.actor_set_wind</action>. Советую изучить урок, посвященный диалогам.
Новые NPC
Лучше всего всё вышеприведенное повесить на нового, уникального персонажа. Способ его спавна описан здесь.
Авторы
Статья BAC9-FLCL.
Способ открыт Arhet (SRP Team) Статью поправил: Vikman
S.T.A.L.K.E.R.: Shadow of Chernobyl — Модификации — Создание модов — Создание новой группировки
Для создания новой группировки нам понадобятся файлы:
game_relations.ltx – регистрация группировки в строке с другими, таблице отношений и симпатии
death_manager.script точно не знаю для чего. Наверное чтоб объекты спавнились в трупах этой группировки
death_items_by_communities.ltx – для спавна предметов в трупах НПС новой группировки
se_respawn.script – респавн бойцов новой группировки
character_desk_x.xml (вместо х название локации, к примеру escape-кордон)
dialogs.script – для вступление в нашу группировку
string_table_general.xml – регистрация группировки не как anarhistа как Анархист
dialogs_escape.xml – для вставки функции активации вступления в новую группировку
1. Определитесь, как вы хотите назвать свою группировку ну, к примеру, Анархисты.
2. В файле game_relations.ltx необходимо добавить свою группировку:
А) В таблицу отношений:
;|actor |act_dol|act_fre|stalker|monolit|militar|killer |ecolog |dolg
|freedom|bandit |zombied|strange|trader|arena_enemy| anarhist |
;=====
actor = 0, 0, 0, 0, -5000, -5000, -5000, 0, 0, 0, -5000, -5000, 0, 0, -5000, 0
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, 0
stalker = 0, 0, 0, 0, -5000, -5000, -5000, 0, 0, 0, -5000, -5000, 0, 0, -5000, 0
m -5000, -5000, -5000, -5000, 5000, -5000, -5000, -5000, -5000, -5000, 5000, 5000, -5000, 0, -5000, 0
military = -5000, -5000, -5000, -5000, -5000, 5000, -5000, 0, -5000, -5000, -5000, -5000, 0, 0, -5000, 0
killer = -5000, -5000, 0, -5000, -5000, -5000, 5000, -5000, -5000, -5000, 0, -5000, -5000, 0, -5000, 0
ecolog = 0, 600, -5000, 0, -5000, 1000, -5000, 5000, 500, -5000, -500, -5000, 0, 0, 0, 0
dolg = 0, 600, -5000, 0, -5000, -500, -5000, 5000, 5000, -5000, -5000, -5000, 0, 0, 0, 0
freedom = 0, -5000, 600, 0, -5000, -5000, -5000, -1500, -5000, 5000, 0, -5000, 0, 0, 0, 0
bandit = -5000, -5000, 0, -5000, -5000, -500, 0, -5000, -5000, 0, 0, -5000, -5000, 0, -5000, 0
zombied = -5000, -5000, -5000, -5000, 5000, -5000, -5000, -5000, -5000, -5000, -5000, 5000, -5000, 0, -5000, 0
stranger = 0, 0, 0, 0, -5000, -5000, -5000, 0, 0, 0, -500, -5000, 0, 0, 0, 0
trader = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
arena_enemy = -5000, -5000, -5000, -5000, -5000, -5000, 0, 0, 0, -5000, -5000, 0, 0, 0, 0, 0
anarhist = 0, 0, 0, 0, -5000, -5000, -5000, 0, 0, 0, -5000, -5000, 0, 0, -5000, 0, 600
(если в таблице не будет указано отношение т. е. в ячейке на пересечении группировок то она определяется как 0 – нейтралы!)
б) такжевстрочкупередтаблицей communities:
;названиягруппировок
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, anarhist, 18,
в) Вразделе communities_sympathy добавить:
communities_sympathy
actor = 0.0
actor_dolg = 0.0
actor_freedom = 0.0
stalker = 0.0
m 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
anarhist = 0.0
4) Вфайле death_items_by_communities.ltx пишем:
af_dummy_spring = 0
af_fuzz_kolobok = 0
[anarhist] : stalker
bread = 0
kolbasa = 0
vodka = 0
energy_drink = 0.3
5) Дляреспавнабойцовгруппировкив se_respawn.script пишем local simMaxCount = <послезомби:
anarhist_novice = 20, anarhist_regular = 20, anarhist_veteran = 20, anarhist_master = 6,
6) ЧтобыприубийствеНПСновойгруппировкииграневылеталав xr_statistic.script послестрочексзомби:
zombied_novice = 1, zombied_experienced = 2, zombied_veteran = 3, zombied_master = 4,
пишем:
anarhist _stalker_novice = 1, anarhist _stalker_experienced = 2, anarhist _stalker_veteran = 3, anarhist _stalker_master = 4,
elseif npc:character_community() == "zombied" then
elseif npc:character_community() == "anarhist" then
7) Теперь в character_desk_x.xml (вместо х название локации, к примеру escape-кордон) выбираем любого НПС и в разделе:
stalker —группировка к которой относиться НПС (в данном случае сталкер)
поменять на:
anarhist
7) Чтобы группировка отображалась как Анархист зарегистрируем ее в в файле string_table_general.xml:
<</strong>string_table>
<</span>stringid="anarhist">
<</span>text>Анархистыtext>
string>
8) Ну и конечно же вступление в нашу новую группировку!
А) Открываем game_relations.ltx и добавляем следующее:
В названия группировок:
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, anarhist, 18, actor_anarhist, 19,
и в таблицу отношений:
;|actor |act_dol|act_fre|stalker|monolit|militar|killer |ecolog |dolg
|freedom|bandit |zombied|strange|trader|arena_enemy| anarhist | actor_anarhist|
;=====
actor = 0, 0, 0, 0, -5000, -5000, -5000, 0, 0, 0, -5000, -5000, 0, 0, -5000, 0
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, 0
stalker = 0, 0, 0, 0, -5000, -5000, -5000, 0, 0, 0, -5000, -5000, 0, 0, -5000, 0
m -5000, -5000, -5000, -5000, 5000, -5000, -5000, -5000, -5000, -5000, 5000, 5000, -5000, 0, -5000, 0
military = -5000, -5000, -5000, -5000, -5000, 5000, -5000, 0, -5000, -5000, -5000, -5000, 0, 0, -5000, 0
killer = -5000, -5000, 0, -5000, -5000, -5000, 5000, -5000, -5000, -5000, 0, -5000, -5000, 0, -5000, 0
ecolog = 0, 600, -5000, 0, -5000, 1000, -5000, 5000, 500, -5000, -500, -5000, 0, 0, 0, 0
dolg = 0, 600, -5000, 0, -5000, -500, -5000, 5000, 5000, -5000, -5000, -5000, 0, 0, 0, 0
freedom = 0, -5000, 600, 0, -5000, -5000, -5000, -1500, -5000, 5000, 0, -5000, 0, 0, 0, 0
bandit = -5000, -5000, 0, -5000, -5000, -500, 0, -5000, -5000, 0, 0, -5000, -5000, 0, -5000, 0
zombied = -5000, -5000, -5000, -5000, 5000, -5000, -5000, -5000, -5000, -5000, -5000, 5000, -5000, 0, -5000, 0
stranger = 0, 0, 0, 0, -5000, -5000, -5000, 0, 0, 0, -500, -5000, 0, 0, 0, 0
trader = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
arena_enemy = -5000, -5000, -5000, -5000, -5000, -5000, 0, 0, 0, -5000, -5000, 0, 0, 0, 0, 0
anarhist = 0, 0, 0, 0, -5000, -5000, -5000, 0, 0, 0, -5000, -5000, 0, 0, -5000, 0, 600
actor_anarhist = 0, 0, 0, 0, -5000, -5000, -5000, 0, 0, 0, -5000, -5000, 0, 0, -5000, 0, 600, 600
communities_sympathy добавить:
communities_sympathy
actor = 0.0
actor_dolg = 0.0
actor_freedom = 0.0
stalker = 0.0
m 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
anarhist = 0.0
actor_anarhist = 0.0
в) В death_manager.script ищемстроку local community_list идобавляем
г) В dialogs.script в раздел:
functionactor_set_anarhist (actor, npc) –это функция вступления в нашу новую группировку
printf ("ACTOR NOW IN [anarhist] COMMUNITY")
if db.actor then
db.actor:set_character_community ("actor_anarhist", 0, 0)
Ну и осталось активировать данную функцию! Активация будет происходить через диалог следующим образом:
Если мы хотим активировать на кордоне то выбираем dialogs_escape.xml и ищем там любой диалог (конечно лучше создать свой диалог специально для вступления но покажу на примере любого другого чтоб было понятно) к примеру вот:
И после того как Сидорович скажет: Ну как мы с тобой поступим вы будете в группировке Анархист!
VIDEOMiN .NET
02:32
04:57
04:02
03:18
03:07
03:10
06:20
КАК СОЗДАТЬ СВОЮ ГРУППИРОВКУ В СТАЛКЕР ТЕНЬ ЧЕРНОБЫЛЯ?
У меня не получилось может не полностью штото не досмотрел но спасибо тебе за видео я его пересмотрю.
Шлёпа GAMING
а как вступить в свою группировку.
Творожок
Слухай, круто получилось)
Но я бы хотел задать несколько вопросов.
1. Можно ли сделать так что бы он стоял также в деревне на месте а не бродил.
2. Можно ли их поставить там где где я захочу. Ответь пожалуйста
aquakilleR2001
нету death_manager и se_respawn
DANIYAR_387
у меня нет death_manager
Илья Табуретка
Спасибо братуха очень помог)))
Rocket MaYno
Типа моя группировка Армагеддон и типа Alife поменять как?
Rocket MaYno
как сделать так что бы бойцы из твоей группировки ои могли ходить по зоне?
Я создал группировку ренегаты в сталкер тч, всё прошло гладко и без вылетов, спасибо тебе за урок)
Бустер
Ещё немного и будет 2к просмотров)
Kreze
Чтобы не.болтать с сидором, когда будет Клиент Синхронизация, нажми на кнопку загрузки.
CARTOON_MAN
Вопросы ответь
1.как можно создать территорию где они есть
2.можно ли ими командовать
3.как разместить своего бойца например в бар сто рентген
4.и можно ли сделать свою группировку в сталкер чистое небо