Keep Informed

Entries in LSL Action Wizard (1)

Sunday
Oct232011

MUG Meeting Oct 24th, 2011 

[16:57]  Antonius: Well hello!
[16:57]  Pilot: Howdy ol' mate :)
[16:57]  Antonius: It's been awhile.
[16:58]  Antonius: How've you been?
[16:58]  Pilot: Flatout like a lizard drinkin' mate, lol.
[17:01]  Antonius: Sorry to hear.
[17:01]  Pilot: Ah well, there are people worse off than me mate. Do the best I can when I can, the only thing is that it is so frustrating, lol.
[17:02]  Antonius: I hear you.
[17:03]  Antonius: Got to take it day by day I guess.
[17:03]  Pilot: Trees to trim, mulch to make, lawns to mow.... chooks to chase, lol.
[17:03]  Antonius: chooks?
[17:04]  Pilot: Chooks.... Stone the bloody crows you guys really do walk backwards, lmao... Chooks = chickens, lol.
[17:04]  Antonius: I'll have to add that to my Aussie list.
[17:04]  Pilot: hahaha
[17:04]  Antonius: Hello Leona and welcome!
[17:04]  Leona: Hullo
[17:05]  Pilot: G'day Leona :)
[17:05]  Antonius: This here is Pilot.
[17:05]  Leona: Hullo there Sir. :)
[17:05]  Pilot: Sir????
[17:05]  Pilot: ducks, lol.
[17:06]  Antonius: Take the respect when you can get it Pilot. LOL
[17:06]  Antonius: Leona, you recently purchased MOAB right?
[17:07]  Leona: I am still getting to grips with it and curious about a few details also
[17:07]  Antonius: Thanks so much. That's what we're here for.
[17:08]  Pilot: Welcome to an elite group Leona :) I'm still a "gummy" user, but MOAB is brilliant mate. :)
[17:08]  Antonius: Don't play pool with Pilot. He's really a shark.
[17:08]  Pilot: Oy!
[17:08]  Leona: And I'm a Manta Mermaid, so we'd get along well I feel
[17:08]  Pilot: lol
[17:08]  Antonius: I should mention that I periodically look at the Group chat log and I should thank-you Leona for responding to some of the queries that have been coming in.
[17:08]  Leona: Paying for a good tool, I am thankful there was a demo I could check first.
[17:09]  Antonius: Did you both see the notice on the pre-release notes for v1.0.3?

