Автор: Byurrer
Создание новых группировок
Для создания новой группировки нам понадобятся файлы:
game_relations.ltx – регистрация группировки в строке с другими, таблице отношений и симпатии
death_manager.script точно не знаю для чего. Наверное чтоб объекты спавнились в трупах этой группировки
death_items_by_communities.ltx – для спавна предметов в трупах НПС новой группировки
se_respawn.script – респавн бойцов новой группировки
xr_statistic.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
monolith = -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 добавить:
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
3) В death_manager.script ищем строку local community_list и добавляем свою группировкув скобки:
local community_list = { "stalker", "dolg", "freedom", "bandit", "military", "zombied", "ecolog", "killer", "monolith",
"arena_enemy", "actor_dolg", " anarhist " }
4) В файле death_items_by_communities.ltx пишем:
af_fuzz_kolobok = 0
;Еда
vodka = 0
arena_enemy
actor_dolg
[anarhist] : stalker
bread = 0
kolbasa = 0
vodka = 0
energy_drink = 0.3
5) Для респавна бойцов группировки в se_respawn.script пишем local
anarhist_novice = 20, anarhist_regular = 20, anarhist_veteran = 20, anarhist_master = 6,
6) Чтобы при убийстве НПС новой группировки игра не вылетала в xr_statistic.script после строчек с зомби:
пишем:
anarhist _stalker_novice = 1, anarhist _stalker_experienced = 2, anarhist _stalker_veteran = 3, anarhist _stalker_master = 4,
Далее ищем строчку function getNpcType(npc) и после:
community = "zombied"
добавляем:
elseif npc:character_community() == "anarhist" then
community = "anarhist"
7) Теперь в character_desk_x.xml (вместо х название локации, к примеру escape-кордон) выбираем любого НПС и в разделе:
поменять на:
7) Чтобы группировка отображалась как Анархист зарегистрируем ее в в файле string_table_general.xml:
<string id="anarhist">
<text>Анархисты</text>
</string>
8) Ну и конечно же вступление в нашу новую группировку!
А) Открываем game_relations.ltx и добавляем следующее:
В названия группировок:
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
monolith = -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 добавить:
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
actor_anarhist = 0.0
в) В death_manager.script ищем строку local community_list и добавляем
"arena_enemy", "actor_dolg", " anarhist ", " actor_anarhist "}
г) В dialogs.script в раздел:
-- Community
Добавляем:
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 и ищем там любой диалог (конечно лучше создать свой диалог специально для вступления но покажу на примере любого другого чтоб было понятно) к примеру вот:
<text>escape_trader_start_dialog_3</text>
<action>dialogs.actor_set_anarhist</action>
<next>31</next>
<next>32</next>
</phrase>
И после того как Сидорович скажет: Ну как мы с тобой поступим вы будете в группировке Анархист!
Всего комментариев: 7 | |
Если Tramp говорил, что он по этому мануалу сделал свою новую группировку, значит это действительно работает.
| |