Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Переключатели форматирования (Switch)

Поиск

 

В Обливионе могут быть использованы следующие переключатели форматирования, которые можно ставить в любой последовательности сразу за символом “%”

 

Switch Результат
"+" Отображать "+" перед положительными числами
"<Space>" Оставить пробел перед положительными числами
"-" Использовать выравнивание по левому краю, а не по правому.
"0" Заполняющий символ при форматировании будет '0' вместо пробела(' ').

Другие функции

Формат Результат
%g Работает как "%.0f", отображая 0 цифр после запятой. Когда длина числа достигает 7 десятичных разрядов (≥ 1000000), игра отобразит его в "научной" записи, например, "1E+006".
%.3e Отображает все числа в "научной" интерпретации (123000 = 1.23E+005)
%% Используется для отображения знака процента перед числом.

 

Примеры:

Message "Var1:% 5.2f / Var2:% 5.2f" Var1 Var2 "Var1: 123.45 / Var2: -123.45"
Message "Var1:%05.2f / Var2:%05.2f" Var1 Var2 "Var1: 00123.45 / Var2:-00123.45"
Message "Var1:%+-5.0f / Var2:%+-5.0f" Var1 Var2 "Var1:+123 / Var2:-123 "
Message "Var1:%.3e / Var2:%.3e" Var1 Var2 "Var1: 1.234E+2 / Var2:-1.234E+2"

Примечание (Visman): Если вы не хотите, чтобы при облачении персонажа игрока с помощью функции
AddItem выводились какие-либо сообщения, используйте следующий код:

Message " " Message " " Player.AddItem <Item ID>, Count

См. также: MessageBox, GetButtonPressed
Относится к типу: Miscellaneous Functions

 

MessageBox

Синтаксис:

MessageBox "Сообщение", [var1],..., [var9], ["button01"],..., ["button10"]
MessageBox "Сообщение" [var1]... [var9] ["button01"]... ["button10"]

Пример:

MessageBox "Это сообщение"
MessageBox "Начать вращение? Время = %.2f", GameHour, "OK", "Ни за что"
MessageBox "Сколько у вас золота?" "0" "100" "500" "1000" "5000" "10000"

Функция MessageBox отображает сообщение, которое можно отформатировать, а также кнопки, на которые игрок может нажать. MessageBox останавливает время и отображается в виде диалогового окна в центре экрана до тех пор, пока игрок не нажмет на какую-нибудь кнопку. Нажатие можно отследить в скрипте, используя функцию GetButtonPressed.
Может быть задано до 10 кнопок. Если в параметрах функции не задано ни одной, отобразится кнопка "Done".

 

В MessageBox можно передать до 9 переменных. Они отображаются в том порядке, в каком указаны как параметры функции. В сообщении должен быть указан способ отображения переменной.
Если окно MessageBox открыто, эта функция будет возвращать значение "-1" в функцию GetButtonPressed до тех пор, пока игрок не нажмет на какую-нибудь кнопку.
Форматирование выводимых на экран числовых переменных полностью совпадает с таковым для функции Message. Опции форматирования подробно описаны в ее описании.
См. также: Message, GetButtonPressed
Относится к типу: Miscellaneous Functions

 

ModActorValue

Синтаксис:

[ActorID|Player.]ModActorValue StatName value
ModAV StatName value

Пример:

ModActorValue Strength -10

