Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
OSFM v1.2.0.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
4.49 Mб
Скачать

Resurrect

Синтаксис:

[ActorID.]Resurrect AnimateFlag (optional)

Функция Resurrect воскрешает вызывающего актера ActorID. Если опциональный флаг AnimateFlag = 1, то воскрешение актера будет анимировано (поднимающийся, как будто из нокдауна). В противном случае он просто появится уже воскрешенным в своем обычном состоянии. Примечание: В некоторых ситуациях флаг необходим, чтобы избежать обрушения игры. Пример скрипта:

short FlagDead ; Устанавливается в "1", когда актер мёртв, и в "0" когда анимация воскрешения завершена.   short ResurrectAminTimer; Считает фреймы с момента начала воскрешения begin gamemode   ; Устанавливаем флаг смерти персонажа в "1" в момент смерти. ; (Примечание: Вы, возможно, имели бы здесь текущий пакет AI)    if (Actor.GetDead == 1)        set FlagDead to 1    endif ; Таймер, который предотвратит запуск скрипта до того, как ; анимация воскрешения завершится (включая пакеты AI). ; Стартует при воскрешении.    if (FlagDead==1) && (Actor.GetDead ==0)          set ResurrectAminTimer to ResurrectAminTimer+1    endif    ; Через 200 фреймов (достаточно для завершения анимации)    ; возобновляем работу скрипта.    if ResurrectAminTimer > 200          set FlagDead to 0          set ResurrectAminTimer to 0         Actor.resurrect 1    endif    ; Когда персонаж жив и анимация завершена, запускаем главный скрипт

   if FlagDead == 0         ; Заполните здесь требуемые действия для актера    endif

End

Относится к типу: Statistics Functions | Actor Functions

Rotate

Синтаксис:

[ObjectID.]Rotate axis, degrees/sec

Пример:

Rotate x, 100

Функция Rotate вращает вызывающий объект (ObjectID) по выбранной оси axis (x, y или z) с указанной скоростью вращения (degrees/sec). Единица измерения скорости - градусы в сек. Движение основано на местном вращении объекта. Таким образом, положительное движение по оси "y" будет вращать объект по его местному вектору, направленному вперед. Примечание: Из-за метода, который используется, данная функция непригодна для сложного вращения: если вы хотите вращать объект, который уже вращается, то функция может работать не так, как вы ожидаете. Для повторяющегося или сложного вращения нужно использовать функции анимации - они и быстрее, и надежнее. Относится к типу: Movement Functions

S

SameFaction

Синтаксис:

[ActorID.]SameFaction TargetActorID

Функция SameFaction возвращает "1", если вызывающий актер (ActorID) числится в той же фракции, что и указанный целевой актер (TargetActorID), т.е. вместе они состоят хотя бы в одной общей фракции. Относится к типу: Actor State Functions | Condition Functions | Actor Functions

SameFactionAsPC

Синтаксис:

[ActorID.]SameFactionAsPC

Функция SameFactionAsPC возвращает "1", если вызывающий актер (ActorID) находится в той же фракции, что и игрок. Не работает на объектах. Относится к типу: Actor State Functions | Condition Functions | Actor Functions

SameRace

Синтаксис:

[ActorID.]SameRace TargetActorID

Функция SameRace возвращает "1", если вызывающий актер (ActorID) той же расы, что и указанный в виде параметра целевой актер TargetActorID. Относится к типу: Actor State Functions | Condition Functions | Actor Functions

SameRaceAsPC

Синтаксис:

[ActorID.]SameRaceAsPC

Функция возвращает "1", если вызывающий актер (ActorID) той же расы, что и персонаж игрока. Относится к типу: Actor State Functions | Condition Functions | Actor Functions

SameSex

Синтаксис:

[ActorID.]SameSex TargetActorID

Функция SameSex возвращает "1", если вызывающий актер (ActorID) того же пола, что и указанный в качестве параметра целевой актер (TargetActorID). Относится к типу: Actor State Functions | Condition Functions | Actor Functions

SameSexAsPC

Синтаксис:

[ActorID.]SameSexAsPC

Функция SameSexAsPC возвращает "1", если вызывающий актер (ActorID) того же пола, что и персонаж игрока. Относится к типу: Actor State Functions | Condition Functions | Actor Functions

Say

Синтаксис:

[ActorID|ObjectID.]Say TopicID [ForceSubtitleFlag] [SpeakerID] [UnknownFlag]

Пример:

Say SecretTopic

Say DAMolagBalSpeech 1 DAMolagBalVoice 1 

Функция Say может использоваться для того, чтобы NPC или объект проговорил один раз реплику SpeakerID из темы TopicID. Примечания:

  • Губы NPC будут синхронизированы с его речью, но это не вызовет прерывания в выполнении текущего пакета AI.

  • Функция возвращает время в секундах, необходимое NPC для того, чтобы проговорить весь текст до конца. Это может быть полезно для создания последовательных действий.

  • Если необязательный флаг ForceSubtitleFlag = 1, то субтитры будут отображаться вне зависимости от расстояния между говорящим и игроком. Используя необязательный параметр SpeakerID, можно заставить произнести что-нибудь существо (creature), активатор или другой объект. ID используется при определении расы и пола воспроизводимого голоса, т.е., для выбора подходящего звукового файла. При этом NPC не обязательно должен быть размещён в мире.

  • Флаг UnknownFlag следует установить в "1" во всех скриптах, связанных с даэдрическими святынями. Рекомендуется также устанавливать его в "1" всякий раз, когда SpeakerID указывается явно в качестве параметра.

См. также: SayTo Относится к типу: Dialogue Functions | Actor Functions

SayTo

Синтаксис:

[ActorID.]SayTo TargetActorID TopicID ForceSubtitleFlag (optional)

Пример:

SayTo Joe SecretTopic

SayTo player SecretTopic 1

Используйте функцию SayTo, чтобы вызывающий NPC (ActorID) сказал одну реплику (TopicID) игроку или другому NPC (TargetActorID). Говорящий NPC будет следить за целью поворотом головы или поворачиваться к ней, если это позволяет текущий пакет, но не будет ждать, чтобы приблизиться на нужное расстояние (поэтому убедитесь, что функция вызывается, когда расстояние для разговора достаточно). Функция возвращает время в секундах, необходимое NPC для того, чтобы проговорить весь текст. Это может быть полезно при создании последовательных действий. Если флаг ForceSubtitleFlag = 1, субтитры будут отображаться вне зависимости от расстояния между говорящим и игроком. Пример скрипта:

begin gamemode    if timer > 0        set timer to timer - getsecondspassed    elseif talk == 1        set lastStage to CharacterGen.tauntStage        set timer to SayTo player, CharGenTaunt2 1        if getstage characterGen == 9            set characterGen.convTimer to timer - .5        endif    endif end

См. также: Say Относится к типу: Dialogue Functions | Actor Functions

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]