Jump to content

Madelaine McMasters

Resident
  • Posts

    22,946
  • Joined

  • Days Won

    19

Everything posted by Madelaine McMasters

  1. Griffin Ceawlin wrote: Which one of us do you think would jump first? The last one to push.
  2. If you spend any time with me, one or both of us is going to fall to our death.
  3. Hi Sherry, Here's a page that will help you retrieve windows that have gone off into oblivion... http://wiki.phoenixviewer.com/missing_windows Try the easy things first. If you still can't find the window hiding behind something, you'll have to manually reset the window position via Debug Settings. The "People" window is the one you want to fix. Open "Debug Settings" in the "Advanced Menu" (Ctrl-Alt-D) as indicated in the instructions on that page. Then start typing in the appropriate window name, in your case "floater_pos_people_x" and set the value to zero. Do the same for "floater_pos_people_y". Lots of people have been losing windows lately, so keep track of that page, it may happen to you again, with a different window. Note that if you are not using Firestorm, the window positions with _fs_ in their name may not exist in your particular viewer. Those windows are Firestorm only. To get a list of all the window position variables for your viewer, type only floater_pos and look at the autocomplete list that presents itself for you. Good luck!
  4. I just noticed it as well. My jammies were fluttering as I fell to my death from a friend's skybox.
  5. Hi Gina, Preferences->Chat - Uncheck "Play typing animation when chatting" You may also want to uncheck "Play avatar animations (such as shouting)" And finally, to stop your lips moving when speaking, Preferences->Sound & Media->Voice Settings tab - Uncheck "Move avatar lips when speaking". Good luck!
  6. Drop this script into a prim. From the moment you rez it, it will keep track of the total number of minutes you've been online. Touch the prim to get the current elapsed time, reset the script to clear the timer. I expect you want something fancier than this, but if you want to make something yourself, this is a first step... key me;integer elapsedMinutes = 0;default { state_entry() { llSetTimerEvent(60); // seconds me=llGetOwner(); } touch_start(integer total_number) { llOwnerSay((string)elapsedMinutes); } timer() { if(llRequestAgentData(me, DATA_ONLINE)) { elapsedMinutes++; } }}
  7. Hi Harpya2, If you're sure you're wearing it, you may be suffering from a viewer "interest list" glitch. Hit "Ctrl-Shift-R" (toggle wireframe) two times. Your gun should appear. It's also possible the gun is inside your body. If so, when you toggle wireframe mode the first time you should see the gun's frame inside your avatar. Disable camera constraints (that's in the Advanced menu), cam inside your body until you see the gun, then edit it to move it where you wish. If these suggestions done help, come back and edit your question via "Options" over there on the right and we'll hopefully have other suggestions for you. Good luck!
  8. Why isn't that the version linked at the bottom of the page?
  9. Hi Sabrina, If you are a premium member, then you are automatically allowed 512m2 of land, with or without a Linden Home. The rent for that space is included in the premium fee. If you have a Linden Home, I'm not sure if you're allowed to loft a skybox above it. The advantage of Linden Homes is that they give you a space to decorate which does not count against the 117 prim limit for 512m2 of land. The more prims your skybox contains, the larger the piece of land it will require to support the prim limit. It's also important to make sure that the physical extent of the skybox doesn't protrude beyond the edges of any parcel you purchase. If you do not want a Linden Home (and it sounds like you don't), you can purchase a lot of mainland with your 512m2 allotment. Here's the SL entry point for purchasing land where you'll find information on the various ways of doing so... http://secondlife.com/land/purchasing.php If you are not a premium member, you can rent property from any number of estate owners. Rather than pay rent directly to LL, you'll pay it to the landlord. Whether you can loft a skybox will depend on the parcel's covenant. Ask the landlord. Depending on the way the landlord rents space, you may or may not have the powers over your space that you'd have with directly owned land. On the flip side, you may have additional freedom in the configuration of your skybox. I rent a home with a 230 prim allowance, but fairly lax restrictions on building. As a result, I'm able to lay out a huge working deck in the sky when I'm building and nobody complains. Again, check with the landlord for building restrictions. If you can tell us more about what kind of surroundings you'd like, your budget, the style of your skybox, etc, someone may pop in to give you suggestions for suitable places for your skybox. Happy Hunting!
  10. The latest version is 3.7.3.287491 and you get it where you always get it, by clicking on the "Download Second Life" link at the bottom of this web page! If you wish to do a clean install, here's how... http://community.secondlife.com/t5/English-Knowledge-Base/How-to-uninstall-and-reinstall-Second-Life/ta-p/1375231 ;-) ETA: (to Lindal)... Pfft!
  11. Innula Zenovka wrote: Maelthras wrote: But the private logs are LL content and created by the viewer and so should falling under the application tos, so you are saying as long as they don't pass them in LL they can do whatever they want with my logs? Exactly. LL say this, in terms, at Linden Lab Official:Residents' privacy rights: Sharing or posting a conversation inworld or in the Second Life forums without consent of all involved Residents is a violation of the Terms of Service. NOTE: This does not include posting of chat to social media sites or other websites. Posting such logs on web pages, emailing them, or printing them out and posting them on utility poles in the "real world" -- are all actions beyond the scope of the Second Life Terms of Service. ; while that might be illegal, but those laws must be enforced by the proper law enforcement agencies. Yep, it's perfectly legit... ;-)
  12. Hi EroticArts, We're residents, just like you. So, we neither make nor enforce policy. The presumption here is that everyone engaging in adult behavior is an adult. LL's concern is avoiding liability for illegal activity in SL. The behavior you describe, while potentially destructive, isn't illegal in RL, as far as I know. I think that makes it unlikely that LL will address it in SL. I certainly don't mean to condone the exploitation of one person by another, but it's done in countless ways in RL and here. SL addiction is, by definition, self destructive in any form, and needn't require others to participate. If you witness a breach of the LL TOS or Community Standards, file an Abuse Report. I'm saddened to hear you lost your best friend. I've watched friends spiral out of control here as well, for various reasons. I wished there was something I could do, but at the end of the day, we're all adults and responsible for our own behavior. Be the best friend you can be and respect people's right to screw up. Hugs, Maddy
  13. Well, I had no idea there was a drop down in the Edit window for "World, Local, Reference"! So thanks for bringing that to my addled attention, Lindal! I stumbled upon the stickiness of the local axis years ago and have been building the way I described ever since. Life was hell before I discovered that, I like to set stuff down at odd angles. ;-)
  14. kholek wrote: Thanks for your help Madeline. This is about as far as I got: string isTyping = "FALSE";string wasTyping = "FALSE";string owner;default{state_entry() { llSetTimerEvent(1); owner = llGetOwner(); }timer() { isTyping = (llGetAgentInfo(owner) & AGENT_TYPING); if isTyping = "TRUE" && wasTyping = "FALSE" { llPlaySound("my_sound", 1.0); wasTyping = "isTyping" } }} It says there is a syntax error at 14, 11, and I'm sure there are other little mistakes here and there too, but I tried. Right now the script doesn't do anything. Mind helping some more? There's a lot to LSL programming that we didn't explain, and you did a heck of a job turning my explanation into a script. Bravo! Here's my update, which compiled and worked fine... key owner;integer isTyping = FALSE;integer wasTyping = FALSE;default{ state_entry() { owner = llGetOwner(); llSetTimerEvent(1.0); } timer() { isTyping = llGetAgentInfo(owner) & AGENT_TYPING; llOwnerSay((string)isTyping); if (isTyping && !wasTyping) { llPlaySound("my_sound", 1.0); } wasTyping = isTyping; }} The variables "isTyping" and "wasTyping" must be integers, as they hold numeric values returned by llGetAgentInfo. TRUE and FALSE are constants known to the LSL compiler, and so are not quoted. I misled you a bit (my apologies!) by using them as I did. FALSE is just a name for zero, and TRUE is just another name for one. So at the top, you're setting isTyping and wasTyping to zero. The if() operator in LSL checks only to see if the result is zero(FALSE)... or not. Any number that is not zero is considered true in LSL. But there is only one number called TRUE and that's one. Yeah, it's nutty. So from here on, FALSE is zero, TRUE is one (and we won't talk about it again) and true (not all caps) is any number other than zero. Please note that from now on, true/True means anything that's not zero. TRUE means one. The function llGetAgenInfo(owner) returns a number that contains lots of information. Imagine getting a 32 digit number back from it, in which each digit means something. Now imagine that digit nine (from the right) is the typing digit, which will be one if you're typing, zero if not. But a number with one in the ninth digit looks like 100000000, which is huge! But more importantly, it's not zero, which means its... true!. Do you see the difference now between true and TRUE? Oh good! ;-) And to make life more complicated, llGetAgentInfo() can tell you about lots of other things the avatar may be doing, like running, flying, etc. Each of those things will appear in other digits of the number llGetAgentInfo() returns. We need a way to peer at only the AGENT_TYPING digit, otherwise if the avatar is doing almost anything, we're going to get a non-zero number, which is... true! That's not what we want. We only want to know about typing. And that's what "& AGENT_TYPING" does. It effectively masks away all the digits except the AGENT_TYPING digit. And because we're in computerland here, the digits we're talking about are actually bits, and have the value of only zero or one, not the zero through nine of our familar decimal system. Have I confused you enough yet? Okay, so now isTyping = llGetAgentInfo(owner) & AGENT_TYPING; Plucks only the AGENT_TYPING digit from llGetAgentInfo(). That digit will be either zero or one, but remember it's the ninth digit of a big number. And in binary, two to the ninth power (the value of the ninth digit) is... 512! So if you're typing "isTyping" will be 512(true), otherwise it'll be zero (FALSE). Still with me? Okay, now let's look at the magic of the if() statement... if (isTyping && !wasTyping) Remember we decided that typing has started if the user isTyping but not wasTyping. (Weird wording, but this is computerese). The ! symbol is LSL's "logical not" operator. If the thing after it is zero(FALSE), it will return one(which is both true and TRUE!). If the number after ! is non-zero (true) it will return zero (FALSE). And the && operator treats the things on either side of it as either true or FALSE, and only returns TRUE if both are true. Again, watch for the difference between true and TRUE. And finally, the if() operator only fires if the stuff inside the parenthesis is true (not zero). So now we can read that if statement in English as... if isTyping is true AND wasTyping is NOT true, do something. If I haven't confused the hell out of you, you're a genius! ETA: we could also have written the if() as if (isTyping != FALSE && wasTyping == FALSE) Again, you don't see me using TRUE because that's the number one, and there are a lot more numbers that are "true" by virtue of not being zero (FALSE). != reads as "is not equal to" and "==" reads as "is equal to". If you continue to script in the future, pay careful attention to "==" and "=". "=" means "make equal to", which causes the variable on the left side of it to take on the value of the thing to the right. "==" just compares two things and tells you if they are equal (TRUE) or not (FALSE). Did you notice that I used TRUE there!!! Comparisons can only produce true/false results. By convention, if a comparison is false, it returns zero(FALSE). And, if the comparison is true, it returns one(TRUE!). Do you see why computer people appear so weird?
  15. Hi AuraHazel, The painted on undies are part of the default modesty skins for new avatars. If you're an adult, you're allowed to wear full nude skins. You might find one in the Library folder at the bottom of your Inventory list, under "Girl Next Door". Otherwise you'll have to visit the marketplace or in-world shops to locate a new skin. There are plenty of free ones to choose from. Good luck!
  16. Summer, I've never seen Mac OS itself crash as a result of running any SL viewer. If the viewer itself was crashing, I'd completely agree with Sven and Lindal about GPU loading being the issue. Mac OS will trottle back the graphics processor when it starts to heat up. At some point the throttle is pulled back so far that the viewer crashes. Other programs are not as temperamental, and keep running. If you really are seeing Mac OS crash, I'm at a loss to explain the problem. But, on the off chance it is a temperature issue, try scaling back your draw distance and setting your graphics quality to "low" or "mid" to see if the crashing stops. If it does, it may be time to blow out the dust bunnies, or live with the lower settings. Good luck!
  17. Hi kholek, You only need the timer to periodically check if the person is typing. But what you really want to know is when they start typing, right? The start or end of a thing is marked by a change. To detect a change in something over time, you must keep track of two times... was and is, and look for a difference. If the user was not typing the last time you checked, but is now, then they just started typing and you'll want to play your sound. If the user is not typing when the timer checks, you'll do nothing, and it doesn't make any difference what the user was doing the last time you checked. So now you've got your test for firing the sound. If the user is typing, but was not typing, play the sound, else do nothing. There's your logic, but now we have to keep track of is and was. The is part is easy, it's reported by "(llGetAgentInfo(llGetOwner()) & AGENT_TYPING)". That statement is either TRUE or FALSE. Let's create a variable called isTyping to keep track of that. So your sensing statement now becomes "isTyping = (llGetAgentInfo(llGetOwner()) & AGENT_TYPING)". But how do you know what the user was doing the last time you checked? Create a variable called wasTyping. At the very end of the timer routine, set it the same as isTyping. What the user is doing now will be what the user was doing the next time the timer fires. Make sense? At the very beginning of your script, before the timer fires for the first time, you've no idea if the user isTyping or wasTyping, so you've got to guess. I'd guess FALSE, and initialize both variables accordingly. So, here's a sketch of what you want. Like Rolig, I'm not giving you the entire answer because we both want you to join us in the ranks of those who have written a script on their own. We're happy to help, as the rewards of learning to script are many. Declare two variables, isTyping and wasTyping and make them both FALSE Make an owner variable to hold the identify of the owner, so you don't have to ask everytime the timer fires state_entry(){ Start your timer. 0.2 seconds might be a little fast. Try something like one second and see how that works for you. Set your owner variable equal to llSetOwner(). Now you can use the value of owner in your timer event rather than calling the time consuming llGetOwner function over and over again. } end of state_entry timer(){ set isTyping equal the result of your original test using llGetAgentInfo, but using your owner variable in place of llGetOwner() if( isTyping is TRUE and wasTyping is FALSE) { The user has started typing, play your sound. } You don't need an "else" statement because there's nothing to do if the user is not typing. And finally. Make wasTyping equal to isTyping } end of timer Rolig's method is logically identical to mine, although approached in a slightly different way. I come from a backgrond of signal processing, where time is an integral part of my way of thinking about the world. Good luck, and most importantly... have fun!
  18. Hi JR, Deleting things is a two step process. When you select "Delete", the items are placed in the trash, after which you must select "Empty Trash". If you took both those steps, I don't think there's anything you can do. If you took only the first one, just retrieve all your things from Trash. I think there's a "Put Back" selection if you right click. Just be sure not to select "Empty Trash"! Good luck!
  19. Maci Meriman wrote: If so, how? Hi Maci, You'd have to rez a cube, drag your pic to one face of it, then take a snaphot and "Post to My Profile Feed" as you usually do. It's tedious, but I know of no other way.
  20. Hi Summer, There's a "Saved Application State" folder in your Mac's Library that may contain a file that was corrupted when the viewer crashed. Deleting the folder may get you going again. Here's how to do that... Hold down the option key and select the "Go" menu from Finder. You'll see "Library" in the menu, select it. Now, find the "Saved Application State" folder and open it. If you are running the standard SL viewer, look for a folder called "com.secondlife.indra.viewer.savedState" and toss it into the trash. If you are running FIrestorm or another third party viewer, look for a folder containing the viewer name and trash it. Cross your fingers and relaunch the viewer. If that still doesn't do it, you may have to do a clean install. Instructions for doing that can be found here... http://community.secondlife.com/t5/English-Knowledge-Base/How-to-uninstall-and-reinstall-Second-Life/ta-p/1375231 Good luck!
  21. Hi Bestat, If she hasn't already tried it, have your friend TP to the offending sim, then select "Me->Movement->Stop Animating Me". In Firestorm, I think it's "Avatar->Health->Stop Avatar Animations and Revoke Permissions". That should disable any scripts owned by others that once got permission to animate her avatar. If that doesn't work, then your friend has somehow left behind a scripted object of her own that's requesting and getting animation permissions. You can't revoke permissions from an object of your own that got permission at some previous time. Have her go to the offending sim and select "Build->Pathfinding->Linksets". Any object she owns that is rezzed on that sim will appear in a list. She may need to click the "Owner" column header to get the list to sort so she can easily find her object. Once she's found it, she should select it and "Return" it. She may have to "Teleport me to it" to get close enough to do that. Good luck!
  22. Qie Niangao wrote: Cincia Singh wrote: Have you upgraded from your 14.4k modem yet? :smileywink: Modem !?! We dialed-up and whistled! I learned how to dial by tapping the switchhook quickly. A pay phone with a jammed or missing faceplate was no hindrance for me. Unfortunately, the missing handset was. And I remember whistling into the phone to test my first modem, which was hand-built according to plans from the local computer club. 300 baud!
×
×
  • Create New...