Jump to content

Wulfie Reanimator

Resident
  • Posts

    5,738
  • Joined

Everything posted by Wulfie Reanimator

  1. 1. Get rid of that "state default;" line ASAP, that has to be some kind of heresy. 2. Remove the "llSetTimerEvent(0);" line, you don't need to stop the timer, it can just keep repeating. 3. Move the "if(current_speed < 1.0) llStopSound();" line past the closing curly brace under it and type an "else" at the beginning of the line. And it'll work. Edit; e.g. default { state_entry() { llSetTimerEvent(0.5); } timer() { float current_speed; current_speed = llVecMag(llGetVel()); if(current_speed > 1.0) { llLoopSound("horsegalloping",1.0); } else if(current_speed < 1.0) { llStopSound(); } } }
  2. Aren't chores supposed to be annoying? Seriously though, if you're required to wear a certain item to do the chores, have that item request the permissions and control the animations. When an attachment requests certain permissions (like animating), they are granted automatically without a prompt.
  3. I think I can kind of explain that in a semi-concise way. "llRotBetween returns a rotation that is the shortest rotation between the direction start and the direction end." "<1, 0, 0>" is just a forward vector. The "front face" in this context. "<vPosTarget.x, vPosTarget.y, pos.z>" is the target's position except on the same level as the child prim. (Child's height position.) This is important because you don't want the child prim to point up or down, only horizontally. "<vPosTarget.x, vPosTarget.y, pos.z> - pos" makes sure the position is relative to the targeting object. This is important because otherwise it would probably point in the wrong direction. llVecNorm just "normalizes" the relative offset so that the vector has "a total length of 1.0." Personally I haven't found this to ever be necessary but I guess it might prevent some math errors. Then you just apply the rotation given by llRotBetween, which will point the child's front face towards the relative direction of the target avatar.
  4. My mind = Obliterated Today I learned there are right-handed people actually using the arrow keys to move and unfamiliar with the WASD keys! (Off-topic I know, I'll go back to my corner.)
  5. Guys.. Floating point numbers don't work like that.. And "Halving the length of the meter" is a horrifying idea, even now we can already see rounding errors between 2000-4096 Z or beyond. <float, float, float> --- Things can exist between 0 and 1.
  6. People love environmental props, you'd probably do well with selling some of your models even without any scripting. From my experience, guns also sell pretty well, so that's another market but you would also need sound assets, animations, particle effects, and a scripter to put them all together. I might be interested in scripting some things on a case-by-case basis. I already have experience with scripting guns and structures / other 'ambient stuff' but I don't have my own store since almost all of my work has been for other people's products.
  7. You can absolutely do that. I can help you with that soon when I get home.
  8. I have a store on my alt/second main (just kinda happened) and I think I prefer it that way. I get the occasional question/request but I'm a little reclusive when it comes to strangers so I would rather not be bothered at all times. I have to ask from @Orwar though. Why two versions for materials instead of a script, especially if you're going to have a "scripted fatpack version" anyway? If you end up with 100+ versions of the same dress as a single product (I don't understand how since 6*4+6=30), you really need some reorganizing even if just for your customers' sake. Heck, IM me inworld and I'll help you.
  9. It's a matter of security, not just for your annoyance.
  10. I'm just guessing here but it sounds like the tail was Bento-rigged to one of the new bones that most animations won't use and just had good convincing animations made for it. Like Innula said, scripts alone can't achieve anything close to what you're describing.
  11. This might sound kinda weird initially, but learn how to read the wiki. I don't mean just knowing that it's there and looking at it, but try to understand what it means when a line says (for example): "Function: llMessageLinked( integer link, integer num, string str, key id );" Do you know how to actually use that without looking at an example? Do you know how to write that into a script without errors? (Even just without using any variables.) What does "integer link" need to be replaced by or what does that even mean? The wiki is a useful tool even for experienced scripters, but you need to know how to interpret and use it. P.S. That line shows you the name of the function (llMessageLinked) and the parameters it uses (In the parentheses). "integer link" is two-part. "integer" means that the first parameter has to be a value of the type integer. "link" is just an example name that describes what the integer is expected to represent. You may use either a literal integer, like 3, as the first parameter, or you can use any variable/expression (function/calculation of some kind) that is or returns a value of the type integer.
  12. No. They can get money from elsewhere/alts. The only logical reason for that would be to curb copybotters but it's way more anti-consumer than an effective deterrent.
  13. I can understand not wanting to clutter your script (even if I don't agree that having to be an issue), but even then, putting a script in each wheel is not justified. It's just bad practice using duplicate code in multiple places. No matter if it's 1 or 18 wheels, a single script should be all you'll ever need. Testing in a sandbox probably doesn't cover sim crossings either.
  14. @animats "This goes in each wheel." Why is that? Why can you not have each wheel handled by a single script? 1. Extra scripts are a major liability for sim crossings (and total script time in general), if you must have multiple there needs to be a way bigger reason than visual changes. 2. Wheels turn together, not individually. Multiple scripts means that when one lags, the other wheel still turns and it looks wonky to anyone looking, which might not be many anyway so the reason for multiple scripts is even smaller. 3. It's just easy to mirror the axis of rotation for both sides.
  15. And that's totally fine, it's your money after all. I'm just responding to Matty's question. Deleting something you've alreay paid for doesn't hurt the creator in any way either. That comment was just as an aside, I think it's probably AR-able, but I can totally see the user deliberately having it there just because of the reactions it creates so they can troll you harder.
  16. If the product is good, I don't care what the creator is like. That profile sounds like a meme though.
  17. This is pretty cool, when and how do you plan on sharing it? Also, it's probably worth pointing out that at least Firestorm has a particle editor built into the viewer that shows client-side (not visible to other viewers) real-time changes with accurate particle representation, and it can copy the particle script into your clipboard or put the script directly into the object. You could maybe look at Firestorm's source code to see how it is implemented. It can be accessed by selecting an object and going to Build > Object > Edit Particles
  18. I'm not very experienced in this field, but this should point you in the right-ish direction: http://wiki.secondlife.com/wiki/LlRequestURL
  19. This was pretty good. I think you should calm down just a notch though, the tone got pretty personally hostile.
  20. On state_entry: Use llListen on channel 17 On listen: Use llSetRegionPos and the message that was heard, typecasted to vector. You might want to store the me typecasted vector as a variable first and check if it's equal to ZERO_VECTOR. If it is, the script should return and do nothing instead of moving, because you'd end up in a bottom corner of the sim. That's the simplest way to do it, without any fancy effects since you didn't specify. I've bolded the words you should look into or ask about you're confused, unless you actually want someone else to write the script for you
  21. Just keep a global variable called user_selected_color or whatever, store the user's choice to it, and add that to all llSetPrimitiveParams. As a side note, I would highly recommend always using llSetLinkPrimitiveParamsFast instead. The other "set prim params" functions have a forced delay of 0.2 seconds. It probably isn't noticeable in a small object like this, but there's no reason to not use the Fast version.
  22. While LSL has llUnescapeURL, it does not support the "%u####" format, but there are some custom functions found in the notes of that wiki page. You would still have to manually parse the full_text string for each instance of "\u" and replace them with a Unicode character (using llSubStringIndex, llGetSubString, llDeleteSubString, llInsertString).
  23. I was being kind of facetious. Using an external server for something this simple should be overkill for something this simple, but there really doesn't seem to be other options since Twitter requires that amount of header data which can't be shortened in any way (as far as I can tell).
  24. Use an external server to receive just the tweet text you want to send from inworld, then have that server make the actual API call.
×
×
  • Create New...