Расширенное меню
Энциклопедия

Как часто вы посещаете наш сайт?
Всего ответов: 5792



[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Статистика форума
Новые ответыПопулярные темыАктивные сталкеры

Страница 1 из 3123»
Модератор форума: Рикошет 
Форум » Теория модостроения » Зона мододелов » Создание новых группировок (учимся делать новые группировки...)
Создание новых группировок
АрагонДата: Воскресенье, 20.06.2010, 11:40 | Сообщение # 1

Оружейник ВС
Военные
Сообщений: 378
Карма:
114
Я заметил, что у некоторых их вас идея всякие разные были и многим из вас очень хочется создать новые группировки.
Вот читайте и учитесь.... smile

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
d olg = 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

;Еда
vodka = 0

[arena_enemy]
[actor_dolg]

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

<class>esc_wolf</class>
<community>wind</community>
[...]

7. Чтобы у персонажа в графе "Группировка" отображалось не "wind", а "Ветер", зарегистрируем соответствующую строку в файле string_table_general.xml:
<?xml version="1.0" encoding="windows-1251" ?>
<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------------------------
;----------Kill Stalker----
wind_kill_stalker
;----------Find Item----
wind_find_item

[...]

;tasks for Wind

[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")

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

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

Прописываем в dialogs.script такие action'ы:
-----------------------------------------------------------------------------------
-- Community
-----------------------------------------------------------------------------------

[...]

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

Лучше всего всё вышеприведенное повесить на нового, уникального персонажа. Способ его спавна описан здесь.



Деньги - точно не зло, как ни зайду в магазин зла не хватает.
 
НикДата: Воскресенье, 20.06.2010, 12:04 | Сообщение # 2

Командир Барьера
Свобода
Сообщений: 655
Карма:
195
эт ты с инета инфу скачал. а ты своими словами расскажи как делать. biggrin

ВСТУПИ В СВОБОДУ-СДЕЛАЕМ МИР ПРИ ПОМОЩИ ЗОНЫ ЛУЧШЕ!!!

 
АрагонДата: Воскресенье, 20.06.2010, 12:09 | Сообщение # 3

Оружейник ВС
Военные
Сообщений: 378
Карма:
114
Ник, а я и не отрицаю что с инета кинул сюда... тут все и так расписано. Самое главное надо знать куда эти коды прописывать. Я давно как-то делал уж и не помню как именно


Деньги - точно не зло, как ни зайду в магазин зла не хватает.
 
SnaiperДата: Воскресенье, 20.06.2010, 12:41 | Сообщение # 4

Ветеран
Заблокированные
Сообщений: 713
Карма:
40
А какая программа нужна для создания гриппировок?


 
АрагонДата: Воскресенье, 20.06.2010, 12:56 | Сообщение # 5

Оружейник ВС
Военные
Сообщений: 378
Карма:
114
Quote (Арагон)
1. Для начала в game_relations.ltx и в таблицу отношений группировок в конце и в заголовке добавляем название своей группировки

Snaiper, тут программ никаких не нужно

Добавлено (20.06.2010, 12:56)
---------------------------------------------
Snaiper, я лично без программ делал



Деньги - точно не зло, как ни зайду в магазин зла не хватает.
 
SnaiperДата: Воскресенье, 20.06.2010, 13:11 | Сообщение # 6

Ветеран
Заблокированные
Сообщений: 713
Карма:
40
А как тогдща если без програм?


 
максонДата: Воскресенье, 20.06.2010, 13:18 | Сообщение # 7

Новичок
Монолит
Сообщений: 44
Карма:
17
я хочу штоб появилась группировка "обители зоны" чем то пахожие на монолит а чемто на свободу и экипировка чёрная с серыми частями костюма. Якобы владеющие телепатией и живущие в подвалах и шахтах!

одни артефакты лечат, другие колечат!

 
maloyДата: Понедельник, 21.06.2010, 09:08 | Сообщение # 8

Новичок
Свобода
Сообщений: 44
Карма:
16
максон, Ну так это ж можно сделать. Я вот то же хочу группировку сделать и сделаю. МЧС ЧЕРНОБЫЛЯ, пародия на МЧС УКРАИНЫ, по-другому, такая группировка была в мире интернета, в сообществе на майле. Пришло время её запихнуть в игру! tongue

Апетсо-мазафакеры...
 
ШутДата: Среда, 23.06.2010, 21:49 | Сообщение # 9

Гетман Свободы
Свобода
Сообщений: 772
Карма:
502
Класс!!! Очень ценная информация!!! up up up
Спасибо тебе Арагон, я бы даже не додумался в интернете это найти. respect respect respect

 
исполнительДата: Среда, 23.06.2010, 23:27 | Сообщение # 10

Ветеран
Свобода
Сообщений: 716
Карма:
159
Ценая инфа согласин с [V_S]Gamer_1 можно создать все вырезаные группировки зоны.


 
maloyДата: Четверг, 24.06.2010, 10:30 | Сообщение # 11

Новичок
Свобода
Сообщений: 44
Карма:
16
исполнитель, О, да...В зоне ещё есть люди, там мирные жители, а их почему-то нету. surprised

Апетсо-мазафакеры...
 
исполнительДата: Четверг, 24.06.2010, 13:53 | Сообщение # 12

Ветеран
Свобода
Сообщений: 716
Карма:
159
maloy ну это люди как например Лесник он местный житель зоны


 
maloyДата: Четверг, 24.06.2010, 14:47 | Сообщение # 13

Новичок
Свобода
Сообщений: 44
Карма:
16
исполнитель, Ну это он один на всю зону...Надо хотя бы с десяток человек, таких простых... surprised

Апетсо-мазафакеры...
 
fenixДата: Суббота, 17.07.2010, 02:01 | Сообщение # 14

Бармен Долга
Долг
Сообщений: 945
Карма:
222
даа а класното

 
anybisДата: Вторник, 20.07.2010, 10:28 | Сообщение # 15

Новичок
Диггеры
Сообщений: 48
Карма:
1
Здорово придумали!
 
Форум » Теория модостроения » Зона мододелов » Создание новых группировок (учимся делать новые группировки...)
Страница 1 из 3123»
Поиск:


Бродяга

---
Ну, чё стоишь?
Заходи, раз пришёл!
---
E-mail:
Пароль:

Зачем нужна регистрация?
Что можно гостям?