Главная | Регистрация | Вход | Приветствую Вас | Гость| RSS
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 2 из 3
  • «
  • 1
  • 2
  • 3
  • »
Форум » Навигатор » Модострой » Тут все
Тут все
stalin
Дата: Понедельник, 09.05.2011, 10:07 | Сообщение # 11
Сообщений: 49
Награды: 0  +
Репутация: 2  ±
Замечания:  ±
Статус: Убежал
Да !!
Но это и есть то, чем я пока нихочу делится с остальными !!
ИЗВЕНЯЙ !!


[ (RU) ]
paka
Дата: Понедельник, 09.05.2011, 10:17 | Сообщение # 12
Сообщений: 272
Награды: 2  +
Репутация: 4  ±
Замечания:  ±
Статус: Убежал
ААААААААААААААААААААААААААААААААААААА понял а то вот у Пиар мод такая проблема

[ (RU) ]
stalin
Дата: Понедельник, 09.05.2011, 12:02 | Сообщение # 13
Сообщений: 49
Награды: 0  +
Репутация: 2  ±
Замечания:  ±
Статус: Убежал
А это надо скачать обновление, дополнение текстур !!
ИЛИ же просто правильно привязать тексткры к данной локации!!!!

Добавлено (09.05.2011, 12:01)
---------------------------------------------
САМОМУ !!
ДОДЕЛЫВАТЬ ПРИДЁТСЯ !!

Добавлено (09.05.2011, 12:02)
---------------------------------------------
Создание нового артефакта:

Сегодня мы на примере научимся созданию новых артефактов. Создадим, например, артефакт под названием "Ромашка".
Статья написана по материалам Hunter Mod.
Создание конфига
Заходим в папку gamedata\config\misc и открываем файл artefacts.ltx.
И находим, например, артефакт "Медуза":
[af_medusa]:af_base
GroupControlSection = spawn_group
$spawn = "artifacts\moscito medusa"

$prefetch = 64
cform = skeleton
class = ARTEFACT

visual = physics\anomaly\artefact_blackdrip.ogf
description = enc_zone_artifact_af-medusa
inv_name = af-medusa
inv_name_short =
inv_weight = 0.5

inv_grid_x = 9
inv_grid_y = 4

cost = 1000

jump_height = .5

particles = anomaly2\artefact\artefact_gravi

lights_enabled = false

;скорости увеличения (уменьшения)
health_restore_speed = 0.0
radiation_restore_speed = 0.0005
satiety_restore_speed = 0.0
power_restore_speed = 0.0
bleeding_restore_speed = 0.0
hit_absorbation_sect = af_medusa_absorbation

artefact_activation_seq = af_activation_bold

[af_medusa_absorbation]
burn_immunity = 1.0 ;коэффициенты иммунитета
strike_immunity = 1.0
shock_immunity = 1.0
wound_immunity = 1.0
radiation_immunity = 1.0
telepatic_immunity = 1.0
chemical_burn_immunity = 1.0
explosion_immunity = 1.0
fire_wound_immunity = 0.98
В этой секции задаются параметры артефакта, начиная от внешнего вида и заканчивая коэффициентами различных эффектов вроде вывода радиации. Сделаем копию секции, принадлежающей "Медузе", и заменим её название с af_medusa на af_romashka.

Должно выйти примерно вот так:
[af_romashka]:af_base
GroupControlSection = spawn_group
$spawn = "artifacts\moscito romashka"

$prefetch = 64
cform = skeleton
class = ARTEFACT

visual = physics\anomaly\artefact_blackdrip.ogf
description = enc_zone_artifact_af-romashka
inv_name = af-romashka
inv_name_short =
inv_weight = 0.5

inv_grid_x = 9
inv_grid_y = 4

cost = 1000

jump_height = .5

particles = anomaly2\artefact\artefact_gravi

lights_enabled = false

;скорости увеличения (уменьшения)
health_restore_speed = 0.0
radiation_restore_speed = 0.0005
satiety_restore_speed = 0.0
power_restore_speed = 0.0
bleeding_restore_speed = 0.0
hit_absorbation_sect = af_romashka_absorbation

artefact_activation_seq = af_activation_bold

[af_romashka_absorbation]
burn_immunity = 1.0 ;коэффициенты иммунитета
strike_immunity = 1.0
shock_immunity = 1.0
wound_immunity = 1.0
radiation_immunity = 1.0
telepatic_immunity = 1.0
chemical_burn_immunity = 1.0
explosion_immunity = 1.0
fire_wound_immunity = 0.98

