Jump to content

Wulfie Reanimator

Resident
  • Posts

    5,814
  • Joined

Everything posted by Wulfie Reanimator

  1. The neat thing about Second Life is that pretty much everything happens server-side. In simple terms, the viewer just displays the world as it is, having no control over its behavior. (That's why we call it a "viewer.") And so, because the world isn't dependent on the client implemention, it's relatively painless to use any game engine as a viewer. There's nothing to migrate. 🙂
  2. ...unless you are within the "banline area" and they are above it, or vice versa (if there weren't banlines).
  3. Here's code from an old project of mine, which does exactly that. rotation TurnTowards(vector pos) { vector this = llGetPos() + <0, 0, 1.06>; // Calculate the base (left/right rotation) vector direction = llVecNorm(pos - this); direction.z = 0; rotation final = llRotBetween(<1,0,0>, direction); // Calculate the turret (up/down rotation) float dist = llVecDist(<pos.x, pos.y, 0>, <this.x, this.y, 0>); rotation pitch = llRotBetween(<1,0,0>, llVecNorm(<dist, 0, pos.z - this.z>)); // Set both values llSetLinkPrimitiveParamsFast(2, [PRIM_ROTATION, final, PRIM_LINK_TARGET, 3, PRIM_ROTATION, pitch * final]); // This is used later for rezzing return pitch * final; }
  4. If you have multiple (separate) tenants living in a shared parcel, you have to monitor their prim usage somewhat manually. You'll need a script to check how many prims a person has in the parcel, then do something if they have too many. It's not possible to directly prevent a person from rezzing objects past a certain Land Impact, if the overall parcel still has space.
  5. LL does not display the listing date. There are ways to estimate it, but nothing absolute. For example, anyone could check the dates on reviews if there are any. Or you could check when the product images were uploaded to Marketplace. I've made a script that does this automatically and displays the oldest date.
  6. inb4 "crypto in SL????" ...anyway... It feels pretty nice that LL is shining the light on the more scary and underrated parts of SL content creation. 😋
  7. Oh, that I can see for sure. It becomes a kind of separate conversation, but maybe something like indexing 10K products of every category in addition to the overall 50K could help in that case. You may not be the best seller of Marketplace, but maybe you are the best seller of Residential Structures or Ground Vehicles. (The amount of products in a category quickly drops as you go to deeper levels, many don't even have 10K products and you don't want to recalculate the same product for every parent category. I work on a very big web store as my IRL job so I can imagine the work. 🙂)
  8. Disabling stores that aren't constantly putting out new products seems like a very bad idea. Not all stores list all their products on MP, or operate on a release schedule. Last thing Maitreya listed on MP was a BOM applier... isn't it over a year old? Edit: Oh god. I checked, the listing was made in 2019. I feel old. Some stores sell service-level products that are bought/supported for years, so they don't even need/plan to keep releasing new stuff. I wonder how long gaps CasperTech has had... Edit: I checked, the most recent product listing is from 2018. The top 50k thing isn't preferential treatment. If your sales volume isn't in the top 50k, you can't be a best seller, so you don't get a best seller score (which now breaks sorting in single-store view after the update). It's been just a performance thing, and they are working on fixing it so stores will sort best selling products properly.
  9. I agree that building/editing is dying, but I don't think that's because prim builds are getting removed from Marketplace.
  10. Practical question, can you get a redelivery for a product whose listing is removed? Should be easy to test. I'm 98% sure that an unlisted product can still be redelivered.
  11. The "carved out area" is transparent mesh. There's little you can do to fix it in the viewer while maintaining soft looking hair, so you will have to edit your photos after the image was taken. For example, take the photo without any depth of field effect and add that in a photo editor. You can take advantage of the "depth" type photo in the viewer, which you can use as a mask for adding depth of field to the actual photo.
  12. If you mean a text with a link, something like this, you need to write: [www.google.com something like this] Link first, then the text, all wrapped in square brackets.
  13. Flexi prims can only flop about while one end is static, meaning you can't really create a "rope" or anything that's connected at both ends with slack in the middle. That's why particles are often used for that effect.
  14. Correct on both! An alternative method is to use a while-loop, which is similar / maybe simpler: integer a = 0; integer b = 10; while (a < b) { llOwnerSay((string)a); ++a; } ...just don't forget to increment, otherwise you end up with a very spammy infinite loop. 🙂 The for-loop may be better for your own memory! You don't have to worry about arrays - LSL doesn't have any. How are you storing your strings currently? It could be very simple if it's all in one list, maybe you don't even need a loop if each line is its own variable (or there are only a few lines). If all your strings are in single list already, you could do something like... list lines; // Your strings are here. integer max = llGetListLength(lines); integer i = 0; // "i" is commonly used to "iterate" through a loop. while (i < max) { string text = llList2String(lines, i); // Pick one line from the list. llRegionSayTo(avatar, PUBLIC_CHANNEL, text); // Send it to an avatar. ++i; // Increment the variable by one, so the next line will be picked on the next iteration. } ...and just for completeness: // Set i to 0 before the loop starts. (This is kinda redundant in this case and could be left out.) // Before each iteration of the loop, check that i is less than list length. // After each iteration of the loop, increment i by 1. for (i = 0; i < max; ++i) { string text = llList2String(lines, i); llRegionSayTo(avatar, PUBLIC_CHANNEL, text); }
  15. I imagine that deleting the cache has very little to do with fixing the problem. Just relogging is probably enough!
  16. Without seeing the whole script (which you may not have permission to post since you didn't make it), it's hard to say what the problem is. Many gun scripts will hide parts of the gun during actions like reloading (like the magazine while it's detached), so it's probably expecting a specific link number to be some specific part of the gun.
  17. llRegionSayTo goes to a target key, using a specific channel. Both are required, hence "say to."
  18. Very strictly speaking, objects/scripts can't "touch" other scripts. Like Rolig kinda hinted at, the other objects need to expect that someone would like to open a menu through some other object, which requires a little bit of communication/cooperation from the two objects. Generally that means you won't be able to open a menu for an object you haven't created (or wasn't created with your script in mind). The concept is doable, just with some limits. 🙂
  19. It could be done, but that means someone has to actually do it instead of other things. And if you want it in the official Firestorm release (for example), someone has to accept the code once it's been done and donated.
  20. Practically speaking, I probably wouldn't like living in a world where anything I own could just *poof* out of existence, like a failed rez in SL or a sock in the drier in RL. And while it could be possible for LL to create a guaranteed "giveaway of no-transfer items" as some kind of option, we know that historically any game that allows this kind of trading has bugs that allow users duplicate those items by exploiting the system. 🙂
  21. The answer depends on whether you want the sounds to play all at once in sequence, or one sound per touch (in sequence), or a randomly chosen sound per touch. (Or something else!)
  22. You could reduce the maximum number of particles shown. The closest particles will be given priority. (As in, only the particle sources closest to you can show particles.) If you just want to get rid of the annoying particles, you have to find the source.
  23. Could it be related to the physics weight of the object? We know LL has restrictions on that in some cases, like physics weight over 32 can't become a Vehicle.
×
×
  • Create New...