Jump to content

Wulfie Reanimator

Resident
  • Posts

    5,738
  • Joined

Everything posted by Wulfie Reanimator

  1. I was thinking even more broadly, but I think the method you're showing there is more practical.
  2. It would also eliminate any need for massive if-trees. Since, if everything is in one list, and you already know which B and which C have been selected, you can immediately calculate the correct position in the main list without any if-checks, and get the right amount of data out.
  3. You could always just combine all of the lists into one and do the old XY index search (you have to treat the single list as if it was a two-dimensional array), assuming each C-level menu has the same amount of data. Like: // menu_length = the number of total indexes that belong to each C in B // data_length = the number of indexes that belong to C // bYcX = a stride of all relevant data for that specific C-level menu. list data = [b1c1, b1c2, b1c3... b2c1, b2c2, b3c3...]; // Get all of the data for numB, numC. (or Y, X, respectively.) list final_data = llList2List(data, (Y * menu_length) + (X * data_length), data_length);
  4. Welcome to LSL, where chaos reigns supreme. No lists within lists allowed.
  5. You can do the same effect with alpha-masked textures (so no slow blending), but the downside is still that people go overboard with the duplicate mesh.
  6. That's going to be a very complicated project and there's way too much information to cover since we don't know any of the specific details about the cards or the game. You might have more luck posting in the Wanted or Inworld Employment forum and have someone else script the project for you.
  7. It was a kind of an extension of the code you already had. You said you had managed to create remove the numbers from the ends of duplicate inventory items. So if you have those stored in one list, you can just keep going and convert that list to a "grouped list." Then, if you want to print the amounts one by one into chat, you can just ignore the part in my code that builds a single string. It's up to you to make whatever specific modifications you need.
  8. I wrote this off the top of my head but I can't get in-world right now to see if it even compiles. It's pretty straightforward logic, though. default { state_entry() { list inventory = ["apple", "pear", "apple", "orange", "apple", "pear"]; list counts = []; integer i = 0; while (i < llGetListLength(inventory)) { // For every item, see if this item is already accounted for. // "apple" or "Apple" or "APPLE" --> "apple x" string item = llToLower(llList2String(inventory, i++)) + " x"; integer index = llListFindList(counts, (list)item)); if (index == -1) { // Not already in the list, add a new one. counts += item; counts += 1; } else { // Increase the previous amount by one. integer amount = 1 + llList2Integer(counts, index+1); counts = llListReplaceList(counts, amount, index+1, index+1); } } // This SHOULD create a list in this format (in order of appearance): // ["apple x", 3, "pear x", 2, "orange x", 1] i = 0; string output = ""; while (i < llGetListLength(counts)) { output += llList2String(counts, i++); output += llList2Integer(counts, i++); if (i < llGetListLength(counts)) output += ", "; } // This SHOULD create a string in this format: // "apple x3, pear x2, orange x1" llOwnerSay(output); } }
  9. This isn't exactly true. If all the objects are the same size and in the same spot, they will all collide at the same time. This is because physics are not checked continuously (like IRL), but in intervals (physics FPS). So, the faster the object's velocity, the greater the distance each object can move into colliding objects before the sim realizes anything. (This is also why fast/small objects can pass through walls entirely with or without detecting a collision.) Kind of irrelevant to the topic, but anyway.
  10. This "let's line the area with vendor spots and put some in the middle as well to maximize the space" is not original. My friend built a mall exactly like this, minus the environmental details, on our sandbox sim back in 2012 or something. I'm sure we weren't the first geniuses either. The only specific copycat I can see is the landing area separated by water with bridges going over it, and the big billboard behind it, but those are not details you have any exclusive rights to, even if the other place used the exact same assets in the exact same places.
  11. No, you can't completely transfer ownership of an item while it's rezzed. There's complicated technical reasons for that. But there might be some workarounds, like having the object "customize itself" the first time it notices that its owner has changed, but obviously this requires that you are able to write the script in a way that can determine all the customizations automatically, which may not be practical or even possible. (Depends what those changes are based on.)
  12. I forgot that darn thing even exists... Overthinking = not thinking.
  13. Here's a working example. Root script: Note that I'm basically sending nothing -- zero, empty string, and NULL_KEY. This will still trigger the link_message event in every script. default { collision_start(integer n) { llMessageLinked(LINK_SET, 0, "", ""); } } Child prims: Note that there is no check for any conditions. If the link_message event is triggered, the particle will always play. default { link_message(integer sender, integer num, string str, key id) { llParticleSystem([ PSYS_SRC_PATTERN,PSYS_SRC_PATTERN_EXPLODE, PSYS_SRC_BURST_RADIUS,0, PSYS_SRC_ANGLE_BEGIN,0, PSYS_SRC_ANGLE_END,0, PSYS_SRC_TARGET_KEY,llGetKey(), PSYS_PART_START_COLOR,<1.000000,1.000000,1.000000>, PSYS_PART_END_COLOR,<1.000000,1.000000,1.000000>, PSYS_PART_START_ALPHA,1, PSYS_PART_END_ALPHA,1, PSYS_PART_START_GLOW,0, PSYS_PART_END_GLOW,0, PSYS_PART_BLEND_FUNC_SOURCE,PSYS_PART_BF_SOURCE_ALPHA, PSYS_PART_BLEND_FUNC_DEST,PSYS_PART_BF_ONE_MINUS_SOURCE_ALPHA, PSYS_PART_START_SCALE,<0.500000,0.500000,0.000000>, PSYS_PART_END_SCALE,<0.500000,0.500000,0.000000>, PSYS_SRC_TEXTURE,"", PSYS_SRC_MAX_AGE,0.5, PSYS_PART_MAX_AGE,1, PSYS_SRC_BURST_RATE,1, PSYS_SRC_BURST_PART_COUNT,15, PSYS_SRC_ACCEL,<0.000000,0.000000,0.000000>, PSYS_SRC_OMEGA,<0.000000,0.000000,0.000000>, PSYS_SRC_BURST_SPEED_MIN,2, PSYS_SRC_BURST_SPEED_MAX,2, PSYS_PART_FLAGS,0 ]); } }
  14. llPassCollisions would cause collisions with a child prim to be detected in the root, not the other way around. To do the reverse (root collides = all particles trigger), you could try changing all the scripts in the child prims to be triggered in a link_message event. To trigger this event, the root should use llMessageLinked on collision to send a message that only the linkset itself can hear. Hopefully that helps, I'm posting from mobile.
  15. It's not very clear if you need different particle effects or copies of the same one, and if you want to play them all at the same time or in different situations. If you want to play them all at the same time, you'll need to put each particle script in its own prim and link all of those prims together so you have a linkset of 5 (or how ever many). This is required because a single prim can only have one particle effect active at once. If you need multiple copies of the same effect, you should edit your effect instead, for example by increasing the "burst count."
  16. LL doesn't seem to keep particularly good/efficient track of which accounts do (or might) belong to which person. I base this on the data I was given through a GDPR request -- there was no "associated accounts" part, even though they kept complete logs of every IP I've ever had since I created my account and I have some accounts on the same email address. There are other ways they can find my other accounts, but it's all manual checking based on the previous account's info. Yeah because that's a really good and totally reasonable idea...
  17. Cafekan, can you please stop hijacking threads with irrelevant self-promotion?
  18. Only the IP holder can make an IP claim. Your best bet is to make the actual IP holder aware of this and let them make the decision.
  19. Can you make make a 9yo sign a release or did Alyona ask a parent? 🤔 (This is tongue-in-cheek and really not important.) That article doesn't specifically mention voice (I don't think voice is enough to cover an entire "persona/likeness") links to this page, which has a section on "identifiable voices," which seems to just regard imitating voices of celebrities, which nobody on SL probably is. I found this page though, which specifically explains that "the California statute covers only name, voice, signature, photograph, or likeness" but the link to a law source doesn't work. I tried going through that section myself but "voice" wasn't mentioned anywhere in §51 as far as I could tell. So maybe you're right, it would probably make the most sense at least.
  20. Two things that are different from this scenario: Nobody said the gestures are being sold. We don't know if that's the case. In your case, it's not your voice. It's someone else's voice that you recorded, and own the right to, supposedly. So, if a stranger records someone else (LissaJames), that stranger owns the right to that recording, and is free to even sell it according to your example. I don't necessarily agree with point 2 (and by extension your original point), but that was your example. Did the 9yo consent and understand that you were going to use their voice for profit? Do you pay them anything? Either you're correct which means that LissaJames has no recourse, or you shouldn't even be making money by selling something someone else created and you just recorded.
  21. I'm pretty sure speaking in public isn't protected by DMCA. There might be a case that could be considered as harassment, but that can be hard to prove if the gesture is something benign. As long as the claim is properly filled out, the items will be removed. Whether or not the claim is legitimate doesn't matter because LL wants to protect its safe-harbor status. After the original claim is filed, the person it's filed against has an opportunity to counter-claim.
  22. Probably nothing. Contact LL support and ask them.
  23. I understand that, but if you're looking for a custom script to fit your exact needs, you need to make a post in Wanted or Inworld Employment.
  24. Of course, because it isn't a complete script. You need to use it as an example and implement it into your own script, which you didn't include here. You can't just copy-paste my example.
×
×
  • Create New...