mwscript⚓︎
Warning
This API is deprecated. See below for more information about what to use instead.
The mwscript library allows vanilla mwscript functions to be called. This is not always ideal, and this library is deprecated. Avoid using it if at all possible.
Functions⚓︎
mwscript.activate
⚓︎
Use tes3reference:activate()
or tes3.setAIActivate()
instead. Wrapper for the Activate
mwscript function.
mwscript.activate({ reference = ... })
Parameters:
params
(table): Optional.reference
(tes3reference, tes3mobileActor, string): Optional. The target reference for this command to be executed on. Defaults to the normal script execution reference.
mwscript.addItem
⚓︎
Use tes3.addItem()
, tes3inventory:addItem()
, or depending on your needs tes3mobileActor:equip()
instead. Wrapper for the AddItem
mwscript function.
local executed = mwscript.addItem({ reference = ..., item = ..., count = ... })
Parameters:
params
(table)reference
(tes3reference, tes3mobileActor, string): Optional. The target reference for this command to be executed on. Defaults to the normal script execution reference.item
(tes3item, string): The item to be added.count
(number): Default:1
. The number of items to be added.
Returns:
executed
(boolean)
mwscript.addSoulGem
⚓︎
Use tes3.addItem()
with the soul
parameter instead. Wrapper for the AddSoulGem
mwscript function.
local executed = mwscript.addSoulGem({ reference = ..., creature = ..., soulgem = ... })
Parameters:
params
(table)reference
(tes3reference, tes3mobileActor, string): Optional. The target reference for this command to be executed on. Defaults to the normal script execution reference.creature
(tes3creature, string): The creature to be stored in the soul gem.soulgem
(tes3misc, string): The soul gem to store the soul in.
Returns:
executed
(boolean)
mwscript.addSpell
⚓︎
Use tes3.addSpell()
or tes3spellList:add()
instead. Wrapper for the AddSpell
mwscript function.
local executed = mwscript.addSpell({ reference = ..., spell = ... })
Parameters:
params
(table)reference
(tes3reference, tes3mobileActor, string): Optional. The target reference for this command to be executed on. Defaults to the normal script execution reference.spell
(tes3spell, string)
Returns:
executed
(boolean)
mwscript.addToLevCreature
⚓︎
Use tes3leveledCreature:insert()
instead. Wrapper for the AddToLevCreature
mwscript function.
local executed = mwscript.addToLevCreature({ list = ..., creature = ..., level = ... })
Parameters:
params
(table)list
(tes3leveledCreature, string): Leveled creature list to add a creature to.creature
(tes3actor, string): Creature to add to the list.level
(number): Default:0
. Minimum level for the creature to spawn.
Returns:
executed
(boolean)
mwscript.addToLevItem
⚓︎
Use tes3leveledItem:insert()
instead. Wrapper for the AddToLevItem
mwscript function.
local executed = mwscript.addToLevItem({ list = ..., item = ..., level = ... })
Parameters:
params
(table)list
(tes3leveledItem, string): Leveled item list to add an item to.item
(tes3item, string): Item to add to the list.level
(number): Default:0
. Minimum level for the item to spawn.
Returns:
executed
(boolean)
mwscript.addTopic
⚓︎
Use tes3.addTopic()
instead. Wrapper for the AddTopic
mwscript function.
local executed = mwscript.addTopic({ topic = ... })
Parameters:
params
(table)topic
(tes3dialogue, string)
Returns:
executed
(boolean)
mwscript.aiTravel
⚓︎
Use tes3.setAITravel()
instead. Wrapper for the AITravel
mwscript function.
local executed = mwscript.aiTravel({ reference = ..., x = ..., y = ..., z = ... })
Parameters:
params
(table)reference
(tes3reference, tes3mobileActor, string): Optional. The target reference for this command to be executed on. Defaults to the normal script execution reference.x
(number)y
(number)z
(number)
Returns:
executed
(boolean)
mwscript.disable
⚓︎
Use tes3reference:disable()
or tes3.setEnabled()
instead. Wrapper for the Disable
mwscript function.
local executed = mwscript.disable({ reference = ..., modify = ... })
Parameters:
params
(table)reference
(tes3reference, tes3mobileActor, string): Optional. The target reference for this command to be executed on. Defaults to the normal script execution reference.modify
(boolean): Default:true
. Set the object as modified.
Returns:
executed
(boolean)
mwscript.drop
⚓︎
Use tes3.dropItem()
or tes3inventory:dropItem()
instead. Wrapper for the Drop
mwscript function.
local executed = mwscript.drop({ reference = ..., item = ..., count = ... })
Parameters:
params
(table)reference
(tes3reference, tes3mobileActor, string): Optional. The target reference for this command to be executed on. Defaults to the normal script execution reference.item
(tes3item, string): The item to be dropped.count
(number): Default:1
. The number of items to drop.
Returns:
executed
(boolean)
mwscript.enable
⚓︎
Use tes3.setEnabled()
or tes3reference:enable()
instead. Wrapper for the Enable
mwscript function.
local executed = mwscript.enable({ reference = ..., modify = ... })
Parameters:
params
(table)reference
(tes3reference, tes3mobileActor, string): Optional. The target reference for this command to be executed on. Defaults to the normal script execution reference.modify
(boolean): Default:true
. Set the object as modified.
Returns:
executed
(boolean)
mwscript.equip
⚓︎
Use tes3mobileActor:equip()
or tes3mobileActor.combatSession:changeEquipment()
instead. Wrapper for the Equip
mwscript function.
local executed = mwscript.equip({ reference = ..., item = ... })
Parameters:
params
(table)reference
(tes3reference, tes3mobileActor, string): Optional. The target reference for this command to be executed on. Defaults to the normal script execution reference.item
(tes3item, string): The item to be equipped.
Returns:
executed
(boolean)
mwscript.explodeSpell
⚓︎
Use tes3.cast()
instead. Wrapper for the ExplodeSpell
mwscript function.
local executed = mwscript.explodeSpell({ reference = ..., spell = ... })
Parameters:
params
(table)reference
(tes3reference, tes3mobileActor, string): Optional. The target reference for this command to be executed on. Defaults to the normal script execution reference.spell
(tes3spell, string)
Returns:
executed
(boolean)
mwscript.getButtonPressed
⚓︎
Use tes3.messageBox()
instead. Wrapper for the GetButtonPressed
mwscript function.
local buttonIndex = mwscript.getButtonPressed()
Returns:
buttonIndex
(number)
mwscript.getDetected
⚓︎
Use tes3mobileActor.isPlayerDetected
or depending on what you are doing, detectSneak
event may be desirable. Wrapper for the GetDetected
mwscript function.
local result = mwscript.getDetected({ reference = ..., target = ... })
Parameters:
params
(table)reference
(tes3reference, tes3mobileActor, string): Optional. The target reference for this command to be executed on. Defaults to the normal script execution reference.target
(tes3reference, tes3mobileActor, string): Actor to check detection for.
Returns:
result
(boolean)
mwscript.getDisabled
⚓︎
Use object.disabled
on any object inheriting from tes3baseObject
. Wrapper for the GetDisabled
mwscript function.
local result = mwscript.getDisabled({ reference = ... })
Parameters:
params
(table): Optional.reference
(tes3reference, tes3mobileActor, string): Optional. The target reference for this command to be executed on. Defaults to the normal script execution reference.
Returns:
result
(boolean)
mwscript.getDistance
⚓︎
Use tes3reference.position
or tes3mobileActor.position
to compute the distance or depending on the desired effect, tes3mobileActor.playerDistance
. Wrapper for the GetDistance
mwscript function.
local result = mwscript.getDistance({ reference = ..., target = ... })
Parameters:
params
(table)reference
(tes3reference, tes3mobileActor, string): Optional. The target reference for this command to be executed on. Defaults to the normal script execution reference.target
(tes3reference, tes3mobileActor, string): Actor to check distance to.
Returns:
result
(boolean)
mwscript.getItemCount
⚓︎
Use tes3.getItemCount()
instead. Wrapper for the GetItemCount
mwscript function.
local result = mwscript.getItemCount({ reference = ..., item = ... })
Parameters:
params
(table)reference
(tes3reference, tes3mobileActor, string): Optional. The target reference for this command to be executed on. Defaults to the normal script execution reference.item
(tes3item, string)
Returns:
result
(number)
mwscript.getPCJumping
⚓︎
Use tes3.mobilePlayer.isJumping
instead. Wrapper for the GetPCJumping
mwscript function.
local result = mwscript.getPCJumping()
Returns:
result
(boolean)
mwscript.getPCRunning
⚓︎
Use tes3.mobilePlayer.isRunning
instead. Wrapper for the GetPCRunning
mwscript function.
local result = mwscript.getPCRunning()
Returns:
result
(boolean)
mwscript.getPCSneaking
⚓︎
Use tes3.mobilePlayer.isSneaking
instead. Wrapper for the GetPCSneaking
mwscript function.
local result = mwscript.getPCSneaking()
Returns:
result
(boolean)
mwscript.getReference
⚓︎
Use tes3globalScript.reference
instead. Returns the script target for the currently running Morrowind script, if any.
local result = mwscript.getReference()
Returns:
result
(tes3reference)
mwscript.getScript
⚓︎
Returns the currently running Morrowind script, if any.
local result = mwscript.getScript()
Returns:
result
(tes3script)
mwscript.getSpellEffects
⚓︎
Use tes3.isAffectedBy()
or tes3mobileActor:isAffectedByObject()
instead. Wrapper for the GetSpellEffects
mwscript function.
local result = mwscript.getSpellEffects({ reference = ..., spell = ... })
Parameters:
params
(table)reference
(tes3reference, tes3mobileActor, string): Optional. The target reference for this command to be executed on. Defaults to the normal script execution reference.spell
(tes3spell, string)
Returns:
result
(boolean)
mwscript.hasItemEquipped
⚓︎
Use tes3actor:hasItemEquipped()
or tes3.getEquippedItem()
instead. Wrapper for the HasItemEquipped
mwscript function.
local result = mwscript.hasItemEquipped({ reference = ..., item = ... })
Parameters:
params
(table)reference
(tes3reference, tes3mobileActor, string): Optional. The target reference for this command to be executed on. Defaults to the normal script execution reference.item
(tes3item, string): The item to check for.
Returns:
result
(boolean)
mwscript.placeAtPC
⚓︎
Use tes3.createReference()
instead. Wrapper for the PlaceAtPC
mwscript function.
local lastPlacedReference = mwscript.placeAtPC({ reference = ..., object = ..., count = ..., distance = ..., direction = ... })
Parameters:
params
(table)reference
(tes3reference, tes3mobileActor, string): Optional. The target reference for this command to be executed on. Defaults to the normal script execution reference.object
(tes3object, string): The object to place.count
(number): Default:1
.distance
(number): Default:256
.direction
(number): Default:1
.
Returns:
lastPlacedReference
(tes3reference)
mwscript.playSound
⚓︎
Use tes3.playSound()
, tes3sound:play()
method, or tes3.playItemPickupSound()
instead. Wrapper for the PlaySound
mwscript function.
local result = mwscript.playSound({ reference = ..., sound = ... })
Parameters:
params
(table)reference
(tes3reference, tes3mobileActor, string): Optional. The target reference for this command to be executed on. Defaults to the normal script execution reference.sound
(tes3sound, string)
Returns:
result
(boolean)
mwscript.position
⚓︎
Set tes3reference.position
or tes3mobileActor.position
to desired new position instead, or use tes3.positionCell()
. Wrapper for the Position
mwscript function.
local executed = mwscript.position({ reference = ..., cell = ..., x = ..., y = ..., z = ..., rotation = ... })
Parameters:
params
(table)reference
(tes3reference, tes3mobileActor, string): Optional. The target reference for this command to be executed on. Defaults to the normal script execution reference.cell
(string)x
(number): Default:0
.y
(number): Default:0
.z
(number): Default:0
.rotation
(number): Default:0
.
Returns:
executed
(boolean)
mwscript.positionCell
⚓︎
Use tes3.positionCell()
instead. Wrapper for the PositionCell
mwscript function.
local executed = mwscript.positionCell({ reference = ..., cell = ..., x = ..., y = ..., z = ..., rotation = ... })
Parameters:
params
(table)reference
(tes3reference, tes3mobileActor, string): Optional. The target reference for this command to be executed on. Defaults to the normal script execution reference.cell
(string)x
(number): Default:0
.y
(number): Default:0
.z
(number): Default:0
.rotation
(number): Default:0
.
Returns:
executed
(boolean)
mwscript.removeItem
⚓︎
Use tes3.removeItem()
, tes3.removeItemData()
or tes3inventory:removeItem()
instead. Wrapper for the RemoveItem
mwscript function.
local executed = mwscript.removeItem({ reference = ..., item = ..., count = ... })
Parameters:
params
(table)reference
(tes3reference, tes3mobileActor, string): Optional. The target reference for this command to be executed on. Defaults to the normal script execution reference.item
(tes3item, string): The item to be removed.count
(number): Default:1
. The number of items to be removed.
Returns:
executed
(boolean)
mwscript.removeSpell
⚓︎
Use tes3.removeSpell()
or tes3spellList:remove()
instead. Wrapper for the RemoveSpell
mwscript function.
local executed = mwscript.removeSpell({ reference = ..., spell = ... })
Parameters:
params
(table)reference
(tes3reference, tes3mobileActor, string): Optional. The target reference for this command to be executed on. Defaults to the normal script execution reference.spell
(tes3spell, string)
Returns:
executed
(boolean)
mwscript.scriptRunning
⚓︎
Use tes3.getLegacyScriptRunning()
instead. Wrapper for the ScriptRunning
mwscript function. Only checks global scripts.
local result = mwscript.scriptRunning({ script = ... })
Parameters:
params
(table)script
(tes3script, string)
Returns:
result
(boolean)
mwscript.setDelete
⚓︎
Use tes3reference:delete()
instead. Marks the reference
as deleted, and modified. Deleted reference isn't rendered nor is its local mwscript run.
local executed = mwscript.setDelete({ reference = ..., delete = ... })
Parameters:
params
(table): Optional.reference
(tes3reference, tes3mobileActor, string): Optional. The target reference for this command to be executed on. Defaults to the normal script execution reference.delete
(boolean): Default:true
. Setting this to true deletes the reference and triggersreferenceDeactivated
event. Setting this to false effectively undeletes/activates the reference and triggersreferenceActivated
event.
Returns:
executed
(boolean)
mwscript.setLevel
⚓︎
Wrapper for the SetLevel
mwscript function.
local executed = mwscript.setLevel({ reference = ..., level = ... })
Parameters:
params
(table)reference
(tes3reference, tes3mobileActor, string): Optional. The target reference for this command to be executed on. Defaults to the normal script execution reference.level
(number)
Returns:
executed
(boolean)
mwscript.startCombat
⚓︎
Use tes3mobileActor:startCombat()
instead. Wrapper for the StartCombat
mwscript function.
local executed = mwscript.startCombat({ reference = ..., target = ... })
Parameters:
params
(table)reference
(tes3reference, tes3mobileActor, string): Optional. The target reference for this command to be executed on. Defaults to the normal script execution reference.target
(tes3reference, tes3mobileActor, string): Actor to start combat with.
Returns:
executed
(boolean)
mwscript.startScript
⚓︎
Use tes3.runLegacyScript()
instead. Wrapper for the StartCombat
mwscript function. Starts the script as a global script.
local executed = mwscript.startScript({ reference = ..., script = ... })
Parameters:
params
(table)reference
(tes3reference, tes3mobileActor, string): Optional. The target reference for this command to be executed on. Defaults to the normal script execution reference.script
(tes3script, string)
Returns:
executed
(boolean)
mwscript.stopCombat
⚓︎
Use tes3mobileActor:stopCombat()
instead. Wrapper for the StopCombat
mwscript function.
local executed = mwscript.stopCombat({ reference = ..., target = ... })
Parameters:
params
(table)reference
(tes3reference, tes3mobileActor, string): Optional. The target reference for this command to be executed on. Defaults to the normal script execution reference.target
(tes3reference, tes3mobileActor, string): Actor to stop combat with.
Returns:
executed
(boolean)
mwscript.stopScript
⚓︎
Use tes3.runLegacyScript()
instead. Wrapper for the StopScript
mwscript function. It can only stop global scripts.
local executed = mwscript.stopScript({ reference = ..., script = ... })
Parameters:
params
(table)reference
(tes3reference, tes3mobileActor, string): Optional. The target reference for this command to be executed on. Defaults to the normal script execution reference.script
(tes3script, string)
Returns:
executed
(boolean)
mwscript.stopSound
⚓︎
Use tes3.removeSound()
or tes3sound:stop()
instead. Wrapper for the StopSound
mwscript function.
local result = mwscript.stopSound({ reference = ..., sound = ... })
Parameters:
params
(table)reference
(tes3reference, tes3mobileActor, string): Optional. The target reference for this command to be executed on. Defaults to the normal script execution reference.sound
(tes3sound, string)
Returns:
result
(boolean)
mwscript.wakeUpPC
⚓︎
Use tes3.wakeUp()
instead. Wrapper for the WakeUpPC
mwscript function.
mwscript.wakeUpPC()