- •8.1 Основные сведения 154
- •Предметные указатели по функциям (поиск и навигация) Предметный указатель по функциям Обливиона
- •Предметный указатель по консольным функциям
- •1. Предисловие к первому изданию
- •Немного о скриптах
- •Предпосылки для написания нового учебника - osfm
- •Реализация проекта osfm
- •Состав учебника osfm v1.2
- •Полезные ссылки на obse
- •Источники информации и проект
- •О нашей команде
- •Благодарности
- •И в заключение...
- •2. Введение
- •2.1 Как использовать это руководство.
- •2.2 Что такое скрипт?
- •2.3 Что могут скрипты?
- •2.4 Чего не могут скрипты?
- •2.5 Основные отличия в скриптинге tes 3 и tes 4
- •3. Обучающий курс
- •3.1 С чего начинать?
- •3.2 Редактор скриптов (Edit Scripts)
- •3.2.1 Основные сведения.
- •3.2.2 Пункт меню Script.
- •3.2.3 Пункт главного меню Edit.
- •3.2.4 Пункт главного меню Help.
- •3.2.5 Панель инструментов.
- •3.3 Назначение и главная цель вашего скрипта
- •3.4 Ваш первый скрипт
- •4. Основы скриптинга
- •4.1 Общая информация
- •4.2 Типы скриптов
- •4.2.1 Общие сведения о типах скриптов.
- •Локальные скрипты.
- •Нелокальные скрипты.
- •Именованные скрипты.
- •Объектные скрипты.
- •Квестовые скрипты.
- •Скрипты для магических эффектов.
- •Результирующие скрипты.
- •4.2.2 Как часто обрабатываются скрипты (Script Processing)
- •4.3 Команды (Commands)
- •4.3.1 Общие сведения о командах (Commands)
- •4.3.2 Команда Scriptname (название скрипта)
- •4.3.3 Команды объявления переменных (Declaring variables)
- •4.3.4 Команды Begin (начало блока) и End (конец блока)
- •4.3.5 Типы выполняемых блоков (BlockTypes).
- •GameMode
- •MenuMode
- •OnActivate
- •OnActorEquip
- •OnActorUnequip
- •OnAlarm
- •OnAlarmVictim
- •OnDeath
- •OnEquip
- •OnHitWith
- •OnKnockout
- •OnMagicEffectHit
- •OnMurder
- •OnPackageChange
- •OnPackageDone
- •OnPackageStart
- •OnReset
- •OnStartCombat
- •OnTrigger
- •OnTriggerActor
- •OnTriggerMob
- •OnUnequip
- •ScriptEffectFinish
- •ScriptEffectStart
- •ScriptEffectUpdate
- •4.3.6 Команда "." (точка - UseReference)
- •4.3.7 Команда Set (установить)
- •4.3.8 Команда Return (возврат)
- •4.3.9 Конструкция из команд If, ElseIf, Else, EndIf.
- •Синтаксис команд If, ElseIf, Else, EndIf
- •Операторы сравнения
- •Объединение сравнений
- •Сравнения и выражения
- •Примечания
- •4.4 Переменные (Variables)
- •4.4.1 Классификация переменных
- •Переменные
- •Классификация
- •4.4.2 Глобальные переменные (Globals)
- •Описание свойств диалогового окна Globals:
- •Глобальные переменные, обрабатываемые Oblivion.Exe:
- •Глобальные переменные, обрабатываемые в скриптах и диалогах:
- •Глобальная переменная pcVampire.
- •4.4.3 Специальные переменные (Special variables)
- •Специальные глобальные переменные:
- •Игровые месяцы:
- •4.4.4 Локальные переменные с особыми функциями:
- •4.4.5 Типы переменных
- •4.4.6 Целочисленные короткие переменные (Variable types: shortint)
- •4.4.7 Целочисленные длинные переменные (Variable types: longint)
- •4.4.8 Вещественные переменные (Variable types: floating point)
- •5. Ваш второй скрипт
- •5.1 Содержание
- •4.4.9 Переменные для хранения копий (Reference variable)
- •5.2 Введение
- •5.3 Информация о написании скриптов в Oblivion Что такое скрипт?
- •Что могут скрипты?
- •Чего не могут скрипты
- •5.4 Учебник скриптов: до написания кода.
- •Начинаем!
- •Окно редактирования скриптов
- •Что мы хотим?
- •Написание скрипта
- •5.5 Учебник скриптов: первые строки. Называем скрипт
- •Команды "Begin" и "End"
- •Выдача текстового сообщения и получение ответа от игрока.
- •Как выполняются объектные скрипты
- •5.6 Учебник скриптов: первый тест Сохранение и подготовка модификации.
- •Скрипт в игре
- •5.7 Учебник скриптов: выбор игрока, ошибки и исправления. Выбор игроком варианта ответа
- •Первые ошибки и исправления
- •5.8 Учебник скриптов: добавляем ловушку.
- •5.9 Как узнать больше.
- •5.10 Заключительные строки.
- •6. Функции в tes 4
- •6.1 Что такое функция? (Function)
- •6.2 Типы функций (Function Types)
- •6.3 Работа функций с копиями объектов
- •6.4 Описание функций tes 4 Oblivion
- •Activate
- •AddAchievement
- •AddFlames
- •AddItem
- •AddScriptPackage
- •AddSpell
- •AddTopic
- •AdvancePcLevel ( advLevel )
- •AdvancePcSkill ( advSkill)
- •CloseCurrentOblivionGate
- •CloseOblivionGate
- •CompleteQuest
- •CreateFullActorCopy
- •DeleteFullActorCopy
- •Disable
- •DisableLinkedPathPoints
- •DisablePlayerControls
- •DispelAllSpells
- •DuplicateAllItems
- •DuplicateNpcStats
- •EnableFastTravel
- •EnableLinkedPathPoints
- •EnablePlayerControls
- •EquipItem
- •EssentialDeathReload
- •EvaluatePackage ( evp)
- •ForceActorValue ( ForseAv )
- •ForceCloseOblivionGate
- •ForceFlee
- •ForceTakeCover
- •ForceWeather
- •Id погоды для консольного использования (Console iDs):
- •GetActionRef
- •GetActorValue (GetAv)
- •GetAlarmed
- •GetAmountSoldStolen
- •GetAngle
- •GetArmorRating
- •GetArmorRatingUpperBody
- •GetAttacked
- •GetBarterGold
- •GetBaseActorValue (GetBaseAv)
- •GetButtonPressed
- •GetClassDefaultMatch
- •GetClothingValue
- •GetCombatTarget
- •GetContainer
- •GetCrime
- •GetCrimeGold
- •GetCrimeKnown
- •GetCurrentAiPackage
- •GetCurrentAiProcedure
- •GetCurrentTime
- •GetCurrentWeatherPercent
- •GetDayOfWeek
- •GetDead
- •GetDeadCount
- •GetDestroyed
- •GetDetected
- •GetDetectionLevel
- •GetDisabled
- •GetDisease
- •GetDisposition
- •GetDistance
- •GetDoorDefaultOpen
- •GetEquipped
- •GetFactionRank
- •GetFactionRankDifference
- •GetFactionReaction
- •GetFatiguePercentage
- •GetForceRun
- •GetForceSneak
- •GetFriendHit
- •GetFurnitureMarkerId
- •GetGameSetting ( getGs )
- •GetGlobalValue
- •GetGold
- •GetHeadingAngle
- •GetIdleDoneOnce
- •GetIgnoreFriendlyHits
- •GetInCell
- •GetInCellParam
- •GetInFaction
- •GetInSameCell
- •GetInWorldSpace
- •GetInvestmentGold
- •GetIsAlerted
- •GetIsClass
- •GetIsClassDefault
- •GetIsCreature
- •GetIsCurrentPackage
- •GetIsCurrentWeather
- •GetIsGhost
- •GetIsId
- •GetIsSex
- •GetIsUsedItem
- •GetIsUsedItemType
- •GetItemCount
- •GetKnockedState
- •GetLevel
- •GetLockLevel
- •GetPcExpelled
- •GetPcFactionAttack
- •GetPcFactionMurder
- •GetPcFactionSteal
- •GetPcFactionSubmitAuthority
- •GetPcFame
- •GetPcInFaction
- •GetPcInfamy
- •GetPcIsClass
- •GetPcIsRace
- •GetPcIsSex
- •GetPcMiscStat
- •GetQuestVariable
- •GetRandomPercent
- •GetRestrained
- •GetScale
- •GetScriptVariable
- •GetSecondsPassed
- •GetSelf
- •GetShouldAttack
- •GetSitting
- •GetSleeping
- •GetStage
- •GetStageDone
- •GetStartingAngle
- •GetStartingPos
- •GetTalkedToPc
- •GetTalkedToPcParam
- •GetTimeDead
- •GetTotalPersuasionNumber
- •GetTrespassWarningLevel
- •GetUnconscious
- •GetUsedItemActivate
- •GetUsedItemLevel
- •GetVampire
- •GetWalkSpeed
- •GetWeaponAnimType
- •GetWeaponSkillType
- •GetWindSpeed
- •GoToJail
- •HasFlames
- •HasMagicEffect
- •HasVampireFed
- •IsActionRef
- •IsActor
- •IsActorAVictim
- •IsActorDetected
- •IsActorEvil
- •IsCloudy
- •IsContinuingPackagePcNear
- •IsCurrentFurnitureObj
- •IsCurrentFurnitureRef
- •IsEssential
- •IsFacingUp
- •IsGuard
- •IsHorseStolen
- •IsIdlePlaying
- •IsLeftUp
- •IsOwner
- •IsPlayersLastRiddenHorse
- •IsPleasant
- •IsRaining
- •IsRidingHorse
- •IsRunning
- •IsShieldOut
- •IsSneaking
- •IsSnowing
- •IsSpellTarget
- •IsSwimming
- •IsTalking
- •IsTimePassing
- •KillAllActors
- •LoopGroup
- •MenuMode (Function)
- •Message
- •MessageBox
- •ModActorValue
- •ModAmountSoldStolen
- •ModBarterGold
- •ModCrimeGold
- •ModDisposition
- •ModFactionRank
- •ModFactionReaction
- •ModPcAttribute
- •ModPcFame
- •ModPcInfamy
- •ModPcMiscStat
- •ModPcSkill
- •ModScale
- •MoveToMarker
- •PayFine
- •PayFineThief
- •PickIdle
- •PlaceAtMe
- •PlayBink
- •PlayGroup
- •PlayMagicEffectVisuals
- •PlayMagicShaderVisuals
- •PlaySound
- •PlaySound3d
- •PositionCell
- •PositionWorld
- •PreloadMagicEffect
- •RefreshTopicList
- •ReleaseWeatherOverride
- •RemoveAllItems
- •RemoveFlames
- •RemoveItem
- •RemoveMe
- •RemoveScriptPackage
- •RemoveSpell
- •Resurrect
- •SameFaction
- •ScriptEffectElapsedSeconds
- •SelectPlayerSpell
- •SendTrespassAlarm
- •SetActorAlpha
- •SetActorFullName
- •SetActorRefraction
- •SetActorValue
- •SetAlert
- •SetAllReachable
- •SetAllVisible
- •SetAngle
- •SetAtStart
- •SetBarterGold
- •SetCellFullName
- •SetCellOwnership
- •SetCellPublicFlag
- •SetClass
- •SetCombatStyle
- •SetCrimeGold
- •SetDestroyed
- •SetDoorDefaultOpen
- •SetEssential
- •SetFactionRank
- •SetFactionReaction
- •SetForceRun
- •SetForceSneak
- •SetGhost
- •SetIgnoreFriendlyHits
- •SetInCharGen
- •SetInvestmentGold
- •SetItemValue
- •SetLevel
- •SetNoAvoidance
- •SetNoRumors
- •SetOpenState
- •SetOwnership
- •SetPcExpelled
- •SetPcFactionAttack
- •SetPcFactionMurder
- •SetPcFactionSteal
- •SetPcFactionSubmitAuthority
- •SetPcFame
- •SetPcInfamy
- •SetPcSleepHours
- •SetPackDuration
- •SetQuestObject
- •SetRestrained
- •SetRigidBodyMass
- •SetScale
- •SetSceneIsComplex
- •SetShowQuestItems
- •SetSize
- •SetStage
- •SetUnconscious
- •SetWeather
- •ShowRaceMenu
- •ShowSpellMaking
- •SkipAnim
- •StartCombat
- •StartConversation
- •StartQuest
- •StopCombat
- •StopCombatAlarmOnActor
- •StopLook
- •StopMagicEffectVisuals
- •StopMagicShaderVisuals
- •StopQuest
- •StopWaiting
- •StreamMusic
- •ToggleActorsAi
- •TrapUpdate
- •TriggerHitShader
- •UnequipItem
- •VampireFeed
- •WakeUpPc
- •WhichServiceMenu
- •7. Console Functions
- •7.1 Общие сведения.
- •7.2 Полный перечень консольных функций.
- •7.3 Описания консольных функций (Console functions)
- •FlushNonPersistActors (Flush)
- •FreezeRenderAccumulation (fra)
- •OutputMemStats (oms)
- •PickRefById (prid)
- •PlayerSpellBook (psb)
- •PrintAiList (Pai)
- •PrintHdrParam (php)
- •PrintNpcDialog (pDialog)
- •PurgeCellBuffers (pcb)
- •SetCameraFov (fov)
- •SetClipDist
- •Отрицательные числа
- •Interior Cell Buffer: [int] (буфер интерьеров)
- •14 И выше…
- •8.1 Основные сведения
- •8.2 Различия в версиях.
- •8.3 Установка obse:
- •8.4 Диагностика и проблемы
- •8.5 Типы скриптовых функций obse
- •9. Заключение.
- •Дерзайте и да пребудет с вами удача!
14 И выше…
Установка iDebugText в 14 и выше не приведет к выводу полезной информации или выведет информацию, как iDebugText 0: Протестировано на Oblivion v1.1 beta patch:
sdt 14-23 включительно показывает 10 страниц данных об исходных текстурах. На тестовом компьютере данные сменялись раз в секунду, и их трудно было прочитать с экрана.
sdt 24 показывает надпись "Profiler Not Enabled" и FPS.
sdt 25 показывает надпись "Profiler(MAX) Not Enabled" и FPS.
sdt 26 показывает надпись "Heap Stats" и FPS.
sdt 27 показывает надпись "Mem Context Not Enabled" и FPS.
sdt 28 показывает надпись "SystemMem Context Not Enabled" и FPS.
sdt 29 показывает "SaveGame Info", относящиеся к сохранениям и FPS.
sdt 30 показывает "Paths to Build", FPS и данные "Paths Completed".
sdt 31 показывает информацию о локации и FPS.
sdt 32 показывает то же, что и sdt с отрицательными значениями.
sdt 33 показывает то же, что и sdt 0.
sdt больше 33 показывает то же самое, что и sdt 33. (протестировано до "sdt 40".)
Примечания:
Требуется подтверждение информации для Oblivion v1.1 beta patch.
Требуется также подтверждение, могут ли определенные страницы отладочной информации быть открыты с помощью oblivion.ini
Конец статьи “DebugText”.
ToggleDetection (TDetect)
Вызывается на объекте: нет
Параметры: нет
Zomb: Включает/выключает AI DETECTION. NPC перестают друг друга видеть и не вступают в разговоры между собой.
ToggleDetectionStats (TDS)
Вызывается на объекте: нет
Параметры: нет
Описание: Показывает характеристики обнаружения у текущей копии.
Zomb: Эффекта не заметил
ToggleEmotions (TEMO)
Вызывается на объекте: нет
Параметры: нет
Описание: Включает/Отключает эмоции на лице NPC.
ToggleFlyCam (TFC)
Вызывается на объекте: нет
Параметры: нет
Описание: Включает/Отключает свободно летающую камеру (камеру НЛО).
Zomb: Классная штука! Плейер стоит на месте, а вы управляете движением камеры. Можно полетать, посмотреть, что где творится. Камера проходит сквозь стены и землю. Zig: Называется свободная камера. Незаменимая вещь для создания видеоклипов.
ToggleFogOfWar (TFOW)
Вызывается на объекте: нет
Параметры: нет
Zomb: Описание: Включает/отключает туман войны на локальной карте.
ToggleFullHelp (TFH)
Вызывается на объекте: нет
Параметры: нет
Описание: Вкл/откл полную справку
Zomb: Если кликнуть по объекту консольной стрелкой, показывает номер скрипта, владельца, установленные флаги и другую информацию об объекте.
ToggleGodMode (TGM)
Вызывается на объекте: нет
Параметры: нет
Описание: Вкл/откл режим бога
ToggleGrass (TG)
Вызывается на объекте: нет
Параметры: нет
Описание: Вкл/откл отображение травы.
ToggleGrassUpdate (TGU)
Вызывается на объекте: нет
Параметры: нет
Zomb: Описание: отключает дорисовку травы вокруг игрока. Срабатывает в новой ячейке.
ToggleHDRDebug (THD)
Вызывается на объекте: нет
Параметры: нет
Описание: Вкл/откл отладочные текстуры HDR.
Zomb: Показывает в углу картинку экрана с выделенными участками, обрабатываемыми HDR (наверно)
ToggleHighProcess (THighProcess)
Вызывается на объекте: нет
Параметры: нет
Zomb: Описание: включает/выключает IA для неписей с Hi Processing
ToggleLeaves (TLV)
Вызывается на объекте: нет
Параметры: нет
Zomb: Описание: Включает/выключает листву на деревьях и кустах.
ToggleLiteBrite (TLB)
Вызывается на объекте: нет
Параметры: нет
Описание: Toggles lite brite render mode.
Zomb: Создаёт на земле какую-то серо-белую поверхность. Она неоднородная по тону и не совсем плоская. Что означает, не понял. Если бы это был Морровинд, то я подумал бы, что она показывает вертексы тени.
ToggleLODLand (TLL)
Вызывается на объекте: нет
Параметры: нет
Zomb: Вкл/Откл LOD. При выкл LOD отключается отрисовка дальних земель и опускается туман.
ToggleLowProcess (TLowProcess)
Вызывается на объекте: нет
Параметры: нет
Zomb: Описание: Аналогична ToggleHighProcess, но отключает ИИ для TLOWPROCESS.
ToggleMagicStats (TMS)
Вызывается на объекте: нет
Параметры: нет
Zomb: Описание: Включает/выключает статистики по магии (я не заметил работы)
ToggleMapMarkers (TMM)
Вызывается на объекте: нет
Параметры: iValue
Zomb: Описание: Вкл/откл маркеры локаций на глобальной карте (1-показывает все, 0-скрывает все).
ToggleMaterialGeometry (TMG)
Вызывается на объекте: нет
Параметры: нет
Zomb: Описание: Показывает материальную геометрию. Очень похоже на TCG.
ToggleMenus (TM)
Вызывается на объекте: нет
Параметры: нет
Описание: Скрывает все меню. Используется для создания скриншотов.
ToggleMiddleHighProcess (TMHighProcess)
Вызывается на объекте: нет
Параметры: нет
Zomb: Описание: Аналогично ToggleHighProcess, но отключает ИИ для MiddleHigh Process.
ToggleMiddleLowProcess (TMLowProcess)
Вызывается на объекте: нет
Параметры: нет
Zomb: Описание: Аналогично ToggleHighProcess, но отключает ИИ для MiddleLow Process.
ToggleOcclusion (TOCC)
Вызывается на объекте: нет
Параметры: нет
Описание: toggle occlusion query for geometry
Zomb: Под воздействием света (у меня был факел) начинают пропадать части моделей актеров. Zig: Команда почему-то сделала Обливион похожим на Морроувинд.
TogglePathGrid (TPG)
Вызывается на объекте: нет
Параметры: нет
Zomb: Описание: Включает/выключает показ сети путевых точек (PathGrid)
TogglePathLine (TPL)
Вызывается на объекте: нет
Параметры: нет
Zomb: Ненадолго включает отображение пути актера из ближайших путевых точек и цели движения.
ToggleRefractionDebug (TRD)
Вызывается на объекте: нет
Параметры: нет
Описание: Toggles refraction debug render texture.
Zomb: Эффекта не заметил
ToggleSafeZone (TSZ)
Вызывается на объекте: нет
Параметры: нет
Описание: Display the television 85% safe zone.
Zomb: Эффекта не заметил
ToggleScripts (TSCR)
Вызывается на объекте: нет
Параметры: нет
Описание: Вкл/откл исполнение скриптов.
ToggleShadowVolumes (TSV)
Вызывается на объекте: нет
Параметры: нет
Zomb: Эффекта не заметил
ToggleSky (TS)
Вызывается на объекте: нет
Параметры: нет
Zomb: Описание: Вкл/выкл отрисовку неба
ToggleTrees (TT)
Вызывается на объекте: нет
Параметры: нет
Описание: Вкл/откл деревья
ToggleWaterRadius (TWR)
Вызывается на объекте: нет
Параметры: нет
Zomb: Показывает маркеры на земле и воде. Если вода близко - показывает на неё направление.
ToggleWaterSystem (TWS)
Вызывается на объекте: нет
Параметры: нет
Zomb: Описание: Вкл/откл графическую систему воды.
ToggleWirefFrame (TWF)
Вызывается на объекте: нет
Параметры: нет
Описание: Отображает мир в виде проволочного каркаса.
V
Verbose
Вызывается на объекте: нет
Параметры: нет
Описание: Вкл/откл многословные сообщения ИИ/боя
W
WaterDeepColor (DEEP)
Вызывается на объекте: нет
Параметры: iValue1, iValue2, iValue3
Описание: Изменяет глубину цвета воды
WaterReflectionColor (REFL)
Вызывается на объекте: нет
Параметры: iValue1, iValue2, iValue3
Описание: Изменяет цвета преломления воды
WaterShallowColor (Shallow)
Вызывается на объекте: нет
Параметры: iValue1, iValue2, iValue3
Описание: Изменяет цвет воды на мелководье
OBSE
8. Расширитель функций скриптового языка (OBSE)
Oblivion Script Extender Авторы: Ian Patterson (ianpatt), Stephen Abel (behippo) и Paul Connelly (scruggsywuggsy the ferret)
Участники: Timeslip, The J
Сайт разработчиков: http://obse.silverlock.org/
Текущая версия на момент релиза учебника – OBSE v0016 beta
Скачать "Oblivion Script Extender ": http://obse.silverlock.org/
Документация (англ.): http://obse.silverlock.org/obse_command_doc.html
Демонстрационное видео (15МВ): http://obse.silverlock.org/download/OBSE_v0009_Demo.wmv
Официальный форум: http://www.bethsoft.com/bgsforums/index.php?showtopic=738400
