File-Portal

Скачать Мод На Сталкер Тень Чернобыля На Создание Своей Группировки img-1

Скачать Мод На Сталкер Тень Чернобыля На Создание Своей Группировки

Рейтинг: 4.6/5.0 (1685 проголосовавших)

Категория: Моды

Описание

Создание новой группировки - Создание модов - Модификации - S

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

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

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

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


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

[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

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


7) Теперь в character _ desk _ x. xml (вместо х название локации, к примеру escape -кордон) выбираем любого НПС и в разделе:
stalker --группировка к которой относиться НПС (в данном случае сталкер)
поменять на:


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

в ) В death_manager.script ищем строку local community_list и добавляем

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

function actor _ 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 и ищем там любой диалог (конечно лучше создать свой диалог специально для вступления но покажу на примере любого другого чтоб было понятно) к примеру вот:

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

Другие статьи

Путеводитель в мире S

Как создать новую группировку

Сегодня мы создадим новую группировку. Назовем её, скажем, "Ветер". Не суть важно.
Практика
Базовый уровень

1. Для начала в game_relations.ltx и в таблицу отношений группировок в конце и в заголовке добавляем название своей группировки и коэффициенты отношений к ней у других группировок. Также, не забываем прописать её собственное отношение к другим группировкам:
[communities_relations]
;|actor |act_dol|act_fre|stalker|monolit|militar|killer |ecolog |dolg |freedom|bandit |zombied|strange|trader|arena_enemy|wind|
;=================================================================================================================================
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

wind = 0, 0, 0, 0, -5000, -5000, -5000, 0, 0, 0, -5000, -5000, 0, 0, -5000, 0

