версия для печати   : F2 BIS Editor RUS Help :  
HTML код этой страницы был подвергнут жесткой очистке, в результате её размер изменился с 218 до 98 Kb. Маловероятно (я пробежался по тексту – вроде бы все нормально), но возможно при этом пропали некоторые буквы или слова. Так вот – файл с оригинальным HTML кодом находится здесь.

Скриптовые Команды Редактора

Ниже приведен список существующих скриптовых команд, который может оказаться полезен для фэн-программистов и скриптовиков, пытающихся разобраться, что к чему. Я не знаю, что означают строки, залитые серым, но это может оказаться важным при ковырянии внутри этих команд. Может быть, серая заливка означает, что эти команды работают неверно. Или совсем не работают. Или их урезали. Исследуйте и выясните все сами, или дождитесь, пока в них разберутся Red! и эти чокнутые русские из Team X.

[Прим. пер: большинство команд используют некоторые предопределенные значения, описанные в файле «define.h», который находится в папке «…\Black Isle\Fallout 2 Mapper\scripts\headers\» установочной директории редактора карт. За всеми неописанными значениями параметров обращайтесь к этому файлу.]



action_being_used
int Script

Возвращает номер умения, используемого на объекте, в скрипте которого вызывается команда.

add_obj_to_inven
void Inven
who (ObjectPtr)
item (ObjectPtr)

