Jump to content

Tattooshop

Resident
  • Posts

    365
  • Joined

  • Last visited

Everything posted by Tattooshop

  1. It works! Thank you so much! vector colour; colour = (vector) msg; // sensible to use string trim on this if ( colour != ZERO_VECTOR) { llSetTimerEvent(0); RGB = colour; partSystem(); }
  2. Hello! I am trying to make a color picker for a particle system emitted by the wearable object with a lsl RGB message sent via a textbox invoked via HUD. The message will look like <1,1,1>. How to make the listener recognize this message and set the desired value of RGB? Thanks you for any help! šŸ˜ Here I send message via HUD's textbox: touch_start(integer num) { if (button == "custom") { integer channel = -321321; gListener = llListen(channel, "", "", ""); llTextBox(llDetectedKey(0), "Input lsl RGB value e.g. <1,1,1>", channel); } } listen(integer channel, string name, key id, string msg) { llListenRemove(gListener); llSay(-123123, msg); } And here is particle object listener: listen(integer channel, string name, key id, string msg) { if (msg == ???) // <--- { RGB = ???; // <--- partSystem(); } }
  3. Thanks a lot! By the way, I really liked that the eyes are now attached to the head, as well as new Shapes sliders on the HUD, the materials of the eyebrows and eyelashes are also very interesting!
  4. Hello! I have few questions. MajerSoft and MajerEdged - what is the difference between them except for external differences? And if i plan to use it with Maitreya built-in Glam Affair skins which version do you recommend or is it worth the wait and do you plan to release a official Glam Affair skin brand version?
  5. Hi! Try to wear a default avatar, sometimes it helps
  6. Thank you so much! additional two lines llSetTexture(llList2Key(texture1, count1-2), HIDDEN_FACE_2); llSetTexture(llList2Key(texture1, count1-3), HIDDEN_FACE_3); seems does the job!
  7. Hello! I'm using this script to animate a texture, but it only preloads one of them on hidden face. how to make it preload 3 textures at once on different faces? integer count; default { state_entry() { llSetTimerEvent(TIMER); } timer() { llSetTexture(llList2Key(texture,count), SHOWN_FACE); ++count; count %=llGetListLength(texture); llSetTextureAnim(ANIM_ON | LOOP, SHOWN_FACE, FRAMES_X, FRAMES_Y, 0.0, ALL_FRAMES, ANIM_RATE); llSetTexture(llList2Key(texture,count), HIDDEN_FACE); } }
  8. ( also this script preloads next gif texture on the hidden face )
  9. Thanks for the answer! Ok I made one list of all textures. But how can I make the script recognize that I need to play the first four textures after pressing button 1, the next 4 textures from the list after pressing button 2, and so on? And how to make it see which number to use as the number of frames horizontally and which one is vertical and what is the total number of frames? And what goes in timer event? integer SHOWN_FACE = 2; // Shown face number (to display) integer HIDDEN_FACE = 0; // Hidden face number (to preload) list texture1 = [ // CONFIGURATION // // UUID GIF LIST: "cb7e2af3-8849-8f2d-b210-7abca03e3bca", 4,2,8, "6ae33bf3-9217-9046-5827-28774f63253d", 4,2,8, "d8a470ec-6856-0603-9a68-94f27248555f", 4,2,8, "c2668d35-03e4-03b1-3e09-5cab249cc6aa", 4,2,8, "e8a6c9ef-b460-7fea-309e-12ceb4888b55", 2,2,4, "c153f141-0222-1a9e-e3d2-00694ab5d2cb", 2,2,4, "ef59b79c-e586-0158-e6b0-8c86114bd6bf", 2,2,4, "1d60bb24-b2b6-3dec-b873-6311392dea16", 2,2,4, "c3511757-3584-93c5-655a-3cdd68b7f2fb", 5,2,10, "8c8bfb5b-42b0-6d22-4c61-6e343a850ebb", 5,2,10, "9b784a25-9626-b878-a58f-5c8cf63c01dd", 5,2,10, "a1dc904f-06ec-ff9b-0a85-d334b5556589", 5,2,10 ]; state_entry() { llListen(-54321, "", "", ""); // Listen to anybody saying anything on channel -54321 } listen(integer channel, string name, key id, string msg) { if (msg == "gif1") { } else if (msg == "gif2") { } else if (msg == "gif3") { } } timer() { //llSetTexture(llList2Key(texture,count), SHOWN_FACE); //++count; //count %=llGetListLength(texture); //llSetTextureAnim(ANIM_ON | LOOP, SHOWN_FACE, FRAMES_X, FRAMES_Y, 0.0, ALL_FRAMES, ANIM_RATE); //llSetTexture(llList2Key(texture,count), HIDDEN_FACE); }
  10. Hello! I'm trying to make a script for a three buttons HUD and a receiver - the GIF texture animator. I sorted them by 4 textures in 3 lists with the same number of frames in each list. and since it is necessary to change textures, I need to use a timer. but I ran into such a problem that it looks like I need to use 3 timers (?). can this be somehow avoided? I used this script as a basis, but it is only for one list. This is the original script: integer count; list texture=[ // UUID GIF LIST: "631a2817-9221-7eb2-912c-9e05732fe690", "1285e7d6-f4c9-0110-cda5-3be688765d99", "f77a5416-07aa-d3a1-a2cc-cee318ec7dda", "0f673d21-16bc-fb53-6014-aea127c71150" ]; integer FRAMES_X = 4; // Number of frames horizontally integer FRAMES_Y = 2; // Number of frames vertically integer ALL_FRAMES = 8; // Number of all frames integer ANIM_RATE = 10; // Animation rate (speed) integer TIMER = 3; // Timer to change texture integer SHOWN_FACE = 2; // Shown face number (to display) integer HIDDEN_FACE = 0; // Hidden face number (to preload) default { state_entry() { llSetTimerEvent(TIMER); } timer() { llSetTexture(llList2Key(texture,count), SHOWN_FACE); ++count; count %=llGetListLength(texture); llSetTextureAnim(ANIM_ON | LOOP, SHOWN_FACE, FRAMES_X, FRAMES_Y, 0.0, ALL_FRAMES, ANIM_RATE); llSetTexture(llList2Key(texture,count), HIDDEN_FACE); } } And here is what i got so far // LISTENER integer count; list texture1 = [ // UUID GIF LIST1: "cb7e2af3-8849-8f2d-b210-7abca03e3bca", "6ae33bf3-9217-9046-5827-28774f63253d", "d8a470ec-6856-0603-9a68-94f27248555f", "c2668d35-03e4-03b1-3e09-5cab249cc6aa" ]; list texture2 = [ // UUID GIF LIST2: "e8a6c9ef-b460-7fea-309e-12ceb4888b55", "c153f141-0222-1a9e-e3d2-00694ab5d2cb", "ef59b79c-e586-0158-e6b0-8c86114bd6bf", "1d60bb24-b2b6-3dec-b873-6311392dea16" ]; list texture3 = [ // UUID GIF LIST3: "c3511757-3584-93c5-655a-3cdd68b7f2fb", "8c8bfb5b-42b0-6d22-4c61-6e343a850ebb", "9b784a25-9626-b878-a58f-5c8cf63c01dd", "a1dc904f-06ec-ff9b-0a85-d334b5556589" ]; integer FRAMES_X_1 = 4; // Number of frames horizontally integer FRAMES_Y_1 = 2; // Number of frames vertically integer ALL_FRAMES_1 = 8; // Number of all frames integer FRAMES_X_2 = 2; // Number of frames horizontally integer FRAMES_Y_2 = 2; // Number of frames vertically integer ALL_FRAMES_2 = 4; // Number of all frames integer FRAMES_X_3 = 5; // Number of frames horizontally integer FRAMES_Y_3 = 2; // Number of frames vertically integer ALL_FRAMES_3 = 10; // Number of all frames integer ANIM_RATE = 10; // Animation rate integer TIMER = 3; // Timer to change texture integer SHOWN_FACE = 2; // Shown face number (to display) integer HIDDEN_FACE = 0; // Hidden face number (to preload) default { state_entry() { llListen(-54321, "", "", ""); // Listen to anybody saying anything on channel -54321 } listen(integer channel, string name, key id, string msg) { if (msg == "gif1") { llSetTexture(llList2Key(texture1, count), SHOWN_FACE); ++count; count %= llGetListLength(texture1); llSetTextureAnim(ANIM_ON | LOOP, SHOWN_FACE, FRAMES_X_1, FRAMES_Y_1, 0.0, ALL_FRAMES_1, ANIM_RATE); llSetTexture(llList2Key(texture1, count), HIDDEN_FACE); llSetTimerEvent(TIMER); } else if (msg == "gif2") { llSetTexture(llList2Key(texture2, count), SHOWN_FACE); ++count; count %= llGetListLength(texture2); llSetTextureAnim(ANIM_ON | LOOP, SHOWN_FACE, FRAMES_X_2, FRAMES_Y_2, 0.0, ALL_FRAMES_2, ANIM_RATE); llSetTexture(llList2Key(texture2, count), HIDDEN_FACE); llSetTimerEvent(TIMER); } else if (msg == "gif3") { llSetTexture(llList2Key(texture3, count), SHOWN_FACE); ++count; count %= llGetListLength(texture3); llSetTextureAnim(ANIM_ON | LOOP, SHOWN_FACE, FRAMES_X_3, FRAMES_Y_3, 0.0, ALL_FRAMES_3, ANIM_RATE); llSetTexture(llList2Key(texture3, count), HIDDEN_FACE); llSetTimerEvent(TIMER); } } timer() { //??? //llSetTexture(llList2Key(texture,count), SHOWN_FACE); //++count; //count %=llGetListLength(texture); //llSetTextureAnim(ANIM_ON | LOOP, SHOWN_FACE, FRAMES_X, FRAMES_Y, 0.0, ALL_FRAMES, ANIM_RATE); //llSetTexture(llList2Key(texture,count), HIDDEN_FACE); } } Edit: Yep, 3 list with different frame numbers. Textures will loop by timer until i hit next button to loop another list
  11. Hi! Try one of the Catwa heads and maybe Slink body to not look like a bodybuilder. One of the Gabriel 's suits will look nice.
  12. Thank you so much! now everything is clear and works perfectly!
  13. Thanks a lot for the answers! I am doing something wrong, it works but for the whole linkset. How to exclude prim 1 and 8 so that particles do not appear there at all? I tried to add if but it still works for the whole linkset. integer current_link; default { state_entry() { llSetTimerEvent(2); } timer() { llLinkParticleSystem(current_link, []); current_link = (integer) llFrand(7) + 2; // Just be sure to make current_link a global integer variable so it is saved if (current_link != 1 | 8) { llLinkParticleSystem(current_link, [ PSYS_PART_MAX_AGE, 0.20, PSYS_PART_FLAGS, 291, PSYS_PART_START_COLOR, < 1.00000, 1.00000, 1.00000 > , PSYS_PART_END_COLOR, < 1.00000, 1.00000, 1.00000 > , PSYS_PART_START_SCALE, < 0.04000, 0.25000, 0.00000 > , PSYS_PART_END_SCALE, < 0.03000, 0.25000, 0.00000 > , PSYS_SRC_PATTERN, 2, PSYS_SRC_BURST_RATE, 2.0, PSYS_SRC_BURST_PART_COUNT, 5, PSYS_SRC_BURST_RADIUS, 0.00, PSYS_SRC_BURST_SPEED_MIN, 0.10, PSYS_SRC_BURST_SPEED_MAX, 0.10, PSYS_SRC_ANGLE_BEGIN, 1.55, PSYS_SRC_ANGLE_END, 1.54, PSYS_SRC_MAX_AGE, 0.0, PSYS_SRC_TEXTURE, "", PSYS_PART_START_ALPHA, 1.00, PSYS_PART_END_ALPHA, 1.00, PSYS_SRC_OMEGA, < 0.00, 0.00, 0.10 > // the rest of your particle definition goes here ]); } } }
  14. Hello! There is a system of bling particles and linkset of 8 objects ( 7 diamonds and root ). I need bling to work in only 7 of them, except root. This is a jewel and it is necessary that each time the bling be in a different prim, randomly or in sequence - not very important, the easier way... How to do it? default { state_entry() { llLinkParticleSystem(LINK_THIS,[PSYS_PART_MAX_AGE, 0.20, PSYS_PART_FLAGS, 291, PSYS_PART_START_COLOR, < 1.00000, 1.00000, 1.00000 > , PSYS_PART_END_COLOR, < 1.00000, 1.00000, 1.00000 > , PSYS_PART_START_SCALE, < 0.04000, 0.25000, 0.00000 > , PSYS_PART_END_SCALE, < 0.03000, 0.25000, 0.00000 > , PSYS_SRC_PATTERN, 2, PSYS_SRC_BURST_RATE, 2.0, PSYS_SRC_BURST_PART_COUNT, 5, PSYS_SRC_BURST_RADIUS, 0.00, PSYS_SRC_BURST_SPEED_MIN, 0.10, PSYS_SRC_BURST_SPEED_MAX, 0.10, PSYS_SRC_ANGLE_BEGIN, 1.55, PSYS_SRC_ANGLE_END, 1.54, PSYS_SRC_MAX_AGE, 0.0, PSYS_SRC_TEXTURE, "", PSYS_PART_START_ALPHA, 1.00, PSYS_PART_END_ALPHA, 1.00, PSYS_SRC_OMEGA, < 0.00, 0.00, 0.10 > ]); } }
  15. You saved me! I clicked Object > Parent > Clear and Keep Transformation and reapplied rotation and scale. Now everything is correct! Many many many thanks!
  16. I think the problem is in the blender, I tried to open the exported DAE file in the blender and the model looks exactly the same as when uploaded in the SL - enlarged and with incorrect rotation. * I will explain a little. I work with a fbx file and it looks fine in blender, but when I export it in DAE, something breaks in it ... šŸ˜›
  17. Hi! Thanks for the answer, but this is more about the rotation of the model, I agree to change the size manually, but I need to apply local lights ( advanced lighting ) and make the light go in a certain direction. And also the physics of the model does not match.
  18. Hello! I ran into a strange problem when trying to upload a model in SL. Iā€™ll notice right away that I didnā€™t make the model and itā€™s hard to understand what was going on. The model in the blender is located as in picture A. Along the Y axis. When uploading the model changes its rotation and size as shown in picture B. Of course, before that I applied rotation and scale first, but it still happens. Also if I put the minimum scale in the viewer the scale of the model matches. What can be wrong? Pictures A-B
  19. Doing justice. Lelulka inworld redelivery works flawlessly for me now. Thank!
  20. I would like to express my gratitude to the Slink for finally bringing the service back to me. today I decided to try again to update* my Slink and everything works now! I really liked the new interface! Thank!
  21. Question for animation specialists. I wanted to use internal static animation/pose avatar_surf.bvh from here http://wiki.secondlife.com/wiki/Internal_Animations but due to the use of the AVsitter I need to upload it to SL. But an error appears when uploading "Unknown joint neckDummy". In the bvh hierarchy file, I see two joints with names JOINT neckDummy and JOINT figureHair that probably cause the error. I tried to remove them but the animation is distorted. Any ideas on how to fix this? I would like to use this particular animation/pose. I post bvh here in the hope it helps. HIERARCHY ROOT hip { OFFSET 0.00 0.00 0.00 CHANNELS 6 Xposition Yposition Zposition Xrotation Zrotation Yrotation JOINT abdomen { OFFSET 0.000000 0.000000 0.000000 CHANNELS 3 Xrotation Zrotation Yrotation JOINT chest { OFFSET 0.000000 5.018152 -1.882228 CHANNELS 3 Xrotation Zrotation Yrotation JOINT neckDummy { OFFSET 0.000000 8.316447 0.784897 CHANNELS 3 Xrotation Yrotation Zrotation JOINT neck { OFFSET 0.000000 2.280413 -0.392801 CHANNELS 3 Xrotation Zrotation Yrotation JOINT head { OFFSET 0.000000 3.496879 0.529469 CHANNELS 3 Xrotation Zrotation Yrotation JOINT figureHair { OFFSET 0.000000 4.699570 0.720622 CHANNELS 3 Zrotation Yrotation Xrotation End Site { OFFSET 0.000000 -6.419331 0.000000 } } } } } JOINT lCollar { OFFSET 0.599237 8.316447 0.784897 CHANNELS 3 Yrotation Zrotation Xrotation JOINT lShldr { OFFSET 6.421198 0.010146 -0.332128 CHANNELS 3 Zrotation Yrotation Xrotation JOINT lForeArm { OFFSET 10.552783 0.025574 0.125508 CHANNELS 3 Yrotation Zrotation Xrotation JOINT lHand { OFFSET 11.035963 0.319619 0.041520 CHANNELS 3 Zrotation Yrotation Xrotation End Site { OFFSET 10.353753 0.000000 0.000000 } } } } } JOINT rCollar { OFFSET -0.599237 8.316447 0.784897 CHANNELS 3 Yrotation Zrotation Xrotation JOINT rShldr { OFFSET -6.421198 0.010146 -0.332128 CHANNELS 3 Zrotation Yrotation Xrotation JOINT rForeArm { OFFSET -10.552783 0.025574 0.125508 CHANNELS 3 Yrotation Zrotation Xrotation JOINT rHand { OFFSET -11.035963 0.319619 0.041520 CHANNELS 3 Zrotation Yrotation Xrotation End Site { OFFSET -10.353753 0.000000 0.000000 } } } } } } } JOINT lThigh { OFFSET 4.500466 -6.400484 -1.832696 CHANNELS 3 Xrotation Zrotation Yrotation JOINT lShin { OFFSET -1.359117 -18.918689 1.179887 CHANNELS 3 Xrotation Zrotation Yrotation JOINT lFoot { OFFSET -0.652380 -17.215186 -0.312137 CHANNELS 3 Xrotation Yrotation Zrotation End Site { OFFSET 0.000000 0.000000 10.353752 } } } } JOINT rThigh { OFFSET -4.500466 -6.400484 -1.832696 CHANNELS 3 Xrotation Zrotation Yrotation JOINT rShin { OFFSET 1.359117 -18.918689 1.179887 CHANNELS 3 Xrotation Zrotation Yrotation JOINT rFoot { OFFSET 0.652380 -17.215186 -0.312137 CHANNELS 3 Xrotation Yrotation Zrotation End Site { OFFSET 0.000000 0.000000 10.353752 } } } } } MOTION Frames: 1 Frame Time: 0.033333 4.239725 34.856594 1.300791 4.989834 0.625088 -43.068520 65.000000 0.000000 0.000000 8.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -25.000000 1.000000 41.000000 -27.000000 -20.000000 0.000000 0.000000 0.000000 0.000000 2.021920 -5.690310 -0.063351 -9.100700 -40.021229 15.991600 -23.515602 7.696260 -42.852264 -5.030510 -0.173112 0.175734 -2.021920 5.690310 -0.063351 26.100700 21.021229 15.991600 33.515602 9.303740 -10.852264 -15.969490 15.173111 18.175735 -48.890175 -2.465950 -29.012543 58.472328 -2.408427 -36.881523 -18.543835 23.632442 -2.116663 -27.555395 -12.397776 -7.503807 67.718994 3.836573 8.126284 -41.822742 -9.347204 3.200089
×
×
  • Create New...