Documentation
TypeScript type definitions and TSTL plugin for Second Life's SLua runtime
Overview
@gwigz/slua is a set of LSL/SLua type definitions and a
TypeScript-to-Lua plugin for writing
Second Life scripts in TypeScript. The types cover 522 ll.* functions and
1,022 constants, and the plugin rewrites TypeScript idioms into native Luau
and ll.* calls instead of TSTL's runtime helpers.
Getting Started
Install dependencies and configure your project
@gwigz/slua-modules
Reusable runtime modules for config, async yields, and testing
@gwigz/slua-create
Scaffold a new SLua TypeScript project
@gwigz/slua-viewer-client
Push builds in-world over the viewer's external editor connection
@gwigz/slua-json
Tagged JSON codec for exchanging typed data with SLua scripts
Examples
Projects built with this toolchain.
slua-derez-patcher
Skips the rez-edit-take-replace cycle, patches rezzed objects in-place using ll.DerezObject
sim-wide-relay
Region-wide chat relay system, a multi-script project deployed at a live sim
Resources
Official
Creator Portal
Second Life creator tools and documentation
VSCode Extension
SLua language support for VS Code by Linden Lab
LSL Definitions
LSL and SLua API definitions by Linden Lab