Welcome to the Second Life Forums Archive

These forums are CLOSED. Please visit the new forums HERE

Pasted over from Hotline to Linden as suggested (many ideas for SL!) w00t

Rayne Stormwind
FuNkY1.2xTrEmE
Join date: 9 Nov 2004
Posts: 44
03-30-2005 16:29
Previously had a post about partnered-land without needing a 3rd person, but here are some other ideas for SL:

- A refresh button inside the client, to refresh/reload the current area... helping to eliminate ghosts and/or re-rez the partially rezzed items that are blurred or unviewable (would be helpful at events where gamecards, signs that need to be clicked, etc don't show right).

- The ability to exit to login screen, instead of closing out the entire client.

- Option to mass copy/paste and/ior cut/paste inventory from objects (like a box) to main inventory and vice versa.

- Ability to wear/equip contents from a box/object. (Could slim down clothing folder with avatar "kits"; select "wear contents" on one object, and poof, full avatar... sort of like the ability to browse zip files as folders.)

- Script language (LSL) updating? For instance there's a "llAvatarOnSitTarget" but no "AvatarOnTouchTarget" etc. Not to mention the "Key2Name" but no "Name2Key" functions, etc, etc. (Also the ability to use comparisons such as "&" or "||" outside the parantheses in operand checks such as if, do, etc would better compensate those more familiar with other languages, example: "if (x != y) && (z == x) || (y == z)";)

- Priority flags on objects either set by users or by the server... gets a bit annoying trying to fly out of a telehub to come to a sudden stop and have an entire building rez around you, then have to find the way out to continue upon your journey. Could make outerwalls, telehub-local, etc higher priority and first-rezzed.

- Multi-function "Fly" button as "Fly/Swim", so if in water, insted of "flying through the depths, would instead swim", and/or a seperate swim button for this function.

- Ability in the IM section to type in an av name, or have a find name function right inside the IM tab... is a bit redundant to have to bring up find/people, and name search to IM someone when already inside the IM screen.

- Ability to add other people to currently open IMs, as well as mass-IMing without the use of folders... possibly ctrl+click to highlight the names you wish to IM, with the option that appears on mass-highlight of "IM with selected".

- Ability on land edit to create/raise a sea-level, or make water in the "Land" tab to go along with "smooth", "roughen" etc, which would allow for more "plush" and "realistic" lakes. Sort of the opposite of a hollow command, more a fill with water command... so if a person lowered a circular indentation in their land and "watered land" or whatever the option might be, would make a natural lake, instead of having to use mutilple prims with water textures, phantom tags, scripts for animating water and sound, etc.

- A Linden-run SL Bank (or Bank per sim, or built-in ATM at telehubs, etc). Would be more convenient to have a "savings" to stash $L into, rather than always having to have it on you. (Know from experience, in a casino or game area, would be easier to stick money away before hand, and spend what's on av, rather than trying to make a "cut off" point and forcing yourself to stop at that point... at least if it were in an ATM/Bank, an av would leave the casino, and while outside/ and traveling to it, have the time to get the casino out of their system, and more wisely decide if they really want to get/throw-away more money in casino, or shopping, etc.)

- Perhaps terrain types under land-edit... snow, grass, dirt, mountainous, hilly, swamp, water etc... so one sim isn't just one terrain type, can look more like realistic landscaping.

Think this is all my brain can muster for now, will post anymore idecent/good ideas I can come up with though.

B-)

PS - Yes, again this is a repeat of something I posted under "HotLine To Linden", was suggested by Robin Linden to post here. Cheers.
TwoPercent Milk
Homogenized
Join date: 12 Oct 2004
Posts: 9
03-31-2005 08:13
From: Rayne Stormwind
- Script language (LSL) updating? For instance there's a "llAvatarOnSitTarget" but no "AvatarOnTouchTarget" etc. Not to mention the "Key2Name" but no "Name2Key" functions, etc, etc. (Also the ability to use comparisons such as "&" or "||" outside the parantheses in operand checks such as if, do, etc would better compensate those more familiar with other languages, example: "if (x != y) && (z == x) || (y == z)";)

I don't think you'd need an "AvatarOnTouchTarget" because you can simply use the detected functions to see who is touching the object.

As for "Name2Key," it could be difficult to use. How many things named "Object" are there in the world? ;)

Everything else soulds good to me :D
Olmy Seraph
Valued Member
Join date: 1 Nov 2004
Posts: 502
03-31-2005 09:02
Welcome to SL. You're obviously enthusiastic about stuff, though you may want to spend some time reading the forums, especially the Feature Suggestions forum. Many of your ideas have been long requested or are already possible.

- Inventory has been bitched about for ages. 1.6 will address some issues with search and filter. We've asked for multiple item move over and over and over... Keep asking though, every bit helps! /stamp

- Ability to wear/equip contents from a box/object - I suspect this isn't possible with the current asset server (inventory). If you go into your inventory Library and wear an avatar (drag folder from inventory window onto your av's body), you'll see that it gets copied into your main inventory first and worn from there. Since we have folders in our inventory, I think that mass moves would solve this ok.

- LSL uses a C-like syntax, and so IF statements use the C syntax for conditional expressions: "if (test) ...", "for (a; b; c) ..." etc. Like it or hate it, this syntax is probably the most familar to any programmer. And llDetectedKey(n) will tell you which av touched an object. Check out the LSL wiki for more info on LSL and SL scripting: http://secondlife.com/badgeo/wakka.php?wakka=HomePage

- Priority rezzing of objects. This already happens to some extent, and yes it needs to be better. But if you fly around you'll notice that small objects at a distance aren't rendered. There have been several requests for this kind of rez sorting that I recall. /stamp

- Swimming - Nothing stopping you from creating an animation and scripting an attachment so that you appear to be swimming when you fly underwater. I'd be surprised if someone hasn't done this already. If not, here's your first business opportunity :-)

- IM improvements - /stamp! Also, add jabber gateway to allow IMs when you aren't in-world.

- L$ bank. If money burnign a hole in your av's pocket is an issue, you can create an alt av and use him to hold your money for you. Then you'd have to log in to the other av and have him send the money back to you befor you could lose it at tirngo or squander it on lucious bling. I use an alt as a banker for group funds, so I don't get confused.