Назначение некоторых параметров, влияющих на одевшего артефакт:
• health_restore_speed - прирост к скорости восстановления здоровья
• radiation_restore_speed - прирост скорость вывода радиации
• satiety_restore_speed - прирост к голоду
• power_restore_speed - прирост к выносливости
• bleeding_restore_speed - прирост к скорости остановки кровотечений

Добавлено (09.05.2011, 12:02)
---------------------------------------------
Создание описания и имени артефакта
Заходим в gamedata\config\text\rus и открываем файл string_table_enc_zone.xml. Добавим туда строку с названием артефакта.
<string id="af-romashka">
<text>"Ромашка"</text>
</string>
Теперь у артефакта есть имя, но одного его недостаточно. Нужно сделать описание.
Поэтому добавим и его.
<string id="enc_zone_artifact_af-romaska">
<text>Очень странный артефакт. Впервые появился в Зоне где-то в 2011 году, но толку от него - ноль. Ученые
не обнаружили никакого влияния артефакта на организм носителя.</text>
</string>
Все, поздравляю, вы только что создали свой первый артефакт! smile


[ (RU) ]
paka
Дата: Понедельник, 09.05.2011, 14:57 | Сообщение # 14
Сообщений: 272
Награды: 2  +
Репутация: 4  ±
Замечания:  ±
Статус: Убежал
МММ тогда всё понятно

[ (RU) ]
stalin
Дата: Понедельник, 09.05.2011, 20:41 | Сообщение # 15
Сообщений: 49
Награды: 0  +
Репутация: 2  ±
Замечания:  ±
Статус: Убежал
Редактирование торговцев
Общее
Урок посвящен редактированию ассортимента торговцев в игре. Эта, в общем-то несложная процедура у многих вызывает вопросы, поэтому я и решил разъяснить, что да как.
Файлы
Ассортимент товаров у торговцев хранится в файлах вида trade_[...].ltx, где ... - системное имя торговца. Это файлы:
• trade_barman.ltx - Бармен
• trade_dolg.ltx - сержант Петренко на базе группировки "Долг"
• trade_ecolog.ltx - Сахаров
• trade_freedom.ltx - Скряга на базе группировки "Свобода"
• trade_trader.ltx - Сидорович
• trade_generic.ltx - обычный сталкер
Все они хранятся в папке:
...\S.T.A.L.K.E.R\gamedata\config\misc\...
Структура файла
Разберем структуру файла trade_barman.ltx:
[trader]
buy_condition = barman_generic_buy
sell_condition = {+yan_labx16_switcher_primary_off} barman_after_brain_sell, {+bar_darklab_document_done} barman_after_darkvalley_sell, barman_start_sell
buy_supplies = { yan_labx16_switcher_primary_off} supplies_after_brain, { bar_darklab_document_done}
supplies_after_darkvalley, supplies_start
Здесь содержатся условия, от которых зависит диапазон продаваемых/покупаемых торговцем предметов. То есть, например, после выполнения квеста на "Янтаре" соответствующее условие считается выполненным, и ассортимент сменяется на новый, из другого раздела.
________________________________________
После этого идет раздел [barman_generic_buy], содержащий предметы, которые бармен покупает.
Структура записи в этом разделе:
wpn_walther = 0.3, 0.1
• wpn_walther - имя предмета, в данном случае - пистолет "Вальтер"
• 0.3 - максимальная цена, по которой торговец купит предмет
• 0.1 - минимальная цена, по которой торговец купит предмет
Цена зависит от репутации игрока.
________________________________________
Далее идет раздел [supplies_start] - ассортимент, предоставляемый барменом в начале игры. Он поделен на категории:
[supplies_start]

;'''Аммуниция'''
ammo_9x18_fmj = 15, 0.6
...

;'''Оружие'''
wpn_pb = 3, 0.6
...

;'''Броники'''
stalker_outfit = 3, 0.7
...

;'''Медикаменты'''
bandage = 5, 0.6
...

