Jump to content

Your opinion, THE MOST IMPORTANT LSL skills someone needs?


Salsoam
 Share

You are about to reply to a thread that has been inactive for 508 days.

Please take a moment to consider if this thread is worth bumping.

Recommended Posts

Hello people of the LSL forum!

I've been dabbling in LSL the SECOND my college classes ended. I recently learned about particles (except for targeting), and I thought maybe particles is a weird start to LSL?

I decided to make a post here! In your guys' opinion, what do you think is the most important things to learn for LSL as soon as possible?

Link to comment
Share on other sites

There's a looooot of things you can use scripts for, so I don't think there's necessarily that one thing you can learn that's generally applicable, besides general problem-solving and understanding the flow of events. I guess the most universal/useful thing is knowing how to build/manipulate lists.

It really depends on what kind of things you want to make. If that's particles, learn particles. Firestorm has a built-in particle editor which lets you see how different settings affect their behavior instantly.

Edited by Wulfie Reanimator
  • Like 2
Link to comment
Share on other sites

not necessarily the most important for everyone, but very important for people wanting to do inworld commerce is understanding how to handle money and giving items from the pay device inventory

http://wiki.secondlife.com/wiki/Money

http://wiki.secondlife.com/wiki/LlGiveInventory

Link to comment
Share on other sites

Where to find the LSL portal in the SL wiki: http://wiki.secondlife.com/wiki/LSL_Portal.

From there browse around the LSL features by category lists on the right. You're never going to learn all the features and functions by heart, but if you do browse around a bit then when to come to something you want to script somewhere at the back of your head a little light will come on and remind you that you might have seen something about that somewhere in the wiki.

  • Like 2
Link to comment
Share on other sites

Most important?  Understand the logic of how states and events work and how to control the flow of execution in a script.  If you leap ahead without understanding that much, you're pretty much toast.

Once you get into the weeds, understanding how rotations and position vectors work, and appreciating the difference that your frame of reference can make are pretty high on the MUST DO list.

Then learning how to manage lists.

That's enough to keep you busy for quite a while.

  • Like 4
Link to comment
Share on other sites

As Wulf and Rolig mentioned, understanding flow control is essential, then you can move on to types and operators, then you can move on to understanding functions/actions that trigger events, then you can move on to functions that get/set prim/link parameters and the effects they have on their host objects in-world.

Edited by Lucia Nightfire
Link to comment
Share on other sites

The most important in my opinion is actually not LSL at all. That may sound counter-productive at first but give it a chance. The most important thing I would suggest, is learning anything and everything about objects and linksets. All scripts run live in them as containers. So everything to do with a linkset, its lifecycle, its limits, capability, utility, when it can be detected, when it is lost, and contiguous region behaviour, would be fundamentally important and point to different functions in LSL to learn along the way.

Picking up the structure of LSL would follow the desire to make things do things. Getting too concerned about doing it well can be stifling and stop people trying. Which is seldom the point of it.

Particles can be fun. If you enjoy them, keep learning them, and their limits. Find the good ideas, and learn from the not so great ones.

  • Like 2
Link to comment
Share on other sites

Hello there :)

Well if you ask me, the most important thing is to understand your scripts can cause problems if they're not written with best practices in mind. As a programmer, it is your responsibility as well to provide the best experience to SL users in your LSL programs.

There are a lot of SL experts on the forums so feel free to post your source or the problematic parts you're struggling with. Community members will help you out.

The authors of " Scripting Your World: The Official Guide to Second Life Scripting " mentions if you understand how channel communication works you can get very good at solving problems in LSL.

It is also important to note that a huge number of lag issues caused by improperly written scripts working with channels. So that could be a good reason to go and master your skills in the topic.

Once you understand how to use channels efficiently & safely you may play around with states, since for the most part, it's best to split your code into different "phases" based on certain circumstances with state control.

todo:

play around with channel-related functions:

http://wiki.secondlife.com/wiki/Listen

tinker with states, and events:

http://wiki.secondlife.com/wiki/State

http://wiki.secondlife.com/wiki/Touch

http://wiki.secondlife.com/wiki/Timer

http://wiki.secondlife.com/wiki/On_rez

http://wiki.secondlife.com/wiki/Sensor

Good luck!

Link to comment
Share on other sites

You say you've just started with LSL and experimented with particles a bit.    That's great but, as you suspected, particles are one very specialised aspect of LSL.

I agree with everything that people have said here and can't really add to it other than to suggest that you start, as simple project, by experimenting with llSetPrimitiveParams to get a single prim to perform a few tricks -- change its colour from red to blue, for example,  or move 1 metre up and down when you touch it.   

Then, try to get it to do several things at once -- turn red and rotate through 90 degrees on its z axis, maybe, and then turn green and back 90 degrees the other way the next time you touch it.

Then try to get it do to that in response to a chat command -- see if you make lightbulb that changes colour and emits light in response to a command. 

That function, along with its variants, llSetLinkPrimitiveParams and llSetLinkPrimitiveParamsFast, and also llGetPrimitiveParams and llGetLinkPrimitiveParams, is one of the most useful functions in LSL, since so much of scripting is a matter of telling prims and meshes what to do under specific circumstances.      You'll soon find some practical applications for what you're learning, and once you've found a small project that interests you, you're off.

Edited by Innula Zenovka
  • Like 2
Link to comment
Share on other sites

The more important thing is understanding the limits of what you can do and how you can do it. You have to understand how to work within the limitations of the engine and what those limitations are.

Many would-be scripters absolutely fail at this and it's the difference between someone who just slaps things together until something works and someone who can create entire experiences without the sim running like DOS machine on a hamster wheel.

Link to comment
Share on other sites

You are in a virtual 3D space so if you script you want to:

- move/rotate objects in that virtual space

- manipulate/get info of objects/linksets

- communicate between scripts/objects in linksets between different objects the whole grid the whole world

Particles are only a tiny aspect of scripting, but if you plan to make a particle show you need to move/rotate/manipulate/communicate with objects and linksets.

So it depends on what you plan. The more you know the more options you have.

Link to comment
Share on other sites

A few that I think are important:

  1. SL is a multi-user environment, you only control the part of it that you write yourself.
  2. You, as a scripter are not in charge and your scripts are not a priority for the simulator.
  3. SL is good at some things, and not so good at other things.
  4. Sometimes, the thing you want to do simply cannot be done efficiently.
  5. Despite that, it is also very possible that, what you are trying to do is simply a really bad idea, within the contraints of SL.
  6. The LSL compiler is not very good at optimizing your code: choose speed/efficiency over readability/maintainability.
  7. Don't assume that anyone knows what they are doing, especially when reading other people's code.
  8. Keep the LSL wiki on hand, at all time.
  9. Try to keep up with any new functions. A new function can change the way you approach a problem completely.
Link to comment
Share on other sites

You are about to reply to a thread that has been inactive for 508 days.

Please take a moment to consider if this thread is worth bumping.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...