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

Материал из Mod Wiki.

(Различия между версиями)
Перейти к: навигация, поиск
Версия 17:47, 24 августа 2007 (править)
BAC9-FLCL (Обсуждение | вклад)
(Базовый уровень)
← К предыдущему изменению
Версия 19:03, 24 августа 2007 (править) (отменить)
BAC9-FLCL (Обсуждение | вклад)

К следующему изменению →
Строка 4: Строка 4:
==Практика== ==Практика==
-===Файлы=== 
-Для создания простой новой группировки нам потребуются файлы: 
- 
-* '''game_relations.ltx'''  
-* '''character_desk_x.xml''' (где '''x''' - название уровня, на котором мы создадим представителя новой группировки) 
-* '''death_manager.script''' 
-* '''death_items_by_communities.ltx''' 
===Базовый уровень=== ===Базовый уровень===
Строка 111: Строка 104:
Такой метод достаточно примитивен. Это не полноценная группировка. Такой метод достаточно примитивен. Это не полноценная группировка.
- 
Нам нужны соответствующие диалоги, возможность получения квестов и вступления в группировку. Нам нужны соответствующие диалоги, возможность получения квестов и вступления в группировку.
Нового NPC пока создавать не будем, это достаточно сложная задача. Нового NPC пока создавать не будем, это достаточно сложная задача.
 +
 +'''1.''' Добавим квесты, которые нужно выполнить для группировки. Пока - простые поручения распространенных типов.
 +
 +Во-первых, пропишите в список диалогов персонажа следующие строки:
 +
 +<pre> <actor_dialog>tm_wind_dialog</actor_dialog>
 + <actor_dialog>tm_wind_reward</actor_dialog></pre>
 +
 +Этим мы добавили ему ветку диалога "Есть работа?", а также ветку для награды за квест/отказа от него.
 +
 +Теперь зарегистрируем в task_manager.ltx набор новых заданий.
==Авторы== ==Авторы==

Версия 19:03, 24 августа 2007

Содержание

Новая группировка

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

Практика

Базовый уровень

1. Для начала в game_relations.ltx и в таблицу отношений группировок в конце добавляем название своей группировки и коэффициенты отношений:

[communities_relations]
;	|actor  |act_dol|act_fre|stalker|monolit|militar|killer |ecolog |dolg   |freedom|bandit |zombied|strange|trader |arena_enemy|
;=================================================================================================================================
actor = 0,	   0,	   0,	   0,  -5000,  -5000,  -5000,      0,	   0,	   0,  -5000,  -5000,	   0,	  0,  -5000
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

stalker	= 0,	   0,	   0,	   0,  -5000,  -5000,  -5000,      0,	   0,	   0,  -5000,  -5000,	   0,	  0,  -5000
monolith = -5000,  -5000,  -5000,  -5000,   5000,  -5000,  -5000,  -5000,  -5000,  -5000,   5000,   5000,  -5000,	  0,  -5000
military = -5000,  -5000,  -5000,  -5000,  -5000,   5000,  -5000,      0,  -5000,  -5000,  -5000,  -5000, 	   0,	  0,  -5000
killer = -5000,  -5000,      0,  -5000,  -5000,  -5000,   5000,  -5000,  -5000,  -5000,	   0,  -5000,  -5000,	  0,  -5000
ecolog = 0,	 600,  -5000,      0,  -5000,   1000,  -5000,   5000,    500,  -5000,   -500,  -5000,	   0,	  0,      0
dolg = 0,    600,  -5000,      0,  -5000,   -500,  -5000,   5000,   5000,  -5000,  -5000,  -5000,	   0,	  0,      0
freedom = 0,  -5000,	 600,	   0,  -5000,  -5000,  -5000,  -1500,  -5000,   5000,	   0,  -5000,	   0,	  0,      0
bandit = -5000,  -5000,	   0,  -5000,  -5000,   -500,      0,  -5000,  -5000,	   0,	   0,  -5000,  -5000,	  0,  -5000
zombied	= -5000,  -5000,  -5000,  -5000,   5000,  -5000,  -5000,  -5000,  -5000,  -5000,  -5000,   5000,  -5000,	  0,  -5000
stranger = 0,	   0,	   0,      0,  -5000,  -5000,  -5000,      0,	   0,	   0,   -500,  -5000,	   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

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

Также, изменим эту строку, добавив туда имя и номер группировки:

;названия группировок
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, 17,

Далее, в разделе [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

;Еда
vodka					= 0

[arena_enemy]
[actor_dolg]

[wind]: stalker

4. Ну а в character_desk_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>
		[...]

5. Чтобы у персонажа в графе "Группировка" отображалось не "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>
	[...]

Продвинутый уровень

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

Нового NPC пока создавать не будем, это достаточно сложная задача.

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

Во-первых, пропишите в список диалогов персонажа следующие строки:

		<actor_dialog>tm_wind_dialog</actor_dialog>
		<actor_dialog>tm_wind_reward</actor_dialog>

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

Теперь зарегистрируем в task_manager.ltx набор новых заданий.

Авторы

Статья создана:

Личные инструменты