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

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

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