Создание новых группировок в S.T.A.L.K.E.R.
В данном руководстве описан процесс создания новой группировки на примере
группировки «Анархисты». Материал предназначен для модмейкеров,
работающих с конфигурационными файлами и скриптами игры.
Необходимые файлы
• game_relations.ltx — регистрация группировки, отношения и симпатии
• death_manager.script — спавн предметов в трупах NPC
• death_items_by_communities.ltx — лут для новой группировки
• se_respawn.script — респавн бойцов
• xr_statistic.script — статистика убийств
• character_desc_x.xml — назначение группировки NPC
• dialogs.script — вступление в группировку
• dialogs_escape.xml — активация диалога вступления
• string_table_general.xml — отображаемое название группировки
1. Регистрация группировки в game_relations.ltx
Добавляем новую группировку в таблицу отношений:
Код
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
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
anarhist = 0.0
2. Death manager
В файле death_manager.script добавляем группировку в список:
Код
local community_list = {
"stalker", "dolg", "freedom", "bandit", "military",
"zombied", "ecolog", "killer", "monolith",
"arena_enemy", "actor_dolg", "anarhist"
}
3. Лут группировки
death_items_by_communities.ltx
Код
[anarhist] : stalker
bread = 0
kolbasa = 0
vodka = 0
energy_drink = 0.3
4. Респавн бойцов
se_respawn.script
Код
anarhist_novice = 20
anarhist_regular = 20
anarhist_veteran = 20
anarhist_master = 6
5. Статистика убийств
xr_statistic.script
Код
anarhist_stalker_novice = 1
anarhist_stalker_experienced = 2
anarhist_stalker_veteran = 3
anarhist_stalker_master = 4
И в функции:
Код
elseif npc:character_community() == "anarhist" then
community = "anarhist"
6. Назначение NPC
character_desc_x.xml
Код
<community>anarhist</community>
7. Отображаемое название
string_table_general.xml
Код
<string id="anarhist">
<text>Анархисты</text>
</string>
8. Вступление в группировку
dialogs.script
Код
function actor_set_anarhist(actor, npc)
if db.actor then
db.actor:set_character_community("actor_anarhist", 0, 0)
end
return true
end
Активация через диалог (dialogs_escape.xml):
Код
<phrase id="3">
<text>escape_trader_start_dialog_3</text>
<action>dialogs.actor_set_anarhist</action>
<next>31</next>
<next>32</next>
</phrase>
После этого игрок будет переведён в группировку «Анархисты».