Jump to content

AlleyCat Tyles

Resident
  • Posts

    31
  • Joined

  • Last visited

Everything posted by AlleyCat Tyles

  1. Thank you.
  2. I am also attempting to post something in Adult. I am not new to SL. I have posted previously. So I go to the upper right of the page and open the drop down box that has "SETTINGS" listed but it is not a clickable link. Adult (nor Answers) is not an option in the Forums drop down box. Any ideas?
  3. Thank you, elleevelyn. To add some humor to your day: I put in the script a number of llSay(0,"Line XX") commands to see where the execution was taking place. It turns out that most of the sections of the code discussed above are never used. The script was looping on the section of the code where the dir = -dir is located which accounts for some of the odd behavior. I tried adjusting one parameter and the object flew away. So I have a bouncing object somewhere looping through a llSay(0,"Line XX") command, spamming chat to the point LL has blocked all my local chat. Of course, attempting to find the object has failed. Some days you just have to have a sense of humor. Sim restart is happening, will see if that helps. Thank you again for your time.
  4. Thank you Fenix and elleevelyn for your responses and your time. I completely follow the logic of your responses. I apologize for the brevity of my response. I had played with various combinations of dir and -dir along with positive and negative values for zdelta. Those various permutations did not alter the outcome. Yes, the way I stated it in my original post is correct, the object when clicked starts bouncing downward ( I want it to bounce upward). This is first of all contrary to the “dir = 1; // Forces first movement to be UP” line in the script (the first move may be too small to notice but subsequent movements are down) but also contrary to the way I am reading the script mathematics. I think you are reading them the same way I am. I will add one more observation: When the object shoots back up to its start position that is because it entered the “failsafe” section of the script (added a line to say something in local chat). I appreciate, Fenix, that you changed the rate and zdelta values to better observe. Doing the same here caused the object to react erratically so my observations are based on the original script. Thank you both again for your thoughts.
  5. My ability at scripting is very limited. I have a script that will cause an object when touched to incrementally drop down from it’s starting position and then bounce back up to its starting position. It works fine. What I want the object to do is to incrementally move up from it’s starting position and then drop back down to the starting position. Basicly, I want to reverse it’s motion. I have tried a few approaches with zdelta and dir which failed miserably, lol. Would someone be so kind as to advise. Thank you. integer channel = 88; // You can alter this integer ON = FALSE; integer dir; integer targetID; vector startPos=<50.09902, 141.37950, 4003.5263>; vector start; float tolerance = 1.0; // You may need to make this larger if you're working with fast-moving objects. float rate = .3; // Default setting. Movement to target takes 1 second. Reset by //typing a new number in channel 88 (e.g., "/88 4"). // Smaller objects move faster than large ones, for the same value of "rate" float xdelta = 0; float ydelta = 0; float zdelta = 0.1; default { state_entry() { llListen(channel, "", "", ""); llSetStatus(STATUS_PHYSICS,FALSE); llSetStatus(STATUS_ROTATE_X | STATUS_ROTATE_Y | STATUS_ROTATE_Z,FALSE); start=startPos; llOwnerSay("Starting altitude = " +(string) startPos.x +" "+(string) startPos.y+" "+(string) startPos.z); } on_rez(integer start_param) { llResetScript(); } listen(integer channel, string name, key id, string message) { if(message == "button pressed") { ON = !ON; if(ON) { dir = 1; // Forces first movement to be UP llSetStatus(STATUS_PHYSICS,ON); llSetBuoyancy(1.0); targetID = llTarget(llGetPos()+(<xdelta,ydelta,zdelta> * dir),tolerance); llMoveToTarget(llGetPos()+(<xdelta,ydelta,zdelta> * dir), rate); llSetTimerEvent(5); } else // Click to stop { llSetStatus(STATUS_PHYSICS,ON); llSetTimerEvent(0); llSetPos(start); llSay(0,"Beep"); llResetScript(); } return; } rate = (float)message; llSay(0,"Movement time to target now set at " + (string)rate + " seconds."); } touch_start(integer num) { ON = !ON; if(ON) //Click to start { dir = 1; // Forces first movement to be UP llSetStatus(STATUS_PHYSICS,ON); llSetBuoyancy(1.0); targetID = llTarget(llGetPos()+(<xdelta,ydelta,zdelta> * dir),tolerance); llMoveToTarget(llGetPos()+(<xdelta,ydelta,zdelta> * dir), rate); llSetTimerEvent(5); } else // Click to stop { llSetStatus(STATUS_PHYSICS,ON); llSetTimerEvent(0); llSetPos(start); llSay(0,"Beep"); llResetScript(); } } not_at_target() { llMoveToTarget(llGetPos()+(<xdelta,ydelta,zdelta> * dir), rate); } at_target(integer tnum, vector targetpos, vector ourpos) { llStopMoveToTarget(); llTargetRemove(targetID); dir = -dir; //Reverse direction on subsequent moves. targetID = llTarget(llGetPos()+(<xdelta,ydelta,zdelta> * dir),tolerance); llMoveToTarget(llGetPos()+(<xdelta,ydelta,zdelta> * dir), rate); } timer() // This is a failsafe. { vector Pos = llGetPos(); if (Pos.z >= startPos.z + 2.0 | Pos.z < startPos.z) // If the object goes out of range, it resets { llStopMoveToTarget(); llSetStatus(STATUS_PHYSICS,FALSE); llSetPos(startPos); llTargetRemove(targetID); llSetStatus(STATUS_PHYSICS,TRUE); targetID = llTarget(startPos+(<xdelta,ydelta,zdelta> * dir),tolerance); dir = 1; } } }
  6. Not sure where to post but here goes: I am working on a project and have done some musing. I want to throw out the concept and thoughts I have had on execution. Basically, before I invest a lot of time and effort, someone may have a more efficient approach or can tell me it won’t work. Anyways, my thinking is as follows: I am going to construct a vertical equilateral triangular frame, pointing upward. I have an animation where the avatar has both their arms pointed straight up. The legs are spread. Basically, if the avatar is centered in the triangle, the arms and legs point to the corners of the equilateral triangle, call it a Y animation. The avatar will not be “sitting” on the triangle, sitters or any pose balls. The avatar will be subject to the usual physics (see below). The objective is to start the avatar centered in the triangle and return them to that position (coordinate) if they are “pushed”. There will be a connection between the arms and legs of the avatar and the corners of the triangle so that the avatar is suspended. What type of connection will be the ultimate question, but first: Simple first thought: If the triangle is vertical, the avatar will be off the ground and not standing. If perceived as falling by SL, an AO will have to be set to use the Y animation for falling. If the avatar is set to “flying”, that will eliminate gravity and again an AO will have to be set to use the Y animation for flying. I think that makes sense. So the question is how to start the avatar at the center of the triangle (original coordinates) and should they be pushed, get them back to the center of the triangle (original coordinates). The simple solution would be to have the connections between arms and legs and corners of the triangle be a set of springs. So looking up springs in marketplace, I had thousands of options! But after getting rid of spring fashions, I saw a few options for actual springs. I did not see that they were scripted to work like real springs, nor did they have attachment points. So the first question is, are there any springs out there that act like springs? Now, about the only item I have seen that may come close is the leashes used on collars. If you set a length and it is exceeded, the avatar is pulled in that direction. I do note however it is more of a jerk than a gradual pull you would get from a spring. ((Which perhaps can be adjusted in the scripts.) So I was musing about getting the open collar scripts and putting them into a wrists cuff, left ankle cuff and right ankle cuff. Then anchor them to the corners of the triangle. This gets to the can you wear more than one collar at a time, how will they interact, etc. Ok, so I am musing here and not quite sure how of if to proceed. Any thoughts? Thanks for your time.
  7. Thank you so much. Working good.
  8. I do not script so this may seem a simplistic question. I have an object which has in it’s root prim a script, which I will copy below. The script causes the object to move up and down from it’s starting position. The starting position is, I think, from the llGetPos(). The coordinates are where the object is when the script is activated by clicking. I want to put in the script fixed x,y and z coordinates as the starting point, regardless of where the object happens to be when clicked. Assume the object will be close to the fixed coordinates when clicked. If the fixed x, y, z coordinates were 13.08, 240.62 and 1702.4, what line(s) would I change or add to accomplish this objective. integer channel = 88; // You can alter this integer ON = FALSE; integer dir; integer targetID; vector startPos; vector start; float tolerance = 1.0; // You may need to make this larger if you're working with fast-moving objects. float rate = .3; // Default setting. Movement to target takes 1 second. Reset by //typing a new number in channel 88 (e.g., "/88 4"). // Smaller objects move faster than large ones, for the same value of "rate" float xdelta = 0; float ydelta = 0; float zdelta = 0.1; default { state_entry() { llListen(channel, "", "", ""); llSetStatus(STATUS_PHYSICS,FALSE); llSetStatus(STATUS_ROTATE_X | STATUS_ROTATE_Y | STATUS_ROTATE_Z,FALSE); startPos = llGetPos(); start=llGetPos(); llOwnerSay("Starting altitude = " +(string) startPos.x +" "+(string) startPos.y+" "+(string) startPos.z); } on_rez(integer start_param) { llResetScript(); } listen(integer channel, string name, key id, string message) { if(message == "button pressed") { ON = !ON; if(ON) { dir = 1; // Forces first movement to be UP llSetStatus(STATUS_PHYSICS,ON); llSetBuoyancy(1.0); targetID = llTarget(llGetPos()+(<xdelta,ydelta,zdelta> * dir),tolerance); llMoveToTarget(llGetPos()+(<xdelta,ydelta,zdelta> * dir), rate); llSetTimerEvent(5); } else // Click to stop { llSetStatus(STATUS_PHYSICS,ON); llSetTimerEvent(0); llSetPos(start); llSay(0,"Beep"); llResetScript(); } return; } rate = (float)message; llSay(0,"Movement time to target now set at " + (string)rate + " seconds."); } touch_start(integer num) { ON = !ON; if(ON) //Click to start { dir = 1; // Forces first movement to be UP llSetStatus(STATUS_PHYSICS,ON); llSetBuoyancy(1.0); targetID = llTarget(llGetPos()+(<xdelta,ydelta,zdelta> * dir),tolerance); llMoveToTarget(llGetPos()+(<xdelta,ydelta,zdelta> * dir), rate); llSetTimerEvent(5); } else // Click to stop { llSetStatus(STATUS_PHYSICS,ON); llSetTimerEvent(0); llSetPos(start); llSay(0,"Beep"); llResetScript(); } } not_at_target() { llMoveToTarget(llGetPos()+(<xdelta,ydelta,zdelta> * dir), rate); } at_target(integer tnum, vector targetpos, vector ourpos) { llStopMoveToTarget(); llTargetRemove(targetID); dir = -dir; //Reverse direction on subsequent moves. targetID = llTarget(llGetPos()+(<xdelta,ydelta,zdelta> * dir),tolerance); llMoveToTarget(llGetPos()+(<xdelta,ydelta,zdelta> * dir), rate); } timer() // This is a failsafe. { vector Pos = llGetPos(); if (Pos.z >= startPos.z + 2.0 | Pos.z < startPos.z) // If the object goes out of range, it resets { llStopMoveToTarget(); llSetStatus(STATUS_PHYSICS,FALSE); llSetPos(startPos); llTargetRemove(targetID); llSetStatus(STATUS_PHYSICS,TRUE); targetID = llTarget(startPos+(<xdelta,ydelta,zdelta> * dir),tolerance); dir = 1; } } }
  9. Yes, thank you Innula, do send me a copy of that script. The two pertinent scripts are .XPOSE Chain Binding Point and .XPOSE Chain/Cuff Interface, as you say. Yes, I am using Lockmeister. This really should be simple, I just may be missing the obvious. I will fiddle around with it and see what I can figure out, thank you again for your assistance.
  10. Thank you all for your responses. Yes, I kinda figured there would need to be something in the script to get feedback on progress. Innula - Yes, I can see chains. Tested it out on my devPose bed. I am using old engines Yes, the XPOSE instructions I have are to rez an object that has attachment points and only that. I have tried just having an attachment point by itself and no go. The instructions are not too bad, I get the logic just no chains. There are a couple of scripts needed, the ones I have are the correct names obviously. I do wonder if the mine are bad. This engine is so old, I had a terrible time finding the scripts for chains. In answer to your question, I am working with an existing item that uses XPOSE and just adding to it. I do not make items for sale and this is not for any commercial use. I am just stumped right now and not sure how to proceed.
  11. This question is about scripts and in two parts. First off: The situation is one script activates or refers to another script which includes referring to a notecard. Does a diagnostic tool exist in the Firestorm viewer, which would allow to see a script get activated or a notecard being read. Alternatively, is there a tool that accomplishes that objective. I do appreciate I am asking a very generic question here. It sprcifically relates to the following: I am using the XPOSE version 4.0 ul engine. I am attempting to add chains/cuffs. I have followed the XPOSE CHAIN/CUFF SUPPORT instructions and placed the appropriate scripts. I honestly believe I have set up everything correctly. I have all the diagnostic tools included with the engine. On restart, the diagnostics are run and I receive no errors or warnings. In using the poses, I receive not script or warning errors using the tools I am aware of in Firestorm viewer. Using the engine menu, the correct objects rez, the poses are correct, I can give out and wear cuffs, everything works with one exception. The chains do not appear (visible or invisible) linking the cuffs to the binding point prims. I am sure it is something very simple but I am stumped. Any advise would be appreciated.
  12. I am looking for a script that will cause a cylinder to move back and forth between two points along the cylinder’s long axis. Think a piston in a car engine. Looking on marketplace, I see bounce scripts, however I am unable to ascertain exactly how they work. The scripts I have will only move an object along the X, Y or Z axis which in this case will not work since movement will involve all three axises. I am not a scripter but the attributes I would look for would include: The cylinder will be rezed by an Xpose engine with its starting position and rotation already set. Only the position need change, there will be no change to rotation. I believe a script is able to read the starting coordinates of the cylinder. The cylinder then needs to move to a second set of coordinates and back. I suppose the second set of coordinates could be entered in the script or read from a notecard. Although not necessary, clicking the cylinder to start motion would be nice as well as some control over speed. Any thoughts on where to look and what it may be called would be appreciated. Thank you.
  13. Thank you Rhona. Yes that is the current Adam hud and you have described the situation perfectly. I do believe I can apply the shirt to the tattoo layer. I will see how that works.
  14. Ok, Alwin I see your point. Let me see if this makes sense: I go to my Adam hud, I look at the layers tab. Adam has a “Fashion” layer (outer most layer, I think), which I will assume corresponds to the shirt and pants on an Omega applier. The top of the pants fashion layer is at waist level, well above the hips. If the layer is that high up the body, it would seem reasonable to expect that pants applied to that layer would appear to start at waist level. I hope I said that succinctly. I think my logic is sound. I do avoid any pants described as hip huggers.
  15. I had a most frustrating couple of hours trying to find and wear clothing with my Adam body. Rather than start a new thread, I will add to this one. I also want to see if I am understanding what was said by Klytyna and Phil above. I have the Omega hud for the Adam body and it works fine. My question concerns applied clothing. So I put on a shirt (apply using Omega) and it comes down to my belly button. I put on a pair of pants and they are half way down my hips. I tried a number of shirts and a number of pants. There is always a gap between the top of the pants and the bottom of the shirts. That may be a fashion statement for some but not for me. I want to tuck my shirt into my pants, figuratively speaking. Am I just missing something here? Klytyna and Phil: I like the concept of “outfits” discussed above. The more I read, the more I think I better search the forums some more, so I can ask an intelligent question.
  16. Klytyna’s advice is good. I am not in world right now so this is from memory. I just went through using the “seed” from market place. I also received no response when I clicked the object I had seeded. I do not know if updaters are still available, they may have been removed when version 6.XX was released. Fortunately, I had an old updater in inventory which worked. That was for version 3.XX. If you cannot get your hands on an old updater, IM me. My advice is once the seed is “updated”, go into the contents and delete the updater script. I declined to update each time I rezed the seeded object. I think, this keeps it at version 3.XX. I do not know if it would have updated to version 6.XX if I had accepted an update. Based on what I am reading about version 6.XX, I think I will stay with version 3.XX. That being said, I have looked online for a manual for version 3.XX. All I find is for version 6.XX. Anyone know where I could find a manual for 3.XX?
  17. Yes, I am looking at something on marketplace that may allow initiating an IM conversation when not in world
  18. So, if I log into www.secondlife.com but not launch a viewer, can I initiate an IM conversation. I would get the reply by email and then could respond to that. Maybe I am missing something here but it would seem to me that when logged into the SL website you could initiate a conversation. If not, I have a desktop computer Windows 7. Is there a way?
  19. Phil, I agree completely with what you said. I was addressing only Love's comment and thinking maybe taking it in and out of inventory would act as a memory cleaner.
  20. The other thing I have done is take the mat back into inventory, wait for a while, then res it again on the floor. That appeared to work in some cases.
  21. Thank you all for your responses. I have now reached the conclusion that there is some external factor influencing or causing the stack heap error. After one occurrence of the error, I did nothing. XPOSE after an error, sits for a while then attempts a restart. Without changing anything, on the second attempt it worked fine. A different result without changing anything related to XPOSE. I suspect it is simple SL lag. In response to your comments above: I know for sure that only the menu is reloaded on restart. Positions are perpetually maintained in memory. There is a specific button in the owner menu to dump position memory and cause both the positions and menu to be reloaded. Yes, memory stores the positions. When you adjust a pose it will record the new position in memory. It overwrites the old position. Net effect should be that adjusting a position will not consume more memory. To be specific: On starting up, I get in chat something like “150 positions stored”. If I fix a number of positions and start up again, I will get “150 positions stored”. Adjusting positions does not increase the number stored. My first approach was to use the XPOSE group in world. I did have a number of chats but no solutions which is why I tried the forums. I am doing a project that is for 3 or 4 person poses. This is well within the parameters of the XPOSE engine I am using as confirmed by the documentation that goes with the engine. This is totally for personal use. I have no intention of commercial use or to violate any terms of service. Yes, XPOSE is an old engine but very tried and true. I am one of those funny people who like an old tugboat that goes 10 knots 100% of the time rather than a speedboat that goes 20 knots 50% of the time. Thank you all for your help. I have finished my project for the most part and have just enough ~loader memory left over to avoid stack heap errors. But stay tuned, I love to tinker.
  22. Ok, let me add on and respond to the postings. To be clearer, the engine stores the positions of pose balls in memory. This is unlike, say devPose, where the positions are written on a notecard and read when the pose is selected from the menu. When properly operating, Xpose has both the menu and ball positions stored in memory. When using the menu it does not access any notecards. I think. A restart using the Xpose menu results in the menu being deleted from memory and reread from a notecard and stored into memory. A reset of scripts (using edit or a SL viewer) will cause both the menu and the ball positions to be cleared from memory. Then the system restarts and reads into memory both the menu and pose ball positions. Primarily, I am talking about restarting where I have problems. I have used reset in the belief that there was something accumulating in memory as one poster mentioned. In response to the concern about a formatting error: The engine has very good debugging built right in. I have made formatting errors and it picks them right up and displays a warning message but does not lock up. Once it does finish loading, it displays the remaining memory for various scripts. It is the loader script that runs out of memory. Yes, fully understand the logic of stripping out a large portion of the menu and adding it back one small piece at a time to diagnose the error. A bit time consuming. I have used the approach of carving out large portions of the menu and deleting pose ball positions which also take up memory. The creator says it should handle 200 poses. I have had it running in the 190’s. What prompted me to write today was I carved out a number of poses and it was fine last night. This morning it got the stack heap error and I have only 158 poses. Yes, there is a limit on the number of poses, well aware of it. But today I am at 158 poses and getting this error which prompted me to think there was an external factor. And thank you both for responding.
  23. Let me add the following: Each time the stack heap error happens, the engine will automatically try a restart. If I just let it keep trying to restart over and over again, it has in a number of instances not crashed. It takes a number of restarts. So I tend to think it is an external factor.
  24. I am not asking an XPOSE question. I am using an XPOSE (version 4.0 ul) engine. On restart, the engine will read the .MENUITEMS notecard into memory. On a script restart, the engine will read the .POSITIONS and .MENUITEMS notecards into memory. I am of course getting the dreaded stack heap collision due to the “script: ~loader” being overloaded (out of memory, I believe) I understand fully that the size of the positions and menuitems consume memory and can cause the overload. But here is what is frustrating me: I can load a menuitem notecard and everything works fine. I can take the same menuitem notecard. reduce the number of lines, restart, and get the stack heap collision. It is crashing after I reduce the size of the notecard and the memory used. Why would it work with a notecard using more memory and crash with a notecard using less memory. There are even times when it will crash on reloading and then on restart work fine with the same notecards. My question is not on the XPOSE engine. My question is what external factors would cause this to happen? Keeping everything the same with the XPOSE engine, I get different results, so I am stumped what would be the causative factor.
×
×
  • Create New...