Difference between revisions of "Punkysnippets"
Jump to navigation
Jump to search
Line 6: | Line 6: | ||
This is mearly an example for a leash, you will need to change | This is mearly an example for a leash, you will need to change | ||
the on/off to fit your need, the length and etc. | the on/off to fit your need, the length and etc. | ||
<lsl> | <lsl> | ||
string texturename = "08d5770f-d3c4-7d4a-5a2b-2a1c126643d9"; | string texturename = "08d5770f-d3c4-7d4a-5a2b-2a1c126643d9"; |
Revision as of 18:11, 22 July 2008
Welcome to the snippet page of Punky!
Below are some small example scripts and misc useful codes for inserts!
Simple leashing script
This is mearly an example for a leash, you will need to change the on/off to fit your need, the length and etc. <lsl> string texturename = "08d5770f-d3c4-7d4a-5a2b-2a1c126643d9"; string nullstr = ""; key nullkey = NULL_KEY; key posekey = nullkey; float age = 3; float gravity = 1.0; key currenttarget = nullkey; string ourtarget = nullstr; integer line; key loadkey; UpdateParticles(key leashtarget) {
currenttarget = leashtarget; llParticleSystem( [ PSYS_PART_START_SCALE,(vector) <0.075,0.075,0>, PSYS_PART_END_SCALE,(vector) <1,1,0>, PSYS_PART_START_COLOR,(vector) <1,1,1>, PSYS_PART_END_COLOR,(vector) <1,1,1>, PSYS_PART_START_ALPHA,(float) 1.0, PSYS_PART_END_ALPHA,(float) 1.0, PSYS_SRC_TEXTURE,(string) texturename, PSYS_SRC_BURST_PART_COUNT,(integer) 1, PSYS_SRC_BURST_RATE,(float) 0.0, PSYS_PART_MAX_AGE,(float) age, PSYS_SRC_MAX_AGE,(float) 0.0, PSYS_SRC_PATTERN, PSYS_SRC_PATTERN_DROP, PSYS_SRC_BURST_RADIUS,(float) 0.5, PSYS_SRC_INNERANGLE,(float) 0.0, PSYS_SRC_OUTERANGLE,(float) 0.0, PSYS_SRC_OMEGA,(vector) <0,0,0>, PSYS_SRC_ACCEL,(vector) <0,0,-gravity>, PSYS_SRC_BURST_SPEED_MIN,(float) 1000.0, PSYS_SRC_BURST_SPEED_MAX,(float) 1000.0, PSYS_SRC_TARGET_KEY,(key) leashtarget, PSYS_PART_FLAGS, PSYS_PART_FOLLOW_VELOCITY_MASK | PSYS_PART_FOLLOW_SRC_MASK | PSYS_PART_TARGET_POS_MASK | 0 ] );
} integer isKey(key in) {
if(in) return 2; return (in == nullkey);
} ///// /////Leash Vari ///// vector target; vector subpos; float dist; integer leash_length = 2; key ptarget; key owner; string targetN; default {
on_rez(integer r) { owner = llGetOwner(); } state_entry() { llParticleSystem([]); owner = llGetOwner(); llListen(0, "", owner, ""); } listen(integer chan, string name, key id, string msg) { list parse = llParseString2List(msg, ["|"], []); if(llList2String(parse, 0) == "leash") { llSensorRepeat("", (key)llList2String(parse, 1), AGENT, 96, PI, 0.2); } } sensor(integer s) { target = llDetectedPos(0); ptarget = llDetectedKey(0); subpos = llGetPos(); dist = llVecDist(subpos, target); UpdateParticles(ptarget); if(dist >= (leash_length + 1)) { llMoveToTarget(target, 0.75); } if(dist <= leash_length) { llStopMoveToTarget(); } } no_sensor() { llParticleSystem([]); llStopMoveToTarget(); }
} </lsl>