Добавляет объект (item) в инвентарь другого объекта, заданного переменной (who's). Второй параметр должен быть всегда указателем наПредмет [Item].

add_mult_objs_to_inven
void Inven
who (ObjectPtr)
item (ObjectPtr)
count (int)

Добавляет некоторое число (count) единиц объекта (item) в инвентарь объекта (who's). Второй параметр должен быть всегда указателем на Предмет [Item].

add_timer_event
void Meta(Time)
obj (ObjectPtr)
time (int)
info (int)

Добавляет в список событий по таймеру событие, запускающее обработчик timed_event_p_proc в скрипте объекта (obj) через заданный промежуток времени (выполнение происходит 1 раз). Переменная Info используется для того, чтобы внутри скрипта можно было отличить вызовы от разных событий, и скрипт можно было «подвешивать» на таймер неоднократно. Значение переменной Info скрипт может извлечь, используя оператор fixed_param. Параметр времени измеряется в «тиках» (можно использовать процедуру game_ticks(seconds_num) чтобы преобразовать секунды в тики).

anim
void Anim
who (ObjectPtr)
anim (int)
direction (int)

Воспроизводит одиночную анимацию (anim) для объекта (who) повернутую в заданном направлении (direction). (По данным Team X: эта команда прерываемая, любая другая анимация прервет ее)

anim_action_frame
int Anim
who (ObjectPtr)
frame (int)

Возвращает анимацию действия из заданной анимации объекта (who). Можно использовать как задержку в последовательности регистрации анимации. [Прим. пер: Не совсем понятно, что должна делать эта функция, но по данным Team X в скриптах Fallout 2 эта функция не используется.]

anim_busy
int (boolean) Anim
who (ObjectPtr)

Возвращает True, если объект (who) в данный момент анимируется (воспроизводит анимацию), иначе возвращает False. Эту процедуру можно использовать для определения завершил ли объект воспроизведение анимации.

animate_move_obj_to_tile
void Anim
who (ObjectPtr)
tile (int)
speed (int)

Воспроизводит анимацию криттера (who) идущего к заданному тайлу (tile) с заданной скоростью (speed). Параметр скорости (walk/run) (ходьба/бег) может так же содержать флаг (см. define.h), заставляющий объект прервать текущую анимацию (например, если криттер уже куда-то шел) и пойти/побежать к новому месту, заданному переменной (tile).

animate_rotation
void Anim
direction (0-5)

Изменяет ориентацию (направление) объекта, в скрипте которого выполняется, на заданное.

animate_run_to_tile
void Anim
tile (int)

Заставляет объект, в скрипте которого выполняется, БЕЖАТЬ к заданному тайлу (hex).

animate_set_frame
void Anim
newFrame (int)

Заменяет текущий кадр анимации объекта, в скрипте которого выполняется, на кадр с заданным номером (newFrame). Например, так можно сделать из обычных ламп сломанные, или превратить их в аварийные/тревожные. Для 2-х кадровых анимационных последовательностей нужно использовать эту команду, а не команду animate_stand.

animate_stand
void Anim

Воспроизводит анимацию ANIM_stand [Прим. пер. ANIM_stand - анимация с номером 0, первый кадр – изображение стоящего криттера, или обычное состояние объекта. Для дверей ANIM_stand - анимация открывания, для криттеров - почесывание 8)] текущего выбранного объекта (объекта, в скрипте которого выполняется).

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

animate_stand_obj
void Anim
obj (ObjectPtr)

Воспроизводит анимацию ANIM_stand для заданного объекта (obj).

Команду можно использовать для открытия дверей и объектов-контейнеров (например, холодильника), или для воспроизведения «ерзаний» криттеров.

animate_stand_reverse
void Anim

Воспроизводит анимацию ANIM_stand текущего выбранного объекта (т объекта, в скрипте которого выполняется) задом наперед. Команда не используется для криттеров. Применяется, чтобы закрывать двери, открытые контейнеры и т. п.

animate_stand_reverse_obj
void Anim
obj (ObjectPtr)

Воспроизводит ANIM_stand анимацию для заданного объекта (obj) задом наперед. Команда не используется для криттеров. Применяется, чтобы закрывать двери, открытые контейнеры и т. п.

art_anim
void Anim
fid (int)

Возвращает анимацию (ANIM_stand, ANIM_pickup, и т. д. см. файл animcomd.h), заданную данным идентификатором фрейма fid.

attack
void Combat
who (ObjectPtr)

Заставляет текущий выбранный объект (объект, в скрипте которого выполняется ) попытаться напасть на объект, заданный параметром (who). Эта команда – макрос на основе команды attack_complex(), описанной ниже.

attack_complex
void Combat
who (ObjectPtr)
called_shot (int)
num_attacks (int)
bonus (int)
min_damage (int)
max_damage (int)
attacker_results (int)
target_results (int)

Заставляет объект, в скрипте которого выполняется (должен быть криттером), попытаться атаковать криттера, заданного параметром (who) с различными модификаторами, описывающими бой:
called_shot – куда атаковать. Параметры:(0/1/конкретное значение) означают (никуда/в случайную часть тела/в заданную часть тела (голова, туловище, и т. д.))
num_attacks – число дополнительных атак, которое объект выполняет до перехода хода к цели нападения
bonus – надбавка к параметру боевой системы [to hit], действительна только в течение первого хода
min_damage – минимальный урон от первой атаки
max_damage – максимальный урон от
первой атаки
attacker_results – состояние(мертв, без сознания и т. п.) нападавшего по завершению первой атаки
target_results – состояние атакуемого по завершению первой атаки

attack_setup
void Combat
who (ObjectPtr)
victim (ObjectPtr)

Заставляет криттера (who) напасть на криттера (victim), при этом больше от этого скрипта для боя ничего не требуется. Можно использовать для «стравливания» криттеров из скрипта карты.

car_current_town
int Map

Возвращает зону текущего города, в которой находится машина. Номер зоны можно узнать из файла scripts\headers\maps.h

car_give_to_party
int Map

Команда «усаживает» команду героев в машину и открывает карту мира.

car_give_gas
int Map
amount (int)

Заправляет машину заданным количеством (amount) топлива. [Прим. пер: из контекста непонятно, добавляет к текущему значению amount, либо присваивает его напрямую. Скорее первое.]

combat_difficulty
int

Возвращает текущее состояние движка «Сложность боя», заданное в настройках игры.

combat_is_initialized
int

Возвращает True, если игра находится в режиме боя, иначе возвращает False.

create_object
int (?) Object
pid (int)
tile_num (int)
elev (0-2)

Создает объект с номером прототипа (pid), кладет его на тайл с заданным номером (tile_num) на заданном этаже карты (elev). Если в прототипе указано, что к объекту должен быть привязан скрипт, то он привязывается.

create_object_sid
int (?) Object
pid (int)
tile_num (int)
elev (0-2)
sid (int)

Создает объект с номером прототипа (pid), кладет его на тайл с заданным номером tile_num на заданном этаже elev. Если идентификатор скрипта sid не равен -1, это означает, что вместо скрипта, указанного в прототипе, к объекту привязывается скрипт с номером sid.

critter_add_trait
int Critter
who (ObjectPtr)
trait_type (int)
trait (int)
amount (int)

Добавляет заданному криттеру (who) «свойство» [trait] заданного типа (trait_type). Возможными свойствами в системе SPECIAL могут быть:

  • Perks [перки/особенности]
  • Traits[склонности]
  • Информация, специфичная для экземпляра объекта (например, номер команды, в которую входит объект, номер AI-пакета (блока данных, описывающего поведение объекта, см. aipacket.h), и т. д.)

(Прим. пер: Более подробный список значений типов и свойств – см. файл define.h, раздел Trait defines)

critter_attempt_placement
int Map
who (ObjectPtr)
hex (int)
elev (0-2)

Пытается расположить криттера в заданном гексе на заданном этаже. Если это не удается – пытается найти ближайший доступный гекс, максимально близкий к необходимому. Больше НЕ ПРОВЕРЯЕТ, виден ли указанный гекс на экране.

critter_damage
void Critter
who (ObjectPtr)
dmg_amount (int)

Наносит заданное количество урона криттеру (who), убивая его, если необходимо.

critter_heal
void Critter
who (ObjectPtr)
amount (int)

Лечит криттера на заданное количество здоровья. [Прим. пер: непонятно, что будет, если лечить сверх максимума здоровья криттера. По данным Тим Х, лечение у Хакунина организовано через эту команду, причем amount вычисляется как (PlayerMaxHP-PlayerCurrentHP).]

critter_injure
int Critter
who (ObjectPtr)
how (int)

Калечит заданного (who) криттера заданным образом (определяется константами DAM_CRIP_ARM_LEFT, DAM_BLIND, и др. см. define.h)

critter_inven_obj
(ObjectPtr) Critter/Inven
who (ObjectPtr)
where (int)

Возвращает указатель на экипированный объект в инвентаре криттера (NULL ,если ничего нет). Значения места в инвентаре: INVEN_TYPE_WORN (одетая броня), INVEN_TYPE_RIGHT_HAND (объект в правой руке), INVEN_TYPE_LEFT_HAND (объект в левой руке).

critter_is_fleeing
int Critter
who (ObjectPtr)

Возвращает True, если у криттера (who) установлен флаг FLEE (т. е. криттер убегает с поля боя).

critter_mod_skill
int Critter
who (ObjectPtr)
skill (int)
amount (int)

Изменяет заданное умение (скилл) криттера (who) на заданное количество единиц. Внимание: на данный момент это работает только с игроком (obj_dude). (По данным Team X: если изменяемое умение помечено [tagged], параметр amount должен быть четным. Иначе от него отнимается единица.)

critter_rm_trait
int Critter
who (ObjectPtr)
trait_type (int)
trait (int)
amount (int)

Удаляет заданное свойство (trait) заданного типа (trait_type) у заданного криттера (who). (См. critter_add_trait.)

critter_set_flee_state
int Critter
who (ObjectPtr)
flee_on (Boolean)

Устанавливает или снимает флаг криттера FLEE. Флаг управляет поведением криттера в бою – убегает он или нет.

critter_skill_level
int Critter
who (ObjectPtr)
skillNum (int)

Возвращает текущий уровень умения c номером (skillNum) заданного объекта (who).

critter_state
int Critter
who (ObjectPtr)

Возвращает состояние заданного криттера (оно берется из боевых данных), определяющее мертв ли он, без сознания, или лежит на земле (см define.h, раздел critter_state States).

critter_stop_attacking
int Critter
who (ObjectPtr)

Устанавливает криттеру (who) флаг, указывающий, что криттер не хочет продолжать бой.

cur_map_index
int Map

Возвращает индекс текущей карты для сравнения с предопределенными в файле define.h константами.

cur_town
int Map

Возвращает индекс текущего города для сравнения с предопределенными в файле define.h константами.

days_since_visited
int Map

Возвращает количество дней, прошедших со времени последнего посещения игроком этой карты, либо -1, если игрок никогда на ней не был.

debug_msg
void Debug
text (string)

Выводит строку на отладочный монитор. Команда должна быть использована для вывода отладочной информации вместо display_msg()!

destroy_object
int Object
obj (ObjectPtr)

Уничтожает объект (obj), что приводит к срабатыванию обработчика destroy_p_proc в скрипте уничтожаемого объекта, если объект уничтожается *НЕ* из своего собственного скрипта.

destroy_mult_objs
int Object
item (ObjectPtr)
count (int)

Уничтожает заданное количество (count) экземпляров предмета. Функция сама определяет, в чьем инвентаре находятся предметы, если их нет на земле. Если они на земле, то существует всего лишь один экземпляр предмета, который и будет уничтожен.

dialogue_reaction
void Dialog
mood (int)

Воспроизводит анимацию эмоциональной реакции в диалоге. (Значение переменной mood см. в файле define.h)

dialogue_system_enter
void Dialog

Указывает диалоговой системе, что данный объект «хочет поговорить». Команда используется, когда необходимо начать диалог из другого скрипта, не дожидаясь, пока это сделает игрок. Диалоговая система осуществляет обратный вызов обработчика talk_p_proc вызывавшего скрипта.

difficulty_level
int

Возвращает положение движка «Сложность игры», заданное в настройках игры.

display_msg
void
message (string)

Выводит текстовое сообщение на экран PDA в игровом интерфейсе (экранчик в нижнем левом углу экрана).

do_check
int (roll_result) Skill
who (ObjectPtr)
check (int)
modifier (int)

Выполняет «бросок» кубика (случайную проверку) на основные характеристики криттера (сила, восприятие и т. д.). check – номер характеристики. (Согласно документации Team X: генератор случайных чисел. Возвращает 1 или 2. Мат. ожидание равно 1+(Stat/10) (без учета параметра modifier))

drop_obj
void Inven
obj (ObjectPtr)

Заставляет криттера, в скрипте которого выполняется, взять предмет из своего инвентаря и положить на землю «себе под ноги». При этом действие анимируется. [Прим. пер: эксперименты показали, что не анимируется.]

drug_influence
int Critter
who (ObjectPtr)

Возвращает True, если заданный криттер находится в данный момент под воздействием каких-либо наркотиков. Иначе возвращает False.

dude_obj
(ObjectOtr)

Возвращает указатель на объект «чувак» (т.е. на самого игрока).

elevation
int Map
obj (ObjectPtr)

Возвращает этаж карты, считая от 0, на котором находится заданный объект.

end_dialogue
void Dialog

Выход из диалоговой подсистемы.

endgame_movie
void Meta

Проигрывает финальный видеоролик.

endgame_slideshow
void Meta

Проигрывает финальное слайд-шоу. Слайд-шоу будет «проявляться» к собственной палитре, так что будет правильным вызвать gfade_out(1) (затемнение, см ниже.) и эта команда установит вам верную палитру.

explosion
int Anim
where (int)
elevation (0-2)
damage (int)

Устраивает взрыв на тайле с заданным номером (where) на заданном этаже карты, с максимальным уроном в эпицентре damage.

fixed_param
int

Возвращает значение фиксированного параметра скриптов. Может использоваться, например, внутри timed_event_p_proc (см. add_timer_event), для определения параметра Info, или в critter_p_proc (возвращает урон, нанесенный криттеру в последний ход). Внутри combat_p_proc возвращает тип боевого события (начался ход, криттер попал по врагу и т.п.) - см. "описание скриптовых обработчиков". Внутри map_enter_p_proc задает координаты появления игрока на карте.

float_msg
void
who (ObjectPtr)
msg (str)
type (int)

Пытается создать плавающее текстовое сообщение (msg) [Это те сообщения, что «плавают» над головами криттеров], привязанное к объекту (who) с цветом, заданным переменной type. (значения от 0 до 12, см. define.h). Существуют 2 спец-типа, WARNING (предупреждение, -2) и SEQUENTIAL (последовательное, -1). При использовании WARNING экран центруется на говорящего (например, чтобы сообщить о выполнении квеста), а SEQUENTIAL перебирает все цвета в цикле, так, чтобы у разных криттеров были разные цвета реплик.

game_ticks
int Time
seconds (int)

Возвращает количество игровых единиц времени «тиков», равное заданному числу секунд.

game_time
int Time

Возвращает текущее игровое время в тиках.

game_time_advance
void Time
amount (int)

Увеличивает текущее игровое время на (amount) тиков.

game_time_hour
int Time

Возвращает текущее время в обычном формате, только без двоеточия. Например, время начала игры 721, что означает 7:21 am.

game_ui_disable
void Meta

Отключает управление интерфейсом (используется, чтобы отключить игрока (во время скриптовых сцен и т. п.)). Вы должны быть *АБСОЛЮТНО* уверены, что не забыли его включить далее по игре.

game_ui_enable
void Meta

Включает управление игровым интерфейсом. Эту процедуру *НЕОБХОДИМО* вызвать после отключения, иначе игрок будет просто не в состоянии что-либо сделать.

game_ui_is_disabled
int Meta

Возвращает True, если игровой интерфейс в данный момент заблокирован, иначе возвращает False.

gdialog_barter
int Dialog

Переключает диалоговую систему на экран бартера (модификатор бартера при этом сбрасывается в 0).

get_critter_stat
int Critter
who (ObjectPtr)
stat (int)

Возвращает значение заданного атрибута/характеристики обьекта-криттера (who). (0-6 – характеристики SPECIAL, и другие - см. define.h, раздел «proto.h: stats»)

get_day
int Time

Возвращает текущее число (номер дня в месяце).

gdialog_mod_barter
int Dialog
modifier (+/- percent)

Переключает диалоговую систему на экран бартера, используя заданное значение модификатора бартера.

get_month
int Time

Возвращает текущий месяц (номер месяца в году).

get_pc_stat
int Critter
pcStat (int)

Возвращает значение характеристики, которая есть только у игрока (obj_dude). Такие характеристики перечислены в define.h и начинаются с префикса «PCSTAT_».

get_poison
Critter
who (ObjectPtr)

Возвращает значение уровня отравления криттера (who).

gdialog_set_barter_mod
void Dialog
mod (int)

Устанавливает текущий модификатор бартера на заданное значение (mod) (в процентах). Используется для усложнения /облегчения процесса бартера, даже если игрок сам начнет бартер (как противоположность варианту, когда бартер начинает скрипт).

gfade_in
void Meta
time (int)

Затемняет палитру до черного (экран «гаснет»). Параметр Time на данный момент не используется.

gfade_out
void Meta
time (int)

Восстанавливает палитру от черного до игровой палитры (экран «высвечивается»). Параметр Time на данный момент не используется.

giQ_Option
void Dialog
iq_test (int)
msg_list (int)
msg_num (int)
target (procedure)
reaction (int)

Выводит вариант ответа в диалоге, если параметр Интеллект игрока больше либо равен заданного значения (iq_test)(если iq_test>0), или меньше либо равен модулю этого параметра (если iq_test<0). Строка текста ответа находится в заданном msg-файле (msg_list) под номером (msg_num). Выбор этой строки вызовет у собеседника эмоциональную реакцию (reaction) и переход к процедуре (target).

[Прим. пер: Например, если задать iq_test = 4, то данный вариант ответа появится только у игроков с интеллектом 4 и выше, если же iq_test = -3, то этот ответ появится у игроков с интеллектом 3 и ниже.]

give_exp_points
void
points (int)

Добавляет заданное число очков опыта (points) к общему числу очков опыта игрока. Уровень повышается автоматически, если необходимо.

global_var
int Map
var_index (unsigned int)

Возвращает значение глобальной переменной с индексом (var_index).

goto_xy
Map

(Согласно документации Team X – не используется в скриптах Fallout 2)

gSay_End
void Dialog
var_index (unsigned int)

Завершает диалоговую последовательность, что приведет к действительному ее отображению. [Прим. пер: как и gSay_Start, используется только в 3-х скриптах, которые отключены в Fallout 2. Видимо, это отладочные скрипты].

gSay_Message
void Dialog
msg_list (int)
msg_num (int)
reaction (int)

Выводит строку диалога, не подразумевающую никакого ответа со стороны игрока, только вариант «Завершить» [Done]. Переменная (msg_list) задает номер msg-файла, а (msg_num) – текстовую строку в этом файле.

gSay_Option
void Dialog
msg_list (int)
msg_num (int)
target (procedure)
reaction (int)

Выводит вариант ответа в диалоге. Строка текста ответа находится в заданном msg-файле (msg_list) под номером (msg_num). Выбор этой строки вызовет у собеседника эмоциональную реакцию (reaction) и переход к процедуре (target).

.

gSay_Reply
void Dialog
msg_list (int)
msg_num (int)

Выводит блок реплики (текст, который говорит *КРИТТЕР*, не игрок).

gSay_Start
void Dialog

Начинает новую диалоговую последовательность. [См. примечание к gSay_End.]

has_skill
int Skill
who (ObjectPtr)
skill (int)

Команда определяет, обладает ли криттер (who) конкретным умением. Возвращаемое значение – уровень умения, включая значение по умолчанию.

has_trait
int Critter
trait_type (int)
who (ObjectPtr)
trait (int)

Возвращает значение заданного свойства (trait) заданного типа (trait_type) у заданного объекта (who) (по поводу значений свойств и их типов см. define.h). Эту команду можно использовать для определения обладает ли игрок конкретной Особенностью [Perk], Склонностью [Trait] (Точность, Громила и т. п.), его AI-пакет, номер команды, текущее направление взгляда. [Прим. пер: судя по всему, свойства Особенности и Склонности имеют смысл только для игрока.]

how_much
int Skill
val (int)

Возвращает значение результата проверки умения против умения [skill vs. skill contest], (т. е. насколько велика разница между бросками). Для этого необходимо, чтобы вы сначала вызвали одну из команд случайных проверок, наподобие roll_vs_skill, skill_contest, и т. п.

inven_count
int Critter
what (ObjectPtr)

Возвращает количество слотов в инвентаре, занятых заданным объектом (what). [Прим. пер: видимо, речь идет об инвентаре криттера, в скрипте которого выполняется команда.]

inven_ptr
(ObjectPtr) Critter
what (ObjectPtr)
slotNum (int)

Возвращает указатель на объект, находящийся в слоте с номером (slotNum) заданного обьекта (what).

[Прим. пер: используется для обращения к инвентарю игрока по порядковому номера предмета в нем. Например так детишки из Дена воруют у игрока квестовые предметы 8), и выполняется раздевание игрока догола.]