Функция ModActorValue изменяет указанную в виде параметра (StatName) характеристику вызывающего актера (ActorID) или персонажа игрока (Player) на заданное значение (value), не затрагивая базового значения характеристики (в дополнение к повреждениям и магическим изменениям).
Примечания:

  • Функция ModActorValue изменяет характеристику на заданное значение, не затрагивая базового значения характеристики. Изменение при помощи ModActorValue может превышать максимум в 100 при изменении навыка и характеристики, измененный параметр будет показан красным (damaged - повреждение) или зеленым (restored - восстановление), чтобы показать временную модификацию. Неизмененный параметр будет отображаться синим цветом. Основное использование ModActorValue — это проклятья или благословения, которые нельзя развеять, и заклинания и магические предметы, модифицирующие навык/характеристику на значение, больше 100.
  • Если вы хотите сделать в скрипте постоянные изменения для актера, не используйте ModActorValue. Вместо этого нужно использовать SetActorValue или применить заклинание, которое изменит характеристику до нужного вам значения. Хороший способ — создать Способность (Ability) и использовать AddSpell, чтобы добавить ее в список заклинаний.
  • Если вы используете ModActorValue в скрипте, то меняется скриптовый модификатор (Script Modifier), и ТОЛЬКО скрипт может вернуть его назад. Другими словами, если есть скрипт
player.modav health 100

вы также должны сделать

player.modav health -100

иначе эти 100 очков *навсегда* останутся в Script modifier.
Хороший пример имеется в скрипте Обливиона DarkScalesScript.

  • Для временных изменений, которые могут восстанавливаться заклинанием, вы можете использовать OBSE-функцию ModActorValue2.

Консоль:

ModActorValue действует иначе при использовании в консоли. В консоли отрицательные значения изменяют магический модификатор (Magic Modifier) и может быть скорректировано Заклинанием-Восстановлением, тогда как положительные значения изменяют только игровым модификатором (Game Modifier) максимум до нуля.
Причина этих различий в поведении ModActorValue в консоли - использование команды для целей теста, тогда как в скриптах она используется для временных эффектов, которые не могут быть изменены заклинаниями или внутренней системой игры.

Практика

Основы:
Когда вы (или игра) используете GetActorValue, вы получаете сумму базового значения актера плюс трех модификаторов:

  • Game Modifier используется для "постоянного" эффекта, типа Damage и Restore.
  • Magic Modifier используется для "временного", развеваемого магического эффекта, такого как Drain и Fortify.
  • Script Modifier используется для "временного" неразвеваемого скриптового эффекта, такого как благословения и проклятия.

Функции ModActorValue и ForceActorValue изменяют только модификатор скрипта.

Изменения, сделанные этими функциями, не могут быть восстановлены внутриигровыми средствами, подобно естественному восстановлению здоровья или магии. Для этого вам нужно "уничтожить" их в скрипте.
В скрипте эти функции ведут себя, как описано выше, в консоли же они ведут себя несколько иначе в связи с тем, что они использовались Bethesda для целевого тестирования.
См. также: Stats List (wiki), GetActorValue, GetBaseActorValue, ForceActorValue, SetActorValue, ModActorValue2
Относится к типу: Actor Value Functions | Statistics Functions | Actor Functions

 

ModAmountSoldStolen

Синтаксис:

ModAmountSoldStolen iValue

Пример:

ModAmountSoldStolen 200

Функция ModAmountSoldStolen изменяет сохраненное значение общей стоимости проданных игроком украденных вещей на указанное в виде параметра iValue значение.
См. также: GetAmountSoldStolen
Относится к типу: Player Functions | Condition Functions

 

ModBarterGold

Синтаксис:

ModBarterGold float

Пример:

ModBarterGold -20.0

Функция ModBarterGold изменяет количество золота для торговли на указанное в виде параметра значение (float).
См. также: SetBarterGold, GetBarterGold
Относится к типу: Statistics Functions | Actor Functions

 

ModCrimeGold

Синтаксис:

[ActorID.]ModCrimeGold float

Пример:

ModCrimeGold -20.0

Функция ModCrimeGold изменяет текущее значение криминального золота у вызывающего актера (ActorID) на заданное значение (float).
См. также: GetCrimeGold, SetCrimeGold, CanPayCrimeGold
Относится к типу: Crime Functions | Actor Functions

 

ModDisposition

Синтаксис:

[ActorID.]ModDisposition ActorRefID float

Пример:

ModDisposition player -20

Функция ModDisposition позволяет изменить отношение вызывающего актера (ActorID) к указанному в виде параметра ActorRefID персонажу на указанное значение (float).
См. также: GetDisposition
Относится к типу: Statistics Functions | Actor Functions

 

