SScript
Functions
TypeName
string TypeName (DynValue dv)
Return the type name of the value.
dv
DynValue
typeName = Space.TypeName("123")TrackingAllowed
bool TrackingAllowed (string key)
Function Description
isTrackingAllowed = Space.TrackingAllowed('3423423423423')TrackingRequest
void TrackingRequest (string key, string privacynotice, Closure callback, bool force=false)
Function Description
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.
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
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.
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.InventoryPersistence
SPersistence Persistence get
Stores information between user sessions, and for other users
persistence = Space.PersistenceScene
SScene Scene get
Allows access to the current scene graph (objects and avatars in the scene, and other information)
scene = Space.SceneGrid
SGrid Grid get
Property Description
grid = Space.GridHost
SHost Host get
Access information about the current scripting runtime host
host = Space.HostPhysics
SPhysics Physics get
Call physics-related commands, and variables, such as raycasting
physics = Space.PhysicsMath
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.PostFXAudioAnalyser
SAudioAnalyser AudioAnalyser get
Property Description
Space.AudioAnalyserTween
STween Tween get
Property Description
Space.TweenUI
SUI UI get
Property Description
ui = Space.UIDialogues
SDialogues Dialogues get
Property Description
dialogues = Space.DialoguesShared
SShared Shared get
Property Description
shared = Space.SharedQuests
SQuests Quests get
Property Description
quests = Space.QuestsEconomy
SEconomy Economy get
Property Description
economy = Space.EconomyGroups
SGroup Groups get
Property Description
groups = Space.GroupsActivity
SActivity Activity get
Property Description
activity = Space.ActivityRenderSettings
SRenderSettings RenderSettings get
Property Description
renderSettings = Space.RenderSettingsProfile
SProfile Profile get
Property Description
profile = Space.ProfilePhotos
SPhotos Photos get
Property Description
photos = Space.PhotosVideos
SVideos Videos get
Property Description
videos = Space.VideosMusicDirectory
SMusicDirectory MusicDirectory get
Property Description
musicDirectory = Space.MusicDirectoryJourney
SJourney Journey get
Property Description
journey = Space.JourneyGameTester
SGameTester GameTester get
Property Description
gameTester = Space.GameTesterRuntimeType
string RuntimeType get
Return current RuntimeType name.
runtimeType = Space.RuntimeTypePlatform
string Platform get
Return current platform name.
platform = Space.PlatformSessionID
string SessionID get
Return current SessionID.
sessionID = Space.SessionIDInEditor
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.VersionResources
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
endTime
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