inven_unwield
void Critter

Команда заставляет криттера убрать любые оружие/предметы из обеих рук. Если в данный момент анимация отключена, результат действия команды выглядит как внезапная смена картинки.

is_critical
int Skill
val (int)

Возвращает True, если заданный результат случайной проверки [contest roll] является критическим, иначе возвращает False.

(См. команды do_check, roll_vs_skill)

is_loading_game
boolean Map

Возвращает True, если в данный момент происходит загрузка игры, иначе возвращает False. Команда используется, чтобы предотвратить различные неприятности при загрузке игры из-за выполнения обработчика map_enter_p_proc.

is_skill_tagged
int Skill
skillNum (int)

Возвращает True если заданное умение «помечено» [Tagged]. (Прим. пер: т. е. умение отмечено игроком как одно из «главных» на экране создания персонажа.)

is_success
int Skill
val (int)

Возвращает True, если заданный результат случайной проверки [contest roll] является успешным, иначе возвращает False.

(См. команды do_check, roll_vs_skill)

item_caps_adjust
int Inven
obj (ObjectPtr)
amount (int)

Изменяет количество денег у объекта (obj) на заданное значение amount (amount может быть и отрицательным).

item_caps_total
int Inven
obj (ObjectPtr)

Возвращает текущее количество денег в инвентаре заданного объекта (obj).

