Jump to content

Wulfie Reanimator

Resident
  • Posts

    5,816
  • Joined

Everything posted by Wulfie Reanimator

  1. I guess you could do... llSay(0, "[http://maps.secondlife.com/secondlife/Help%20Island%20Public/181/197/23 http://maps.secondlife.com/secondlife/Help%20Island%20Public/181/197/23]"); It would be clickable, but it would also display the full link. Essentially it uses the fact that you can create "named links," for example: [google.com Google!] would become Google!
  2. I didn't dispute anything you said, don't be so combative.
  3. Noooo. There's a way easier way! Import the texture into SL as a local texture. Open the texture file with Gimp. Edit the file, and save to override the original file. You will see the texture update in SL within seconds.
  4. You can set up a business page without any kind of verification process. https://www.facebook.com/business/pages/set-up But a "business page" isn't a profile. That page is connected to someone's account.
  5. You would have to break up the data into multiple lines. You can't read the first 255 characters and then the next 255 characters. You can only read the first 255 characters, because anything beyond 255 in a notecard doesn't exist for scripts.
  6. Detecting a copybot viewer is also basically impossible. The official viewer is open-source. That means anybody can take that code, modify any (or no) part of it, and use it as their own little viewer. It's how Firestorm, Catznip, Black Dragon, etc. exist. Officially speaking, third-party viewers must self-identify themselves and cannot pretend to be any other viewer. Every viewer has a little "title" that they announce to LL's servers when they connect. It's a simple bit of plain text and there's nothing preventing a malicious viewer from claiming to be the latest release of Firestorm. LL can't truly verify it, especially if the homebrew is based on the latest version of Firestorm. There's just no practical solution, considering that even if you were to do a thorough verification of each viewer when they try to log in (like comparing the executable to some list of trusted viewers), you would basically lock out new viewers (and viewer updates) until they contact LL and get manually "whitelisted" to the "maybe legitimate" viewer list. Then there's the fact that a "summary" of a file can be faked, low upload speeds would hurt many SL users, and there are tools external to the viewer that can be used to steal content from SL (or any other game). Speaking of that TPV policy, I have no idea how much of it is actually enforcable, or how. I guess LL can ban the developers' SL accounts, or delist the viewer from the official TPV directory (if it even gets there or wants to be there)? Maybe a cease-and-desist letter, if they're in the US? Even if there was a way they could block a specific viewer from connecting, there's nothing stopping that viewer's developer from making a "new" viewer that's exactly the same, with only enough changes to make it "different enough" to bypass LL's viewer ban methods.
  7. Are you putting all of this on a single line on a notecard? Scripts can't read more than the first 255 bytes of a line. The "cut off" you're seeing isn't exactly at 255 characters, but it's very conveniently close, the discrepancy could be explained by the formatting...
  8. Think about Youtube, or Twitch (a streaming service). They don't go around hunting for IP violations, they sit on their hands until someone fires a DMCA. This is very much on purpose for a very good legal reason that enables them to exist at all. Youtube, Twitch, and Second Life rely on hosting user-created content, not something they curate or post themselves. This obviously opens them up to a lot of potential IP violations since anybody could upload anything. You can upload a full movie onto Youtube right now. You can upload 3D models from big games onto SL right now. Technically, the host is responsible for the IP violations, not the uploader, since it's being hosted on their servers. To make this business model feasible (since you can't possibly approve every upload individually or even automate the process), these companies are protected under Safe Harbor laws, which require that they in good faith try to remove violating content when they find out about it. This is where DMCAs come in. By filing a DMCA, you're claiming (under a penalty of perjury) that you are the actual owner of something, and it's being infringed upon. This is where Youtube/Twitch/LL are considered aware of the problem, and must remove the content. If they don't, they're literally taking personal responsibility for that content, and open themselves up for a lawsuit if they're mistaken. Anybody can make a false claim that something belongs to them and should be taken down because they say so. DMCA requires you to give out your legal info so the other person and you can have a chance of sorting it out, and for LL to have a paper trail in case you're filing false DMCAs. It's not perfect but it's a big deterrent to malicious behavior. If LL goes around removing and banning suspected copybotters / IP violators, what do you think happens when they make a mistake and ban a legitimate user? What if that seller uses SL for actual income, or even relies on it? That's another outrage and possible lawsuit. It's not about "their bottom line," it's about making sure SL can continue to exist as it does.
  9. llCSV2List will correctly parse a string like "value, <1,1,1>" in a way that keeps the vector intact. llParseString2List won't. I agree with Rolig that we need to see more code.
  10. More specifically to what Mollymews said, in your code: else if (~level & edge & CONTROL_ML_LBUTTON) This triggers every time ML_LBUTTON is released. Doesn't matter how long you (don't) hold it down. You basically need a little float to keep track of how long the button was held, and check that value on release. Or, you can use llResetTime on press and llGetTime on release.
  11. Because one person can have multiple accounts, the source files can be shared by the original creator outside of SL, etc. LL can't guarantee that something is/isn't an illegal copy. It's literally not LL's job to spend the time making those decisions, since they operate under Safe Harbor. They will only take action when a DMCA is filed.
  12. Some people love derendering clothes on people and taking pictures / jerking in the distance. Meanwhile I like using alphas to leave out all the fun bits.
  13. There are two easy explanations for why you might appear naked to this individual, assuming your clothes are mesh (3D, not clothing layers). 1. You've attached your clothing to your HUD. Your HUD is only visible to you, even if your clothes appear to be worn around your body. 2. That person went out of their way to derender your clothes, and is messing with you by telling you that you have no clothes on. They might even show screenshots, which are a lie.
  14. default { touch_start(integer total_number) { integer count = llGetInventoryNumber(INVENTORY_OBJECT); integer item; while (item < count) { string name = llGetInventoryName(INVENTORY_OBJECT, item); integer length = llStringLength(name); if (length > 12) { llOwnerSay("\"" + name + "\" is too long."); } ++item; } } } [06:21:06] Inventory: "This name is probably too long and shouldn't exist" is too long. Thankfully it doesn't seem possible to put multi-byte characters into object names, so you don't have to handle weird characters (which could be done with llEscapeURL).
  15. Paranoia and/or control-freaks. Anything that someone might be able to do to steal, break, change, or re-purpose the product must be prevented or strictly controlled. It doesn't protect the product from being stolen.
  16. There's no way for objects to take other objects into their contents. There's also no way for objects to move other objects. Objects can only move themselves.
  17. Wulfie Reanimator

    BOM

    BOM stands for "Bakes On Mesh." Bakes are the textures used by the system (LL) avatar. BOM allows your mesh attachments (usually body-parts) to use the same textures. When an attachment is using BOM, the appropriate section of the system avatar will vanish, so you shouldn't use full-body alphas or you'll end up having no body at all. Essentially, this allows you to use skins, tattoos, and regular clothing layers on your mesh body without needing any appliers. All of your body textures will also combine into fewer textures, making your avatar easier to render, and making SL run a little better.
  18. I didn't know about this and it seems like something a few creator friends of mine might want to know about... Also, that's a very pretty object. Edit: For what it's worth, I wasn't able to reproduce this with Blender. (I used a cube with a slightly-concave side.) Whether or not the object was scaled or not, the normals would always show identical.
  19. The fact is that you're being harassed. He is hurting your feelings to the point of driving you out of your favorite spot and making you block him. Let him know you're not interested, and want him to stop. Just because you strip doesn't mean you want to bang whatever random dude asks for it. If he feels hurt by that, assuming you don't go nuclear on him, that's not your responsibility.
  20. I mean it's pretty logical, right? If you have a way to get the other object's UUID, you can use that same method to get further data from that object (such as URL in description/hovertext, or even llEmail for first contact.) In practice though, there isn't a way for one object to discover the UUID of another, unless it's in a connected sim. The only way you could discover UUIDs from disconnected sims is by hand or an external server.
  21. AWS offers free database services. I haven't gotten around to trying it yet but it sounds like a super good offer. I doubt anybody in SL is going to reach its limits. 750 hours per month of database usage 20 GB of database storage 20 GB of database backups or 25 GB of database storage 25 "units of write capacity" 25 "units of read capacity" (Enough for 200 million requests per month.)
  22. If you have a way to know the UUID of both objects, you have a way to know the URL (from llRequestURL) of both objects. In that case, you can use llHTTPRequest to talk directly between the objects, since you can make the request with the other object's URL. But, URLs are even more fragile than object UUIDs, so without a way to automatically republish the URLs of at least one of the objects to some fixed, external-to-SL location (or Experience), your communication will inevitably break if both objects lose their URLs at the same time. (Such as when the grid goes down, or a rolling restart gets both of them.) Edit: And yes, grid-wide access to the Experience database would be more than enough for me. It would solve so many problems and remove the hassle of setting up external services.
  23. For context: I don't know if my function can be made any more efficient, short of maybe replacing the LL functions with "manual math." It works as long as the center of the target is inside the cone. For cases where an object is partially inside the cone, without the center being in the cone, there would always need to be at least one (or multiple) raycasts inside of the cone, such as finding the closest edge within the cone and firing a ray along it, in hopes that it can still hit the target. But that would be unreliable as you could no longer assume that "if nothing is hit, there must've been line of sight." The ray would have to actually hit the target, which creates some caveats like moving targets and weirdly-shaped targets. (Imagine trying to hit the center an L-shaped target.) You would also have to discard the arc and range checks, since the target's center could be just outside the range of the cone, but still extend into range. I think this would sacrifice performance in cases where the target is nowhere near the cone.
  24. Just because you can still find download links for it doesn't mean it isn't dead/abandoned. I would much rather direct people towards mobile solutions that are in active development.
  25. I'm 99.9% sure there's nothing about virtual worlds that would make them "illegal" for underage people. It probably comes down to the user-generated nature which allows for largely unregulatable content. Anybody can waltz into a PG sim and throw hardcore porn on the screen. Also the whole "real money economy" and gambling sims. Which MMOs are you talking about by the way? Lumiya is old, dead, and buried. Just use SpeedLight as a better example. Buzzwords buzzwords buzzwords, definitely looks like a scam.
×
×
  • Create New...