- Water and terrain improvements would be awesome. I'd also like to see water levels at different heights so you could have mountain lakes, etc. You can create some effects with prim water, but you don't get the underwater murkiness that way. I think LL likes to withhold some terrain tools for private sim owners only, so it may be a while before we see custom textures for regular land.

See how much I can type when SL is down and I'm bored! Hahahahah!
_____________________
Some people are like Slinkies... not really good for anything, but they sure bring a smile to your face when you push them down the stairs.
Blue Stormwind
Second Life Resident
Join date: 9 Nov 2004
Posts: 4
04-01-2005 09:28
*** OOPS, just realized I'm on my other account, this is actually Rayne Stormwind, ROFLMAO. ***

Two Percent:

First of all... yes, you can use detected to find who's touching through a much more drawn out process rather than one global function that does it right away. (Compare a touch script ot a sit script and tell me which is actually easier to detect the trigger? And for that matter, why not just leave sitting at detected? Seems odd to have a specific function for sitting, and not for other common actions. I know if they had universal functions for common actions, it'd make scripting alot easier, and alot slimmer. I've written a few scripts where the detection alone takes a big chunk of the script, which could be nested down easily with one universal function. And the smaller the script, less loadtime on the client-side, and less side-effect lag on the server.)

Olmy:

Secondly... don't always have the most time in the world to browse the forums, so if any ideas have been suggested before, then I do apologize for that. However...

- As far as equipping a full av, etc from an objects I believe would be possible, instead of making things move to main inventory, make an invisible "cache" folder, and make a copy of the contents to cache, then equip. On removal, wipe that bit of cache. Walah. (It'd be housing the whole "put object out" and "place in folder" instead of the user doing it).

- As far as C-like syntax, I had to do my share of C Programming while taking Computer Science in college, and quite honestly, it doesn't remind me that much of C, sorry.

- As far as what you're referring to as priority already happening isn't priority, that's Distance of View (aka: DOV). When I say priority flags, the ability to tell or mark the walls of a building to rez before the floor, the ability to tell items right at a telehub to rez/render before anything else, the ability to have doors rez before stairs. Perhaps have a set priority value of 1-10 or 1-100. Things right near telehubs would take 1, doors 3, walls 5, floors 10, etc. Would help defeat how annoying it is to be flying along and come to a dead stop inside an invisible building.

- As far as swimming, excuse me, don't need a first business opportunity, already have a "business" setup in SL... modest, but like it that way. As far as "swimming', yes there are animations for it, and even scripts to make it seem realistic, but what I refer to is server-set physics for swimming. (Ever been in Active Worlds and seen the swimming in there? or played Morrowind... that kind of swimmin?) Figure a) would be better to have one global-server script running instead of user-side, as more scripts loaded from the user adds to lag of others depending. Not to mention, if set by the server, it's a true world constant as far as the physics go, rather than one script where you might still "seem" to be flying with your arms flapping about, another where you might "seem" to have partial swimming physics, but some screwy dance animation. And my quite frankly, my suggestions were to make SL a more realistic, more submersive, and more in-depth world... not business ventures.

- "- IM improvements - /stamp! Also, add jabber gateway to allow IMs when you aren't in-world."... can undersatnd what you're saying here to an extent, SL does store offline messages but only so many. Maybe instead of jabber gateway, leavable memos, with a "Mailbox" folder in inventory, with "Sent", Received" etc subfolders? To play devil's advocate, if you mean the ability to receive and see IMs outside of SL... that would be a griefer's dream come true. Alot of tiems rather than dealing with reporting a griefer, or standing around to see what happens, some log out. Can you imagine logging out, and still getting harassing messages? Not to mention, there are times when leaving for work, some close SL and have to get moving, and we all know there's the type out there that'll talk your ears blue until they fall off, and continue to message and message. Which is why I use messengers for that. If it's that urgent, they'll alt+tab into a messenger and leave me a note that I can get to later. :)

- As far as the Linden Bank, it's not just to prevent money-squandering, that was just one example. Linden Banks would also help savings... dunno about you but when I can stash it away and not see it, I don't spend it as often. Ever seen that beautiful piece of land for only 22,700L but don't have it? Wouldn't it be nice to see a nice piece of land, be able to check your bank funds, and then withdraw the money for it? It'd make land purchasing, as well as big-item purchasing more practicle. Be honest, if you had 200L on you, how tempted would you be to go shopping. Now ask yourself that question if you had 25,000-50,000L on you just sitting around? I know if I had the ladder, I'd be more apt to see something and go, "oh sure, I can get that", which tends to add up.

- As far as water levels, I also suggested that in my original post I believe with "sea levels". Would be great, however, they'd probably have to maybe dock water to each parcel, instead of as a whole. With the water as it is now, you raise sea level 20 meters or something, it's gonna' raise water in the entire sim I believe. But yes, water levels would be great for mountain lakes, and to add to the idea, a hole-digger. So instead of having to have your land plush and sink downhill into an indentation, have a straight hole going into the ground, would make for more realistic country-wells, caves, underground areas, even caves. Think about how much more building space could be had, or the things you could do if you could build under the ground and inside of it, instead of just on top of it? I've seen some parcels that are 8,192 meters, but half of it is crammed up on a hillside. (Volcano Lake, which is for sale, was one). Would be nice to get the full usage of the parcel, and beable to tunnel into that hillside. Another idea for hillsides and such, the ability to flatten into flat/level cliffs if possible.

:)
Rayne Stormwind
FuNkY1.2xTrEmE
Join date: 9 Nov 2004
Posts: 44
04-01-2005 10:12
BTW, another for instance on "detection" versus AvatarOnSitTarget():

Made a couch one time, with custom sit animations, used AvatarOnSitTarget():, got the av key for request animations, think just to be safe I have it sleep for 0.5 seconds to compensate for a little hiccup or two, and walah, the av sits right away, because the function delivers back the key for the llRequestPermissions.

