SScript

Functions

TypeName

string TypeName (DynValue dv)

Return the type name of the value.

ParameterTypeDescription

dv

DynValue

typeName = Space.TypeName("123")

TrackingAllowed

bool TrackingAllowed (string key)

Function Description

ParameterTypeDescription

isTrackingAllowed = Space.TrackingAllowed('3423423423423')

TrackingRequest

void TrackingRequest (string key, string privacynotice, Closure callback, bool force=false)

Function Description

ParameterTypeDescription

Space.TrackingRequest('24234234234234', 'A notice message', ACallBackFunction)
--or 
Space.TrackingRequest('24234234234234', 'A notice message', ACallBackFunction, true)

GetResource

SResource GetResource (string name)

Returns a reference to a SResource using it's Resource name.

ParameterTypeDescription

name

string

Name of the Resource as set in the Scripting Runtime Component (Resources section)

aResource = Space.GetResource("ResourceName")

LogEvent

void LogEvent (string eventName, float value, SVector position)

Function Description

ParameterTypeDescription

Space.LogEvent('event name', 2.0, Vector.New(0,0,0) )

Log

void Log (DynValue text, bool logToFile=false) void Log (string text, bool logToFile=false)

Log a message to console.

ParameterTypeDescription

Space.Log(Color.Blue)
--or
Space.Log("Log")
--or
Space.Log("Log",true)

Properties

Inventory

SInventory Inventory get

Allows access to the users inventory

inventory  = Space.Inventory

Persistence

SPersistence Persistence get

Stores information between user sessions, and for other users

persistence = Space.Persistence

Scene

SScene Scene get

Allows access to the current scene graph (objects and avatars in the scene, and other information)

scene = Space.Scene

Grid

SGrid Grid get

Property Description

grid = Space.Grid

Host

SHost Host get

Access information about the current scripting runtime host

host = Space.Host

Physics

SPhysics Physics get

Call physics-related commands, and variables, such as raycasting

physics = Space.Physics

Math

SMath Math get

Math related functions (Sin, Cos, Tan, etc)

Space.Math.Ceil(4.0)

String

SString String get

Miscellaneous additional string functions (e.g. MD5Sum)

Space.String.GetBytes("some data")

Input

SInput Input get

Input device related functions (mouse position, keyboard state)

Space.Input.Vibrate(1,1,false)

Camera

SCameraManager Camera get

Take and control the users camera

obj = Space.Host.ExecutingObject
Space.Camera.LockCamera (obj)

WebServices

SWebService WebServices get

Call remote web services to designated hosts (will not work with arbitrary domains, see page for details)

Space.WebServices.GetImage("example.com/mrlee.jpg")

Network

SNetwork Network get

Send data to other clients through the region server

Space.Network.SubscribeToNetwork("helloworld", gotAMessageFunction)

PostFX

SPostFX PostFX get

Property Description

Space.PostFX

AudioAnalyser

SAudioAnalyser AudioAnalyser get

Property Description

Space.AudioAnalyser

Tween

STween Tween get

Property Description

Space.Tween

UI

SUI UI get

Property Description

ui = Space.UI

Dialogues

SDialogues Dialogues get

Property Description

dialogues = Space.Dialogues

Shared

SShared Shared get

Property Description

shared = Space.Shared

Quests

SQuests Quests get

Property Description

quests = Space.Quests

Economy

SEconomy Economy get

Property Description

economy = Space.Economy

Groups

SGroup Groups get

Property Description

groups = Space.Groups

Activity

SActivity Activity get

Property Description

activity = Space.Activity

RenderSettings

SRenderSettings RenderSettings get

Property Description

renderSettings = Space.RenderSettings

Profile

SProfile Profile get

Property Description

profile = Space.Profile

Photos

SPhotos Photos get

Property Description

photos = Space.Photos

Videos

SVideos Videos get

Property Description

videos = Space.Videos

MusicDirectory

SMusicDirectory MusicDirectory get

Property Description

musicDirectory = Space.MusicDirectory

Journey

SJourney Journey get

Property Description

journey = Space.Journey

GameTester

SGameTester GameTester get

Property Description

gameTester = Space.GameTester

RuntimeType

string RuntimeType get

Return current RuntimeType name.

runtimeType = Space.RuntimeType

Platform

string Platform get

Return current platform name.

platform = Space.Platform

SessionID

string SessionID get

Return current SessionID.

sessionID = Space.SessionID

InEditor

bool InEditor get

Return true if in unity editor.

isInEditor = Space.InEditor
--the below script checks if we are in Unity editor or in SS
--this way we can provide an alternative
--(Example: if we're using a function that doesn't work in Unity editor)

thisGameObject = Space.Host.ExecutingObject


if Space.InEditor then
avatarUsername = "Player Name"
else
avatarUsername = Space.Scene.GetAvatar(thisGameObject.Owner).Username --example: this doesn't work in Editor
end

Space.Log(avatarUsername)

Version

int Version get