Также, изменим эту строку, добавив туда имя и номер группировки:
;названия группировок
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] в конце добавляем свою группировку и коэффициент "впечатлительности" - чем он меньше, тем меньше отношение группировки будет меняться к вам в целом:
[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
wind = 0.0

2. После этого в файле 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", "wind" >

3. В файле death_items_by_communities.ltx пишем [x]:stalker (вместо x - название вашей группировки):
[. ]
af_dummy_spring = 0
af_fuzz_kolobok = 0

[wind]: stalker
bread = 0
kolbasa = 0
vodka = 0
energy_drink = 0.3

4. Если предусматривается респавн бойцов новой группировки, в se_respawn.script прописываем в local simMaxCount = < после строчек с зомбированными сталкерами строку:
wind_novice = 20, wind_regular = 20, wind_veteran = 20, wind_master = 6,

5. Чтобы при убийстве непися новой группировки игра не вылетала в xr_statistic.script,

после строки:
zombied_novice = 1, zombied_experienced = 2, zombied_veteran = 3, zombied_master = 4,

пишем
dark_stalker_novice = 1, dark_stalker_experienced = 2, dark_stalker_veteran = 3, dark_stalker_master = 4,

6. Ну а в character_desc_x.xml выбираем любого NPC (или группу) и меняем группировку на свою:
<!---esc_wolf--->
<specific_character id="esc_wolf" team_default = "1">
<name>esc_wolf_name</name>
<icon>ui_npc_u_stalker_neytral_balon_1</icon>
<bio>esc_wolf_bio</bio>

7. Чтобы у персонажа в графе "Группировка" отображалось не "wind", а "Ветер", зарегистрируем соответствующую строку в файле string_table_general.xml:

<string_table>
<string id="wind">
<text>Ветер</text>
</string>
<string id="actor">
<text>Одиночка</text>
</string>
[. ]

8. Существует возможность создать для нашей новой группировки места, где они будут ходить (*_terrain брать из m_stalker.ltx):

То есть, к примеру, существует секция:
[stalker_terrain]
255,000,255,255
008,001,255,255 ;Разрешено ходить по опасным местам на баре
012,001,255,255 ;Разрешено ходить по опасным местам на Милитари

Тогда можно создать новую, по аналогии:
[wind_terrain]
255,000,255,255
008,001,255,255 ;Разрешено ходить по опасным местам на баре
012,001,255,255 ;Разрешено ходить по опасным местам на Милитари
010,001,255,255 ;Разрешено ходить по опасным местам на янтаре

Здесь, очевидно, указаны координаты самого уровня. Для каждого уровня существует своя начальная координата.
Продвинутый уровень

Такой метод достаточно примитивен. Это не полноценная группировка. Нам нужны соответствующие диалоги, возможность получения квестов и вступления в группировку, уникальные NPC.
Квесты

Добавим квесты, которые нужно выполнить для группировки. Пока - простые поручения распространенных типов.

Во-первых, пропишите в список диалогов персонажа следующие строки:
<actor_dialog>[что-нибудь]_dialog</actor_dialog>
<actor_dialog>[что-нибудь]_reward</actor_dialog>

Примеры названий: tm_trader_dialog, tm_wolf_dialog.

Внимание! Метод не проверен.

Этим мы добавили ему ветку диалога "Есть работа?", а также ветку для награды за квест/отказа от него. Теперь зарегистрируем в task_manager.ltx набор новых заданий.

[wind_find_item]
type = find_item
community = actor
text = [ссылка на текст с рассказом заказчика о задании]
description = [ссылка на текст с описанием задания]
parent = [имя NPC-заказчика]
target = scientific_outfit
reward_money = 5000
reward_reputation = +5
reward_rank = 4
reward_item = wpn_sig_m1
time = 86400

[wind_kill_stalker]
type = kill_stalker
community = actor
text = [ссылка на текст с рассказом заказчика о задании]
description = [ссылка на текст с описанием задания]
parent = [имя NPC-заказчика]
target = sim_stalker_master_master
reward_money = 4000
reward_reputation = +5
reward_rank = 9
reward_item = ammo_5.56x45_ap, ammo_5.56x45_ap, ammo_5.56x45_ap
time = 86400

Не забудьте прописать описания заданий в текстовые массивы. Подробнее о редактировании task_manager.ltx читайте в уроке, посвященном однотипным квестам.

Да, и зарегистрируйте сами ветки диалогов в файле dialogs.xml. Вот пример того, как это сделано для заданий "Долга":
<dialog id="tm_dolg_dialog" priority="-1">
<init_func>task_manager.init_dolg_task_dialog</init_func>
</dialog>
<dialog id="tm_dolg_reward" priority="0">
<init_func>task_manager.init_dolg_reward_dialog</init_func>
<precondition>task_manager.has_active_vendor_task</precondition>
</dialog>

Соответственно, пройдем туда, куда указывает строка task_manager.init_dolg_task_dialog - в task_manager.script:
function init_dolg_task_dialog(dlg)
get_random_task():init_task_dialog(dlg, "dolg")

По аналогии делаем и с нашим "Ветром".
Вступление в группировку

Реализуем возможность вступления в группировку.

function actor_set_wind (actor, npc)
printf ("ACTOR NOW IN WIND COMMUNITY"
if db.actor then
db.actor:set_character_community ("actor_wind", 0, 0)
end
return true
end

После чего создадим диалог, и сделаем в нем фразу с action'ом вида <action>actor_set_wind</action>. Советую изучить урок, посвященный диалогам.
Новые NPC

Собственный путь 0

Платформа: Тени Чернобыля

Разработчик: STALKER Game

1)Новые текстуры оружия!
2)Новые текстуры Сталкеров, бандитов, военных и тд!
3)Новый PDA!
4)Новая глобальная карта зоны!
5)Повышена живучесть мутантов!
6)Новые иконки патронов, медикаментов, артефактов и тд!
7)Возможность спать!
8)Новый мутант заноза!
9)Возможность играть за любую группировку!
10)Новые звуки оружия!
11)Теперь сталкеры могут говорить на Украинском языке!
12)Повышен шанс выпадения частей монстров!
13)Новые звуки смерти гг!
14)Новые звуки открытия инвентаря!
15)Новые звуки шагов!
16)Немного изменена система стелс!
17)Новое главное меню и музыка в нём!
18)Новый загрузочный экран между переходами на локациях!
19)Немного изменён инвентарь!
20)У каждой группировки свои торговцы!
21)Добавлены машины!
22)NPC обыскивают трупов!
23)Добавлено больше уникального оружия и патронов!