Now, about a week ago, I've got a slideshow image display screen in my dance area with teh dancefloor. Wrote a script so when the screen is clicked, a dance animation starts, (worked in random animations later). Anyways, I'd click it, nothing would happen, when I used GetOwner it worked right away. Thought I'd scripted something in error and gave myself a headache figuring it out. Here's what I came to find. I wrote a little "llSay" using perms on GetPermissions when it was triggered. It'd report back 0, when I believe the value for requested animations in this instance is supposed to be 16. Came to find it's because "dectection" for the key, in the "requestpermissions" wasn't working fast enough, the requestpermissions would go without being able to find the key it's supposed to, and it'd fail silently. I found this out by using an llSleep to make the script wait to say permissions, after 3-10 seconds (depending on lag and what not), it'd say 16. So the fix? Nested the operation within a do { } while (perms != 0); which adds extra overhead, and depending on how bad the lag is, can take anywhere from 0-30 seconds. First nite I had it set up, brought some friends over and said, "click this, and click yes to the dialog and watch what happens"... 'nothing's happening" "what do you mean nothing's happening?". It'd be one thing if I could say someone else made it, but after saying, "hey, check this out, made it today", sorta' looked a bit foolish. Where with an AvatarOnTouchTarget, walah, there's the av's key from the start to play with, move around, assign, no need to wait for an added detection, not to mention the overhead of a do/while loop. I personally love the ability and power of a do/while loop or a for loop, but they're to be used with GREAT caution, if the exit check is scripted wrong or not met, you got a constant loop, which can flood you out in no time, if not crash things. Would hate to think of a newbie scripter out there, in a semi-populated sim on their parcel accidentally making such a goof. Not to mention, it is a bit confusing when going through the LSL tutorial, seeing, "when an av sits, we get their key by AvatarOnSitTarget" then see, "now with touch, it's not that easy... you have the touch_start which only returns the number of times touched, then to get stuff like the key or name, you have to use name, key, etc. Why isn't it working? Oh wait about 10 seconds".

Thought that might help clear up why I thought a universal function to return the key and such would be beneficial.

In all honesty, would be nice to see, sit, touch, etc functions returns values of key, name, message, and so forth, so the values can just be anchored upon and used. Would make things so much easier. For example: touch start(integer num_detected) { anim_target = id; person = name; } ...etc. Imagine how much more quickly you could get into scripting what needs to be done and not added overhead? Not to mention less script to have to compile between the client-side and server-side (causing a hair of lag), and then having that extra to run and check. :)
Torley Linden
Enlightenment!
Join date: 15 Sep 2004
Posts: 16,530
04-04-2005 03:44
Holy crap.

Rayne Stormwind, I dig your enthusiasm! :)

I like your ideas, and share a number of them personally . . .
_____________________
Strife Onizuka
Moonchild
Join date: 3 Mar 2004
Posts: 5,887
04-04-2005 04:53
Rayne: I don't think you are using the language properly. It sounds like you are not using the run_time_permissions event. I present what I enterpret as what you have done.

sounds like you have a scirpt writen something like this
CODE

default {
touch_start(integer num) {
llRequestPermissions(llDetectedKey(0), PERMISSION_TRIGGER_ANIMATION);
if(llGetPermissions() & PERMISSION_TRIGGER_ANIMATION) {
llStartAnimation("anim");
}
}
}

now your problem you "solved" by adding a sleep in
CODE

default {
touch_start(integer num) {
llRequestPermissions(llDetectedKey(0), PERMISSION_TRIGGER_ANIMATION);
llSleep(10);
if(llGetPermissions() & PERMISSION_TRIGGER_ANIMATION) {
llStartAnimation("anim");
}
}
}

your "solution" isn't right.

what you should be doing is
CODE

default {
touch_start(integer num) {
llRequestPermissions(llDetectedKey(0), PERMISSION_TRIGGER_ANIMATION);
}
run_time_permissions(integer perms) {
if(perms & PERMISSION_TRIGGER_ANIMATION && ZERO_VECTOR!=llGetAgentSize(llGetPermissionKey())) {
llStartAnimation("anim");
}
}
}
_____________________
Truth is a river that is always splitting up into arms that reunite. Islanded between the arms, the inhabitants argue for a lifetime as to which is the main river.
- Cyril Connolly

Without the political will to find common ground, the continual friction of tactic and counter tactic, only creates suspicion and hatred and vengeance, and perpetuates the cycle of violence.
- James Nachtwey
Dreamstalker Xevious
Registered User
Join date: 28 May 2004
Posts: 29
04-04-2005 10:19
From: Rayne Stormwind

- A refresh button inside the client, to refresh/reload the current area... helping to eliminate ghosts and/or re-rez the partially rezzed items that are blurred or unviewable (would be helpful at events where gamecards, signs that need to be clicked, etc don't show right).

- The ability to exit to login screen, instead of closing out the entire client.

Awesome ideas, agreed!

From: Rayne Stormwind

- Option to mass copy/paste and/ior cut/paste inventory from objects (like a box) to main inventory and vice versa.


If they would just let you use their inventory window like explorer, so you can mass select and move all at one time / copy / paste, etc. This would be great.

From: Rayne Stormwind

- Ability to wear/equip contents from a box/object. (Could slim down clothing folder with avatar "kits"; select "wear contents" on one object, and poof, full avatar... sort of like the ability to browse zip files as folders.)

Agreed!

From: Rayne Stormwind

- Script language (LSL) updating? For instance there's a "llAvatarOnSitTarget" but no "AvatarOnTouchTarget" etc. Not to mention the "Key2Name" but no "Name2Key" functions, etc, etc. (Also the ability to use comparisons such as "&" or "||" outside the parantheses in operand checks such as if, do, etc would better compensate those more familiar with other languages, example: "if (x != y) && (z == x) || (y == z)";)

I know there are some technical reasons why these are not implimented as such, TwoPercent touched on some of them. Although while I was learning LSL I was asking these same questions!!

From: Rayne Stormwind

- Priority flags on objects either set by users or by the server... gets a bit annoying trying to fly out of a telehub to come to a sudden stop and have an entire building rez around you, then have to find the way out to continue upon your journey. Could make outerwalls, telehub-local, etc higher priority and first-rezzed.

I dont like this one, imagine a store near a telehub turning their inner walls to "high" priority, and their outer walls to low priority so as to "trap" you in the building on purpose so you are forced to look at stuff. Good thinking out of the box here though.

From: Rayne Stormwind

- Multi-function "Fly" button as "Fly/Swim", so if in water, insted of "flying through the depths, would instead swim", and/or a seperate swim button for this function.

- Ability in the IM section to type in an av name, or have a find name function right inside the IM tab...

- Ability to add other people to currently open IMs, as well as mass-IMing without the use of folders...

- Ability on land edit to create/raise a sea-level

Also agreed with all those points!

From: Rayne Stormwind

- A Linden-run SL Bank (or Bank per sim, or built-in ATM at telehubs, etc). Would be more convenient to have a "savings" to stash $L into, rather than always having to have it on you.

Well if your going to do that, have someone open a bank, and use the money on a stock market inside the game to help raise funds to make other projects that work. Get some interest on your money? :-)