ModFactionRank

Синтаксис:

[ActorID.]ModFactionRank FactionID, modValue

Пример:

ModFactionRank FightersGuild, 1

Функция ModFactionRank изменяет ранг вызывающего актера (ActorID) в указанной в виде параметра фракции FactionID на требуемое значение modValue. Отметьте, что данная функция эффекта не принесет, если актер не является членом указанной фракции, а также то, что ранг никогда не опустится ниже 0.
См. также: SetFactionReaction, ModFactionReaction, GetFactionReaction, SetFactionRank, GetFactionRank, GetFactionRankDifference, GetInFaction
Относится к типу: Faction Functions | Actor Functions

 

ModFactionReaction

Синтаксис:

ModFactionReaction FactionID, TargetFactionID, ModValue

Пример:

ModFactionReaction FightersGuild playerFaction -20

Функция ModFactionReaction изменяет отношение указанной в виде параметра фракции (FactionID) ко второй указанной фракции (TargetFactionID) на значение ModValue.
Смотрите раздел wiki "Фракции", чтобы узнать больше.
См. также: SetFactionReaction, GetFactionReaction, SetFactionRank, GetFactionRank, GetFactionRankDifference, ModFactionRank, GetInFaction
Относится к типу: Faction Functions

 

ModPCAttribute

Синтаксис:

ModPCAttribute StatName, Value

Пример:

ModPCAttribute Strength 1

Функция ModPCAttribute позволяет дать персонажу игрока прирост характеристики StatName на указанное значение Value, которое будет считаться в игре как "постоянное" (также, как вы увеличиваете атрибуты (attribute) при повышении уровня).
По сравнению с функцией ModPCSkill в данном случае Value не обязательно должно быть положительным.
См. также: Stats List, ModPCSkill
Относится к типу: Player Functions

 

ModPCFame

Синтаксис:

ModPCFame value

Пример:

ModPCFame 4

Функция ModPCFame добавляет значение к текущей положительной известности персонажа. Отметьте, что только у игрока может быть как положительное, так и отрицательное значения популярности.
Относится к типу - Player Functions

 

ModPCInfamy

Синтаксис:

ModPCInfamy value

Пример:

ModPCInfamy 3

Функция ModPCInfamy добавляет значение к текущей отрицательной известности персонажа игрока. Отметим, что только у игрока есть как положительное, так и отрицательное значения популярности.
Относится к типу - Player Functions

 

ModPCMiscStat

Синтаксис:

ModPCMiscStat MiscStatID Value

Пример:

ModPCMiscStat 12 1; изменяет статистику "сваренных зелий"

Функция ModPCMiscStat позволяет изменять любую запись (MiscStatID) из "неосновных" характеристик персонажа игрока на указанное значение Value.

Перечень MiscStatID:

0 DAYS IN PRISON 1 DAYS PASSED 2 SKILL INCREASES 3 TRAINING SESSIONS 4 LARGEST BOUNTY 5 CREATURES KILLED 6 PEOPLE KILLED 7 PLACES DISCOVERED 8 LOCKS PICKED 9 PICKS BROKEN 10 SOULS TRAPPED 11 INGREDIENTS EATEN 12 POTIONS MADE 13 OBLIVION GATES SHUT 14 HORSES OWNED 15 HOUSES OWNED 16 STORES INVESTED IN 17 BOOKS READ 18 SKILL BOOKS READ 19 ARTIFACTS FOUND 20 HOURS SLEPT 21 HOURS WAITED 22 DAYS AS A VAMPIRE 23 LAST DAY AS VAMPIRE 24 PEOPLE FED ON 25 JOKES TOLD 26 DISEASES CONTRACTED 27 NIRNROOTS FOUND 28 ITEMS STOLEN 29 ITEMS PICKPOCKETED 30 TRESPASSES 31 ASSAULTS 32 MURDERS 33 HORSES STOLEN

