Призрак | Дата: Среда, 01.06.2011, 11:46 | Сообщение # 1 |
 Зам. Главы "Чистого неба"
Группа: Призрак Зоны
Сообщений: 83
Награды: 1
Репутация: 1
Статус: 
Заначка сталкера:
| Создание новых группировок Для создания новой группировки нам понадобятся файлы:
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 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,
в) В разделе 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
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", }
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 = {после зомби:
6) Чтобы при убийстве НПС новой группировки игра не вылетала в xr_statistic.script после строчек с зомби: zombied_novice = 1, zombied_experienced = 2, zombied_veteran = 3, zombied_master = 4, пишем: Далее ищем строчку function getNpcType(npc) и после: elseif npc:character_community() == "zombied" then community = "zombied" добавляем: elseif npc:character_community() == "anarhist" then community = "anarhist"
7) Теперь в character_desk_x.xml (вместо х название локации, к примеру escape-кордон) выбираем любого НПС и в разделе: <community>stalker</community> --группировка к которой относиться НПС (в данном случае сталкер) поменять на: <community>anarhist</community>
7) Чтобы группировка отображалась как Анархист зарегистрируем ее в в файле string_table_general.xml: string_table> <string id="anarhist"> <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, и в таблицу отношений: 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 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 добавить: 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 и добавляем local community_list = { "stalker", "dolg", "freedom", "bandit", "military", "zombied", "ecolog", "killer", "monolith", "arena_enemy", "actor_dolg", " anarhist ", }
г) В dialogs.script в раздел:
-- Community
Добавляем:
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)
end
return true
end
Ну и осталось активировать данную функцию! Активация будет происходить через диалог следующим образом:
Если мы хотим активировать на кордоне то выбираем dialogs_escape.xml и ищем там любой диалог (конечно лучше создать свой диалог специально для вступления но покажу на примере любого другого чтоб было понятно) к примеру вот:
<phrase id="3">
<text>escape_trader_start_dialog_3</text>
<action>dialogs.actor_set_anarhist</action>
<next>31</next>
<next>32</next>
</phrase>
И после того как Сидорович скажет: Ну как мы с тобой поступим вы будете в группировке Анархист!
Этот пользователь допущен к проекту <Role Playing Game>
|
|
| |