User:Ama Omega/archive/lsl hacks
< User:Ama Omega | archive
Jump to navigation
Jump to search
Revision as of 15:34, 26 February 2010 by Kelly Linden (talk | contribs) (Created page with '== Shared Media and HTTP-In == One step at a time ....... === llSetPrimMediaParams === * Use llSetPrimMediaParams to set the url and various parameters on the face of a prim via ...')
One step at a time .......
llSetPrimMediaParams
- Use llSetPrimMediaParams to set the url and various parameters on the face of a prim via LSL.
// example LSL
data: urls
- There is a special url type: "data:" that lets you send the html *in the url*.
// data:text/html,This%20is%20a%20test // TODO: how to make that work as a link in wikipedia?
llSetPrimMediaParams for data: urls
- Thus you can build arbitrary html in your LSL script and display it on the face of the prim
// example LSL
HTTP-In
- Scripts can become web servers via HTTP-In(link)
llSetPrimMediaParams for data: urls that link back to HTTP-In
- Which means you can make web pages that trigger other page views via http-in links
// example LSL
Forms
- You can put forms in data: urls
// data:text/html,<form action="http://google.com" method="GET">Search:<input type="text" name="search"><input type="submit" label="Submit"></form>
The Magic
- You can set the script HTTP-In url as the form action to get the results of the form sent back to the script
// example LSL
The Limits
- 1024 bytes per url
- llEscapeURLs means non-alphanumeric characters are 3 bytes (ouch)
- Must force another page view after form submission since HTTP-In can't generate HTML
The Tricks
- <base href="<http-in-url>/">
- Tiny urls