Мы поможем в написании ваших работ!
ЗНАЕТЕ ЛИ ВЫ?
|
Переключатели форматирования (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), и ТОЛЬКО скрипт может вернуть его назад. Другими словами, если есть скрипт
вы также должны сделать
иначе эти 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 изменяет сохраненное значение общей стоимости проданных игроком украденных вещей на указанное в виде параметра iValue значение. См. также: GetAmountSoldStolen Относится к типу: Player Functions | Condition Functions
ModBarterGold
Синтаксис:
Пример:
Функция ModBarterGold изменяет количество золота для торговли на указанное в виде параметра значение (float). См. также: SetBarterGold, GetBarterGold Относится к типу: Statistics Functions | Actor Functions
ModCrimeGold
Синтаксис:
[ActorID.]ModCrimeGold float
| Пример:
Функция 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 добавляет значение к текущей положительной известности персонажа. Отметьте, что только у игрока может быть как положительное, так и отрицательное значения популярности. Относится к типу - Player Functions
ModPCInfamy
Синтаксис:
Пример:
Функция 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 увеличивает указанный в виде параметра навык 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 увеличивает масштабный множитель, на который умножается размер вызывающего объекта (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 изымает из инвентаря игрока количество "криминального" золота, сворованного им, а также конфискует все украденные предметы, очищая таким образом инвентарь от всего "нажитого непосильным трудом". Примечания:
- Тюрьма содержит пару связанных дверей-маркеров ("Prisonmarker"). Один маркер установлен непосредственно в интерьере тюремной камеры, а второй - во внешней локации, куда персонаж игрока будет перемещен после отбывания наказания.
- Конфискованные у игрока ворованные предметы помещены в ящик "Ворованные предметы" (Stolengoods), который находится в той же внутренней ячейке тюрьмы, что и маркер (Prisonmarker).
См. также: GoToJail, PayFineThief Относится к типу: Crime Functions
PayFineThief
Синтаксис:
Функция PayFineThief изымает в виде штрафа все "криминальное" золото, сворованное игроком. См. также: PayFine Относится к типу: Crime Functions
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 со следующими параметрами:
Относится к типу: 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 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 подгрузит частицы для магического эффекта, если они еще не загружены. Функция не делает ничего, если они уже в памяти. Используется только тогда, когда кастует заклинание не-актер, так как актеры подгружают свои заклинания автоматически. Относится к типу: Magic Functions
R
RefreshTopicList
Синтаксис:
Функция RefreshTopicList позволяет вручную обновить список тем диалога. Обычно этого делать не требуется, но бывает полезным в некоторых случаях (как правило, если скрипт работает в режиме вывода на экран различных меню (MenuMode). Относится к типу: Dialogue Functions
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
Синтаксис:
Функция 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 позволяет удалять вызывающий объект (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 очищает любые сохраненные данные об анимации/физике объекта. Используется, в основном, для сброса ловушек после их использования. Относится к типу: Miscellaneous Functions
ResetFallDamageTimer
Синтаксис:
[ObjectID.]ResetFallDamageTimer
| Функция ResetFallDamageTimer сбрасывает таймер падения. При сбросе таймера вызывающий объект (ObjectID) получает повреждения при падении так, как будто он начал падать только что. Относится к типу: Miscellaneous Functions
ResetHealth
Синтаксис:
|