См. также: GetPCMiscStat, ModPCSkill, ModPCAttribute
Относится к типу - Player Functions

 

ModPCSkill

Синтаксис:

ModPCSkill SkillName Amount

Пример:

ModPCSkill Block 1

Функция ModPCSkill увеличивает указанный в виде параметра навык SkillName на требуемое значение Amount. Удостоверьтесь, что используется положительное число. Увеличение, по отношению к набору уровней, считается точно также, как и при обычном «наборе» навыка.
Чтобы понизить навык или поднять его без изменения уровня, используйте Player.SetActorValue.
Примечания:

  • В непропатченной игре ModPCSkill увеличит ваш уровень навыка на "1" и уменьшит значение использования навыка на требуемое значение для поднятия уровня. Если было 2.56/7.68 до вызова ModPCSkill, то после станет -5.12/(New Level Max). Повторные вызовы продолжат уменьшать значение использования навыка на каждый (New Level Max). Если вы уже близко к набору уровня, отрицательное значение будет маленьким и быстро уйдет, но если добавить больше одного уровня навыка, или вы часто вызываете ModPCSkill (или AdvancePCSkill), то такую нехватку придется долго компенсировать и уровень развития «застрянет».
  • В Beta Patch 1.1, вызов функции был исправлен, теперь он увеличивает уровень и устанавливает значение использования навыка в 0.0. Это исправило ситуацию с отрицательными значениями, но при вызове функции, когда вы близки к поднятию уровня, навык увеличится на значение, необходимое для поднятия уровня.

См. также: Stats List, SetActorValue, ModPCAttribute
Относится к типу: Player Functions

 

ModScale

Синтаксис:

[ObjectID.]ModScale Value

Пример:

ModScale 0.4

Функция ModScale увеличивает масштабный множитель, на который умножается размер вызывающего объекта (ObjectID), на указанное в виде параметра значение Value (переменная типа float). Функция строго прибавляющая — если текущий масштаб равен "1.2" и вы вызываете ModScale.5, новое значение масштабного множителя будет равно 1.7.
См. также: SetScale, GetScale
Относится к типу: Statistics Functions

 

MoveTo

Синтаксис:

[ActorID|Player.]MoveTo MarkerID, x, y, z (optional)

Пример:

MoveTo HiddenCaveMarker
MoveTo player, 512, 0, 0

Функция MoveTo перемещает вызывающего актера (ActorID) или персонажа игрока к местоположению указанного в виде параметра объекта (MarkerID). Параметры x, y, z — опциональное смещение в игровых единицах измерения (units) от указанного объекта.
Примечания:

  • Если функция используется для перемещения игрока, она действует как функция Return — следующие за ней строки в скрипте отработаны не будут.
  • Функция работает только с актерами. Использование ее для перемещения других типов объектов, например, контейнеров и активаторов, приведет только к обновлению координат объекта, но в игровом мире - нет.
    Дополнительные строки в скрипте могут быть необходимы, чтобы гарантировать корректное перемещение объекта:
myObject.disable myObject.moveTo [location] myObject.enable set xp to myObject.getPos x myObject.setPos x xp
  • Скриптовые функции, в которых одни актеры являются целью для других (подобно SayTo или StartCombat), работать не будут, если функция MoveTo используется на той же цели и в том же фрейме с этими функциями, даже если цель и переместится в сторону на несколько дюймов.

Прим. Vitalka: Некоторое дополнение по функциям MoveTo и MoveToMarker.

Если эти функции используются на игроке, то после них обязательно должна стоять функция Return. Причем между ними нельзя ставить никакие команды.
Так, например, нельзя:

Player.MoveTo HiddenCaveMarker Set a to b Return

А так можно:

Set a to b Player.MoveTo HiddenCaveMarker Return

Иначе появляются страшные "глюки". Во всяком случае, мне удалось выйти из положения именно таким образом.

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

 

См. также: PositionWorld, PositionCell, MoveToMarker

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

 

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

 

PlayBink

Синтаксис:

PlayBink filename.bik AllowEscapeFlag (optional)

