Jump to content

2toe Bigboots

Resident
  • Posts

    145
  • Joined

  • Last visited

Everything posted by 2toe Bigboots

  1. also whats the best way to listen to multipl channels ? Kool your example answerd my listing issue i see that right off. Ya i found out that detect wont work there. was just fideling with some ideas, tring to show ppl around me in dialog on touch when i click there name in dialog it adds to list. Thank you. I think i will redo and much simpler this time your right. Also if anyone knows how the hole slave owner thing works in RLV let me know the @commands for adding someone to owner of persone wearing item.
  2. Okay so im having issues with this script im writeing for RLV. This is just so i can understand it very simple. What always gets me is list and string2list and key2name2list back to string all very much harder then it should be. But thats a diffrent story heres what i got. were im stuck is sencing players around me so they can show on llDialog so i can click there names and add to owners list. Ive tryed every combo i can think of just stumped by the thing. Hope someone can help. REMEMBER THIS ISNT FOR USE ITSW JUST SO I CAN UNDERSTAND THE RLV SCRIPTING AND FUNCTIONS. Thank you. list owners = [];list menu = ["owner","lock","unlock"];key DK;string KN;list LN = [];default{ state_entry() { DK = llDetectedKey(0); KN = llKey2Name(DK); LN = llCSV2List(KN); llListen(1,"","",""); llListen(2,"","",""); } touch_start(integer total_number) { llDialog(llDetectedKey(0),"Choose",menu,1); } listen(integer channel, string name, key id, string message) { if(message == "who") llOwnerSay(llDumpList2String(owners,"'")); if(message == "unlock") llOwnerSay("@detach=y"); if(message =="lock") llOwnerSay("@detach=n"); if(message =="owner") llDialog(llGetOwner(),"choose persone to add to owner list",[LN],2); if(channel ==2) owners +=[(string)llKey2Name(id)]; } sensor(integer total_number) { }}
  3. Alright kool thanks for the examples that will help me understand how to form RLV script a lot. Also i will be going to get thous orbs that were mentiond. also yes what im making is for ppl with RLV so np there. than kyou all if you can think of any little things that may help let me know thank you.
  4. Im entering a diff type of scripting here (RLV) and would love some help understanding how it works. Ive seen the website and have been reffering to it. But still lost. i need to see a small script for RLV and someone to explane whats happening, i know that there is req for when certin commands work like has to be attached but again not clue.
  5. Its a learning ecperiance. Thats what i do. Normily i can make this work with 2 diff scripts but im trying it this way. Trial and error.
  6. wow didnt think it was that bad last night. .....it was here ill explane it again. The script should work like this. Touch object for menu>>>It reads notecard for categorys>>>makes main menu out of categorys>>>you select what category you want>>>goes to page containing that category... Each Animation has a diff symbol infron of the name such as (!@#$%^&*()) to mark its catigory. the note card has caregoys listed one per line like this !=dane @=house #=more and so one. The point is be able to change both the names of the animations to what i want and the categorys in the notecard as i please. Like i said i was messing with that script for a LONG time so i know there is a lot of crap that does nothing i still need to take out. Ive tryed a bunch of things. menus are not my strong point ill post what the origenal menu script i wrote is not the crazy one lol. sorry for confision. //============================integer mAPI_items_number;integer mAPI_last_page_items;integer mAPI_page = -1; integer mAPI_pages_number;integer i;list mAPI_SetButtons(list menu_items){ if(mAPI_page == -1) mAPI_GetPagesNumber(menu_items, llGetListLength(menu_items)); if(mAPI_items_number < 12) return mAPI_SetButtonsSinglePage(llListSort(menu_items, 1, TRUE)); else return mAPI_SetButtonsMultPages(llListSort(menu_items, 1, TRUE));}//----------------------------mAPI_GetPagesNumber(list src, integer src_len){ mAPI_items_number = src_len; if(src_len > 11) { mAPI_pages_number = src_len / 9; mAPI_last_page_items = src_len % 9; if(mAPI_last_page_items != 0) mAPI_pages_number++; else mAPI_last_page_items = 9; } else { mAPI_pages_number = 1; mAPI_last_page_items = src_len; } mAPI_page = 1; }list mAPI_SetButtonsMultPages(list src){ list wlist; list page_src; list dest; list auto = ["<==, "Exit", "==&gt]; list matrix = [ 0,1,2,0,1,2,0,1,2]; integer first; integer last; integer i; integer items = 9; if(mAPI_page > mAPI_pages_number) mAPI_page = 1; else if(mAPI_page == 0) mAPI_page = mAPI_pages_number; first = (mAPI_page - 1) * 9; // 0, 9, 18, etc last = mAPI_page * 9 - 1; // 8, 16, 24, etc page_src=llList2List(src, first, last); if(mAPI_page == mAPI_pages_number) { items = mAPI_last_page_items; if(mAPI_last_page_items % 3 == 1) // 7, 4 ,1 matrix = llDeleteSubList(matrix,1,2); else if(mAPI_last_page_items % 3 == 2) // 8, 5, 2 matrix = llDeleteSubList(matrix,2,2); } for(i=0; i< items; i++) { wlist = llList2List(page_src, i, i); dest = llListInsertList(dest, wlist, llList2Integer(matrix, i)); } dest = llListInsertList(dest, auto, 0); return dest;}list mAPI_SetButtonsSinglePage(list src){ list wlist; list dest; list auto = ["Exit"]; list matrix = [ 0,1,2,0,1,2,0,1,2,0,1]; integer i; if(mAPI_last_page_items % 3 == 1) // 10, 7, 4 ,1 matrix = llDeleteSubList(matrix,2,2); else if(mAPI_last_page_items % 3 == 0) // 9, 6, 3 matrix = llDeleteSubList(matrix,1,2); for(i=0; i< mAPI_last_page_items; i++) { wlist = llList2List(src, i, i); dest = llListInsertList(dest, wlist, llList2Integer(matrix, i)); } dest = llListInsertList(dest, auto, 2); return dest;}float MENU_TIMEOUT = 30.0;list inventory_items;integer lhandle;//------------------------------// user function, not a part of the mAPIMakeMenu(key id){ list menu; string mtext = "Prim Content:\nPage "; integer mchan; menu = mAPI_SetButtons(inventory_items); // call mAPI to make alphabetical menu list while(!mchan) mchan = -llFloor(llFrand(2000000)); // make some random channel, less lag with negative channels mtext += (string)mAPI_page + " of " + (string)mAPI_pages_number + " " + (string)llGetInventoryNumber(INVENTORY_ANIMATION) + " " + "Animations found"; llSetTimerEvent(MENU_TIMEOUT); lhandle = llListen(mchan, "", id, ""); // listen on sending channel llDialog(id, mtext, menu, mchan); // send menu}list Panim;//------------------------------default{ state_entry() { string iname; integer n = llGetInventoryNumber(INVENTORY_ANIMATION); integer i; for(i=0; i<n; i++) { iname = llGetInventoryName(INVENTORY_ANIMATION, i); if(iname != llGetScriptName()) inventory_items += [llGetSubString(iname,0,23)]; //a menu button cannot have text longer than 24 chars } if(n > 0) llSay(0, "Content list completed. Touch for menu"); else llSay(0, "There is no content"); } on_rez(integer param) { llResetScript(); } attach(key attached) { llRequestPermissions(llGetOwner(), PERMISSION_TRIGGER_ANIMATION); llSetText("",<0.0,0.0,0.0>,1.0);} changed(integer change) { if(change & CHANGED_INVENTORY) { llSay(0, "Inventory change detected. Loading New Animations"); llResetScript(); } } listen(integer ch, string name, key id, string mes) { list anims = llGetAnimationList( llGetOwner() );; string wstr; string iname; iname = llGetInventoryName(INVENTORY_ANIMATION, i); llSetTimerEvent(0.0); llListenRemove(lhandle); if(mes == "<==") // previous page { --mAPI_page; MakeMenu(id); } else if(mes == "==>") // next page { ++mAPI_page; MakeMenu(id); } else if(mes == "Exit") { list anims = llGetAnimationList( llGetOwner() ); integer n; for ( n=0; n<llGetListLength( anims ) ;n++ ) llStopAnimation( llList2String( anims,n )); llSetText("",<0.0,0.0,0.0>,1.0); llSleep(0.2); } else { llStartAnimation(mes); llSetText("Dancy,Dance",<1.0,0.0,0.0>,1.9); llSleep(1.0); llSetText("",<0.0,0.0,0.0>,1.0); } } timer() // menu timeout { llSetTimerEvent(0.0); llListenRemove(lhandle); } touch_start(integer total_num) { llRequestPermissions(llGetOwner(), PERMISSION_TRIGGER_ANIMATION); if(llDetectedKey(0) == llGetOwner()) MakeMenu(llGetOwner()); }}
  7. Wanna catagorize my animations by notecard as such !=cat1 @=cat2 this way i can add more catigorys latter or change cat names wanna click object to show main menu click the catigory im looking for show the page there on or call only thouse how ever that would work. im close just need help. Be nice i know its messy right now lol. string Config; integer cAllowed = 0; //integer handle; key CHTSQueryID; //string mess; list categories =[]; integer mAPI_items_number; integer mAPI_last_page_items; integer mAPI_page = -1; // must be set to -1 integer mAPI_pages_number; //integer i; //---------------------------- // This wrapper's output is a list to directly input in llDialog() for // the from top to bottom alphabetical display of menu buttons. list mAPI_SetButtons(list menu_items) { if(mAPI_page == -1) mAPI_GetPagesNumber(menu_items, llGetListLength(menu_items)); if(mAPI_items_number < 12) return mAPI_SetButtonsSinglePage(llListSort(menu_items, 1, TRUE)); else return mAPI_SetButtonsMultPages(llListSort(menu_items, 1, TRUE)); } list mAPI_SetCatButtons(list menu_items) { if(mAPI_page == -1) mAPI_GetPagesNumber(menu_items, llGetListLength(menu_items)); if(mAPI_items_number < 12) return mAPI_SetButtonsSinglePage(llListSort(menu_items, 1, TRUE)); else return mAPI_SetButtonsMultPages(llListSort(menu_items, 1, TRUE)); } //---------------------------- mAPI_GetPagesNumber(list src, integer src_len) { mAPI_items_number = src_len; if(src_len > 11) { mAPI_pages_number = src_len / 9; mAPI_last_page_items = src_len % 9; if(mAPI_last_page_items != 0) mAPI_pages_number++; else mAPI_last_page_items = 9; } else { mAPI_pages_number = 1; mAPI_last_page_items = src_len; } mAPI_page = 1; } //---------------------------- // This function will arrange up to 9 menu buttons in alphabetical order from the top left to the bottom // right for display by llDialog() function. The buttons arrangement in llDialog() is // 9 10 11 // 6 7 8 // 3 4 5 // [0 1 2] // There are only 3 top rows available because the bottom row is taken by '<==', 'auto', '==>' buttons. // The input list is alphabetically sorted so all we need to do is to rearrange the list from // [a,b,c,d,e,f,g,h,i] to [g,h,i,c,d,e,a,b,c], considering of course that the input list may contain // less than 9 elements, which is most often than not will be the case for the last page. list mAPI_SetButtonsMultPages(list src) { list wlist; list page_src; list dest; list auto = ["<==", "Exit", "==>"]; list matrix = [ 0,1,2,0,1,2,0,1,2]; integer first; integer last; integer i; integer items = 9; if(mAPI_page > mAPI_pages_number) mAPI_page = 1; else if(mAPI_page == 0) mAPI_page = mAPI_pages_number; first = (mAPI_page - 1) * 9; // 0, 9, 18, etc last = mAPI_page * 9 - 1; // 8, 16, 24, etc page_src=llList2List(src, first, last); if(mAPI_page == mAPI_pages_number) { items = mAPI_last_page_items; if(mAPI_last_page_items % 3 == 1) // 7, 4 ,1 matrix = llDeleteSubList(matrix,1,2); else if(mAPI_last_page_items % 3 == 2) // 8, 5, 2 matrix = llDeleteSubList(matrix,2,2); } for(i=0; i< items; i++) { wlist = llList2List(page_src, i, i); dest = llListInsertList(dest, wlist, llList2Integer(matrix, i)); } dest = llListInsertList(dest, auto, 0); return dest; } //---------------------------- // This function will arrange up to 11 menu buttons in alphabetical order from the top left to the bottom // right for display by llDialog() function. The buttons arrangement in llDialog() is // 9 10 11 // 6 7 8 // 3 4 5 // 0 1 [2] // Position # 2 is taken by 'auto' button. // The input list is alphabetically sorted so all we need to do is to rearrange the list from // [a,b,c,d,e,f,g,h,i,j,k] to [i,j,k f,g,h,c,d,e,a,b,'auto'], considering of course that the input // list may contain less than 11 elements. list mAPI_SetButtonsSinglePage(list src) { list wlist; list dest; list auto = ["Exit"]; list matrix = [ 0,1,2,0,1,2,0,1,2,0,1]; integer i; if(mAPI_last_page_items % 3 == 1) // 10, 7, 4 ,1 matrix = llDeleteSubList(matrix,2,2); else if(mAPI_last_page_items % 3 == 0) // 9, 6, 3 matrix = llDeleteSubList(matrix,1,2); for(i=0; i< mAPI_last_page_items; i++) { wlist = llList2List(src, i, i); dest = llListInsertList(dest, wlist, llList2Integer(matrix, i)); } dest = llListInsertList(dest, auto, 2); return dest; } // API CODE END //============================== // USAGE SAMPLE START // This sample will make a menu of contents of a prim the script is in. // It will not include itself in the menu. // The script illustrates menu making not menu processing so it does nothing // on a button click other than an arrow. That's for you to code yourself. float MENU_TIMEOUT = 30.0; list inventory_items; integer lhandle; //------------------------------ // user function, not a part of the mAPI MakeMenu(key id) { list menu; string mtext = "Prim Content:\nPage "; integer mchan; menu = mAPI_SetButtons(inventory_items); // call mAPI to make alphabetical menu list while(!mchan) mchan = -llFloor(llFrand(2000000)); // make some random channel, less lag with negative channels mtext += (string)mAPI_page + " of " + (string)mAPI_pages_number + " " + (string)llGetInventoryNumber(INVENTORY_ANIMATION) + " " + "Animations found"; llSetTimerEvent(MENU_TIMEOUT); lhandle = llListen(mchan, "", id, ""); // listen on sending channel llDialog(id, mtext, menu, mchan); // send menu } MakeCatMenu(key id) { list menu; string mtext = "Prim Content:\nPage "; integer mchan; menu = mAPI_SetButtons(Config); // call mAPI to make alphabetical menu list while(!mchan) mchan = -llFloor(llFrand(2000000)); // make some random channel, less lag with negative channels mtext += (string)mAPI_page + " of " + (string)mAPI_pages_number + " " + (string)llGetInventoryNumber(INVENTORY_ANIMATION) + " " + "Animations found"; llSetTimerEvent(MENU_TIMEOUT); lhandle = llListen(mchan, "", id, ""); // listen on sending channel llDialog(id, mtext, menu, mchan); // send menu } //list Panim; //------------------------------ default { state_entry() { Config = llGetInventoryName(INVENTORY_NOTECARD,0); string iname; integer n = llGetInventoryNumber(INVENTORY_ANIMATION); integer i; categories = [(string)llGetSubString(llGetNotecardLine(Config,0),0,10)]; for(i=0; i<n; i++) { iname = llGetInventoryName(INVENTORY_ANIMATION, i); if(iname != llGetScriptName()) inventory_items += [llGetInventoryName(INVENTORY_ANIMATION,0)]; //a menu button cannot have text longer than 24 chars } if(n > 0) llSay(0, "Content list completed. Touch for menu"); else llSay(0, "There is no content"); } on_rez(integer param) { llResetScript(); } attach(key attached) { llRequestPermissions(llGetOwner(), PERMISSION_TRIGGER_ANIMATION); llSetText("",<0.0,0.0,0.0>,1.0); } changed(integer change) { if(change & CHANGED_INVENTORY) { llSay(0, "Inventory change detected. Loading New Gesture"); llResetScript(); } } listen(integer ch, string name, key id, string mes) { list src=llGetNotecardLine(Config,0); list cat = llSubStringIndex(src,categories); list anims = llGetAnimationList( llGetOwner() ); //string wstr; string iname; iname = llGetInventoryName(INVENTORY_ANIMATION, 0); llSetTimerEvent(0.0); llListenRemove(lhandle); if(mes == "<==") // previous page { --mAPI_page; MakeMenu(id); } else if(mes == "==>") // next page { ++mAPI_page; MakeMenu(id); } else if(mes == "Exit") { integer n; for ( n=0; n<llGetListLength( anims ) ;n++ ) llStopAnimation( llList2String( anims,n )); llSetText("",<0.0,0.0,0.0>,1.0); llSleep(0.2); } else if(mess == src); { --mApi_page; MakeCatMenu(llGetOwner()); } timer() { llSetTimerEvent(0.0); llListenRemove(lhandle); } touch_start(integer total_num) { llRequestPermissions(llGetOwner(), PERMISSION_TRIGGER_ANIMATION); if(llDetectedKey(0) == llGetOwner()) MakeCatMenu(llGetOwner()); } dataserver(key requested, string data) { if (requested == CHTSQueryID) { if (data != EOF) { // not at the end of the notecard categories = (string)[data] + categories; ++cAllowed; // increase line count CHTSQueryID = llGetNotecardLine(Config, cAllowed); } } } }
  8. Awesome i knew i did something stupid 1) not reading more on getnotecardline lol 2) trying to write when tierd lol Once again Darkie your a life saver!!!!
  9. Could not find notecard when i make that change. if i leave it it llsay the 1st line only.
  10. okay so 1st darkie that worked as far as reading one line how do i make it read a hole card ive seen stuff like for(i =0; i < llGetNumberOfNotecardLines(gName); but not sure how to adaped it to what in doing
  11. Well i know its messy havent even started to clean up lol but ya idk this dont seem to work like i want. i say /-999 test and it shouts a key for the notecard. and error can not find notecard' string gName; // name of a notecard in the object's inventoryinteger gLine = 0;list cards = [];//key rQueryID;key query_id;integer counter;string notecard; string said;key gQueryID; // id used to identify dataserver queriesdefault { state_entry() { llListen(-999,"","",""); gName = llGetInventoryName(INVENTORY_NOTECARD, 0); // select the first notecard in the object's inventory gQueryID = llGetNotecardLine(gName, gLine); // request first line } listen(integer channel, string name, key id, string message) { if(llGetInventoryType(message)==INVENTORY_NOTECARD){ counter = 0; notecard = message; query_id = llGetNotecardLine(notecard,counter); said = llGetNotecardLine(llKey2Name(notecard),counter); llShout(0,said); } } dataserver(key query_id, string data) { if (query_id == gQueryID) { if (data != EOF) { // not at the end of the notecard llSay(0, (string)gLine+": "+data); // output the line ++gLine; // increase line count gQueryID = llGetNotecardLine(gName, gLine); // request next line } } }}
  12. so that will relay the notecards key right,
  13. okay so i want to put a message on notecards (as many as i feel ) and youch button to open textbox say name of note card (named for my mesg) it says name. root then finds and reads it on 0. but i cant seem to figure how to make it query what was said in chat
  14. Hello im trying to have a notecard read but i want it to be based off what what said in chat or linkmessage. Ive tried a few things but keep gerring errors. any tips on this? Or use a menu to list notecards in inventory and send choise that way
  15. Is that something simular to how you want them to look ? not just the particles
  16. Worked perficly thank you. I suck with http stuff.. TY all again.
  17. Thank you, ill try that fix in after some slep....O and i plan on adding the list in just got stuck testing to get my pic up throu chat lol but super good catch. Cause by the morning i may have forgot lol.
  18. Looking for someone to help me script and/or degsine. I have some big stuff comming up and really dont wanna do it all my self. SO really need anyone with the ability to eather learn or do them selfs.I have no promblem teaching what i know if needed. will be paying based off sold units. so IM in world or leave a post here.
  19. Hello im trying to mod a script i have. I displays your profile pic when you touch it, ive changed it a lot so that it listens on a channel for ANY chatter instead. I cant seem to get it to display the profile pic thou i get this error "HuD: Could not find texture '" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><title>δι 2Toe (2toe.bigboots)</title><meta http-equiv="Content-Type" content="text/html; charset=utf-8" />"Now heres the script im using.// Credit goes to Jana Kamachi/Solar Alter // for discovering this concept first // and taking it beyond just displaying the profile picture // see http://forums.secondlife.com/showthread.php?t=225460 // and https://wiki.secondlife.com/wiki/User:Jana_Kamachi/Profile // for further information string RESIDENT_URL = "http://world.secondlife.com/resident/"; key WHITE_DEFAULT_TEXTURE = "35e1e0c9-c6cd-76ea-3c44-4f25effaec62"; integer DIALOG_CHANNEL = 10; string DIALOG_MSG = "By hitting the I Agree button below, you give permission for this script to access your profile texture UUID."; list KILLJOY_MENU = ["I Agree", "I Disagree"]; integer Dialog_Handle; string profile_pic; default { state_entry() { llSetText("", <1,0,0>, 1.0); // Erase hover text llSetTexture(WHITE_DEFAULT_TEXTURE, ALL_SIDES); // Set to default texture llListen(321,"","",""); } listen(integer channel, string name, key id, string message) { { llHTTPRequest( RESIDENT_URL + (string)id,[HTTP_METHOD,"GET"],""); llSetText(name, <1,0,0>, 1.0); // Display avatar name as hover text } } on_rez(integer start_param) { llSetText("", <1,0,0>, 1.0); // Erase hover text llSetTexture(WHITE_DEFAULT_TEXTURE, ALL_SIDES); // Set to default texture } http_response(key request_id,integer status, list metadata, string body) { if (llSubStringIndex(body, "blank.jpg") == -1) // If a profile picture exists { // Find starting point of the profile picture UUID integer start_of_UUID = llSubStringIndex(body,"<**Only uploaded images may be used in postings**://secondlife.com/app/image/"); // Find ending point of profile picture UUID integer end_of_UUID = llSubStringIndex(body,"\" class=\"parcelimg\" />") - 3; // Parse out profile picture UUID from the body string profile_pic = llGetSubString(body, start_of_UUID, end_of_UUID); // Set the sides of the prim to the picture llSetTexture((key)profile_pic, ALL_SIDES); } else { llWhisper(0, "You have no profile picture"); // Tell the avatar they have no picture llSetTexture(WHITE_DEFAULT_TEXTURE, ALL_SIDES); // Set to default texture } } } Hope someone has a solution
  20. i just had this issue and to solve i used llTextBox in a touch event string Owner;default{ state_entry() { llOwnerSay("Touch To Open Chat"); } touch_start(integer total_number) { Owner = llGetOwner(); llTextBox(Owner,"Type Mesg ",-321); }} now when you touch it a diolog box opens and what ever you type is sent on chann -321 hope this helps
  21. Yes im using loosless, i just dont get it in software the sculpts look really defined and perfict edges. I spent hours more like days making this and it looks like crap in SL missins Certine edges and idk im really disapointed
  22. I have just started to practice scilpting andc have noticed that anytime i upload the object it looks very diff then when i made it. Ive tryed everything i can think of or find help for this. I use Daz Hexagon to create I can really use some help with this please. PS also when uploading the map isnt colord like others i see its in alpha ???? but the sculpty still appears.
  23. I have been trying to get a object to wonder my land with llMoveToTarget but cant figure out how to put in a randome value each move.? Little help pls
  24. I need some help making the a object wonder my land randomly kinda like its bord and just strolling around. im attempting llMoveToTarget but havent gotten verry far
  25. Ya gonna have to i did just now a little bit its close enough. I do wonder if theres a way to make the movement randome but stay with in a radius
×
×
  • Create New...