Для создания модификации использовались такие моды как FreePlay start,

Создать паку gamedata и забросить в неё все установленные файлы!

AP production

И так, возможно многим эта тема покажется странной и неактуальной в наши дни так как по всему интернету полно таких уроков, но я решил сделать его и на AP pro, так как не раз сталкивался с этим вопросом.
И так!
===========================================================================

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

Давайте создавать новую группировку! Создадим к примеру группировку Чистое небо (уж очень нравится мне эта группировка)

Что нам понадобится?

1. Папка creatures
а)файл game_relations.ltx ;----- Отношение группировки к другим фракциям и к ГГ.
б)файл spawn_sections_general.ltx ;----- Регистрация character_profile дефолтных персов группировки.

2. Папка gameplay
а)файл character_desc_general.xml ;----- Добавление character_profile дефолтных персов группировки.
b)файл npc_profile.xml ;----- Регистрация character_profile дефолтных и квестовых персов группировки.

3. Папка misc
а)файл death_items_by_communities.ltx ;----- Предметы которые могут появится у трупа непися группировки.
б)файл script_sound.ltx ;----- Звуковые схемы, просьба о помощи, различные фразы, реакций на действия.
в)файл script_sound_music_and_stories.ltx ;----- Звуковые схемы, анекдоты, историй, применяется в посиделках у костра
или на базах.
г)файл simulation.ltx ;----- Спавен сквадов группировки при старте игры.
д)файл squad_behaviours.ltx ;----- Возможность спавнить сквады группировки через смарты.
е)файл squad_descr.ltx ;----- Симуляция сквадов для распавна (пока не обезателен).
ё) файл dialog_manager.ltx ;----- Название говорит само за себя.

4. Папка text\rus\ui_st_pda.xml ;----- Название группировки на русском языке.
==================================================================================================================
Папка scripts
а)фаил _g.script ;----- Регистрация новой группировки.
б)фаил death_manager.script ;----- Регистрация новой группировки.
г)фаил sound_theme.script ;----- Прописывается возможность произнесения фраз группировкой.
=========================================================================


Открываем файл game_relation.ltx.
Что нам надо тут сделать?

Первым делом сделаем самое основное:

Это настроим таблицу отношений между кланами:

200?'200px':''+(this.scrollHeight+5)+'px');">
[communities_relations]
; |actor|bandit| dolg|ecolog|freedom|killer| army|monolith|monster|stalker| zombied|
;===================================================================================================
actor = 0, 0, 0, 0, 0, -1000, 0, -5000, -5000, 0, -5000
bandit = 0, 5000,-5000, 0, -5000, 0, -5000, -5000, -5000, -1000, -5000
dolg = 0, -5000, 5000, 0, -5000, 0, 0, -5000, -5000, 0, -5000
ecolog = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
freedom = 0, -5000,-5000, 0, 5000, 0, 0, -5000, -5000, 0, -5000
killer = -1000, 0, 0, 0, 0, 1000, -5000, -5000, -5000, 0, -5000
army = 0, -5000, 0, 0, 0, -5000, 1000, -5000, -5000, 0, -5000
monolith = -5000, -5000,-5000, 0, -5000, -5000, -5000, 1000, -5000, -5000, 1000
monster = -5000, -5000,-5000, 0, -5000, -5000, -5000, -5000, 0, -5000, -5000
stalker = 0, -1000, 0, 0, 0, 0, 0, -5000, -5000, 0, -5000
zombied = -5000, -5000,-5000, 0, -5000, -5000, -5000, 1000, -5000, -5000, 1000

Вот так она выглядит в оригинале. Давайте её дополним нашим кланом, назовём его скажем nebo.