Примеры:

PlayBink "MyNew.bik" (проигрывание Oblivion\data\video\MyNew.bik)
PlayBink "Mymod\MyNew.bik" (проигрывание Oblivion\data\video\Mymod\MyNew.bik)
Playbink "..\sound\videos\Mynew.bik" (проигрывание Oblivion\sound\videos\MyNew.bik)

Функция PlayBink позволяет проигрывать пользовательские видеофайлы в формате filename.bik.
Примечания:

  • Ваши файлы в формате *.bik (Bink files) должны находиться на вашем жестком диске и они не должны быть упакованы в файле BSA.
  • Имя файла нужно указывать в кавычках.
  • Путь к файлу должен быть следующим: Oblivion\Data\Video\
  • Если флаг AllowEscapeFlag не равен "0", то пользователь может прервать проигрывание файла *.bink при нажатии на клавишу ESC. В противном случае вам придется просматривать видео до конца.

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

 

PlayGroup

Cинтаксис:

PlayGroup GroupName, [flags]

Примеры:

PlayGroup Walk
PlayGroup Walk, 1

Функция PlayGroup проигрывает анимационную группу, определенную в GroupName.
Необязательный флаг [flags] может использоваться, чтобы начать прогрывание анимационной группы различными способами.
Флаги:

0 = Обычный (Normal) - текущая анимация проиграется до конца полного цикла, затем начнется проигрывание новой анимации с самого начала, со своего первого стартового фрейма.
1 = Немедленный старт (Immediate Start) – Установка флага в единицу приведет к немедленной остановке в текущем фрейме проигрываемой в данный момент анимационной группы, после чего начнется проигрывание новой анимации со своего стартового фрейма.
2 = Немедленный запуск цикла (петли) (Immediate Loop) – Установка флага в 2 приводит к немедленному прекращению проигрывания в текущем фрейме анимационной группы, после чего стартует новая анимация со своего стартового фрейма и будет воспроизводиться в цикле много раз (по петле).

Примечание:
Проигрывание этой функцией некоторых анимационных групп на персонаже игрока может его "заморозить" и он перестанет реагировать на ваши действия. Вернуть его в нормальное состояние поможет вызов функции PickIdle или вызов PlayGroup со следующими параметрами:

PlayGroup Idle, 1

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

 

PlayMagicEffectVisuals

Синтаксис:

[ObjectID.]PlayMagicEffectVisuals MagicEffectID, Duration (optional)

Пример:

PlayMagicEffectVisuals FIDG
PME FTHR 10

 

Функция PlayMagicEffectVisuals накладывает визуальную часть магического эффекта на вызывающем объекте (ObjectID). Визуализация накладывается, по крайней мере, на один цикл, вне зависимости от параметра duration (продолжительность), а если продолжительность не указана, то будет отображаться бесконечно или пока не окончится проигрывание анимации.
Заметьте, что для этой функции duration указывать не обязательно, она проиграется хотя бы раз, если вы не указали большую продолжительность.
Прим. ZomBoss:

  • Ф-я не дала результата в консоли.
  • Попытался задействовать этот проигрыватель эффектов. Нужно было поджечь дерево... Эффект нулевой.
PreloadMagicEffect FIDG
PlayMagicEffectVisuals FIDG 10
  • Когда я "прикрутил" на непися скрипт с функцией
PlayMagicEffectVisuals FIDG 10

то тоже никакого эффекта не увидел.

См. также: StopMagicEffectVisuals, PlayMagicShaderVisuals, StopMagicShaderVisuals
Относится к типу: Magic Functions

 

PlayMagicShaderVisuals

Синтаксис:

PlayMagicShaderVisuals EffectShaderID, Duration (optional)

Пример:

PlayMagicShaderVisuals GhostEffect
pms effectShockShield 10

 

Функция PlayMagicShaderVisuals накладывает визуализацию шейдерного эффекта на вызывающем объекте. Визуализация накладывается, по крайней мере, на один цикл, вне зависимости от параметра duration (продолжительность), а если продолжительность не указана, то будет показываться бесконечно или пока не окончится проигрывание анимации.

