wiki.sine.space | sinespace

Difference between revisions of "Scripting/Server/SRegionScript"

From wiki.sine.space
Jump to: navigation, search
(Replaced content with "This page has moved to: https://docs.sine.space/v/scripting/server-scripting/scene/sregionscript")
 
(5 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
+
This page has moved to: https://docs.sine.space/v/scripting/server-scripting/scene/sregionscript
=Public Member Functions=
+
 
+
{{ScriptFunction|void|Log|(string message);|Log a message to console. (only works on preview grid)|5=<pre>Space.Log("Log")</pre>|6=<pre>--Clicking the object will make the server script log "Test Message" on all clients
+
 
+
--server script
+
 
+
function OnScriptServerMessage(key, table)
+
 
+
  if key == "testKey" then
+
  Space.Log("Message:" .. table[1])
+
  end
+
 
+
end
+
 
+
 
+
 
+
 
+
--client script
+
 
+
thisObject = Space.Host.ExecutingObject
+
 
+
OnClickFunction = function()
+
 
+
Space.Network.SendNetworkMessage("testKey",{"Test Message"}) 
+
 
+
end
+
 
+
thisObject.AddClickable()
+
thisObject.Clickable.OnClick(OnClickFunction)</pre>}}
+
 
+
 
+
{{ScriptFunction|void|SubscribeToNetwork|(string key);|Subscribe to network messages on "key".|5=<pre>Space.SubscribeToNetwork("thekey")</pre>|6=<pre></pre>}}
+
 
+
 
+
{{ScriptFunction|void|UnsubscribeFromNetwork|(string key);|Unsubscribe from network messages on "key".|5=<pre>Space.UnsubscribeFromNetwork("thekey")</pre>|6=<pre></pre>}}
+
 
+
 
+
{{ScriptFunction|void|SendMessageToAllClientScripts|(string messageName, Table message);|Sends a network message to all client scripts.|5=<pre>Space.SendMessageToAllClientScripts("thekey",{"themessage"})</pre>|6=<pre></pre>}}
+
 
+
 
+
{{ScriptFunction|void|SendMessageToClientScripts|(int playerID, string messageName, Table message);|Sends a network message to a client script belonging to a specific player|5=<pre>Space.SendMessageToAllClientScripts(APlayerID,"thekey",{"themessage"})</pre>|6=<pre></pre>}}
+
 
+
{{ScriptFunction|void|StartCoroutine|(<nowiki>string name, DynValue parameter=default(DynValue))</nowiki>;|Runs the given function as a coroutine. A parameter is optional.|5=<pre>Space.StartCoroutine("AFunctionName")</pre>|6=<pre></pre>}}
+
 
+
 
+
=Public Attributes=
+
 
+
{{ScriptFunction|string|ScriptID|{ get; }|Returns a unique identifier of this script runtime.|5=<pre>scriptID = Space.ScriptID</pre>|6=<pre></pre>}}
+
 
+
{{ScriptFunction|int|InstanceID|{ get; }|Returns a unique identifier for the instance of the region. Useful in the case of multiple shards/instances being used. InstanceID does not necessarily equal to the RegionID, even if there's only one instance running. |5=<pre>instance = Space.InstanceID</pre>|6=<pre></pre>}}
+
 
+
{{ScriptFunction|int|RegionID|{ get; }|Returns a unique identifier for the region. (Same ID seen in curator)|5=<pre>region = Space.RegionID</pre>|6=<pre></pre>}}
+
 
+
{{ScriptFunction|SScene|Scene|{ get; }|Access to the SScene class methods and properties.|5=<pre>Space.Scene</pre>|6=<pre></pre>}}
+
 
+
{{ScriptFunction|SDatabase|Database|{ get; }|Access to the SDatabase class methods and properties.|5=<pre>Space.Database</pre>|6=<pre></pre>}}
+
 
+
{{ScriptFunction|SMath|Math|{ get; }|Access to the SMath class methods and properties.|5=<pre>Space.Math</pre>|6=<pre></pre>}}
+
 
+
{{ScriptFunction|SShared|Shared|{ get; }|Access to the SShared class methods and properties.|5=<pre>Space.Shared</pre>|6=<pre></pre>}}
+
 
+
{{ScriptFunction|SWebservice|WebServices|{ get; }|Access to the SWebservice class methods and properties.|5=<pre>Space.WebServices</pre>|6=<pre></pre>}}
+
 
+
{{ScriptFunction|string|RuntimeType|{ get;}|Returns "Server" if this script is a Server script|5=<pre>type = Space.RuntimeType</pre>|6=<pre></pre>}}
+
 
+
{{ScriptFunction|bool|InEditor|{ get; }|Returns true if in Editor. (this will return false on server scripts)|5=<pre>IsInEditor = Space.InEditor</pre>|6=<pre></pre>}}
+
 
+
{{ScriptFunction|float|TimeSinceAwake|{ get;}|Time, in seconds, since this script runtime has been awake.|5=<pre>SecondsAwake = Space.TimeSinceAwake</pre>|6=<pre></pre>}}
+
 
+
{{ScriptFunction|string|DateTimeUTC|{ get; }|Returns a string of the current Date/Time in UTC|5=<pre>DateAndTime = Space.DateTimeUTC</pre>|6=<pre></pre>}}
+
 
+
{{ScriptFunction|int|LocalTimeUnix|{ get; }|Returns the current Unix time (in seconds) (same as ServerTimeUnix)|5=<pre>unixtime = Space.LocalTimeUnix</pre>|6=<pre></pre>}}
+
 
+
{{ScriptFunction|int|ServerTimeUnix|{ get; }|Returns the current Unix time (in seconds) (same as LocalTimeUnix)|5=<pre>unixtime = Space.ServerTimeUnix</pre>|6=<pre></pre>}}
+
 
+
 
+
=Events=
+
 
+
Server script events are "Magic methods" which, unlike client scripts, you don't have to bind or subscribe to. They will be called as long as you have their methods implemented in your server script.
+
 
+
{{ScriptFunction|<nowiki>Action<int></nowiki>|OnAvatarJoin||An event function which will be called whenever an Avatar joins and will also contain the Avatar's ID as a parameter.|5=<pre>function OnAvatarJoin(playerID)
+
 
+
player = playerID
+
 
+
 
+
end</pre>|6=<pre></pre>}}
+
 
+
{{ScriptFunction|<nowiki>Action<int></nowiki>|OnAvatarLeave||An event function which will be called whenever an Avatar leaves and will also contain the Avatar's ID as a parameter.|5=<pre>function OnAvatarLeave(playerID)
+
 
+
player = playerID
+
 
+
 
+
end</pre>|6=<pre></pre>}}
+
 
+
{{ScriptFunction|<nowiki>Action<string, Table></nowiki>|OnScriptServerMessage||An event function which will be called whenever the server script receives a Network Message, and will contain the network message key String and message Table as a parameter. |5=<pre>function OnScriptServerMessage(key, table)
+
 
+
theKeyString = key
+
theSNetworkMessageTable = table
+
 
+
end</pre>|6=<pre></pre>}}
+
 
+
 
+
 
+
{{Scripting Navbox}}
+

Latest revision as of 08:13, 19 September 2022

This page has moved to: https://docs.sine.space/v/scripting/server-scripting/scene/sregionscript