версия для печати   : F2 BIS Editor RUS Help :  

Описание Скриптовых Обработчиков

[Прим. пер: В круглых скобках приводится реальное название процедуры-обработчика в исходниках BIS]

Description: (description_p_proc)
[Описание] Игрок пытается изучить объект, к которому привязан данный скрипт. Реакция на это действие по умолчанию – вывод описания объекта, заданного в его прототипе [PRO-файл]. Описание выводится в окошко интерфейса, расположенное в нижнем левом углу экрана.

Combat: (combat_p_proc)
[Бой] Идет бой и произошло одно из боевых действий. Эти действия позволяют скрипту реагировать на бой (хотя основная часть боевой системы, выбор атаки и т. п. происходят внутри игрового движка). Определить, какое из событий боя произошло можно используя оператор fixed_param (См. таблицу скриптовых команд), сравнивая возвращаемое им значение с одним ис следующих:

  • HIT_SUCCEEDED – Объект, к которому привязан данный скрипт, произвел успешное попадание по врагу. Это может быть использовано для нанесения дополнительного урона (например, от радиации) или для подсчета количества успешных атак. [Прим. пер: обрабатывая именно это действие, флоатеры и кентавры при попадании отравляют игрока]

  • SEQUENCING – Проверяется боевая последовательность (чтобы проверить, хотят ли криттеры войти в бой/выйти из боя)

  • TURN – Действие «начало хода». Сейчас должен начаться боевой ход. Вы можете переопределить стандартное поведение при начале хода, например чтобы не дать криттеру отреагировать на бой (или заставить его сделать что-то особенное)

  • NONCOM_TURN – (НЕ ИСПОЛЬЗУЕТСЯ) [Прим. пер: Ошибка в документации. Данное действие используется в скриптах монстров, вызываемых супер-мутантом "волшебником" на 4 уровне Военной Базы. Видимо, оно означает "подошел ход, но я не могу воевать (не могу добраться до противника либо не участвую в бою)"].

Create:
[Создание] (НЕ ИСПОЛЬЗУЕТСЯ)

Critter: (critter_p_proc)
[Криттер] Происходит «биение сердца» криттера. Каждый скрипт довольно часто вызывается (порядка нескольких раз в секунду), так что он может отреагировать на изменение обстановки, изменение флаговых переменных и т.д. В этом вызове располагается код для самостоятельного перемещения криттера, т.е то, что его «оживляет» и т. п. [Прим. пер: например, ковыляния бродяг по случайным траекториям проистекают как раз из выполнения этого самого «биения сердца»].

Damage: (damage_p_proc)
[Повреждение] Произошло какое-то событие, нанесшее урон объекту, к которому привязан данный скрипт. Это почти всегда означает, что криттера ударили во время боя. В этом обработчике могут выставлятся флаги враждебности (в дальнейшем влияющие на квесты и диалоги), или криттер может полечить себя, чтобы не умереть на месте (это не очень правильно, но может быть использовано в некоторых случаях, чтобы гарантировать, что объект что-либо скажет, что-либо сделает и т. п. перед смертью.)

Destroy: (destroy_p_proc)
[Уничтожение] Этот скрипт уничтожается и вот-вот будет удален вместе со всеми связанными с ним событиями (например, таймерными событиями). Скорее всего это означает, что либо криттер был только что убит в бою, либо инвентарный предмет был только что использован. Обработчик может быть полезен для выдачи игроку очков опыта за убийства им существ или выполнение квеста, увеличения счетчиков (например, списка жертв на экране статистики, там, где «УБИТО >> Мужчины: 5897») или местных счетчиков оставшихся в живых (сколько радскорипионов осталось куковать в пещере, или сколько членов банды еще нужно шлепнуть в городке).

Drop: (is_dropping_p_proc)
[Выбрасывание] Элемент, содержащийся в «рюкзаке» [инвентаре] криттера, выбрасывается на землю. [Прим. пер: по утверждению разработчиков, данный обработчик не используется. На самом деле он используется в скрипте игрока (obj_dude.int), и, как выяснено опытным путем, прекрасно работает в скрипте любого криттера.]

