Difference between revisions of "Sim Map Particle Projector"
Jump to navigation
Jump to search
Fred Gandt (talk | contribs) (Tidied up a bit. Added http status check. Removed needless global variables. Removed pointless string addition. Added on_rez reset.) |
|||
Line 7: | Line 7: | ||
Fun little script. Drop it in a prim to see how it works. Demonstrates how to work with the map api. | Fun little script. Drop it in a prim to see how it works. Demonstrates how to work with the map api. | ||
<lsl> | <lsl>string URL = "http://www.subnova.com/secondlife/api/map.php?sim="; | ||
key httpRequestId; | key httpRequestId; | ||
float mapSize = 3.0; | float mapSize = 3.0; | ||
mapParticle(key mapTexture) | |||
mapParticle() | |||
{ | { | ||
llParticleSystem([PSYS_PART_FLAGS, 0, | |||
PSYS_SRC_PATTERN, 4, | |||
PSYS_PART_START_ALPHA, 0.5, | |||
PSYS_PART_END_ALPHA, 0.5, | |||
PSYS_PART_START_COLOR, <1.0, 1.0, 1.0>, | |||
PSYS_PART_END_COLOR, <1.0, 1.0, 1.0>, | |||
PSYS_PART_START_SCALE, <mapSize, mapSize, 0.0>, | |||
PSYS_PART_END_SCALE, <mapSize, mapSize, 0.0>, | |||
PSYS_PART_MAX_AGE, 1.2, | |||
PSYS_SRC_MAX_AGE, 0.0, | |||
PSYS_SRC_ACCEL, <0.0, 0.0, 0.0>, | |||
PSYS_SRC_ANGLE_BEGIN, 0.0, | |||
PSYS_SRC_ANGLE_END, 0.0, | |||
PSYS_SRC_BURST_PART_COUNT, 8, | |||
PSYS_SRC_BURST_RADIUS, mapSize, | |||
PSYS_SRC_BURST_RATE, 0.1, | |||
PSYS_SRC_BURST_SPEED_MIN, 0.0, | |||
PSYS_SRC_BURST_SPEED_MAX, 0.0, | |||
PSYS_SRC_OMEGA, <0.0, 0.0, 0.0>, | |||
PSYS_SRC_TEXTURE, mapTexture]); | |||
} | } | ||
default { | default | ||
{ | |||
on_rez(integer param) | |||
{ | |||
llResetScript(); | |||
} | |||
state_entry() | |||
{ | |||
httpRequestId = llHTTPRequest(URL + llEscapeURL(llGetRegionName()), [], ""); | |||
} | |||
} | http_response(key request_id, integer status, list metadata, string body) | ||
</lsl> | { | ||
if((request_id == httpRequestId) && (status == 200)) | |||
mapParticle(body); | |||
} | |||
}</lsl> | |||
{{LSLC|Library|Sim Map Particle Projector}} | {{LSLC|Library|Sim Map Particle Projector}} |
Revision as of 07:36, 27 April 2010
LSL Portal | Functions | Events | Types | Operators | Constants | Flow Control | Script Library | Categorized Library | Tutorials |
- Click Here To see my page and more of my scripts
Fun little script. Drop it in a prim to see how it works. Demonstrates how to work with the map api.
<lsl>string URL = "http://www.subnova.com/secondlife/api/map.php?sim=";
key httpRequestId;
float mapSize = 3.0;
mapParticle(key mapTexture) {
llParticleSystem([PSYS_PART_FLAGS, 0, PSYS_SRC_PATTERN, 4, PSYS_PART_START_ALPHA, 0.5, PSYS_PART_END_ALPHA, 0.5, PSYS_PART_START_COLOR, <1.0, 1.0, 1.0>, PSYS_PART_END_COLOR, <1.0, 1.0, 1.0>, PSYS_PART_START_SCALE, <mapSize, mapSize, 0.0>, PSYS_PART_END_SCALE, <mapSize, mapSize, 0.0>, PSYS_PART_MAX_AGE, 1.2, PSYS_SRC_MAX_AGE, 0.0, PSYS_SRC_ACCEL, <0.0, 0.0, 0.0>, PSYS_SRC_ANGLE_BEGIN, 0.0, PSYS_SRC_ANGLE_END, 0.0, PSYS_SRC_BURST_PART_COUNT, 8, PSYS_SRC_BURST_RADIUS, mapSize, PSYS_SRC_BURST_RATE, 0.1, PSYS_SRC_BURST_SPEED_MIN, 0.0, PSYS_SRC_BURST_SPEED_MAX, 0.0, PSYS_SRC_OMEGA, <0.0, 0.0, 0.0>, PSYS_SRC_TEXTURE, mapTexture]);
}
default {
on_rez(integer param) { llResetScript(); } state_entry() { httpRequestId = llHTTPRequest(URL + llEscapeURL(llGetRegionName()), [], ""); } http_response(key request_id, integer status, list metadata, string body) { if((request_id == httpRequestId) && (status == 200)) mapParticle(body); }
}</lsl>