Tattooshop
-
Posts
365 -
Joined
-
Last visited
Content Type
Forums
Blogs
Knowledge Base
Posts posted by Tattooshop
-
-
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(); } }
-
2 hours ago, Skell Dagger said:
MajerSoft has softer features around the eyes, nose and cheeks. MajerEdged has more defined cheekbones. The differences are purely visual with regard to the shape of the mesh. Functionality etc is completely the same.
With regard to Glam Affair skins, they do have the dev kit and we can hopefully expect to see some HDPRO specific skins from them soon. In the meantime you can try demos of any existing BoM skins from them, but be aware that Catwa has changed the way that her UV maps onto the HDPRO heads. This means that skins created on the old Catwa UV won't look the same on the new UV, especially around the eyes and mouth.
Because the old Catwa UV mapped specific vertices (basically this means how the UV is wrapped around and 'tied/pinned to' the different vertices of the mesh) in a certain way that was different to how the 'standard SL UV' was mapped that is why people who used BoM to try some really old system skins (which, obviously, use the SL UV) on Catwa Bento heads noticed certain oddities, such as white 'dragged down highlights' coming from their inner eyes, etc. Think of the UV mapping as being like a piece of paper: one creator makes an origami crane out of it and the other creator makes an origami stork out of it. It's one piece of paper; just folded differently. (I just realised that - if your username reflects a tattoo business in SL then you probably already know all of that, but for the benefit of anyone else I'm going to leave it in here )
The HDPRO UV mapping is much closer to the default SL UV, so - until Glam Affair releases HDPRO specific skins - you may actually have more success with demos of BoM skins for other existing brands that already map close to the standard SL UV. I've seen a couple of vloggers stating that some of their Genus BoM skins mapped reasonably well onto HDPRO. (I've also seen people describing this as "fishy" and "suspicious". Well... no, it's not. The HDPRO UV now maps like that of most other designers' - closer to the SL UV. We've even had feedback from several skin and makeup creators who are glad that it's changed! )
That said, the best UV mapping will still be one that is created exactly to the HDPRO, so I'd give Glam Affair a bit of time. If you have Discord then we're already seeing some lovely new releases of skins and makeup etc in the news channels there. (You can find the Discord link on the bottom tab of the HDPRO HUD. It's on the demo as well as the full version.)
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!
-
On 9/18/2020 at 1:05 AM, Skell Dagger said:
As I hope has been noted, I never 'shill' for Catwa on this forum while remaining a regular poster and helping out where I can with avatar customisation advice for any brands that I have familiarity with. However, I do want to note that - as a Catwa CSR - I'm happy to answer any questions in this thread that anyone has about this new range of heads, or offer advice if anyone needs it.
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?
-
On 9/19/2020 at 10:56 AM, DoteDote Edison said:
Lists are built on an index system, starting with index 0 (zero). The first item is located at index 0, the second at index one 1, third index 2, and so on. And since you are creating the script and list, you already know what type of data you’ve stored at each index (UUID, integeger, etc).
To get a set of data, such as texture UUID, framesX integer, framesY integer... use llList2Key(). The index you request is based on the stride of the list (items that are a set).. Remember, computer counting starts at 0 instead of 1, so multiplying gifNumber (0) by the number of items in a set (4) will return the first UUID of the gif. To get the next item in the list - in the same set - add 1 after the multiplication (The location of the item in the set “plus” the location of next item). The third item would be + 2.
The next set would be gifNumber (1) times (4), returning the 5th item in the list, which is the first item of the second set of data.
key uuid;integer framesX;
integer framesY;
integer frames;
integer gifNum = 0;
uuid = llList2Key(textures, (gifNum*4)+0);
framesX = llList2Integer(textures, (gifNum*4)+1);
framesY = llList2Integer(textures, (gifNum*4)+2);
frames = llList2Integer(textures, (gifNum*4)+3);
Thank you so much! It works now!
-
Hi! Try to wear a default avatar, sometimes it helps
- 1
-
6 minutes ago, Rolig Loon said:
Study this >>>
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!
- 1
-
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); } }
-
( also this script preloads next gif texture on the hidden face )
-
2 hours ago, DoteDote Edison said:
Maybe I don’t understand what you’re trying to do, but I’m not sure why you need three lists. If the gifs are built into the textures properly, with all the frames on a single sheet as one texture, then you would only need one list. The frames data can be included in a single, strided, list. For example, [“UUID”, 4, 2, 8, “UUID”, 2, 2, 4, etc]
For texture animations like that (combined into one texture), the frames X & Y should be the total frames across and down on the texture .. that’s how the size of each frame is determined by the system.if you’re using texture that are a single frame of the animation.. then you could use two lists, one with all texture UUIDs, the other with a series of index pairs indicating which UUID to start and stop on within the texture list.
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); }
-
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
-
-
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.
- 1
-
25 minutes ago, Rolig Loon said:
current_link = (integer) llFrand(7) + 2;
should generate random integers in the range [2, 8], which is what you want, since the root is link 1 and your last link is #8. You shouldn't have to use any filter to get rid of the others.
I just tried it on a linkset of 8 cubes ( the root is in the lower left corner), and it works:
I set my timer faster than yours so I could create this GIF, but it works just fine with the 2 second timer that you designed. If you don;t want link #8 to blink either, just use
current_link = (integer) llFrand(6) + 2;
Thank you so much! now everything is clear and works perfectly!
- 2
-
18 minutes ago, Rolig Loon said:
If you want the particle effects to turn on and off randomly, you'll have to do it in a timer event, like ..
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 llLinkParticleSystem(current_link,[ // the rest of your particle definition goes here ]); }
And remember to start the timer in state_entry.
34 minutes ago, Wulfie Reanimator said:Change LINK_THIS to LINK_ALL_CHILDREN. Then remove all of the particle scripts except one.
Or even better, remove all of the particle scripts. The script doesn't need to exist for the particle effect to stay alive.
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 ]); } } }
-
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 > ]); } }
-
2 hours ago, OptimoMaximo said:
Did you check if the object is patented to a empty object that carries scale and rotation data by any chance? If so, un parent your mesh and apply the teams formations, then try again
You saved me! I clicked Object > Parent > Clear and Keep Transformation and reapplied rotation and scale. Now everything is correct! Many many many thanks!
- 2
-
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 ...
😛
-
1 hour ago, Aquila Kytori said:
If you are having to scale by 0.01 to get a Z dimension of 1 in the Mesh uploader then the 1 for the Z dimension in Blender is not 1meter !
Also Blender is not indicating which units are being used therefore the Units are set to None.
In Blenders Properties panel, open the Scene > Units menu and change the Length to Metric.
Then check the Unit Scale, if it is indicating 100 then change to 1.000 .
Hoping this is the issue
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.
-
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?
-
Doing justice. Lelulka inworld redelivery works flawlessly for me now. Thank!
-
Issue solved!
-
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!
- 1
-
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
-
Textbox to color particles
in LSL Scripting
Posted
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(); }