Главная » Статьи » Уроки модинга |
Начнем по порядку: Инфопоршень это, можно сказать, устанавливаемый в игре определенный «флажек» со своим индивидуальным именем. Сам по себе этот флажек ничего не делает, однако в зависимости от того есть он или нет, можно произвести огромное количество игровых действий. Инфопоршень может быть «выдан» или «невыдан»… Также можно удалить «выданный» инфопоршень. Можно один и тот же инфопоршень «выдавать» и «удалять» не один, а несколько раз.(Способы рассмотрим чуть ниже) Далее. Все инфопоршни в игре регистрируются по пути gamedata\config\gameplay\info_локация.xml хотя эточисто условно, и разделено на локации, чтобы не создавать один огромаднейший файл с огромной кучей этих инфопоршней. В принципе, например, чтобы не путаться со своими инфопоршнями, можно создать свой файл, например my_info_new.xml иразместить его по указанному выше пути, и не забыв зарегистрировать его в файле system.ltx (gamedata\config) по аналогии с имеющимися. Сама структура файла такова: Код <?xml version='1.0'encoding="windows-1251"?> <game_information_portions> Ваш_инфопоршень Ваш_инфопоршень ***************** Ваш_инфопоршень </game_information_portions> Сам инфопоршень заключается в теги. А сейчас давайте рассмотрим простейшие примеры использования инфопоршней: Простой инфопоршень-флаг: Код <info_portionid="имя_инфопоршня"> </info_portion> (хотя все мододелы придерживаются правила – давать понятные имена, например: esc_dok_start можно например «прочитать» как «спавн доктора на кордоне»… все это чтобы не запутаться самому в них)) Что же можно сделать с этим инфопоршнем? Ну например, использовать в логике: Код [logic]active =walker1 [walker1]path_walk =walker_walk_1 path_look =walker_look_1 on_info = {+infoportion_1} walker2 [walker2] path_walk =walker_walk_2 path_look = walker_look_2 Здесь видно, что НПС в первой схеме «гуляет» по пути walker_walk_1 а при получении («выдаче»)инфопоршня infoportion_1 переходит в другую схему, и начинает «гулять» по пути walker_walk_2 Второй пример: Есть у нас например в аллспавне НПС Код [135] ;cse_abstract properties section_name= stalker_trader name =pri_torgovec position =103.160003662109,4.09999990463257,153.669998168945 direction =0,-0.000645029998850077,0.0445535257458687 ;cse_alife_trader_abstract properties money =5000 character_profile= pri_torgovec ;cse_alife_object properties game_vertex_id= 2185 distance =3.5 level_vertex_id= 213977 object_flags= 0xffffffbf custom_data= <<END [spawner]cond = {+ «имя_инфопоршня» } [logic]cfg =scripts\torgovec_logic.ltx ; cse [smart_terrains] none = true END story_id =102 ;cse_visual properties visual_name= actors\barman\barman ;cse_alife_creature_abstract properties g_team = 0 g_squad = 1 g_group = 5 health = 2 dynamic_out_restrictions= dynamic_in_restrictions= upd:health= 2 upd:timestamp= 0x6d6d695 fupd:creature_flags= 0x75 upd:position= 103.160003662109,4.09999990463257,153.669998168945 upd:o_model= 0upd:o_torso= -0.000645029998850077,0.0445535257458687,0 upd:g_team= 0 upd:g_squad= 1 upd:g_group= 5 ;cse_alife_monster_abstract properties upd:next_game_vertex_id= 65535 upd:prev_game_vertex_id= 65535 upd:distance_from_point= 0 upd:distance_to_point= 0 ;cse_alife_human_abstract properties predicate5= 1,0,0,2,0 predicate4= 2,2,1,2 ;cse_ph_skeleton properties upd:start_dialog= ; se_stalker properties Но с другой стороны, при такой логике, его как бы и «нет»: Код [spawner]cond= {+ «имя_инфопоршня» } тогда этот НПС перейдет в онлайн, и «предстанет пред очами» ГГ. И еще можно осуществить массу проверок на наличие этого инфопоршня, в тех же функциях: Например: Код function my_funkc() if has_alife_info("имя_инфопоршня") then ********Выполняем любое нужное нам действие****** end Вызов функции при выдаче инфопоршня: Код <info_portionid="имя_инфопоршня"> <action>имя_скрипта.имя_функции</action> </info_portion> Выдача задания: Код <info_portion id="имя_инфопоршня"> <task>имя_задания</task> </info_portion> Здесь при получении ГГ инфопоршня, активируется квест сименем «имя_задания» лежащее в tasks_локация.xml (gamedata\config\gameplay) В общем примеров множество, но пойдем дальше. Выдача инфопоршней: Из логики НПС Код [remark@story] anim = mode_shlem no_move = true target = actor meet = meet@story danger = danger_condition on_actor_dist_ge = 30| %+passage_to_story_end% on_info = {+passage_to_story_end} remark@story_end то будет выданинфопоршень «passage_to_story_end» Из диалога Код <phraseid="8"> <text>bar_discount_dialog_8</text> <action>dialogs.break_dialog</action> </phrase> <phraseid="9"> <text>bar_discount_dialog_9</text> <give_info>actor_allready_trades</give_info> </phrase> </phrase_list> </dialog> Здесь в диалоге с НПС будет выдан инфопоршень «actor_allready_trades» ( Из функции Код function имя_функции() db.actor:give_info_portion("имя_инфопоршня") end Из выданного инфопоршня Код <info_portion id="имя_инфопоршня"> <give_info>имя_инфопоршня_1</give_info> </info_portion> Удаление инфопоршней: Из логики Код [remark@story] anim = mode_shlem no_move = true target = acto rmeet = meet@story danger = danger_condition on_actor_dist_ge = 30| %-passage_to_story_end% on_info = {+passage_to_story_end} remark@story_end ( выдача инфопоршня в логике %+инфо% ; удаление %-инфо%) Из диалога Код <phraseid="8"> <text>bar_discount_dialog_8</text> <action>dialogs.break_dialog</action> </phrase> <phraseid="9"> <text>bar_discount_dialog_9</text> <disable_info>mechanic_no_toolkit</disable_info> --удаляем-- </phrase> </phrase_list> </dialog> Из функции Код function имя_функции() db.actor: disable_info_portion("имя_инфопоршня") end Это пока все, что смог вспомнить, информация наверняка не полная, поэтому просьба править, дополнять... ЗЫ... Пост на форуме. | |
Просмотров: 11222 | Комментарии: 4 | Рейтинг: 0.0/0 |
Всего комментариев: 4 | |
Добавлен: 12.12.2015
Приветствую, уважаемый Frankenshtayn! Спасибо за полезную информацию. Возник вопрос, нельзя ли где-нибудь взять расшифровку по русски всех инфопоршней для мода ОП-2? Если не трудно, подскажите, пожалуйста.
Ответ Цитата
Добавлен: 14.04.2016
SHA512 Таких расшифровок нет. В каждой игре инфопоршни носят индивидуальную значимость и название. Конечно, есть и схожие - те, которые не менялись с оригинала.
Посмотрите темы форума "Мастерская" разных модов. Может и поймёте. В Мастерской ОП-2 полно примеров и названий инфопоршней (второй пост). И спрашивать не запрещено.
| |
Оптимизация системы
[2]
Ваши персональные игровые настройки
|
Не много юмора
[5]
Анекдоты
|
Уроки модинга
[5]
Кратко о модинге
|
История Зоны [1] |
1 | S.T.A.L.K.E.R. - Call ... 31.10.2018 Скачан: 8 Просмотров: 1912 |
2 | Адаптация КЭ и ОС для ... 14.04.2017 Скачан: 93 Просмотров: 3350 |
3 | Кровавый эндшпиль для ... 09.08.2016 Скачан: 56 Просмотров: 3724 |
4 | S.T.A.L.K.E.R. - Тень ... 24.04.2016 Скачан: 85 Просмотров: 3623 |
5 | Камера-телепорт 16.04.2016 Скачан: 197 Просмотров: 6084 |
Пришедшие в Зону |
Всего: | 9098 |
Новичков за месяц: | 9 |
Новичков за неделю: | 1 |
Новичков вчера: | 0 |
Новичков сегодня: | 0 |
Администраторов: | 1 |
Тех.админов: | 1 |
Одиночек: | 9038 |
Бандитов: | 13 |
Медиков: | 0 |
Долг: | 8 |
Свобода: | 7 |
Наёмников: | 9 |
Чистое Небо: | 2 |
Монолит: | 11 |
Учёные: | 1 |
Военных: | 7 |
Техники: | 0 |
Пропавших в Зоне: | 027 |
Парней: | 7336 |
Девушек: | 1762 |
1 | KADAR Файлов: 2 Репутация: 173 Постов: 468 |
2 | alen-fantom Файлов: 2 Репутация: 85 Постов: 159 |
3 | Rinat Файлов: 0 Репутация: 21 Постов: 152 |
4 | Пантера_del Файлов: 2 Репутация: 54 Постов: 109 |
5 | Эсминец Файлов: 87 Репутация: 150 Постов: 100 |
6 | ЧёрныйСталкер Файлов: 2 Репутация: 28 Постов: 77 |
7 | Stalker Файлов: 0 Репутация: 10 Постов: 47 |
8 | Dr_Feelgood Файлов: 0 Репутация: 2 Постов: 47 |
9 | magamed Файлов: 0 Репутация: 25 Постов: 44 |
10 | sliplel Файлов: 0 Репутация: 12 Постов: 39 |