LSL Library/zh-Hant

==Script Library==
Come to this page to see complex examples that show how to combine parts of LSL.
Go to the LSL Examples page to see brief examples of how to use parts of LSL 
Why collect complex examples here? Well, ...
There are many scripts that have become buried in the Scripting Library forum, were lost with the death of the scripting forums, or sit idle in inventories that could be useful and should be more accessible.
Other scripters may be in the same situation. This wiki is a well-suited medium for a script library. Feel free to add your scripts to the script library by creating new pages for them and linking to those pages here.
Note that there are many more scripts in the LSL Library here, but you can't get to them if you don't know they exist, because they are subpages now, instead of an automatically updated category. Good luck searching.
== Rules for posting: ==
#Your script must be tested and working. If it's not, stick it in your user-space until it is. This is a list of working, usable scripts.
#Add a link to your script's page here. Link back to this page from your script's page. Start your page with {{LSL Header}}.
#Do not add scripts that duplicate the same functionality as an existing script or built in . If yours does, explain why.
#Do not list simple scripts here. Include those among the LSL Examples instead.
==LSL Script Library==
Name 	Creator 	Description
3D Radar 	Jesse Barnett 	Rezzes a ball for each avatar in range. Each ball tracks its own AV and displays distance.
AdvancedNotecardReader 	Lear Cale 	Robust configuration notecard reader; supports multiple notecards with same suffix, handles reconfig on inventory change, and does not usurp the default state.
AntiDelay Node 	Xaviar Czervik 	Uses llMessageLinked to stop those pesky delays.
AO Overriding Pose Ball 	Jesse Barnett 	No more turning your AO off and on when you sit down
ARCFOUR Strong Encryption Implementation	Nekow42 Zarf 	An LSL implementation of ARCFOUR, the most popular stream cipher still in use. It is licensed under a Creative Commons Attribution 3.0 license.
Assembly-Like Programming Language 	Xaviar Czervik 	A compiler that runs assembly-like programs.
Associative Array (Dictionary) Emulator 	Alynna Vixen 	This library provides a set of functions for using a list as an associative array where string based keys can refer to one or more variant elements.
AvatarFollower 	Dale Innis 	Allows one avatar to automatically follow another.
Basic Encryption Modules 	Beverly Larkin 	Basic encryption scripts, allows you to encrypt a float and shout it to another prim on a randomly chosen channel.
Binary Clock 	Fox Diller 	A Binary Clock.
Be happy 	Emmas Seetan 	Basic smile attachment script, makes your avatar smile.
Blog Feed 	Kageshen Kirax 	Displays the latest blog.
Builder's Buddy Tool 	Newfie Pendragon 	Script to easily move/rotate large builds that exceed the linkable size limit (30 meters).
Camera Sync 	Meyermagic Salome and Nomad Padar 	A system to synchronize the cameras of two avatars.
Chatbot 	Anonymous 	Compile and run the LSL you type on a channel, faster than you can thru the 2007-08 SL GUI.
Chat Logger (GPL) 	Nobody Fugazi 	Chat logger which requests permission from participants before recording them.
Chat Relay 	grumble Loudon 	A Chat relay which can be routed using a path header and won't echo.
Code Racer 	Anonymous 	Race two versions of code forever, to see which runs faster.
Code Sizer 	Anonymous 	Count the bytes compiled from source code, to measure how to write small code.
Color Conversion 	Sally LaSalle 	Convert between Red Green Blue (RGB) and Hue Saturation Value (HSV).
Color script 	Masakazu Kojima 	Script for changing colors trough a listener with pre-defined colors.
Combined Library 	Strife Onizuka 	Library of mostly encoding and decoding functions, some more useful then others.
* String functions: Replace / Trim right / Trim left / Trim both
* Unicode conversion: UTF8 to Unicode / Unicode to UTF8
* List functions: Replace / Compare
Computer:jaycoonlanguage 	jayco121 Bing 	A language written in LSL that is meant for my computer (available at the shop).
Conversation Relay 	Jippen Faddoul 	Chat relay which requests permission from participants before relaying their messages. Also includes their attachments. (ToS compliant).
Curtain script 	Zilla Larsson 	A simple script to retract/stretch curtains, blinds, bedcovers and more
Dataserver API 	Revolution Perenti 	Dataserver Framework for Notecards.
Date Library 	Corto Maltese 	Date library, based on number of day since march 3rd 1600, can be used to calculate weekday, date differences, and date offset, and date formating.
Days in Month 	IntLibber Brautigan 	Clicking on it returns the number of days in the present month. Useful for scripting calendars and tier systems that need to know the number of days in the month at hand or to calculate for any month. Even adjusts for leap years.
Day of the Week 	DoteDote Edison 	Function to get day of the week from llGetUnixTime.
Deed Tools 	Falados Kapuskas 	Tools that allow the creator to modify Group-Owned (Deeded) Objects via chat.
Describe Chatter 	Anonymous 	Chat to see yourself as others do.
Drink script 	Emmas Seetan 	Used mainly for food and drink in Second Life.
ClickAndDrag 	Nexii Malthus 	Click and Drag user interface elements using dynamic feedback
Dialog Control 	Nargus Asturias 	A (not-so) simple dialog control script. Call dialog and receive selected value via link_message(), with built-in timer and link_message() notification on time out. Supports multi-pages dialog and numeric property dialog. Button text and dialog's returned value can differ.
Dialog Menus Control 	Nargus Asturias 	An extension to Nargus Dialog Control. This menus control allow multi-level menus through SL dialog system. It can also recall last used menus. Menus are saved and pre-formatted for faster access. Though it is not the fastest, nor most memory efficient, but it should make it easier to use.
Dialog Number Pad 	DoteDote Edison 	Use a dialog to accept positive integer input from users.
Efficiency Tester 	Xaviar Czervik 	Tests the speed of a function.
Email2IM 	DoteDote Edison 	Send IMs to SL friends via email (translate emails from friends into IMs).
ExplodingObjects 	Dale Innis 	Causes an object (of the appropriate type) to explode on command.
Fix_Small_Prims 	Emma Nowhere 	Finds and adjusts the smallest prims in a linkset so that it can be scaled down further.
Float2Hex 	Strife Onizuka 	Very useful for transporting floats.
Follower 	Unknown, uploaded by Slik Swindlehurst	Makes an object follow the nearest person. Do not use for griefing.
Geometric Library 	Community Project 	A substantial amount of various geometric functions for intersection and other purposes of 3D maths.
GetTimestampOffset 	Siann Beck 	Returns llGetTimestamp() with an hour offset.
Give InvItem every n hours 	Criz Collins 	Will give an inventory item on touch only every n hours, even if somebody touches the object more than once.
Give random object 	Emmas Seetan 	Touch to recieve a random object in the prim's inventory
Google Charts 	Dedric Mauriac 	Create links to display raw data as a chart image.
Go transparent when walking 	Emmas Seetan 	An attachment that goes invisble when you walk and visible when you don't walk.
Group Privacy 	Chance Unknown 	Security device to insure members of a group can have a private area. Deactivates when nobody present.
Group key finder 	Emmas Seetan 	Touch to find the key of the group
Hello Avatar 	Linden Lab 	SL's default script.
Holodeck 	Revolution Perenti 	Home Rezzing System (Open Source).
Intra-Region Update Server 	Emma Nowhere 	Centrally update objects such as Freeview screens or teleport pads within a region that are configured by notecards or contain modifiable objects or media assets.
Interpolation Library 	Nexii Malthus 	A small set of interpolation functions.
Inventory Menu 	Revolution Perenti 	Inventory Based Menu System.
iTunes RPC 	Fox Diller 	iTunes RPC via LSL llEmail and llRemoteDataReply.
Keypad Door 	Tdub Dowler 	Door and keypad with changeable code. Follow instructions carefully!
LSL_languageAPI 	Gypsy Paz 	Multi-lingual API from notecard based language files
Last Sound System 	Babbage Linden 	An LSL Last.fm client.
Listener Script 	Emmas Seetan 	Use to listen to other people's conversations (Like spying)
List2CSV 	Kunnis Basiat 	List2CSV & CSV2List that include perserving type and escaping characters.
Load URL 	Emmas Seetan 	Touch to get a dialog to visit the URL inside the script.
Mandelbrot Explorer 	Babbage Linden 	An interactive fractal explorer.
Merge Sort 	Xaviar Czervik 	Implements a Merge Sort in LSL, however this code is 300(ish) times slower than llListSort. Don't use this in a script!
Minesweeper 	Xaviar Czervik 	A simple minesweeper game.
Multi Item Rezzer 	Jesse Barnett 	A rework of my old High Altitude Rezzer. Place the objects that you wish to choose from to be rezzed inside. Sit on the rezzer and pick the item and the height. It will go to target height and rez the object.
Multirezzer (on collision) 	Beet Streeter 	Spawns up to 10 objects when the object containing the script collides with a user.
Name2Key in LSL 	Maeva Anatine 	Get the Name2Key feature inside your scripts. Works even on lastly subscribed avatars.
No Auto-Return 	Bella Clarity 	To stop your long and hard builds from getting returned in sandboxes (only single prims, though!)
No Limit Teleporter 	Morgam Biedermann 	Teleport to infinite altitudes (up to 4096m)
Object to Data 	Xaviar Czervik 	Turns an object into text (and back). Allows people to transfer objects through notecards (or otherwise).
Online Indicator 	Kristy Fanshaw 	Will show if the user is online or not. Displays users profile picture and allows to send IM's to user. Also gives a link to open the users profile
Open Group Join 	Alicia Stella 	User Touches Object to Join Group from Group Info window, (no bot.)
ParseString2List 	Strife Onizuka 	Same as llParseString2List and llParseStringKeepNulls, but not limited to 8 spacers or separators. Thus substitute a call to the llParseString2List and llParseStringKeepNulls functions by a call to ParseString2List whenever you have more than 8 separators or more than 8 spacers.
Pathfinder 	Babbage Linden 	A potential field based pathfinding library.
Phantom Child 	Aeron Kohime 	Causes a child in a link set to become phantom without the entire object becoming phantom.
Phantom Maker 	Xaviar Czervik 	An object that turns avatars into phantoms, without having to remain sitting.
PosJump 	Uchi Desmoulins 	A much more efficient alternative to the popular warpPos function for bypassing 10m distance-moved limitations.
Posing Stand 	Bella Clarity 	Just a pose script to edit attachments more easily.
Prefix Calculator 	Xaviar Czervik 	A calculator that evaluates expressions in prefix notation. 
+ 3 4 = 5. * + 1 2 + 3 4 = 14.
Pseudo-random Number Generator 	Xaviar Czervik 	Generates a Pseudo-random number between -0x7FFFFFFF and 0x7FFFFFFF
Play and Loop Sound 	Bella Clarity 	Very short and simple script; plays and loops a sound in an object.
Rainbow_palette 	Rui Clary 	Build a color picker, using only one prim, and a few lines of code.
Random AV Profile Projector 	Debbie Trilling 	Randomly selects an AV from a crowd & then projects their profile picture as a 'holographic' image
Random Object Vendor 	CodeBastard Redgrave 	Simple vendor that gives out random objects when paid the right amount
RavText 	Ravenous Dingo 	An alternate to XyText. This is a lightweight, multiple font 10 character text display system. It only supports uppercase alphanumeric text and a few special characters, but it is very fast, renders quickly and supports multiple fonts. It is meant for specialized use when all that is desired is basic, fast text display and the extra "bells and whistles" are not needed.
Region Frames Per Second 	Heymariou Mystakidou 	Says the region name and frames per second out loud on command.
sbDialog 	Siann Beck 	A simple replacement function for llDialog. It re-orders the button list so that the button values, as passed to it, display left-to-right, top-to-bottom. It also opens a listen on the specified channel, and returns the handle.
Scheduler 	Haravikk Mistral 	Schedule multiple events using a single script timer
Script Override Functions 	Revolution Perenti 	bypass default strings, integer etc in chat channel.
Self Upgrading Script Enhanced 	Cron Stardust 	Keeps only latest version of the script on prim (even with multiple adds of the same script!)
SHA-1 Hash 	Strife Onizuka 	Preforms a SHA-1 Hash on an input text. Similar to MD5 only (slightly) more secure.
SHA-2 Hash 	Strife Onizuka 	Preforms a SHA-2 Hash on an input text. Similar to SHA-1 only (slightly) more secure.
Sim Map Particle Projector 	Jesse Barnett 	Displays a floating map of the sim the script is in.
SLateIt 	Babbage Linden 	An augmented virtual reality HUD.
SLetanque 	Babbage Linden 	An LSL petanque game.
SLURL HUD 	CodeBastard Redgrave 	Touch this HUD to get a SLURL through IM, email and floating text.
SL Mail V1.2 	Flennan Roffo 	Second Life mail client V1.2 (released sept'07). Send and receive mail from within Second Life from and to any address. With Address Book function and many chat commands. V1.3 is upcoming soon!
SL NTPoHTTP client 	SignpostMarv Martin 	Second Life Needs Time Parsing over Hyper Text Transfer Protocol
Emulates the function of llGetWallclock for any timezone by using SLOpenID's SLNTPoHTTP service. Also supports ISO 8601 and RFC 2822 timestamps. Script is dependent upon an external service operated by the author!
Spiral Staircase Generator 	Meyermagic Salome 	Generates nice looking spiral staircases without much hassle.
String Compare 	Xaviar Czervik 	Compares two strings and reliably returns either 1, -1, or 0 if they are the same.
Teleport HUD 	Jesse Barnett 	WORKS TO 4096 METERS!! Very user friendly teleport HUD. Add destinations by touching "Add" & naming destination in chat. Automatically gets sim name and coordinates. Will only display the destinations in the sim you are currently in. Demonstrates more advanced list manipulation and stride functions.
Texture Management 	Revolution Perenti 	Dialog Menu based Texture Selection.
Tic Tac Toe 	CG Linden 	Step by step demo on how to implement a larger scripting project
TightList 	Revolution Perenti 	Tight List is a family of functions for encoding lists as strings and then decoding them back into lists. 
There are two flavors: TightList and TightListType. TightListType preserves types and uses a 6 char header, while TightList uses a 1 char header that doesn't preserve type.
Timer Module 	Isabelle Aquitaine 	Manage multiple timers via linked messages.
Touch A Quote 	CodeBastard Redgrave 	Touch an object to read quotes sequentially from a notecard
Unix2DateTime 	Flennan Roffo 	Conversion from Unix time (llGetUnixTime()) to date and time string and vice versa.
Under Age Boot 	Chance Unknown 	Security device example to teleport home accounts below a minimum age limit; can be useful in combating free griefer accounts.
Unmutable Descript Nagger 	Bobbyb30 Zohari 	To nag avatars to take off their scripted attatchments.
Visitor Logger (Web/Basic) 	Buddy Sprocket 	A very basic visitor logger - log visitors in SL to a text file on your web-site.
Vote Simple 	JB Kraft 	Simple vote collector. One avi, one vote.
WarpPos 	Keknehv Psaltery 	Non-physical movement without the 10m limit.
Window Control 	Emmas Seetan 	For window opacity, helpful for buildings.
WHMcs SecondLife plugin 	Alicia Sautereau 	Linden Dollar payment plugin for the WHMcs hosting portal.
XTEA Strong Encryption Implementation 	Morse Dillon 	An LSL implementation of XTEA (eXtended Tiny Encryption Algorithm). This is the first known public release of a 'real' strong encryption implementation in LSL and is released under the GNU General Public License (GPL).
XyText 	Xylor Baysklef 	Display text (up to 10 characters) on a prim. Use as many prims as desired.
XyyyyzText 	Criz Collins 	Display text (up to 10 characters) on a prim. Displays different text for each line instead of one single text, that will be broken into the next lines. Watch here for what that means: http://screencast.com/t/1wMLujLcEO
XyzzyText 	Thraxis Epsilon and Gigs Taggart 	Display text (up to 10 characters) on a prim. Way more efficient than XyText.
Zero Lag Poseball 	Jippen Faddoul 	A simple poseball with no lag
==Support Script Library==
These are scripts in other languages, intended to be run on other systems that support scripts written in LSL
Name 	Creator 	Description
HTTP Post request to a PHP server	Corto Maltese 	This small library allows you to make simple POST requests to your website. The libraries allow you to get your request through the variable $_POST on the server. It also include a basic security mechanism aimed to stop hacking. Comprises of LSL client script and PHP server script.
Silo 	Zero Linden 	General purpose data store in PHP. Use this to persist arbitrary data from LSL via llHTTPRequest. See:
* README file
* silo.tgz tarball
* forum post Announcement.
llXorBase64StringsCorrect 	SignpostMarv Martin	An implementation of llXorBase64StringsCorrect in PHP- should be useful if you're using llXorBase64StringsCorrect to do cryptography work in LSL2 and posting it out to the web via llHTTPRequest.
lsl_fu.php 	SignpostMarv Martin	A basic OOP'd PHP Class containing VeloxSeverine's $_POST fixer and Marv's own eccentric ideas for "fixing" things.
== See Also ==
Articles
* Examples