Hey we got another great patch for you guys today with a ton of great scripting changes, give host, and a brand new file browser!
Give Host:
- Allows the host of game to pass the hosting off to another player that is connected to them.
- The selected player will receive a confirmation dialog to accept the new host and can accept or decline.
- If accepted all players will disconnect and then have the choice to reconnect to the new host in the exact same setup and layout they were just playing in.
- Everything will be preserved from the previous host.
New File Browser:
- Brand new file browser.
- Can search and favorite folders to easily find your assets.
- Works in VR now.
Split & Cut:
- New split added to contextual menu that let's you split a deck / stack in a certain number of stacks.
- Cut has been improved by letting you choose at what proportion you want to split the deck / stack.
Scripting Improvements:
Lua
putObject() now returns an Object.
- Using it to combine two cards will return an object reference to the newly formed deck.
- Using it to put an object into a container/stack/deck will return the container/stack/deck it was made part of.
New class Notes
- Contains notebook and set/getNotes functions.
- Deprecated the old "Base" versions of these functions.
New class Wait
- This new class allows you to easily trigger functions after some form of delay.
- Contains frames, time, condition, and stop functions.
- Deprecated Timer class entirely.
New Object functions
- obj.cut(int) - Cuts a deck at the given card index.
- obj.split(int) - Splits a deck in a number of stacks.
- obj.getRotationValue - Returns the current rotationValue of an object (see: gizmo tool).
- This function existed previously, but was not documented.
Event Functions
- Added onObjectPeek(object, player) - Triggers when peek is used by a player.
- Added object.onPeek(player), object.onRandomize(player).
Misc
- Player Color strings convert automatically
- Example: printToAll("Hello", "Green").
- Snap points created on objects use Vectors local to the Object, rather than global.
- This applies to both position and rotation.
- Fix for optional parameters of spawnObjectJSON().
- Fix motor_force not working on jointTo().
New Object Member Variables
- loading_custom - Indicates if the assets of a custom element are being loaded.
- spawning - Indicates if any object is currently in the process of spawning.
- These are helpful to determine if elements are loaded into the game fully
- Especially useful with the new Wait class!
Callback Changes
- Callbacks are being overhauled to use brand new syntax where you directly pass the function instead of the function string name, function owner, and params.
- Ex: Wait.time(|| print("Done"), 1) or Wait.time(function() print("Done") end, 1)
- Effected are spawnObject/Json(), takeObject(), and Webrequests.
Custom UI:
New Lua function:
- UI.setValue(string id, string value) - Updates the value that appears within element tags {>>(ex: THIS)<<}
- UI.getValue(string id)- Obtains the value that appears within element tags {>>(ex: THIS)<<}
- Both support Rich Text!
- Added get/setCustomAssets() with keys named and url.
- New InputField attribute placeholder- Greyed out text that appears in the input if there is no text present.
Chat Improvements
- Added optional timestamps for chat found in chat settings.
- Improved black outline around text in chat.
- Numbers in chat are now monospace.
Onscreen indicators
- Added on screen indicators to the edge of the screen for ping arrow and peek icons.
- Never miss a notification because you were looking at the wrong direction.
UI Improvements
- Add clear input x button to all search inputs.
- Added a scale animation to popup menus.
- Added a safe guard to restore UIs dragged off the screen.
VR Fixes:
- VR Beta info & settings (+how to revert to original controls)
- Fixed cards and decks rotating on pickup.
- Fixed zoom scale speed being framerate dependent.
- Fixed Custom Xml UI not working.
- Fixed file browser not working.