200?'200px':''+(this.scrollHeight+5)+'px');">
[communities_relations]
; |actor|bandit| dolg|ecolog|freedom|killer| army|monolith|monster|stalker| zombied|nebo|
;===================================================================================================
actor = 0, 0, 0, 0, 0, -1000, 0, -5000, -5000, 0, -5000, 0
bandit = 0, 5000,-5000, 0, -5000, 0, -5000, -5000, -5000, -1000, -5000, -1000
dolg = 0, -5000, 5000, 0, -5000, 0, 0, -5000, -5000, 0, -5000, 0
ecolog = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
freedom = 0, -5000,-5000, 0, 5000, 0, 0, -5000, -5000, 0, -5000, 0
killer = -1000, 0, 0, 0, 0, 1000, -5000, -5000, -5000, 0, -5000, 0
army = 0, -5000, 0, 0, 0, -5000, 1000, -5000, -5000, 0, -5000, 0
monolith = -5000, -5000,-5000, 0, -5000, -5000, -5000, 1000, -5000, -5000, 1000, -5000
monster = -5000, -5000,-5000, 0, -5000, -5000, -5000, -5000, 0, -5000, -5000, -5000
stalker = 0, -1000, 0, 0, 0, 0, 0, -5000, -5000, 0, -5000, 0
zombied = -5000, -5000,-5000, 0, -5000, -5000, -5000, 1000, -5000, -5000, 1000, -5000
nebo = 0, -1000, 0, 0, 0, 0, 0, -5000, -5000, 0, -5000, 5000

Что же мы сделали? мы внесли нашу новую группировку в список отношений кланов игры.

Сверху вниз пишутся названия кланов, а слева направо отношения кланов к другим группировкам которые указанны в верхней части таблицы, т.е. вот тут:

Тут мы так же пишем наш клан, здесь сверху вниз пишется отношение группировок к нашему клану:

Важно! Делать одинаковое отношение кланов друг к другу, как это указанно слева направо:

200?'200px':''+(this.scrollHeight+5)+'px');"> nebo = 0, -1000, 0, 0, 0, 0, 0, -5000, -5000, 0, -5000, 5000

Так должно быть и сверху вниз.

И так, теперь промотаем файл чуть выше и найдём там такую строку:

200?'200px':''+(this.scrollHeight+5)+'px');">
;названия группировок (порядок должен совпадать с communities_relations)
communities = actor, 0, bandit, 1, dolg, 2, ecolog, 3, freedom, 4, killer, 5, army, 6, monolith, 7, monster, 8, stalker, 9, zombied, 10

И допишем нашу группировку:

200?'200px':''+(this.scrollHeight+5)+'px');">
;названия группировок (порядок должен совпадать с communities_relations)
communities = actor, 0, bandit, 1, dolg, 2, ecolog, 3, freedom, 4, killer, 5, army, 6, monolith, 7, monster, 8, stalker, 9, zombied, 10, nebo, 11

Важно! Цифру после запятой ставить обязательно, т.е. если у вас была 10, то после названия клана вы должны дописать следующею цифру, 11.

Теперь ищем такую строку:

200?'200px':''+(this.scrollHeight+5)+'px');"> ;коэффициенты "сочувствия" группировок
;после воздействия на одного из членов группировки
;goodwill его распространится на остальных членов группировки
;с определенным коэффициентом
;(порядок должен совпадать с communities_relations)
[communities_sympathy]
actor = 0.0
bandit = 0.0
dolg = 0.0
ecolog = 0.0
freedom = 0.0
killer = 0.0
army = 0.0
monolith = 0.0
monster = 0.0
stalker = 0.0 ;0.01
zombied = 0.0

И дописываем наш клан:

200?'200px':''+(this.scrollHeight+5)+'px');"> ;коэффициенты "сочувствия" группировок
;после воздействия на одного из членов группировки
;goodwill его распространится на остальных членов группировки
;с определенным коэффициентом
;(порядок должен совпадать с communities_relations)
[communities_sympathy]
actor = 0.0
bandit = 0.0
dolg = 0.0
ecolog = 0.0
freedom = 0.0
killer = 0.0
army = 0.0
monolith = 0.0
monster = 0.0
stalker = 0.0 ;0.01
zombied = 0.0
nebo = 0.0

Всё сохраняем и закрываем!

А теперь давайте сделаем нашу группировку говорящей. Это делается всего двумя файлами:
Список:
configs/misc/script_sound.ltx
configs/misc/script_sound_music_and_stories.ltx

И везде где есть список группировок, как тут пишем свою.
Аналогично и со следующим файлом.