Список предустановленных шейдерных эффектов, которые могут применятся в магических эффектах или могут быть проиграны с помощью PlayMagicShaderVisuals:

 

• creatureAnvilMGPetImp • creatureEffectGhostAncient • creatureEffectLichNether • creatureEffectSkeletonChampion • creatureEffectSkeletonChampion2 • creatureEffectSkeletonGuardian • creatureEffectSkeletonHero • creatureEffectUndeadBlade • creatureEffectWraithFaded • creatureEffectWraithGreater • creatureEffectZombieDread • effectAbsorb • effectAtronachFlame • effectAtronachFrost • effectAtronachStorm • effectBurden • effectCalm • effectCharm • effectCommand • effectDamage • effectDemoralize • effectDestruction • effectDetectLife • effectDisease • effectDisintegrateArmor • effectDrain • effectEnchantAlteration • effectEnchantConjuration • effectEnchantDestruction • effectEnchantFireDamage • effectEnchantFrostDamage • effectEnchantIllusion • effectEnchantMysticism • effectEnchantPoison • effectEnchantRestoration • effectEnchantShockDamage • effectEnchantTurnUndead • effectFireDamage • effectFireDragon • effectFireShield • effectFortify • effectFortifyFatigue • effectFortifyHealth • effectFortifyMagicka • effectFrenzy • effectFrostDamage • effectFrostShield • effectLock • effectOpen • effectParalyze • effectPoison • effectRally • effectReanimate • effectReflect • effectReflectDamage • effectReflectSpell • effectResistNormalWeapons • effectRestore • effectRestoreHealth • effectShield • effectShockDamage • effectShockShield • effectSiegeCrawler • effectSilence • effectSoulTrap • effectSpellAbsorption • effectStone • effectSummonMythicDawn • effectSunDamage • effectTelekinesis • effectTG11Stone • effectTurnUndead • effectWeakness • GhostEffect • LifeDetected • testfireshader • testfrostshader • testwatershader    


Прим. ZomBoss:

При размещении на объекте

PlayMagicShaderVisuals effectFireDamage 10

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

См. также: PlayMagicEffectVisuals, StopMagicEffectVisuals, StopMagicShaderVisuals
Относится к типу: Magic Functions

 

PlaySound

Синтаксис:

PlaySound SoundID

Пример:

PlaySound SPLIllusionCast

Функция PlaySound проигрывает указанный в виде параметра SoundID звук, без определенного места звучания.
Примечание: Звуки для этой функции определяются в разделе КС Miscellaneous/Sounds.
Смотрите также: PlaySound3D, StreamMusic
Относится к типу: Miscellaneous Functions

 

PlaySound3D

Синтаксис:

[ObjectID.]PlaySound3D SoundID

Пример:

PlaySound3D SPLIllusionCast

Функция PlaySound3D проигрывает указанный в виде параметра SoundID звук, исходящий из точки нахождения вызывающего объекта ObjectID.
Примечание: Звуки для этой функции определяются в разделе конструктора Miscellaneous/Sounds.
Смотрите также: PlaySound, StreamMusic
Относится к типу: Miscellaneous Functions

 

PositionCell

Синтаксис:

[ObjectID.]PositionCell x, y, z, zRot, CellID
poscell x, y, z, zRot, CellID

Пример:

PositionCell 76345, 100.56, 215, 176, ScaryCavern

Функция PositionCell переносит вызывающий объект (ObjectID) во внутреннюю ячейку CellID с координатами x, y, z. Объект будет повернут на угол, определенный в параметре zRot. Все параметры - вещественные переменные.
Примечание: Почти всегда вы будете использовать функцию MoveTo вместо данной команды.

См. также: PositionWorld, MoveTo, MoveToMarker

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

 

PositionWorld

Синтаксис:

[ObjectID.]PositionWorld x, y, z, zRot, WorldID
PosWorld x, y, z, zRot, WorldID

