Linden Scripting Language (LSL) je programovací jazyk užívaný ve virtuálním světě Second Life. LSL má syntax podobnou jazyku C. Dokáže ovládat objekty ve virtuálním světě a může komunikovat nejen s uživateli a objekty v tomto virtuálním světě, ale i se servery mimo Second Life. Ke komunikaci vně SL využívá E-mail, XML-RPC a HTTP.

Vlastnosti jazyka LSL událostmi řízený jazyk. Skript vytvořený v tomto jazyce může obsahovat více stavů v nichž může využívat libovolné z následujících událostí: At rot target At target Attach – objekt s tímto skriptem byl připojen nebo odpojen od avatara Changed – změna, která je blíže specifikována parametrem (například změna obsahu inventáře objektu, změna vlastníka) Collision – kolize s jiným objektem nebo avatarem Collision end – konec kolize Collision start – začátek kolize Control – uživatel stiskl/drží/uvolnil klávesu (nutné zažádat o práva na sledování klávesnice) Dataserver – získávání dat ze serveru (například čtení textových souborů) Email – komunikace pomocí elektronické pošty Http response – příchozí odpověď na odeslaný HTTP dotaz Land collision – kolize s povrchem Land collision end – konec kolize s povrchem Land collision start – začátek kolize s povrchem Link message – interní komunikace objektu Listen – záznam zprávy (nutné nastavit listener na určitý kanál) Money – uživatel zaplatil objektu Moving start – začátek pohybu No sensor – sensor nenašel žádný odpovídající objekt/avatara Not at rot target Not at target Object rez On rez Remote data – komunikace pomocí XML-RPC Run time permissions – získání práv (například pro posílání peněz, sledování klávesnice, ovládání kamery…) Sensor – sensor objevil odpovídající objekt/avatara State entry – vstup do stavu State exit – přechod do jiného stavu Timer Touch Touch end Touch start

Skript je možné zkompilovat pomocí LSL2 nebo Mono. Z testů je patrné, že LSL2 je rychlejší na práci s objekty, zatímco Mono je výhodnější pro výpočty. Při zkompilování pomocí LSL2 získá skript kapacitu paměti 16KB, při využití Mono skript získá 64KB paměti, ale na druhou stranu Mono využívá více paměti.

LSL užívá následující typy proměnných: Float – rozsah: <1.175494351E-38 ; 3.402823466E+38> Integer – rozsah: <−2147483648 ; 2147483647>, užívá se též jako boolean Key – formát: "00000000-0000-0000-0000-000000000000" List – seznam značený [], může obsahovat hodnoty různých typů, hodnoty se získávají pomocí indexů Rotation – formát: <0.0, 0.0, 0.0, 1.0> String – textový řetězec limitovaný pamětí skriptu Vector – formát: <0.00000, 0.00000, 0.00000>

Externí odkazy LSL Wiki—Komunitní projekt dokumentace LSL LSL Portal—Oficiální LSL dokumentace

Kategorie:Skriptovací jazyky Kategorie:Programovací jazyky