# Tuxsaver story editor HOWTO

## 1. Introduction

If you want tux to do whatever you would like see him doing You should make own story for tuxsaver.
It isn't very difficult, all you need is a text editor (for example: kate or emacs).
How to make your own story is explained in this HOWTO.

## 2. About the stories.

A story is a text file that contains commands that say what tux has to do.
The average story is about 100s long and the screensaver randomly picks a story out of the storylist.
A storylist is a text file where all the stories are listed.

These stories and the storylist file are located in '/usr/share/apps/tuxsaver/stories' (on Mandrake/Redhat).

## 3. How to make a story.

### 3.1 The names of the objects.

There are several objects in the screensaver, the following is a list of objects that can be displayed/used in the screensaver and that are standard part of tuxsaver

Name object in story-file | Description
| penguin | Tux; the penguin of the screensaver | hat | The hat of tux. The type of hat can be tuned in the setup dialog of tuxsaver | camera | The camera. The camera films the penguin. | island | The island. (moves along with the sea) | world | The whole world; everything

You can also draw objects in AC3D (www.ac3d.org or www.download.com) and use them in tuxsaver.
How to use an object drawn in AC3D in tuxsaver:

1. Make your object in AC3D
2. Save you object in /usr/share/apps/tuxsaver/objects/nameofyourobject.ac (for mandrake and redhat)
3. Add this line: loadobject nameofyourobjectinthestory nameofyourobject.ac to the story you want to use the object in
4. Now you can use the object as if it was a normal object.

remark: AC3D can be used in windows and in linux. You can download it at www.ac3d.org or www.download.com
remark: The name of the object in the story doesn't has to be the same as the filename of the object
example: loadobject titanic titanic3.ac
  titanic move 1 5 0 6 5

### 3.2 A list of all the commands.

click here to see a list of all the commands + a description and an example of all the commands

### 3.3 How to use the commands

The story-file uses a certain structure.

  - The first word of a line in the story is the name of the object that you are going to use. (for example: penguin)
  - The second word of a line in the story is the command that says what should be done with the object. (for example: move)
  - The second word is followed by the start-time and the begin-time of the action that has to take place. (starttime stoptime)
  For example "12 13": the action will take place from the 12th second since the story started
  and the action will stop at the 13th second since the program has started.
  remark: If you want an action to take place at once, you have to make the begin time and the end time equal.(example "12 12")
  - This is followed by the 3 co-ordinates that the object has to go to. (x y z)

example: "penguin move 3 4 0 2 0" = the penguin will move from second 3 till 4 to the co-ordinates 0 2 0 (= x y z)
remark: There is an exception when using the "follow","visible" and "openmouth" command. (see "3.2")

### 3.4 What is a storyfile and how to edit?

The storyfile is the file with a list of the names all the stories.
It exists of:

1. A list with the filenames of the stories
2. A number which takes care of the frequency that stories are showed (the higher the number, the more it is showed)
remark: The number intermediates 0 (=the story will never be shown) and 100 (=the story will always be shown)
example:The story "wave" will be shown more frequently than the story "swim"
  wave 30

  swim 15

### 3.5 What do i have to do to let tuxsaver use my story?

The story-files and the story-list file are stituated in '/usr/share/apps/tuxsaver/stories/' (for mandrake and redhat)
If you want tux to execute your story:

1. You have to put your story in this directory: '/usr/share/apps/tuxsaver/stories/'
2. You have to edit this file: '/usr/share/apps/tuxsaver/stories/storylist'. Just add the name of you story to the list, and add a number which indicates the frequency the story has to be displayed with (0-99)
example: swim 15

### 3.6 Overview.

1. Open a text editor. For example kate
2. You have to say which objects that need to be shown => Use the "visible" command (example: penguin visible 0 25 )
3. You have to say which object should follow which object. => Use the "follow" command (example: penguin follow 0 25 island )
4. Type your story. => Use the commands discripted in "3.2"
5. End your story. => Use the "endstory" command (example: endstory 25 25)
  remark: It is very important that at the end of your story the position of 'penguin' is 0 0 0 (= x y z)!!!
  remark: It is very important that at the end of your story the position of 'camera' is 0 9 -38 (= x y z)!!!
  remark: It is very important that at the end of your story 'penguin' is wearing his hat!!!
  remark: It is very important that at the end of your story 'penguin' isn't wearing his sunglasses!!!
6. Copy your story to '/usr/share/apps/tuxsaver/stories/'
7. Edit '/usr/share/apps/tuxsaver/stories/storylist'. Add 1 line: the name of your story-file and a number which indicates the frequency the story has to be displayed with

## 4. It would be great if my story or object was part of the tuxsaver package next release.

If you have a good story or you have made a cool object with AC3D and you want it to be part of the tuxsaver package next release: e-mail your story to a tuxsaver developer