- •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)
- •4.4.9 Переменные для хранения копий (Reference variable)
- •5. Ваш второй скрипт
- •5.1 Содержание
- •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. Заключение.
- •Дерзайте и да пребудет с вами удача!
IsOwner
Синтаксис:
-
[ObjectID.]IsOwner NPC/FactionID (optional)
Примеры:
-
SpecialObject.IsOwner BladesFaction
SpecialObject.IsOwner AmuseiRef
SpecialObject.IsOwner
Функция IsOwner возвращает "1", если вызывающий объект (ObjectID) находится во владении указанной фракции/NPC (NPC/FactionID). Проверяется только истинное владение объектом, не принимая во внимание владельца ячейки. Если функция вызвана без параметра, то возвращается "1", если вызывающим объектом владеет игрок (т.е., владельца нет). Этот код не работает:
-
IsOwner Player
Относится к типу: Object Functions | Condition Functions
IsPCAMurderer
Синтаксис:
-
[ActorID.]IsPCAMurderer
Функция IsPCAMurderer возвращает "1", если вызывающий актер (ActorID) когда-нибудь убивал NPC. Относится к типу: Player Functions | Condition Functions
IsPCSleeping
Синтаксис:
-
IsPCSleeping
Функция IsPCSleeping возвращает "1", если персонаж игрока в данный момент спит. Относится к типу: Player Functions | Condition Functions
IsPlayerInJail
Синтаксис:
-
IsPlayerInJail
Функция IsPlayerInJail возвращает "1", если персонаж игрока в данный момент находится «в тюрьме». Относится к типу: Crime Functions | Player Functions | Condition Functions
IsPlayerMovingIntoNewSpace
Синтаксис:
-
IsPlayerMovingIntoNewSpace
Функция IsPlayerMovingIntoNewSpace возвращает "1", если персонаж игрока в данный момент находится в процессе перехода в новое пространство, т.е. использует «fast travel» или идет через загружающую дверь. Применение этой функции может вызывать недоумение, но ее полезно помещать на любые пакеты «follow», которые обусловлены местоположением игрока. Скажем, есть NPC, чей пакет «follow» за игроком определен так, чтобы он не заходил во внутренние ячейки и не покидал Skingrad. Проблема в том, что последователи перемещаются до того, как прибывает игрок, так что они не пересчитывают, что цель уже во внутренней ячейке или за пределами Skingrad, пока они и игрок не будут уже в новом месте — получаем NPC, который перемещается с вами, а затем топает пешком до Skingrad, где бы вы ни оказались. Эта функция возвращает истину, когда игрок находится в середине загрузки в новую ячейку или в процессе «fast travelling» — так что, если поместить
-
IsPlayerMovingIntoNewSpace == 0
как условие для пакета «follow», он пересчитается во время загрузки и не пойдет за игроком за Skingrad или во внутренние ячейки. Относится к типу: Player Functions | Condition Functions