Returns the version of the viewer this script is running in

viewerVersion = Space.Version

Resources

SResource[] Resources get

Property Description

tableOfResources = Space.Resources
--the below script will search through the Scripting Runtime's resources
--and return the first instance of an Animation Clip
--[You need to add a few resources to the scripting runtime and make one of them an animation]


resources = Space.Resources

for i = 1, #resources do
 if resources[i].Type == "AnimationClip" then
  Space.Log("Resource #".. i .. " is an Animation Clip. The resource name is: " .. resources[i].Name)
  break
 end
  end

Time

float Time get

Returns time at the beginning of this frame.

floatTime = Space.Time
--this script will update a UIText object with the current local time without using a coroutine
--(example: clock )
--[UIText object needs to be added to the references section in the scripting runtime with name "Text"]

rateUpdate = 1.0
nextUpdate = 0.0
text = Space.Host.GetReference("Text").UIText


OnUpdate = function()
        if Space.Time > nextUpdate then
          nextUpdate = Space.Time + rateUpdate
          text.Text = Space.LocalTime
          end
    }
    
Space.Host.ExecutingObject.OnUpdate(OnUpdate)

ServerTime

string ServerTime get

Returns current server time.

serverTime = Space.ServerTime
--this script will update a UIText object with the current server time (UTC)
--(example: clock)
--[UIText object needs to be added to the references section in the scripting runtime with name "Text"]

text = Space.Host.GetReference("Text").UIText

co = function()
  while true do
   text.Text = Space.ServerTime
    coroutine.yield(1)
  end
end

Space.Host.StartCoroutine(co)

LocalTime

string LocalTime get

Returns current local time.

localTime = Space.LocalTime
--this script will update a UIText object with the current local time
--(example: clock)
--[UIText object needs to be added to the references section in the scripting runtime with name "Text"]

text = Space.Host.GetReference("Text").UIText

co = function()
  while true do
   text.Text = Space.LocalTime
    coroutine.yield(1)
  end
end

Space.Host.StartCoroutine(co)

LoginTime

float LoginTime get

Returns how long player has been logged in (in seconds).

loginTime = Space.LoginTime
--this script will update a UIText object with how long the user has been logged in (in seconds)
--(example: clock)
--[UIText object needs to be added to the references section in the scripting runtime with name "Text"]

text = Space.Host.GetReference("Text").UIText

co = function()
  while true do
   text.Text = Space.LoginTime
    coroutine.yield(1)
  end
end

Space.Host.StartCoroutine(co)

ServerTimeUnix

int ServerTimeUnix get

Returns the server time unix timestamp.

serverTimeUnix = Space.ServerTimeUnix
--this script will update a UIText object with the current server time unix timestamp
--(example: clock)
--[UIText object needs to be added to the references section in the scripting runtime with name "Text"]

text = Space.Host.GetReference("Text").UIText

co = function()
  while true do
   text.Text = Space.ServerTimeUnix
    coroutine.yield(1)
  end
end

Space.Host.StartCoroutine(co)

LocalTimeUnix

int LocalTimeUnix get

Returns the local time unix timestamp.

localTimeUnix = Space.LocalTimeUnix
--this script will update a UIText object with the current local time unix timestamp
--(example: clock)
--[UIText object needs to be added to the references section in the scripting runtime with name "Text"]

text = Space.Host.GetReference("Text").UIText

co = function()
  while true do
   text.Text = Space.LocalTimeUnix
    coroutine.yield(1)
  end
end

Space.Host.StartCoroutine(co)

DeltaTime

float DeltaTime get

The completion time in seconds since the last frame.

deltaTime = Space.DeltaTime
--the below script rotates an object around Y axis but uses DeltaTime 
--to make sure it's not dependant on client's Framerate (FPS)
--this way the object rotates per second not per frame
--(Example: Important movement in OnUpdate)

thisGameObject = Space.Host.ExecutingObject



OnUpdate = function()
currentY = thisGameObject.WorldRotation.EulerAngles.Y
newRotation = Quaternion.Euler(0, currentY + 1 * Space.DeltaTime, 0) --We multiplied 1 by Space.DeltaTime
thisGameObject.WorldRotation = newRotation
end

thisGameObject.OnUpdate(OnUpdate)

PreviewServer

bool PreviewServer get

Return true if in preview server.

isInPreview = Space.PreviewServer
--this script will update a UIText object with "preview" or "live" depending
--whether we are on preview server or live server
--[UIText object needs to be added to the references section in the scripting runtime with name "Text"]

text = Space.Host.GetReference("Text").UIText

OnUpdate = function()
  if Space.PreviewServer then
    text.Text = "Preview"
  else
    text.Text = "Live"
  end
end

Space.Host.ExecutingObject.OnUpdate(OnUpdate)

ComponentName

string ComponentName get

The name of this component.

componentName = Space.ComponentName

Last updated

Sinespace® is a registered trademark of Sine Wave Entertainment Ltd, All Rights Reserved.