jam_lock
int Object
lockableObj (ObjectPtr)

Заклинивает замок. Это не дает игроку вскрыть его в течение примерно 24 игровых часов. Должно применяться, когда игрок совершает критический промах при взломе.

kill_critter
void
obj (ObjectPtr)
death_frame (int)

Немедленно убивает криттера (obj) и присваивает ему заданную картинку трупа. ВНИМАНИЕ: команда НЕ анимирует смерть криттера и НЕ обновляет экран! Она предназначена для выполнения в обработчиках входа на карту/выхода с нее (map_enter_p_proc / map_exit_p_proc).

kill_critter_type
void Map
pid (int)

Немедленно убивает всех криттеров с заданным идентификатором прототипа (pid). См. команду kill_critter.

language_filter_is_on
int (boolean) Meta

Возвращает True, если фильтр мата в текущий момент включен, иначе возвращает False.

load_map
void Map
map_name (string)
start_location (int)

Загружает карту (map_name), останавливает все запущенные в данный момент скрипты и передает параметр начального местоположения игрока (start_location) в скрипт map_enter_p_proc загруженной карты через fixed_param.

local_var
int Map
var_index (unsigned int)

Возвращает значение локальной переменной с заданным индексом (var_index).

map_first_run
int Map

Возвращает True, если текущая карта запускается в первый раз (другими словами, эта карта загружалась не из сохраненной игры).