Look At: (look_at_p_proc)
[Взгляд на] Игрок пытается посмотреть на объект, с которым связан скрипт [указать на него курсором]. Поведение по умолчанию – вывод на экранчик внизу короткого описания, другими словами, имени прототипа объекта.

Map Enter: (map_enter_p_proc)
[Вход на карту] При входе игрока на карту выполняются все скрипты, у которых есть обработчики map_enter_p_proc (и чьи объекты находятся на этой карте). В этом обработчике можно вписать команды, задающие начальные значения переменных карты, выполняющие какое-то обновление и т.п.

Map Exit: (map_exit_p_proc)
[Выход с карты] Активируется при попытке выхода с карты. Это происходит, когда игрок пытается выйти в другой район города или на Карту Мира.

Map Update: (map_update_p_proc)
[Обновление Карты] Карта получает «биение сердца» [т. е. запускается ее скрипт], чтобы произвести обновление карты. В этом обработчике могут меняться уровни фонового освещения, например, когда наступает ночь или игрок заходит в подземные области. [Прим. пер: этот обработчик запускается каждые 250 игровых тиков, т. е примерно каждые 30 секунд.]

None:
[Ничего] Ничего не происходит. Этот обработчик никогда не вызывается, это так – на всякий случай.

Pickup: (pickup_p_proc)
[Взять] Эта процедура трактуется по разному, в зависимости от того, в чьем скрипте выполняется:

  • В скрипте предмета – криттер пытается подобрать предмет. Для контейнеров однако, этот обработчик вызывается в случае, если криттер пытается *открыть* его / ограбить его [прим. пер: непонятно, что имеется в виду под «ограбить»]

  • В скрипте криттера – некий криттер пытается украсть у криттера, в чьем скрипте находиться этот обработчик.

Spatial: (spatial_p_proc)
[Пространственный] В зону действия пространственного триггера скрипта только что переместился некий объект. Скрипт может проверить является ли объект неким определенным типом (криттер, игрок и т. п.).

Start: (start)
[Запуск] Обработчик, запускающийся при самом первом запуске этого скрипта.

Talk: (talk_p_proc)
[Разговор] Обработчик диалога. Криттер начинает диалог, обработчик вызывается независимо от того, заговорил ли с криттером игрок, либо это запросил скрипт криттера. В этом обработчике программируется диалоговая система и располагаются реальные вызовы ее функций.


Timed Event: (timed_event_p_proc)
[Событие по таймеру] Для этого скрипта сработал ранее установленный таймер. Обычно таймерное событие устанавливается самим этим скриптом. Это позволяет скрипту сделать задержку перед выполнением чего-либо, или гарантировать свой запуск через определенный промежуток времени.

Use: (use_p_proc)
[Использовать] Кто-то (чаще всего криттер), пытается использовать этот объект. Команда source_obj возвращает источник действия. Почти всегда вызов этого обработчика означает, что криттер (скорее всего, игрок) пытается использовать этот объект. В этом случае использование source_obj позволяет различить источник, и отреагировать иначе. Например, так устроен скрипт двери убежища [Vault]: дверь открывается, если обработчик вызывается из скрипта стоящего рядом компьютера, но не открывается, если ее напрямую пытается использовать игрок.

Use Object On: (use_obj_on_p_proc)
[Обработчик использования на объекте другого объекта] Криттер пытается использовать предмет из инвентаря на объект, с которым связан данный скрипт. Это могут быть отмычки используемые на двери, аптечка, используемая на криттере, игуана-на-палочке используемая на собаке.

Use Skill On: (use_skill_on_p_proc)
[Обработчик использования умения на объект] Криттер пытается использовать какое-то умение на объект, к которому привязан данный скрипт. Поведение объекта по умолчанию зависит от применяемого умения.


>> окончание оригинального документа <<

составители оригинального документа: Scott Everts и Chris Avellone
перевод основного текста, комментарии, дополнения и создание CHM & HTML версий – SGHi, 2003 год
перевод таблиц скриптовых команд и скриптовых обработчиков – TryKos, 2003 год
коррекция основного текста – TryKos, 2003 год

  Перейти на первую страницу сайта Перейти в верхнюю часть этой страницы.  
 
 
 
генерация страницы заняла 0.009046 сек.