Jump to content

Xiija

Resident
  • Posts

    914
  • Joined

  • Last visited

Everything posted by Xiija

  1. it may also be that some of the HUDs that appear to move so fast are setting the alphas to zero before moving, so that the movement is not seen at all?
  2. The wiki suggests a little trick too... so something like... llStopAnimation(danceFileName); llStartAnimation("b43c9176-112c-944f-33fa-da2d275a9ac"); llStopAnimation("b43c9176-112c-944f-33fa-da2d275a9ac"); the UUID is one i have for a blank anim, from MP Blank Animation-Zero priority
  3. in your control event... if(level & CONTROL_FWD) { if(llGetAgentInfo(llGetOwner()) & AGENT_WALKING ) { llApplyImpulse(<-8.0,0,0>,TRUE); } } Negative values greater than -7 or -8 will make you drift a bit mebbe?
  4. is this the You? ( there was only 1 Phil Deakins in "people search") ...if so, ... kinda cute!
  5. In SinCity, and in serious need of ... coffee !
  6. Heya, sorry, isit just me?.. mebbe i am cursed?.. or at least a lil slow... i cant see "Member Title" anywhere?
  7. Mebbe you get the option when you go over 500 posts?.. or are an admin ? **from the web somewhere... on the Admin panel...
  8. just curious, i see a few people with unique tags under their name in the "rank" field.... how to do this plz?
  9. OMG ... these forums .. why can't professional people just do it RIGHT? anyways, i tried adding a forum image sig, and there is no way to change/delete those images? Edit: apparently you have to re-open "Account Settings" to do it, you can only see them in "my attachments", not add or delete from there.
  10. Testing ... is there any post area for testing? @Xiija ...
  11. make sure you define the variable as a float somewhere... float cat; if(channel == 0) { cat = 1.0; }
  12. from your example, it looks like you want to use a gesture? you could make a gesture, and for the trigger ... /move and for the steps, just add a chat step with this chat... /-323 move now and your script could catch that in a listen and then do the move... default { state_entry() { llListen(-323, "","", ""); } touch_start(integer total_number) { } listen(integer channel, string name, key id, string message) { if(message) { llOwnerSay("do something here"); } } }
  13. You have to stop the sound , and then re loop it for a volume change ? http://wiki.secondlife.com/wiki/LlLoopSound If a second call to loop the same sound at a different volume is made from within the same script NO volume change is made. llStopSound set just previous to the second call for a new volume allows the volume change with no discernible pause.integer k;default{ state_entry() { } touch_start(integer total_number) { if( k = !k) { llStopSound(); llLoopSound("RunningWater04", 1.0); } else { llStopSound(); llLoopSound("RunningWater04", 0.1); } }} If you are just editig the script, try adding the StopSound before the loop
  14. i dunno if i accidentally deleted my post? anyways, here it is again ... string NC;key kQuery;integer iLine;integer len;list gLstMnu;string txt;key id;integer chan ;integer handle;integer idx;list uDlgBtnLst( integer vIdxPag ){ list vLstRtn; if ((gLstMnu != []) > 9) { integer vIntTtl = -~((~([] != gLstMnu)) / 9); //-- Total possible pages integer vIdxBgn = (vIdxPag = (vIntTtl + vIdxPag) % vIntTtl) * 9; //-- first menu index string vStrPag = llGetSubString( " ", 21 - vIdxPag, 21 ); //-- encode page number as spaces vLstRtn = llListInsertList( llList2List( gLstMnu, vIdxBgn, vIdxBgn + 8 ), (list)(" «" + vStrPag), vIdxBgn + 9 ) + "CLOSE" + (list)(" »" + vStrPag); } else { vLstRtn = gLstMnu + [" ", "CLOSE"," "] ; } return //-- fix the order for [L2R,T2B] and send it out llList2List( vLstRtn, -3, -1 ) + llList2List( vLstRtn, -6, -4 ) + llList2List( vLstRtn, -9, -7 ) + llList2List( vLstRtn, -12, -10 );} init(){ SiteNames = []; SimNames = []; SimCoords = []; chan = 0x80000000 | (integer)("0x"+(string)llGetOwner()); // channel based on owners key if (llGetInventoryNumber(INVENTORY_NOTECARD) ) { NC = llGetInventoryName(INVENTORY_NOTECARD,0); // llSay(0,"Loading....."); kQuery = llGetNotecardLine(NC, iLine); txt = "\n \nMain Menu\n" ; } else { llOwnerSay("No URL notecard detected."); } llSetText("click to choose Destination ", <1.0, 1.0, 1.0>, (float)TRUE); } list SiteNames;list SimNames;list SimCoords;string simName ;vector tpDest;vector lookAt = ZERO_VECTOR;default{ state_entry() { init(); } on_rez(integer param) { init(); } touch_start(integer total_number) { id = llDetectedKey(0); llDialog( id, txt, uDlgBtnLst( 0 ), chan ); handle = llListen(chan,"","",""); llListenControl(handle, TRUE); llSetTimerEvent(20); } dataserver(key query_id, string data) { if (query_id == kQuery) { if (data == EOF) { iLine = 0; // llSay(0,"Destinations Loaded"); gLstMnu = SiteNames; } else { if(data != "") { list temp = llParseString2List(data,["/"],[]); string Site = llList2String(temp,0); // This says that the list called "Temp" and the first data blob is 0 Site = llGetSubString(Site, 0, 23) ; string Sim = llList2String(temp,1); // This is the same as above but now its the second bit, but we start at 0 so it's 1 vector URL = (vector)llList2String(temp,2); // Etc. But the URLs is a vector so you need to say so. // add to each list so the indexes will match SiteNames += Site; SimNames += Sim; SimCoords += URL; } ++iLine; kQuery = llGetNotecardLine(NC, iLine); } } } listen( integer vIntChn, string vStrNom, key vKeySpk, string vStrMsg ) { if (!llSubStringIndex( vStrMsg, " " )) { llDialog( vKeySpk, txt, uDlgBtnLst( llStringLength( vStrMsg ) + llSubStringIndex( vStrMsg, "»" ) - 2 ), vIntChn ); llSetTimerEvent(20); } else if (vStrMsg == "CLOSE") { llSetTimerEvent(0.5); llSay(0,"Turning off... " ); } else { integer index = llListFindList(SiteNames, [vStrMsg]); simName = llList2String(SimNames,index); tpDest = llList2Vector(SimCoords,index); llSetText("click to teleport to\n '" + vStrMsg + " : " + simName + "'", <1.0, 1.0, 1.0>, (float)TRUE); state Tele_state; } } timer() { llListenControl(handle, FALSE); llSetTimerEvent(0); } changed(integer change) { if (change & (CHANGED_REGION_START | CHANGED_OWNER | CHANGED_INVENTORY) ) { llOwnerSay("Resetting..."); llResetScript(); } } } state Tele_state // And now we can TP to our destination{ state_entry(){ llSetTimerEvent(20); // Close things if you forget why you did this } timer(){ llSetTimerEvent(0); llOwnerSay("Timed Out"); state default; } touch_start(integer num_detected){ llMapDestination(simName, tpDest, lookAt); llSetText("click to choose Destination ", <1.0, 1.0, 1.0>, (float)TRUE); state default; }}
  15. If you are just updating a few variables, you could add an http request to check a google document, then you would just update the google doc and the script in the object could check it periosically? either that or add an updater to your object... https://marketplace.secondlife.com/p/RCX-Product-Update-Server-Full-Perm-Scripts/9955058
  16. i use the shared media or MOAP for headphones, and it works great, you should be able to create a HUD that recieves messages and changes the MOAP fairly easily.using http://wiki.secondlife.com/wiki/LlSetLinkMedia
  17. it's hard to say without being able to test, but have you tried changing your request at all? mebbe try different versions of something like... list treasure_add_list = [ HTTP_METHOD, "GET", HTTP_MIMETYPE, "text/plain;charset=utf-8", HTTP_BODY_MAXLENGTH,16384]; ::shrugs::
  18. Here is a simple on/off on touch for shiny that you can test with... integer k;default{ touch_start(integer num_detected) { if(k = !k) { llSetLinkPrimitiveParamsFast(LINK_THIS, [ PRIM_BUMP_SHINY, ALL_SIDES, PRIM_SHINY_LOW,PRIM_BUMP_NONE]); } else { llSetLinkPrimitiveParamsFast(LINK_THIS, [ PRIM_BUMP_SHINY, ALL_SIDES, PRIM_SHINY_NONE,PRIM_BUMP_NONE]); } }}
  19. anyone can mute the "boop" sound in their preferences... if they don't want to hear boops, they won't in Firestorm viewer its .. Avatar > preferences > sound & media > UI sounds 2 > script dialogs (uncheck)
  20. you can use the Dialog function , http://wiki.secondlife.com/wiki/LlDialog or you can use a texture with 9 buttons on one face and use DetectedTouchST http://wiki.secondlife.com/wiki/LlDetectedTouchST
  21. here is a snippet that may help? composelist() { integer currentobject = 0; integer totalobjects = llGetInventoryNumber(INVENTORY_OBJECT); object_list = []; do { name = llGetInventoryName(INVENTORY_OBJECT, currentobject); name = llGetSubString(name, 0, 23) ; // button charachter limit object_list += name; currentobject++; } while (currentobject > 0 & currentobject < totalobjects); gLstMnu = object_list; }
  22. looks good here ia a lil bit cleaner method of your code, no need to reset the switch etc... list gPeople = [];list gDist = [];integer k;default{ state_entry() { llSetText("Region Scanner: Inactive.",<0,1.0,0>, 1.0); } touch_start(integer total_number) { if(k = !k) // IF this is TRUE (meaning 1 ..not 0)...k equals the opposite of k .. if k =1 , it is switched to zero, if it is 0, it is switched to 1 { llSetTimerEvent(2.0); llSetText("Region Scanner: Scanning...",<0,1.0,0>, 1.0); } else { llSetTimerEvent(0.0); llSetText("Region Scanner: Inactive.",<0,1.0,0>, 1.0); } } timer() { gPeople = llGetAgentList(AGENT_LIST_REGION, []); gDist = []; integer x; integer num = llGetListLength(gPeople); vector pos = llGetPos(); for(;x<num;x++) { gDist += [llVecDist(pos, llList2Vector(llGetObjectDetails(llList2Key(gPeople, x), [OBJECT_POS]), 0)), llKey2Name(llList2Key(gPeople, x))]; } gDist = llListSort(gDist, 2, 1); llSetText(llDumpList2String(gDist, "\n"), <0,1,0>, 1.0); }}
  23. add a flag variable mebbe?....something like... timer() { if(responseFlag) llListenRemove(handle); //Stop Listening, do nothing else { llSay(0,"No response, I need to REZZ a HUD"); // rez hud function or code here } llSetTimerEvent(0.0); responseFlag = 0; } listen(integer channel, string name, key id, string message) { if (message == "I hear you") // IF there is a response, tell me in chat { llSay(0,"HUD says '" + message + "', so I don't have to do anything"); responseFlag = 1; } }
  24. something to play with.... the function in the example used in a script.. lookAtMe(){ vector camPos = llGetPos() + <-1.750,0.00, -0.280>; vector camFocus = llGetPos() + <5.500 ,0.00, -0.600>; llClearCameraParams(); // reset camera to default llSetCameraParams([ CAMERA_ACTIVE, 1, // 1 is active, 0 is inactive CAMERA_FOCUS, camFocus, // region relative position CAMERA_FOCUS_LOCKED, TRUE, // (TRUE or FALSE) CAMERA_POSITION, camPos, // region relative position CAMERA_POSITION_LOCKED, TRUE // (TRUE or FALSE) ]); }default{ state_entry() { } touch_start(integer total_number) { } attach(key id) { if (id) // is a valid key and not NULL_KEY { llRequestPermissions(id, PERMISSION_CONTROL_CAMERA); } else { llSetCameraParams([CAMERA_ACTIVE, 0]); llClearCameraParams(); } } run_time_permissions(integer perm) { if (perm & PERMISSION_CONTROL_CAMERA) { lookAtMe(); } }}
  25. something like.... listen(integer channel, string name, key id, string message) { if (llToLower(llGetSubString(message, 0, 3)) == "del ") { integer index = llListFindList(fruit, [ llGetSubString(message, 4, -1) ]); if(index != -1) { fruit = llDeleteSubList(fruit, index,index); TypeOutList(fruit); } else if ( llGetSubString(message, 4, -1) ) llOwnerSay("no ..." + llGetSubString(message, 4, -1) + "... found...try again?" ); } }
×
×
  • Create New...