backIndex

Xelagot topics

Language and chat

Xelagots respond to verbal commands, that is, commands issued during a chat session. These commands can be issued in various languages. The default setting is english, but other language sets are in the make (Spanish and Dutch are available).

The language definition is kept in files in the Chat directory (folder). The default language file is Dialog0.txt. This file is for the english language, and contains all verbal commands the bot will understand.

Language files can be loaded at menu Uni | Dialog, Scripts. You can select your language there, and set it as default for a world, for a universe and as general default. You can also select your language using verbal commands. The standard language files are: (english) Dialog0.txt, (spanish) Spanish_AMD01.txt, (dutch) Nederlands01.txt

WARNING FOR ADVANCED USERS

As from version 2.999959, the language system has changed. File Lang.ini is obsolete and is not used by the bot. The language code in Lang.ini has been moved to the [Common] section of the corresponding language files: (english) Dialog0.txt, (spanish) Spanish_AMD01.txt, (dutch) Nederlands01.txt. Older versions of these language files will not work properly.
If you have made your own custom language files, check the [Common] section of these new language files (xelagot version 2.999959) and add the missing code to your own files. You can do that now, the new code will be ignored until you upgrade the bot. Read the notes in "Changes in dialog0 and lang.txt" for details about the changes.
Check also the section on Customising the language file if you modified Dialog0.txt, Spanish_AMD01.txt or Nederlands01.txt (which you should not have done, but you can still save your changes to companion files).
You can download the new language files separately if you wish to update your custom files but do not wish to upgrade the bot yet: languagechanges.zip
You can find the old outdated language page here, just for reference.


Translations

Translations of Dialog0.txt can be installed in the following way:

  1. find the name of the translation file. The only ones officially available at the moment are for Spanish Spanish_AMD01.txt, and Dutch Nederlands01.txt.
  2. in the bot menu Uni, open Dialog and Scripts
  3. look in the first section of the selector called Dialog. It contains a combo with a list of languages, a button load, and three buttons default, universe and world.
  4. click load to search for the file you need and load it.
  5. if the file is loaded correctly, its Title (the Title is in the [Common] section of the file) will appear in the combo list. Select it.
  6. then you must decide whether to hit default, universe or world.
    • if you want this language file as default language, hit default
    • if you want it for the universe the bot is in (the bot must be logged in to do this), hit universe
    • if you want the bot to use this language only in the world the bot is in, hit world.
  7. close the selector by hitting done.

If you wish to customise an existing Language file to add your own version of the commands, read here below: Customising the language file.

If you are interested in making your own translation of Dialog0.txt to another language, please note the following:

If you have made a new language file and wish to include it in the standard edition of the bot, contact the author: xelag@3dee.nl.


The sections of the language files

The sections of Dialog0.txt are:


Commands in the language files

The general structure of commands is:
cmd={command code}
arg=arguments
tag=a tag
hear=what the bot hears
say1=what the bot says in normal conditions
say0=what the bot says in case of failure
say2=some commands have more than one result, extra say lines are added
The minimal commands have only the cmd and hear lines, the say lines are required by most commands, tag is optional and stops repetitions, arg may be used to customise commands which require arguments, such as the warp command.

One special command code is the empty command cmd={}, which requires the hear and say1 lines. This code does nothing else than make the bot say the say1 line when it hears the hear line.

Commands use placeholders like {p}, {coords}. Each command code has specific placeholders, but there are placeholders common to all commands, including the empty command. The most frequently used common placeholders in the say line are:

You may specify in the Say line how the bot must answer: secretly through the program interface, in whisper or aloud. The 'target' variations are specific for commands involving a target avatar, like obey or join. You may even split the bot's answer into sections, using for example:
say1=That's my name, {p}!{n}{whisper_speaker}I'm not a HamBot, {p} :o)

or, for a console message using {n}:
say1=That's my name, {p}!{n}255,255,0,1,0{conmsg_target}boo!
Note that the order in which different modes are sent to the server is (1) console message, (2) whisper, (3) say, no matter in which order you write them.

The here line has also special placeholders:

The arg line can be explained with the following example:
cmd={do_warp}
hear=>Gardel
arg=aw 9877.4s 5415.762e 0a 350
tag=warp
say1=El dia que me quieras...

The {do_warp} command usually expects the speaker to specify the world and coordinates of the warp. These can also be specified in the arg line. In this example, when the bot hears: >Gardel it will say: El dia que me quieras... and warp to aw 9877.4s 5415.762e 0a 350.


Customising the language file

As from version 3.0, each language file has a series of companion files. There are two groups of these files. One group of files is made automatically by the bot, the second group is optional. These files may be safely edited by the user, to include his/her own customised command: they will not be written over by new versions. Never alter the language files themselves, edit the companion files.

For dialog0.txt, the first group of files are:

The various sections in the dialog file may be customised without altering the language file: this is the second group of companion files. To do so, you need to create one or more text files and name them according to the following pattern, based in this example on dialog0.txt (if you use another file, for instance, a translation, use that filename instead) and the section name:

In these files you put your custom commands, in the same way they would go in the dialog0.txt file. You may not add section headers like [Login_Owner] etc, the section is indicated in the file name itself. These files go in the Chat folder.


Placeholders valid in all strings which are sent to the bot to say

The bot collects information for 'talking' from various sources. All strings the bot receives to speak aloud or whisper, except for the SayText/WisperText chunks, are parsed for certain placeholders, and these are substituted for their values. These 'say' placeholders are:

backIndex