Jump to content

LoneWolfiNTj

Resident
  • Posts

    135
  • Joined

  • Last visited

Reputation

66 Excellent

Recent Profile Visitors

313 profile views
  1. I recently had just that experience: I clicked "subscribe" on some object, and I was immediately spammed with dozens of message daily both in Second Life and in my First Life emailbox. I tried blocking both the sending object and the owner of that object, but while that got rid of the SL messages, the FL messages continued. So I unblocked both, figured out where I'd gone to get subscribed, TPed back there, found the object I'd clicked, clicked it again, then clicked the "Unsubscribe" button that popped up. That got rid of both the SL and FL messages. That's probably the only good solution. Even contacting the owner of the object that's sending the messages may not help, unless they're technically-inclined, LSL-savvy, and willing to do surgery on their object to manually remove your name. More likely, they'd just tell you to buzz off, or cuss at you, or even try reporting you to Linden Labs for harassing them. 🙄 (While some people in SL are helpful, some, alas, are not.)
  2. Have you verified that after the target avatar gets ejected, that avatar is now in your ban list? If yes, it's probably a script somewhere that's doing it. If no, that's an even bigger mystery.
  3. I probably knew that at one time but I've forgotten. 🙂 I always do the initialization overtly, anyway, on the premise that source code is firstly for programmers themselves, and only secondly as something for computers to read. I like to be able to come back 5 years later and read a piece of code i wrote and say "Ya, I see what that does", rather than "What moron wrote this garbage??? Oh, wait, that was me." 🙂
  4. Come on over to my house. I'm chilling in my back yard. http://maps.secondlife.com/secondlife/Rancourt/116/213/39
  5. Nope, I read and understood everything. Yes, so I gathered. But I question the wisdom of using a "test" that's so vulnerable to corruption from outside sources. I mean, sure, if you want to debug every script on your parcel, plus the source code of the sim you're in, all at once, yes... but if you just want to debug the script you're currently working on, I suggest isolating communications as much as possible. If you don't like llDialog(), llRegionSayTo() is another good option. Heck, even the documentation for llSay() says "To avoid making your object spam its neighborhood, use llInstantMessage, llOwnerSay or llRegionSayTo". Something like this, perhaps: default { touch_start(integer num){ llSetTimerEvent(1); // scan } timer() { list lstAgents = llGetAgentList(AGENT_LIST_PARCEL, []); integer len = llGetListLength(lstAgents); key agent; integer i; for ( i = 0 ; i < len ; ++i ) { agent = llList2Key(lstAgents, i); if(agent != llGetOwner()){ llRegionSayTo(agent, -4826354, (string)agent); } } llSetTimerEvent(0); } } Then see if the bug persists. For that matter, your original version has a nasty bug in it that I just noticed: the "i" never gets initialized. Try initializing i to 0 in the for loop and see if that makes any difference at all. Probably not, but it often pays to fix little issues like that, because the can sometimes have surprising effects.
  6. Ok, I put my friend Eris in my "About Land / Access / Banned" list for 1 hour, and she received 3 messages very similar to what you described: system dialog bubbles first giving 15-second warning, then announcing ejection, and a chat message from "Second Life" saying "You are no longer allowed here and have been ejected.". (See images below.) So I have to concur with Fionalein that it's the sim itself sending those messages. But in your case, that means something added the avatar who got ejected to your ban list. Have you checked your ban list? Was it empty before the llSay() call? Was it non-empty after? If "yes" and "yes", then you have an interesting mystery on your hands. I don't think it's your script causing this issue; I think it's a script in some other object that's putting any avatar ids it hears on channel 0 in your parcel's ban list. I think it would have to be a script you wrote in an object you own on the same parcel, if I'm not mistaken. I suggest using "World / Area Search", set to "objects on this parcel only", then find and scrutinize every object, and see it you can find any old scripts that you've forgotten about that could be doing this. The only other option I can see is, it's a malfunction (either a bug in the code, or more likely just a temporary glitch) in the sim you're in. Try asking Second Life to reset that sim, and tell them why; I've had them oblige when asked nicely; then see if the problem goes away.
  7. Ok, I rezzed a new, clean tetrahedron on my back yard, created a new script, and put that code as its only contents. Then I borrowed a friend's account and TP'd his avatar to my backyard. I then touched the tetrahedron. It does broadcast a chat message to all nearby entities, yes. Three entities received it: Myself (i'm the guy with the suit & hat in the images below), my friend (Eris, she's the gal with the horns and wings), and a Data Logger object in my house. But Eris didn't get banned or ejected, nor did she receive any message directly from "Second Life". She did receive the chat message with her own id, and a little "i" bubble which, when she clicks on it, gives the identity of the object that sent the message. As you can see, broadcasting anything using llSay -- especially on channel 0! -- maximizes chance of external objects with scripts picking up the message and acting on it in unpredictable ways. For example, I never intended for object "Data Logger" to receive and react-to that message, but it did. That's why in my own security orb (it's actually a hot seller in the SL marketplace these days: "Convoluted Sentience Security Orb"), I use "llDialog" instead of "llSay", and I send the message only to the avatar I'm addressing (not to The World), and I use a channel number that's unique to each copy of my security orb (not channel 0). See here: // Warn: llDialog ( ava_key, "Sorry, " + ava_nam + ", but you've entered a private area, " + "and you must leave within " + (string)delay + " seconds " + "or you will be ejected from this parcel.", ["Close"], chn_wrn ); Whereas, with llSay and channel 0, unintended objects can receive and react-to the message. (See images below, showing both me and Eris receiving the message, and also showing my Data Logger responding to it, which was not intended.) So, in short, what I think is happening is, some object with a script is replying to your message. It may be on your land and you don't even know it. (Some objects can be buried underground like landmines; I've seen it.) But instead of trying to find the object that's reacting, I suggest just making the transmission a lot more focused and harder to intercept.
  8. To make that work, you'd need to get rid of the ".0" on the end of "IMPULSE": llApplyImpulse(<IMPULSE, 0, 0>, TRUE);
  9. Just a quick suggestion: For free scripts, go to Builder's Brewery and browse the "Free Scripts" stand. I suggest looking in the "Sit Scripts" barrel: http://maps.secondlife.com/secondlife/Builders Brewery/181/78/25 Or, to see what kind of scripts are in vehicles (which seems to be what you're asking about), go to SL Marketplace and get yourself a full-perms car and open its script and see what makes it tick. I haven't really built vehicles yet, so I don't have specific experience in that.
  10. I think I'll make a red-light Intruder Alert. Once I make it I'll post it to Marketplace and send you a link. I'm not sure about "beacon" in the sense of a vertical light column that penetrates all structures, nor do I know how to project beams of light (I know it can be done but I've never researched how; and that requires "Advanced Lighting Model", which can be laggy), but I can make a red cylinder that toggles from "dull red, normal brightness" to "bright red, full bright". I'll see if I can find a Star Trek "red alert" sound clip and attach it to the object as MOAP. And I've already designed a security orb (see the "Security Orb" listing in the "Convoluted Sentience" market), so I know how to scan for intruders (there are several methods, actually). May take a day or two though.
  11. Question: Is there any way to twist a single prim into a Mobius strip in Second Life?
  12. You can't. And you don't want to. And if you ever did, the event you're "waiting" for could no-longer happen! Don't "wait" for things in LSL. LSL is about "callbacks". "Gimme a call when you've got that done; I won't be waiting; I'll be busy doing other things." Exactly! That's why "waiting" doesn't work. (Well, you can wait in "timer", but then "timer" is stuck with whatever period you set for that wait, which may not be what other things need "timer" for. Best to save "timer" for things that actually do need to repeat at a fixed period indefinitely, such as a security orb scanning a house for intruders once per 2 seconds.) Instead of "waiting", when I need events A, B, C, D to happen in that order, I put the code that triggers B in the event-handler for A, the code that triggers C in the event handler for B, and the code that triggers D in the event handler for C. That not only forces the events to happen in order A->B->C->D, but it minimizes delay time between them. For example, say I want touching an object to launch a dialog box, but the dialog box needs data from a notecard. Then instead of having touch_end launch a dialog box directly, I'll do lin_num=0; queryid=llGetNotecardLine("card", lin_num); to get the first line of the notecard and trigger "dataserver". Then in dataserver, if we're not yet at end of file, I keep getting more notecard lines and appending them to a global list; if (EOF != next_line) {buttons += [next_line]; ++lin_num; queryid=llGetNotecardLine("card", lin_num);} Then when we are at end-of-file, I launch the dialog box: if (EOF==next_line){llListen(-743, "", "", ""); llDialogBox(-743, "Styles", buttons); Then when the user presses a button, that triggers a "listen" event which allows processing the choice the user made. In this case, events A->B->C->D are "someone touches object", "read data from notecard", "launch dialog box", and "press button". Event-handler-A triggers event B, event-handler-B triggers event C, and event C launches handler for event D : touch_end -> data_server -> llDialogBox -> listen. Basically, after the first few microseconds after an LSL script first starts, it spend all the rest of its time doing nothing and just waiting for events to occur. That's because you're sharing CPU time with every other user in that sim, so the language tries very hard to disallow you from hogging time. So after you've been doing LSL for a while, you'll get used to doing everything in event handlers and arranging events that need to happen in-order by having the event handlers trigger each other in the right order.
  13. Good idea. I'm about to add a line like that to my own radio scripts. (I'm in a mood for refactoring tonight, and there are some less-than-optimum things about my radio scripts that are nagging me, such as: they don't force user to wait until notecard is finished being read before user can launch menu; they don't check to see that all URLs start with "http" and all station names don't; they don't check to see that the Stations and URLs lists are the same length; they don't use channel numbers unique to each radio; etc.)
  14. Well, there are all degrees of modernity. If you mean "20th & 21st Century UK & US pop & rock", I, also, find those to be "not really my favorite genres". Oh, there are things in those genres I like, but very hit-and-miss. (How many times can one hear the same guitar chord progressions without getting bored?) However, there are many more kinds of "modern music". For some really interesting and eclectic "modern music", check out the "New Sounds" stream at "http://q2stream.wqxr.org/q2".
  15. You're quite welcome. I found those streams in various places: random parcels in SL where they were playing; radios on SL Marketplace; jukeboxes in bars; etc. About a third of them are from a single jukebox in Arthur's Bar in Bay City in NW Sansara at Truro (75, 148, 25). That's a great little place to hang out and listen to tunes on the jukebox, which is basically a parcel radio using llSetParcelMusicURL() to change the parcel's stream. But turn "media" sound off in your viewer or the sound from the TV interferes. The "Baroque 1" stream you cite, though, I found at "Church Of The Cannibal Christ" in Leonard's Field in Zindra. (You may wish to abstain if you're religious, though; it's highly... ummm... irreverent.)
×
×
  • Create New...