Difference between revisions of "Scripting Certification/Core"

From Second Life Wiki
Jump to navigation Jump to search
 
m
Line 1: Line 1:
All Intermediate and Advanced scripting certifications require a Core Scripting Certification.
All Intermediate and Advanced scripting certifications require a Core Scripting Certification.


'''Topics:'''
=Study Guide=
* Syntax & Logic
* Recommended tools
** Comments
** [http://w-hat.com/lslint lslint]
** Conditionals
== Syntax & Logic ==
** Events
=== Comments ===
** Functions
*comment syntax
** States
*When to use comments
* Debugging
=== Conditionals ===
* {{LSLGC|Permissions/Asset|Asset Permissions}}
*[[if]] syntax
* Setting Properties
**chained if-else syntax
* LSL Caveats/Constraints
*[[for]] loops
* User Interaction
*[[while]] loops
** {{LSLGC|Chat}}
*[[do while]] loops
** {{LSLGC|Dialog}}
=== Events ===
** {{LSLGC|Instant Message}}
*[[event]] syntax
* Script Communications
=== Functions ===
** {{LSLGC|Chat}}
*function syntax
** {{LSLGC|Link Message}}
*How to call a function
** {{LSLGC|Email}}
=== States ===
* Documentation Styles
*[[state]] syntax
**How to define a state
**How to call a state
== Debugging ==
* How to find bugs in scripts
* How to track down bugs in script communications
== {{LSLGC|Permissions/Asset|Asset Permissions}} ==
* How to set permissions on assets
* Why setting permissions on assets is important
== Setting Properties ==
* How to use functions that set prim/object properties
* How to read prim/object properties
== LSL Caveats/Constraints ==
* Memory constraints
** Bytecode
** Stack
** Heap
* Weird Syntax bugs
** Nesting lists runtime error
** Multiple event definitions of the same type
** [[jump]] bug
* Pass by Value '''everywhere'''
* Putting a ';' at the end of a conditional.
== User Interaction ==
=== {{LSLGC|Chat}} ===
* How to send chat for the user to hear
* How to receive chat from objects and users
* How to send chat that only the owner can hear
=== {{LSLGC|Dialog}} ===
* How to make a dialog box
* How to receive and filter the response of dialog boxes
=== {{LSLGC|Instant Message}} ===
* How to send an instant message
== Script Communications ==
=== {{LSLGC|Chat}} ===
* How to send chat so that other scripts can hear it
* How to receive chat from objects and how to filter it
=== {{LSLGC|Link Message}} ===
* How to send [[link_message]]s and receive them
=== {{LSLGC|Email}} ===
* How to send emails to other prims in SL.
== Documentation Styles ==
* Common ways of commenting code
* Common ways of writing documentation

Revision as of 08:56, 30 April 2007

All Intermediate and Advanced scripting certifications require a Core Scripting Certification.

Study Guide

Syntax & Logic

Comments

  • comment syntax
  • When to use comments

Conditionals

Events

Functions

  • function syntax
  • How to call a function

States

  • state syntax
    • How to define a state
    • How to call a state

Debugging

  • How to find bugs in scripts
  • How to track down bugs in script communications

Asset Permissions

  • How to set permissions on assets
  • Why setting permissions on assets is important

Setting Properties

  • How to use functions that set prim/object properties
  • How to read prim/object properties

LSL Caveats/Constraints

  • Memory constraints
    • Bytecode
    • Stack
    • Heap
  • Weird Syntax bugs
    • Nesting lists runtime error
    • Multiple event definitions of the same type
    • jump bug
  • Pass by Value everywhere
  • Putting a ';' at the end of a conditional.

User Interaction

Chat

  • How to send chat for the user to hear
  • How to receive chat from objects and users
  • How to send chat that only the owner can hear

Dialog

  • How to make a dialog box
  • How to receive and filter the response of dialog boxes

Instant Message

  • How to send an instant message

Script Communications

Chat

  • How to send chat so that other scripts can hear it
  • How to receive chat from objects and how to filter it

Link Message

Email

  • How to send emails to other prims in SL.

Documentation Styles

  • Common ways of commenting code
  • Common ways of writing documentation