@casual-simulation/aux-vm-client
Advanced tools
Changelog
V0.11.13
Changelog
V0.11.12
Changelog
V0.11.11
Breaking Changes
create()
and createTemp()
to automatically set auxCreator
to the current this
bot.
create()
no longer takes a bot/bot ID as the first parameter. Instead, you need to use the from()
function to set the creator ID.create(from(bot))
.()
at the end.
()
to the end of a tag does nothing special.@
symbol.player.toast("Hi!")
becomes @player.toast("Hi!")
.mod()
to applyMod()
.mod.addToMenu()
to addToMenuMod()
.mod.removeFromMenu()
to removeFromMenuMod()
.mod.addToContext()
to addToContextMod()
.mod.removeFromContext()
to removeFromContextMod()
.mod.setPosition()
to setPositionMod()
.mod.subtract()
to subtractMods()
.mod.import()
to getMod()
.mod.export()
.Improvements
creator
variable to scripts and formulas which gets the bot that created the this
bot.
creator
is null if the current bot has no creator.raw
variable to scripts and formulas which gets direct access to the this
bot's tag values.
tags
variable but does not do any pre-processing on the tag value. This means you will get formula scripts back instead of the calculated formula values.tags
variable to handle setting tag values on it.
tags.name = "joe"
or bot.tags.myContext = true
.raw
variable.getBots()
and getBot()
to support setting tag values on their tags
property.
myBot.tags.name = "bob"
.that
variable.data
variable which equals that
.player.hideHtml()
function which hides the HTML modal.auxContextInventoryPannableMinX
, auxContextInventoryPannableMaxX
, auxContextInventoryPannableMinY
, auxContextInventoryPannableMaxY
.._
character from its return.Changelog
V0.11.10
Changelog
V0.11.9
removeTags()
now checks if a tag starts with the given search value.
.
).removeTags(bot, "hello")
will remove hello
, helloAbc
, and helloX
.onAnyAction()
to onChannelAction()
.player.currentChannel()
to player.getCurrentChannel()
.player.currentContext()
to player.getCurrentContext()
.mod.apply()
to mod()
.
mod.
functions remain the same.mod.export()
still works.camelCase
instead of dot.case
.
aux.scene.color
is now auxChannelColor
aux.scene.user.player.color
is now auxChannelUserPlayerColor
aux.scene.user.builder.color
is now auxChannelUserBuilderColor
aux.inventory.height
to auxInventoryHeight
.aux.channel
to auxChannel
.aux.connectedSessions
to auxConnectedSessions
.aux.color
to auxColor
.aux.creator
to auxCreator
.aux.draggable
to auxDraggable
.aux.draggable.mode
to auxDraggableMode
.aux.stackable
to auxStackable
.aux.destroyable
to auxDestroyable
.aux.editable
to auxEditable
.aux.stroke.color
to auxStrokeColor
.aux.stroke.width
to auxStrokeWidth
.aux.line.to
to auxLineTo
.aux.line.width
to auxLineWidth
.aux.line.style
to auxLineStyle
.aux.line.color
to auxLineColor
.aux.label
to auxLabel
.aux.label.color
to auxLabelColor
.aux.label.size
to auxLabelSize
.aux.label.size.mode
to auxLabelSizeMode
.aux.label.anchor
to auxLabelAnchor
.aux.listening
to auxListening
.aux.shape
to auxShape
.aux.scale
to auxScale
.aux.scale.x
to auxScaleX
.aux.scale.y
to auxScaleY
.aux.scale.z
to auxScaleZ
.aux.image
to auxImage
.aux.iframe
to auxIframe
.aux.iframe.x
to auxIframeX
.aux.iframe.y
to auxIframeY
.aux.iframe.z
to auxIframeZ
.aux.iframe.size.x
to auxIframeSizeX
.aux.iframe.size.y
to auxIframeSizeY
.aux.iframe.rotation.x
to auxIframeRotationX
.aux.iframe.rotation.y
to auxIframeRotationY
.aux.iframe.rotation.z
to auxIframeRotationZ
.aux.iframe.element.width
to auxIframeElementWidth
.aux.iframe.scale
to auxIframeScale
.aux.progressBar
to auxProgressBar
.aux.progressBar.color
to auxProgressBarColor
.aux.progressBar.backgroundColor
to auxProgressBarBackgroundColor
.aux.progressBar.anchor
to auxProgressBarAnchor
.aux._selection
to _auxSelection
.aux._user
to _auxUser
.aux.user.active
to auxUserActive
.aux.version
to auxVersion
.aux._userChannel
to _auxUserChannel
.aux._userContext
to _auxUserContext
.aux._userInventoryContext
to _auxUserInventoryContext
.aux._userMenuContext
to _auxUserMenuContext
.aux._userSimulationsContext
to _auxUserChannelsContext
.aux._editingBot
to _auxEditingBot
.aux._selectionMode
to _auxSelectionMode
.aux.runningTasks
to auxRunningTasks
.aux.finishedTasks
to auxFinishedTasks
.aux.task.output
to auxTaskOutput
.aux.task.error
to auxTaskError
.aux.task.time
to auxTaskTime
.aux.task.shell
to auxTaskShell
.aux.task.backup
to auxTaskBackup
.aux.task.backup.type
to auxTaskBackupType
.aux.task.backup.url
to auxTaskBackupUrl
.aux.context
to auxContext
.aux.context.color
to auxContextColor
.aux.context.locked
to auxContextLocked
.aux.context.grid.scale
to auxContextGridScale
.aux.context.visualize
to auxContextVisualize
.aux.context.x
to auxContextX
.aux.context.y
to auxContextY
.aux.context.z
to auxContextZ
.aux.context.rotation.x
to auxContextRotationX
.aux.context.rotation.y
to auxContextRotationY
.aux.context.rotation.z
to auxContextRotationZ
.aux.context.surface.scale
to auxContextSurfaceScale
.aux.context.surface.size
to auxContextSurfaceSize
.aux.context.surface.minimized
to auxContextSurfaceMinimized
.aux.context.surface.defaultHeight
to auxContextSurfaceDefaultHeight
.aux.context.surface.movable
to auxContextSurfaceMovable
.aux.context.player.rotation.x
to auxContextPlayerRotationX
.aux.context.player.rotation.y
to auxContextPlayerRotationY
.aux.context.player.zoom
to auxContextPlayerZoom
.aux.context.devices.visible
to auxContextDevicesVisible
.aux.context.inventory.color
to auxContextInventoryColor
.aux.context.inventory.height
to auxContextInventoryHeight
.aux.context.inventory.pannable
to auxContextInventoryPannable
.aux.context.inventory.resizable
to auxContextInventoryResizable
.aux.context.inventory.rotatable
to auxContextInventoryRotatable
.aux.context.inventory.zoomable
to auxContextInventoryZoomable
.aux.context.inventory.visible
to auxContextInventoryVisible
.aux.context.pannable
to auxContextPannable
.aux.context.pannable.min.x
to auxContextPannableMinX
.aux.context.pannable.max.x
to auxContextPannableMaxX
.aux.context.pannable.min.y
to auxContextPannableMinY
.aux.context.pannable.max.y
to auxContextPannableMaxY
.aux.context.zoomable
to auxContextZoomable
.aux.context.zoomable.min
to auxContextZoomableMin
.aux.context.zoomable.max
to auxContextZoomableMax
.aux.context.rotatable
to auxContextRotatable
.stripe.publishableKey
to stripePublishableKey
.stripe.secretKey
to stripeSecretKey
.stripe.charges
to stripeCharges
.stripe.successfulCharges
to stripeSuccessfulCharges
.stripe.failedCharges
to stripeFailedCharges
.stripe.charge
to stripeCharge
.stripe.charge.receipt.url
to stripeChargeReceiptUrl
.stripe.charge.receipt.number
to stripeChargeReceiptNumber
.stripe.charge.description
to stripeChargeDescription
.stripe.outcome.networkStatus
to stripeOutcomeNetworkStatus
.stripe.outcome.reason
to stripeOutcomeReason
.stripe.outcome.riskLevel
to stripeOutcomeRiskLevel
.stripe.outcome.riskScore
to stripeOutcomeRiskScore
.stripe.outcome.rule
to stripeOutcomeRule
.stripe.outcome.sellerMessage
to stripeOutcomeSellerMessage
.stripe.outcome.type
to stripeOutcomeType
.stripe.errors
to stripeErrors
.stripe.error
to stripeError
.stripe.error.type
to stripeErrorType
.renameTagsFromDotCaseToCamelCase()
function to help with updating bots from the old tag style to the new tag style.
renameTagsFromDotCaseToCamelCase(bot)
bot
variable to all functions and formulas.
this
.getMod()
function to be able to get all the tags on a bot.
mod.export()
on the returned mod will save the tag code to JSON.
=123
, then mod.export(getMod(bot))
will return JSON containing tag: "=123"
instead of tag: 123
.tags
variable to all functions and formulas.
let tags = getMod(bot)
at the beginning of a script/formula.tags
variable has some caveats when used in formulas. Namely that the formulas won't be automatically updated when another tag referenced from the formula is updated. (Use getTag()
for full support)Changelog
V0.11.8
Changelog
V0.11.7
aux.stackable
set to false will now cause the dragged bot to pass through the other bot as if it was not there.{ field: "myValue" }
player.MoveTo()
, the pan distance is now set correctly so pan limits are absolute.Changelog
V0.11.6
server.setupChannel(channel, botOrMod)
function.
setup_channel
action to the server which, if executed using action.perform()
, will create a channel if it doesn't already exist and place a clone of the given bot or mod in it.channel
- The channel that should be created.botOrMod
- (Optional) The bot or mod that should be cloned and placed inside the new channel. onCreate()
is triggered after the bot or mod is created so you can use that to script custom setup logic.device
action in onAnyAction()
and do an action.perform(that.action.event)
to allow channels to be setup via this function.Changelog
V0.11.5
player.replaceDragBot(botOrMod)
function.
onBotDrag()
or onAnyBotDrag()
, it will set the bot/mod that the user is dragging.createTemp()
function.
create()
but the created bot is temporary, which means it won't be shared and will be deleted upon refresh.aux.movable
to aux.draggable
.
aux.draggable
now only woks with true
and false
values.pickup
and drag
options have been moved to a new tag aux.draggable.mode
.clone
and cloneMod
options have been removed.
player.replaceDragBot()
API to replicate clone
and cloneMod
behavior.aux.mergeable
tag.
aux.stackable
tag.aux.mod
and aux.mod.mergeTags
tags.local
bot to the cookie
bot.
aux.users
context to aux-users
.aux.inventory.height
tag which controls the default height of the inventory on all contexts when set of the config bot.
aux.context.inventory.height
tag has been updated to only work on the context bot.aux.whitelist
, aux.blacklist
, and aux.designers
.Changelog
V0.11.3
three-vrcontroller-module
to use the three
package instead of three-full
so we don't duplicate Three.js.webrtc-adapter
).lodash
imports to directly import the modules that are used.
server.saveFile(filename, data, options)
filename
is a string and should start with /drives/
.data
is a string of the data to store.options
is an object with the following properties:
callbackShout
A shout that should happen on the server when the file is done saving.overwriteExistingFile
A boolean that indicates if existing files should be overwritten. (defaults to false)server.loadFile(filename, options)
filename
is a string and should start with /drives/
.options
is an object with the following properties:
callbackShout
A shout that should happen on the server when the file is done loading.onAnyAction()
listener.
if (that.action.type === 'device') {
if (
['save_file', 'load_file'].indexOf(
that.action.event.type
) >= 0
) {
action.perform(that.action.event);
}
}
/drives
directory and the USB drives themselves are numbered starting with 0.
server.loadFile("/drives/0/myFile")
.server.saveFile("/drives/1/myFile", data)
.removeTags()
function from working when given an array of bots.