From: Rayne Stormwind

- Perhaps terrain types under land-edit... snow, grass, dirt, mountainous, hilly, swamp, water etc... so one sim isn't just one terrain type, can look more like realistic landscaping.

Here I am not sure about this, I would hate to have different terrain types in the same Sim, since it seems Sims are kind of "themed" to various types. Perhaps these tools could be there for people that own an entire Sim? I wouldnt want a snow to the south of me, a desert to my north, some mountainous and foresty to the east and to the west a swamp. Then what do I make my land? Its gonna look funky either way.
_____________________
- Come check out the Dream TV, it does short animated videos, long animated videos, also does photo display and slideshow all in one TV.

Just do a search in places for "Dream TV"! Look forward to seeing you there.
Strife Onizuka
Moonchild
Join date: 3 Mar 2004
Posts: 5,887
04-04-2005 12:06
From: Rayne Stormwind

Script language (LSL) updating? For instance there's a "llAvatarOnSitTarget" but no "AvatarOnTouchTarget" etc. Not to mention the "Key2Name" but no "Name2Key" functions, etc, etc. (Also the ability to use comparisons such as "&" or "||" outside the parantheses in operand checks such as if, do, etc would better compensate those more familiar with other languages, example: "if (x != y) && (z == x) || (y == z)";)


what is a touch target? what would llAvatarOnTouchTarget return?

you give the example:
if (x != y) && (z == x) || (y == z)

what is wronge with?
if ((x != y) && (z == x) || (y == z))
_____________________
Truth is a river that is always splitting up into arms that reunite. Islanded between the arms, the inhabitants argue for a lifetime as to which is the main river.
- Cyril Connolly

Without the political will to find common ground, the continual friction of tactic and counter tactic, only creates suspicion and hatred and vengeance, and perpetuates the cycle of violence.
- James Nachtwey
Rayne Stormwind
FuNkY1.2xTrEmE
Join date: 9 Nov 2004
Posts: 44
04-04-2005 12:40
Strife, I got it working, what I put up as an example was an off the top of my head example... which I typed out etc while still waking up. And OnTouchTarget would return the same as OnSitTarget... that av key, etc... rather than use detected. Cause as I pointed out above, the SitTarget returns the key rather quickly, where detection takes a bit longer, causing the need for a do/while loop to keep it going until it gets the permissions. Also no, didn't use a sleep in the display screen slideshow... I do in my couch but only by preference and it's for half a second... what I do in the display screen is use a do/while loop... which again is added overhead... it helps compensate for lag, because then no matter how lagged a person is, or how long it takes to detect from the server it continually checks until the permission is granted. Not to mention, and no disrespect to Linden Labs or LSL in saying this, most scripting and programming language tend to stick to similar formats in commands. Would make it easier to understand, remember, and what not; does get to be a pain having to stop and think, "okay, touching so have to detect" or "sitting... hrm, was that detect or did it have its own target command?", etc. Also, I'm finding while scripting a couple vehicles I'm making, detection can take a bit too long when trying to drive a vehicle initially... because when you initially try and drive something it has to initialize quite a bit, have alot of different variables set, in order, etc... a slight delay with one can flub up all the rest. (And would hate to think I had to have several do/while loops in a script... never know, especially with the bugs in 1.6, when you might have an occasional glitch in the program where the exiting condition is never met, then walah, stuck script... granted, can stop it from running, and/or reset it... just hate the idea of selling something to someone to find them upset because they feel I sold them a lemon, when it could just be a script glitch/issue. Thanks for the feedback though, the comparission part is true, guess I'll just put it all out the way I usually do in other scripting code, then surround with parantheses, etc. :D

And yes, I could just surround it all in parantheses I reckon... however, when tracing the script to check for errors or missed syntax, counting open and closed parantheses is easier the less you have and more organized they are hehe.

Thanx for the feedback Dreamstalker... yeah, priority flags set by the server may be better... but I can definitely see what you mean, could be a boggle there. As far as terrain types, yeah, sims are themed true... guess it does get a bit redundant just seeing hills, etc and having to make mountains, cliffs, etc out of prims, would be nice to truely terraform to an extent... especially the water effects... dunno... I could see water effects taking the value out of beachfront property some... but would be nice to hollow out caves, underground areas, make wells, etc. Also as far as different areas around you... obviously not make them sudden "borderline" changes... perhaps do subtle changes into certain areas... similar to how the "smooth land" effect works and makes it all plush and what not.

As fpr the bank, yeah, I've seen some people run banks in SL... problem is, I'd prefer to use a bank run by SL themselves... just something about trusting money in the hands of someone else in SL could be risky. Imagine the scams that could take place, and then having to be told, "well technically you did give them your money... use wiser discretion in the future...", granted the Lindens would probably crack the scammers, but what a hassle when trying to save up a nest-egg, etc. (Have seen some rather crooked groups in SL... those are bad enough rofl hehe)
Dreamstalker Xevious
Registered User
Join date: 28 May 2004
Posts: 29
04-04-2005 12:58
I definately loved the water effect you were talking about, I think that would be awesome. I can see how giving tools that would allow you to create a cave, or some other effect in your plot would be great as well.

What I didnt like was to change the theme (ground texture so to speak) although people can and have done that with prims, although its flat ground so usually done to provide streets or courts, etc.

About the banks, I was kind of thinking of linden doing it, and then guarentee'ing that so much of your money would be safe like current banks. But why would they give you a return on your dollar you put in the bank, when your paying to buy more of them. Doh! Bad idea for sure :-)
_____________________
- Come check out the Dream TV, it does short animated videos, long animated videos, also does photo display and slideshow all in one TV.

Just do a search in places for "Dream TV"! Look forward to seeing you there.
Rayne Stormwind
FuNkY1.2xTrEmE
Join date: 9 Nov 2004
Posts: 44
04-04-2005 13:03
LOL, good point on the return... for me I wasn't even thinking of any sort of interest (though, would be a good idea if it wasn't on the open gaming market... do interest like in NeoPets)... though, guess the "interest" is covered with allowance and dwell... I'd just like someplace to stash money once it starts to lump up too much... sort of like how I don't like to carry a ton of cash in my wallet. Guess it's an "out of site, out of mind" issue... if I see it there, might be more tempted to spend it... where in an account where I can just toss money occasionally, once in awhile would be nice to check the account balance and find I got alot more than I thought I had. :D

