Jump to content

Xiija

Resident
  • Posts

    912
  • Joined

  • Last visited

Everything posted by Xiija

  1. the LSL wait function is llSleep(). //Say(0,"message one"); llSleep(2); llSay(0,"message 2");
  2. in the item you purchased, there is a set up notecard.., with the following settings: _____________________ #rental offset this is how far and in what direction the box moves when rented <0,0,3> #rental scale this is the size of the box when rented <0.5,0.5,0.5> ______________________ edit your notecard and change these?
  3. https://marketplace.secondlife.com/p/VA-Devices-Teleporter/1934942 Free, Easy, Copiable...they auto link with each other
  4. you may be able to get soem ideas from this... http://wiki.secondlife.com/wiki/Remote_Texture_Loader
  5. an alternate method... http://wiki.secondlife.com/wiki/Object_to_Data_v1.4
  6. you may not be able to trigger one script from another, but you can set a script's state from another script.
  7. define your colors first... then put a llMessageLinked, in the main script, and a link_message in all the child prims you want to change? vector white = <1.0, 1.0, 1.0>;vector grey = <0.5, 0.5, 0.5>;vector black = <0.0, 0.0, 0.0>;vector red = <1.0, 0.0, 0.0>;vector green = <0.0, 1.0, 0.0>;vector blue = <0.0, 0.0, 1.0>;vector yellow = <1.0, 1.0, 0.0>;vector cyan = <0.0, 1.0, 1.0>;vector magenta = <1.0, 0.0, 1.0>;
  8. there is no way for a script to know how long a sound is, so... all sounds must be the same length, or your timer must be set to 10 seconds (max sound time is 10 sec) then change your touch event and add a timer.. (p.s. ..i'm not sure what a sleep inside a timer will do ) //declare a toggle before Default integer k; touch_start(integer total_number) { k = !k; if(k) { llOwnerSay("On"); llSetTimerEvent(1); } else { llOwnerSay("Off"); llSetTimerEvent(0.0); llResetScript(); } } timer() { llSetTimerEvent(10.0); ChooseSound = llRound(llFrand(InvSounds)); PlaySound = llGetInventoryName(INVENTORY_SOUND,ChooseSound); if (PlaySound == "14") { llTriggerSound("15",1.0); llSleep(10); llTriggerSound("14",1.0); } else { llTriggerSound(PlaySound,1.0); } }
  9. in GOHA hockey, the puck has a large target/crosshair prim around it to make it visible from a distance..... http://maps.secondlife.com/secondlife/TreeSong/98/3/22 you can get a free equiptment bag, and hud for hockey and see the puck prims at the above link
  10. some ideas for land info... (it would be best if you get the details yourself, and put them in a notecard to give out?? llGetEnv( "dynamic_pathfinding") list details = llGetParcelDetails(llGetPos(), [PARCEL_DETAILS_NAME, PARCEL_DETAILS_DESC,PARCEL_DETAILS_AREA]); llSay(0, "\nThere are " + (string)llGetParcelPrimCount(llGetPos(), PARCEL_COUNT_TOTAL, FALSE) +" of " +(string)llGetParcelMaxPrims(llGetPos(), FALSE) + " prims rezzed on this parcel"); _______miriam orange used as an example___________ llSay(0, "Land Info.\n" + "\nTP :" + "secondlife:///app/teleport/Miriam Orange/128/128/0" + "\nParcel :" + "secondlife:///app/parcel/0a1ba48a-7c0d-6bf2-0091-0ef71557c022/about" + "\nWorldMap : "+ "secondlife:///app/worldmap/Miriam Orange/128/128/0" );
  11. This will listen to the owner, just an example of comparing lists... you can put this in a box and try iy out ..turns red for angry, blue for happy will search owners chat for keywords in your 2 lists compare code is from VoidSinger you could also use notecards and data event to hold the lists.. (P.S. ...it wont differentiate if someone says "im not very happy"... ) /*//-- Anti-License Text --//*//*// Contributed Freely to the Public Domain without limitation. //*//*// 2012 (CC0) [ http://creativecommons.org/publicdomain/zero/1.0 ] //*//*// Void Singer [ https://wiki.secondlife.com/wiki/User:Void_Singer ] //*/integer uListFindAnyFirst( list vLstSrc, list vLstTst ){ return ~(~( llParseString2List( llList2String( llParseStringKeepNulls( llDumpList2String( vLstSrc, "•" ), vLstTst, [] ), 0 ), ["•"], [] ) != []) % ~(vLstSrc != []));}integer k;integer x;integer y;integer handle;list happyMoods;list angryMoods;default{ state_entry() { happyMoods = ["happy","fine"]; angryMoods = ["mad","pissed"]; } touch_start(integer total_number) { k = !k; if(k) { llOwnerSay("On"); handle = llListen(0, "", llGetOwner(), ""); } else { llOwnerSay("Off"); llListenRemove(handle); } } listen( integer channel, string name, key id, string message ) { if (message) { list heard = llParseString2List(llToLower(message),[" "],[""]); x = uListFindAnyFirst(happyMoods,heard); y = uListFindAnyFirst(angryMoods,heard); if (~x) { llSetColor(<0, 0, 1>, ALL_SIDES); } else if (~y) { llSetColor(<1, 0, 0>, ALL_SIDES); } } }}
  12. i think all you can do is reset the script to cancel the request?
  13. got one at Ferd's, by Ariane Brodie... this seems to do it.. pos = llDetectedPos(i); rot = llDetectedRot(i); rotz = llRot2Fwd(rot); rotz.x = rotz.x * 2; rotz.y = rotz.y * 2; rotz.z = 1; CAMERA_FOCUS,pos, CAMERA_POSITION,pos + rotz
  14. i'm trying to make a hud that will focus my camera on an avatar. i know it is possible, i have a lindatool that does it. how would i set the camera controls to do this?..i think i need to add rotation somewhere? CAMERA_POSITION, pos + camOffset*rot....or something? target is gotten from a sensor, myPos is just ;;GetPos()... llClearCameraParams(); llSetCameraParams([ CAMERA_ACTIVE, 1, // 1 is active, 0 is inactive---TRUE FALSE ? CAMERA_FOCUS,target , CAMERA_BEHINDNESS_ANGLE, 0.0, // (0 to 180) degrees...df 2.0 CAMERA_BEHINDNESS_LAG, 0.0, // (0 to 3) seconds ......df 0.2 CAMERA_DISTANCE, 0.5, // ( 0.5 to 10) meters //CAMERA_FOCUS, <0,0,5>, // region relative position CAMERA_FOCUS_LAG, 0.02 , // (0 to 3) seconds CAMERA_FOCUS_LOCKED, FALSE, // (TRUE or FALSE) CAMERA_FOCUS_THRESHOLD, 0.0, // (0 to 4) meters CAMERA_PITCH, 0.0, // (-45 to 80) degrees //CAMERA_POSITION, <0,0,0>, // region relative position CAMERA_POSITION, myPos , // region relative position CAMERA_POSITION_LAG, 0.15, // (0 to 3) seconds CAMERA_POSITION_LOCKED,TRUE, // (TRUE or FALSE) CAMERA_POSITION_THRESHOLD, 0.0, // (0 to 4) meters CAMERA_FOCUS_OFFSET, <0,0,1> // <-10,-10,-10> to <10,10,10> meters ]);
  15. "automatically attach when an avatar enters a land" use a sensor, and have the sensor prim send the temp HUD "and also without asking permission to attach." there is no such thing ...permissions are always needed
  16. It must be possible, looks like there is one on the MP https://marketplace.secondlife.com/p/BoSH-Color-Hud-Basic/1607822
  17. some scropts for color at Ferd's... http://www.free-lsl-scripts.com/cgi/freescripts.plx?Category=Color ..at Secondlife Social... http://secondlifesocial.net/index.php?option=com_content&view=article&id=248&Itemid=205
  18. default { on_rez(integer start_param) { } state_entry() { llPreloadSound("HOLYGRENADE"); llPreloadSound("Explosion"); } collision_start(integer total_number) { llSetDamage(5000); if (llDetectedType(0) & AGENT) { llPushObject(llDetectedKey(0), force_amount*llRot2Up(llGetRot()), ZERO_VECTOR, FALSE); llTriggerSound("HOLYGRENADE", 1.0); llTriggerSound("Explosion", 1.0); llMakeExplosion(20, 1.0, 5, 3.0, 1.0, "Smoke", ZERO_VECTOR); llMakeExplosion(20, 1.0, 5, 3.0, 1.0, "fire", ZERO_VECTOR); llDie(); } } } you forgot brackets after the if...and had 2 collision_starts? also, sound volume is 0.0 to 1.0
  19. Just curious... in a situation like this, could you add a listen, and if the chat is "reset" have it llResetScript(): ...would that reset the position / rotation to a new base value?
  20. in the hud, you would have something like... email( string time, string address, string subject, string message, integer num_left ) { if (message = yes) { llStartAnimation("Hands Out");} }
  21. you could use email if you dont want a listen going on? something like this in the chair... where ...5a634b27-f032-283f-2df2-55ead7724b23...is replaced by your HUD's key? of course this only works for chairs you can put your scripts into.... default{ state_entry() { // set sit target, otherwise this will not work llSitTarget(<0.0, 0.0, 0.1>, ZERO_ROTATION); } changed(integer change) { if (change & CHANGED_LINK) { key av = llAvatarOnSitTarget(); if (av) // evaluated as true if key is valid and not NULL_KEY { llEmail("5a634b27-f032-283f-2df2-55ead7724b23@lsl.secondlife.com", "isSitting", "yes"); } } }}
  22. maybe use llGetVel, llGetAccel or llGetForce and if the movement drops below a certain amount set it to zero?
  23. **** Again, doors wouldn't react to something said, they react to a touch. And if they did react to something said what channel are they listening on? ***** the channel is set in the script you put in the door., and in the sensor, you can use volume detect, or a sensor to do this, there are many free ones on MarketPlace
  24. // llShout(-5872,points);reported by each object // have the last ball shout "finished" before it dies?integer totalpoints = 0;//points = 0 at startinteger points = 0;default{ state_entry() { llListen(-5872, "", "", ""); } listen(integer channel, string name, key id, string message) { if(message) { totalpoints += (integer)message;} if (message == finished) { llSay (0, "total points= " + (string)totalpoints); llSleep(2); llResetScript(); } }} is this any closer mebbe...? you could also make a list with all the balls, and report the points from each ball seperately if(name == red) { redpoints += (integer)message;}//If's to check each ball if(name == green) { greenpoints += (integer)message;} if(name == blue) { bluepoints += (integer)message;} if(name == yellow) { yellowpoints += (integer)message;} if(name == white) { whitepoints += (integer)message;} totalpoints += redpoints + greenpoints + bluepoints + yellowpoints + whitepoints ;
  25. to get you started... in the object: integer index;list textures;default{ state_entry() { index = llGetInventoryNumber(INVENTORY_TEXTURE); llListen(123,"", "",""); integer n = index; while(n) { textures += [llGetInventoryName(INVENTORY_TEXTURE, --n)]; } } touch_start(integer total_number) { } listen( integer channel, string name, key id, string message ) { if(message) { if (~llListFindList(textures,[message])) { llSetTexture(message, ALL_SIDES); } } } } this will check anything said on channel 123 .. if you have 4 textures in your mesh objects inv, i.e. red, blue, green. pink and the chat matches the texture name, it will change the prims texture. your HUD can chat on the channel you choose, and you can also add a dialog box to choose the textures..... you could put the textures in just the HUD and send the texture UUID's to the mesh obj, the dialog for the HUD would look something like this, and in Touch_start you would have Dialog(); Curr should be set in your listen event in the HUD Dialog(){ integer channel = 123; CurrBtnList = []; cntrl = ["BACK","POWER","NEXT"]; index = llGetInventoryNumber(INVENTORY_TEXTURE); ttlPages = llCeil(index/9.0 ); pgMax = (page * 9); pgMin = ( pgMax - 9); i = (pgMin - 1); while (i < (pgMax - 1)) { ++i; if (i < index) { CurrBtnList += [ llGetInventoryName(INVENTORY_TEXTURE,i)] ; } } llDialog(ID,"\nPlease choose your Texture:\n\n" + " \nCurrent texture : " + Curr, cntrl + CurrBtnList,channel); }
×
×
  • Create New...