Jump to content

Phate Shepherd

Resident
  • Posts

    198
  • Joined

  • Last visited

Everything posted by Phate Shepherd

  1. Have you tried plain http (not https) to verify server connectivity?
  2. I'm going to have to remember this... I never considered actually making wheels turn at a truly accurate speed.
  3. Be mindful to not use link number 1 for this on attached items. If I recall right, link 1 cant have its description or link name changed by a script while attached.
  4. One thing to be mindful of when doing resets on anything that is attached or sat on is to re-aquire run-time permissions like PERMISSION_ATTACH and PERMISSION_TRIGGER_ANIMATION after the reset if used. I quite often check in my state_entry event to see if the object is attached, and if it is, request PERMISSION_ATTACH again. This not only makes the item resettable while worn, but it lets you edit the script while worn, and not trigger permission errors when you issue a llDetachFromAvatar(). On the other hand, for items that use PERMISSION_TRIGGER_ANIMATION, I frequently reset the script when the avatar stands up, prepping it for the next person, rather than resetting it when they sit. As Rolig said, there is no one-size-fits-all approach to how a script starts up. There are so many little gotchas here and there, it can be a long time to instinctively know what will work best.
  5. The wiki example for llAvatarOnLinkSitTarget shows how to unseat anyone but the first to sit. http://wiki.secondlife.com/wiki/LlAvatarOnLinkSitTarget
  6. Mm, I'm sorry... I can't resist 😉 float rim = llSqrt(s.y * s.y); (Note: I would have to play endlessly with the formula until I got it right, so, I don't claim any mathematical high ground!)
  7. Should also be able to set it to group, with shared perms, to allow other group members to view/edit the contents of the box? Should be able to put them in a role that allows editing. Has been ages since I have set up roles though.
  8. Likely unrelated to the primary issue: secondsTillNextChange is defined in the timer event, and that will set it to zero. llSetTimerEvent(secondsTillNextChange) would shut off the timer.... doesn't explain the other behavior.
  9. It can be done, but dialog buttons don't display 12 characters every time. It depends on the individual character width. For Example, you might only be able to show 10 characters of "WWWWWWWWWWWW" but many more in a string full of "i" characters. Padding with a bunch of spaces, followed by a hidden message also forces the text in the buttons to be left justified instead of centered.
  10. I don't like to use buttons as a transmitter to another script. Much prefer to have the script that issues the dialog listen to the results, and, if needed, tell the remote listener what to do. Since the source script has all the info, it can decide what needs to be sent to the remote object using a different channel.
  11. Take a look at the wiki for llSetLinkMedia(); Media on a prim will let you view (almost) anything on a prim face that you can view on a web page. The problem is, many users may have media turned off in their viewers. You can put a placeholder image on the prim face that will show only if they have media on a prim turned off, and it can show them how to turn it back on. If I recall right, the checkbox next to the media slider in the Sounds preference panel has to be turned on. I can't recall for sure if any other options have to be on.
  12. AVSItter is very controllable.... https://avsitter.github.io/avsitter2_scripting.html
  13. Still, it might be worth suggesting in a jira entry to change the viewer source so that the temp name is something like "Script Name-UUID.lsl" instead of "sl_script_UUID.lsl" Maybe it was simply done out of concern for script names that have characters that are illegal in the 3 supported OSs, like : or / or ? or whatever.
  14. I wonder if the sort order issue is related to this bug: https://jira.secondlife.com/browse/BUG-228130
  15. What is your ultimate goal? Are you concerned about the .5 land impact of the display prims adding up, and need to get 16 characters on a prim vs 8?
  16. Hmm... I wonder if there are other shell variables other than %s that specifies different formats of the filename. Edit: Looking at the source, I didn't see other options (If I'm reading it right) https://vcs.firestormviewer.org/phoenix-firestorm-release/files/tip/indra/newview/llexternaleditor.cpp?at=tip
  17. I just realized something from dealing with a hosting company that had firewalled an SL simulator IP address: If the proxy pool is going to be on one server (or at least far fewer servers than there are simulators) doesn't that mean that if some griefer creates a DoS attack script, and an outside host firewalls the IP address of the proxy to mitigate the DoS attack, it could potentially kill http comms for an entire swath of regions to the hosting service instead of just a small number as it is now? Any merchant that uses the same hosting service would be SOL? Are we all going to have to find hosting companies that DO NOT UNDER ANY CIRCUMSTANCES firewall by ip only??? I'm worried that lower tiered hosting companies aren't going to bother with figuring out exactly what is going on, and simply end up firewalling all of the proxy IPs as the inbound DoS comes from a select few IPs. I hope, that as part of the proxy change, there is some beefed up outbound DoS attack detection. Possibly keeping a log of recent IP/FQDN requests, and if there is a sudden jump in requests to a common host, an alarm is set off. (Distributed account DoS attack). Obviously some learning would be needed... some site like casperdns.com is going to have millions of hits a day, but previous stats would tell the algorithm that is to be expected.
  18. I believe the attach even fires on detach. id will equal NULL_KEY. The problem is, the script is only given a small amount of time after detach to execute code. So if there is a lot of work to do, you might be better to fire off a message to some other object on the region to do the work. One annoying thing I ran into when doing this is the key of the source object (the one being detached) is no longer valid, so a receiver can't verify who sent the message with llGetOwnerKey(). The message itself needs to carry the owner info. You aren't guaranteed to get time, and if you use this feature, take into account that you should use this in your attach handler to properly detect a detach, and not code continuing to execute from the previous detach. if (id == NULL_KEY && llGetAttached() == 0) { safe to run detach code }
  19. I hear yah! BBEdit was even worse... it would open a separate instance for each click of Edit, but wouldn't open the file. TextEdit would just say the file had bad permissions. I hadn't tried Sublime.
  20. I goofed there.... I meant to say bitwise operations like | and & can only be performed on integer values. Since vectors are comprised of 3 floating point values, that means you can't use bitwise operators (not to be confused with logical operators like || and &&)
  21. I realize the OP and participants on this thread are on PCs, but if any Mac users come here, there is a trick to make it work. There is a bug in the way that Firestorm tries to open the temp .lsl file and the fix was found in a post from Kyle Linden on the jira: https://jira.secondlife.com/browse/BUG-227726 So, to use BBEdit as your external viewer, you manually put this into the external editor field of FS prefs or debug "External Editor" settings of the LL viewer: /usr/bin/open -a BBEdit.app %s There is a language file for BBEdit here: http://www.xmir.org/tech-talk/updated-lsl-language-module.html It is a little out of date, but it is easy to edit the .plist file and add in any missing LSL commands or constants.
  22. You are trying to use logical operations on a vector, which isn't valid. If I am guessing right, what would work for you is: if (llVecDist(Tpos, OP1) > .01 && llVecDist(Tpos, OP2) > .01) { } Basically that checks to see if Tpos and either one of the other vectors are very close.... you can adjust the .01 to vary HOW close they have to be to be a match. You could also use: if (Tpos != OP1 && Tpos != OP2) { } But, since vectors are floating point, you may encounter failures if they aren't EXACT matches, even when they should be considered matches. EDIT: I know I goofed calling them logical operators instead of bitwise.... corrected below.
  23. I wonder if they do, or have considered, hashing all the individual items on the asset servers, and removing duplicates.... pointing all the reference UUIDs to the same asset. Imagine haw many identical items there are with different UUIDs that could be dumped.
  24. For those googling in the future for the cause of http 502 errors in their scripts, it was finally determined to be a firewall issue at the hosting company. After they found and removed the IP address of that particular simulator from their firewall, the error went away. Many thanks to Maestro.
  25. That's the thing... it's been 5 days, and the TTL on the DNS records were set to an hour LONG before the change... and even if it was pointing to the old server, it is still up, so it would service the call. One of the people having the issue restarted their region and it went away. I've got a ticket open to have it checked out on the region Carbonara before it restarts and possibly fixes itself. There is something going on here that isn't DNS caching related. OHH, and another domain on the same server that hasn't changed in many years also gives the same 502 error on the troublesome regions.
×
×
  • Create New...