map_is_known
int Meta
mapNum (int)

Возвращает True, если карта с индексом (mapNum) известна, иначе возвращает False.

map_known
int Meta
mapNum (int)

Возвращает True, если карта с индексом (mapNum) известна, иначе возвращает False.

map_var
int Map
var_index (unsigned int)

Возвращает значение глобальной переменной карты с индексом (var_index).

message_str
char *
list (int)
msg_num (int)

Возвращает строку с заданным номером (msg_num) из msg-файла, занесенного в список всех msg-файлов под номером list.

move_to
int Map
obj (ObjectPtr)
tile_num (int)
elev (0-2)

Немедленно перемещает объект (obj) на заданный тайл на заданном этаже текущей карты.

move_obj_inven_to_obj
int Inven
srcObj (ObjectPtr)
destObj (ObjectPtr)

Перемещает инвентарь объекта (srcObj) в инвентарь другого объекта (destObj).

obj_art_fid
(ObjectPtr) Object
obj (ObjectPtr)

Возвращает идентификатор фрейма fid (используемый для индексации изображений) заданного объекта (obj).

obj_being_used_with
(ObjectPtr) Object

Возвращает указатель на объект, используемый в данный момент на объекте, из скрипта которого вызывается. (По Team X: используется в контексте обработчика use_obj_on_p_proc).

obj_can_hear_obj
boolean Map
src_obj (ObjectPtr)
dst_obj (ObjectPtr)

Возвращает True, если объект (src_obj) способен услышать объект (dst_obj). Учитывается расстояние, текущая деятельность (стоит/идет/бежит) и использование умений (Скрытность [Stealth]) и других.

obj_can_see_obj
boolean Map
src_obj (ObjectPtr)
dst_obj (ObjectPtr)

Возвращает True, если объект (dst_obj) находится в зоне прямой видимости объекта (src_obj). Также учитываются случайные проверки [rolls] на восприятие и скрытность для объектов-криттеров.

obj_carrying_pid_obj
(ObjectPtr) Object
who (ObjectPtr)
pid (int)

Возвращает указатель на экземпляр объекта (По данным Team X: это указатель на объект в памяти, используется для передачи объектов) с идентификатором прототипа (pid), если объект (who) несет (имеет в инвентаре) объект с данным идентификатором.

obj_close
void Object
what (ObjectPtr)

Пытается закрыть заданный объект (what), если он относится к тем, которые вообще возможно открыть.

obj_drop_everything
void Inven
who (ObjectPtr)

Заставляет криттера (who) выбросить всё предметы из своего инвентаря себе под ноги.

obj_is_carrying_obj_pid
boolean Object
obj (ObjectPtr)
pid (int)

Возвращает количество объектов с идентификатором прототипа (pid), находящихся в инвентаре объекта (obj).

obj_is_locked
int Object
what (ObjectPtr)

Возвращает True, если заданный объект (what) заперт, возвращает False, если объект не заперт, или не относится к тем, которые можно запирать.

obj_is_visible_flag
int Object
who (ObjectPtr)

Возвращает True, если объект (who) является видимым (не на экране, а вообще), иначе возвращает False.

obj_is_open
int Object
what (ObjectPtr)

Возвращает True, если заданный объект (what) открыт, возвращает False, если объект закрыт, или не относится к тем, которые можно открывать.

obj_item_subtype
int Object
obj (ObjectPtr)

Возвращает значение подтипа для объектов типа «предмет» [item]. Например, команда может вернуть значения «еда» [food], «броня»[armor], «оружие» [weapon] и т. д.

obj_lock
void Object
what (ObjectPtr)

Пытается запереть заданный объект (what), если он вообще может быть заперт.

obj_name
void Object
what (ObjectPtr)

Возвращает строку, представляющую имя заданного объекта (what).

obj_on_screen
int Object
what (ObjectPtr)

Возвращает True, если заданный объект (what) в данный момент виден на игровом экране, иначе возвращает False.

obj_open
void Object
what (ObjectPtr)

