Jump to content

Wulfie Reanimator

Resident
  • Posts

    5,816
  • Joined

Everything posted by Wulfie Reanimator

  1. The problem seems to be that the texture itself has an alpha channel (especially with 32bit TGA), so when the prim's alpha mode is set to "alpha blending," your viewer will not be able to order the surfaces correctly and you'll see other surfaces through it. Setting the alpha to 1 doesn't fix anything. Set it to zero, and change alpha blending to alpha masking.
  2. Oh! I didn't realize you were talking about clothes and furniture IRL. Even then you're probably not out of my budget but I've no interest in going that far.
  3. Never mind that, it's not relevant now that I know the other script is in the same object.
  4. If I understood correctly, you have another script that is activated by "!shoot" on channel 0 and it doesn't activate when your scripted object says it? Then the other script is checking that it's only the avatar speaking and nothing else. The only way for a script to make your avatar talk is through a dialog menu. If you give the dialog on channel 0, your avatar will say "!shoot" in local chat. Your avatar will also say any other button in local too, though. I would recommend a gesture instead, so you can press a button to automatically say the command.
  5. Are you using the latest version of the head? The latest version should set the head's alpha mode properly to prevent mistakes like this. You want alpha masking for the skin/mouth, not blending.
  6. The article you cited clearly says 20 cents without a plan, not "several dollars." It's still overpriced but the margin of error rivals the estimated mark-up rate. You get a weekly stipend of lindens, 1024sqm of land, increased groups, priority entry, etc. If you buy a year's worth of Premium, you pay $6 per month and get 1200L per month. Buying 1200L through LindeX is currently estimated to cost $6.29. So you'd actually get more lindens through Premium than buying it directly, and we're not even considering the free land tier or the other subjective value of extra groups and other benefits. This is way besides the point though. I like your unique style and would totally donate some for your budget. Let me know if that's okay. As for the topic itself.. I value my avatars differently. I have my "main avatar" that's my ideal representation of me and how I want to be seen, but I don't admire it because it's "just me." I also have avatars I don't really care about because I've just made to be used around people and places with different rules and sensibilities. But I've also made avatars which are based on my preferences for other people. These are the ones I tend to admire (as in, look at and adore or swoon over) assuming I haven't scrapped and forgotten about it. I don't think of these avatars as me or representing me, so the detached mentality allows me to do it without feeling egotistic. This also applies to basically all of my avatars on alts.
  7. I'm not sure if that's the right word, but I think I get what you mean. Scripts will lag occasionally which will noticeably stop the opening, but you can't prevent that. That's called "interpolation" and it's done by your viewer, not LSL. There is no way to make that happen over a longer period of time.
  8. The way menus work is that they give the user's viewer a channel (the menu's channel), and when you click a button, your viewer will say the button name on the given channel. So, for the script to know which button was clicked and what to do with that button, it needs to be listening on the menu channel and do things based on which message (button name) it heard. Since clicking on a button closes the menu and causes the avatar to speak on the menu channel, you can put an llDialog into the listen event, either before or after all of the if checks. This way the user will get a new menu every time they click a button.
  9. Have you tried just adding more steps (ns)?
  10. Now that you mention it, the wiki page was created and last updated in September 2008. Mono was only a month old back then. Don't use LSO though, Mono runs much faster regardless of code.
  11. I understand that, the wiki page says as much, but that still doesn't lower the total memory usage. That's not necessarily important though. When you decide to start compressing things, you are trading time for space -- you can't lower both at the same time. Which is more important? Reading a line has a forced sleep of 0.1 seconds, yes, but that doesn't go away due to "compressed data." What this does add is script-to-script communication (which isn't even close to instant) with the added compression process. Even if you hard-coded the values instead of reading from a script, I'm very skeptical about the "llLinkMessage + decompress + llLinkMessage" round-trip being less than just reading the line, especially enough for it to be worth the added complexity. I'd be genuinely curious to hear what you find out, let us know how you tested it too!
  12. Without going through the process of testing this (I assume you would do that yourself to see if it's viable for your uses) : This will not reduce load times. You are just adding more executable code to get the data you want. De/compression takes time. A notecard can hold 65536 bytes of data that has no impact on script memory usage (which also has the same 64KB limit). Storing compressed data into a notecard is unnecessary. You can always add another notecard. Storing compressed data within the script memory is the real use-case. (Especially in script-to-script communication.) But if you have the decompression code in the same script, you probably won't save as much as you think.
  13. If you know how to make something owner-only, it's essentially the exact same thing.. just without llGetOwner. key current_user = NULL_KEY; float timeout_seconds = 180.0; default { touch_start(integer n) { if(current_user) { // This object is currently being used by someone. } else { // No one is using this object yet, set the user. current_user = llDetectedKey(0); llSetTimerEvent(timeout_seconds); } } timer() { current_user = NULL_KEY; llSetTimerEvent(0); } } You didn't specify if the object should be "released" after a set amount of time, but that's one example. You can also use the llSetTimerEvent call again to refresh the timer whenever the user takes some kind of an action. Edit; I'm looks like everybody had a great timing!
  14. Here is the viewer/developer's official page/blog: https://niranv-sl.blogspot.com (Some screenshots might include nudity.) Here's the bitbucket/download page: https://bitbucket.org/NiranV/black-dragon-viewer/downloads/ Here's a particularly relevant blog post about the Poser: https://niranv-sl.blogspot.com/2018/06/black-dragon-64x-update-318.html (has a video demo) I should also warn you that the viewer is a bit unconventional as far as usability goes, so you should take a while to get used to the controls, interface, features, and such. Don't expect a "Firestorm with more stuff." Edit: Now that I'm reading the blog posts again to catch up, I think I was mistaken in saying that the animations could be exported. They can definitely be saved within the viewer, but I don't recall if there's an actual exporter or not.
  15. Having now read the CasperTech wiki.. 1. No one is keeping rent or land in your name, you were just added and removed as a subtenant. Subtenants aren't responsible for rent and don't get notifications, but they can be evicted and are evicted automatically with the primary tenant when the rent expires. 2. CasperTech is very widespread, so you might want to double-check what system your current landowners are using.
  16. Which you can't assume was intentional. Could be he doesn't even know there's another option, or what the difference is. Maybe be he forgot. Could be some other person who has access to the system and was told to remove the person and that person chose to give a notice to be safe. My point is, the story is incomplete and making assumptions usually just makes the situation worse (whether perceptually or through actions caused by those assumptions). For example if OP starts steering people away from the rentals because they were ""evicted"" from a non-existing parcel they didn't want to be in and didn't pay money for.
  17. So what probably happened is that he had already added you to the resident list as he was still trying to convince you, and when he gave up, he just removed you from the list. Literally as simple as that. It's a standard message from Casper, what do you think you've lost by getting "evicted" from a place you've never rented from anyway? So far this has been a very vague one-sided story. There could be all kinds of ways this might have gone. Maybe he liked you (hence offering to move in with him), or maybe he didn't mean specifically into his house. Maybe there was miscommunication or something you said that made him think you were considering the move or even agreed to it. You (or us) really shouldn't assume anything because it will just take us completely off-track from what originally went on.
  18. You will need to edit the script so thst it looks somewhere else for which folder name to use. That way you can set the script to no-modify but the customer will still be able to change the name. The simplest thing is to just have the folder name be the name of the object the script is in. Or the description. llGiveInventoryList( avatar, llGetObjectName(), items );
  19. Since this doesn't seem to have anything to do with scripting, your UUID is "86fc9b66-2d1f-407c-8085-56d87d6b0430", write it down on your phone or your SL profile's "Notes" section or something. You can view the notes tab of a profile at my.secondlife.com/firstname.lastname.
  20. Somehow no one's mentioned Black Dragon, THE most graphical viewer with its own built-in pose editor that is as accurate as an external pose editor unlike AnyPose which has preset animations. (Plus it can be used to create full animations, not just static poses.) It even has Bento bone support so you can create full expressions inworld.
  21. I have no idea what the problem might be, but is it just me or is there some visible texturing on the edges of the object? (Visible in the first screenshot.) It seems line the object is improperly mapped somehow. Have you tried other textures, not just the one you made? Also.. sorry to be that person but why such a dense mesh for such simple shapes? Surely you can shave off the majority of those loops?
  22. In that case it definitely seems to be just an arbitrary non-word chosen by Lowell Fitzgerald (the contributor of the examples) back in 2007, because there's nothing in those examples that would explain why that name is used for that. The most conventional variable name for a simple loop (especially an example of a loop) would be i. If we were to assume that it was an abbreviation for something (and by the way, almost any combination of letters is probably an abbreviation for something), like Open Loop Feedback, it would make sense in a very far-fetched way, as the term is used in the context of electrical systems. Trying to find "olf" used in any programming-related articles/posts/books comes up as a typo, like here.
  23. There's no way for us to guess what it means without seeing the context (code). It could be just a typo for "off."
  24. I dunno.. that script seems to have at least one major bug as far as I can tell. (On mobile so I can't test yet.) This is 100% wrong. If the list has 3 items, "([] != Lst)" is 1, and" -llGetListLength(Lst)" is -3. It NEEDS to be the llGetListLength version for the script to work, because the timer increments the value before checking if it's non-zero. Since the length was doubled, it's "18 - (time since reset - 18)" I'm not sure how that's supposed to adjust to time dilation as first it's 18-17 so the timer triggers in one second again.. where GetTime will be around one second again.
×
×
  • Create New...