;'''Еда'''
bread = 10, 0.5
...
На самом деле можете добавлять новый предмет, куда захотите, все эти "категории" существуют исключительно в целях удобства. Игра их не учитывает.
Теперь о структуре одной записи:
wpn_walther = 3, 0.6
• wpn_walther - имя предмета, в данном случае - пистолет "Вальтер"
• 3 - количество предметов этого типа у торговца
• 0.6 - вероятность появления каждого из них
То есть если значения равны 4, 0.5, то это означает, что у торговца в ассортименте появятся два предмета этого типа.
________________________________________
Далее идет раздел [barman_start_sell]. Рассмотрим структуру записи в нем:
wpn_walther = 2, 4
• wpn_walther - имя предмета, в данном случае - пистолет "Вальтер"
• Цена высчитываетя по формулае (2+4)/2 * базовую цену предмета*(МР).
• Модифиакор Реакции(МР) - Цена зависит от репутации игрока. (по умолчанию = 1)
Расширяем ассортимент
Чтобы добавить в начальный ассортимент, например, винтовку FN2000, проделаем следующее:
1. Добавим её в раздел [supplies_start]:
;Оружие
...
wpn_fn2000 = 2, 0.5
2. Добавим её в раздел [barman_start_sell]:
;Оружие
...
wpn_fn2000 1, 3
Ну а чтобы оно не пропадало после выполнения важных заданий, запишите её и в ассортименты для выполненных условий.

Добавлено (09.05.2011, 20:41)
---------------------------------------------
В принцепе всё понятно !!! cool


[ (RU) ]
paka
Дата: Понедельник, 09.05.2011, 20:46 | Сообщение # 16
Сообщений: 272
Награды: 2  +
Репутация: 4  ±
Замечания:  ±
Статус: Убежал
Да понятно

[ (RU) ]
stalin
Дата: Четверг, 12.05.2011, 19:31 | Сообщение # 17
Сообщений: 49
Награды: 0  +
Репутация: 2  ±
Замечания:  ±
Статус: Убежал
Создание "перемещающихся" аномалий

Небольшое вступление
"Перемещающиеся" аномалии с самого момента релиза очень заинтересовали коммьюнити. Выдвигалось множество предположений о принципе их работы. На самом деле, всё сделано достаточно незамысловато. В свойствах аномалий прописываются параметры, в которых указывается в какой промежуток времени они будут активны. Таким образом создаются целые цепочки из аномалий, параметры которых взаимосвязаны. В оригинале всего две таких цепочки: в туннеле на Кордоне и в подземелье Агропрома.
Описание параметров
Всего используются три параметра:
enabled_time - через какое время после начала отсчёта аномалия включится.
disabled_time - через какое время после начала отсчёта аномалия отключится.
start_time_shift - на сколько сдвинется момент начала отсчёта времени. (Использовать необязательно)
После отключения аномалии процесс повторяется. Следующее включение произойдёт через промежуток времени прописанный в disable_time.
В Level Editor'е эти параметры находятся в свойствах аномалии. При использовании ACDC параметры прописываются "в теле" нужной аномалии. Значения указываются в секундах.
Небольшая наглядность
Создадим "перемещающуюся" аномалию, которая будет менять своё местоположение каждые четыре секунды. Для этого создадим несколько аномалий (для примера взято 3 штуки).
Для первой аномалии пропишем:
enabled_time = 4
disabled_time = 8
start_time_shift = 8
Для второй:
enabled_time = 4
disabled_time = 8
start_time_shift = 4
Для третьей:
enabled_time = 4
disabled_time = 8
Таким образом, первой будет активироваться третья аномалия, работать четыре секунды и деактивироваться. Сразу после неё будет активироваться вторая аномалия, работать 4 секунды, ну и так далее... Вот так и создаётся ощущение того, что аномалия перемещается. Конечно, это только один из примеров использования этих параметров. Обладая должным желанием и терпением, можно делать целые аномальные поля, где каждая аномалия будет вести себя независимо от других, но вместе они будут образовывать смертельно опасное место.


[ (RU) ]
paka
Дата: Четверг, 12.05.2011, 19:38 | Сообщение # 18
Сообщений: 272
Награды: 2  +
Репутация: 4  ±
Замечания:  ±
Статус: Убежал
Да класс

