Well, as you know Pixologic now has the ZScript library up and running with a standing invitation for people to submit new scripts. Also, a lot of scripts are starting to appear here at ZBC. Since there seems to be a bit of confusion for how to add notes into a script to turn it from a recording into a tutorial, I thought I’d take a little time to give ya’ll the nuts and bolts of it.
The bottom line is that it’s almost too easy to do.
The basic command is:
[Note,“This is the text of the note.”,Command:Arrow,Timing]
Here’s the breakdown:
Note – required. Tells the computer that it’s a note, which is the grey box.
“Text Section” – Whatever you put in here will appear within the grey box, exactly as you’ve written it. The quotation marks tell the computer that it’s a formatted string. You are limited to 255 characters.
Command:Arrow – Any interface item that you name here will be pointed to by the note. For example,
Tool: – This points to the entire Tool palette
Tool:Modifiers: – This points to the Tool modifiers menu
Tool:Modifiers:Selection:Alp – This points to the Mask from Alpha button
For the first two above, you see that they end with a colon (":"). This tells the computer that you are referring to a menu group rather than a specific item.
Timing – This tells what to attach the note to. This is useful for creating a single note with multiple arrows, or for creating a long note of more than 255 characters.
Here’s an example:
[Note,Material:Modifiers:Transparency,-1]
[Note,“This note will point to the Transparency slider in the Materials menu and to the entire Tool palette.”,Tool:]
The first note has no text, but only a pointer and a timer cueing the note to go off with the next note (thanks to the “-1”). Notice that you can leave variables off of the end of the Note command, but if you leave anything out of the middle you still have to insert commas with nothing between them to show that the variable is blank. The second note actually contains the text, along with another pointer to the Tool palette.
Another example:
[Note,“This is going to be a really long note with lots of stuff to be said in it. I know that it is going to exceed the maximum limit of 255 characters.”,-1]
[Note,“As a result, I am breaking it up into two separate notes. But thanks to the timing commands it will tie them all together into one note when it plays the script.”,-1]
[Note,“As you can see, you can daisy chain notes together, one after the other, by just continuing to add ‘-1’ onto all but the last one.”]
The nice thing about notes is that you don’t have to interrupt the flow of your script. Just insert them between commands (which always start with “[” and end with “]”. The script, while playing, will fire the note as it comes to it and then require the user to click or press a key to continue the script.
Here’s an example:
[IPress,Tool:Sphere3D]
[IPress,Material:NoisePattern2]
[Note,“I am now going to select one of the materials and change its Noise Radius to 200”,Material:Modifiers:Noise Radius]
[ISet,Material:Modifiers:Noise Radius,200]
In the original recording, the only difference would be that the note wouldn’t be there. Everything else is exactly the same. One thing, though, is to be aware that some interface items do not exist at all times. For example, the Flat Color material doesn’t have modifiers. If the note were to be put in before the material was selected by the script, then that particular modifier might not be there and the script would thow out an error when it got to that point.
Finally, every single item in the menus and palettes has a number attached to it. You can refer to stuff by number rather than the entire path name. This helps in cases like the Picker where you have several instances of the Continuous button. Each has its own “official” name, though, which can be gotten by holding the mouse over the button. Or you can open the Preferences:Utilities menu. The bottom number represents the interface number for anything that your mouse is pointing at.
With the Picker situation, the script will record [IPress,Picker:Continuous]. If you were after the Continuous Color button, you could change it to [IPress,1292].
There are other things that can be done with notes, such as to add color or carriage returns. Here’s an example:
[Note,"\Cffa000 Title of the Tutorial\Cc0c0c0
\C tells it to change text colors, followed by the 6 digit hex value for that color.
serves as a character return.
Since there weren’t any arrow or timing commands added to it, all this will do is create an orange line that says “Title of the Tutorial”, followed by a blank line, followed by “By aurick” in gray.
Well, that’s a lot to absorb, but it covers the basics of writing notes in your tutorial scripts. You will quickly find that it’s much easier than writing HTML, since there are only a few basic variations to deal with. Just keep track in your head of what the script has just finished doing as you are writing your notes so that you don’t accidentally refer to an interface item that isn’t available at the moment. There are also a few more things, but these are the most commonly used ones. It’s more than enough to get you well on your way to turning out some great tutorials!
If anyone has any questions, please feel free to ask. I’ll answer whatever I can, and fully expect Davey or Pixolator to jump on me if I screw something up or leave it out.