[17:09]  Leona: Not sure if you have site statistics, but I've heard tell a few people i recommended this to, were trying it out,.
[17:10]  Pilot: :)
[17:10]  Antonius: I only track how many downloads occur vs. time. and of course hits on the main website.
[17:10]  Leona: I did, i was most pleased by the unflagged variables part
[17:10]  Leona: Particularly in custom functions x)
[17:11]  Antonius: Yes, I think that will relieve much frustration.
[17:11]  Antonius: Pilot, did you see that I changed those menu items that you had asked for awhile back?
[17:12]  Pilot: No I didn't mate. Been super busy,
[17:12]  Leona: There was a UI tweak i was hoping to suggest, if it hasn't been already.
[17:13]  Leona: Quite a Minor one really, though I know from experience in Visual Basic, minor tweaks are the most annoying to add. x)
[17:13]  Pilot: I got dogs barkin' and the Boss harassing... bit lost atm, lol.
[17:15]  Antonius: I thought life in the Outback was peaceful Pilot?
[17:15]  Pilot: Stone the crows!
[17:15]  Antonius: Go ahead Leona. v1.0.3 is pretty much frozen right now. If it's really minor, maybe....
[17:15]  Leona: The actions editor, with the datagrid layout? The datagrid can get very small, and hard to get a feel for, and would like to see a separator bar, perhaps, that you can slide up and down to make more of it visible
[17:16]  Leona: Being a modal dialog box, means you can't resize the box itself.
[17:16]  Antonius: Yes that is an issue that I partially addressed in v1.0.3. Now when you resize the LSL Actions Wizard, the datagrid will expand vertically as well to show any hidden parameters.
[17:16]  Leona: In that case: \o/
[17:17]  Leona: Tis the only bugbear I had with it.
[17:17]  Antonius: I believe the box could always be resized but the extra vertical space (in v1.0.2) went to the descriptive text only.
[17:18]  Antonius: In v1.0.3 the extra space will be split between the description pane and the datagrid.
[17:18]  Leona: I did try, but never succeeded, perhaps dialogs work weirdly under win 7
[17:18]  Antonius: Gee, I hope not.
[17:19]  Leona: Ah yes, it does work differently.. click in the grey corner, not the window corner. That would be my bad, though you're right, only the description resizes.
[17:19]  Antonius: There should be a resize grab corner at the bottom right to resize the modal dialog.
[17:19]  Leona: Win7; everythings brighter, and thus washed out x)
[17:20]  Antonius: One other problem I also corrected was the selection color for a row which was poor on Win 7.
[17:21]  Pilot: blinks.... Thank goodness I'm using an iMac, lol...
[17:21]  Antonius: When selected the background is dark blue with white text for much better contrast.
[17:22]  Leona: Yes, beats dark grey and black x)
[17:22]  Antonius: Yes, that was a bug, which didn't show up in XP where I do my main testing.
[17:23]  Pilot: XP??
[17:23]  Pilot: Stone the bloody crows!!!
[17:23]  Leona: Well, I'm on an Windows 7 Ultimate 64-Bit, so I'll be sure to submit whatever detailed reports it gives, to assist you
[17:23]  Antonius: You heard right- it's a good old workhorse.
[17:23]  Leona: I'd use XP if I could, only had 7 :S
[17:24]  Leona: Heck I'd use Win 2000 if there was still some support for it
[17:24]  Pilot: Yeah Ant, but I got really p*ssed when they left W98 behind, lol...
[17:24]  Leona: Win 98 was a Kludge. ¬.¬
[17:24]  Pilot: hahaha, knew my way around that system, lol... I'm an old fart Leona, lol.
[17:24]  Leona: Yes, but 98 was really just 95 OSR2.5 with the Internet Explorer 4 code fully integrated
[17:24]  Antonius: Thanks Leona! On that note would you be interested in getting an early copy of v1.0.3 to beta test it? You wouldn't have to do anything special other than to just use it normally.
[17:24]  Leona: Sure
[17:25]  Antonius: Well great. I'm just doing documentation this week and will be integration testing next week. So maybe sometime next week I'll contact you to give you a copy.
[17:26]  Leona: Sure would you like my email for that? Or, just IM me in world?
[17:26]  Antonius: Your email would be great. Send it in an IM.
[17:28]  Leona: I should really finish that door tutorial video, stopped after the first one, said woo, awesome, made my first door. o.x
[17:29]  Antonius: Yes it's a good start to getting familiar with MOAB. Do you have any questions that you'd like to ask?
[17:30]  Leona: Just one. The code it spewed out at the end seemed oddly verbose in parts, and hard to follow. Was wondering if that's intentional, and whether it had performance impact on sims. LSL is needlessly verbose already with it's ll-everything-here-in-long-text. :)
[17:31]  Leona: I am afraid I know little of LSL, whether it gets JIT compiled, or interpreted, etc. If the latter, its been my assumption that less text is more.
[17:31]  Pilot: Use the optimized, that way the comments are omitted :)
[17:31]  Antonius: When you generate the code using Generate LSL the generated code is commented so that you can follow it if you've read about how the code is generated in the documentation.
[17:32]  Antonius: As Pilot says, there is another option Generate LSL (Optimized) which will dispense with all the comments.
[17:32]  Leona: Not what I meant. An example would be: doorman_SecureDoor(integer open) as opposed to say; doorman(integer open)
[17:32]  Pilot: ah.... oops...
[17:33]  Antonius: I see. Well LSL is compiled to an intermediate form.
[17:33]  Leona: So it doesn't really matter, as I suspected. :)
[17:33]  Antonius: Which is then run on the MONO platform in an interpreted fashion in the way that .Net is interpreted.
[17:34]  Antonius: So yes, variable/function names would already have been compiled to the intermediate form before intrepreting so that name lengths would not matter.
[17:34]  Pilot: This can be a problem in SL because of the LSL editor limit on script size, but what I have been doing is limiting the size of state names to a couple of letters instead ot words.
[17:35]  Pilot: Stone the crows my typing is rotten today, lol.
[17:35]  Leona: Yes, I only really noticed when I went in to do an alteration in-world, to a particle emitter, and found it failed. It had renamed some things to add ParticleSign on the end :)
[17:35]  Pilot: Interesting...
[17:35]  Leona: So my edits needed to have it
[17:36]  Antonius: Yes you have a point there regarding the editor limit. I will make a note to look into renaming variables/functions in the optimized version.
[17:36]  Pilot: That'll be a biggy Ant.....
[17:37]  Leona: It's not an issue, curiosity you might say, that's been sated, and I thank you for that.
[17:37]  Pilot: Funnily enough, when editing inworld, it sorta makes it easy to trackdown bits& pieces, well for us gummy scriptors anyway, lol.
[17:38]  Antonius: May not be too hard to do. The code generator already keeps a text mapping table for event names.
[17:38]  Leona: I found it a little confusing the first time, as I kept seeing the script name repeated everywhere, and one of my scripter friends commented on it, so I tore a couple apart out of curiosity
[17:39]  Pilot: Yep.
[17:39]  Antonius: Well all variables are scoped in MiceOnABeam so the script name represents the top level of the model and becomes part of the fully qualified variable name.
[17:39]  Leona: But really, small issue when you find it's still so much easier.
[17:39]  Pilot: With a no limit compiler, it'd be the beez kneez, lol.
[17:40]  Antonius: Well there was some talk awhile back about 'script limits' which actually would have provided the ability to have larger scripts too.
[17:40]  Pilot: With the variables, I started entering all variables as globals, lol.
[17:41]  Antonius: The problem that SL I think recognizes that to do large scale functionality scripters have been forced to create many more separate scripts which then has a much worse affect on performance than a single larger script.
[17:42]  Pilot: With the door script I wrote, all up it has ended at a length of over 900 lines, lol.
[17:42]  Leona: Trouble with so many globals is that chugs through memory
[17:42]  Antonius: That's why SL has also been adding in extra LL functions to control linked prims so that scripters don't have to put in a separate script inside each linked prim.
[17:42]  Pilot: But I'm sure in use it doesn't impact on sim performance...
[17:43]  Leona: I try to keep mine as local as possible unless needed otherwise.
[17:43]  Pilot: Yes leona, Antonius has already chastised me over it, lol.
[17:44]  Antonius: Yes keep things as local as possible, but there are advantages to scoping your variables/functions to States too when you need to share the data among a subset of states in your model.
[17:44]  Pilot: But we still can't write to a notecard!! lol.
[17:44]  Leona: I am trying to find out how to get a script to maintain a persistent variable across rezzing, I have seen it done, in some of the posing systems, collars, etc. Till I do, such things are being stored on spare prims I add for 'memory storage' :)
[17:45]  Pilot: I still need to work more on my construction technique tho'...
[17:45]  Leona: Going to need to script an LZW library, if it gets too bad, so I can zip up the stuff into a prim description box lol
[17:46]  Antonius: ha-ha
[17:46]  Antonius: Yes the lack of persistant storage is a real problem. Many scripters for larger projects will use web storage for that and http to read it.
[17:46]  Pilot: Here it comes!!!
[17:47]  Pilot: faints.....
[17:47]  Leona: One thing I did, was to rez a prim in world and use it as a server. But llEmail is a lousy way to send information across sims
[17:47]  Antonius: uh-oh. When we get too deep into the technical stuff, Pilot will faint. LOL
[17:48]  Antonius: It's a great animation!
[17:48]  Leona: xD
[17:48]  Leona: Sorry
[17:48]  Leona: I'm still trying to run before I can walk
[17:48]  Pilot: hahaha
[17:48]  Pilot: Mate, ya much further advanced than this fella :)
[17:48]  Leona: I was asked to pass along a query, though I fear it may have been merely as a joke; A friend wanted to know if you're planning to do one for Java, or C.
[17:49]  Antonius: Are they asking to use it for SL?
[17:49]  Leona: I got MiceOnABeam to take the pain out of scripting, so I could focus on the thing I wanted to, which is to learn the RLV API, and script my own RLV toys.
[17:49]  Leona: They said, and I quote: Wow, this is good, is he planning to make a visual tool for Java?
[17:49]  Pilot: Coooooooolllllllll
[17:51]  Antonius: There are tools in RL where you can use UML with Java, C, etc to auto-generate code. They are of course fairly expensive.
[17:51]  Antonius: At one time SL was going to support C# as an alternative to LSL. If that happened I would definately support it in MOAB.
[17:52]  Pilot: You're fishin' for another faint aren't ya Ant? lol
[17:52]  Antonius: OpenSim I believe does support C# but I'm not sure how robust or complete that implementation is wrt LSL.
[17:52]  Leona: I was curious what the 'Component Library' is for
[17:53]  Pilot: Best invention Leona :)
[17:53]  Antonius: You can take parts of your model that you would like to reuse and save it as a component that you can then import into another model.
[17:53]  Leona: Ah, now THAT is cool
[17:53]  Pilot: hahaha
[17:54]  Leona: And tres handy once I get my head around Marine's dumb API
[17:54]  Antonius: See the section in the documentation: Reusable Components
[17:54]  Pilot: You still got that pic of my project Ant?
[17:54]  Antonius: I think so. I'll check.
[17:54]  Leona: hides face, "Yes, the old RTFM... I.. yes.."
[17:55]  Pilot: The menu and ist state - NC reader were set as components....
[17:56]  Leona: Well MOAB went up a notch in the awesomeness scale then. =) Which is hard to do, when its your number 1 app.
[17:56]  Antonius: I think my screen is down...
[17:56]  Pilot: hahaha
[17:56]  Leona: Invest in a Leva Home. *cough*
[17:57]  Antonius: I'll check into it!
[17:57]  Pilot: lol
[17:58]  Leona: Or, script your own, I know this fantastic tool, MiceOnABeam, makes it easy. ;)
[17:58]  Antonius: I got it. Their web site must have been down.
[17:58]  Pilot: I just dropped the texture over to Leona.
[17:58]  Leona: Can I borrow your feint gesture? lol
[17:59]  Pilot: hahaha, it is a no transfer animation Leona, sorry, lol.
[17:58]  Antonius: There's Pilot's door script.
Just about does everything you can imagine except serve ice cream!
[17:59]  Pilot: I had to leave that out Ant, due to script length limitation in SL, lol.
[17:59]  Leona: Seems like a complex schematic, for a door.
[18:00]  Pilot: All opened up to show all states within states, lol.
[18:00]  Antonius: He really put a fair amount of functionality into it.
[18:00]  Pilot: Told you my construction needed work, lol.
[18:01]  Pilot: The beauty of it is that if you need double doors, you simply copy the first and the second will operate in unison :)
[18:01]  Antonius: The thing with Composite States, is that you can focus on only smaller portions of a complex design at a time.
[18:02]  Antonius: Pilot put it all on one slide, just to impress the ladies.
[18:02]  Leona: And here's me thinking a door merely had to open or close. =
[18:02]  Leona: =)
[18:02]  Pilot: There's actually very little actual code written by me, I let MOAB do all the work, lol.
[18:03]  Pilot: And look at that little Apple in the top LH corner, lol.
[18:03]  Leona: Heck, don't think I did anything myself really, the one complicated thing I did was still drag n drop
[18:03]  Antonius: Of course the video tutorial door
is quite simple and the model structure is easy to understand.
[18:04]  Pilot: Holy Smoke!!!
[18:04]  Leona: Course, can't add things when worn x)
[18:05]  Leona: But, it was to be a drag n drop sign
[18:05]  Leona: Drag a texture over it, drop and poof, emits it as a particle
[18:05]  Antonius: I turned off rezzing re: griefers.
[18:06]  Leona: Need to work on it, since the drag and drop only works on the emitter prim which is invisible. but hey, not a bad first script
[18:06]  Pilot: This project of mine was buit using a free door script and then modified using Antonius' tutorials, lol.
[18:07]  Leona: I dread to see the schematic for a vehicle, or a gun. x)
[18:07]  Leona: The code is petrifyingly complex as it is
[18:07]  Pilot: Yeah, eventually I'd like to write my own vehicle script.
[18:09]  Antonius: Well it may not be so bad. Remember the detailed algorithmic code would still be put into functions. The overall logic would be captured visually. So IMO it would be easier to understand the script in MOAB than searching through hundreds of lines of LSL code directly.
[18:09]  Leona: Probably right, most of it would be quite circular looking
[18:09]  Pilot: Not wrong there ol' mate...
[18:09]  Leona: Circles are cool
[18:10]  Leona: I do think you should do a little more advertising though, a little unrelated to the app I know
[18:10]  Leona: I found MOAB through the market and entirely by accident
[18:10]  Pilot: Circles are confusing and intimidating, lol.
[18:10]  Leona: It was on the select products, list when looking for a sculpted prim
[18:11]  Leona: I have, like 40 prims at my store in Little Blue, if you have a landmark/information giver you can give me to rez there.
[18:11]  Leona: Try not to make it an actual 40 prim infoboard tho x)
[18:12]  Antonius: You're right. I do some advertising on the SL ad networks and I used to advertise when SL offered that service too.
[18:12]  Leona: But the builders and scripters there would love this, and its not something you can rez in world and say, click this to make a script
[18:12]  Pilot: lol... Those givers are available in the free scripts area of wiki, and are easily transposed to MOAB :)
[18:12]  Antonius: Can I give you my vendor?
[18:12]  Leona: Sure, if you wish to.
[18:13]  Antonius: I'll set one up and send it to you later. Thanks!
[18:13]  Antonius: It's what you see on the wall to the left of the screen.
[18:13]  Pilot: I have a board in my hangar that givers a LM to here if clicked :)
[18:13]  Leona: Need to replace that horrid affiliate vendor from ???, after I discovered he/she is a copybotter, and thus goes against my business practices. So it'll sit nicely next to the sculptor one. =)
[18:15]  Antonius: My vendor is safe. Written in MOAB of course. On the screen is the model for a sword animation model I wrote.