Пытается открыть заданный объект (what), если его вообще возможно открыть.

obj_pid
int Object
obj (ObjectPtr)

Возвращает идентификатор прототипа (pid) для объекта (obj).

obj_set_light_level
void Object
obj (ObjectPtr)
intensity (1-100)
distance (0 - 8)

Делает объект источником света с заданной интенсивностью (в процентах от максимума), и радиусом освещения в гексах.

obj_type
int Object
obj (ObjectPtr)

Возвращает тип объекта (obj). Значениями могут быть ‘Item' [Предмет], ‘Wall' [Стена], ‘Scenery' [Обстановка], и т. д.

obj_unlock
void Object
what (ObjectPtr)

Пытается отпереть замок заданного объекта (what), если он вообще может быть заперт.

override_map_start
void Map
x (int)
y (int)
elev (0-2)
rot (0-5)

Будучи использована при загрузке новой карты, эта команда принудительно выставляет координаты местоположения игрока (obj_dude) и направление его взгляда.

party_add
void Party
who (ObjectPtr)

Добавляет заданного криттера (who) в список членов команды игрока. Также производятся необходимые для этого изменения (эти криттеры перестают сохраняться в картах при сохранении игры и т. д.).

party_member_obj
ObjectPtr Party
pid (int)

Возвращает указатель на объект (ObjectPtr), указывающий на члена команды с заданным идентификатором прототипа (pid). Если криттер с этим идентификатором не является членом команды, функция возвращает NULL.

party_member_count
ObjectPtr Party
countHidden (int)

Возвращает количество членов в текущей партии. Параметр (countHidden) определяет, считать или нет скрытых членов (hangers-on). [Прим. пер: скрытые члены команды - объекты, которые внутри игры являются "членами команды", но вовсе не обязательно криттеры. Например, багажник машины - член команды!]

party_remove
void Party
who (ObjectPtr)

Исключает криттера (who) из списка членов команды. При этом меняются и другие связанные параметры объекта, так, чтобы соответствующим образом изменить его взаимодействие с объектами и картой.

pickup_obj
void Inven
obj (ObjectPtr)

Заставляет криттера, в скрипте которого выполняется, воспроизвести анимацию «подбирания с земли» и попытаться поднять с земли заданный объект (obj).

play_gmovie
Meta

Проигрывает один из видеороликов Fallout (на полный экран, сжатых, и т. д.) Список роликов – см. define.h, раздел «Movie number defines».

play_sfx
Sound

Ставит в очередь для проигрывания новый звуковой эффект. (Тим Х: аргумент строка имя acm файла).

poison
Critter
who (ObjectPtr)
amount (int)

Увеличивает уровень отравления криттера на заданную величину.

proto_data
int OR string Object
pid (int)
data_member (int)

Возвращает значение данных с индексом data_member из прототипа объекта с идентификатором (pid).

radiation_dec
Critter
who (ObjectPtr)
amount (int)

Уменьшает счетчик облучения криттера на заданную величину. ВНИМАНИЕ: Эту команду можно применять только к игроку (obj_dude) из-за ограничений накладываемых дизайном Fallout!

radiation_inc
Critter
who (ObjectPtr)
amount (int)

Увеличивает счетчик облучения криттера на заданную величину. ВНИМАНИЕ: Эту команду можно применять только к игроку (obj_dude) из-за ограничений накладываемых дизайном Fallout!

random
int Script
min (int)
max (int)

Возвращает случайное число из диапазона (min, max) включая границы.

reg_anim_animate
void Anim
what (ObjectPtr)
anim (int)
delay (int)

Добавляет в очередь анимаций одиночную in-place анимацию объекта (what) с заданной задержкой относительно предыдущей анимации (задержка всегда должна быть равна -1)!

reg_anim_animate_forever
void Anim
what (ObjectPtr)
anim (int)
delay (int)

Добавляет в очередь анимаций одиночную in-place анимацию объекта (what) с заданной задержкой относительно предыдущей анимации (задержка всегда должна быть равна -1)! Эта анимация будет воспроизводиться бесконечно, пока что-либо в системе не прервет ее. Использовать *очень* экономно. Например, так анимирована вывеска Гизмо и ‘молитвенные‘ знаки Детей Собора (которых надо бы сделать поменьше).

reg_anim_animate_reverse
void Anim
what (ObjectPtr)
anim (int)
delay (int)

Добавляет в очередь анимаций одиночную реверсированную (т проигрываемую задом наперед) in-place анимацию объекта (what) с заданной задержкой относительно предыдущей анимации (задержка всегда должна быть равна -1)!

reg_anim_begin
void Anim

Команда начала формирования списка анимаций.

reg_anim_clear
void Anim
object (ObjectPtr)

Отменяет все анимации, зарегистрированные для данного объекта.

reg_anim_end
void Anim

Запускает воспроизведение списка анимаций. Без этой команды анимация не будет воспроизводиться вообще. Внимание: Все анимации должны быть зарегистрированы в списке единовременно! Другими словами, вы не можете дать скрипту отработать, и закончить регистрацию анимаций потом.

reg_anim_obj_move_to_obj
void Anim
who (ObjectPtr)
dest_obj (ObjectPtr)
delay (int)

Добавляет в список анимаций анимацию, заставляющую криттера (who) попытаться дойти до другого объекта (dest_obj). (Параметр задержка (delay) всегда должен быть равен -1)!

reg_anim_obj_run_to_obj
void Anim
who (ObjectPtr)
dest_obj (ObjectPtr)
delay (int)

Добавляет в список анимаций анимацию, заставляющую криттера (who) попытаться добежать до другого объекта (dest_obj). (Параметр задержка (delay) всегда должен быть равен -1)!

reg_anim_obj_move_to_tile
void Anim
who (ObjectPtr)
dest_tile (int)
delay (int)

Добавляет в список анимаций анимацию, заставляющую криттера (who) попытаться дойти до тайла с заданным номером (dest_tile). (Параметр задержка (delay) всегда должен быть равен -1)!

