Linden Scripting Language (LSL) umožňuje přidat chování a interaktivitu do objektů uvnitř Second Life. Skriptování je jen další slovo pro programování, takže když se učíte LSL, tak také programujete. Nebojte se, je to jeden z nejjednodušších programovacích jazyků. A v SL s ním dokážete kouzla která řídí celý svět od vozidel a zbraní až po požadavky HTTP.
OK, takže jste připraveni udělat první krok? Skvělé!
Spusťte klienta SL a postavte se někam, kde můžete stavět, třeba pískoviště nebo pozemek, který vlastníte. Vytvořte krabici na zemi a vyberte ji. Vyberte kartu „Content“ v okně Vytvořit a klikněte na tlačítko „New skript“. Okno obsahu skriptu se otevře s výchozím pozdravem „Hello, avatar!“. Pokud zavřete okno editace objektu a kliknete pravým tlačítkem myši na krabici, skript bude reagovat zvoláním „Touched“.
Gratuluji! Právě jste vytvořil svůj první skript v Second Life! Co jste vlastně udělali? Pojďme rozdělit skript. Klikněte na kostku a vyberte položku Upravit. Znovu klepněte na kartu „Content“. Okno nyní obsahuje jednu položku nazvanou New skript. Poklepáním na Nový skript se otevře okno Úpravy skriptu. Nyní se můžeme podívat na skript:
default { state_entry() { llSay(0, "Hello, Avatar!"); } touch_start(integer total_number) { llSay(0, "Touched."); } }
Takže si to rozebereme po kouskách.
Slovo „default“ je klíčové slovo a označuje, v jakém stavu bude program LSL spuštěn. Jaké stavy LSL nabízí se naučíme později, ale prozatím stačí vědět, že každý program LSL musí mít alespoň jeden stav a že je označen jako default.
Závorky {a}, které následují za slovem default, zapouzdřují obslužné rutiny událostí v tomto stavu – v tomto případě state_entry a touch_start . State_entry jakákoli událost je spuštěna, vždy když vstoupí do tohoto stavu, takže v našem příkladu, jakmile tento skript oživíte(vložíte do objektu ve světě) vstoupí do default stavu. Toto spustilo událost state_entry , což znamená, že byl spuštěn jakýkoli kód nacházející se v rámci state_entry. V tomto příkladu je jediným kódem funkce llSay, která umožňuje zobrazit text na kanál který si zvolíte. zde je zvolen kanál 0 na kterém všichni avataři chatují a poslouchají. Proto slova „Hello, Avatar!“ slyší všichni avataři v okolí. Funkce llSay má v uvnitř závorek dva argumenty. Za číslem kanálu který jsem již zmínil je už jen textový řetězec.
Druhý obslužný program událostí je touch_start. Což je obsluha kliku na objekt. Náš objekt po kliku vyvolá opět funkci llSay a v chatu se zobrazí „Touched.“
Komunikace nejen avatarů ale i objektu přes skripty je v SL opravdu obsáhlejší téma a proto tomu budu věnovat samostatnou kapitolu.
Dnes si jen uvědomíme hlavní znaky LSL:
Kód tvoří bloky příkazů uzavřené mezi závorky { a }
● Každý řádek s příkazem musí končit znakem ;
● Text napsaný za // je komentář a je programem ignorován
● Parametry funkcí se uvádí mezi ( a ) a oddělují se čárkou