Создание новой группировки

 Создание новых группировок

Для создания новой группировки нам понадобятся файлы:

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 необходимо добавить свою группировку: 
А) В таблицу отношений:

communities_relations 

;|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


3)
Вdeath_manager.scriptищемстрокуlocal community_listидобавляемсвоюгруппировкувскобки: 
function init_drop_settings() 
local community_list = { "stalker", "dolg", "freedom", "bandit", "military", "zombied", "ecolog", "killer", "monolith", 
"arena_enemy", "actor_dolg", " anarhist " }


4)
Вфайлеdeath_items_by_communities.ltxпишем: 
af_dummy_spring = 0 
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 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, 

 

Далее ищем строчкуfunctiongetNpcType(npc) и после:

 

elseif npc:character_community() == "zombied" then

                                  community = "zombied"

добавляем:

elseif npc:character_community() == "anarhist" then

                                  community = "apple-converted-space">anarhist"

 


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,

 

и в таблицу отношений:

 

communities_relations 

;|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идобавляем

 

local community_list = { "stalker", "dolg", "freedom", "bandit", "military", "zombied", "ecolog", "killer", "monolith", 
"arena_enemy", "actor_dolg", " anarhist ",  " actor_anarhist "}

 

г) В dialogs.script в раздел:

-- Community

Добавляем:

 

functionactor_set_anarhist(actor,npc) –это функция вступления в нашу новую группировку

printf ("ACTOR NOW IN [anarhist] COMMUNITY")

if db.actor then

db.actor:set_character_community ("actor_anarhist", 0, 0)

end

return true

end

 

Ну и осталось активировать данную функцию! Активация будет происходить через диалог следующим образом:

Если мы хотим активировать на кордоне то выбираем dialogs_escape.xml и ищем там любой диалог (конечно лучше создать свой диалог специально для вступления но покажу на примере любого другого чтоб было понятно) к примеру вот:

 

                escape_trader_start_dialog_3

                dialogs.actor_set_anarhist

               31

                32

           

И после того как Сидорович скажет: Ну как мы с тобой поступим вы будете в группировке Анархист!

Автор: Byurrer

Нравится11
Комментарии (3)
B
i
u
Спойлер