Slide Show Control Bot
- Introduction
- Requirements:
- How to configure the bot:
- How to configure the bot for the action line replacements:
- 1, Predefined Action Lines:
- 2, How to define the slides:
- How to create separate subsets/groups of the slide show if you are using MySQL database:
- How to set up objects within your world for the slide show:
-
Slide show object(s)
- Slide show control objects
- Show the first slide:
- Show the next slide:
- Show the previous slide:
- Start an automated slide show:
- Pause an automated slide show:
- Resume an automated slide show:
- Comments
- MySQL Table format
Introduction
The bot is able to conduct a slide show in AW type environment by specially formed action lines on objects.
There are two working method for the bot:
1, Controlled fully by clicking on special objects within the 3D window (please note, only the bot's owner can click on the show control objects!)
2, Control the show through the bot's GUI.
Requirements:
The bot owner should have at least one free bot rights left.
The bot should have enter, bot and build rights in the world.
There should be at least one object which displays the slide show content within the same sector the bot is.
How to configure the bot:
First you should set the bot owner's credentials, the world name and the bot/show location:
BotName, BotAvatar (only when it is not a global bot),
WorldName,BotLocation edit fields and GlobalBot checkbox. BindAddress
should be set to one of your computer IP addresses, if it has more than
one IP.
One can hide the local show control buttons by unchecking the
GUI_Control checkbox. Unchecking the UseSlideList is only for
experienced users who want to set all slide format inworld instead of
within the bot.
The slide show source now is either directly from the bot or loaded from a MySQL database:

or:

How to configure the bot for the action line replacements:
1, Predefined Action Lines:
Next you have to set the predefined action lines by either using the
DefaultToLocalSlideList button or by editing the appropriate lines
within the list.
The bot uses standard C print formatting styles.
The first action line using 2 %s parameters, where the first will be
replaced by an element from the Slide Picture URLs and the second %s
will be replaced by the corresponding element from the Slide Web Page
URLs.
The second action line has only one %s parameter which is replaced by the current Slide Picture URLs.
The third action line is like the second one except it uses the Slide Web Page URLs list.
The rest is like the first one.
Be careful that the resulting string is not longer than 240 characters!

2, How to define the slides:
Next, you should fill out the Slide lists.
Each slide has
five parts they belong to each other: the picture's URL
, the web page URL, the corresponding chat message, the duration it
will be shown when in a timed/automatic slide show mode and a
Remark/Comment for your convenience. Any of them can
be empty - the bot will not change the corresponding objects.
The URLs doesn't have to have the http:// prefix. You can insert/delete
a slide within the slideshow by selecting a slide you want to insert
before and right clicking on the line. There is a popup menu where you
can select to insert or delete the selected slide. After insertion,
don't forget to fill at least one of them otherwise the bot will
consider it as the end of the slideshow!

and:

and

and:

and finally:

When you are satisfied with all the list elements, you can save it to
your MySQL database. The bot uses the SQLTablename for storing the
sets. Each set is uniquely identified by the CitizenNumber and the
setname. Having Citizen number assigned to sets allows that particular
citizen to control the slide show when it is loaded - not only the bot
owner or the Moderator.
How to create separate subsets/groups of the slide show if you are using MySQL database:
You should first load your base slide show with all the slides. When
you decide what sequence and which slides you want to create another
set, then write/memorize the sequential numbers of the slides. Click on
the Create Set button. Please note that the Create Set button will
carry your new set's name!
List the slides from the current settings in any order you want to see
them in the ListOfSlides field. Separate the elements with "space" or
comma. Clicking on the Create Set .... button, it will save the newly
constructed slide sequence to the database.

How to set up objects within your world for the slide show:
Slide show object(s)
Slide show object action line should contain:
;slideb x; where x is a number, which selects which action line the bot's list should be used.
When using the default action lines, use:
;slideb 1; for an object which
can hold both the picture and the corresponding web page within the
same action line without exceeding the 240 character limit.
;slideb 2; for the picture object and
;slideb 3; for the web page object.
There can be multiple objects with the same action line - all will be updated for a greater audience.

Slide show control objects
There are 6 different commands the bot can execute:
Show the first slide:
;slidefirst x y; where x and y are optional and designates the first and the last slide number.

Show the next slide:
;slidenext; Clicking on those object will advance the slide show to the next slide. If it reached the end, it wraps around.

Show the previous slide:
;slideprev; Clicking on those object will backward the slide show to the previous slide. If it reached the end, it wraps around.

Start an automated slide show:
;slideshowtime x;
Where x can be the interval between slides in second or the world
"random" to let the bot pick a random value. When the UseSlideList is
checked at the bot parameters, then the time value and randomness is
taken from the bot's parameters, so the value can be totally omitted.

Pause an automated slide show:
;slideshowpause; When clicked the automatic show is paused.

Resume an automated slide show:
;slideshowcontinue; When clicked, the slide show continues automatically from the current slide.

Comments
When you click the StartBot button, your window should look like this:

And you can check the logs if the bot did not start:

MySQL Table format
The bot is capable to read the data from a MySQL Database.
The Table name, Citizen number and Set name uniquely identifies a slide
show. Each table has a corresponding table_format table which holds the
Action Lines formatting strings.
The sequence number within a slide show defines the sequence of the slides appearance.
mysql> describe myshow;
+------------+-----------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------+-----------+------+-----+---------+-------+
| citnum | int(11) | NO | PRI | 1 | |
| setname | char(16) | NO | PRI | | |
| sequence | int(11) | NO | PRI | 0 | |
| picture | char(255) | NO | | | |
| webpage | char(255) | NO | | | |
| consolemsg | char(255) | NO | | | |
| duration | int(11) | NO | | 10 | |
| remarks | char(255) | NO | | | |
+------------+-----------+------+-----+---------+-------+
8 rows in set (0.03 sec)
mysql> describe myshow_format;
+-------------+-----------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------------+-----------+------+-----+---------+-------+
| citnum | int(11) | NO | PRI | 1 | |
| setname | char(16) | NO | PRI | | |
| sequence | int(11) | NO | PRI | 0 | |
| printformat | char(255) | NO | | | |
+-------------+-----------+------+-----+---------+-------+
4 rows in set (0.05 sec)
Example:
+--------+----------+----------+--------------------------------------+----------------------------------------------------+-----------------------------------------------------+----------+-------------------------------+
| citnum | setname | sequence | picture | webpage | consolemsg | duration | remarks |
+--------+----------+----------+--------------------------------------+----------------------------------------------------+-----------------------------------------------------+----------+-------------------------------+
| 236 | thirdset | 1 | | http://www.andras.net/sonypics/sonypics1a0003.html | after pause | 15 | |
| 236 | thirdset | 2 | www.andras.net/sonypics/dsc00063.jpg | | Maximum 252 character long message can come here!!! | 10 | |
| 236 | thirdset | 3 | www.andras.net/sonypics/dsc00247.jpg | http://www.andras.net/sonypics/sonypics1a0062.html | third slide | 5 | |
| 236 | thirdset | 4 | www.andras.net/sonypics/dsc00063.jpg | | Next one | 20 | |
| 236 | thirdset | 5 | www.andras.net/sonypics/dsc00062.jpg | http://www.andras.net/sonypics/sonypics1a0060.html | This is the first slide | 15 | Ninc's semmi hozzafuznivamom! |
If you prefer to control the slideshow from your computer by the GUI, then you need only the slide object(s).
If you prefer to use the Click Object method, then you should
create several object for the slide show control (all control objects
are clickable only by the bot owner or its privilege):
This bot is a commercial one. Please contact me (andras at andras dot net) or AW Europe for a licensed copy.
Page visited since 8/7/2008: