Jump to content

VirtualKitten

Resident
  • Posts

    916
  • Joined

  • Last visited

Everything posted by VirtualKitten

  1. Sabrina , thanks for popping by in world and a pleasure to meet you I saw yours working but it stores default values at startup. I intend to rotate this as well i don't think that will work. I tried wulfies attempt but could not replicate his movement this is the code I tried this after obtaining box numbers else where with llGetLinkName(): integer input = 10; rotation rotate(vector axis, float angle) { vector V = axis * DEG_TO_RAD; V.z += angle * DEG_TO_RAD; return llEuler2Rot(V); } default { state_entry() { llSetTimerEvent(.05); } timer() { rotation r = rotate((llRot2Euler( llList2Rot(llGetLinkPrimitiveParams(axis, [PRIM_ROTATION]), 0))) * RAD_TO_DEG, input*RAD_TO_DEG); vector box1pos = ZERO_VECTOR; vector box2pos = <0.25, 0, 0>; rotation box1rot = r; rotation box2rot = r; llSetLinkPrimitiveParamsFast(1, [ PRIM_LINK_TARGET, center_box, PRIM_POS_LOCAL, box1pos, PRIM_ROT_LOCAL, box1rot, PRIM_LINK_TARGET, outer_box, PRIM_POS_LOCAL, box2pos*r, PRIM_ROT_LOCAL, box2rot ]); input+=10; if(input>360) input = 10; } }
  2. Hmm Wulfie does not GetRot() provide a quaternion PRIM_ROTATION not a PRIM_ROT_LOCAL? so it would be akin to rotation r = rotate((llRot2Euler( llList2Rot(llGetLinkPrimitiveParams(axis, [PRIM_ROTATION]), 0))) * RAD_TO_DEG, llGetTime()*RAD_TO_DEG); which gives an error on the console "llSetPrimitiveParams error running rule #2 (PRIM_POS_LOCAL): arg #1 vector expected but quaternion given". Or have i missed something, as am so pleased yours is working i wanted to try for myself .
  3. Thanks for your input Wulfie , it is impressive Molly and it looks very neat and short ,however I note you are not showing us where <-39.442190, -34.623080, -37.278190> comes from to make the code portable. I presume this is a PRIM_POS_ LOCAL request on prim 1 or your axis cone. What transformation have you done to it please which is hidden in your example ?
  4. The one you sent me inworld is just the same @Sabrina as the one i sent to you. I sent you Mr Carps version as its hard coded it works but i cant seem to make it portable code and get it to work the same.
  5. @Sabrina , I sent you the example in world . You can drop it into script and use the links in it to see it doesn't work for yourself. Everyone else, please if you can help @Wulfie with my code in initial message requesting help and additional post below. Can you help as as mcarp Mavendorf said i needed these lines above to be included to make it have a zero start point at llRotUP() : rotation reverse = ZERO_ROTATION/axis; float angle = 100; rotation increment = llEuler2Rot(<0, 0, angle>*DEG_TO_RAD); rotation center_rot = reverse*llEuler2Rot(<0, 0, angle>*DEG_TO_RAD)*axis; Thank you I have asked this several times but am not getting any epigrammatic help?
  6. Sabrina Thank you for your response all my prim numbers work with my script at the start of this request for help . THIS CODE YOU SENT DOES NOT FUNCTION MOVING HE ITEMS IN THE LINK IE THE TWO BOXES > PLEASE SEE MY SCRIPT FOR PROPER FUNCTIONALITY I HAVE SENT YOU IN WORLD EXAMPLE OF MY CODE WORKING
  7. Please NOTE! It didn't work your version Sabrina as I stated earlier! It rotated the box one up on its center and the second box about its center too. This is not the same my script does (see https://gyazo.com/055061a745dd16534dad968c9a6943f9) is what mine does Your does not do this and your script is not working the same as mine in first message please note? I tried it in the same script in my script that ran in perfectly incrementing yours did not do this and is malfunctioning . I did not place the other parts state entry as it was not working to even do same thing as mine I added it as follows please read my answers thank you: float rotClickAngle = 70; do_rotate(){ list L = llGetLinkPrimitiveParams(link_axis,[PRIM_ROT_LOCAL, PRIM_POS_LOCAL]); rotation rotRoot2Axis = llList2Rot(L,0); vector posRoot2Axis = llList2Vector(L,1); vector axisAxis=<0,0,1>*rotRoot2Axis; L = llGetLinkPrimitiveParams(link_body,[PRIM_ROT_LOCAL, PRIM_POS_LOCAL]); rotation rotRoot2Body = llList2Rot(L,0); vector posRoot2Body = llList2Vector(L,1); L = llGetLinkPrimitiveParams(link_beam,[PRIM_ROT_LOCAL, PRIM_POS_LOCAL]); rotation rotRoot2Beam = llList2Rot(L,0); vector posRoot2Beam = llList2Vector(L,1); // rotation rotClick_inRootFrame = llAxisAngle2Rot(axisAxis, rotClickAngle *DEG_TO_RAD); rotation rotClick_inRootFrame = llEuler2Rot(<0, 0, rotClickAngle> *DEG_TO_RAD); // for body. rotation newrotRoot2Body = rotRoot2Body * rotClick_inRootFrame; vector offsetBody_inRootFrame = posRoot2Body - posRoot2Axis; vector newoffsetBody_inRootFrame = offsetBody_inRootFrame* rotClick_inRootFrame; //Beam. rotation newrotRoot2Beam = rotRoot2Body * rotClick_inRootFrame; vector offsetBeam_inRootFrame = posRoot2Beam - posRoot2Axis; vector newoffsetBeam_inRootFrame = offsetBeam_inRootFrame * rotClick_inRootFrame; llSetLinkPrimitiveParamsFast(1,[ PRIM_LINK_TARGET,link_body,PRIM_ROT_LOCAL,newrotRoot2Body,PRIM_POS_LOCAL, posRoot2Axis + newoffsetBody_inRootFrame, PRIM_LINK_TARGET, link_beam,PRIM_ROT_LOCAL,llEuler2Rot(<-90,0,0>*DEG_TO_RAD)*newrotRoot2Beam,PRIM_POS_LOCAL, posRoot2Axis + newoffsetBeam_inRootFrame]); }
  8. I tried to un hard code this but this didn't work either and made a mess of the boxs so i think we have t work off my coding and not supply different ones as its just not helping : run() { float originalsize = 0.500000; vector data = llList2Vector(llGetLinkPrimitiveParams(1, [PRIM_SIZE,PRIM_POS_LOCAL,PRIM_ROT_LOCAL]), 0); float scale = data.x/originalsize; vector axispos =llList2Vector(llGetLinkPrimitiveParams(axis, [PRIM_POS_LOCAL]), 0);//<-0.10080, 0.17149, 1.06105>*scale; vector center_box_pos = llList2Vector(llGetLinkPrimitiveParams(center_box, [PRIM_POS_LOCAL]), 0); //*scale;//<-0.24112, 0.41020, 1.73940>*scale; vector outside_box_pos = llList2Vector(llGetLinkPrimitiveParams(outside_box, [PRIM_POS_LOCAL]), 0);//*scale;// <-0.34071, 0.90477, 1.54477>*scale; rotation axis = llList2Rot(llGetLinkPrimitiveParams(axis,[PRIM_ROT_LOCAL]), 0); //<-0.17578, -0.07861, 0.10860, 0.97526>; rotation reverse = ZERO_ROTATION/axis; float angle = 100; rotation increment = llEuler2Rot(<0, 0, angle>*DEG_TO_RAD); rotation center_rot = reverse*llEuler2Rot(<0, 0, angle>*DEG_TO_RAD)*axis; //vector outside_box_pos_offset = center_box_pos + (outside_box_pos - center_box_pos)*center_rot; vector _box1_pos_offset = (center_box_pos - axispos)*center_rot;// (outside_box_pos - center_box_pos)*center_rot; vector _box2_pos_offset = (outside_box_pos - axispos)*center_rot; //(outside_box_pos - center_box_pos)*center_rot; llSetLinkPrimitiveParamsFast(1, [PRIM_TEXT, "time: " + (string)time, <1, 1, 1>, 1, // PRIM_LINK_TARGET, axis, PRIM_POSITION, outside_box1_pos_offset, PRIM_ROT_LOCAL, axis, //<-0.17578, -0.07861, 0.10860, 0.97526>, //<-- axis came from here PRIM_LINK_TARGET, center_box, PRIM_POS_LOCAL, _box1_pos_offset, PRIM_ROT_LOCAL, center_rot /*<-0.17578, -0.07861, 0.10860, 0.97526>*/*center_rot, PRIM_LINK_TARGET, outside_box, PRIM_POS_LOCAL, _box2_pos_offset, PRIM_ROT_LOCAL, center_rot/*<-0.17578, -0.07861, 0.10860, 0.97526>*/*center_rot ]); }
  9. Sabrina Hi, thanks for your reply however Your code still doesnt work it rotates box 1 in a z axis now but also rotates he box2 about the centre and about itself too not at its end like my first script i showed you. This version also increments and does not set an absolute angle and is incremental like mine I am not sure this is helping as mcarp Mavendorf said i needed these lines above to be included: rotation reverse = ZERO_ROTATION/axis; float angle = 100; rotation increment = llEuler2Rot(<0, 0, angle>*DEG_TO_RAD); rotation center_rot = reverse*llEuler2Rot(<0, 0, angle>*DEG_TO_RAD)*axis; His version worked in his own example, and I could not re code it with actual prim originated positions successfully as it was hard wired with vectors and rotations as below as you see : run() { float originalsize = 0.500000; vector size = llList2Vector(llGetLinkPrimitiveParams(1, [PRIM_SIZE]), 0); float scale = size.x/originalsize; vector axispos = <-0.10080, 0.17149, 1.06105>*scale; vector centerboxpos = <-0.24112, 0.41020, 1.73940>*scale; vector outsideboxpos = <-0.34071, 0.90477, 1.54477>*scale; rotation axis = <-0.17578, -0.07861, 0.10860, 0.97526>; rotation reverse = ZERO_ROTATION/axis; float angle = 120; rotation increment = llEuler2Rot(<0, 0, angle>*DEG_TO_RAD); rotation centerrot = reverse*increment*axis; vector outsideboxposoffset = centerboxpos + (outsideboxpos - centerboxpos)*centerrot; llSetLinkPrimitiveParamsFast(1, [PRIM_TEXT, "time: " + (string)time, <1, 1, 1>, 1, //PRIM_LINK_TARGET, axis, PRIM_POSITION, axispos, PRIM_ROT_LOCAL, <-0.17578, -0.07861, 0.10860, 0.97526>, //<-- axis came from here PRIM_LINK_TARGET, centerbox, PRIM_POSITION, centerboxpos, PRIM_ROT_LOCAL, <-0.17578, -0.07861, 0.10860, 0.97526>*centerrot, PRIM_LINK_TARGET, outsidebox, PRIM_POSITION, outsideboxposoffset, PRIM_ROT_LOCAL, <-0.17578, -0.07861, 0.10860, 0.97526>*centerrot ]); } I hope this helps you
  10. Um Why do they need to be in state_entry, the axis moves, did i not explain that sorry. Also the box one is rotating upon its center diameter not as it was before. box 2 is flipping in front or behind box 1. I am not sure this is helping as mcarp Mavendorf said i needed these lines above to be included:: rotation reverse = ZERO_ROTATION/axis; float angle = 100; rotation increment = llEuler2Rot(<0, 0, angle>*DEG_TO_RAD); rotation center_rot = reverse*llEuler2Rot(<0, 0, angle>*DEG_TO_RAD)*axis; Sadly I don't see this in your code and I could not implement it in it so think i may not have understood at all? my original code : float rotClickAngle = 5; do_rotate(){ list L = llGetLinkPrimitiveParams(link_axis,[PRIM_ROT_LOCAL, PRIM_POS_LOCAL]); rotation rotRoot2Axis = llList2Rot(L,0); vector posRoot2Axis = llList2Vector(L,1); vector axisAxis=<0,0,1>*rotRoot2Axis; rotation rotClick_inRootFrame = llAxisAngle2Rot(axisAxis, rotClickAngle *DEG_TO_RAD); // for body. L = llGetLinkPrimitiveParams(link_box1,[PRIM_ROT_LOCAL, PRIM_POS_LOCAL]); rotation rotRoot2Body = llList2Rot(L,0); vector posRoot2Body = llList2Vector(L,1); rotation newrotRoot2Body = rotRoot2Body * rotClick_inRootFrame; vector offsetBody_inRootFrame = posRoot2Body - posRoot2Axis; vector newoffsetBody_inRootFrame = offsetBody_inRootFrame* rotClick_inRootFrame; //Beam. L = llGetLinkPrimitiveParams(link_box2,[PRIM_ROT_LOCAL, PRIM_POS_LOCAL]); rotation rotRoot2Beam = llList2Rot(L,0); vector posRoot2Beam = llList2Vector(L,1); rotation newrotRoot2Beam = rotRoot2Body * rotClick_inRootFrame; vector offsetBeam_inRootFrame = posRoot2Beam - posRoot2Axis; vector newoffsetBeam_inRootFrame = offsetBeam_inRootFrame * rotClick_inRootFrame; llSetLinkPrimitiveParamsFast(1,[ PRIM_LINK_TARGET,link_box1,PRIM_ROT_LOCAL,newrotRoot2Body,PRIM_POS_LOCAL, posRoot2Axis + newoffsetBody_inRootFrame, PRIM_LINK_TARGET, link_box2,PRIM_ROT_LOCAL,llEuler2Rot(<-90,0,0>*DEG_TO_RAD)*newrotRoot2Beam,PRIM_POS_LOCAL, posRoot2Axis + newoffsetBeam_inRootFrame]); } It worked from my old code above but as i stated was not setting a absolute angle for the movement of the two boxes and was incrementing their movement each time. Your code does not so far do the same thing at all and spins things in strange directions ?
  11. Hi Sabrina , thanks for your help i tried from your example : float rotClickAngle = 70; do_rotate(){ list L = llGetLinkPrimitiveParams(link_axis,[PRIM_ROT_LOCAL, PRIM_POS_LOCAL]); rotation rotRoot2Axis = llList2Rot(L,0); vector posRoot2Axis = llList2Vector(L,1); vector axisAxis=<0,0,1>*rotRoot2Axis; L = llGetLinkPrimitiveParams(link_body,[PRIM_ROT_LOCAL, PRIM_POS_LOCAL]); rotation rotRoot2Body = llList2Rot(L,0); vector posRoot2Body = llList2Vector(L,1); L = llGetLinkPrimitiveParams(link_beam,[PRIM_ROT_LOCAL, PRIM_POS_LOCAL]); rotation rotRoot2Beam = llList2Rot(L,0); vector posRoot2Beam = llList2Vector(L,1); rotation rotClick_inRootFrame = llAxisAngle2Rot(axisAxis, rotClickAngle *DEG_TO_RAD); // for body. vector offsetBody_inRootFrame = posRoot2Body - posRoot2Axis; vector newoffsetBody_inRootFrame = offsetBody_inRootFrame* rotClick_inRootFrame; //Beam. vector offsetBeam_inRootFrame = posRoot2Beam - posRoot2Axis; vector newoffsetBeam_inRootFrame = offsetBeam_inRootFrame * rotClick_inRootFrame; rotation newrotRoot2Body = rotRoot2Body * rotClick_inRootFrame; rotation newrotRoot2Beam = rotRoot2Beam * rotClick_inRootFrame; llSetLinkPrimitiveParamsFast(1,[ PRIM_LINK_TARGET,link_body,PRIM_ROT_LOCAL,newrotRoot2Body,PRIM_POS_LOCAL, posRoot2Axis + newoffsetBody_inRootFrame, PRIM_LINK_TARGET, link_beam,PRIM_ROT_LOCAL,llEuler2Rot(<-90,0,0>*DEG_TO_RAD)*newrotRoot2Beam,PRIM_POS_LOCAL, posRoot2Axis + newoffsetBeam_inRootFrame]); } Which resulted in box 2 rotating to back of box1 only when it was run and the box one rotating in the wrong axis , I am a bit confused as to why which then box1 rotate wrong axis? I tried removing llEuler2Rot(<-90,0,0>*DEG_TO_RAD)* i tried removing which caused it not to move at all with changes to the only thing that seemed to be moving was box 2 not moving and box 1 spinning? i think something is broken with your code. Thanks.
  12. Yes Sabrina I understand the removal of the previous rotation angle and the rotation angle per rotation angle but didn't understand why you used llEuler2Rot instead of llAxisAnglle2Rot do they not do the same thing as my example did exactly same thing . From my scripting group NCIScripters a nice man gave me a script with numbers in it which are rotations and vectors he hard coded this used : rotation reverse = ZERO_ROTATION/axis; float angle = 100; rotation increment = llEuler2Rot(<0, 0, angle>*DEG_TO_RAD); rotation center_rot = reverse*llEuler2Rot(<0, 0, angle>*DEG_TO_RAD)*axis; This did somehow achieve this movement . I do not understand how to implement this into my code to make it work but as unusable because of hard coding as everything i have tried makes the two boxes work like this go wobbly and offline go off line.
  13. Sabrina thanks if this is the bit i do not understand at presence what is the difference here between: rotation rotClick_inRootFrame = llAxisAngle2Rot(axisAxis, rotClickAngle *DEG_TO_RAD); and rotation rotClick_inRootFrame = llEuler2Rot(<0, 0, rotClickAngle> *DEG_TO_RAD); please in lay persons terms as this made no difference to what it did perceived watching two next to each other I expected one with this change in this to set it position and stay at angle there it still moves up incrementing like other when I specify an angle . Thank you for your assistance . Wulfie yes thats it
  14. Hi , everyone thank you for the replies , yes the code does function but not how I want it too . It takes an angle in rotClickAngle repeated calls to do_rotate make these two linked object rotate about pink axis however if you look at this closely and every other example I have seen they all work by getting the position of the two prim and move them forward incrementing the position so for example: 1. if rotClickAngle = 10 , the two objects rotate ten around z axis of pink axis rod and ends up at 10 degrees 2. if rotClickAngle = 20 , is then applied the two objects rotate 20 degrees further around z axis of pink axis rod and ends up at 30 degrees. 3. if rotClickAngle = 10 , the two objects rotate ten degrees further around z axis of pink axis rod and ends up at 40 degrees. NOT USING ABSOLUTE ROTATIONS I had to remember last-rotation and subtract this angle from the first to get an absolute position i.e 20 -10 gives rotation at 2. of 20 degrees however this does depend on object starting at RotUp() and is not really helpful. without a starting pint of 0 being at llRotUP(). I have received some advice on ZERO_ROTATION but could not currently understand how to apply it to my code as i think this is maybe the fiddly bit i am missing and wondered if it would help as a reverse, but all the examples i received was not helpful and worked as my code above . I wonder if this is clear what i wanted to do now as in ABSOLUTE ROTATIONS which this code I put up does not do. i hope some one is able to help as its very frustrating and i am eager to learn . Molly i did construct it with just using lists and non variables but this runs slower than extracting to variables As i tried both, Rolig yes I know but we need to maintain knowledge in LSL otherwise we will loose creativity please note this is rotating two objects not one around a axis all being child links It is a challenge i realize this however there need to be good examples Thanks I am hopeful that this can be done better.
  15. Thanks for the replies very helpful
  16. Hi everyone I have been posting in LSL scripting groups hopeful for a solution and am starting to believe we are loosing a generation of scripters that i am supposed to fill their shoes one-day. My problem is with a rotation I am using the following script from an brilliant person on LSL who has moved onto other ventures. This was her creation . a friend Zambe made this gif for me showing what i require it to do: https://gyazo.com/055061a745dd16534dad968c9a6943f9 The problem is that upon asking several key scripters they all returned what i already had , which sequentially reads the position of an object and adds a rotation to it. This is unhelpful as one cal loose track of rotation easily and the only answer was to capture the previous rotation angle and move forward with next angle by deleting the previous . This would work but is no rotation solution I feel you should be able to set a llRotUp() option on the pink axis and then move from this ZERO_ROTATION to a new absolute angle now this problem is compounded by two boxes which have to stay synced to each other and both need adjustment as below: float rotClickAngle = 5; do_rotate(){ list L = llGetLinkPrimitiveParams(link_axis,[PRIM_ROT_LOCAL, PRIM_POS_LOCAL]); rotation rotRoot2Axis = llList2Rot(L,0); vector posRoot2Axis = llList2Vector(L,1); vector axisAxis=<0,0,1>*rotRoot2Axis; rotation rotClick_inRootFrame = llAxisAngle2Rot(axisAxis, rotClickAngle *DEG_TO_RAD); // for body. L = llGetLinkPrimitiveParams(link_box1,[PRIM_ROT_LOCAL, PRIM_POS_LOCAL]); rotation rotRoot2Body = llList2Rot(L,0); vector posRoot2Body = llList2Vector(L,1); rotation newrotRoot2Body = rotRoot2Body * rotClick_inRootFrame; vector offsetBody_inRootFrame = posRoot2Body - posRoot2Axis; vector newoffsetBody_inRootFrame = offsetBody_inRootFrame* rotClick_inRootFrame; //Beam. L = llGetLinkPrimitiveParams(link_box2,[PRIM_ROT_LOCAL, PRIM_POS_LOCAL]); rotation rotRoot2Beam = llList2Rot(L,0); vector posRoot2Beam = llList2Vector(L,1); rotation newrotRoot2Beam = rotRoot2Body * rotClick_inRootFrame; vector offsetBeam_inRootFrame = posRoot2Beam - posRoot2Axis; vector newoffsetBeam_inRootFrame = offsetBeam_inRootFrame * rotClick_inRootFrame; llSetLinkPrimitiveParamsFast(1,[ PRIM_LINK_TARGET,link_box1,PRIM_ROT_LOCAL,newrotRoot2Body,PRIM_POS_LOCAL, posRoot2Axis + newoffsetBody_inRootFrame, PRIM_LINK_TARGET, link_box2,PRIM_ROT_LOCAL,llEuler2Rot(<-90,0,0>*DEG_TO_RAD)*newrotRoot2Beam,PRIM_POS_LOCAL, posRoot2Axis + newoffsetBeam_inRootFrame]); } I would be grateful for some help as some day i am going to have to explain this myself :)
  17. I have some code which is rough and want to improve it it basically moves a mesh in a circle using llSetjump to startLinkParamsFast( I have this in a script which uses basic loop http://wiki.secondlife.com/wiki/Jump @start ... Move item llSleep(1) jump to start @end Now I am using llSetScriptState( to stop and start this but it is fraught with problems that i will not go into here. My question is how to make this into one script with my other code . The problem is house-keeping and there is not much time-slice afforded to llListen or MessageLink events. How then do i properly script movement in LSL script .As i think i am missing something vital Thanks for looking D
  18. Hi , I found this thread while googling . I did make a script to do this once upon a time but its lost in an object in my inventory . I realise this is several years ago that you asked but felt it needed a reply. The premiss of the script you borrowed uses JSON table to assign seats and keys . The animation you set only applies to one avatar as you do not record in the json array seperate animations used by each avatar with each key. As Inula says its not written with animation in mind but it could be used as a frame work to get you were you need to be. If i find it I will post it for you alllon secondlife . Denise
  19. Hi Secondlife Community at large, Subsequently , I ran a test of this live for two hours on sunday with a new version of code that first placed a different image on to the face before facing the final proper one . This seemed to make the MOAP work and all looked good . During the 2 hours test I had to reset the face MOAP, 9 times as it had stalled to get it loading again. This was during Secondlife maintenance. This reset involved going into edit mode and on the face pressing the reset button. I spoke to several technical people at Firestorm who informed me that the MOAP did not actually exist as such on the surface of the face being placed there by slplugin CEF/Dullham which I was informed reliably that it constructs a viewport on the given prim face and does not exist inside the region. I was also told this was done without Quicktime or Flash. I was surprised to be informed that this process created no LSL Key for each MOAP . That could be tested in LSL to see if the same MOAP was on surface and had not changed over a given time indicating MOAP had stalled. I was told reliable that if this was not there in the region how could it be checked? It was suggested the fault could potentially be a firewall or antivirus preventing a timely connection. I explained this was on a web server from placed their from a radio broad cast app which was quality software and only subject to my fast fibre-connection and the freeze/ stall was observed by other avatars watching. Currently, I plan to retest next week to see if this problem persists or was one derived from maintenance. I am grateful for the Firestorm technician sharing this technical information. *Hugs* Denise
  20. Hi everyone on Secondlife , I found this searching google eventually and am sharing i with you : https://wiki.firestormviewer.org/media_settings_general This was not easy to find. I note it informs me under General Section Heading "Reset: Resets the current URL of the media face to the home page given above. Resetting affects all Residents who are viewing the media." As I am already setting this in my script : PRIM_MEDIA_CURRENT_URL, URL_ART, PRIM_MEDIA_HOME_URL , URL_ART ]); why does this not to the same as this button and definition on wiki? I presumed the following would therefore do the same thing which unfortunately it did not : flags = llSetLinkMedia(pprim,pface, [ PRIM_MEDIA_AUTO_PLAY ,TRUE, PRIM_MEDIA_AUTO_SCALE, FALSE, PRIM_MEDIA_PERMS_CONTROL,PRIM_MEDIA_PERM_NONE, PRIM_MEDIA_PERMS_INTERACT, PRIM_MEDIA_PERM_NONE, PRIM_MEDIA_HOME_URL , URL_ART ]); llSleep(0.5); flags = llSetLinkMedia(pprim,pface, [ PRIM_MEDIA_AUTO_PLAY ,TRUE, PRIM_MEDIA_AUTO_SCALE, FALSE, PRIM_MEDIA_PERMS_CONTROL,PRIM_MEDIA_PERM_NONE, PRIM_MEDIA_PERMS_INTERACT, PRIM_MEDIA_PERM_NONE, PRIM_MEDIA_CURRENT_URL, llList2String(llGetLinkMedia(1,1,[PRIM_MEDIA_HOME_URL] ),0)]); I must conclude that this reset command on media general settings must be doing something else or in addition which is not disclosed
  21. I have rebuilt my prim and noticed : 1) That the face on the linked prim only refreshes from the linked prim faces Media Settings page . Pressing Reset buttonwhich brings it straight in. I understand that using 'llSetLinkMedia(' according to its accompanying page "if prim media is already on this object, params not specified are unchanged." now this is a problem as the Reset button brings the new png image from the url when you press it . It would be kind if then someone could explain exactly what this reset button is doing and how to recreate its function from the LSL script library of functions.. I have tried using llClearLinkMedia( before setting the media by : flags = llSetLinkMedia(pprim,pface, [ PRIM_MEDIA_AUTO_PLAY ,TRUE, PRIM_MEDIA_AUTO_SCALE, FALSE, PRIM_MEDIA_PERMS_CONTROL,PRIM_MEDIA_PERM_NONE, PRIM_MEDIA_PERMS_INTERACT, PRIM_MEDIA_PERM_NONE, PRIM_MEDIA_CURRENT_URL, URL_ART, PRIM_MEDIA_HOME_URL , URL_ART ]); if( flags !=0) {llOwnerSay("Error: "+(string)flags); } else { //llParcelMediaCommandList([PARCEL_MEDIA_COMMAND_PLAY]); } This just leaves the screen white with no texture until you press the button at 1) above with reset on it. I cannot understand why it is not documented how this rest button works as it seems important that this information is shared to allow image PNG media onto a face of a prim in SL I hope some one is able to understand how this works and explain how the reset button works and can be replicated. Thanks for looking Denise
  22. Hi sorry to ask what is the equivalent of the reset button on the prims face media tab please as this seems to jog mine on despite autoplay thanks Denise
×
×
  • Create New...