Notecards

Presentation Notecards


Presentation Notecards are your means of supplying the content of your presentations to the Presenter HUD. The Notecard(s) contain the text you want to read to your audience as well as commands to display images, rez objects, etc.

A SamplePresentation notecard is included which pretty much sums up all you need to know, as well as two sample objects for seeing the rez function in action.

[Insert sample notecard here]

Important Note: There should be always a carriage return AFTER the last line in the notecard. Otherwise, the line won't be read!

Adding your Presentation Notecards to the HUD


You can add Presentation Notecards to the HUD easily. Just edit the HUD and drop your notecards into the Contents tab. The HUD will automatically add your new notecard name(s) to the selection menu the next time you click the Load Notecard button.

NOTE: Make sure that the notecards stored in the Presenter have names of 24 characters or less.

Creating long paragraphs of output text


Normally, you should separate individual lines of text to be outputted by blank lines in your Presentation Notecard. The blank lines are not said to your audience, but serve to separate the lines to be output.

The LSL function that reads the text from your Presentation notecard (llGetNotecardLine) can't read more than 255 characters, which limits us if we want to output a long paragraph. To work around that limit, the Presenter HUD treats two (or more) lines separated by ENTER, but with no blank line between them, as part of the same paragraph, and joins them into a single composed line or block of text to be output. That way, we can output a long paragraph (up to 1024 characters) if desired.

Displaying images and rezzing objects


The HUD also understands two special tags at the beginning of a line: [I] and [R]. If it finds a single line beginning with either of these tags, then it performs a special action, as detailed here.

IMPORTANT: The next line after an [I] or a [R] must be a blank line.

[I]UUID

This line causes an image to be displayed on the Image Display Screen. When the HUD finds a single line with this format, the image with the specified UUID is transmitted to the Image Display Screen. See "The Slide Projector" below for additional detail and options.

[R]OBJECT_NAME|position|rotation

This line causes an object to be rezzed in world at the position and rotation specified. During your presentation, you don't need to lose time looking for a item you want rezzed in your inventory: Let the HUD rez it for you by placing the name of the item as outlined into the presentation notecard and a copy of the item into the HUD contents tab. You will see specific examples in the SamplePresentation notecard mentioned above.

Both position and rotation are expressed in standard Second Life vector format: <x, y, z>. When the HUD finds a single line with this format, it performs these operations:

  • Gets the current position and rotation for the avatar wearing the HUD.
  • Takes the <x, y, z> vector as an offset from the avatar position.
  • Rezzes the object OBJECT_NAME (which must be in the HUD contents) to avatar_position + <x, y, z>, applying the rotation indicated.

NOTE ABOUT THE ROTATION: To make this easy, rotation is the rotation vector that you will see in the edit window when you edit the object. Put the rotation you want for the object when your avatar is looking at EAST direction. That is: make your avatar look towards east, rotate your object correctly with this setting for the avatar, edit the object and copy the three rotation angles in vector format where the notes reader expects a rotation.

For your convenience, you will find an object in your folder called Reference System - Don't rotate! This will help you orient yourself and determine the correct rotation vector for your object. Rez the object: You will see it is a set of axes oriented to east and north. As indicated in the name, DON'T ROTATE this object, or it will lose its value as a reference.

Now, face your avatar directly towards the east, using the tool for reference. Rez the item you want to be able to rez automatically during your presentation. Move it and rotate it as you need it with your avatar facing east.

When you have put the object where you want relative to your avatar, with you facing east:

  • Edit your object and open the Object tab in the Edit window.
  • Note the x, y and z parameters in the "Rotation" section of the Object tab, near the lower left.

These are the rotation values you need to insert in the [R] command in your presentation notecard.

  • The last set of three numbers is the rotation as you get it from the edit window.
  • The set of three numbers in the middle is the offset for the object, from your avatar's position.
  • And the axes of the Reference System are telling you what each number represents.

For example, if you have this command in your presentation notecard:

[R]object name|<1.0, 2.0, 3.0>|<0.0, 0.0, 90.0>

Then the vector <1.0, 2.0, 3.0> would mean you want the object to be rezzed:

  • 1.0 is one meter in front of you,
  • 2.0 is two meters to your left,
  • 3.0 is three meters above you.

And the second vector <0.0, 0.0, 90.0> would be whatever x, y and z rotation values you noted from the edit window of your object.

You can use the ad hoc chat feature to rez an object on the fly during your presentation. To do this, type the slash and channel number followed by [R]OBJECT_NAME|position|rotation. For example, typing:

/3 [R]TEST_OBJECT|<2.0, 0.0, 0.0>|<0.0, 0.0, 0.0>

Into local chat will cause the TEST_OBJECT prim (which must be in the Contents of the HUD) to be rezzed 2 meters in front of your avatar, with the same relative rotation as your avatar.

Special formatting for script snippets


New functionality has been added to the HUD, especially useful for scripting classes. If we have something like this in our notecard:
\n
default\n
{\n
state_entry()\n
{\n
}\n
}

the output will be this, in chat:
default
{
state_entry()
{
}
}

which makes it easy for people copying and pasting the code when this is needed.

IMPORTANT: This is limited to a maximum of 1024 characters to be output in one block. This is a limit on the llSay (whisper, shout) functions, and can't be overcome. Normally, 1024 character paragraphs are way too long and unlikely to be used, but this is more likely to happen when we add code blocks, so be careful with it, or the code will be cut.

Linking multiple presentation notecards


The HUD is ready for using notecards as long as you need them. There's no need to split your presentation into several notecards if they contain too much text.

However, if for some reason you wish to use more than one notecard in your presentation, there's a command that directs the HUD to load a linked notecard within the notecard you've chosen via the menu:

[L]NotecardNameInInventory

The way this works is: you choose your initial notecard from the Load Notecard menu. If the notecard contains the [L] command, the notecard specified will be loaded at the end of your current notecard, so you can extend your presentation, although you may never need this since the limit for notecards is 64KB of text. However, you may prefer to keep your presentation material organized in smaller modules.

IMPORTANT: This command MUST BE located at the end of your notecard, if you use it.

Comment Lines


All lines beginning with:

//

will be interpreted as comments. They won't be said in local chat, but in owner-say text (usually, yellow), so you alone can see it. This is useful for you to embed reminders to yourself about actions you may want to take at any point in your presentation. For example, you can to add comments to parts of the presentation where there should be a discussion, so you can note exactly where and formulate the questions/remarks/call for input needed in the moment.

When a comment line is read from the Presentation Notecard, it will appear on the text panels of the Presenter HUD in bright yellow text, preceded by the alert, INCOMING COMMENT LINE!