[18:15]  Leona: How on earth did you come up with the name, though?:) in the videos you say it so fast, it sounds different to how it's spelled.
[18:15]  Leona: checks it out for ideas.
[18:16]  Antonius: It's a transliteraton from the French word Mise-en-abyme.
[18:16]  Pilot: IMO, MOAB has something to do with 'house', one of those crazy Canadian ideas, lol.
[18:16]  Pilot: Oops...
[18:17]  Pilot: Still, one of those crazy Canadian things, lol.
[18:17]  Antonius: The word basically refers to recursion and I thought that represented MOAB's capability to have states within states ad infinitem (subject to memory of course!).
[18:17]  Leona: I was hooked the moment I hear the word 'state' twas a term i was familiar with
[18:18]  Leona: And anything that stops me typing llReally?MoreLL's is a godsend
[18:19]  Antonius: Here's the vendor model
Clearly more complex, but still understandable.
[18:19]  Pilot: Holy Smoke!!!
[18:19]  Antonius: I will be updating it to v1.0.3 which should clean things up a bit with the use of the new Junction Point to merge transitions.
[18:20]  Leona: Yep, better finish that door tutorial quick, so I know what a choice point is, before I get to the junction ones.
[18:20]  Antonius: Right!
[18:21]  Leona: It didn't make sense, since if...else is a 'choice' to me. So need to see what it translates to before I use it
[18:21]  Antonius: The vendor does a fair bit including option menu's and http to my back end server to record the sale.
[18:21]  Antonius Frentis whispers: Yes, if...else is a low level choice. You use a
[18:22]  Antonius: Use a Choice Point when upon receiving an event you have to move to one out of a number of states depending on the value of some variables or event arguments.
[18:23]  Leona: AHhhh... the function I've been screaming for then? Like VB's 'Select Case'? :)
[18:23]  Antonius: So it's a higher level concept used only at the state level.
[18:24]  Pilot: If... Then..... Else....
[18:24]  Antonius: Well it can operate like a Case statement, but don't use it to implement low level coding Case choices.
[18:24]  Antonius: Again, use it when as a result of receiving an event you have to decide which state to go to.
[18:25]  Leona: I'll do the tutorial, the first was clean and easy to understand, the others no doubt are also.
[18:25]  Antonius: The door tutorial is a good example of using Choice Points.
[18:25]  Leona: Also, I'll spend this weekend RTFMing
[18:26]  Pilot: if ((access == "All" )||( access == "Group" && llDetectedGroup(x)) || (llDetectedKey(x) == OwnerKey) || (access == "Owner" && OwnerKey == DetectedUser)||(access == "List" && approved))
[18:27]  Antonius: You can see on the screen when in the Closed state and an touch-end event occurs, you go to a Choice Point to test whether the avatar is permitted to open the door. If not you return to the Closed state. If ok, you go to the Opened state.
[18:28]  Leona: Well, It has been an interesting meeting. But I fear I must depart. But I will take a look at that tomorrow
[18:28]  Pilot: Nice to meet you Leona :)
[18:28]  Leona: The videos are handier than static images I find, as I'm a visual learner
[18:29]  Antonius: Yes time to sign off. Thanks so much for coming Leona and hope to see you again.
[18:29]  Leona: Nice to meet you too. Can't wait till the next one
[18:29]  Antonius: If you have any questions don't hesitate to send an email to support@miceonabeam.com
[18:29]  Leona whispers: I shall, thank you Sir. =_
[18:29]  Antonius: have a great week Pilot!
[18:29]  Pilot: Same to you mate :)
[18:30]  Antonius: Bye and take care of yourself.
[18:30]  Pilot: See ya later :)