Dopo aver visto, nell'
articolo precedente, il primo script in
LSL, in questa seconda parte, si analizzeranno più in dettaglio gli strumenti messi a disposizione dal linguaggio di programmazione per
Second Life.
LSL è un linguaggio fortemente tipato, che fornisce 7 tipi di dato predefinito. I primi tre,
integer,
float e
string, sono intuibili da qualsiasi programmatore e non necessitano di particolari descrizioni, mentre molto meno comuni sono gli altri quattro tipi:
- vector è un dato individuato da tre valori sugli assi cartesiani: un oggetto vector, infatti, ha tre componenti (attributi) float denominati x, y e z, ed è tipicamente usato per indicare una posizione, una velocità, o una qualsiasi informazione espressa da tre valori numerici (ad esempio un colore);
- list è una struttura dati che può includere un insieme di oggetti, ma non può contenere altre liste;
- rotation è un oggetto composto da 4 float, detti quaternioni, che descrivono una rotazione;
- key è una stringa contenente l'UUID, ovvero l’identificatore unico universale di un oggetto di Second Life.
È importante notare che
LSL non comprende vettori o matrici — solo le liste possono essere in parte utilizzate allo scopo — mentre prevede un insieme di operatori unari e binari analoghi al linguaggio C. Di quest’ultimo, inoltre, segue le stesse regole di scope e di definizione e utilizzo delle funzioni.
Una caratteristica fondamentale di
LSL è che, essendo disegnato per l'utilizzo in
Second Life, fornisce di default una
serie di funzioni, identificate dal prefisso
ll, ideate per semplificare tutte quelle esigenze di programmazione
in-world: ciò significa che, con una semplice chiamata a funzione o con poche righe di codice, è possibile definire script per oggetti, che comunicano in chat o via Instant Message con gli avatar di
Second Life: creare strumenti di pagamento automatizzato come ad esempio slot machine — ma da pochi giorni sono divenute illegali
in-world — o sportelli bancomat; interagire con l'inventario di un avatar o con l'ambiente circostante attraverso l'installazione di sensori; e persino, applicare forze, attriti, funzioni per il galleggiamento, il movimento o il volo.
In conclusione,
LSL è un linguaggio di scripting estremamente potente e dotato di una libreria di funzioni particolarmente fornita. Occorre molta creatività e impegno, ma probabilmente crearsi una seconda vita non è mai stato così semplice e... divertente.