These forums are CLOSED. Please visit the new forums HERE
Can you build successfully without knowing LSL? |
|
|
Vance Adder
Registered User
Join date: 29 Jan 2009
Posts: 402
|
10-12-2009 09:54
I'm one of those who likes to do everything themselves. That way, it works exactly like I want. There's a long list of problems when you bring someone else into the fold.
|
|
Kyrah Abattoir
cruelty delight
Join date: 4 Jun 2004
Posts: 2,786
|
10-12-2009 12:49
Building is a much more useful skill to have on its own than scripting. I beg to differ ![]() Even monkies can build stuffs out of wooden cubes... ![]() _____________________
![]() tired of XStreetSL? try those! apez http://tinyurl.com/yfm9d5b metalife http://tinyurl.com/yzm3yvw metaverse exchange http://tinyurl.com/yzh7j4a slapt http://tinyurl.com/yfqah9u |
|
Weston Graves
Werebeagle
Join date: 24 Mar 2007
Posts: 2,059
|
10-12-2009 17:26
Sorry! You shouldn't be drinking - try and curb that desire. It's unnatural to get drunk on Single Malt anyway; get sloshed on the cheap brands. I still dunno what LSL is. LSL = Linden Script Language ? And, yes, it's definitely about as fun as having a root canal. I was semi-joking about it being play. Don't worry about me wasting any Single Malt. I only sip a nightcap neat on special occasions. Well, I must say I've gotten some very mixed opinions on this thread. And it's split down the middle. Interesting. |
|
Argent Stonecutter
Emergency Mustelid
Join date: 20 Sep 2005
Posts: 20,263
|
10-12-2009 17:29
True, LSL is not an object-oriented language, but it does share much of the same structure. When I took my Intro to Java class last year as part of my IT curriculum, I noted how strikingly similar both the languages were. If you learn Java, LSL should be easy to pick up. Edit: I'm not familiar with PERL, so I can't compare the two. I'm familiar with Python, but Python is OO, and does not closely resemble Java or LSL. I suppose a better comparison can be made between LSL and C. Do Not Learn Perl if you want to apply what you learn to anything else. I would suggest Javascript and a Lisp-family language like Lisp, Scheme, or Tcl. _____________________
Argent Stonecutter - http://globalcausalityviolation.blogspot.com/
"And now I'm going to show you something really cool." Skyhook Station - http://xrl.us/skyhook23 Coonspiracy Store - http://xrl.us/coonstore |
|
Amaranthim Talon
Voyager, Seeker, Curious
Join date: 14 Nov 2006
Posts: 12,032
|
10-12-2009 21:30
I would go with alien speak - done with a lisp by a nearsighted, four eyed, myopic deaf alien... - oh yeah, with a penchant for speaking in tongues...
_____________________
"Yield to temptation. It may not pass your way again. "
Robert A. Heinlein ![]() http://talonfaire.blogspot.com/ Visit Talon Faire Main: http://slurl.com/secondlife/Misto%20Presto/216/21/155- Main Store XStreets: http://tinyurl.com/6r7ayn |
|
Nika Talaj
now you see her ...
Join date: 2 Jan 2007
Posts: 5,449
|
10-12-2009 22:50
I would go with alien speak - done with a lisp by a nearsighted, four eyed, myopic deaf alien... - oh yeah, with a penchant for speaking in tongues... /me waves frantically at Amar. Good to see you posting! Argent: I think TCL is a good analog to LSL. I hope you mentioned Lisp in jest - is recursion really required when turning on a light in SL? *smiles* Actually, though, all these languages we've suggested are more complex than LSL, which is really very simple. So Weston, my real advice, if you're going to learn it, just do the tutorials and ask questions in Scripting Tips. Or go to the horse's mouth and send Qie a lot of IMs and a box of chocolates! ![]() |
|
Marcel Flatley
Sampireun Design
Join date: 29 Jul 2007
Posts: 2,032
|
10-13-2009 01:30
If you are a talented builder, you could do without scripting knowledge. Many scripts you can buy, or have others create them for you.
Knowing how to script can add value to your products though. One of the strong points in my furniture for example, is that I have written my own menu for it. Anyone can (re)create the chairs, but they do not have the implemented menu. But lets say you like building houses, most if not all scripts for that are already done, and some darn good ones. Spending a few thousand on that, and do not bother with it if you dislike scripting. Good luck! _____________________
New in town: Floating furniture!
http://www.sampireundesign.com http://www.slurl.com/secondlife/Gaori/44/66/603/ ![]() |
|
wrable Amat
Registered User
Join date: 23 May 2008
Posts: 25
|
10-13-2009 04:43
wow learning to script was key to me taking the next step in my sales in SL.
When we started we had maternity clothing.The I mapped out theme shops ,neko,vamp so on. Still good sales,but I wanted to make this worth the time. I sat down with a few full perm scripts and sl wiki on my laptop. then i just looked up ever function i could find.I used the wiki site and full perm scripts as learning tools for months. I made a talking tummy,basic simple chat a few lil effects.Nothing huge. Then a simple baby (god i hope those are still not out there) I added holds and lil sounds.Still just basic designs. a year later i just finished a talking tummy with customs animations ( yes,you have to learn that next to really have fun) a smart system that walks the user threw all the functions and high lights every button with a OwnerSay explanation of each step of their maternity.It chats off multi notecards with settings for timer and language controls. Fully interactive with people and food the mother eats threw her cycle . I added things like baby talk,where you can make the tummy speak in his ir hers given name by the parents. due date timers that do not fail and a system that looks for hang ups in the timing and resets on region changes. my new babies about to be out had add on clothing huds and just a ton of new things I am making. Take the time,learn the scripting!! It will make you so happy to bring your designs to life in SL. and yes it can improve your sales! But in the end sales are great but I think being able to make what you want and work the way you want is a huge personal win!! I love SL and building!!! Learn it all!!!!! |
|
Elric Anatine
Full Lunar Alchemist
Join date: 27 Feb 2007
Posts: 381
|
My Two $L
10-13-2009 08:42
The issue I had with most other people's scripts (for sale or otherwise) is that most of the scripts are bloated, poorly written and/or laggy etc. I have bought or taken as freebies scripts that are Frankensteined (excellent term, by the way) with unnecessary code in them.
I only know enough about scripting to recognize these issues, not always to repair and improve them. I am fortunate to have someone who has created some bang up custom scripts for me that are low lag -- she is the most anal retentive scripter I know in that regard, so that works well for me. But she is not always available. For those things I've really needed, I have searched out and investigated as thoroughly as possible the lowest lag/best for me script to perform a certain task. I do not mind paying for scripts, but they must be well written. The script will also reflect on my products, so if I'm not entirely happy with the script, I doubt my customers will be either. I'd rather have no script than a bad one in my items and while that may detract from its features, I'd rather charge less for something non-scripted than give my customers a poor experience. Good luck! _____________________
Elric Anatine
![]() http://slurl.com/secondlife/Alkahest/128/128/652 +Distinguished Aesthetics+ - unabashed commentary & reviews by a gentleman of the grid - http://www.sge-sl.com/elric_anatine/ +Apothecary & Home+ http://slurl.com/secondlife/Syzygy%20Selene/134/171/39 |
|
Desmond Shang
Guvnah of Caledon
Join date: 14 Mar 2005
Posts: 5,250
|
10-13-2009 09:24
What kind of scripts are you looking for Weston?
Honestly the 'quick' way is to go over to Yadni's, and buy a couple hundred simple scripts for $L 2 or $L 3 or whatever it is. Get the oooold stuff. Yeah. The old simple junk from 2004/5 if you can. Then go through and look at each one. That will stick about 70 or 80 ideas of "what is easily possible" in your head. Then later, when you need a script that "makes a particle" or "opens a door this or that way" or whatever, there's a reaaaally good chance you'll remember the simple script that did close to it. After some rummaging, you'll be able to find it and maybe poke the script to change a color, or the timing, or whatever you need. It sounds stupid, but it's a bit like discovering dad's toolbox as a kid. You don't know you are gonna need pliers when you first see them, but when you run into a problem needing pliers, it's good that you saw them in the box and know they exist ![]() _____________________
![]() Steampunk Victorian, Well-Mannered Caledon! |
|
Amaranthim Talon
Voyager, Seeker, Curious
Join date: 14 Nov 2006
Posts: 12,032
|
10-13-2009 09:34
/me waves back @ Nika and Czari - still around, just not as much
![]() _____________________
"Yield to temptation. It may not pass your way again. "
Robert A. Heinlein ![]() http://talonfaire.blogspot.com/ Visit Talon Faire Main: http://slurl.com/secondlife/Misto%20Presto/216/21/155- Main Store XStreets: http://tinyurl.com/6r7ayn |
|
Ceka Cianci
SuperPremiumExcaliburAcc#
Join date: 31 Jul 2006
Posts: 4,489
|
10-13-2009 13:36
i can't build anything today..i have 4 prims 5 meters away from the center point and they won't link..maybe a script would help
i probably have some stupid thing checked or unchecked..who the hell knows anymore.. there is a skill to just figuring out if it was me or if it was LL or if it is just lag or the software.. lol _____________________
|
|
Weston Graves
Werebeagle
Join date: 24 Mar 2007
Posts: 2,059
|
10-13-2009 18:35
Ceka, I would respond but i am still terrified of the panther in your sig.
I would go with alien speak - done with a lisp by a nearsighted, four eyed, myopic deaf alien... - oh yeah, with a penchant for speaking in tongues... Actually, though, all these languages we've suggested are more complex than LSL, which is really very simple. So Weston, my real advice, if you're going to learn it, just do the tutorials and ask questions in Scripting Tips. Or go to the horse's mouth and send Qie a lot of IMs and a box of chocolates! ![]() Honestly the 'quick' way is to go over to Yadni's, and buy a couple hundred simple scripts for $L 2 or $L 3 or whatever it is. Get the oooold stuff. Yeah. The old simple junk from 2004/5 if you can. Then go through and look at each one. That will stick about 70 or 80 ideas of "what is easily possible" in your head. I have a lot of great options it seems. Now I just need to make time! |
|
Desmond Shang
Guvnah of Caledon
Join date: 14 Mar 2005
Posts: 5,250
|
10-13-2009 21:49
All I really want to do is move some prims slowly (I mean almost imperceptably slowly) and change their size, have them shrink and grow. Embarrassingly simple stuff. // Moving a prim (or bunch of linked prims) by 1 meter in the X direction // ============================================ vector position; // where you are default { state_entry() { llSay(0, "Hello, Avatar!" ;} touch_start(integer total_number) { llSay(0, "Touched." ;position = llGetPos(); position.x = position.x + 1; llSetPos(position); } } // Growing a prim. Start with a .5 meter cube // ============================================ default { state_entry() { llSay(0, "Hello, Avatar!" ;} touch_start(integer total_number) { llSay(0, "Touched." ;llSetScale(<10, 10, 10> ; // grows to a 10m prim on touch. Stand back!} } As you can see, I've just added a few lines to the default "Hello Avatar" script for both of these. Neither have been tested, generally my scripts work on the first shot but if there's a bug, generally some overly anxious scripty type will write a ridiculously huge treatise about how the script is wrong, and how they've done it better, and how they have also sorted out some Obscure Problem, Jira #OMGWTFBBQ111, by doing it their way. I've spent decades doing software professionally, been out of it for years, and looking back I see it as something ridiculously overrated as a skill. Cooking a decent fluffy dessert pastry, or aligning a close~fitting door so it doesn't jam in a few years, is far harder. _____________________
![]() Steampunk Victorian, Well-Mannered Caledon! |
|
Innula Zenovka
Registered User
Join date: 20 Jun 2007
Posts: 1,825
|
an overly anxious scripty type comments ...
10-14-2009 05:43
Minor cavil: in vectors -- the stuff in < these brackets > that LSL uses for positions and colours and so on -- you're supposed to put floating point numbers rather than integers; that is, < 10.0, 10.0, 10.0 > . Similarly, in the first example, you're adding 1.0 to the x value of position.
It still works fine if you leave out the decimal points, but only because, behind the scenes, every time the script executes, the sim comes to what looks like an integer, thinks, "What's this? I'm expecting a float here, not an integer; oh well, I guess he just forgot to put the decimal point in, so I'll assume that he meant 10.0" and treats it as a float. In itself it's not a huge deal, but each time that happens it takes the sim some time to figure out what you mean and to fix what it sees as the problem, so it all contributes to server-side lag, completely unnecessarily. It's a nuisance, but actually writing floating point numbers as floating point numbers and integers as integers is a good habit to get into. |
|
Rhonda Huntress
Kitteh Herder
Join date: 21 Dec 2008
Posts: 1,823
|
10-14-2009 06:31
Qie has already been very generous to me with help on scripted things. I could not impose again. _____________________
|
|
Desmond Shang
Guvnah of Caledon
Join date: 14 Mar 2005
Posts: 5,250
|
10-14-2009 08:45
It still works fine if you leave out the decimal points, but only because, behind the scenes, every time the script executes, the sim comes to what looks like an integer, thinks, "What's this? I'm expecting a float here, not an integer; oh well, I guess he just forgot to put the decimal point in, so I'll assume that he meant 10.0" and treats it as a float. In itself it's not a huge deal, but each time that happens it takes the sim some time to figure out what you mean and to fix what it sees as the problem, so it all contributes to server-side lag, completely unnecessarily. As this is compiled code, lexical analysis and parsing generally happens at compile time, and all that is sorted out before the p code is even translated to native machine code. Meaning there shouldn't be any runtime lag due to it at all; in fact in some really high end compilers (which the LSL compiler probably isn't) ~ good optimisation passes will use integer methods in place of float wherever they can, and you'll pick up tons of speed by not specifying floats. I suppose LSL could theoretically be botched in such a way that what you describe could happen, but I'd doubt it. A junior level computer science major would write a compiler that is more efficient than that. What you are talking about generally does happen with purely interpreted languages. It is, however, a good habit I suppose to write out 10 as 10.0 when it comes to floats. It's all good ![]() _____________________
![]() Steampunk Victorian, Well-Mannered Caledon! |
|
Argent Stonecutter
Emergency Mustelid
Join date: 20 Sep 2005
Posts: 20,263
|
10-14-2009 08:49
As this is compiled code, lexical analysis and parsing generally happens at compile time, and all that is sorted out before the p code is even translated to native machine code. _____________________
Argent Stonecutter - http://globalcausalityviolation.blogspot.com/
"And now I'm going to show you something really cool." Skyhook Station - http://xrl.us/skyhook23 Coonspiracy Store - http://xrl.us/coonstore |
|
Desmond Shang
Guvnah of Caledon
Join date: 14 Mar 2005
Posts: 5,250
|
10-14-2009 08:56
The LSL compiler does no optimization at all, other than some very simple optimization at the global level, so a global "vector size = <10,10,10>;" is the same as "vector size = <10.0,10.0,10.0>", but otherwise it's actually doing the equivalent of "push 10; int2float; push 10; int2float; push 10; int2float; float2vector;" every time. Whether it's Mono or LSL... the only optimization is Mono's peephole optimizer in the JIT code generator. Oh my god. Someone oughta take on LSL for their senior college project or something. _____________________
![]() Steampunk Victorian, Well-Mannered Caledon! |
|
Innula Zenovka
Registered User
Join date: 20 Jun 2007
Posts: 1,825
|
10-14-2009 09:03
As this is compiled code, lexical analysis and parsing generally happens at compile time, and all that is sorted out before the p code is even translated to native machine code. Meaning there shouldn't be any runtime lag due to it at all; in fact in some really high end compilers (which the LSL compiler probably isn't) ~ good optimisation passes will use integer methods in place of float wherever they can, and you'll pick up tons of speed by not specifying floats. I suppose LSL could theoretically be botched in such a way that what you describe could happen, but I'd doubt it. A junior level computer science major would write a compiler that is more efficient than that. What you are talking about generally does happen with purely interpreted languages. It is, however, a good habit I suppose to write out 10 as 10.0 when it comes to floats. It's all good ![]() LSL does do some implicit typecasting but the LSL compiler does not actualy convert types or simplify code; it just makes implicit typecasts explicit. So while <0, 0, 0> is valid, it will use more bytecode and be slower then <0.0, 0.0, 0.0>. For this reason please be sure to use a decimal point. 0. is enough you don't need an extra zero. http://lslwiki.net/lslwiki/wakka.php?wakka=vector But if you tell the wiki is mistaken in this, that won't be the first time I've been misled by it. |
|
Argent Stonecutter
Emergency Mustelid
Join date: 20 Sep 2005
Posts: 20,263
|
10-14-2009 09:38
Oh my god. Someone oughta take on LSL for their senior college project or something. There are some odd decisions in the code generation too... right to left evaluation of subexpressions is not something I've seen outside of APL, for example... but it's not a bad job and really not inappropriate for the intended goals. The p-code interpreter itself is quite well done, for a pure interpreter. It satisfies the requirements. I would rather they applied their efforts to extending the runtime than fiddling with the language or the compiler. _____________________
Argent Stonecutter - http://globalcausalityviolation.blogspot.com/
"And now I'm going to show you something really cool." Skyhook Station - http://xrl.us/skyhook23 Coonspiracy Store - http://xrl.us/coonstore |
|
Desmond Shang
Guvnah of Caledon
Join date: 14 Mar 2005
Posts: 5,250
|
10-14-2009 09:56
Well, I'd put a lot of stock in what Argent just described. Insofar as global declarations get optimised and everything else doesn't.
Converting integers to float isn't exactly a demanding operation, it would take ridiculous amounts of that to lag a region noticeably, but the fact that LSL works that way pretty much puts it in the realm of "someone's cool project" rather than typical compiler territory. I had no idea it was that... I won't use the word "bad" I'll use the word "simple." Could be that I'm just used to my old industry, which was embedded firmware. Products with embedded firmware can be highly cost sensitive due to consumer pricing of electronics, so compiler optimisation was always a huge deal. The more you could squeeze out of some ridiculously underpowered cheap processor with not enough memory, the better. _____________________
![]() Steampunk Victorian, Well-Mannered Caledon! |
|
Lindal Kidd
Dances With Noobs
Join date: 26 Jun 2007
Posts: 8,371
|
10-14-2009 10:05
I just call a scripter and pose my problem to him, while batting my eyes and looking cute and helpless. Which is easy, because when it comes to LSL, I *am*.
_____________________
It's still My World and My Imagination! So there.
Lindal Kidd |
|
Desmond Shang
Guvnah of Caledon
Join date: 14 Mar 2005
Posts: 5,250
|
10-14-2009 10:06
I did some work on optimizing it, and they did pick up part of it, but I didn't have time to really do a proper parse tree optimizer and they decided not to pick up the incomplete work I'd done on optimizing in the yacc source. Which was probably the right decision. Yeah, it's brutal to get anyone to pick up a project sometimes. Most people would rather work from scratch for a week, than follow someone else's line of reasoning for more than ten minutes. All things considered, LSL's got remarkably few bugs for what it is, but that may have more to do with the hordes of unwitting testers than anything else... _____________________
![]() Steampunk Victorian, Well-Mannered Caledon! |
|
Argent Stonecutter
Emergency Mustelid
Join date: 20 Sep 2005
Posts: 20,263
|
10-14-2009 10:09
Could be that I'm just used to my old industry, which was embedded firmware. _____________________
Argent Stonecutter - http://globalcausalityviolation.blogspot.com/
"And now I'm going to show you something really cool." Skyhook Station - http://xrl.us/skyhook23 Coonspiracy Store - http://xrl.us/coonstore |