m |
(added practical example to SScene .OnPlayerJoin) |
||
Line 35: | Line 35: | ||
{{ScriptFunction|bool|PlayerIsOwner|{ get; }|Returns whether the current player is the owner of the region|5= | {{ScriptFunction|bool|PlayerIsOwner|{ get; }|Returns whether the current player is the owner of the region|5= | ||
<pre>isOwner = Space.Scene.PlayerIsOwner </pre>}} | <pre>isOwner = Space.Scene.PlayerIsOwner </pre>}} | ||
− | {{ScriptFunction|void|OnPlayerJoin|(Action<[[Scripting/SAvatar|SAvatar]]> callback)|Event which fires whenever a player joins the region}} | + | {{ScriptFunction|void|OnPlayerJoin|(Action<[[Scripting/SAvatar|SAvatar]]> callback)|Event which fires whenever a player joins the region|5= |
+ | <pre>--Place this script in a UIText object and it will | ||
+ | --update itself with the name of the last player joined | ||
+ | |||
+ | function updateText(Av) --we include "Av" here because the event gives us a reference to the Avatar that joined | ||
+ | Space.Host.ExecutingObject.UIText.Text= "Last player joined: " .. Av.Username | ||
+ | end | ||
+ | |||
+ | Space.Scene.OnPlayerJoin(updateText) -- updateText will now be called everytime a player joins | ||
+ | |||
+ | |||
+ | --Note that this is client side, you will not trigger this event, | ||
+ | --the player that joins next will trigger it.</pre>}} | ||
{{ScriptFunction|void|OnPlayerLeave|(Action<long> callback)|Event which fires whenever a player leaves the region}} | {{ScriptFunction|void|OnPlayerLeave|(Action<long> callback)|Event which fires whenever a player leaves the region}} | ||
{{Scripting Navbox}} | {{Scripting Navbox}} |
The SScene class represents the region the user is currently in.
Finds a single Game Object matching 'Name' and returns it. Can use '/' characters to designate a path (e.g. 'Parent/Child' returns Child with 'Parent')
hand = Space.Scene.Find("Hand"); --This returns the GameObject named Hand. hand = Space.Scene.Find("/Hand"); --This returns the GameObject named Hand. --Hand must not have a parent in the Hierarchy view. hand = Space.Scene.Find("/Monster/Arm/Hand"); --This returns the GameObject named Hand, --which is a child of Arm > Monster. --Monster must not have a parent in the Hierarchy view. hand = Space.Scene.Find("Monster/Arm/Hand"); --This returns the GameObject named Hand, --which is a child of Arm > Monster.
Returns the current player avatar. If this script is calling this upon initialisation, the Player may not exist yet, and you will want to wait a few frames until the avatar is present before continuing.
CurrentPlayer = Space.Scene.PlayerAvatar
Returns a list of Avatars in the scene
avatars = Space.Scene.Avatars
Returns a list of Objects in the scene. IMPORTANT: This function is slow, you should cache the result and avoid calling this every frame.
objects = Space.Scene.Objects
Creates a new empty game object with the name 'Name' and returns a reference
newObject = Space.Scene.CreateGameObject("potato")
Creates a game object from the specified resource
Returns the name of the current region
RegionName = Space.Scene.Name
Returns the URL of the current region
RegionUrl = Space.Scene.Url
Returns the avatar ID of the regions owner
RegionOwner = Space.Scene.Owner
Returns whether the current player is the owner of the region
isOwner = Space.Scene.PlayerIsOwner
Event which fires whenever a player joins the region
--Place this script in a UIText object and it will --update itself with the name of the last player joined function updateText(Av) --we include "Av" here because the event gives us a reference to the Avatar that joined Space.Host.ExecutingObject.UIText.Text= "Last player joined: " .. Av.Username end Space.Scene.OnPlayerJoin(updateText) -- updateText will now be called everytime a player joins --Note that this is client side, you will not trigger this event, --the player that joins next will trigger it.
Event which fires whenever a player leaves the region
|