Пример:

PositionWorld 76345, 100.56, 215, 176, Tamriel

Функция PositionWorld переносит объект (ObjectID) во внешнюю ячейку с координатами x, y, z в указанное игровое пространство мира. Объект будет повернут на угол, определенный в параметре zRot. Все параметры - вещественные переменные.
Примечание: Почти всегда вы будете использовать MoveTo вместо данной функции.

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

 

См. также: PositionCell, MoveTo, MoveToMarker

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

 

PreloadMagicEffect

Синтаксис:

PreloadMagicEffect EffectID

Пример:

PreloadMagicEffect BACU

Функция PreloadMagicEffect подгрузит частицы для магического эффекта, если они еще не загружены. Функция не делает ничего, если они уже в памяти. Используется только тогда, когда кастует заклинание не-актер, так как актеры подгружают свои заклинания автоматически.
Относится к типу: Magic Functions

 

R

 

RefreshTopicList

Синтаксис:

RefreshTopicList

Функция RefreshTopicList позволяет вручную обновить список тем диалога. Обычно этого делать не требуется, но бывает полезным в некоторых случаях (как правило, если скрипт работает в режиме вывода на экран различных меню (MenuMode).
Относится к типу: Dialogue Functions

 

ReleaseWeatherOverride

Синтаксис:

ReleaseWeatherOverride

Функция ReleaseWeatherOverride позволяет погоде меняться в нормальном динамическом ритме. Используется непосредственно после вызова функций SetWeather или ForceWeather с установленным флагом WeatherOverrideFlag.
См. также: SetWeather, ForceWeather, GetCurrentWeatherPercent

Относится к типу: Weather Functions | Condition Functions

 

RemoveAllItems

Синтаксис:

[ActorID|Player]RemoveAllItems TargetContainerID (optional), RetainOwnershipFlag (optional)

Пример:

RemoveAllItems
RemoveAllItems TreasureChest
RemoveAllItems FriendlyJailer, 1

Функция RemoveAllItems удаляет все предметы из инвентаря вызывающего актера (ActorID) или персонажа игрока. Если указан необязательный параметр - целевой контейнер или инвентарь (TargetContainerID), то объекты перемещаются в него, иначе они просто уничтожаются. Если указать флаг RetainOwnershipFlag = 1, то предметы остаются в собственности старых владельцев, иначе владение очищается.
Отметьте, что квестовые предметы этой функцией не перемещаются в инвентарь игрока, однако, если перемещение производится из контейнера в контейнер, то никаких ограничений для этой операции нет.
См. также: RemoveItem, GetItemCount, AddItem
Относится к типу: Object Functions

 

RemoveFlames

Синтаксис:

[ObjectID.]RemoveFlames

Функция RemoveFlames удаляет объект пламени FlameNode с вызывающего объекта ObjectID.


.

См. также: FlameNode (wiki), CanHaveFlames, HasFlames, AddFlames
Относится к типу: Object Functions

 

RemoveItem

Синтаксис:

[ActorID|Player.]RemoveItem ObjectID, Сount

Примеры:

RemoveItem Gold001 50
Ref MyItem Short count set MyItem to ArenaAkaviriLongSword set count to 1 player.removeitem MyItem Count

Функция RemoveItem удаляет из инвентаря вызывающего актера (ActorID) указанный в виде параметра объект (ObjectID) в количестве Сount.
Примечания:

  • В качестве ObjectID допустимо использовать ref-переменную (reference variable), а тип переменной для Count - как short (короткая целочисленная).
  • Если ObjectID относится к уровневому списку, то будет удален уровневый предмет, сгенерированный из него.

Примечание (Visman):

  • Если вы хотите удалить все предметы MyItem из контейнера и заранее знаете их максимально возможное число, то достаточно указать в качестве Сount большее значение и не определять его функцией GetItemCount:
player.removeitem MyItem 1000

 

См. также: GetItemCount, AddItem, RemoveAllItems
Относится к типу: Object Functions

 

RemoveMe

Синтаксис:

[ItemID.]RemoveMe TargetContainerID (optional)

Пример:

RemoveMe
RemoveMe player

Вызов функции RemoveMe позволяет удалять вызывающий объект (ItemID) из инвентаря или контейнера, в котором он находится (если это возможно). Если указан необязательный параметр - целевой инвентарь или контейнер (TargetContainerID), то объект перемещается в него.
Примечания:

  • Эта функция действует при вызове аналогично функции "Return" – т.е., строки скрипта, следующие непосредственно за ней, выполняться НЕ БУДУТ (так как объект просто уничтожает сам себя в процессе удаления из инвентаря).
  • Эта функция не выводит на экран сообщение "xxx был удален"
  • Когда вы используете функцию RemoveMe сразу же после того, как объект был добавлен в инвентарь, то такая операция может вызвать различные непредсказуемые вылеты из игры. Для предупреждения таких ситуаций есть простой способ - установить задержку для выполнения функции RemoveMe на время, превышающие один фрейм. Установив счетчик на 10, вы задержите выполнение функции RemoveMe, добавив один шаг при каждом вызове режимов MenuMode или GameMode, и достигнете таким образом необходимой цели.
  • Когда функция RemoveMe вызывается в меню обмена (barter-menu; например, в пределах блока OnAdd), могут происходить вылеты, когда предмет в скрипте суммирующийся и вы продаете более чем один из них, а затем переключаетесь с продажи на покупку. Чтобы это предотвратить, перед удалением предмета следует или дождаться закрытия диалогового окна меню обмена (Menumode=1009), или не использовать такой скрипт вообще в отношении суммирующихся неуникальных предметов (стрел, например).

См. также: DropMe, Drop
Относится к типу: Object Functions

 

RemoveScriptPackage

Синтаксис:

[ActorID.]RemoveScriptPackage

Примеры: (Из скрипта MS45DarMaScript)

if getiscurrentPackage MS45DarMaPrisonerGreetPlayer == 1 If getinsamecell player == 0 removescriptpackage endif endif

Функция RemoveScriptPackage исключает любой текущий выполняемый скриптовый пакет для вызывающего актера (ActorID). Это бывает иногда необходимо, если вы добавили скриптовый пакет, который был вызван для бессрочного выполнения.
Примечание: Удаление скриптового пакета в случаях, когда у вызывающего актера скриптовых пакетов нет, может привести к прекращению работы скриптовых пакетов у всех копий данного персонажа, размещенных в игровом мире. Поэтому использовать данную функцию следует на актерах, у которых определены пакеты AI с одним или несколькими условиями.
См. также: AddScriptPackage
Относится к типу - AI Functions

 

RemoveSpell

Синтаксис:

[ActorID.]RemoveSpell SpellID

Примеры:

RemoveSpell DisTickleBritch
If Removespell WeirdAbility == 0; Toggle Ability on/off Addspell WeirdAbility Endif

Функция RemoveSpell удаляет указанное заклинание SpellID из списка заклинаний вызывающего актера (ActorID). Функция возвращает "1", если заклинание успешно удалено, и "0" — если заклинание не может быть удалено (например, его просто нет в списке).
См. также: AddSpell, List of existing scripts that use AddSpell (wiki)

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

 

Reset3Dstate

Синтаксис:

Reset3DState

Функция Reset3DState очищает любые сохраненные данные об анимации/физике объекта. Используется, в основном, для сброса ловушек после их использования.
Относится к типу: Miscellaneous Functions

 

ResetFallDamageTimer

Синтаксис:

[ObjectID.]ResetFallDamageTimer

Функция ResetFallDamageTimer сбрасывает таймер падения. При сбросе таймера вызывающий объект (ObjectID) получает повреждения при падении так, как будто он начал падать только что.
Относится к типу: Miscellaneous Functions

 

ResetHealth

Синтаксис:



Поделиться:


Последнее изменение этой страницы: 2016-07-11; просмотров: 217; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 52.15.113.71 (0.015 с.)