reg_anim_obj_run_to_tile
void Anim
who (ObjectPtr)
dest_tile (int)
delay (int)

Добавляет в список анимаций анимацию, заставляющую криттера (who) попытаться добежать до тайла с заданным номером (dest_tile). (Параметр задержка (delay) всегда должен быть равен -1)!

reg_anim_play_sfx
void Anim
who (ObjectPtr)
sfx_name (string)
delay (int)

Добавляет в список анимаций событие, заставляющее объект (who) попытаться проиграть звуковой эффект (sfx_name) с заданной задержкой (delay) от предыдущей анимации.

rm_fixed_timer_event
void Meta(Time)
who (ObjectPtr)
fixed_val (int)

Удаляет (очищает) все таймерные события, на которые «подвешен» скрипт данного объекта (obj), имеющие фиксированный параметр со значением (fixed_val).

rm_obj_from_inven
void Inven
who (ObjectPtr)
obj (ObjectPtr)

Удаляет объект (obj) из инвентаря другого объекта (who's). Внимание: удаленный объект помещается на карту в место с координатами (0,1)! Чтобы выложить его в какое-либо доступное место карты вы должны вызвать процедуру move_to(…).

rm_mult_objs_from_inven
int Inven
who (ObjectPtr)
obj (ObjectPtr)
count (int)

Удаляет (count) экземпляров объекта (obj) из инвентаря другого объекта (who). Внимание: удаленный объект помещается на карту в место с координатами (0,1)! Чтобы выложить его в какое-либо доступное место карты вы должны вызвать процедуру move_to(…).

ВНИМАНИЕ: Эта функция возвращает количество объектов, которое на самом деле было удалено (в том случае, если вы пытаетесь удалить большее количество объектов, чем их на самом деле есть). Возвращаемое значение *НЕОБХОДИМО* сохранить в какой-нибудь переменной (хотя совсем не обязательно что-либо с ним делать).

rm_timer_event
void Meta(Time)
obj (ObjectPtr)

Удаляет (очищает) все таймерные события, на которые «подвешен» скрипт данного объекта (obj).

roll_dice
Skill

Возвращает значение результата броска кубика. НЕ РЕАЛИЗОВАНО!

roll_vs_skill
int (roll_result) Skill

who (ObjectPtr)
skill (int)
modifier (int)

Возвращает значение случайной проверки против уровня умения skill объекта (who), модифицированное на заданное значение modifier (modifier может быть равен нулю). Это значение можно передать в функции is_success и is_critical для определения соответствующих состояний, а вызовом функции how_much можно определить, насколько велик успех/провал проверки.

rotation_to_tile
int (1…5) Map
srcTile (int)
destTile (int)

Возвращает направление (0…5) к заданному тайлу (destTile) от заданного тайла (srcTile).

running_burning_guy
int

Возвращает значение running-burning-guy установленное в экране настроек игры. [Прим. пер: совершенно непонятно, о какой настройке идет речь.]

scr_return
void Script

Устанавливает возвращаемое скриптом значение для использования С-кодом движка.

script_action
int Script

Возвращает действие, активировавшее этот скрипт. Например – запрос описания предмета (description_proc), извещение spatial-скрипта (Прим. пер: скрипт, который привязан к некоторой области пространства (например, к куску пола)), о том, что что-то пересекло его границы (spatial_proc), или запуск очередного цикла жизни криттера (critter_proc, другими словами, факт приказа двигаться). (Прим. пер: объяснения разработчиков могут запутать кого угодно. Между тем, в документации Тим Х сказано, что в скриптах Fallout 2 эта функция не используется вообще, а по реализации всегда возвращает число 21. (Дополнение: функция осталась в наследство от Fallout 1)).

script_overrides
void Script

Сообщает C-движку, что скрипт переопределяет стандартное поведение объекта. Что означает, что C-движок не будет делать то, что он обычно делает, предоставляя скрипту сделать это самому.

Это ВАЖНАЯ команда! Обычно она используется для обыденных действий игрока по отношения к предметам, например – осмотру их (запросу описания), использованию (например, открытию дверей), или использованию предметов НА них (использование отмычек или ключа на дверном замке).

self_obj
(ObjectPtr) Script

Возвращает указатель на объект, в скрипте которого выполняется.

set_critter_stat
int Critter
who (ObjectPtr)
stat (int)
val (int)

Устанавливает значение заданного атрибута/характеристики криттера равным заданному значению (val).

set_exit_grids
void Map
markElev (elevation)
mapID (int)
elevation (int)
tileNum (int)
rotation (int)

Заставляет все точки выхода [exit grids] на заданном этаже (markElev) указывать на карту mapID (может быть равно -1, при этом игрок остается на прежней карте) в точку с координатами tileNum на этаже elevation, где, появившись, игрок будет смотреть в направлении rotation.

set_global_var
void Map
var_index (unsigned int)
value (int)

Присваивает глобальной переменной с индексом (var_index) значение (value).

set_light_level
void Map
level (int: 1-100)

Устанавливает уровень фонового освещения. Диапазон от кромешной темноты до яркого дня.

set_local_var
void Map
var_index (unsigned int)
value (int)

Присваивает локальной переменной с индексом (var_index) значение (value).

set_map_var
void Map
var_index (unsigned int)
value (int)

Присваивает глобальной переменной карты с индексом (var_index) значение (value).

set_map_start
void Map
x (int)
y (int)
elev (0-2)
rot (0-5)

Устанавливает точку входа и направление взгляда игрока для следующего входа на эту карту (когда она будет загружена и запущена).

set_obj_visibility
void Object
obj (ObjectPtr)
visibility (boolean)

Устанавливает для объекта флаг OBJ_OFF (т. е. объект не рисуется на экране, невидим).

signal_end_game
void

Сообщает системе, что необходимо завершить игру. При этом игра выходит в главное меню.

skill_contest
Skill

Возвращает значение случайной проверки умения против умения [skill vs skill contest] (для передачи в функции is_success & is_critical). (По Team Х – не используется в скриптах Fallout 2)

source_obj
(ObjectPtr) Script

Возвращает указатель на объект-активатор, источник данного действия. Например, источником для процедуры pickup_p_proc подбираемого объекта, будет криттер, поднимающий этот объект.

start_dialogue
void Dialog
who (ObjectPtr)
mood (int)

Запускает диалоговую систему, фокусируясь на криттере (who) с заданным настроением (mood). Этот вызов отображает необходимые диалоговые окна, изображения «говорящих голов» и т. п. Если не вызвать эту процедуру перед обращением к каким-либо стандартным диалоговым функциям (sayReply, sayMessage, sayOption, и т. д.), то диалоговые окна просто не отрисуются, на экране будут только серые прямоугольники с текстом.

start_gialog
void Dialog
msgFileNum (int)
who (ObjectPtr)
mood (int)
headNum (int)
backgroundIdx (int)

Запускает диалоговую систему, фокусируясь на криттере (who) с заданным настроением (mood). Этот вызов отображает необходимые диалоговые окна, изображения «говорящих голов» и т. п. Если не вызвать эту процедуру перед обращением к каким-либо стандартным диалоговым функциям (sayReply, sayMessage, sayOption, и т. д.), то диалоговые окна просто не отрисуются, на экране будут только серые прямоугольники с текстом.

[Прим. пер: описание разработчиков соответствует описанию предыдущей функции, однако, согласно Team X, реально в Fallout 2 используется именно эта функция. headNum и backgroundIdx задают соответственно «говорящую голову» и фоновую картинку для диалога.]

target_obj
(ObjectPtr) Script

Возвращает указатель на объект – цель данного действия. Цель действия - объект, над которым оно совершается.

terminate_combat
void Combat

Заставляет боевую систему преждевременно прервать бой. ИСПОЛЬЗОВАТЬ ОСТОРОЖНО. Данная команда не препятствует повторному запуску боя другим (или даже ТЕМ ЖЕ САМЫМ) скриптом, так что убедитесь, что вы сбросили все флаги враждебности и т. п.

tile_contains_obj_pid
boolean Map
tile (int)
elev (0-2)
pid (int)

Возвращает True, если заданный тайл (tile) на заданном этаже (elev) содержит объект с идентификатором прототипа (pid).

tile_contains_pid_obj
boolean Map
tile (int)
elev (0-2)
pid (int)

Возвращает указатель на первый объект с идентификатором прототипа (pid) находящийся на заданном тайле и этаже.

tile_distance
int Map
tile1 (int)
tile2 (int)

Возвращает расстояние между двумя тайлами с заданными номерами.

tile_distance_objs
int Map
obj1 (ObjectPtr)
obj2 (ObjectPtr)

Возвращает расстояние между двумя объектами (между тайлами, на которых они находятся).

tile_is_visible
boolean Map
tile (int)

Возвращает True, если заданный гекс (tile) в данный момент видим на экране, то есть расположенный на этом гексе предмет скорее всего может быть отображен на экране. Сюда входят так же и те гексы, которые, строго говоря, находятся за пределами видимой области экрана, но могут иметь расположенные на них объекты, которые попадают в эту область.

tile_num
int Map
obj (ObjectPtr)

Возвращает номер тайла, на котором находится объект (obj).

tile_num_in_direction
int Map
start_tile (int)
dir (0-5)
distance (int)

Возвращает номер тайла, находящегося на заданном расстоянии (distance) от стартового по направлению (dir).

town_known
int Meta
townArea (int)

Возвращает True, если данный район города известен игроку (открыт на карте города), иначе возвращает False.

town_map
void

Посылает игровому движку запрос на переход к Карте Города, чтобы игрок мог перейти в другие районы этого города (например, различные части в Vault 13).

use_obj
(ObjectPtr) Script
obj (ObjectPtr)

Прим. пер: в оригинале руководства про эту команду не сказано ровно ничего. Согласно документации Team X, команда, будучи выполнена в скрипте криттера, заставляет криттера подбежать к двери и использовать (открыть) ее (указатель на объект «дверь» передается в качестве параметра (obj)). Скорее всего, это справедливо не только для дверей, но и для любых используемых объектов вообще.)

