Joining the Developer Group - PowerPoint PPT Presentation

1 / 22
About This Presentation
Title:

Joining the Developer Group

Description:

Register an account and select an avatar name at www.secondlife.com ... Information for each avatar or object detected can be obtained through the llDetected ... – PowerPoint PPT presentation

Number of Views:51
Avg rating:3.0/5.0
Slides: 23
Provided by: joshmcf
Category:

less

Transcript and Presenter's Notes

Title: Joining the Developer Group


1
Joining the Developer Group
  • Register an account and select an avatar name at
    www.secondlife.com
  • Email your avatar name to cwt_at_uark.edu (or as
    otherwise directed)
  • Look for the invitation dialog box and click Join

2
Connecting to the Island
  • Open the Map tab
  • Type University of Arkansas into the Search box
    and click the Search button.
  • Click University of Arkansas in the results
  • Click Teleport

3
Introduction to Second Life Scripting
4
Resources
  • http//lslwiki.net/lslwiki/wakka.php
  • http//wiki.secondlife.com/wiki/LSL_Portal
  • http//vw.ddns.uark.edu/mediawiki
  • Resident Experts
  • Casey Bailey Dillon Potez
  • Keith Perkins Thinker51 Brandenburg
  • Nicholas Farrer Anon Frog

5
How to Create a Script (In Object)
  • Right Click object and select Edit
  • Click on the Content tab
  • Click New Script

6
(No Transcript)
7
LSL Basics
  • Java-like syntax, but not object oriented
  • Strongly typed
  • Event and state driven
  • Next event will not be processed until current
    event finishes.
  • Includes logic and looping constructs such as
    for, if, while, and do-while

8
Primary Built-In Data Types
  • Float Same as the float type in C
  • Integer - 32-bit signed integer
  • String
  • Key
  • Vector
  • Rotation
  • List

9
Key
  • Unique identifier for just about any object in
    Second Life (UUID/GUID)
  • Contains hexadecimal characters separated by
    dashes
  • Example
  • a822ff2b-ff02-461d-b45d-dcd10a2de0c2

10
Vector
  • Simple data structure of 3 floats, written as ltx,
    y, zgt.
  • Used to hold position, velocity, and color.
  • Individual elements can be accessed by using the
    .x, .y, and .z after the variable name.
  • For color
  • X Red
  • Y Green
  • Z Blue
  • Examples
  • vector example lt0, 0, 1.0gt
  • example.z gives the value of 1.0

11
Rotation
  • Simple data structure of 4 floats, written as
    ltx, y, z, sgt.
  • Used to hold rotation information as a quaternion
    See http//en.wikipedia.org/wiki/Quaternion
  • Individual elements can be accessed by using the
    .x, .y, .z, and .s after the variable name
  • Examples
  • rotation example lt0, 0, 0, 1.0gt
  • example.s gives the value of 1.0

12
List
  • Generic Container that can hold any number of
    elements of any type.
  • Grows dynamically up to maximum amount of memory
  • All element access is done through llList2lttypegt
    functions which take the list and position
    (0-based as parameters)
  • Examples
  • list example 7, Blue, 0, 1, 2, lt5,5,3gt
  • llList2Integer(example, 0) returns 7.

13
States
  • Every script must have a default state.
  • All objects begin in the default state.
  • Additional states can be declared using the state
    keyword.
  • Event functions are for that specific state. No
    direct way to have a event handler that works in
    all states.

14
Variable Scope
  • Global variables are declared outside of all
    states
  • Local variables are declared inside of functions
  • There are no state variables (variables declared
    within a state but outside of all functions)

15
Hello World
  • default
  • state_entry()
  • llSay(0, "Hello world!")

16
Basic Chat Output Functions
  • All have two parameters Output Channel
    (Integer) and Message (String)
  • Different functions have different ranges
  • llWhisper 10 meters
  • llSay 20 meters
  • llShout 100 meters
  • llRegionSay Entire island (but not on received
    on clients)
  • Chat Channel 0 is the channel that is displayed
    in the Second Life client.

17
Default Script
  • default
  • state_entry()
  • llSay(0, "Hello, Avatar!")
  • touch_start(integer total_number)
  • llSay(0, "Touched.")

18
Events
  • Most events can be triggered multiple times per
    simulation clock cycle.
  • For the touch_start event, the total_number
    represents the total avatars that have started
    touching the object.
  • Information for each avatar or object detected
    can be obtained through the llDetected functions.

19
  • default
  • state_entry()
  • llSay(0, "Hello, Avatar!")
  • touch_start(integer total_number)
  • integer i 0
  • for( i lt total_number i)
  • llSay(0, "Touched by
    llDetectedName(i))

20
State events
  • State_entry Triggered when state first becomes
    active
  • State_exit Triggered when state changes and
    becomes inactive

21
  • default
  • state_entry()
  • llSay(0, Default State.)
  • touch_start(integer num)
  • state active
  • state_exit()
  • llSay(0, Leaving default state.)
  • state active
  • state_entry()

22
Lab
  • Verify that you can teleport to the Second Life
    island
  • Get added to the development group
  • Build an object, add a script, test it out
Write a Comment
User Comments (0)
About PowerShow.com