And yeah, I guess with certain builders and themers I could picture what you mean by a scattered land sim... nothing like a huge-area virtual dancefloor from the sky rofl... guess just trying to think of ideas to compensate land terraformation with the ability to give prims back to the plots that can be used for more important functions like building, modeling, etc. Maybe in the future have the option to turn on or off ability to have land textures on sims... sort of like how you can turn on or off item creation on your parcel... have it controlled by the sim owners and operators.

PS - thanx Torley, and anybody else that provided feedback that I may have missed. :D
Strife Onizuka
Moonchild
Join date: 3 Mar 2004
Posts: 5,887
04-04-2005 13:38
I do not support Rayne Stormwind suggested changes to LSL (in current form) at all. They undermine the state machine.

Rayne: The only way you can convince me at this point is if you can write up the syntax changes in code form (give example code). I want to see *exactly* what you want.
_____________________
Truth is a river that is always splitting up into arms that reunite. Islanded between the arms, the inhabitants argue for a lifetime as to which is the main river.
- Cyril Connolly

Without the political will to find common ground, the continual friction of tactic and counter tactic, only creates suspicion and hatred and vengeance, and perpetuates the cycle of violence.
- James Nachtwey
Rayne Stormwind
FuNkY1.2xTrEmE
Join date: 9 Nov 2004
Posts: 44
04-04-2005 19:01
Well, Strife, seeings you're about two steps shy of trolling, I'm gonna' tell you for the record bud, I don't see why of everybody you think you're so special to have to demand an exact example, exact proof, and exact synstax... think I more than explained it above... and underminded the state machine??? o.O Errr... right...

I mean, you've already seen people above agree on the confusing complexity of why the structure changes from one function to another... not to mention, I've had at least 2 or 3 posts on the differences, how "targets" return valuable information and work quicker, in fact, I'll even quote THIS from the Wiki myself...

"Sensor functions raise the sensor event, within which the detection functions are used to determine all kinds of info about what the sensor has found." ..... "Using sensors creates server load, which contributes to lag."

"See llRequestAgentData for a (much slower) way to use the dataserver to get the name of an agent even outside the sim or offline."

I mean, I could be wrong here, but I'm pretty sure detection uses the "dataserver" which the Wiki says itself is a slower method, not to mention just above that I point out that "detection functions"... "cause server load, which contributes to lag".

As once again, I've pointed that out as well...

...so as far as the example/syntax goes, maybe if you'd ask rather than demand, maybe even show a bit more respect from the eyes rather than look down your nose, and actually take the time to read what I'm explaining... then perhaps you'd get what you want... for now however... dude, don't hold your breath? :D

PS - btw Strife, dunno what you might have gotten or may have jumped out at you from my posts, but for the record, I'm not suggesting removing detection at all, leave it in, it is a good sub-function for when detection may be needed, like a core code. All I'm suggesting is functions that may work a bit more directly and return specific data that may be key. My point in general is, SitTarget as ONE function returns the key and other data. Where Touch as ONE function needs ANOTHER function of detect, which as I also stated to have it continually check and not miss, needs MORE functions/loops as overhead to add with it... I could be wrong here, but the less scripting, the less functions, the less need for processing, less lag, less burden overall, etc... kapiche?
Olmy Seraph
Valued Member
Join date: 1 Nov 2004
Posts: 502
04-04-2005 19:25
Rayne, ease off Strife. I agree with him that what you are asking for (llAvatarOnTouchTarget and changing the LSL syntax) sounds undesirable, but your descriptions are vague enough that I can't really tell.

1) llAvatarOnTouchTarget

I really don't understand what you are talking about. When an av touches an object, the object's script gets a touch_start event. It's totally easy to call llDetectedFoo (where Foo is Key, Name, etc.) to find out what av touched it. If you are talking about a physical touch, the script will get a collision_start event. This is even simpler than detecting sitting, which raises a changed event, at which point you have to see if the object is being linked to an av, then you call llAvatarOnSit target to see who it is. Are you talking about using a sensor to detect a physical touch? If so, you don't need to do that. Maybe if you showed a sample of the code you are describing it would be more clear.

2) changing syntax

Fewer parens don't necessarily make more readable code. I like the parens, I'm used to them, and so are all the other C/C++/Java programmers on the planet. Have you ever written a compiler for a programming language? Those parens are there for a good reason, and I doubt you could take them out without breaking something.
_____________________
Some people are like Slinkies... not really good for anything, but they sure bring a smile to your face when you push them down the stairs.
Rayne Stormwind
FuNkY1.2xTrEmE
Join date: 9 Nov 2004
Posts: 44
04-05-2005 00:14
*sigh*

Once again, I'll restate, I mean touch target as CLICK, not collide, and as I stated above, through vast testing, and even the documentation points it out, detection on top of the function takes longer. As I said, OnSitTarget is ONE function, where as I said to make the script continually check to see if permissions are granted need to do an overhead do/while loop... whereas with OnSitTarget I don't... why? Querying the data server is a bit slower than having the value delivered straight to you with an event handler. *shrugs* Done arguing the point... love how you keep saying I'm vague, but I've made several posts pointing out different things, different examples, quotes, reasonings... can't be exactly too vague there... gawd.

And secondly, please for the love of GAWD, READ WHAT I POST BEFORE YOU GRIPE ABOUT IT... never did I say it makes the code more readable and NEVER EVER did I say REMOVE the parantheses... All I said was, FEWER parantheses makes for EASIER code tracing... forget it, I'm done posting here, once y'all actually decide to READ what I'm actually saying before griping about it, perhaps then I'll come back... until then, taking a hiatus... got better things to do than argue out points I never even made, on a forum, not to mention better things to waste my time with, adios. :cool:

