In one of the previous posts I've mentioned I was coding a bit...
The alpha tests seem to have gone reasonably well, so I am opening the beast to the public beta.
What is it: it is an in-world interface to del.icio.us, to retrieve and visit the SLURLs that you would pick up on blogs and other out-of-world sources.
Setup: create a notecard with two lines - first one being your del.icio.us username, the second being your del.icio.us password, then wear the hud, and drop the notecard onto it.
The SLURLs that you want to visit from in-world should have 2 tags: "slurl" and "visit". Then they will be picked up by the HUD and shown to you.
By clicking on the text shown in the HUD, you will be offered a TP to the destination, and after you have visited the place and possibly created a LM for it, you can click on the red square next to the text to remove the "visit" tag - after which it will no longer show in the list.
Where to pick it up ? I've put a vendor next to the primskirtbuilder area (see the banner on the right side of the blog), as I was a bit lazy to tweak the script, I've put the symbolic price of L$1 to still make it function.
The beta lasts till 25th of June, after which time all the beta copies will self-destruct - and either we might have another round of beta, or if the beta proves successful and bug-free, then I start distributing it.
Please put your comments about the behaviour/functionality/etc. into the comments to this post, so we avoid any duplicate reports.
Saturday, June 9, 2007
DeliHUD 2-week public beta starting NOW!
Posted by
Dalien
at
5:31 PM
1 comments
Friday, June 8, 2007
Adding the mood...
I deliberately did not talk too much about states and asked a question about state_entry :)
Today we go with a slightly more interesting example to try.
Create a new object, and put the following script into it.
default
{
state_entry()
{
llOwnerSay("I am serious");
}
on_rez(integer i)
{
llOwnerSay("rezzed serious");
}
touch_start(integer total_number)
{
llOwnerSay("changing state from serious to happy...");
state happy;
}
}
state happy
{
state_entry()
{
llOwnerSay("I am happy!");
}
on_rez(integer i)
{
llOwnerSay("rezzed happy");
}
touch_start(integer total_number)
{
llOwnerSay("changing state from happy to serious...");
state default;
}
}
this script has two states, which represent the moods - one - default - is serious, and the other is "happy". (hmm can I be happy while still being serious ? I guess so, but anyway let's assume it is not the case for training purposes :)
This script switches to another state when the object is being touched.
By playing with it, we can find few interesting things:
- the "state_entry()" gets called every time the object enters the state
- after script editing the first state is always "default"
- taking the running script into the inventory does not change its state
Why would the states be useful ? They could be helpful to alter the behaviour of the script you have - like in this case, the touch of the object causes different reactions.
Also, you can see the logic in the script quite easily. However, changing the state does reset some things, for example, listeners which are installed using llListen, so this is something to keep in mind.
Homerwork:
- modify the script such that it contains the third state, "sad", and the clicks
on the object cause transition serious->sad->happy-serious (etc). - take a look at the state_exit event, and try to put some wording into it - and see when it does get executed.
This should provide enough material to experiment with, till the next post.
Posted by
Dalien
at
3:57 AM
2
comments
Labels: lsl basic
If you got an IM from a stranger and desperately want to reply..
...but the search is down... you can use the IM relay that I quickly cooked today.
it's in the primskirtbuilder area, grab the copy and follow the instructions...
Note: not all names might work, only those that are in the w-hat database.
Posted by
Dalien
at
3:48 AM
2
comments
Labels: lsl
Thursday, June 7, 2007
Poly ticks
Eccentrically centric (ad)venture capitalist, and all in all exclusively positive av (the negative traits are printed in tiny letters on the backside of this browser window (grab the viewer here if you are so inclined to see) is looking for a political figure to represent his interests.
The candidate has to be:
1) female (reason: obvious)
2) smart (as a prerequisite to get the better results in (1)
3) cute and fun and enjoy the life (a decent politician has to enjoy the own life before making others' life better - otherwise the things will only get worse)
any takers ?
hmm I think I've just found precisely the candidate - Vint.
The platform looks good. The prerequisites are perfectly met. So - I VV!
Posted by
Dalien
at
10:50 PM
4
comments
Labels: poly ticks
What's in those bags with garbage ?
Ok, apparently the first post caused very unexpected (by me that is :) positive reaction, so let's continue.
Again, I set the pace rather slow, so that noone would stress too much.
Let's return to our small example and study those "trash bags" with curly brackets.
default
{
state_entry()
{
llSay(0, "Hello, Avatar!");
}
touch_start(integer total_number)
{
llSay(0, "Touched.");
}
}
So, first - the outermost layer. The green thing. In LSL it is called state.
Those impatient can read up about it on wiki, for the rest - just consider this construct a part of reality for now. we'll deal with it later on sometime.
Now, the blue and red things.. those are more interesting. They describe how your script should react on certain events. There're a couple of dozen of events or so which can happen - and in the above code, inside those blocks you define what to do for each of the events.
Question: why is there a brown-coloured thing for the red-coloured event ? It is a way to say "when this happens, there will be some other information arriving". For this particular case, it will be the integer, which says how many agents are just starting to touch the object.
Some homework for those interested:
- find out what is "state_entry()" used for
- what does "0" in llSay mean and do you think it is the best way to have have it used in this way ?
- for the daring ones: find out how to do such that only you (the owner) could hear what the script is saying.
Posted by
Dalien
at
3:21 AM
3
comments
Labels: lsl basic
Wednesday, June 6, 2007
Basic LSL
There's been ton of the various tutorials and such about LSL, so not sure if this would be of use for anyone... but since a couple of folks said that this might be fun, here it goes. I will take an assumption that the reader is not very well versed in coding, so it is also an opportunity for me to exercise my explanation skills - and to start really really basic. So if this is boring for you - I will try to put some more spicy stuff inbetween :)
Let's take a practical approach - pushing random buttons and seeing what happens :)
Create a cube, and hit the "New Script" within the "Content" tab.
As a result we get "New Script" which looks like this:
default
{
state_entry()
{
llSay(0, "Hello, Avatar!");
}
touch_start(integer total_number)
{
llSay(0, "Touched.");
}
}
Now, what what here, and why so many curly braces ?
if you look closer, you will see that all of this seems to be similar - a series of nested structures.
And at highlevel it looks like this:
some-name(maybe brackets and some more brackets)
{
some-inside-stuff
}
This kind of logic is very frequently used in computer science - and not only.
When you have tons of garbage that you do not want to see spreading around the house, you take a bag, put all the garbage in - and put the label "garbage". And you know that it contains various garbage.
Same in the computer science - the concept of packing multiple things and then referring to them by a single name allows to abstract away "the garbage" so that you can operate at a higher level of abstraction.
Posted by
Dalien
at
3:34 AM
5
comments
Labels: lsl basic
Tuesday, June 5, 2007
Thanks to Vint...
...Everyone can now enjoy this nicely looking ad instead of a catastrophic hack that I had made. Vint, did I already say today you're great ? :-)
p.s. yeah, and my snapshotting skills are not much better than my photoshop skills, I know :-))
Posted by
Dalien
at
6:43 PM
4
comments
Labels: primskirtbuilder
Bit more coding...
Zoe has mentioned something interesting (and thanks a lot to Vint for pointing me to it...)
The inworld beast is currently in early alpha cycles.
Posted by
Dalien
at
7:22 AM
7
comments
Labels: lsl
Sunday, June 3, 2007
Bloodsucking creative teleporter
Today I finally got myself to teach my small pet peeve (aka "The Bloodsucker") to do something more useful rather than just wearing the holes in my shoulder bone...
Now it allows me to push the current position to the del.icio.us, and for everyone else it gives a convenient service of telling the SLURL of the current place where I am.
The complementary function (which this animal should assume soon) is a bracelet, which holds the list of all the sims, and teleports into the middle of the random sim when clicked.
The linkroll on the right represents exclusively slurl, stored on del.icio.us, derived mostly from this method (there are old links there, do not pay much attention to them, it was a previous project).
A question: would the folks find such a beast useful ? what functions would integration to del.icio.us have ?
Posted by
Dalien
at
4:10 AM
3
comments
Saturday, June 2, 2007
live music: Bonfire, tres bon!
I've been to a nice music event today - Bonfire 2007 festival, made on the sim of the Colorado Technical university (Colorado Tech). It's still going on - 24h of live music!!!
Awesome atmosphere, and diverse music. The feeling was very much like that of a real event - very professionally built stage, and smooth mixing with some relevant blabla inbetween the artist shows :-)
Very nicely done, folks! (The only caveat was that I did feel thirsty the entire time, but maybe it is just my ill reflexes :-)
And, speaking about the live music... a shameless plug :-) I'm gonna be playing tomorrow @10am PDT (which is 7pm CET, so euro-friendly) @Cherry - so feel free to drop by...
Posted by
Dalien
at
4:37 PM
0
comments
Labels: music