[ (RU) ]
stalin
Дата: Четверг, 12.05.2011, 19:39 | Сообщение # 19
Сообщений: 49
Награды: 0  +
Репутация: 2  ±
Замечания:  ±
Статус: Убежал
Создание диалогов
Создание новых веток диалогов
Теория
1) Списки веток диалогов содержатся в файлах вида gamedata/config/gameplay/character_desc_*.xml
Это, например:
character_desc_zombied.xml character_desc_stalker.xml character_desc_garbage.xml ...
Файлы character_desc_*.xml можно сравнить со стволом дерева диалогов. В них перечисляется названия прикрепляемых веток диалогов
Например вот список веток диалога с Сидоровичем взятый из файла character_desc_escape.xml
<start_dialog>escape_trader_start_dialog</start_dialog>
<actor_dialog>escape_trader_talk_info</actor_dialog>
<actor_dialog>escape_trader_jobs</actor_dialog>
<actor_dialog>tm_trader_dialog</actor_dialog>
<actor_dialog>tm_trader_reward</actor_dialog>
<actor_dialog>escape_trader_done_blockpost_box</actor_dialog>
В свою очередь каждая ветка диалога также может ветвится.
2) Ветвление диалогов прописывается уже в других файлах.
Например, ветвление диалога с Сидоровичем содержится в файле gamedata/config/gameplay/dialogs_escape.xml Возьмем оттуда, например, ветвление escape_trader_jobs.
Ветвление имеет довольно большие масштабы, поэтому приведу только часть:
<dialog id="escape_trader_talk_info">
<precondition>escape_dialog.trader_has_talk_info_wr</precondition>
<has_info>tutorial_end</has_info>
<phrase_list>
<phrase id="1">
<text>escape_trader_talk_info_1</text>
<next>100</next>
<next>99</next>
<next>9995</next>
</phrase>
...
<phrase id="0">
<text>escape_trader_talk_info_0</text>
<next>1</next>
</phrase>
</phrase_list>
</dialog>
Здесь <precondition>…</precondition> - это проверка выполнения условия. Ветка появится в диалоге, только если условие выполняется. Конкретно <precondition>escape_dialog.trader_has_talk_info_wr</precondition> из ветки escape_trader_talk_info - это обращение к функции trader_has_talk_info_wr, находящейся в файле скрипте gamedata/scripts/escape_dialog.script
Функция выглядит так:
function trader_has_talk_info_wr( trader, actor )
return true
end
То есть, судя по его структуре, <precondition>escape_dialog.trader_has_talk_info_wr</precondition> выполняется всегда, т.к. функция всегда возвращает истину и <dialog id="escape_trader_talk_info"> пропускается в списк реплик.
Но для конкретной ветки может быть несколько precondition и других условий.
Далее, <has_info>tutorial_end</has_info> - это еще одна проверка, на этот раз на наличие у игрока так называемых infoportions, выдаваемы в процессе ключевых диалогов. В данном случае это проверка на то, закончена ли определенная стадия туториала, или нет. Т.е. ветка допустится в список реплик если стадия туториала закончена.
Более детально мы это разберем в конце статьи.
А далее идут конкретные фразы, содержащие ссылки на вытекающие фразы, например:
<phrase id="0">
<text>escape_trader_talk_info_0</text>
<next>1</next>
</phrase>
Это основа ветки escape_trader_talk_info.
Важно! В любой основной ветке любого диалога фраза <phrase id="0"> будет основой, из которой далее будет все вытекать. Она должна обязательно присутствовать и в вашем диалоге.
<next>1</next> - это ссылка на вытекающую фразу <phrase id="1">:
<phrase id="1">
<text>escape_trader_talk_info_1</text>
<next>100</next>
<next>99</next>
<next>9995</next>
</phrase>
В свою очередь <next>100</next>, <next>99</next>, <next>9995</next> это ссылки на фразы веточки растущие из фразы <phrase id="1">.
3) Текст каждой фразы содержится в третьем файле. Для диалога с Сидоровичем тексты лежат в файле gamedata/config/text/rus/stable_dialogs_escape.xml
<string id="escape_trader_talk_info_0">
<text>Есть несколько вопросов.</text>
</string>
<string id="escape_trader_talk_info_1">
<text>Спрашивай, только я ведь всего не знаю. Сам понимаешь, сижу тут
целыми днями, а жизнь - она вся там, снаружи, в Зоне. Могу рассказать о Зоне вообще, а немного
могу о ближайших окрестностях, где сам ходил.</text>
</string>
...
Эти строки содержат тексты для фраз <phrase id="0"> и <phrase id="1">


[ (RU) ]
Ангел
Дата: Вторник, 17.05.2011, 17:28 | Сообщение # 20
Сообщений: 23
Награды: 1  +
Репутация: 2  ±
Замечания:  ±
Статус: Убежал
Норм.

[ (RU) ]
Форум » Навигатор » Модострой » Тут все
  • Страница 2 из 3
  • «
  • 1
  • 2
  • 3
  • »
Поиск:
Дизайнер сайта Ангел