use_obj_on_obj
(ObjectPtr) Script
item (ObjectPtr)
targetObj (ObjectPtr)

Пытается заставить объект, в скрипте которого выполняется, использовать предмет на объекте (targetObj). Таким образом, можно заставить криттера полечить игрока Стимпаком, или использовать ключ на дверь.

using_skill
boolean Skill
who (ObjectPtr)
skill (int)

Возвращает True, если в данный момент используется активное умение с номером skill, иначе возвращает False. Примерами активных умений являются умения Скрытность (Stealth) и Первая Помощь (First Aid). (Прим. пер: по видимому, в какой-то момент разработки Первая Помощь перестала быть активным умением, по утверждению Team X, функция возвращает верное значение только для Скрытности).

violence_level_setting
int (boolean) Meta

Возвращает текущее значение установки «Жестокость в игре». Возможные значения описаны в define.h.

wield_obj
void Inven
obj (ObjectPtr)

Воспроизводит анимацию экипировки криттера, в скрипте которого выполняется, объектом (obj) из инвентаря этого криттера. При этом объект помещается в «руки» криттера.

wield_obj_critter
void Inven
who (ObjectPtr)
obj (ObjectPtr)

Воспроизводит анимацию экипировки криттера (who) объектом (obj) из инвентаря этого криттера. При этом объект помещается в «руки» криттера.

wm_area_set_pos
void
areaIdx (int)
xPos (int)
yPos (int)

Устанавливает Мировые координаты X и Y для заданного района/города.

world_map
void

Посылает игровому движку запрос на переход к Карте Мира, где игрок может перемещаться между городами.

world_map_x_pos
int

Возвращает координату X текущего местонахождения команды на Карте Мира.

world_map_y_pos
int

Возвращает координату Y текущего местонахождения команды на Карте Мира.

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