PS - another idea for the drawing board, perhaps, might be a "retrieve" option like there is in There... that way if you lag off a vehicle or lose something can easily retrieve it. :D

PPS - You know, I am a bit disappointed, especially since I was under the impression this was a forum people could come to with ideas to be meshed out, worked out, even suggested improvements upon. And don't get me wrong, there *has* been some positive feedback, and thank you for it, and yes, there's going to be negative feedback, I'm fine with that and used to it; however, when it comes to the point where you have people ripping apart every little piece of an idea you have, as well as making points and issues of things you NEVER even said... not to mention calling it "wrong", claiming it's "underminding" the system (especially since these are meer SUGGESTIONS and IDEAS... nobody ever said these WOULD be made to happen, or that they are going to take place, it's just wishful out-loud thinking... you may not agree... but not everybody agrees with the same things... I know my brain is powerful and all, but never knew a meer thought could undermind anything.), claim I've been being "vague" when I've made post after post after post explaining it, even qupting the Linden documentation itself (which states as I quoted, querying info from the data server via detection is a bit slower and adds to lag)... I'm sorry, quite frankly, I find that to be rather anti-progressive... yeah, let's shoot down every and all ideas, instead of think of some ourselves... hey, maybe at this rate, sometime next year we can even revert back to the dark ages. And also, perhaps from now on, whenever I have anymore ideas, I should just keep them to myself... which is sad... why? Because the whole point of an idea, is it's the "origin" of creation... everything that's created starts at an idea... an unrecognized, unspoken, or unharnessed idea is nothing but a dead dream... but oh well, so be it. :rolleyes:
Blue Stormwind
Second Life Resident
Join date: 9 Nov 2004
Posts: 4
04-05-2005 00:24
umm excuse me all for saying this but im not that smart with technology and such but if you read Rayne' posts it's easy to understand what he is saying instead of reading one or 2 lines and griping read it all first. I may not beable to do what hes talking about but at least i took the time to read it all first
Strife Onizuka
Moonchild
Join date: 3 Mar 2004
Posts: 5,887
04-05-2005 03:29
Olmy Seraph seems to be thinking along my lines. I will leave it to Olmy to explain as I can not continue being civil. All I will say is I do not think you grok the event/state machine.

Blue: I've read his suggestions and the script suggests look good on the face but they do not jive with what already exists. More over they encourage bad programing practices (in this case, wasting sim resources duplicating what already exists).
_____________________
Truth is a river that is always splitting up into arms that reunite. Islanded between the arms, the inhabitants argue for a lifetime as to which is the main river.
- Cyril Connolly

Without the political will to find common ground, the continual friction of tactic and counter tactic, only creates suspicion and hatred and vengeance, and perpetuates the cycle of violence.
- James Nachtwey
Damanios Thetan
looking in
Join date: 6 Mar 2004
Posts: 992
04-05-2005 07:37
Just to add my 2 cents. I think Rayne is meaning a touching 'state' instead of events.
The 'state' referred to in the following is not the same as a LSL state.

Basically all operations on objects can either be seen as a series of events or a change of states. To take sitting as an example it is either:
A series of events: change event when an agents sit on the object and another change event when he/she stands up.
A change of states: llAvatarOnSitTarget = NULL_KEY to state llAvatarOnSitTarget = av key.

For sitting, both states and events are covered by LSL.

We can see the same combination of events and states for collisions, touching, moving etc.

All these have a set of LSL events to track them.
But most of them do not have an LSL function to get state information.

The example I get out of Rayne's post is for touching:
A series of events: touch_start event when an agent first clicks on a task and a touch_end when he/she stops clicking
A change of states: non existing llAvatarOnTouchTarget() = NULL_KEY to state llAvatarOnTouchTarget = av key.

I think there is a good reason for the fact LL omited the LSL functions to get state information for most of these operations.
Most of these operations allow for multiple agents/objects to change the state at the same time. So it's unclear which key a function like llAvatarOnTouchTarget() should return when multiple people are touching. Also, contrary to the sitting state, most of the actual 'on' states of these operations are quite short, if almost non-existent (touch).

So to detect them would require a tight polling mechanism. (Like Rayne described in the following posts.)

So the 'state' information of these has been collected into a general 'detection' list, which is changed constantly, according to what is happening to the object. You can still access this state information using the llDetectedFoo() functions.
To get the right llDetectedFoo() from all the operations and state changes, you need to ask it at the right moment though. That's why you need the events. And that's what Strife showed in the example.

On a personal note ;)
Actually i think it would be nice if maybe a a 'shortcut' event sit_start and sit_end could be introduced, instead of the combination of changed event, CHANGE_LINK and llAgentOnSitTarget checking required atm. This would clear up a lot of code, now required to act on an avatar sitting down or standing up. And would make a lot of sit scripts probably more readable for starting scripters.
_____________________
Strife Onizuka
Moonchild
Join date: 3 Mar 2004
Posts: 5,887
04-05-2005 08:09
From: Damanios Thetan
On a personal note ;)
Actually i think it would be nice if maybe a a 'shortcut' event sit_start and sit_end could be introduced, instead of the combination of changed event, CHANGE_LINK and llAgentOnSitTarget checking required atm. This would clear up a lot of code, now required to act on an avatar sitting down or standing up. And would make a lot of sit scripts probably more readable for starting scripters.


LL dropped the ball when they overloaded the CHANGE_LINK. It makes for some very ugly code. Most new scripters don't relize the extent of the logic that is needed.