Далее можно добавить разные продукты для группировки, заходим в файл gamedata\configs\misc\death_items_by_communities.ltx и добавляем в самом низу секцию нашей группировки.


Теперь весь список продуктов, а так же вероятность их спавна в инвентаре НПС новой группировки будет, как у сталкеров.
Если вы захотите добавить свои продукты или изменить вероятность спавна старых, то под секцией своей группировки дописываем нужный продукт с другой вероятностью. Например:
У сталкеров возьмём секцию респа какого-нибудь арта:
[stalker]
af_cristall_flower = 0
И перетащим её в нашу группировку с другой вероятностью спавна
[nebo]:stalker
af_cristall_flower = 0.1

Можно вобще не трогать этот файл, всё продукты будут спавниться по дефолту без вылетов.


Теперь "научим" НПС новой группировки общаться с ГГ. Открываешь файл dialog_manager

"Научим" НПС просить аптечку. Я буду делать на секции сталкеров. Ищем секцию Wounded dialogs и дописываем через запятую свой клан:

200?'200px':''+(this.scrollHeight+5)+'px');"> ;Wounded dialogs
[dm_help_0]
category = hello
npc_community = stalker, trader, monolith, nebo
level = all
wounded = true

[dm_help_1]
category = hello
npc_community = stalker, trader, monolith, nebo
level = all
wounded = true

Ну а теперь "научим" НПС здороваться. Ищем следующие:

200?'200px':''+(this.scrollHeight+5)+'px');"> [dm_hello_0]
category = hello
npc_community = stalker, trader, monolith, nebo
level = all

[dm_hello_1]
category = hello
npc_community = stalker, trader, monolith, nebo
level = all

[dm_hello_2]
category = hello
npc_community = stalker, monolith, nebo
level = all

Вот и всё! Теперь наши НПС могут говорить без вылетов.

Сделаем наш клан понятным игроку. Идём в файл ui_st_pda.xml

И пишем название нашего клана на русском:

У меня похожая проблема на ту, что была и у MaNdariN2332.
Пытаюсь создать сквад нпс новой группировки, но игра вылетает при загрузке.
В squad_descr_jupiter.ltx пишу:

200?'200px':''+(this.scrollHeight+5)+'px');"> [jup_bolvan_1_squad]:online_offline_group
faction = имя фракции
npc_random = sim_default_фракция_0, sim_default_фракция_1, sim_default_фракция_2, sim_default_фракция_3, sim_default_фракция_4
npc_in_squad = 4, 8
target_smart = jup_sim_18

Также регистрирую сквад в файле simulation и simulation_props (как-то так).
Если в faction прописать monolith, то всё заработает и появятся бойцы новой группировки. Если свою фракцию, то будет вылет с логом: ". section имя_группировки not found. ". Но так же не должно быть, правильно?

Мне кажется, что для создания сквадов, нужно ещё где-то регистрировать группировку.

1. Папка creatures
а)фаил game_relations.ltx ;----- Отношение группировки к другим фракциям и к ГГ.
б)фаил spawn_sections_general.ltx ;----- Регистрация character_profile дефолтных персов группировки.

2. Папка gameplay
а)фаил character_desc_general.xml ;----- Добавление character_profile дефолтных персов группировки.
b)фаил npc_profile.xml ;----- Регистрация character_profile дефолтных и квестовых персов группировки.

3. Папка misc
а)фаил death_items_by_communities.ltx ;----- Предметы которые могут появится у трупа непися группировки.
б)фаил script_sound.ltx ;----- Звуковые схемы, прозьба о помощи, различные фразы, реакций на действия.
в)фаил script_sound_music_and_stories.ltx ;----- Звуковые схемы, анекдоты, историй, применяется в посиделках у костра или на базах.
г)фаил simulation.ltx ;----- Спавен сквадов группировки при старте игры.
д)фаил squad_behaviours.ltx ;----- Возможность спавнить сквады групперовки через смарты.
е)фаил squad_descr.ltx ;----- Симуляция сквадов для распавна (пока не обезателен).

Отредактировал скат - Суббота, 13.06.2015, 10:32