Jump to content


  • Content Count

  • Joined

  • Last visited

Everything posted by animats

  1. Right now, 3000-5000 scripts doing nothing can use up most of a region's script time. That's really a bug. At Server User Group, we're told that efforts are underway to reduce the overhead of idle scripts substantially. I hope LL succeeds at this. This problem wasn't fully realized until recently. Then some people found sims with no avis and nothing much going on in sim overload. Some others discovered that you can put an empty sandbox into script overload with a few thousand scripts that are sitting there doing nothing. This is getting attention from LL because it's a huge server load that costs them and benefits nobody. Discussed previously in another topic. So I'd suggest not putting massive efforts into removing idle scripts at this time.
  2. That's certainly the feeling I get from Server User Group. It's not like the few Lindens there are reporting the progress of large teams we never see. It's more like the few Lindens there are desperately working to keep it all going and improve it a little. I get the feeling that two or three of the Lindens do all the heavy lifting.
  3. I tend to think that's more confusing, as in "Where did the button go?" If it's already on, a marker is more appropriate. If you can't do it, say because you don't have permission, greyed out would be ideal, but we don't have that option. There, removal is a legit option. Pick a color. Any color. Deleting the current color here would be confusing. There are other Unicode tricks, such as "C̵a̵n̵n̵o̵t̵ ̵b̵e̵ ̵p̵u̵s̵h̵e̵d̵", well known to the people with excessively clever display names. Try not to overdo.
  4. Ah. Now I get it. (Someone coded a multiple choice "radio button" in a dialog box, but didn't do it very well. Useful Unicode symbols for dialog buttons: ☐ Ballot box ☑ Ballot box with check ☒ Ballot box with X • Bullet ⬤ Big bullet ○ Empty bullet You can use those in dialog button names to indicate the current state before the user clicks the button. If it's an on-off toggle, after the button name, use the empty ballot box for "off" and one of the other two options for "on". For a multiple choice, use "Big bullet" for the currently active option, and nothing or "empty bullet" for inactive. Since this is how dialog buttons work in just about everything else except Second Life, users will get this without explanation.) Like this. Any questions about how that works?
  5. Tried both buttons. (Why is there both a List and a View List button, anyway?) Same list. I tried adding a bogus name, and it won't let you do that - it checks that the name is a valid user name. So it's not a typo. I'll have to try again, now that we've both been offline.
  6. How does the Linden Home door access list work? I added someone, just using their name (that is, "username", not "username Resident"). The box accepted the name, it shows on the list of allowed users, but they still could not open doors. They don't have a separate display name; new user.
  7. It's not hard to do. Pull up to the dock rez area at, say, the Bellesaria Fairgrounds alone in a boat. Stand. Wait for 10 seconds.
  8. Need some nice way to get the boat into and out of the water.
  9. I pull the boat up to a public dock, stand, and start to walk onto the dock. The boat disappears before I'm on the dock. I fall into the water. No good. Parcel return time for Bellesaria water and shore areas is a bit aggressive at 1 minute. You don't even get a full minute. Sometimes as little as 5 seconds when exiting a boat. On mainland, you can usually park on roads or shores for 5 minutes. With 5 minutes, you could even launch and retrieve boats with a boat trailer.
  10. I've done some testing. List updates seem to be constant time up to length 128 or so. Then they slow down. Technically, O(1) to 128, then O(N).
  11. A real world note. I'm a horse owner, and I keep my horse at a barn which has a half dozen school ponies. For many years, the ponies always had many teenage girls riding them and fussing over them. But in the last two years, that's disappeared. The ponies are still there, and occasionally used for lessons, but they just don't get the attention they used to. I guess everyone is on their phone now.
  12. If there is, it should be called "Angst". ("Now, relive the misery of high school!" There was a game for that a decade ago, called "Bully".)
  13. This is why "sole discretion" terms of service are unacceptable for any business activity. DMCA notice and counternotice, fine. Maybe "babygirl" triggered some automated takedown.
  14. By the way, Realtor® is a trademark. Only members of the (US) National Association of Realtors can use it, and they are rather aggressive about enforcing that. "Real estate broker" is the generic term.
  15. Is that a LL thing? It's on some freebie Google system.
  16. I've thought of getting an alt, but mainly as a debug tool for when I need a second avatar to test something. I don't feel any need for an alternate identity.
  17. I went there to say goodbye. Walked around for an hour, looked into some vacant rentals, tried the sushi bar, flew around in a mini-helicopter and took video. I'll miss that place. But it just wasn't used much. I've never seen more than three people in its five sims.
  18. Here's a scan in both directions. This is vertical, in both directions. Ray cast in arrow dir from <195.04470, 16.08895, 35.56000> to <195.04470, 16.08895, 25.56000> Hit #0: <195.04470, 16.08895, 35.31000> Walkable rug Hit #1: <195.04470, 16.08895, 35.25266> Opulent Garage Hit #2: <195.04470, 16.08895, 35.15000> Stone floor Hit #3: <195.04470, 16.08895, 33.88510> Ground Upward ray cast from <195.04470, 16.08895, 0.00000> to <195.04470, 16.08895, 35.56000> Hit #0: <195.04470, 16.08895, 33.65000> Stone floor Hit #1: <195.04470, 16.08895, 33.88510> Ground Hit #2: <195.04470, 16.08895, 35.11000> Walkable rug Hit #3: <195.04470, 16.08895, 35.15014> Opulent Garage Hit #4: <195.04470, 16.08895, 35.30999> Cast ray tester 0.3 Cast ray tester. Going downward, there's a rug, the floor of "Opulent Garage", a stone ground slab, and Linden ground. The floor of "Opulent Garage" is thin (0.102m). The "walkable rug", added for pathfinding purposes, is 0.200 thick, because pathfinding does not reliably recognize walkables less than 0.200m thick. So here, the floor of "Opulent Garage" is totally inside the "Walkable rug". Which is why the cast ray hits "Walkable rug" before "Opulent Garage" in both directions. Similarly, "Stone floor" penetrates into Linden ground, so it gets detected before the ground surface in the upward scan. This gives a sense of why scanning in both directions is ambiguous.
  19. Already doing that. That's what produced the red section in my picture above. Works fine as long as the ray cast is started outside the obstacle. It's hard to guarantee that. Especially inside buildings.
  20. Not that helpful. I'm writing my own pathfinding system. New pathfinding system. First, it generates a path with llGetStaticPath. That's the straight green and red sections here. (Those colored lines are temporary prims; after about a minute they disappear, but they're around long enough for debugging and screenshots.) LlGetStaticPath will go around static obstacles and only put paths on walkable surfaces. It doesn't notice anything not in the static navmesh, and has no concept of vertical clearance, so it will go under tables and such. Then it scans forward and backwards from each llGetStaticPath waypoint, using llCastRay to detect obstacles. The red section has an obstacle. Then it runs a maze solver, which uses a grid of cells and works around moderate-sized obstacles, to get past the red section. Doing the whole path with a maze solver in LSL is too slow, but using one to get around obstacles works. Those are the yellow lines. Then there's some cleanup; shortcuts are tried and used to make the path not so rectangular. For this to work, the llGetStaticPath waypoints have to be in open space. Otherwise, the endpoints for the maze solver won't be clear and there's no way to get a valid path. Here's a hard case. Here's a path around a corner. LlGetStaticPath did that by itself. Then the path was checked with llCastRay calls, to catch any above-ground obstructions. Works fine. The translucent circles are LlGetStaticPath waypoints. But if there's an obstacle right at that corner, on top of a waypoint, it will fail. The maze solver needs free space on either side of the obstruction. If a waypoint is obstructed, I need to search along the path for open space for the start and end points. That's where finding open space reliably gets hard.
  21. Here's a surprisingly difficult problem - determining whether a volume in SL doesn't have anything in it. I'm doing path planning and need to know that. Out in the open, this is easy. Use llCastRay pointed downward and see that the first hit is the ground or a walkable surface. Indoors, though, it's hard. What llCastRay tells you is the first face of an object hit in the direction of the ray cast. If the ray cast starts inside an object, you don't detect that object. So if you ray cast from an arbitrary point, you can get a "no hits" result if the start of the ray cast is inside an object. The bigger the obstacle, the more likely you won't detect it. If you ray cast from known open space, you can reliably detect an object. So a chain of ray casts from a known good location can check that a path is clear. When an obstruction is found, though, it's hard to find the far side of the obstruction. Ray-casting in the backwards direction from past the obstacle only works if you know how far is "past". And just because you hit an object doesn't mean you're outside it. If it's convex, you can hit it anyway. Big problem with mesh buildings. llSensor doesn't help. That just senses the root location of an object, not its surface. Volume detect only works for moving objects, and you have to start from clear space. Reading object bounding boxes isn't helpful inside mesh buildings - you just get the entire building. Am I missing some simple trick, or is this going to take a lot of ray-casting and bookkeeping?
  22. Upload as JPEG. Smaller than PNG. Compress harder if you have to.
  23. For marketing reasons alone, SL needs a mobile client. A visual one, with the viewer hosted somewhere and a video stream sent to the client. Two way voice. Movement. But probably not much else - little that needs a keyboard.
  24. If you really wanted to do this right, you could use a scripted viewer to take pictures of the avi. Then feed the results to a classifier. Here's a thesis on the subject. Most of the code you need is open source.
  25. Donald Trump just tweeted on "tokens". "I am not a fan of Bitcoin and other Cryptocurrencies, which are not money, and whose value is highly volatile and based on thin air. Unregulated Crypto Assets can facilitate unlawful behavior, including drug trade and other illegal activity. Similarly, Facebook Libra’s “virtual currency” will have little standing or dependability. If Facebook and other companies want to become a bank, they must seek a new Banking Charter and become subject to all Banking Regulations, just like other Banks, both National and International. We have only one real currency in the USA, and it is stronger than ever, both dependable and reliable. It is by far the most dominant currency anywhere in the World, and it will always stay that way. It is called the United States Dollar!" With this, the SEC actions earlier this week, and reaction to Facebook's new money scheme, Linden Labs/Tilia picked a really bad time to issue an unregulated "token", claim it has no value, and then claim they have no responsibilities for customer assets. The cryptocurrency community has created too many "take the money and run" "coins", and the crackdown has come. LL / Tilia now needs expensive securities lawyers to figure out how to be compliant. The worse the user terms look, the more likely the SEC will consider it a scam.
  • Create New...