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

MoveToMarker

Синтаксис:

[ObjectID.]MoveToMarker MarkerID

Примеры:

MoveToMarker MarkerX

MoveToMarker FG04A

Функция MoveToMarker используется для перемещения вызывающего объекта (ObjectID) в указанное в виде параметра место, помеченное маркером (MarkerID). Заметьте, что "MarkerID" указывает на ID копии базового маркера (Reference Editor ID), размещенного в игровом мире. Его можно найти на соответствующей вкладке окна Reference Windows.

Примечание (Visman): Если вы устанавливаете активатор в мире, отличном от Тамриэля (не во внутренней ячейке) командами PlaceAtMe, SetPos, MoveToMarker, MoveTo или PositionWorld, то после перезагрузки игры вам нужно будет восстановить позицию активатора в этом мире командой PositionWorld, иначе этот активатор может быть утерян (выявлено при тестировании скриптовых заклинаний "Пометка" и "Возврат").

См. также примечания Vitalka в описании функции MoveTo... См. также: PositionWorld, PositionCell, MoveTo

Относится к типу - Movement Functions

P

PayFine

Синтаксис:

PayFine

Функция PayFine изымает из инвентаря игрока количество "криминального" золота, сворованного им, а также конфискует все украденные предметы, очищая таким образом инвентарь от всего "нажитого непосильным трудом". Примечания:

  • Тюрьма содержит пару связанных дверей-маркеров ("Prisonmarker"). Один маркер установлен непосредственно в интерьере тюремной камеры, а второй - во внешней локации, куда персонаж игрока будет перемещен после отбывания наказания.

  • Конфискованные у игрока ворованные предметы помещены в ящик "Ворованные предметы" (Stolengoods), который находится в той же внутренней ячейке тюрьмы, что и маркер (Prisonmarker).

См. также: GoToJail, PayFineThief Относится к типу: Crime Functions

PayFineThief

Синтаксис:

PayFineThief

Функция PayFineThief изымает в виде штрафа все "криминальное" золото, сворованное игроком. См. также: PayFine Относится к типу: Crime Functions

PickIdle

Синтаксис:

[ActorID.]PickIdle

Функция PickIdle заставляет вызывающего актера (ActorID) выбрать новое анимационное движение (idle). Относится к типу: Animation Functions | Actor Functions

PlaceAtMe

Синтаксис:

[ObjectID.]PlaceAtMe ItemID, count, [distance], [direction]

Пример:

player.PlaceAtMe NinjaMan, 1, 256, 1

Функция PlaceAtMe помещает указанный в виде параметра объект (ItemID) рядом с вызывающим объектом (ObjectID) на указанном расстоянии [distance] и в определенном направлении [direction]. Если место перемещения небезопасно (в воздухе, в стене, и т.д.), объект будет помещен на одной из оставшихся осей или прямо на месте объекта. Направления:

0 = впереди 1 = сзади 2 = слева 3 = справа

Эта функция может использоваться с существами из уровневого списка. Однако она не может использоваться с уровневыми предметами. Уровневые предметы не предназначены для размещения в мире — их использование ограничивается контейнерами. Попытка таким путем создать объект из уровневого списка приведет лишь к появлению желтого восклицательного знака (Marker_Error.NIF). Внимание: функции Disable и Remove не одно и то же! Отметьте, что на самом деле нет ясности с перемещенными функцией PlaceAtMe объектами - они отключены в прежней локации или нет? И очистит ли их новая загрузка сохранения? Судя по тестам, это не так, и это может быть серьезной проблемой, например, с заклинаниями, которые могут создать массу активаторов, но ведь после этого их нужно отключать с помощью функции Disable!

Таким образом, кажется вполне целесообразным использование для целей перемещения функцию MoveTo на устойчивых копиях объектов в тех случаях, где это возможно, вместо пары PlaceAtMe / Disable В то же самое время MoveTo может оказаться такой же удобной, как и функция PlaceAtMe. Однако, если вам действительно нужно использовать именно PlaceAtMe в вашем моде, то будет справедливо, если вы укажете на этот факт в Readme-файле вашего мода. Получение ссылки на созданный объект При использовании одного объекта эта функция вернет ссылку на созданный объект, так что это может использоваться с дополнительным вызовом функций. Например:

scn scriptName ref refName begin blockName   set refName to refCreatingObject.PlaceAtMe ObjectToBeCreated 1, 0, 0 end

Переменная refName теперь содержит ссылку на ObjectToBeCreated. Эта ссылка верна только для объектов, которые нельзя поместить в инвентарь. Доступ по ссылке на предмет инвентаря после того, как кто-то его поднял, может вызвать CTD.

Использование в консоли При использовании PlaceAtMe в консоли нужно использовать нужный FormID предмета, а не его EditorID. Поэтому, чтобы добавить себе отмычку, вместо использования

player.PlaceAtMe lockpick 1, 256, 0

наберите

player.PlaceAtMe 00000A 1, 256, 0

FormID можно найти в конструкторе в свойствах объекта справа от колонки EditorID. Колонка с FormID спрятана и ее требуется развернуть. Использовать этот код в консоли следует для всех объектов - как предметов, так и актеров.

Примечание (Visman): Если вы устанавливаете активатор в мире, отличном от Тамриэля (не во внутренней ячейке) командами PlaceAtMe, SetPos, MoveToMarker, MoveTo или PositionWorld, то после перезагрузки игры вам нужно будет восстановить позицию активатора в этом мире командой PositionWorld, иначе этот активатор может быть утерян (выявлено при тестировании скриптовых заклинаний "Пометка" и "Возврат").

Относится к типу: Miscellaneous Functions

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