Главная » Статьи » Уроки модинга

Что такое инфопоршень, и «с чем его едят»?
Начнем по порядку:
Инфопоршень это, можно сказать, устанавливаемый в игре определенный «флажек» со своим индивидуальным именем.
Сам по себе этот флажек ничего не делает, однако в зависимости от того есть он или нет, можно
произвести огромное количество игровых действий. Инфопоршень может быть «выдан» или «невыдан»…
Также можно удалить «выданный» инфопоршень. Можно один и тот же инфопоршень «выдавать» и
«удалять» не один, а несколько раз.(Способы рассмотрим чуть ниже)
Далее. Все инфопоршни в игре регистрируются по пути 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
здесь, если ГГ отойдет от НПС с этой логикой на 30 метров,
то будет выданинфопоршень «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» (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

Это пока все, что смог вспомнить, информация наверняка не полная, поэтому просьба править, дополнять...
ЗЫ... Пост на форуме.
Категория: Уроки модинга | Добавил: Frankenshtayn (29.11.2013)
Просмотров: 11222 | Комментарии: 4 | Рейтинг: 0.0/0
Всего комментариев: 4
Добавлен: 12.12.2015
Приветствую, уважаемый Frankenshtayn! Спасибо за полезную информацию. Возник вопрос, нельзя ли где-нибудь взять расшифровку по русски всех инфопоршней для мода ОП-2? Если не трудно, подскажите, пожалуйста.
Ответ Цитата

Добавлен: 14.04.2016
SHA512 smile Таких расшифровок нет. В каждой игре инфопоршни носят индивидуальную значимость и название. Конечно, есть и схожие - те, которые не менялись с оригинала.
Посмотрите темы форума "Мастерская" разных модов. Может и поймёте.

В Мастерской ОП-2 полно примеров и названий инфопоршней (второй пост). И спрашивать не запрещено.
hat
Ответ Цитата

Добавлен: 11.07.2014
Приветствую, уважаемый Frankenshtayn! Спасибо за полезную информацию. Возник вопрос, нельзя ли где-нибудь взять расшифровку по русски всех инфопоршней для мода ОП-2? Если не трудно, подскажите, пожалуйста.
Ответ Цитата

Добавлен: 22.10.2015
Это или в личку смс закинуть или на форум писать полагаю
В статье есть ошибки Осторожно!
Ответ Цитата

Имя / Логин
Email
 

Аккаунт

Здравствуйте: Гость

Категории раздела

Оптимизация системы [2]
Ваши персональные игровые настройки
Не много юмора [5]
Анекдоты
Уроки модинга [5]
Кратко о модинге
История Зоны [1]

Наш опрос

Что вам больше нравится?
1. Сюжет
2. Перестрелки
3. Сложность прохождения
4. Поиск чего - либо

Популярные статьи

Последние файлы

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

Последний зарегистрированный новичок

Среда 08.05.2024

Полное имя:
Валерий Сутягинский
НИК: sutyaginskiy
Группа: Одиночки


Онлайн всего: 1
Гостей: 1
Пользователей: 0

ТОП пользователей

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

Последнее форума

1 farxadmamedov38
2 horosho-igra
3 magamed6632
4 greendayone82
5 timosha0829

Это интересно

Рейтинг обменников. Самые выгодные обменники электронной валюты.