(edit:
Most new scripters don't relize the extent of the logic that is needed to perfect sitting cleanly.)
_____________________
Truth is a river that is always splitting up into arms that reunite. Islanded between the arms, the inhabitants argue for a lifetime as to which is the main river.
- Cyril Connolly

Without the political will to find common ground, the continual friction of tactic and counter tactic, only creates suspicion and hatred and vengeance, and perpetuates the cycle of violence.
- James Nachtwey
Rayne Stormwind
FuNkY1.2xTrEmE
Join date: 9 Nov 2004
Posts: 44
04-05-2005 08:52
Thank you Damanius for clearing that up.

Yes, precisely what I was getting at, and yeah, a sit_start and sit_end would be good... guess what I was more getting along the lines of, was as you said, direct information transfer like the SitTarget, rather than having to query the dataserver so much. As explained in the Wiki, the dataserver querying is slower and can cause lag, etc... this being the case, lets look at some examples of how it's used... malls with "click" screen vendors... events with "click" object gameboards. If they could make it more direct who's touching, etc, might help unbog some of the lag in more congested areas. And yes, I can see where the SitTarget is only one person at a time (as two people can't sit in the same spot at the same time obviously)... what you suggested with shortcut events does actually sound good, guess my original point wasn't so much what they name the events, or what functions they use, as long as they can make a more direct access/retrieval of data. And yes, having written other scripts that more or less wait for input or triggering from other users, I do know a timeframe is rather important, like if two people trigger it at the same time, it trying to determine and follow both, and it can get ugly, so that is a very valid point. *ponders* Perhaps just an OnSitTarget with a num_detected value, like in the touch_start, etc. Then each av key, etc, can correspond to who/how many times it's been touched. Dunno, anywho, at this point, eh... was just an idea that made too much ruckus, thank you though for attempting to clear things up and make sense of things.

PS - I also agree with the change_link... what I think would be key, just imho... sit_start, sit_end, touch_start, touch_end, etc... with the Target detecting as I originally referred to.
Olmy Seraph
Valued Member
Join date: 1 Nov 2004
Posts: 502
04-05-2005 08:52
From: Rayne Stormwind
love how you keep saying I'm vague, but I've made several posts pointing out different things, different examples, quotes, reasonings... can't be exactly too vague there... gawd.

And secondly, please for the love of GAWD, READ WHAT I POST BEFORE YOU GRIPE ABOUT IT... never did I say it makes the code more readable and NEVER EVER did I say REMOVE the parantheses... All I said was, FEWER parantheses makes for EASIER code tracing... forget it, I'm done posting here, once y'all actually decide to READ what I'm actually saying before griping about it, perhaps then I'll come back... until then, taking a hiatus... got better things to do than argue out points I never even made, on a forum, not to mention better things to waste my time with, adios. :cool:

PPS - You know, I am a bit disappointed, especially since I was under the impression this was a forum people could come to with ideas to be meshed out, worked out, even suggested improvements upon. And don't get me wrong, there *has* been some positive feedback, and thank you for it, and yes, there's going to be negative feedback, I'm fine with that and used to it; however, when it comes to the point where you have people ripping apart every little piece of an idea you have, as well as making points and issues of things you NEVER even said... not to mention calling it "wrong", claiming it's "underminding" the system (especially since these are meer SUGGESTIONS and IDEAS... nobody ever said these WOULD be made to happen, or that they are going to take place, it's just wishful out-loud thinking... you may not agree... but not everybody agrees with the same things... I know my brain is powerful and all, but never knew a meer thought could undermind anything.), claim I've been being "vague" when I've made post after post after post explaining it, even qupting the Linden documentation itself (which states as I quoted, querying info from the data server via detection is a bit slower and adds to lag)... I'm sorry, quite frankly, I find that to be rather anti-progressive... yeah, let's shoot down every and all ideas, instead of think of some ourselves... hey, maybe at this rate, sometime next year we can even revert back to the dark ages. And also, perhaps from now on, whenever I have anymore ideas, I should just keep them to myself... which is sad... why? Because the whole point of an idea, is it's the "origin" of creation... everything that's created starts at an idea... an unrecognized, unspoken, or unharnessed idea is nothing but a dead dream... but oh well, so be it. :rolleyes:


If you read other threads where I've commented, you'll find I usually have constructive conversations. Oh wait, you said you don't have time to read other posts, never mind. I've usually found Strife to be civil and constructive as well. And you'll note that neither of us made any attacks or ad hominem comments, you're the one doing that.

This is a forum where people exchange ideas. The medium is text. People often disagree, and we either work things out or we don't. Keeping a civil tone is the thing that makes it work even when we disagree. Being able to express yourself in the written word is key to making yourself understood. Frankly, your writing skills are poor and you act like a child. If you can't write intelligibly, don't come down on people who are engaging you to find out what you mean so they can respond to what you are trying to discuss.
_____________________
Some people are like Slinkies... not really good for anything, but they sure bring a smile to your face when you push them down the stairs.
Rayne Stormwind
FuNkY1.2xTrEmE
Join date: 9 Nov 2004
Posts: 44
04-05-2005 08:59
From: Olmy Seraph
Being able to express yourself in the written word is key to making yourself understood. Frankly, your writing skills are poor and you act like a child. If you can't write intelligibly, don't come down on people who are engaging you to find out what you mean so they can respond to what you are trying to discuss.


Poor? Excuse me? Dude, step the hell off... I never asked for your two cents buddy. As far as explaining it, been there done that, SEVERAL posts. As far as what you and Strife said, yeah, don't like the idea, say that, fine. But to say I'm undermining, to demand that you won't support it, even so much as put a foot down in protest UNTIL I give you proof, or until I write it out EXACTLY the way you want? (Especially since a few people or more have posted, and expressed that they can understand it.) Excuse me... you two were the ones that started the water boiling... and to let you know, you have been reported for trolling, thank you, have a nice day, okay? :D Example? Am I being too VAGUE again?

From: Strife Onizuka
I do not support Rayne Stormwind suggested changes to LSL (in current form) at all. They undermine the state machine.

What? First he's addressing me, then he's what, addressing everybody in a protest??

BTW, as far as what I'm saying being insults, etc... I never came right out and said anything about either of you was poor, I responded to what you said. I never made any direct insults, which you Seraph just have. Now if my QUOTING what you two say insults you, tough... that's what's done to make a point. But I never came right out and directly insulted you like you just have to me, hence why you've been reported for trolling. Especially with comments like, "you act like a child"... granted I'm not a child... but I'll be the first to fill you in on a little secret... "children do come on this board, some of which may have poor writing skills", but what job is it of yours to go pointing that out right?
I mean, yeah, I was a bit harsh on Strife, but it's because it seemed he was being more obstructive, more abtrusive, more protesting, almost griefing or trolling than being helpful... being anti-progressive rather than progressive.. I never did launch any blatant insults at you Seraph though... I thought your post was mild... the only thing that chewed at me about you was the fact you were griping at me about a point I never even made, and you can't say I was vague, I even gave an example of what I mean which DID have parentheses... Strife even quoted it for gawd sakes. And another thing that bugged me... as far as explaining it, yeah, I did explain it, and even cleared it up, said "yeah, I got it working", etc. Thought I'd leave it at that and what not else.
From: Rayne Stormwind
Strife, I got it working, what I put up as an example was an off the top of my head example... which I typed out etc while still waking up. And OnTouchTarget would return the same as OnSitTarget... that av key, etc... rather than use detected. Cause as I pointed out above, the SitTarget returns the key rather quickly, where detection takes a bit longer, causing the need for a do/while loop to keep it going until it gets the permissions. Also no, didn't use a sleep in the display screen slideshow... I do in my couch but only by preference and it's for half a second... what I do in the display screen is use a do/while loop... which again is added overhead... it helps compensate for lag, because then no matter how lagged a person is, or how long it takes to detect from the server it continually checks until the permission is granted. Not to mention, and no disrespect to Linden Labs or LSL in saying this, most scripting and programming language tend to stick to similar formats in commands. Would make it easier to understand, remember, and what not; does get to be a pain having to stop and think, "okay, touching so have to detect" or "sitting... hrm, was that detect or did it have its own target command?", etc. Also, I'm finding while scripting a couple vehicles I'm making, detection can take a bit too long when trying to drive a vehicle initially... because when you initially try and drive something it has to initialize quite a bit, have alot of different variables set, in order, etc... a slight delay with one can flub up all the rest. (And would hate to think I had to have several do/while loops in a script... never know, especially with the bugs in 1.6, when you might have an occasional glitch in the program where the exiting condition is never met, then walah, stuck script... granted, can stop it from running, and/or reset it... just hate the idea of selling something to someone to find them upset because they feel I sold them a lemon, when it could just be a script glitch/issue. Thanks for the feedback though, the comparission part is true, guess I'll just put it all out the way I usually do in other scripting code, then surround with parantheses, etc.

Then suddenly there's a post about "I do not support his ideas". Woah, hard left-jab to the upper-temple, what? I covered what he was asking, explained it, even was civil, etc, said thank you, blah blah... and then he's stomping his foot in a protest? Excuse me? I mean sorry, I do take a bit of pride in being a geek and all, but I don't sit around all day, conversing through system code. I'm trying to explain it in words, not syntax. *shrugs*

PS - Seraph, perhaps it's not my writing skills that are POOR... perhaps it's your READING skills... that are poor... especially since you were griping at me about something I never even said... shoving points into my mouth that I never even made? (Which for the record, people putting words into my mouth does insult me, also people taking negative reinforcement and feedback to the point of protest [especially after I was being civil, nice, explaining, and just trying to keep things a bit laid-back] insults me when as I already stated they're just meer ideas... never was it said they'd be etched into stone.) Perhaps if you brushed up on your "READING" skills a bit more, perhaps there wouldn't be as many arguements ya' think? And as far as acting like a child... no, sorry, the ADULT thing is realizing there's BETTER things to do than drivel and argue on a forum... CHILDISH is continue those arguements after they've been finished, like you just have... you and Strife added your negative reinforcement, I added mine, so be it. What's even more childish is to take it from what's being discussed, into personal attacks. Again, I NEVER personally attacked you or Strife... however Seraph, you HAVE personally attacked me with your comments in your last post. Kapiche?

PPS - " If you can't write intelligibly"... sorry, as I said, I don't sit around talking in system code and/or syntax all day long. I thought I do write rather intelligibly personally... who are you to point out that I don't? I mean hrm, gee... let's see... am I not good enough to be considered at *your* level? Once again, thank you for being a griefer... not everybody comes to a forum to meet up to others "standards"... if my posts aren't good enough for you, read others perhaps?
Uncle Linden
Member
Join date: 14 Dec 2004
Posts: 62
:-) I like tea.
04-05-2005 09:57
Reminder: this is not a place to talk about personal differences. Keep it civil please.
_____________________
uncle
Strife Onizuka
Moonchild
Join date: 3 Mar 2004
Posts: 5,887
04-05-2005 10:24
I really like your other suggestions. People don't talk much about good things.

From: Rayne Stormwind
PPS - " If you can't write intelligibly"... sorry, as I said, I don't sit around talking in system code and/or syntax all day long. I thought I do write rather intelligibly personally... who are you to point out that I don't? I mean hrm, gee... let's see... am I not good enough to be considered at *your* level? Once again, thank you for being a griefer... not everybody comes to a forum to meet up to others "standards"... if my posts aren't good enough for you, read others perhaps?


I find you ramblings (not that ramblings are a bad thing) vague. They do not give enough detail as to how they work. Nicely put I couldn't use your description in documentation. The reason I asked for a code example was that while words are vague, code examples generally are not. The issue I foresee is that this one command will not be able to reproduce the functionality of the three touch events, let alone add anything to it. What could this function do that can't be done with the touch events? What could it do better? I do not think there is anything that it could do that the touch events can't do, and i don't think it can do anything better. I'm not narrow minded, I just don't see the niche this function fills. So I present a challenge, write some code that demonstrates the use of this function doing something that would be difficult to do with touch events. I'll post a counter example if I can.

Off Topic:
I have been having trouble being civil in this thread but overall I've been doing a good job hiding it. Trust me when you accused me of trolling I almost posted a *really* nasty dissection of your coding technique. But I didn't :D

This forum isn't just about suggesting features it's about discussing them and sometimes the debates can get heated. What has gone on so far in this thread is not trolling (cept maybe for Olmy's responce). IMHO your responses give the feel that you are the one trolling. But ehh.

PSS.
I'm glad you like tea.
_____________________
Truth is a river that is always splitting up into arms that reunite. Islanded between the arms, the inhabitants argue for a lifetime as to which is the main river.
- Cyril Connolly

Without the political will to find common ground, the continual friction of tactic and counter tactic, only creates suspicion and hatred and vengeance, and perpetuates the cycle of violence.
- James Nachtwey
1 2