Guide du Chat

Transcription

Guide du Chat
LES NOUVELLES SALLES DE CHAT
GUIDE UTILISATEUR
*** Guide du Chat ***
*** Guide du Bot ***
*** Guide des Salles ***
http://chat-webca m.ifrance.co m
http://chat-webca m.ifrance.co m/en.html
http://chat-webca m.ifrance.co m/de.html
http://taverne.be.fr.free.fr/aide/
*** Chat - Guide Utilisateur ***
Chat Webcam gratuit
:
Télécharge m ent
1. Liste des Salles de Chat
Au lancement de Chat, vous arrivez à l'écran ci-dessous qui permet de choisir une salle.
Cliquez sur une ligne de la liste pour entrer dans la salle correspondante.
- le bouton
ont été créées.
- les boutons
Français.
(Refresh) permet d'actualiser la liste pour voir si des nouvelles salles
et
permettent de voir s'il existe des salles dans d'autres langues que le
- Le symbole
indique une salle à webcam obligatoire : votre webcam s'y allumera
automatiquement. Dans les autres salles la webcam n'est pas obligatoire, vous pouvez l'allumer
quand vous avez envie.
PRO B L E M E : LA LIST E DE S SA LL E RE S T E VID E
Si la liste des salles reste vide :
1) si vous chattez sur un PC relié indirectement à internet via un autre PC qui doit rester allumé
(connection partagée ou proxy server), il faut aller chatter sur le PC directement branché sur le modem
ADSL !
2) les logiciels de protection Norton et ZoneAlarm peuvent poser problème : ils doivent être configurés
pour autoriser le programme de chat à accéder à internet.
3) le parefeu Windows, s'il est désactivé, n'avertit plus l'utilisateur quand il bloque certains logiciels,
nous vous conseillons de le laisser activé.
2. La Salle de Chat
Parler au microphone (cliquez et gardez appuyé
vous avez fini de parler ).
, parlez, puis relachez le bouton quand
ne plus entendre les autres participants parler au microphone.
ne plus entendre les bruitages (entrée en salle, sortie de tasse, exclusion, pv, déconnection)
allumer sa webcam ou regarder la webcam d'un autre participant (il faut cliquer sur un
pseudo de la liste de droite avant).
modifier son profil ou afficher le profil d'un autre utilisateur (il faut d'abord sélectionner un
pseudo dans la liste de droite).
téléphone (demander à parler en pv = privé, ou bien accepter de parler en privé) - voir
explications au chapitre ci-dessous.
bloquer les demandes de pv d'une personne.
ignorer quelqu'un (il faut d'abord sélectionner un pseudo dans la liste de droite).
toc (Or ou Brun); prendre/déposer le toc, ou bien exclure un utilisateur (il faut d'abord
sélectionner un pseudo).
écrire une ligne de texte sans ':' entre le pseudo et le texte. Exemple: "Erik pense que c'est
bien", (cliquer sur l'icone à la place de la touche Entrée).
aller/revenir de tasse.
modifier le caractère et la couleur de l'écriture.
réglages de la webcam (choix d'une source vidéo, luminosité, contraste, netteté, couleurs).
démarrer Internet Explorer pour surfer sur le groupe associé à la salle de chat.
afficher la liste des émoticons.
sortir - revenir à la liste des salles.
suivre plus facilement un participant dans une grande salle - il faut d'abord sélectionner un
pseudo dans la liste de droite puis cliquer sur cet icône : un
chaque ligne écrite par le participant.
apparait alors à gauche de
donner un toc provisoire de 24h à un participant, ou le retirer.
Touches du clavier:
F1 = diminuer la taille du font d'écriture.
F2 = augmenter la taille du font d'écriture.
F3 = changer les dimensions de la fenêtre (appuyez plusieurs fois).
Clics Rapides:
Profil : pour voir le profil d'un participant, cliquez sur l'icone
liste.
à gauche de son pseudo dans la
Webcam : pour regarder la webcam d'un autre participant, cliquez sur l'icone
pseudo.
à côté de son
3. Profil Utilisateur
Pour changer votre profil utilisateur, cliquez sur
pour remplir votre profil utilisateur et mettre
une photo.
Votre profil pourra être consulté par les participants qui sont dans la même salle de chat que
vous.
Dans la zone 'Pseudo-Icon' on peut spécifier le nom d'une icône qui sera utilisée pour vous
représenter (voir chapitre 11 : ajouter ses propres icônes).
Le profil permet aussi de gérer une liste d'amis avec lesquels vous souhaitez rester en contact.
Quand vous consultez le profil d'un autre chatteur, un bouton "Ajouter un Ami" permet de
l'ajouter dans la liste de vos amis. Ce bouton n'apparait pas si ce chatteur est déjà dans votre
liste.
Les amis que vous ajoutez ne sont pas prévenus automatiquement que vous les avez ajoutés
sur votre liste. Ils ne seront dérangés par aucune demande d'ajout. C'est à vous de leur
demander en salle de vous ajouter aussi, sinon rien ne se passe ...
Si votre ami ouvre votre profil et vous ajoute aussi, il peut alors vous appeler à tout moment par
fenêtre privée tant que vous êtes dans n'importe quelle salle sur le chat.
Quand vous avez ajouté au moins un ami, un bouton "Mes Amis" apparait sur votre profil et
vous permet de gérer votre liste :
Un ami que vous venez d'ajouter apparait en DEMANDE. Il n'est cependant pas prévenu
automatiquement que vous l'avez ajouté : c'est vous qui devez lui demander en salle de
regarder votre profil et de vous ajouter aussi comme ami, son état passe alors à AMI. Si plus
tard votre ami vous efface de sa liste, l'état repassera à DEMANDE.
Vous et vos amis peuvent être dans 3 états de connection :
: connecté, en train de chatter
: connecté, mais absent ou en tasse
: non-connecté
Le bouton "Appeler" permet d'ouvrir une fenêtre privée pour parler à votre ami.
Le bouton "Bloquer" permet d'empêcher un ami de vous appeler, vous lui apparaissez alors
comme non-connecté.
Le bouton "Groupe" permet de créer des catégories.
4. Liste des émoticône s
Dans la salle de chat, cliquez sur l'icône
pour voir la liste des émoticônes. Si vous ne voyez
pas tous les émoticônes sur l'écran, augmentez la résolution d'écran de windows (clic droit sur
le bureau, propriétés, paramètres, résolution de l'écran : 1024x768 ou plus).
Pour ceux ou celles qui n'arrivent jamais à retenir les abbréviations des émoticônes,
on peut cliquer directement sur les émoticônes pour les afficher.
Voir l'image ci-dessous pour un exemple :
5. La Webcam
note: j'ai caché les photos des personnes car je n'ai pas demandé leur autorisation pour les
montrer ici.
Pour allumer votre webcam, ne sélectez aucun pseudo de la liste et cliquez sur le bouton
en
bas. Votre image webcam apparait alors à gauche en haut et n'importe quel participant en salle
peut alors vous voir. Cliquez sur l'icône
pour effectuer les réglages de votre webcam :
choisir une source vidéo, régler luminosité, constraste, netteté et couleurs.
Le symbole
affiché à gauche d'un pseudo indique qu'un participant a branché sa webcam.
Pour voir la webcam d'un autre participant, cliquez sur l'icône
à côté de son pseudo; son
image apparait alors en haut de l'écran.
Le compteur sous chaque image indique le nombre de participants (à part vous vous-même)
qui regardez cette image.
On peut zoomer(2X) sur une image webcam en cliquant dessus, mais il faut pour cela avoir
suffisamment de place sur l'écran. S'il y a trop peu de place sur l'écran, vous pouvez agrandir la
fenêtre. Vous pouvez aussi augmenter la résolution d'écran de windows (clic droit sur le bureau,
propriétés, paramètres, résolution de l'écran : 1024x768 ou plus).
Pour empêcher votre webcam de s'allumer automatiquement quand vous entrez dans une salle
à webcam obligatoire, ajoutez dans chat.ini :
# chat.ini
[cam]
start = manual
cliquer)
; automatic (s'allume tout seul) ou manual (faut
Pour utiliser une webcam wifi qui ne passe pas par Windows, il faut rajouter la source dans
chat.ini comme dans cet exemple :
# chat.ini
[cam]
source =
http://192.168.1.13:8080/image.jpg
Si vous êtes animateur, vous allez voir un point d'interrogation sur l'icône cam des chatteurs qui
entrent en salle sans avoir de toc. Ce point d'interrogation disparait lorsqu'au moins un
animateur a cliqué sur la cam du chatteur pour visionner sa cam. Cela permet aux animateurs
de se répartir plus facilement le travail de vérification des webcams de ceux qui entrent en salle.
6. Parler en Privé
Les PVs "sauvages" ne sont pas possibles sur ce chat : chaque PV doit d'abord être accepté
par le destinataire.
L'exemple ci-dessous montre comment faire un pv :
Samuro (à gauche) veut parler à Isabelle (à droite) en Privé :
1. Samuro clique sur le pseudo
d'Isabelle.
2. Samuro clique sur le téléphone
en bas.
3. Un téléphone jaune apparait à
côté du nom d'Isabelle.
4. Isabelle entend une sonnerie et
remarque un téléphone vert avec le
mot "DRING" à côté du pseudo de
Samuro.
5. Si elle désire répondre, elle
clique sur le pseudo de Samuro,
puis sur le téléphone jaune en bas.
Un écran de conversation privé
apparait alors.
6. Si elle ne désire pas répondre et
souhaite bloquer les appels de
Samuro, elle clique sur le pseudo
de Samuro puis sur le téléphone
vert barré en bas.
L'icône PV n'est pas présente dans les salles Ados.
7. Bruitage
Un bruitage est prévu pour les évènements suivants :
- arrivée en salle
- sortie de salle
- sortie de tasse
- appel en pv
- exclusion par toc
- déconnection réseau
- réveil : après une inactivité de 3 minutes en salle, si un nouveau participant arrive, ou bien si
un participant parle ou sort de tasse, alors un "toc-toc-toc" sonore sera entendu par les autres
participants.
Cliquez sur
pour ne plus entendre le bruitage.
8. Le Microphone
Pour parler au microphone à toute la salle, appuyez et gardez appuyé
, parlez, puis relachez
le bouton quand vous avez fini.
Si vous avez des problèmes de microphone, les conseils suivants peuvent vous aider:
1) si vous n'entendez rien, n'oubliez pas de décocher l'icône
.
2) si vous n'entendez toujours rien, pour régler le micro dans windows, cliquez ici : micro
3) pour faire un bon réglage de qualité, rentrez deux fois en salle de chat en même temps :
vous pourrez ainsi vous entendre et adapter vos réglages.
4) sur Windows 95/98, un seul programme peut accéder au microphone et au haut-parleur en
même temps. Fermez donc tous les programmes qui utilisent du son, fermez le chat et réouvrez-le.
On peut bloquer la touche micro en cliquant dessus puis en glissant la souris vers le haut; cela
permet de passer de la musique en continu, si la vitesse de la connection le permet.
Cependant, pour éviter les blocages accidentel de la touche micro, elle se redébloque
automatiquement après 5 minutes, sauf si vous avez mis dans chat.ini l'option :
[micro]
unblock = no
Le propriétaire d'une salle peut empêcher l'apparition du message 'xx parle au micro' pour les
tocs OR en ajoutant l'option suivante dans chatserv.ini :
[settings]
radio = yes
En salle 3D, le son micro n'est pas entendu si les chatteurs sont éloignés de plus de 5000
points. Cette valeur peut être changée dans chatserv.ini :
[3D]
distance-micro = 5000
Pour faire disparaitre les icône micro et haut-parleur, le propriétaire d'une salle peut mettre dans
chatserv.ini :
[settings]
micro = NO
Pour que les chatteurs entrent en salle avec le haut-parleur ouvert, le propriétaire d'une salle
peut mettre dans chatserv.ini :
[settings]
speaker = ON
notes: 1) les préférences de l'utilisateur ont tout de même priorité; 2) le haut-parleur des bots
n'est pas modifié.
9. Fichier de Macros
Chaque utilisateur peut créer un fichier de macros servant à afficher des lignes de texte
préparées à l'avance. Par exemple:
vous tapez :
&va eva
le texte suivant s'affiche :
vaaa eva, va chercher bonheur
Pour arriver à ce résultat, vous devez créer un fichier MACROS.TXT qui doit être placé dans le
même répertoire que CHAT.EXE, c'est-à-dire dans C:\CHAT.XXX\ (où XXX est votre nom de
pseudo marqué sur l'icône de chat sur le bureau).
Voici un exemple d'une ligne du contenu de ce fichier :
&va : vaaa %1, va chercher \
001\255\000\000\002\009\000\000bonheur(f):p
Explications:
&va
mot clé pour démarrer la macro (doit commencer par '&' et être suivi de lettres ou
chiffres)
:
deux points (ceci est un séparateur)
%1
paramètre de la macro qui sera remplacé quand vous tapez votre texte; jusqu'à 9
paramètres (%1 à %9) sont acceptés.
changement de couleur du texte; doit commencer par \001 suivi de 3 valeurs pour les
\
quantités de rouge, vert et bleu de la couleur choisie (chaque valeur doit être comprise
001\255\000\000
entre \000 et \255).
\
changement de font du texte; doit commencer par \002 suivi d'une valeur entre \000 et \
002\009\000\000 014 pour le numéro du font, suivi de \000\000.
Vous pouvez créer n'importe quelle couleur; en voici quelques-unes avec leur codes :
\001\000\000\000 noir
\001\255\000\000 rouge
\001\192\000\000 rouge carmin
\001\255\255\000 jaune
\001\255\000\255 violet
\001\255\128\000 orange
\001\000\128\128 vert foncé
\001\000\200\000 vert clair
\001\000\000\255 bleu foncé
\001\000\210\255 bleu clair
Voici la liste des fonts avec leur code :
\002\000\000\000 Tahoma
\002\001\000\000 Times New Roman
\002\002\000\000 Arial
\002\003\000\000 Arial Black
\002\004\000\000 Comic Sans MS
\002\005\000\000 Courier New
\002\006\000\000 Franklin Gothic Medium
\002\007\000\000 Georgia
\002\008\000\000 Impact
\002\009\000\000 Lucida Console
\002\010\000\000 Microsoft Sans Serif
\002\011\000\000 Palantino Linotype
\002\012\000\000 Sylfaen
\002\013\000\000 Trebuchet MS
\002\014\000\000 Verdana
\002\015\000\000 Kartika
\002\016\000\000 Vrinda
Attributs : les attributs s'ajoutent à la fin du code 'FONT':
\000\000 normal
\001\000 souligné
\002\000 italic
\003\000 souligné+italic
\004\000 gras
\005\000 souligné+gras
\006\000 italic+gras
\007\000 souligné+italic+gras
Un fichier exemple de macros :
&va
&ar
:p
&fl
&em
&ps
&ex
&si
&pr
&mi
&se
&ca
&pv
&f3
&mg
:vaaa %1, va chercher \001\255\000\000\002\009\000\000bonheur(f):p
:\001\255\000\000j'aime \001\000\255\000bien \001\000\000\255écrire \001\000\255\255en\001\255\255\000 coule
:t'offre tout ça (f)(f)(f)(f)(f)(f)(f)(f)(f)(f)(f)(f)(f)(f)(f) :p
:pour voir la liste des émoticons, il faut cliquer sur :p à droite
:pour changer de pseudo, il faut cliquer sur :a à droite en bas
:il faut cliquer sur :x pour voir la liste des salles ;)
:$si(8)(88) (8)(88) (8)(88) (8)(88) (8)(88) (8)(88) (8)(88) (8)(88)
:pour voir un profil, cliquez sur la tête à gauche du pseudo dans la liste de droite ;)
:pour parler au micro, appuyez sur (mic), parlez, puis relachez (mic) ;)
:$s1$s2$s2$s2$s2$s2$s2$s2$s2$s2$s2$s2$s2$s2$s2$s2$s2$s3
:pour voir quelqu'un en cam, cliquez sur (ca) à gauche de son pseudo ;)
:pour faire un pv, on clique sur un pseudo puis sur le (t) en bas
:pour changer la taille de l'écran, appuyez plusieurs fois sur la touche F3
:$ba(pl)(pi)(||)$ce$ca(d)$gl(b)$fr(^)$ha(c)$cr$lo$ch$po $mi
&ci :(ci):o -> $if:s$mo -> (te) -> $rp
Si ça ne va pas, essayez de renommer votre fichier en "MACROS" au lieu de "MACROS.TXT"
(le bloc-notes rajoute l'extension cachée .TXT automatiquement).
Comment voir les Fichiers Cachés dans Windows
Par défaut, windows cache certains fichiers et certaines extensions de fichier, ce qui peut
poser des problèmes pour bien configurer.
Pour voir tous les fichiers et extensions :
1) double-cliquez sur l'icone "Poste de Travail" qui se trouve sur votre bureau.
2) cliquez sur le menu "Outils", puis "Options des dossiers".
3) cliquez sur l'onglet "Affichage".
4) descendez un peu dans la liste "Paramètres Avancés" puis sélectez la case "Affichez les
fichiers et dossiers cachés".
5) Décocher la case "Masquer les extensions des fichiers dont le type est connu". Attention:
on a bien dit Décocher, c'est-à-dire enlever le 'v' !
6) Fermer toutes les fenêtres avec OK.
10. Personnaliser les sons
Les sons (bruitages) suivants existent :
nom du son
fonction
arrivee
arrivée en salle
quitter
sortie normale de salle
deconn
sortie de salle par déconnection
toquer
sortie de salle par kick
tasse
sortie de tasse
knock
toc-toc-toc - réveil après 3 minutes
d'inactivité
pv1
demande de pv
pv2
sonnerie de pv
discon
vous avez été déconnecté
tag
un chatteur suivi avec
shoot
tir laser (3D)
parle
Chaque utilisateur peut changer les sons du chat sur son propre PC uniquement. Pour cela, il
devra créer (ou modifier s'il existe déjà) un fichier chat.ini dans le même répertoire que
CHAT.EXE, c'est-à-dire dans C:\CHAT.XXX\ (où XXX est votre nom de pseudo marqué sur
l'icône de chat sur le bureau).
Ce fichier devra contenir les lignes suivantes :
exemple:
# chat.exe ini file
[sound]
arrivee = ding.wav
toquer = fouet.wav
L'utilisateur devra se procurer les fichiers audio (avec l'extension .WAV) nécessaires et les
placer dans le même répertoire que chat.exe
Ces modifications n'ont pas d'effet sur les autres PCs qui gardent les sons standards.
11. Ajouter ses propres icônes
Chaque utilisateur peut ajouter ses propres icônes s'il ne trouve pas les émoticones standards
assez variées.
Pour cela, il lui suffit d'ouvrir Internet Explorer ou Mozilla Firefox, de surfer sur internet pour
choisir une image ou icône animée, de cliquer sur l'image avec la souris puis de déplacer la
souris sur la fenêtre de chat tout en gardant le bouton de la souris appuyé : un code spécial
pour l'image apparait alors sur la ligne de texte du chat.
Remarque: cette méthode ne fonctionne pas sur des images qui sont des liens dans Internet
Explorer, donc sur des images sur lesquelles on peut cliquer.
A côté de cette méthode simple mais volatile car on ne garde pas les images, il est également
possible d'ajouter des images et icônes de façon permanente, mais c'est un peu plus
compliqué. Voici comment faire :
1. configurez l'explorateur windows en suivant les explications : ICI
2. ouvrez le fichier chat.ini qui se trouve dans le dossier du Chat.
Voici comment faire : si votre icône jaune avec laquelle vous démarrez le Chat s'appelle
CHAT_SAMU (
), regardez l'image à droite, vous devez taper le texte
c:\chat.samu dans le cadre rouge (1), puis cliquer sur (2), (3) et (4) :
voici un exemple de fichier chat.ini quand il est ouvert :
# chat.ini
[icons]
heriss = c:\mes
documents\herisson.bmp
soleil = soleil_rouge.jpg
fille2 = fille125.gif
3. Si vous dessinez vos images à l'aide d'un logiciel (par ex: Paint ou Photoshop) veillez
toujours à sauver vos créations originales en format .BMP 24-bits car ce format noncompressé est le seul qui conserve à vos images toute la richesse des 24 millions de
couleurs disponibles avec ces programmes.
4. Quand votre image est terminée, vous pouvez en réduire la taille sur le disque en la
sauvant dans l'un des formats de compression suivants :
• GIF : choisissez ce format si votre création ne contient pas plus de 256 couleurs sachez que si votre image contient beaucoup de couleurs, la conversion en GIF
va appauvrir fortement la richesse et luminosité des couleurs de l'image comparez avec l'image BMP originale avant de choisir ce format.
• JPG : sachez que si vous sauvez votre image en format JPG, beaucoup de
programmes vous permettent de choisir un taux de compression de 0 à 100. Une
valeur trop petite peut rendre les images floues tandis qu'une valeur trop grande
donne une image très grande sur le disque - sachez toutefois qu'une compression
en JPG appauvrit toujours la qualité et la netteté de l'image - comparez avec
l'image BMP originale avant de choisir ce format.
• BMP : vous pouvez aussi garder l'image originale en BMP pour être sûr de ne rien
perdre en qualité, mais à condition que l'image ne dépasse pas 63K sur le disque.
• PNG : ce format permet de compresser vos fichiers sans perte de qualité. A
conseiller.
5. Copiez vos fichiers d'image (.GIF, .JPG, .BMP ou .PNG) dans le même dossier que
chat.ini - à côté du rond rouge (4), pas dessus.
6. Ensuite, pour chaque image, écrivez une ligne dans chat.ini sous la ligne [icons]
(regardez l'exemple qui contient déjà 3 lignes). Pour chaque ligne, il faut donner un nom
d'exactement 6 lettres à l'icône (ni plus, ni moins de 6 lettres sinon ça n'ira pas !), suivi du
signe égal '=', suivi du nom du fichier d'image sur le disque avec son extention(.GIF,
.JPG, .BMP ou .PNG).
Ensuite il faut fermer la fenêtre du chat.ini en enregistrant les modifications.
7. Quand cela est fait, cliquez sur la fenêtre du chat (là où vous chattez) et appuyez sur la
touche F5. Vous allez voir une ligne 'system info: loading chat.ini : ok' qui signifie que le
chat a bien rechargé votre nouveau fichier chat.ini
8. Tapez maintenant sur le chat : {heriss} {soleil} {fille2}
Vous devriez alors voir vos icônes.
Au lieu d'une image, vous pouvez voir l'un des messages d'erreur suivants :
signe
signification
{.ini??}
chat.ini ou chatserv.ini non trouvé
{icons?} paragraphe [icons] non trouvé dans le fichier .ini
{name??} nom de l'icône non trouvée (avant le signe =)
{found?} fichier d'image ou de "son" non trouvé (après le signe =)
{big???} taille du fichier dépasse 63K
{wav???} fichier "son" non autorisé ici
{size??} dimensions de l'image dépassent la limite
limite
{illeg?}
valeur
icônes utilisés pour les pseudos
dimensions max: 168 x 21 pixels
icônes utilisés pour le texte
dimensions max: 320 x 240
pixels
icônes utilisés pour les styles de salle (voir chapitre J.
Style)
dimensions max: 21 x 21 pixels
icônes utilisés pour les titres de salle
dimensions max: 900 x 21 pixels
format de fichier illégal
Corrigez alors le problème et ré-essayez (n'oubliez pas d'appuyez sur la touche F5).
Il est recommandé, afin de ne pas "ramer" en salle, de choisir une petite image, donc de bien la
découper avec MsPaint aux dimensions minimales. Un fond transparent (format GIF) est
conseillé.
Voici encore quelques cas particuliers :
1. A la place d'un fichier d'image, il est également possible de placer un fichier audio avec
l'extension .WAV, ce qui aura pour effet que le son sera entendu en salle par tous les
participants. Une telle icône "son" ne fonctionne pas si placée dans le pseudo, mais
fonctionne comme texte ou dans le message d'exclusion.
2. En salle, lorsqu'une image est suivie immédiatement d'un lien url :
exemple: {image1}http://www.ici.com
alors le lien ne s'affiche pas à l'écran mais lorsqu'on clique sur l'image, l'internet explorer
est démarré avec ce lien.
3. Si les émoticons animées vous rendent malade, utilisez l'option suivante dans chat.ini
pour les figer :
# chat.ini
[settings]
animated-gifs = no
ou bien l'option suivante pour n'autoriser que les images clignottantes, mais pas les
pseudos clignottants :
# chat.ini
[settings]
animated-gifs = after
4.
12. Comment changer la couleur de l'écran de démarrage du chat
Pour changer la couleur de la page de démarrage du chat (sur votre propre PC uniquement),
utilisez l'option :
# chat.ini
[settings]
screen-color = 1CBBF0 ; couleurs écran
field-color = FFFFFF ; couleurs des champs
room_description_font_color = 808080 ; couleur description des
salles
Les 2 premières options sont également disponibles dans chatserv.ini pour changer la couleur
du serveur de chat.
13. Comment se déplacer dans une salle 3D
En salle 3D, on peut se déplacer avec les flèches du clavier :
-> avancer, reculer, tourner à gauche et à droite.
-> avec control-gauche et control-droite : se déplacer vers la gauche ou vers la droite sans
tourner.
On peut également se déplacer avec la souris :
-> pour tourner, cliquez sur un point de la moitié supérieure de l'écran et glissez la souris vers la
gauche ou vers la droite.
-> pour se déplacer, cliquer sur un point de la moitié inférieure de l'écran (là où vous voulez
aller), et tout en laissant le bouton souris appuyé, faites glissez la souris vers vous.
-> avec la roulette de la souris, vous pouvez regarder vers le haut ou vers le bas.
-> si vous avez des munitions, tirez avec le bouton droit de la souris.
==> *** Guide Chat *** <==
==> *** Guide Bot *** <==
==> *** Guide Salle s *** <==
*** Chat Bot - Guide du Bot ***
1. Comment Installer un Bot
1. téléchargez un bot en cliquant sur ce lien puis sur 'Ouvrir'.
2) démarrez-le en cliquant sur l'icône "CHAT BOT" qui se trouve sur votre bureau.
3) Pour changer le texte du bot, editez avec notepad le fichier de configuration du bot qui
se trouve sur votre disque dur
dans C:\Chat.Bot\Bot.txt
Le fichier BOT.TXT
# bot.txt
#####################################################################################
[conversation]
bot = /kick %P $es pas de bots dans cette salle [15 min]
yoyo = /kick la prochaine fois, tu resteras plus de 15 secs en salle $gr
yoyo_sec = 15
proprio = tention, un proprio(h) entre en salle ;;)
anim = tention, un animateur entre en salle ;;)
change = tiens tiens %P, d'après moi tu as changé de pseudo et tu étais %Q :o:o
join = Bienvenue en salle, %P :d Tu as %A ans :)
cam = (*)(*)(*) %P (*)(*)(*) > < 20 sec pour allumer ta (ca)
cam_sec = 20
cam_kick = /kick A bientôt (ro)
quitte = Au revoir %P, à bientôt ;;)
discon = :s oups, %P a glissé !
[conversation.f]
anim = tention, une animatrice entre en salle ;;)
quitte = Au revoir %P, à bientôt (ro)
discon = :s oups, %P a glissée !
[tasse]
partir = tiens, %P s'en va :(
revenir = bon retour %P :p
[toc]
deposer = ouf, on respire :p
brown = attention, ça va toquer :s
or = tention, vla l'animateur :d :d
kick = aie aie aie, %P s'est fait kicker :s :s :s
!kick = /kick PAFFFFF ! $pa ; commande !kick
!ban = /kick $he[24h] ; commande !ban
!tasse = /kick c'est pas un parking ici!$gr ; commande !tasse
[toc.f]
or = tention, vla l'animatrice (f)(f)
[webcam]
allume = Tiens, %P allume sa webcam :p
eteint = ben pourquoi tu éteints ta webcam, %P ?? :(
[micro]
parle = tiens, %P nous parle (h)
[micro.f]
parle = tiens, %P nous parle de sa voix suave :p
#####################################################################################
[mots]
glace = j'aime bien la glace moi $gc $mi
mèrde = mérde ?? ;;c;;c;;c :s %P :@ pas de gros mots en salle !!
cochon = (coc) :| %P :@ on reste poli en salle !
cul = $cu :| %P :@ pas de gros mots en salle !
putain = %P :@ on reste poli en salle !
enculé = %P :@ on reste poli en salle !
salope = /kick %P :@ on reste poli en salle !
con*ar* = %P :@ on reste poli en salle !
chier = ;;c;;c;;c %P :@:@ on reste poli en salle !
tg = /kick %P :@ on reste poli en salle ! [2min]
[mots.f]
fleur = %P aime les (f)(f)(f)
#####################################################################################
[!coeur]
1=(l)(l)(l)(l)(l)(l)(l)(l)(l)(l)
2=(l)(l)(l):$:$:$(l)(l)(l)(l)
3=(l)(l):$(l)(l):$(l)(l)(l)(l)
4=(l)(l)(l)(l)(l):$(l)(l)(l)(l)
5=(l)(l):$(l)(l):$(l)(l)(l)(l)
6=(l)(l)(l):$:$(l)(l)(l)(l)(l)
7=(l)(l)(l):$:$(l)(l)(l)(l)(l)
8=(l)(l)(l):$(l)(l)(l)(l)(l)(l)
9=(l)(l)(l)(l)(l)(l)(l)(l)(l)(l)
10=(l)(l)(l)(l)(l)(l)(l)(l)(l)(l)
11=(l)(l)(l)(l)(l)(l)(l)(l)(l)(l)
12=(l)(l)(l)(l)(l)(l)(l)(l)(l)(l)
13=(l)(l)(l)(l)(l)(l)(l)(l)(l)(l)
[!chien]
1=(&)(&)(&)(&)(&)
2=(&)(&)(&)(&)(&)
3=(&)(&)(&)(&)(&)
4=(&)(&)(&)(&)(&)
5=(&)(&)(&)(&)(&)
; rajouter d'autres figures ici (coeur, chien, ...)
...
#####################################################################################
; le jeu mine
[mine]
start = Bienvenue au jeu Mine :) cliquez sur une case puis sur la touche Enter :p
kick = /kickBOUM!$um
#####################################################################################
[action_verite]
start = *-)*-) Voyons voyons, je vais prendre qui *-), $nr %P ACTION...ou VERITE
$ri??
kick = /kick réveille-toi, on joue là, faut répondre $gr
kick_sec = 40 ; secondes avant le kick
[action_verite.m]
action = %P $br (*) $h4
verite = %P $br (*) :m
[action_verite.f]
action = %P $br (*) $rb
verite = %P $br (*) :f
[action_verite.c]
action = %P $br (*) $h4
verite = %P $br (*) :m
#####################################################################################
; actions communes pour Hommes, Femmes et Couples
[action]
1=envoie une photo de toi à quelqu'un de la salle
2=raconte ton dernier calin
3=chante un couplet de chanson
4=fait un dessin sur un papier et montre le en cam
#####################################################################################
; actions pour Homme seulement
[action.m]
1=demande à un participant féminin de te faire un compliment
2=pince-toi le nez
#####################################################################################
; actions pour Femme seulement
[action.f]
1=demande à un participant masculin de te faire un compliment
2=montre tes beaux yeux en cam
#####################################################################################
; actions pour Couple seulement
[action.c]
1=demande à ton homme de t'embrasser
#####################################################################################
; verites communes pour M, F et C
[verite]
1=Vous rencontrez un groupe de personnes que vous connaissez depuis peu. Quelle est
votre réaction ? Vous jouez le profil de la coquetterie ?
2=Vous rencontrez un groupe de personnes que vous connaissez depuis peu. Quelle est
votre réaction ? Vous redressez la tête pour montrer que vous êtes indépendant?
3=Vous rencontrez un groupe de personnes que vous connaissez depuis peu. Quelle est
votre réaction ? Vous engagez simplement la conversation?
4=Vous rencontrez un groupe de personnes que vous connaissez depuis peu. Quelle est
votre réaction ? Vous souriez et restez d'un beau «naturel»$u3
#####################################################################################
; verites pour M seulement
[verite.m]
1=(*) Avoir un accident avec la voiture de votre copine, fait ou à faire ?
2=(*) Décrit la femme idéale
#####################################################################################
; verites pour F seulement
[verite.f]
1=Dans une boutique de lingerie, vous achetez pour vous ou pour votre Ami ? 1/ Un
déshabillé en dentelle noir 2/ Un ensemble en soie mauve 3/ Un $cv en satin vert 4/
Une robe de chambre confortable
2=Décrit l'homme idéal
#####################################################################################
; verites pour Couples seulement
[verite.c]
#####################################################################################
A. Syntaxe du fichier
Dans le fichier, les symboles # et ; doivent être doublés, c'est-à-dire ## et ;; car sinon ils servent
à ajouter un commentaire dans le fichier.
B. Genre M, F ou C
Il est possible de spécifier des phrases différentes suivant le genre du pseudo (Masculin,
Féminin, Couple) qui provoque l'action, en spécifiant un suffixe M, F ou C à la fin du nom du
paragraphe, par exemple [micro.F] ci-dessus. Sans le suffixe, la phrase s'applique aux 3
genres.
C. Touche F5 pour recharger le fichier du bot
Après avoir changé le fichier bot.txt avec notepad, cliquez sur la fenêtre du bot puis appuyez
sur la touche F5 pour recharger le fichier, cela vous évite de devoir arrêter et redémarrer le bot.
D. Les réponses du bot
Dans les réponses du bot, on remarquera l'utilisation de 3 codes spéciaux :
%p : est remplacé par le pseudo de celui qui provoque l'action.
%P : est remplacé par l'émoticon et le pseudo de celui qui provoque l'action.
%A : est remplacé par l'âge de celui qui provoque l'action.
En outre, le mot /kick devant une réponse provoque un kick du participant qui a déclenché
l'action.
Les macros peuvent aussi être utilisées dans les réponses du bot, voir le chapitre macros du
chat.
E. Paragraphe [Mots] - les mots sur lesquels le bot réagit
Les mots sur lequels le bot réagit peuvent contenir 3 caractères spéciaux :
? remplace 1 caractère non blanc
* remplace 0 ou plusieurs caractères non blancs
%
remplace 0 ou plusieurs caractères blancs ou non
blancs
Pour illustrer cela, voici quelques exemples:
[mots]
mdr* = vous avez tapé mdr suivi de 0 ou plusieurs caractères, par ex: mdr, mdrrr, mdrrrrrire
vit? = vous avez dit vite ou vita ou vito ...
bon* jour* = vous avez dit bonne journée !
vous%mang* = votre phrase commence par "vous" et se termine avec "manger" !
alta vista = vous avez dit "alta vista" :d
F. Le langage 'Script' : ajoutez de l'intelligence à votre bot
Si vous voulez faire un bot plus compliqué (créer vos propres jeux par exemple un quizz spécial
avec vos propres règles ou un jeu de devinettes) et que la programmation en script ne vous fait
pas peur :
New Chatrooms
Programmer le bot à l'aide d'un script
Le langage 'script' est disponible pour programmer le bot; pour ce faire,
il faut écrire et placer un fichier SCRIPT.TXT tel que celui ci-dessous dans le répertoire
script du bot.
note : si vous modifiez le script, appuyez sur la touche F5 pour le recharger.
// Voici un script simple qui dit bonjour aux arrivants en salle
proc event (session_key, userid$, sex$, has_photo, age, is_away,
admin, cam_on, is_bot, toc_capab, signature$,
action, is_myself, line$)
{
if (action == 128) // l'action 128 indique une arrivée en salle
{
print ("Bienvenue en salle " + userid$ + " :p");
// la commande print permet d'afficher une ligne sur le chat
}
}
Notes :
1 - si vous modifiez le script, appuyez sur la touche F5 pour le recharger.
2 - vous pouvez placer plusieurs fichiers se terminant par "SCRIPT.TXT" dans le
répertoire script du bot
(par ex: SCRAB-SCRIPT.TXT, ROBOT-SCRIPT.TXT),
ils seront alors exécutés par ordre alphabétique.
Sur cet exemple, on voit une procédure "event" qui est exécutée chaque fois qu'un évènement se
passe en salle.
Cette procédure "event" reçoit les informations suivantes concernant le chatteur concerné par l'évènement
:
session_ke : numéro attribué lors de l'entrée en salle d'un chatteur et qui accompagne tous ses
y
évènements jusqu'à sa sortie de salle;
le session_key est notamment utilisé pour désigner le chatteur à kicker.
userid$
:
sex$
:
has_photo
age
:
is_away
:
admin
:
cam_on
:
is_bot
:
toc_capab
signature$
action
is_myself
line$
:
:
:
:
:
:
nom du chatteur
genre du chatteur ("M", "F" ou "C")
indique s'il a une photo dans le profil (0=non, 1=oui)
âge du chatteur
indique s'il est en tasse (0=non, 1=oui)
indique s'il a pris son toc actuellement (0=pas de toc, 1=brun, 2=or)
indique s'il a sa cam allumée (0=non, 1=oui et cam vérifiée par un anim )
indique si c'est un bot (0=non, 1=oui)
indique s'il est capable de prendre son toc (0=pas de toc, 1=brun, 2=or)
signature du chatteur, exemple "1234567890ABCDEF"
type d'évènement, voir ci-dessous
indique si le chatteur est ce bot (donc moi-même) (0=non, 1=oui)
contient la ligne de texte écrite par le chatteur
actions possibles
Voici les évènements qui existent, avec leur numéro d'action :
action évènement
0
le chatteur écrit une ligne de texte normale
1
le chatteur écrit une ligne de texte avec la bulle
2
le chatteur va ou reviens de tasse
16
le chatteur prend ou dépose le toc
127
le chatteur déjà en salle avant l'arrivée en salle du bot
128
un nouveau chatteur entre en salle
129
le chatteur quitte la salle normalement
130
le chatteur est déconnecté
200
le chatteur fait un PV au bot
204
le PV du chatteur a été bloqué avec le téléphone barré (line$ contient le pseudo du bloqueur)
240
lun animateur donne un toc provisoire (line$ contient la session_key en 10 chiffres suivi du
userid du receveur)
241
idem que 240 mais pour enlever le toc
256
le chatteur est kické hors de la salle
300
un chatteur a cliqué sur une zone de texte - voir chr$(3,a,b,c) ci-dessous
400
un chatteur a écrit un message dans le groupe (avec numéro de panneau de message (9 chiffres),
numéro du message (9 chiffres), et sujet du message dans line$)
512
le chatteur parle au micro
550
le chatteur allume ou éteint sa webcam
601
à
609
912
le chatteur a cliqué sur un bouton du menu du chat (voir commandes pour créer un bouton)
915
le chatteur a cliqué sur un objet 3D cliquable (line$ contient le numéro de l'objet 3D)
le chatteur a cliqué sur un actor 3D (line$ contient le session_key de l'actor)
EVENEMENTS
#define ACTION_NORMAL_TEXT
0
#define
ACTION_TEXT_WITHOUT_COLON
1
/* don't display " : " in text */
#define ACTION_AWAY
2
/* -> aller ou revenir de tasse */
#define
ACTION_USER_TAKES_DROPS_TO
C
16 /* take or drop toc */
#define
127 /* used by script bot for chatters already in room */
ACTION_USER_ALREADY_IN_ROO
M
#define
ACTION_USER_JOINS_ROOM
128
#define
ACTION_USER_LEAVES_ROOM
129 /* leave room normally, or be teleported */
#define
ACTION_USER_DISCONNECTED
130
#define ACTION_ASK_PV
200 /* used by bot internally */
#define ACTION_PV_REFUSED
204 /* pv blocked (user=blocked-user, text=blocker) */
#define ACTION_GIVE_TOC
240 /* admin gives toc (line contains 10-digit-session_key +
pseudo of receiver) */
#define ACTION_REMOVE_TOC
241 /* admin removes toc (line contains 10-digit-session_key
+ pseudo of receiver) */
#define ACTION_KICK_USER
256
#define ACTION_CLICK_TEXT
300 /* click on chat text - code 0x03 + 3 bytes as text */
#define
ACTION_GROUP_NEW_MESSAGE
400 /* user posted new message on group */
#define ACTION_VOICE
512 /* received when secondary sends BOC voice block */
#define ACTION_WEBCAM_ON_OFF 550 /* user enables/disables webcam */
#define ACTION_MENU_BUTTON_1 601 /* user-defined menu buttons 601 to 609 */
#define ACTION_MENU_BUTTON_2 602
#define ACTION_MENU_BUTTON_3 603
#define ACTION_MENU_BUTTON_4 604
#define ACTION_MENU_BUTTON_5 605
#define ACTION_MENU_BUTTON_6 606
#define ACTION_MENU_BUTTON_7 607
#define ACTION_MENU_BUTTON_8 608
#define ACTION_MENU_BUTTON_9 609
#define ACTION_CLICK_ACTOR
912 /* user clicks on actor (message contains actor's
session_key) */
#define ACTION_CLICK_3D_OBJECT 915 /* user clicks 3D object (message contains object_nr) */
ligne de texte line$
La ligne de texte line$ contient des caractères imprimables (codes ascii 32 à 255),
mais elle contient aussi des séquences spéciales de 4 ou 8 caractères qui commencent par un caractère
entre chr$(0) et chr$(9),
notamment :
chr$(0,n%256,n/256,0)
emoticon N
:
chr$(1,rouge,vert,bleu)
chr$(2,font,style,0)
chr$(3,a,b,c)
chr$(4,a,b,c)
chr$(5,a,b,c)
chr$(6,a,b,c,d,e,f,g)
chr$(7,a,b,c,d,e,f,g)
chr$(8,a,b,c,d,e,f,g)
chr$(9,a,b,c,d,e,f,g)
couleur (rouge vert et bleu sont des valeurs entre 0 et
: 255)
:
changement de police ou style (voir chapitre macros)
marqueur de zone texte - chr$(3,0,0,0) indique fin de
: zone
:
:
:
:
:
:
(non utilisé pour l'instant)
(non utilisé pour l'instant)
image jpeg/gif/bmp
son wav
(non utilisé pour l'instant)
(non utilisé pour l'instant)
Par exemple, si on écrit "Hello" sur le chat, userid$ et line$ peuvent contenir les caractères suivants :
userid$=[0,11,1,0,6,16,156,56,39,33,252,127,65,0,4,0,0]
line$=[0,50,0,0,0,11,1,0,6,16,156,56,39,33,252,127,65,0,4,0,0,32,58,32,1,12,94,254,2,2,0,0,72,101,108,1
08,111]
Voici le détail de line$ :
0 50 0 0 : emoticon 50 ":M"
0 11 1 0 : emoticon 267 (11 + 1*256) "$nr"
6 16 156 56 39 33 252 127 : image (bannière du chatteur)
65 : caractère A majuscule
0 4 0 0 : emoticon 4 ";)"
32 : un espace
58 : caractère ':' entre le pseudo et la ligne de texte
32 : un espace
1 12 94 254 : un code couleur (rouge=12,vert=94,bleu=254)
2 2 0 0 : un code font (2=Arial)
72 101 108 108 111 : "Hello" en ascii
De façon générale, quand action==0, line$ a toujours la structure suivante :
- un emoticon (ou une image si le propriétaire de salle a dessiné ses propres icônes)
- le contenu de userid$, donc le pseudo du chatteur, qui peut être composé de plein de séquences textes,
émoticons ou images,
- la séquence : espace, caractère ':', espace
- puis la ligne de texte tapée, qui peut inclure n'importe quelle séquence, y compris des changements de
font ou de couleur.
Le script de test suivant peut vous permettre de faire des essais pour mieux comprendre le contenu de
line$ :
proc event (session_key, userid$, sex$, has_photo, age, is_away,
admin, cam_on, is_bot, toc_capab, signature$,
action, is_myself, line$)
{
var i, s$, u$;
if (!is_myself)
{
for (i=1; i<=len(line$); i++)
{
if (i > 1)
s$ = s$ + ",";
s$ = s$ + str$(asc(line$,i));
}
for (i=1; i<=len(userid$); i++)
{
if (i > 1)
u$ = u$ + ",";
u$ = u$ + str$(asc(userid$,i));
}
print ("action=" + str$(action) + " userid$=[" + u$ + "] line$=[" + s$ + "]");
}
}
Eléments du langage script
Données
Le langage script manipule deux types de données :
1) les nombres entiers :
9 -62 136 0xFFD2
Les valeurs doivent être comprises entre -2147483647 et +2147483647
2) les chaines de caractères :
"" "Bonjour" "Oui:p"
la première chaine de caractères ci-dessus est une chaine vide.
la longueur maximale est de 8192 caractères.
Variables
Une variable est une case de la mémoire du PC à laquelle on donne un nom; cette case mémoire contient
une valeur qui peut changer au fur et à mesure que le programme se déroule.
Il existe 2 types de variables :
- celles qui contiennent un nombre entier (exemple: age, admin, compteur, i, joueur, cam_on)
- celle qui contiennent une chaine de caractère (exemple: fruit$, user$, userid$, line$)
Les variables 'chaine de caractère' se terminent toujours par un signe dollar '$'.
Avant d'utiliser une variable, il faut la 'déclarer', c'est-à-dire réserver de la place mémoire pour son
contenu, à l'aide de la commande 'var'.
exemple:
var compteur;
// va contenir un compteur
var s$, t$;
// deux variables chaines de caractère
var fruit$[3];
// un tableau de 3 chaines de caractère : fruit$[1], fruit$[2] et
fruit$[3]
Les variables peuvent être déclarées,
- soit tout en haut du script.
- soit dans une fonction ou procédure,
Si elles sont déclarées tout en haut du script, elles gardent leur valeur entre deux évènements; autrement,
elles sont effacées à chaque fois.
Par défaut, les variables numériques ont la valeur zéro, et les variables chaines de caractère contiennent
une chaine vide.
Procédures et Fonctions
Une procédure est une commande à laquelle on peut donner des paramètres, par exemple 'print' auquel on
donne une chaine de caractères "Bonjour !"
ce qui donne :
print ("Bonjour !");
Une fonction ressemble à une procédure, mais en plus elle calcule un résultat, par exemple 'len' qui
calcule la longueur d'une chaine de caractères :
longueur = len ("abc");
Les procédures/fonctions standards suivantes existent :
commandes du bot
print ("Bonjour !");
// le bot envoie une ligne de texte sur le chat
away ();
// le bot part en tasse ou revenir
toc ();
// le bot prend ou déposer le toc
kick (session_key, "va dodo");
// le bot kicke le chatteur ayant le numéro de session
indiqué
commandes création bouton de menu
Pour créer un bouton dans le menu qui génère une action 601 à 609 quand on clique dessus :
create_button (session_key, 601, "{lock01}");
// avec icône
create_button (session_key, 602, ":)");
// avec smiley
create_button (session_key, 603, "T");
// avec texte
L'action 601 à 609 va contenir le session_key du chatteur qui a cliqué en 10 chiffres, suivi du texte tapé
sur la ligne du chat.
pour supprimer le bouton :
delete_button (session_key, 601);
commande Téléportation
Pour téléporter un chatteur dans une autre salle (le bot doit avoir un toc) :
teleport (session_key, x, y, z, dir);
// pour changer de coordonnées 3D simplement
teleport (session_key, x, y, z, dir, port);
// pas besoin d'IP si l'autre serveur est sur le même routeur ou même
PC
teleport (session_key, x, y, z, dir, port, ip$);
calendrier
d$ = now$ ();
// fonction qui calcule la date du jour
// exemple: now$() == "2007/01/17 12:23:12"
d = weekday (d$);
// renvoie le jour de la semaine (1=lundi, 7=dimanche)
correspondant à la date
// exemple: weekday("2007/01/17 12:23:12") == 2
d$ = add_date$ (d$,n);
// renvoie la date vieillie de n secondes
// exemple: add_date$("2007/01/17 12:23:12", 3600) == "2007/01/17
13:23:12"
n = nb_days_since_1901 (d$);
// renvoie le nombre de jours entre le 1/1/1901 et la date fournie,
// ce qui peut servir à calculer le nombre de jours entre deux dates:
// nb_days_since_1901 (date2$) - nb_days_since_1901 (date1$)
numérique
n = random (a,b);
// renvoie un nombre aléatoire entre a et b
// exemple: random(1,50) == 12
n = abs (n);
// renvoie la valeur absolue de n
// exemple: abs(-2) == 2
n = sin (angle, M);
// calcule le sinus(angle), multiplié par M
n = cos (angle, M);
// calcule le cosinus(angle), multiplié par M
angle = atan2 (Y, X);
// calcule l'angle correspondant à l'arc-tangeante de (Y /
X)
n = sqrt (n, M);
// calcule la racine carrée de n, multipliée par M
chaîne de caractère
n = len(s$);
// renvoie la longueur de la chaine s$
// exemple: len("abc") == 3
s$ = dup$(s$,N);
// renvoie la chaine s$ dupliquée N fois (avec N >= 0)
// exemple: dup$("ab",3) == "ababab"
s$ = chr$(N1,N2,N3,..);
// renvoie une chaine constituée des caractères ascii N1,N2,..
concaténés
// exemple: chr$(65,66,67) == "ABC"
c = asc(s$[,N]);
// renvoie le numéro ascii du Nième caractère de la chaine s$ (N
vaut 1 si omis)
// exemple: asc("A") == 65
// exemple: asc("ABC",2) == 66
s$ = str$(N);
// renvoie une chaine représentant le nombre N
// exemple: str$(23) == "23"
n = val(s$);
// renvoie le nombre représenté par la chaine s$ (l'inverse de str$)
// exemple: val("23") == 23
s$ = left$(s$,N);
// renvoie les N caractères de gauche de s$
// exemple: left$("ABCD",2) == "AB"
s$ = right$(s$,N);
// renvoie les N caractères de droite de s$
// exemple: right$("ABCD",2) == "CD"
s$ = mid$(s$,a,N);
// renvoie N caractères de s$ commençant au 'a'ième
// exemple: mid$("ABCDEF",2,3) == "BCD"
i = pos(s1$,s2$);
// renvoie la position de la chaine s2$ dans s1$, ou 0 si pas trouvé
// exemple: pos("ABCDEF","CD") == 3
// exemple: pos("ABCDEF","X") == 0
entrée/sortie
n = count_lines ("quizz.txt");
// renvoie le nombre de lignes du fichier présent dans le répertoire
bot
// exemple: count_lines ("quizz.txt") == 120
l$ = read_line$ ("quizz.txt", i);
// renvoie la ième ligne du fichier
// exemple: read_line$ ("quizz.txt", 3) == "Question 3 : comment
s'appelle .."
i$ = image$("a.jpg");
// renvoie l'image ou le son d'un fichier présent dans le répertoire du
bot
// exemple: print ("une vache : " + image$("images/vache.jpg"));
s = selected_user_session_key();
// renvoie le session_key du chatteur sélectionné dans la liste de
droite
// de l'écran du bot, ou zéro si aucun chatteur n'est sélectionné.
database
store (tiroir$, valeur$);
// stocke la valeur$ dans le tiroir$ de la database chat.db
// exemple: store ("JEU-DEVINE", "1 35 16 32 89 12");
a$ = fetch$ (tiroir$);
// renvoie la valeur contenue dans le tiroir$ de la
database
// exemple: fetch$ ("JEU-DEVINE") == "1 35 16 32 89
12"
timer
set_timer (n);
// appeler la procédure timer() dans n secondes (ou annuler si
n==0)
Procédures/Functions
En plus des procédures et fonctions déjà existantes décrites ci-dessus, on peut en écrire des nouvelles;
Voici trois exemples :
- une fonction qui renvoie un nombre,
// une fonction qui calcule le double de n
func double (n)
{
var resultat;
resultat = n * 2;
return resultat;
}
- une fonction qui renvoie une chaine,
// une fonction qui renvoie une chaine de N tirets
func tiret$ (n)
{
return dup$("-", n);
}
- et une procédure :
// une procédure qui imprime N tirets
proc print_tiret (n)
{
print (tiret$(n));
}
Opérateurs
Voici les opérateurs disponibles, par ordre de priorité :
Les opérateurs permettent d'effectuer des calculs, par exemple:
2+3*4
Chaque opérateur a une priorité, par exemple * a une priorité supérieureà +, ce qui veut dire que le calcul cidessus est équivalent à :
2 + (3 * 4)
et non pas à :
(2 + 3) * 4
Si ce dernier calcul est désiré, l'usage de parenthèses est requis.
Voici les opérateurs disponibles, par ordre de priorité décroissante :
opérateurs numériques
NON logique
!
*
/
%
&
|
+
-
multiplié par
divisé par
reste de la division
bitwise and
bitwise or
ajouter
soustraire
<=
plus petit que ou égal
à
>=
plus grand que ou égal
à
==
!=
<
>
&&
égal
pas égal à
plus petit que
plus grand que
ET logique
||
OU logique
opérateurs chaines
concaténer 2 chaines
+
<=
>=
==
!=
<
>
plus petit que ou égal à (ordre lexicographique =
dictionnaire)
plus grand que ou égal à
égal
pas égal à
plus petit que
plus grand que
exemple :
if ("ab" < "abc")
print ("ab vient avant abc dans le dictionnaire");
Instructions
assignation
L'assignation permet de calculer une valeur (à droite) et de la stocker dans la variable (à gauche).
result = a * b + c;
// calcule '(a * b) + c' et stocke dans la variable 'result'
line$ = "Hello" + userid$;
// concatène "Hello" et userid$ et stocke dans line$
fruit$[2] = "pomme";
// stocke la chaine "pomme" dans la case 2 du tableau
fruit$
ligne$ = "i contient la valeur " + str$(i);
longueur = len(s$) + 1;
L'assignation avec incrémentation permet d'ajouter ou de soustraire une valeur à la variable de gauche.
i += 72;
// ajoute 72 à i
j -= (b + c);
L'incrémentation simple permet d'ajouter 1 ou de soustraire 1 à une variable:
i++;
// ajoute 1 à i
j--;
// soustrait 1 à i
l'instruction if
L'instruction if permet de n'exécuter un groupe d'instructions que si une condition est remplie.
// if avec 1 seule instruction
if (i < 10)
print ("i trop petit"); // n'exécuter le print que si i est plus petit que 10
// if avec plusieurs instructions
// note: des { } sont obligatoires si on a plusieurs instructions
if (i < 10)
{
print ("i trop petit");
print ("recommencez");
}
// "if" avec partie "else"
if (i < 10) // si i plus petit que 10
{
print ("i trop petit");
print ("recommencez");
}
else // sinon
{
print ("i égal ou supérieur à 10 ! oué");
}
// "if" avec plusieurs parties en cascade
if (i < 10) // si i plus petit que 10
{
print ("i trop petit");
print ("recommencez");
}
else if (i == 10) // sinon si i égal à 10
{
print ("i égal à 10 ! oué");
}
else // sinon (i plus grand que 10)
{
print ("i plus grand que 10 ! oué");
}
// if avec expressions complexes
if (i < 10 && j == 3 && a$ == "hello") // si i < 10 ET j == 3 ET a$ == "Hello"
print ("oui");
if (i < 10 || j == 3 || a$ == "hello") // si i < 10 OU j == 3 OU a$ == "Hello"
print ("oui");
// if avec instruction vide
if (i < 10)
; // ne rien faire
else
{
print ("oui");
}
l'instruction FOR
L'instruction FOR permet de répéter l'exécution d'un groupe d'instructions entre { } en augmentant la valeur d'une
variable à chaque exécution.
exemples :
// pour imprimer les nombres de 1 à 5 :
for (i=1; i<=5; i++)
{
print (str$(i));
}
imprime :
1
2
3
4
5
// pour imprimer les nombres de 5 à 1 :
for (i=5; i>=1; i--)
{
print (str$(i));
}
imprime :
5
4
3
2
1
l'instruction WHILE
L'instruction WHILE permet de répéter l'exécution d'un groupe d'instructions tant qu'une certaine condition est
vérifiée.
// tant que i <= 10,
// répéter les instructions
while (i <= 10)
{
print ("Bonjour");
}
// parcourir le tableau tab[]
// jusqu'à tomber sur une valeur 6
var tab[512];
i = 0;
while (i <= 512 && tab[i] != 6) // tant que i <= 512 et que tab[i] pas égal à 6, augmenter i
{
i++;
}
break et continue
// l'instruction 'break' fait quitter la répétition immédiatement
for (i=1; i<=6; i++)
{
if (i == 3)
break;
print (str$(i));
}
imprime:
1
2
// l'instruction 'continue' fait passer au tour suivant
for (i=1; i<=6; i++)
{
if (i == 3 || i == 5) // si i égale 3 ou 5, passer au i suivant
continue;
print (str$(i));
}
imprime:
1
2
4
6
procédure timer
Si vous ajoutez une procédure "timer" dans votre script, celle-ci sera exécutée d'abord une fois lors de votre entrée
en salle.
Ensuite, à l'aide de la procédure set_timer(N), vous pouvez faire en sorte qu'elle soit exécutée à nouveau après N
secondes.
Si N == 0, cette nouvelle exécution est annulée.
exemple :
proc timer ()
{
print ("ce message apparait toutes les 30 secondes");
if (mid$(now$(),12,5) == "12:00")
print ("il est 12 heures !");
if (mid$(now$(),12,5) == "13:00")
print ("il est 13 heures !");
set_timer (30); // rappeler timer() dans 30 secondes
}
Affichage de l'icône CAM à côté du nom de la salle
L'icône CAM s'affiche automatiquement à gauche du nom de la salle lorsqu'un bot est présent en salle et
configuré au moyen de bot.txt pour imposer les webcams.
Alternativement, si vous avez votre propre script pour obliger les webcams, vous pouvez forcer
l'affichage de l'icône CAM par la commande suivante à placer dans chatserv.ini :
[settings]
cams = oblig ; cam obligatoire
Rendre une zone de texte cliquable
En entourant une zone de texte par des marqueurs, on peut la rendre cliquable, c'est-à-dire que si un
chatteur clique sur la zone avec la souris, une action 300 sera envoyée au bot contenant dans line$ le code
marqueur.
Un marqueur commence par le code 3.
Le marqueur de fin de zone est toujours chr$(3,0,0,0). Le marqueur chr$(3,255,a,b) est réservé pour le jeu
mine du bot.
exemples :
print (chr$(3,0,0,1) + image$("logo.gif") + chr$(3,0,0,0));
print (chr$(3,0,0,1) + image$("logo1.gif") +
chr$(3,0,0,2) + image$("logo2.gif") +
chr$(3,0,0,0));
print ("Logo 1 : " + chr$(3,0,0,1) + image$("logo1.gif") + chr$(3,0,0,0) +
"Logo 2 : " + chr$(3,0,0,2) + image$("logo2.gif") + chr$(3,0,0,0) +
"Logo 3 : " + chr$(3,0,0,3) + image$("logo3.gif") + chr$(3,0,0,0));
...
if (action == 300)
print ("vous avez cliqué sur le logo " + str$(asc(line$,4)));
Erreurs
Les erreurs suivantes peuvent apparaitre lors de l'exécution d'un script :
1 "array index out of range" : l'index du tableau [] est hors limites
2 "division by zero"
: division par zéro non autorisée
3 "string too long"
: chaine ne peut pas dépasser 8192 caractères
4 "out of string space"
: trop de chaines, la mémoire est pleine
5 "bad argument"
: mauvaise valeur pour fonction standard
6 "application hangs"
: l'application a déjà exécuté 100 millions d'instructions et semble tourner en
rond
7 "missing return in
function"
: fonction sans instruction "return"
8 "expression too complex" : trop de paramètres ou d'appels imbriqués
9 "callstack full"
: trop de paramètres ou d'appels imbriqués
Les erreurs 10 à 15 dénotent un problème avec le logiciel de chat :
10 "arithmetic stack empty"
11 "unknown pcode"
12 "outside code range"
13 "outside var range"
14 "ret outside range"
15 "astack corrupt"
Exemples de scripts
Exemple 1 : Horloge
proc event (session_key, userid$, sex$, has_photo, age, is_away,
admin, cam_on, is_bot, toc_capab, signature$,
action, is_myself, line$)
{
var heure, phrase$, phrase2$;
if (action == 128)
// arrivée en salle
{
heure = val (mid$(now$(),12,2));
if (heure >= 12 && heure <= 13)
phrase$ = "Bon Appétit$mi ";
else if (heure >= 0 && heure <= 4)
phrase$ = "Agréable Nuit(s) ";
else if (heure >= 6 && heure <= 19)
phrase$ = "Bonjour:) ";
else
phrase$ = "Bonsoir;) ";
if (sex$ == "F")
phrase2$ = " (f)";
else
phrase2$ = " (y)";
print (phrase$ + userid$ + phrase2$
+ ", il est " + right$(now$(),8)
+ "(o)");
}
}
Exemple 2 : jeu de Puissance 4
var jeu;
var tab[35];
var joueur;
// 1 = jeu actif
// 5 lignes de 7 colonnes
proc effacer_table ()
{
var i;
for (i=0; i<35; i++)
tab[i] = 0;
}
proc afficher_table ()
{
var line, col, line$, i;
i = 0;
for (line=0; line<5; line++)
{
line$ = "
";
for (col=0; col<7; col++)
{
if (tab[i] == 0)
line$ = line$ + chr$(1,0,0,0) + ".";
else if (tab[i] == 1)
line$ = line$ + chr$(1,0,0,255) + "X";
else
line$ = line$ + chr$(1,255,0,0) + "O";
i++;
}
print (chr$(2,5,4,0) + line$);
}
// courier new + gras
print (chr$(2,5,4,0) + chr$(1,0,0,0) + "
}
>" + "1234567<");
func score (col, line)
{
var x, y, c, i, j, count;
// 4 cases consecutives horizontales
j
count = 0;
= 0;
for (x=0; x<7; x++)
{
c = tab[x+line*7];
if (c == 0 || c != j)
{
count = 1;
j = c;
}
else
{
count++;
if (count == 4)
return j;
}
}
// 4 cases consecutives verticales
j
count = 0;
= 0;
for (y=0; y<5; y++)
{
c = tab[col+y*7];
if (c == 0 || c != j)
{
count = 1;
j = c;
}
else
{
count++;
if (count == 4)
return j;
}
}
// 4 cases consecutives obliques \
j
count = 1;
= tab[col+line*7];
for (i=1; i<=3; i++)
{
if (col-i < 0 || line-i < 0 || tab[col-i + (line-i)*7] != j)
break;
count++;
}
for (i=1; i<=3; i++)
{
if (col+i >= 7 || line+i >= 5 || tab[col+i + (line+i)*7] != j)
break;
count++;
}
if (count >= 4)
return j;
// 4 cases consecutives obliques /
j
count = 1;
= tab[col+line*7];
for (i=1; i<=3; i++)
{
if (col-i < 0 || line+i >= 5 || tab[col-i + (line+i)*7] != j)
break;
count++;
}
for (i=1; i<=3; i++)
{
if (col+i >= 7 || line-i < 0 || tab[col+i + (line-i)*7] != j)
break;
count++;
}
if (count >= 4)
return j;
return 0;
}
// col de 1 a 7
// joueur 1 ou 2
func ajouter (col, joueur)
{
var line;
col--;
if (col < 0 || col >= 7)
return -1;
if (tab[col] != 0)
return -1;
for (line=0; line<4; line++)
{
if (tab[col+line*7+7] != 0)
break;
}
tab[col+line*7] = joueur;
return score (col, line);
}
proc event (session_key, userid$, sex$, has_photo, age, is_away, admin,
cam_on, is_bot, toc_capab, signature$, action, is_myself, line$)
{
var c$, col, r;
if (action == 128)
{
print ("Bienvenue en salle, tapez !p4 pour jouer au puissance 4.");
}
if (action == 0)
{
if (len(line$) >= 3 && right$(line$,3) == "!p4")
{
jeu = 1;
afficher_table();
}
else if (jeu == 1)
{
if (len(line$) >= 1)
{
c$ = right$(line$, 1);
if (c$ >= "1" && c$ <= "7")
{
col = val (c$);
if (joueur == 1)
joueur = 2;
else
joueur = 1;
r = ajouter (col, joueur);
if (r >= 0)
{
afficher_table();
if (r > 0)
{
if (r == 1)
{
print (chr$(1,0,0,0) + "Bravo
+ chr$(1,0,0,0) + " a
}
else if (r == 2)
{
print (chr$(1,0,0,0) + "Bravo
+ chr$(1,0,0,0) + " a
}
! " + chr$(1,0,0,255) + "X"
gagne");
! " + chr$(1,255,0,0) + "O"
gagne");
effacer_table ();
jeu = 0;
}
}
}
}
}
}
}
Exemple 3 : kicker les tasses après 30 secondes
var session[256];
var expire$[256];
var nb_session;
// enregistre le session_key des chatteurs en tasse
// date et heure à laquelle on kicke le chatteur
// nombre d'éléments dans les 2 tableaux
// ajoute une session_key dans les 2 tableaux
proc ajouter_dans_table (session_key)
{
var i;
for (i=0; i < nb_session; i++)
{
if (session_key == session[i])
// trouvé
break;
}
if (i == nb_session)
// pas trouvé, donc agrandir table
nb_session++;
session[i] = session_key;
expire$[i] = add_date$ (now$(), 30);
}
proc supprimer_de_table (session_key)
{
var i;
for (i=0; i < nb_session; i++)
{
if (session_key == session[i])
break;
}
// trouvé
if (i < nb_session)
// trouvé
{
session[i] = session[nb_session-1];
expire$[i] = expire$[nb_session-1];
nb_session--;
}
}
proc timer ()
{
var i;
for (i=0; i < nb_session; i++)
{
if (now$() > expire$[i])
// a expiré
{
kick (session[i], "ce n'est pas un parking ici !");
supprimer_de_table (session[i]);
}
}
set_timer (1);
// rappeler timer() toutes les secondes
}
proc event (session_key, userid$, sex$, has_photo, age, is_away,
admin, cam_on, is_bot, toc_capab, signature$,
action, is_myself, line$)
{
if (!is_myself) // pas moi-même
{
if (action == 2)
{
if (is_away)
// chatteur va en tasse
{
print ("Attention " + userid$ + " : tu seras kické après 30 secondes en tasse
!");
ajouter_dans_table (session_key);
}
else
// reviens de tasse
{
supprimer_de_table (session_key);
}
}
if (action == 129 || action == 130 || action == 256)
{
supprimer_de_table (session_key);
}
}
}
Exemple 4 : robot multi-fonctions
var nombre;
// nombre a deviner (pour le jeu devine)
var jeu_score[50], jeu_pseudo$[50];
var nombre_de_lignes;
// compte le nombre de lignes reçues
var fruit$[3];
// tableau de 3 fruits
func fq$ ()
// changer la couleur et le style d'écriture
{
return chr$(1,0,0,128) // couleur bleue claire (voir chapitre macros)
+ chr$(2,5,4,0);
// font "Courier New", style gras
}
func red$ ()
{
return chr$(1,255,0,0);
}
// couleur rouge
func green$ ()
{
return chr$(1,0,255,0);
}
func blue$ ()
{
return chr$(1,0,0,255);
}
proc demarre_devine ()
{
print ("devine un nombre de 1 à 99");
nombre = random (1,99);
}
// ajoute des points dans le tableau jeu_score[]
proc ajoute_points (userid$)
{
var i, j, u$;
// cherche le userid$ dans le tableau jeu_pseudo$[]
// ou bien cherche une case vide dans le tableau
for (i=0; i<50; i++)
{
if (jeu_pseudo$[i] == userid$ || jeu_pseudo$[i] == "")
break;
}
// remplir la case et augmenter le score
jeu_pseudo$[i] = userid$;
jeu_score[i]++;
// ajouter 1 point au score
// remonter le joueur dans le tableau des scores
// s'il a dépassé des joueurs avant lui
while (i > 0 && jeu_score[i] > jeu_score[i-1])
{
j = jeu_score[i];
jeu_score[i] = jeu_score[i-1];
jeu_score[i-1] = j;
u$ = jeu_pseudo$[i];
jeu_pseudo$[i] = jeu_pseudo$[i-1];
jeu_pseudo$[i-1] = u$;
i--;
}
}
// imprime les 9 premiers scores du tableau
// ainsi que le userid$ même s'il est après les 9 premiers
proc affiche_scores (userid$)
{
var i, score$;
print (fq$() + "SCORES");
print (fq$() + "======");
for (i=0; i<50; i++)
{
if (jeu_pseudo$[i] == "")
break;
if (i < 9 || userid$ == jeu_pseudo$[i])
{
score$ = str$(jeu_score[i]);
if (len(score$) < 4)
score$ = dup$(" ",4-len(score$)) + score$;
print (fq$() + str$(i+1) + ". " + score$ + "
}
}
print("");
" + jeu_pseudo$[i]);
}
proc joue_devine (word$,userid$)
{
var last, first, n;
// enlève les blancs à la fin
last = len(word$);
while (last >= 1 && asc(word$,last) == 32)
last--;
// collecte tous les chiffres à la fin
first = last;
while (first >= 1 && asc(word$,first) >= 48 && asc(word$,first) <= 57)
first--;
if (first == last)
return;
// pas de chiffres
n = val (mid$(word$,first+1,last-first));
if (n <
print
else if
print
nombre)
("ha non, trop petit !");
(n > nombre)
("hé non, trop grand !");
else
{
print ("Bravo, c'était bien " + str$(nombre));
ajoute_points (userid$);
affiche_scores (userid$);
nombre = 0;
}
}
proc print_fruits ()
{
if (fruit$[1] == "")
// tableau pas encore rempli
{
fruit$[1] = "Pommes";
fruit$[2] = "Poires";
fruit$[3] = "Bananes";
}
print ("Saluuuut :d tu aimes les " + fruit$[random(1,3)] + " ? ");
}
// nettoye la ligne line$ en remplaçant toutes les icones par des blancs,
// en convertissant tous les mots en minuscules,
// et en entourant tous les mots par des blancs.
func clean$ (line$)
{
var last, r$, i, c;
i = 1;
last = len(line$);
while (i <= last)
{
c = asc (line$,i);
if (c <= 9) // séquence spéciale
{
i += 4;
// passer 4 caractères
if (c > 5)
i += 4;
c = 32; // remplacer par un blanc
}
else
// caractère normal
{
if (c >= 65 && c <= 90) // si entre A et Z
c += 32;
// convertir en minuscules
i++;
}
r$ = r$ + chr$(c);
}
return r$ + " ";
}
proc timer ()
{
if (mid$(now$(),12,5) == "12:00")
print ("il est 12 heures !");
if (mid$(now$(),12,5) == "13:00")
print ("il est 13 heures !");
set_timer (55);
}
// rappeler toutes les 55 secondes,
// donc 1 appel par minute est garanti
proc event (session_key, userid$, sex$, has_photo, age, is_away,
admin, cam_on, is_bot, toc_capab, signature$,
action, is_myself, line$)
{
var word$, w$, heure, i;
word$ = clean$(line$);
// nettoye la ligne pour pouvoir y chercher des mots
if (action == 127)
// afficher les gens déjà présents en salle
{
print ("Déjà en salle : " + userid$ + " (session_key=" + str$(session_key) +
")");
}
if (action == 128)
{
if (is_myself)
toc();
// arrivée en salle
// c'est moi-même
// je prend le toc !
w$ = blue$();
heure = val (mid$(now$(),12,2));
if (heure >= 12 && heure <= 13)
w$ = w$ + "Bon Appétit$mi ";
else if (heure >= 0 && heure <= 4)
w$ = "Agréable Nuit(s) ";
else if (heure >= 6 && heure <= 19)
w$ = w$ + "Bonjour:) ";
else
w$ = w$ + "Bonsoir;) ";
w$ = w$ + userid$;
if (sex$ == "F")
w$ = w$ + " (f)";
else
w$ = w$ + " (y)";
w$ = w$ + ", il est " + right$(now$(),8)
+ "(o)";
print (w$);
//
print ("Votre signature est : " + signature$);
print (blue$() + "tape " + red$() + "!devine" + blue$() + " pour le jeu devine");
}
if (action == 0)
// ligne de texte normale
{
if (!is_myself)
// ce n'est pas moi-même
{
if (pos (word$, " !devine "))
// contient !devine (avec 2 blancs autour,
attention !)
demarre_devine ();
if (nombre > 0) // le jeu devine est actif
joue_devine (word$, userid$);
// kicker quelqu'un s'il dit cochon
if (pos (word$, " cochon "))
kick (session_key, userid$ + ":@ malpoli !!");
// Afficher l'heure
if (pos (word$, " heure "))
print ("Horloge parlante : " + now$());
// afficher le fichier bienvenue.txt, ligne par ligne
if (pos (word$, " bien "))
{
for (i=1; i<=count_lines("bienvenue.txt"); i++)
print (read_line$("bienvenue.txt", i));
}
// Afficher une image de porte
if (pos (word$, " porte ") > 0)
print ("-> " + image$("kitchen02.jpg") + "quelle porte ? :p");
// retenir une phrase en la stockant dans la database chat.db
if (pos (word$, " retiens ") > 0)
{
store ("Retiens " + signature$, line$);
print ("phrase retenue, dis 'quoi' pour la revoir !");
}
// redire la phrase stockée
if (pos (word$, " quoi ") > 0)
{
print ("ta phrase était : "+ fetch$("Retiens " + signature$));
}
nombre_de_lignes++;
// augmenter le nombre de lignes de 1
// toutes les 200 lignes, annoncer le nombre de lignes déjà parlées en salle
if ((nombre_de_lignes % 200) == 0)
print ("Déjà " + str$(nombre_de_lignes) + " lignes parlées sur ce chat :p");
// toutes les 100 lignes, demander si on aime un fruit
if ((nombre_de_lignes % 100) == 0)
print_fruits ();
}
}
if (action == 2 && is_away)
// aller en tasse
{
print ("Et alors là " + userid$ + " ? on se cache ?");
}
if (action == 2 && !is_away) // revenir de tasse
{
print ("Ben heureusement que tu reviens " + userid$ + " $si");
}
if (action == 1)
// ligne de texte envoyé avec la bulle
{
print ("Alors on rêvasse " + userid$ + " :d");
}
}
G. Démarrer le bot sans passer par la liste des salles
On peut démarrer le bot sans passer par la liste des salles avec la commande dos suivante :
chat.exe -room 127.0.0.1:12000
H. Applications 'Console de Jeu'
En script, vous pouvez aussi écrire des 'applications console' qui tournent dans une fenêtre du
chat.
Le tutorial pour écrire des applications console est ici
A ce lien , vous trouverez 4 jeux console de démonstration : casse-brique, galaxy, pacman et
falcon. Il suffit de dézipper les 4 fichiers et de les copier dans le répertoire du bot, ensuite
tapez !jeu avec votre pseudo.
A ce lien , vous trouverez un jeu console/quizz pour dessiner : il faut remplir un fichier dessinmots.txt avec une liste de mots à dessiner. Les commandes sont :
•
•
•
•
!dessin start
!dessin stop
!dessin score
!dessin efface (efface les scores, pour toc or seulement)
Voir également le cours pour apprendre le script ici
2. Comment Installer un Quizz
Pour créer un quizz, vous avez besoin d'un fichier de questions.
Un exemple :
1492 : En quelle année Christophe Colomb a-t-il découvert l'amérique ?
1957 : date de lancement du tout premier satellite artificiel (Spoutnik 1)
1969 : date du 1er débarquement humain sur la lune (Armstrong, Aldrin - Apollon 11)
1976 : date d'arrivée de la 1ère sonde sur Mars (Viking I)
aïkido : art martial japonais à mains nues fondé sur des mouvements de rotation et d'esquive
abîme : gouffre très profond
abdiquer : renoncer à la couronne
abeille : insecte produisant du miel
ablette : poisson d'eau douce, à dos vert métallique, abondant dans les lacs alpins
abnégation : sacrifice de soi
abordage : assaut donné d'un navire à un autre
aboyer : pousser un cri en parlant du chien
abribus : édicule destiné à servir d'abri aux voyageurs à un point d'arrêt d'autobus
acajou : arbre des régions tropicales donc le bois rougeâtre sert en ébénisterie
accalmie : calme momentané du vent ou de la mer
accolade : action de serrer quelqu'un dans ses bras lors d'une remise de décoration
accompagner : aller quelque part avec quelqu'un
accordéon : instrument de musique portatif à touches ou boutons muni d'un soufflet
accrocher : suspendre à un crochet
accélération : accroissement de la vitesse
acousticien : spécialiste du son
acrobate : artiste qui exécute des tours d'agilité, d'adresse ou de force dans un cirque
adolescence : période de la vie entre la puberté et l'âge adulte
agneau : petit de la brebis
agriculteur : personne qui cultive la terre
agripper : saisir vivement en serrant avec les doigts, en s'accrochant
aguicher : provoquer, chercher à séduire quelqu'un par la coquetterie, l'artifice
aigre-doux : d'un goût à la fois acide et sucré
aiguiser : rendre tranchant, affûter
ail : plante à bulbe dont les gousses, à l'odeur forte et piquante, sont utilisées en cuisine
aisselle : cavité située sous l'épaule
ajourner : renvoyer à un autre jour
albatros : oiseau palmipède des mers australes d'une envergure de 3m, bon voilier, très vorace
aligner : ranger, présenter sur une ligne droite
alliance : anneau de mariage
alligator : crocodile d'amérique qui atteint jusqu'à 5m
allumette : petit brin de bois dont l'une des extrémités est imprégnée d'une composition inflammable
alouette : oiseau passereau à plumage brunâtre commun dans les champs et ne perchant pas sur les arbres
alpha : première lettre de l'alphabet grec
alpinisme : sport des ascensions en montagne
altocumulus : nuage d'altitude moyenne (4000 m) formé de gros flocons aux contours nets (ciel pommelé)
altruisme : tendance à s'intéresser aux autres, à se montrer généreux et désintéressé
altérer : détériorer, changer en mal
amant : homme qui a des relations sexuelles avec une femme qui n'est pas son épouse
amateur : personne qui pratique une activité sans en faire sa profession
ambassadeur : représentant permanent d'un état auprès d'un état étranger
ambition : désir ardent de réussite
ambivalent : qui parait être en contradiction, avoir un sens double
ambulance : véhicule pour le transport des blessés
amende : sanction ou peine pécunière
amiante : silicate naturel hydraté de calcium et magnésium résistant au feu, utilisé pour fabriquer des matériaux
incombustibles
amiral : officier général d'une marine militaire
ammonite : mollusque fossile à coquille enroulée, caractéristique de l'ère secondaire
amnistie : loi qui efface une condamnation ou empêche les poursuites
amnésie : diminution ou perte totale de la mémoire
amorcer : commencer à déclencher un dispositif
amour : sentiment très intense d'attachement entre deux personnes
amourette : amour passager, sans profondeur
amphibie : qui peut vivre à l'air et dans l'eau, en parlant d'un animal ou d'une plante
amplifier : accroitre le volume (du son)
amputer : enlever un membre par une opération chirurgicale
amulette : object que l'on porte sur soi et auquel on accorde par superstition des vertus de protection
aménager : transformer pour rendre plus pratique
amuse-gueule : menue friandise servie avec l'apéritif
amydales : organes lymphoïde de la gorge (au nombre de deux) que l'on enlève parfois lors d'une intervention chirurgica
anaconda : grand serpent d'amérique du sud (8 m) se nourissant d'oiseaux et de mammifères
anagramme : mot formé des lettres d'un autre mot disposées dans un ordre différent
analphabète : qui ne sait ni lire ni écrire
ananas : plante de l'amérique tropicale, cultivée pour son gros fruit à bulbe sucrée et savoureuse
anarchie : état de désordre dû à l'absence d'autorité
anchois : petit poisson de Méditerranée, 15 à 20 cm, qui est souvent conservé dans la saumure ou dans l'huile
ancre : pièce d'acier servant à immobiliser un navire en s'accrochant au fond de l'eau
andouille : personne sotte ou maladroite
androgyne : qui tient des deux sexes
anecdote : récit succinct d'un fait piquant, curieux ou pas connu
anesthésier : endormir, rendre insensible
ange : être spirituel, intermédiaire entre Dieu et l'homme
angine : inflammation des muqueuses de l'isthme du gosier et du pharynx
anglophilie : sympathie pour le peuple anglais
anglophobie : aversion pour les anglais, pour ce qui est anglais
angoisse : inquiétude profonde
angora : qui présente des poils longs et soyeux, en parlant de certains animaux (chat, lapin, chèvre)
animateur : personne chargée d'organiser et d'encadrer des activités dans une collectivité
animosité : malveillance, antipathie qui se manifeste souvent par l'emportement
annuaire : ouvrage publié chaque année qui donne la liste des membres d'une profession
année-lumière: distance parcourue par un rayon de lumière en un an
année : période de douze mois
annuité : paiement annuel au moyen duquel un emprunteur se libère progressivement d'une dette
annulaire : quatrième doigt de la main qui porte généralement une alliance
annuler : déclarer nul
anoblir : accorder un titre de noblesse
anodin : inoffensif, sans importance
anonyme : dont l'auteur est inconnu
anorexie : perte de l'appétit
anosmie : diminution ou perte complète de l'odorat
anthropophage: se dit d'un homme qui mange de la chair humaine
antiquaire : commerçant spécialisé dans la vente et l'achat de meubles et d'objets d'art anciens
antépénultième : qui vient juste avant l'avant-dernier
anéantir : détruire entièrement
anémomètre : instrument qui sert à mesurer la vitesse du vent
aparté : paroles échangés à l'écart, au cours d'une réunion
apathique : qui ne réagit pas, qui parait sans volonté, sans énergie
apatride : personne sans nationalité légale
apesanteur : disparition des effets de la pesanteur terrestre
aphasie : perte de la parole ou de la compréhension du langage suite à une lésion du cortex cérébral
aphone : se dit d'une personne qui a perdu sa voix
aphrodisiaque: se dit d'une substance qui est censée créer, stimuler le désir sexuel
apiculteur : personne qui élève des abeilles
apocalypse : catastrophe épouvantable, fin du monde
apollon : jeune homme d'une grande beauté
appareiller : se dit d'un bateau qui quitte le port, le mouillage
appeau : petit instrument avec lequel on imite le cri des animaux pour les attirer
applaudir : marquer son admiration en battant des mains
appointements: rémunération fixe, salaire attaché à un poste, à un emploi
apprivoiser : domestiquer, rendre docile
appréhender : craindre, redouter la venue de quelque chose
appétit : désir de manger
après-demain : le second jour après celui où on est
apurer : solder le passif d'un compte
apéritif : boisson alcoolisée servie généralement avant les repas
aquaplanage : perte d'adhérence d'un véhicule par temps de pluie
aquarelle : peinture à l'eau, légère, transparente, le plus souvent sur papier blanc
aquarium : réservoir transparent dans lequel on élève des poissons
arbitre : personne chargée de faire respecter les règles d'un jeu
archet : baguette souple de crin qui sert à frotter les cordes d'un violon
archipel : un groupe d'îles
ardeur : zèle, empressement au travail
ardoise : mot familier pour désigner une dette chez un commerçant ou au café
argile : roche imperméable meuble qui, imbibée d'eau, permet de façonner des objets
argon : gaz, inerte, incolore, symbole chimique Ar. On en trouve 1% dans l'atmosphère terrestre.
aride : se dit d'une terre sèche, privée d'humidité
arithmétique : partie des mathématiques étudiant les propriétés élémentaires des nombres entiers et rationnels
arlequin : personne de clown au vêtement bariolé
armure : vêtement de protection en fer du moyen-âge
arnaqueur : escroc, filou (en 9 lettres)
arène : espace sablé d'un cirque où se déroulaient les jeux romains
artère : vaisseau sanguin qui va du coeur aux organes
arête : un cube en a douze
asphalte : calcaire imprégné de bitume qui sert au revêtement des chaussées
asphyxie : état de détresse respiratoire
aspirine : médicament analgésique et antipyrétique (pour guérir la grippe)
assainir : ramener une situation à la normale
assemblée : réunion de personnes (par exemple église ou sénat)
asseoir : installer sur un siège
assiette : pièce de vaisselle à fond plat et bord incliné dans laquelle on mange
astéroide : petit corps céleste
asticot : larve de la mouche à viande, utilisé comme appat pour la pêche à la ligne
asticoter : taquiner gentiment
astiquer : faire briller en frottant
athlétisme : ensemble des sports individuels comprenant course, saut et lancer
atroce : qui est horrible, insoutenable
attacher : fixer à quelque chose
babiole : chose puérile ou sans valeur
babouin : singe du genre cynocéphale
baby-boom : accroissement subit de la natalité
baby-foot : football de table
baby-sitter : personne qui garde les enfants en bas âge
baby-sitting : fait de garder les enfants en bas âge
baby : terme anglais signifiant "bébé"
bac : bateau plat, parfois attaché à un câble, utilisé pour passer d'un bord à l'autre d'un cours d'eau
baccalauréat : premier grade universitaire sanctionnant les études secondaires en france
bacchanales : fêtes célébrées en l'honneur de Bacchus
bachelier : qui a subi avec succès l'examen de baccalauréat
bachi-bouzouk: autrefois, soldat irrégulier de l'armée turque
bachot : petit bateau à fond plat
bachotage : travail intensif pour se préparer à un examen ou à un concours
bacille : insecte du sud de la France, dont l'aspect rappelle celui d'une brindille
bacille : microbe qui a la forme d'un bâtonnet
bacon : lard fumé
bactérie : microbe unicellulaire qui ne comporte pas de noyau cellulaire
badaboum : onomatopée imitant le bruit d'une chute
badaud : personne qui flâne en regardant tout ce qui présente un intérêt quelconque
badge : insigne
badinage : action ou propos de celui qui se plaît aux choses légères
badine : petite canne flexible
badminton : jeu de volant qui ressemble au tennis
baffe : nom familier de la gifle
baffle : enceinte acoustique
bafouiller : parler d'une manière confuse
bagage : connaissances que l'on possède
bagage : objet que l'on emporte en voyage
bagagiste : employé qui s'occupe des bagages
bagarre : tumulte, rixe
bagarreur : personne qui aime se bagarrer
bagatelle : chose frivole, sans importance
bagne : établissement pénitentiaire où étaient enfermés les condamnés aux travaux forcés
bague : anneau que l'on porte au doigt
baguette : pain long
baguette : petit bâton flexible
bâbord : côté gauche d'un bateau lorsqu'on regarde vers l'avant
bâcler : expédier un travail à la hâte
bédéphile : comment nomme-t-on un collectionneur de bandes dessinées
Einstein : en physique, qui a découvert la théorie de la relativité ?
marguerite : fleur à partie centrale jaune et pétales blanches
marmite : récipient avec couvercle, sans manche, et muni d'anses, dans lequel on fait cuire les aliments
marmot : petit enfant
milou : Comment s'appelle le chien de tintin ?
misogyne : homme qui a une hostilité manifeste à l'égard des femmes
mistral : vent violent, froid, turbulant et sec
mitrailler : tirer par rafalles
moine : homme lié par des voeux religieux et vivant en monastère
ânon : petit de l'âne
satellite : corps qui gravite autour d'une planète
Saturne : planète géante du système solaire qui comporte des anneaux
saumon : poisson à la chair estimée, d'une couleur rose-orangé
sauna : bain de vapeur sèche, d'origine finlandaise
SN : symbole chimique de l'étain
Le fichier de questions doit être appelé QUIZZ.TXT et être placé dans le même répertoire que
CHAT.EXE
On ne sait pas ajouter plusieurs fichiers.
Si vous changez les questions, attention de respecter le format et de ne pas ajouter de lignes
vides ou de titre !
Commandes du Quizz :
!start
démarrer le quizz
!stop
arrêter le quizz
!pause
mettre le quizz en pause (redémarrer avec !start ou !pause)
!indice ou !hint
avoir un indice
!next
passer à la question suivante
!score ou !scores voir les scores de la semaine
!quoi ou !what
pour répéter une question quand on vient d'entrer en salle et que la question est déjà
posée
Si le quizz ne démarre pas avec !start, essayez de renommer votre fichier en "QUIZZ" au lieu
de "QUIZZ.TXT" (le bloc-notes rajoute l'extension cachée .TXT automatiquement, pour plus de
détails :
Comment voir les Fichiers Cachés dans Windows
Par défaut, windows cache certains fichiers et certaines extensions de fichier,
ce qui peut poser des problèmes pour bien configurer.
Pour voir tous les fichiers et extensions :
1) double-cliquez sur l'icone "Poste de Travail" qui se trouve sur votre bureau.
2) cliquez sur le menu "Outils", puis "Options des dossiers".
3) cliquez sur l'onglet "Affichage".
4) descendez un peu dans la liste "Paramètres Avancés"
puis sélectez la case "Affichez les fichiers et dossiers cachés".
5) Décocher la case "Masquer les extensions des fichiers dont le type est
connu".
Attention: on a bien dit Décocher, c'est-à-dire enlever le 'v' !
6) Fermer toutes les fenêtres avec OK.
3. Jeu Action/Vérité
Pour démarrer le jeu Action ou Vérité, tapez !action ou !av
Les textes du paragraphe [action] du fichier bot.txt doivent être correctement remplies (voir
explications ci-dessus). Vous pouvez aussi rajouter des questions dans ce fichier.
4. Jeu Mine
Pour démarrer le jeu Mine, tapez !mine
Cliquez ensuite sur un symbole du tableau puis sur la touche Enter afin de découvrir une case
du jeu.
Les textes du paragraphe [mine] du fichier bot.txt doivent être correctement remplies (voir
explications ci-dessus).
5. Comment Installer un script pour le jeu "Scrabble"
Pour le jeu scrabble, téléchargez puis dézippez le script SC R A B B L E_ S C R I P T , et copiez-le
dans le répertoire du bot.
Ensuite, téléchargez puis dézippez les questions de scrabble SC R A B B L E_Q U E S T I O N S , et
copiez-les aussi dans le répertoire du bot.
Si les fichiers ZIP sont vides après le téléchargement, essayez de cliquer sur 'Enregistrer' au
lieu de 'Ouvrir' !
Cliquez sur la fenêtre du bot et appuyez sur F5
Les commandes du jeu sont :
!scrab start
démarrer le jeu
!scrab score voir les scores
!scrab efface
effacer les scores (pour toc Or
seulement)
Attention: le bot lui-même NE peut PAS faire ces commandes !
Les scores sont effacés aussi toutes les semaines automatiquement.
6. Comment Installer un script pour le jeu "Le compte est bon"
Pour le jeu "Le compte est bon", téléchargez puis dézippez le script CO M P T E_ S C R I P T , et
copiez-le dans le répertoire du bot.
Si le fichier ZIP est vide après le téléchargement, essayez de cliquer sur 'Enregistrer' au lieu de
'Ouvrir' !
Cliquez sur la fenêtre du bot et appuyez sur F5
Les commandes du jeu sont :
!compte start
démarrer le jeu
!compte stop
arrête le jeu
!compte score voir les scores
!compte efface
effacer les scores (pour toc Or
seulement)
Attention: le bot lui-même NE peut PAS faire ces commandes !
Les scores sont effacés aussi toutes les semaines automatiquement.
==> *** Guide Chat *** <==
==> *** Guide Bot *** <==
==> *** Guide Salle s *** <==
** Comment créer sa propre salle de chat **
Voici maintenant un chapitre pour ceux qui se sentent une âme d'animateur (ou d'animatrice) et
qui désirent créer leur propre salle de chat.
Pour cela, vous devez installer un serveur de chat sur votre PC. Les gens qui viendront chatter
dans votre salle se connecteront directement à votre PC. Si vous arrêtez le serveur de chat ou
que vous coupez votre PC, votre salle disparaitra.
A. Clause de Responsabilité
Etant donné que l'animateur fait tourner un serveur de salle de chat sur son PC sans aucune
possibilité de vérification ou de contrôle de notre part, nous déclinons toute responsabilité de
l'utilisation qui sera faite de ce logiciel serveur ainsi que du logiciel de chat client correspondant.
En téléchargeant le serveur de chat, l'animateur accepte d'endosser l'entière responsabilité de
l'utilisation de ce logiciel.
Nous conseillons à l'animateur de prendre à coeur les responsabilités suivantes :
* L'animateur vérifiera l'âge des participants dans les salles "adultes".
* L'animateur veillera à ce qu'aucun acte contraire à la loi ne soit commis par les participants.
* L'animateur ne laissera pas une salle très fréquentée sans surveillance, surtout s'il s'agit d'une
salle qui, vu le titre de la salle, attire un certain public adulte. Il est conseillé de s'entourer d'une
équipe d'animateur/d'animatrices qui peuvent se relayer.
* L'animateur n'utilisera, pour le titre de sa salle, ni mots grossiers ou vulgaires, ni insultes vis-àvis d'autres participants.
Nous conseillons à l'animateur de ne pas prendre ces responsabilités à la légère s'il veut éviter
une convocation à la gendarmerie suite à une plainte déposée par un participant !
L'animateur a à sa disposition le fichier de log du serveur afin de vérifier ce qui se déroule en
salle.
B. Installation
Pour installer le serveur de chat veuillez exécuter les Etapes 1 à 8 ci-dessous:
Etape 1
Téléchargez le serveur de chat en cliquant sur ce lien puis sur 'Ouvrir'.
(si ça ne fonctionne pas, cliquez ici )
Etape 2
Démarrez-le en cliquant sur l'icône "CREER SALLE" qui se trouve sur votre bureau.
Etape 3
Entrez le nom de votre salle ("Chat en Belgique - Chez Samuro"),
ensuite choisissez une langue ("Français/Belgique"),
et finalement choisissez une catégorie (Ados, General, Conversation 18+ ou Erotica 21+) :
Categorie
Description
Ados
jeunes 0 à 20 ans
General
ouvert à tous
Conversation
18+
conversations entre
adultes
Erotica 21+
salles roses
Etape 4
Observez l'indicateur "#rooms" sur le serveur de
chat (voir photo à droite). Cet indicateur compte le
nombre total de salles de chat existantes dans le
système. Au début, quand vous démarrez le serveur
de chat, cet indicateur est égal à 1. Après quelques
minutes, il devrait indiquer une valeur supérieure à 1
(par exemple 67 sur la photo). Cela signifie que
votre salle a été correctement ajoutée dans la liste
des salles. Continuez alors à l'étape 7 ci-dessous.
Si vous voyez un bouton TEST coloré en VERT, cela signifie que tout va bien, l'indicateur
"#rooms" va changer dans quelques minutes, il suffit d'attendre.
Par contre si vous voyez un bouton TEST coloré en ROUGE, cela signifie que votre PC n'est
pas bien configuré pour faire tourner un serveur. Continuez alors à l'étape 5 ci-après.
Etape 5 : Routeur
1. cliquez sur le bouton "Démarrer" en bas à gauche de votre écran Windows
2. cliquez sur "Exécuter"
3. tapez cmd puis cliquez sur OK, ce qui doit faire apparaitre une boite noire.
(note: sur windows 95/98, tapez dosprmpt au lieu de cmd)
4. tapez ipconfig et appuyez sur la touche Entrée (à droite en bas du clavier)
5. cherchez les 2 lignes rouges sur l'image ci-dessus. La première est intitulée
"Adresse IP" et la deuxième plus bas s'appelle "Passerelle par défaut".
Si ces deux adresses IP commencent par 192.168.x.x, 10.x.x.x, ou 172.x.x.x
alors vous avez un routeur que nous allons devoir configurer (s'ils
commencent par autre chose, vous n'avez pas de routeur et vous pouvez aller
directement à l'étape 6 : Parefeu)
6.
7.
8.
9.
notez soigneusement les deux IP sur un papier :
- la première est l'IP locale de votre PC (à ne pas confondre avec l'IP
Internet !)
- la deuxième est l'IP de votre routeur.
démarrez internet explorer et tapez http://xxx.xxx.xxx.xxx en remplaçant les
xxx par l'IP de votre routeur.
dans le guide utilisateur, cherchez le nom d'utilisateur et le mot de passe pour
se logger (il faut souvent laisser la zone vide, ou bien taper admin).
cherchez le menu pour ajouter un serveur, ça s'appelle souvent "NAT" ou bien
"Virtual Server" ou "Applications & Gaming"
Ajoutez une ligne dans la configuration :
application
user-defined, non-standard ou tapez chat
protocole TCP ou UDP TCP
numéro du port entrant 12000 (ou 12000 à 12000) - celui du serveur de chat
numéro du port sortant 12000 (ou 12000 à 12000) - celui du serveur de chat
Adresse IP
IP locale de votre PC, que vous avez notée sur un
papier
Enable
X
1. sauver la configuration.
exemple: le router wireless LinkSysBEFW11S4
2. Si vous ne trouvez pas le menu NAT, vous pouvez aussi entrer l'IP locale de votre PC
dans le menu "Default Server" ou "DMZ" du routeur.
Quand votre routeur est bien configuré, continuez à l'étape 6 car ce n'est pas fini.
Etape 6 : Parefeu
1. Vous devez autoriser le port TCP 12000 dans le firewall de windows XP :
- pour windows XP
Comment configurer le firewall installé en standard dans windows xp
pour le serveur de Chat
- pour windows XP avec Service Pack 2
Comment configurer le firewall installé en standard dans windows
xp + Service Pack 2 pour le serveur de Chat
2. Vous devez autoriser le port TCP 12000 dans les logiciels de sécurité que vous avez
installés (norton, f-secure, ..)
Pour configurer vos firewalls installés, reportez-vous à la documentation fournie avec le
produit. Certains produits gratuits (par exemple Zone Alarm Standard Edition) ne
permettent pas de configurer les ports. Il faut alors se procurer la version professionelle
du produit, ou bien l'enlever (le firewall inclus dans Windows XP procure une sécurité
suffisante pour empêcher tout piratage).
Pour vérifier que tous vos logiciels parefeu installés sur le PC sont bien configurés, vous
pouvez télécharger ici le petit logiciel testport. Démarrez le serveur le chat, ensuite tapez
dans testport l'IP locale de votre PC (voir point 5 ci-dessus) et le port 12000 et cliquez OK : le
logiciel vous dira si le port est ouvert sur tous vos parefeus, donc si vous avez correctement
exécuté l'étape 6.
Quand tous vos routeurs et firewalls sont bien configurés, alors le bouton TEST sur le serveur
de chat devrait se colorer en VERT quand vous cliquez dessus pour indiquer que le port est
ouvert; s'il reste coloré en ROUGE, remontez à l'étape 4 car vous avez sûrement commis une
erreur !
Quand l'indicateur "#rooms" sur le serveur de chat affiche une valeur supérieure à 1, continuez
à l'étape 7 car ce n'est pas fini.
Etape 7: plusieurs PCs
Si vous avez un routeur et que vous chattez depuis un autre PC que celui où vous avez installé
le serveur, vous allez voir une ligne de pointillés à la place du nom de votre salle et vous ne
pourrez pas y rentrer, alors que les autres chatteurs y parviennent sans problème. C'est parce
que l'un de vos PCs ne trouve pas l'IP de l'autre.
Pour résoudre ce problème, vous avez deux solutions :
1) la méthode automatique :
• ouvrez le port UDP 12000 (ou 12001, ..) sur le firewall du PC server,
• ouvrez le port UDP 31977 sur le firewall du PC d'où vous chattez,
• essayez de rentrer en salle.
2) la méthode manuelle :
• allez sur le PC d'où vous chattez,
• configurez l'explorateur windows
Comment voir les Fichiers
Cachés dans Windows
Par défaut, windows cache
certains fichiers et certaines
extensions de fichier,
ce qui peut poser des problèmes
pour bien configurer.
Pour voir tous les fichiers et
extensions :
1) double-cliquez sur l'icone
"Poste de Travail" qui se trouve
sur votre bureau.
2) cliquez sur le menu "Outils",
puis "Options des dossiers".
3) cliquez sur l'onglet "Affichage".
4) descendez un peu dans la liste
"Paramètres Avancés"
puis sélectez la case "Affichez
les fichiers et dossiers cachés".
5) Décocher la case "Masquer
les extensions des fichiers dont
le type est connu".
Attention: on a bien dit Décocher,
c'est-à-dire enlever le 'v' !
6) Fermer toutes les fenêtres
avec OK.
• ouvrez tous les fichiers CHAT.INI sur votre disque dur (ceux de vos pseudos et de vos
bots); par exemple, la photo à droite montre comment ouvrir le fichier CHAT.INI pour le
pseudo SAMU (
) : tapez c:\chat.samu dans la zone (1), ensuite cliquez sur (2),
(3) et (4)
• Dans chaque fichier CHAT.INI, vous devez ajouter l'IP (192.168.x.x, 10.x.x.x ou
172.x.x.x) et le PORT du PC où tourne le serveur de chat. Attention: n'ajoutez PAS l'IP
indiquée sur le serveur de chat, ce n'est pas la bonne !
•
Voici un exemple simple :
Attention à bien recopier cet exemple proprement sans rien changer sauf l'adresse IP et
le numéro de PORT !
# chat.ini
[room1]
IP = 192.168.0.52 # adresse IP locale du PC
PORT = 12000 # port du serveur de chat
[icons]
test01 = test.jpg
frog01 = grenouille.jpg
[settings]
Si vous avez installé 2 salles (port 12000 et 12001), vous devez indiquer les 2 ports,
comme ceci :
# chat.ini
[room1]
IP = 192.168.0.52 # adresse IP locale du PC pour serveur 1
PORT = 12000 # port du serveur de chat
[room2]
IP = 192.168.0.52 # adresse IP locale du PC pour serveur 2
PORT = 12001 # port du serveur de chat
[icons]
test01 = test.jpg
frog01 = grenouille.jpg
[settings]
Lancez maintenant le chat. Si vous avez correctement exécuté cette étape vous devriez
maintenant voir une ligne avec le nom de votre salle.
N'oubliez pas, si vous créez un nouveau pseudo ou que vous téléchargez un bot, de
répéter cette opération pour le nouveau chat.ini !
•
Etape 8 : plusieurs serveurs de chat
Si vous installez plusieurs serveurs de chat, alors vous devez utiliser des numéros de ports
différents (12000, 12001, ...) en modifiant le fichier chatserv.ini de chaque serveur.
De plus, si vous installez plusieurs serveurs de chat sur des PCs différents connectés au
même routeur, alors il est nécessaire d'ouvrir, sur les firewalls de ces PCs, les ports UDP de
même numéro que les ports TCP déjà ouverts. Si vous oubliez de le faire, certaines de vos
salles vont apparaitre et disparaitre régulièrement de la liste des salles. (note: le routeur ne doit
pas être changé).
Exemple:
• sur le firewall du PC 1 : ouvrir port TCP 12000 et UDP 12000;
• sur le firewall du PC 2 : ouvrir port TCP 12001 et UDP 12001;
• etc ...
C. Le Serveur de Chat
indique l'IP de votre PC, 12000 étant le port TCP utilisé par le
serveur de chat.
indique le nombre total de salles de chat actuellement ouvertes.
indique le nombre de chatteurs dans votre salle.
indique le nombre de connections actives entre le serveur de
chat et internet. Comptez 1 connection pour le répertoire des
salles, 2 connections par chatteur en salle (1 connection texte +
1 connection cam&micro), 4 connections par couple en PV.
vous permet d'indiquer le nom de la salle. Il n'est pas nécessaire
de redémarrer le serveur après avoir changé.
répertorie votre salle dans l'une des listes de salles en fonction
du choix Langue/Pays. Il n'est pas nécessaire de redémarrer le
serveur après avoir changé.
répertorie votre salle dans l'une des catégories suivantes :
Categorie
Description
Ados
jeunes 0 à 20 ans
General
ouvert à tous
Conversation
18+
conversations entre
adultes
Erotica 21+
salles roses
Il n'est pas nécessaire de redémarrer le serveur après avoir
changé de catégorie.
permet de spécifier la bande passante d'envoi (upload)
maximum utilisée pour les cams et le micro.
La valeur du haut est la limite maximum que vous autorisez; la
valeur du bas change toute seule et indique la bande passante
effectivement utilisée.
(voir aussi le chapitre "bande passante" plus loin dans cette
documentation)
remet le réglage "mic & cam upload" à la valeur par défaut 120
recharger le fichier chatserv.ini - à utiliser après avoir modifié
un paramètre serveur dans ce fichier.
affiche la liste des tocs or (voir ci-dessous le chapitre
"Comment donner un toc").
idem pour les tocs bruns.
affiche la liste des gens bannis de façon permanente.
affiche le log de salle de hier.
affiche le log d'aujourd'hui.
D. Fichier de Log du Serveur de Chat
Le serveur de chat produit un fichier de log par jour reprenant toute la conversation de la salle,
par exemple "2003-10-12.chatserv.txt". Les conversations en fenêtre privée ne sont pas
enregistrées pour des raisons de respect de la vie privée.
Il est cependant à noter que votre provider internet peut facilement intercepter tous les
dialogues sur ce chat, sur Messenger ou tout simplement les échanges d'emails, cela sur
demande des autorités judiciaires. Nous vous conseillons donc de ne rien faire d'illégal sur
internet, cela laisse toujours des traces.
E. Comment donner un toc ou exclure un participant
Il y a 2 façons de donner le toc ou d'exclure quelqu'un :
1) la façon temporaire, qui dure au maximum 24 heures ou bien jusqu'à ce qu'on redémarre le
serveur.
2) la façon permanente, sans limite de temps.
1. Façon temporaire (max 24 heures)
Pour donner un toc brun à Eric pour 24 heures :
. cliquez sur le pseudo d'Eric dans la liste,
. cliquez sur l'icône
en bas de l'écran (celle du bas, attention il y en a deux).
Eric doit sortir de salle et revenir pour avoir son toc.
Pour exclure un participant, il faut :
. écrire une ligne de texte avec la raison de l'exclusion, mais sans appuyer sur la touche pour
l'envoyer,
. cliquer sur le pseudo du participant à exclure,
. cliquer sur l'icône
ou
(l'icône du haut).
Optionnellement, on peut ajouter dans la ligne de texte une durée d'exclusion entre crochets
exprimée en minutes ou en heures.
Exemple 1:
va te calmer dehors [15
min]
Exemple 2:
au dodo [8 h]
La durée d'exclusion n'a cependant aucun effet sur les propriétaires de salle (ceux qui ont le toc
jaune).
Pour voir la liste des tocs bruns ou exclusions des dernières 24 heures, tapez :
/toc
ce qui va afficher une liste comme suit :
10 : Marc a reçu le toc jusque
22:45
12 : Ivanohé est exclu jusque 02:12
14 : Arglub est exclu jusque 04:06
Pour reprendre le toc ou annuler une exclusion, il suffit d'effacer la ligne correspondante.
Par exemple pour annuler l'exclusion d'Ivanhoé (ligne 12 ci-dessus), tapez:
/delete 12
Pour effacer tous les tocs et annuler toutes les exclusions, tapez:
/delete all
Si vous ne souhaitez pas que les tocs OR ou BRUN puissent donner des tocs provisoires,
ajoutez les lignes suivantes dans chatserv.ini :
[security]
gold-tocs-can-give-toc = NO ; toc OR ne peuvent pas donner toc provisoires
brown-tocs-can-give-toc = NO ; toc BRUN ne peuvent pas donner toc
provisoires
2. Façon permanente (sans limite de temps)
Seul l'animateur qui fait tourner la salle sur son PC peut utiliser cette méthode :
Cliquez sur le bouton "Log" du serveur de chat pour voir la conversation en salle.
Cherchez l'arrivée en salle du participant concerné, vous allez voir une ligne telle que :
00:03:24 > ISABELLE s'est jointe à la conversation. (80.200.6.106)
[E5DF21C781251FE9]
Les caractères entre crochets [ ] constituent la signature unique d'un participant.
Copiez la signature (en gardant les crochets), puis collez-là dans l'une des listes Gold, Brown
ou Banned que vous ouvrez en cliquant sur le bouton correspondant sur le serveur de chat.
- Gold : liste des tocs OR permanents (propriétaires de salle),
- Brown : liste des tocs BRUNS permanents (animateurs),
- Banned : liste des gens exclus de façon permanente.
Exemple d'un fichier Gold :
[E5DF21C781251FE9:12F3] Isabelle
(Lyon)
[ZE3160A5D0D3D718:B6C2] Samuro
F. Salles Privées
Une salle "privée" n'est accessible qu'aux personnes invitées par le propriétaire de salle. Pour
créer une salle privée, il faut créer un fichier c:\chatserv\invite.txt qui doit contenir la liste des
signatures autorisées à rentrer dans la salle (voir chapitre ci-dessus). Quand ce fichier est créé,
l'icône
apparait devant le nom de la salle, ce qui permet aux chatteurs de reconnaitre une
salle privée.
Si ça ne va pas, essayez de renommer votre fichier en "INVITE" au lieu de "INVITE.TXT" (le
bloc-notes rajoute l'extension cachée .TXT automatiquement, pour plus de détails cliquez ici )
Pour retranformer une salle privée en salle tout public, effacez le fichier
G. Salles avec Mot de Passe
Une salle peut être protégée par un mot de passe. Seuls les participants qui connaissent le mot
de passe correct peuvent rentrer.
Il est possible de combiner salle privée (voir chapitre précédent) et salle protégée par mot de
passe : seules les personnes invitées ou connaissant le mot de passe peuvent alors rentrer.
G.1. Mot de Passe contrôlé par le Propriétaire de la salle
Pour protéger sa salle avec mot de passe, le propriétaire de salle doit créer un fichier
"PASSWORD.TXT" dans le dossier "C:\chatserv". Ce fichier doit contenir uniquement le mot de
passe (pour ce faire, allez avec explorateur windows dans C:\CHATSERV, cliquez sur le menu
"Fichier", cliquez sur "Nouveau", puis sur "Document Texte", ensuite tapez le nom de fichier
PASSWORD, cliquez dessus pour ouvrir le bloc-notes, enfin tapez votre mot de passe et
fermez).
Quand ce fichier est créé, l'icône
apparait devant le nom de la salle, ce qui permet aux
chatteurs de reconnaitre une salle avec mot de passe.
Si ça ne va pas, essayez de renommer votre fichier en "PASSWORD.TXT" au lieu de
"PASSWORD" (le bloc-notes rajoute l'extension cachée .TXT automatiquement, pour plus de
détails)
Comment voir les Fichiers Cachés dans Windows
Par défaut, windows cache certains fichiers et certaines extensions de fichier,
ce qui peut poser des problèmes pour bien configurer.
Pour voir tous les fichiers et extensions :
1) double-cliquez sur l'icone "Poste de Travail" qui se trouve sur votre bureau.
2) cliquez sur le menu "Outils", puis "Options des dossiers".
3) cliquez sur l'onglet "Affichage".
4) descendez un peu dans la liste "Paramètres Avancés"
puis sélectez la case "Affichez les fichiers et dossiers cachés".
5) Décocher la case "Masquer les extensions des fichiers dont le type est
connu".
Attention: on a bien dit Décocher, c'est-à-dire enlever le 'v' !
6) Fermer toutes les fenêtres avec OK.
Pour enlever la protection par mot de passe, effacez le fichier.
Les participants ayant un toc (OR ou MARRON) rentrent en salle sans devoir donner le mot de
passe.
G.2. Mot de Passe contrôlé par les tocs OR
Le propriétaire de salle peut permettre aux tocs OR de gérer le mot de passe de la salle, grâce
à la commande /pass.
Avertissement: un toc OR peut, grâce à cette commande, faire rentrer dans une salle privée
(voir chapitre précédent) des gens que le propriétaire de salle n'avait pas invités.
Pour autoriser l'utilisation de la commande /pass, le propriétaire de salle doit rajouter dans
chatserv.ini :
[security]
command-pass = enable
Après avoir cliqué sur le bouton "Reload" du serveur de chat, les commandes suivantes sont
alors disponibles pour les tocs OR :
Pour protéger la salle avec le mot de passe "plumeau", tapez la commande :
/pass plumeau
Pour voir le mot de passe actuel, tapez :
/pass
Pour enlever le mot de passe, tapez :
/pass off
H. Comment créer plusieurs salles
Plusieurs salles peuvent être créées à partir du même PC. Pour cela, il faut spécifier, lors de
l'installation du serveur, le nombre de salles désiré. L'installation va alors créer plusieurs
répertoires ainsi que plusieurs icônes sur le bureau pour démarrer chaque salle.
Chaque salle doit écouter sur un port tcp/ip différent. Le port par défaut est 12000. Pour
sélecter un autre port, l'installation va déposer automatiquement, dans le répertoire du serveur,
un fichier CHATSERV.INI avec le texte suivant :
# chatserv.exe ini
file
[listener]
port = 12001
Tout ce que vous avez encore à faire est de configurer votre firewall pour ces ports
additionnels.
I. Bande Passante
Chaque chatteur est relié au serveur de chat par 2 connections :
- la 1ère connection sert à envoyer du texte.
- la 2ème connection sert à envoyer les images webcams et le son micro.
Un réglage sur le serveur de chat permet de limiter la bande passante utilisée pour la 2ème
connection "webcam et micro".
Connection Download
modem 56K
ADSL
ADSL
ADSL
ADSL
SDSL
32 Kbits/s
Upload
32 Kbits/s
Réglage CAM
& MICRO
8 à 16 Kbits/s
256 Kbits/s 128 Kbits/s 48 à 80 Kbits/s
512 Kbits/s 128 Kbits/s 48 à 80 Kbits/s
1024 Kbits/s 128 Kbits/s 48 à 80 Kbits/s
4096 Kbits/s 128 Kbits/s 48 à 80 Kbits/s
1024 Kbits/s 1024 Kbits/s
792 Kbits/s
Par défaut, le réglage est positionné sur 120 Kbits/sec ce qui convient à une connection ADSL
512/128 Kbits/sec.
Une connection ADSL download=512 Kbits/sec et upload=128 Kbits/sec permet d'envoyer vers
les autres chatteurs 128 Kbits par seconde; un réglage de 120 Kbits/sec laisse une petite
marge pour envoyer du texte et éviter les engorgements.
Si les gens se déconnectent fréquemment ou bien qu'ils vous disent qu'il y a du lag (le texte est
lent), réduisez cette valeur à 48 Kbits/sec ou moins.
Si certaines personnes n'ont pas ADSL et sont connectés par modem 56K, réglez à 8 ou 16
Kbits/sec.
Si vous avez la chance de disposer d'une connection professionnelle SDSL (symmétric digital
subscriber line), vous pouvez régler sans problème à 792 Kbits/sec.
Remarque: la vitesse d'une connection ADSL est asymétrique, ce qui signifie que la vitesse de
réception (1024 Kbits/sec) et d'envoi (128 Kbits/sec) sont différentes. Malheureusement, un
serveur de chat a surtout besoin d'une vitesse d'envoi rapide afin d'envoyer le texte et les
images à tous les chatteurs en même temps. Il ne sert donc à rien d'augmenter la vitesse de
réception (1024 ou 4096 Kbits/sec) si la vitesse d'envoi reste limitée à 128 Kbits/sec.
D'habitude, les serveurs sont hébergés sur des connections SDSL (symmétric) où la vitesse de
réception est égale à la vitesse d'envoi. Une telle connection est cependant inabordable
financièrement pour un particulier.
J. Style
Ce chapitre explique comment donner un style unique à votre salle.
J.1 Placer une image comme titre de salle
Vous pouvez placer les 3 images bannières suivantes :
• une petite bannière sur la liste des salles
• une grande bannière comme décor à l'intérieur de votre salle
• une grande bannière comme titre de votre groupe
Voici comment faire :
• Placez vos images (format GIF, JPG, BMP ou PNG, max 63K) dans le dossier du
serveur de chat (c:\chatserv).
• Modifiez votre fichier chatserv.ini comme ceci :
# chatserv.ini
[settings]
banner
= mon_image1.gif ; bannière pour liste des salles (max 300 x 21)
large-banner = mon_image2.gif ; bannière pour décor dans la salle (max 900 x 21)
[group]
banner
= mon_image3.gif ; bannière pour titre du groupe
(max 900 x 21)
• Pour finir, cliquez sur le bouton Reload sur le serveur de chat.
J.2 Changer les émoticons par Nr icône
défaut
Fonction
0
Tasse
1
Toc OR
Pour changer la tasse en wc, le toc
MARRON en marteau, et le toc OR en
une icône faucille que vous avez
dessinée vous-même (voir chapitre 11.
Ajouter ses propres icônes), vous
devez modifier le fichier chatserv.ini
dans le répertoire du serveur du chat
comme suit :
2
Toc MARRON
3
Ange (âge <= 10 ans)
4
Homme avec photo
5
Homme sans photo
# chatserv.ini
6
Femme avec photo
7
Femme sans photo
8
Couple avec photo
9
Couple sans photo
10
bouton: Micro
11
bouton: Haut-Parleur
12
bouton: Sons (note de musique)
13
bouton: Webcam
14
bouton: Profil
15
bouton: Téléphone
16
icône: Téléphone RING
17
bouton: blocage PV
18
icône Bot
19
bouton: ignorer
20
bouton: bulle
21
bouton: font
Les émoticons du tableau de droite
peuvent être changés.
Exemple:
[settings]
icon_0 = $vc
# tasse en wc
icon_1 = {faucil} # toc OR en faucille
icon_2 = (ma) # toc marron en
marteau
Attention: si vous utilisez des
emoticons contenant les caractères #
ou ; vous devez les doubler, c'est-àdire ## et ;;
Après avoir modifié le fichier
chatserv.ini, cliquez sur le bouton
Reload du serveur de chat pour le
recharger.
J.3. Changement des couleurs par défaut :
Les couleurs par défaut suivantes peuvent être changées :
Paramètre
Valeurs
Valeur par
défaut
Fonction
border-color
rouge,vert,bleu 192,192,192
couleur de la barre de déplacement du texte et des lignes
de séparation
cam-color
rouge,vert,bleu 255,255,255
couleur de la surface où s'affichent les webcams (en haut
de la fenêtre)
title-color
rouge,vert,bleu 255,255,255
couleur de fond du titre de la salle (la ligne entre les
webcams et le texte écrit)
text-color
rouge,vert,bleu 255,255,255
couleur de fond du texte écrit du chat
list-color
rouge,vert,bleu 255,255,255
couleur de fond de la liste des chatteurs à droite
menu-color
rouge,vert,bleu 255,255,255
couleur de fond du menu en bas à droite
cam-txt-color
rouge,vert,bleu 0,0,0
couleur des pseudos sous les cams
title-txt-color
rouge,vert,bleu 64,64,64
couleur du titre de salle, en salle
text-useridcolor
rouge,vert,bleu 0,0,0
couleur des pseudos dans le texte
text-away-color rouge,vert,bleu 128,128,128
couleur des messages du serveur de chat
list-useridcolor
couleur des pseudos dans la liste à droite
rouge,vert,bleu 0,0,0
list-away-color rouge,vert,bleu 128,128,128
couleur des pseudos en tasse dans la liste à droite
list-selectedcolor
rouge,vert,bleu 255,255,255
couleur des pseudos sélectés dans la liste à droite
list-selbackcolor
rouge,vert,bleu 128,0,0
couleur de fond des pseudos sélectés dans la liste à
droite
bulle-color
rouge,vert,bleu ?,?,?
forcer la couleur de texte d'une phrase écrite avec
Pour chaque couleur, spécifiez les quantités de rouge, vert et bleu de la couleur, entre 0 et 255.
Vous pouvez trouver cette information dans le logiciel Paint (ça se trouve dans les accessoires
Windows), menu Couleurs Personalisées.
Exemple:
# chatserv.ini
[settings]
border-color = 160,160,192
menu-color = 255,255,128
Après avoir modifié le fichier chatserv.ini, cliquez sur le bouton Reload du serveur de chat pour
le recharger.
J.4. Placer un cadre avec une image de fond autour du texte
Paramètre
Valeurs
Fonction
10%
ou
20p
taille du bord supérieur du cadre (de 0 à 40%, ou de 0 à 1024
points)
10%
border-bottom ou
20p
taille du bord inférieur du cadre (de 0 à 40%, ou de 0 à 1024
points)
border-top
border-left
10%
ou
20p
taille du bord gauche du cadre (de 0 à 40%, ou de 0 à 1024 points)
border-right
10%
ou
20p
taille du bord droit du cadre (de 0 à 40%, ou de 0 à 1024 points)
Paramètre
border-image-1
Valeurs
{image1}
align:top
zone:789
Fonction
horizontal-align:left
1
Zone:
2
3
4
Text
6
7
8
9
vertical-
image d'un groupe de
zones
Option
Valeurs
horizontalalign
left=aligné à gauche, right=aligné à droite, center=centré,
stretch=étiré
vertical-align
top=aligné en haut, bottom=aligné en bas, center=centré,
stretch=étiré
Exemple 1:
# chatserv.ini
[settings]
border-top
border-bottom
border-left
border-right
border-image-1
=
=
=
=
=
40p
17p
12%
5%
{decor1}
zone:78946
=
=
=
=
=
=
=
=
=
40p
17p
12%
5%
{decor1}
{decor2}
{decor3}
{decor4}
{decor5}
zone:789
zone:4
zone:6
zone:2
zone:3
=
=
=
=
=
20p
20p
20p
20p
{decor1}
zone:12346789
horizontal-align:left
vertical-align:top
horizontal-align:center
horizontal-align:left
horizontal-align:left
horizontal-align:left
horizontal-align:left
vertical-align:top
vertical-align:top
vertical-align:top
vertical-align:top
vertical-align:top
Exemple 2:
# chatserv.ini
[settings]
border-top
border-bottom
border-left
border-right
border-image-1
border-image-2
border-image-3
border-image-4
border-image-5
Exemple 3:
# chatserv.ini
[settings]
border-top
border-bottom
border-left
border-right
border-image-1
horizontal-align:stretch
vertical-align:stretch
Après avoir modifié le fichier chatserv.ini, cliquez sur le bouton Reload du serveur de chat pour
le recharger.
J.5. Désactiver les pseudos images
Pour désactiver les pseudos images des chatteurs et les faire apparaitre sous leur nom pseudo
simple (en gris), utilisez l'option :
# chatserv.ini
[settings]
pseudo-icon = no
Après avoir modifié le fichier chatserv.ini, cliquez sur le bouton Reload du serveur de chat pour
le recharger.
J.6. Geler les pseudos animés ou les images gif animées
Pour geler tous les pseudos animés mais autoriser quand même les images gif animées en
salle, utilisez l'option :
# chatserv.ini
[settings]
animated-gifs =
after
Pour geler tous les pseudos animés et geler toutes les images gif animées, utilisez l'option :
# chatserv.ini
[settings]
animated-gifs =
no
Après avoir modifié le fichier chatserv.ini, cliquez sur le bouton Reload du serveur de chat pour
le recharger.
J.7. Changer les messages systèmes du serveur
Pour modifier les messages système du serveur, ajouter les options suivantes dans chatserv.ini
:
[system-message]
0 = s'est joint à la conversation.
1 = s'est jointe à la conversation.
2 = a quitté la conversation.
3 = a quitté la conversation.
4 = a été déconnecté.
5 = a été déconnectée.
6 = est parti.
7 = est partie.
8 = est revenu.
9 = est revenue.
10 = prend son toc.
11 = prend son toc.
12 = dépose son toc.
13 = dépose son toc.
14 = parle au (mic).
15 = parle au (mic).
16 = (inutilisé)
17 = Hôte
18 = exclu
19 = :
Pour supprimer l'un des messages (0 à 15 uniquement), il faut indiquer un texte vide, par
exemple:
[system-message]
0=
Après avoir modifié le fichier chatserv.ini, cliquez sur le bouton Reload du serveur de chat pour
le recharger.
J.8. créer une salle sans webcams
Pour créer une salle sans webcams, utilisez l'option :
# chatserv.ini
[settings]
cams = no ; fait disparaitre les boutons webcam et soleil du
menu
Après avoir modifié le fichier chatserv.ini, cliquez sur le bouton Reload du serveur de chat pour
le recharger.
J.9. cacher les compteurs sous les webcams
Pour cacher les compteurs sous les webcams, utilisez l'option :
# chatserv.ini
[settings]
webcam-counters = HIDE ; SHOW(montrer) ou HIDE(cacher) les compteurs sous les
cams
Après avoir modifié le fichier chatserv.ini, cliquez sur le bouton Reload du serveur de chat pour
le recharger.
J.10. cacher la barre noire entre les icones webcam et soleil
Pour cacher la barre noire entre les icones webcam et soleil, utilisez l'option :
# chatserv.ini
[settings]
webcam_sun_bar = HIDE
soleil
; SHOW(montrer) ou HIDE(cacher) la barre entre les icones webcam et
Après avoir modifié le fichier chatserv.ini, cliquez sur le bouton Reload du serveur de chat pour
le recharger.
K. Gérer un groupe associé à la salle de chat
Le bouton
permet de surfer sur un site internet associé à la salle.
Description du groupe
Le groupe contient un forum de messages, une page vers le chat, et une page Tools permettant
de gérer les pages du menu.
Le forum permet à tout le monde de poster des messages; il faut cependant être en salle de
chat afin que le forum connaisse le pseudo de celui qui poste le message. En revanche, il n'est
pas nécessaire d'être en salle de chat pour simplement lire le forum, à condition d'avoir ouvert
le chat au monde extérieur avec l'option world-access = yes (voir plus loin).
Si vous ne savez pas entrer dans le groupe, vérifiez que :
1) vous acceptez les cookies (le forum utilise un cookie) et
2) que dans Internet Explorer les options de sécurité "Soumettre les données de formulaire non
codées" et "Active Scripting" sont à "Activer".
Comment Configurer l'Internet Explorer pour le groupe
Pour configurer l'Internet Explorer pour le groupe, démarrez L'Internet Explorer et cliquez sur :
Enfin, TRES IMPORTANT : vérifiez que votre anti-virus ne
bloque pas les Cookies !
Dans le menu Messages, les animateurs ayant un toc peuvent ajouter/renommer/supprimer des
panneaux de messages ou effacer des messages et des discussions. L'auteur d'un message
peut l'effacer. L'auteur d'une discussion peut effacer la discussion si celle-ci ne contient qu'un
seul message.
Dans Le menu Tools, les animateurs ayant un toc d'ajouter/modifier/renommer/masquer/effacer
une page, ou de changer l'ordre des pages dans le menu (le groupe démarre toujours en
affichant la première page tout en haut du menu). Le menu Tools permet aussi d'ajouter un
séparateur afin de regrouper plusieurs entrées du menu. Renommer un séparateur crée un titre
dans le menu.
Finalement, le propriétaire ayant le serveur peut également placer des fichiers HTML (ou tout
un site web) dans le sous-répertoire www/ du serveur et référencer ces pages dans le menu
avec l'option Tools/"Ajouter Lien". Par exemple s'il a créé une page home.html dans www/ il doit
spécifier home.html comme nom du lien.
Par défaut, l'accès au groupe n'est donné qu'aux chatteurs qui se trouvent en salle, cela vous
permet de garder un contrôle sur les personnes qui accèdent au site, et aussi d'éviter qu'une
multitude de gens créent des liens vers votre site, ce qui ferait sérieusement "ramer" le chat.
La vitesse d'accès des pages web se règle sur le même bouton que pour les webcams, donc si
trop de monde consulte le site web et fait ramer les gens en salle, diminuez le réglage.
Tout le groupe (messages, images, etc ...) est stocké dans le fichier group.db dans le répertoire
du serveur. Afin d'éviter une perte de donnée importante en cas d'effacement accidentel ou
intentionel par un animateur (hé oui ça arrive), ce fichier group.db est copié une fois par jour (de
lundi à dimanche) vers les fichiers de backup (group.db.day_1.backup à
group.db.day_7.backup). Le propriétaire de salle peut donc revenir jusqu'à une semaine en
arrière en recopiant manuellement le fichier de backup choisi vers group.db.
Attention: afin d'éviter une perte de donnée importante en cas de crash disque dur, il est
recommandé de prendre régulièrement une copie du fichier group.db ou bien des fichiers de
backup; pour prendre une copie de group.db il faut d'abord arrêter le serveur de chat car il
verrouille le fichier.
Vos pages HTML qui sont dans www ne font pas partie du groupe et doivent être sauvegardées
aussi; ces pages ne sont changeables que par le propriétaire du PC. Le fichier group.db peut
aussi être transféré d'un PC à l'autre lors d'un transfert de la salle d'un animateur à un autre.
Paramètres du groupe
Les paramètres optionnels suivants dans la section [group] de chatserv.ini permettent
éventuellement de changer certaines options :
Paramètre
server
Valeurs
on, off
Valeur par
défaut
on
Fonction
on=server internet actif, off=serveur internet inactif
chat=normal
group=désactivation de la salle de chat, ajout d'un bouton
access
chat,group,both chat
à gauche de la liste des salles -> la salle de chat
n'existe plus : en cliquant sur une ligne de la liste des
salles, on rentre directement sur le groupe.
both = ajout d'un bouton
à droite de la liste des salles
-> salle et groupe combinés : si on clique sur la ligne, on
rentre en salle de chat, mais si on clique sur le bouton, on
rentre directement sur le groupe sans passer en salle.
yes, no
database
nom de fichier group.db
nom du fichier database du groupe
Nom de dossier
nom du dossier où la database du groupe est sauvegardée
chaque jour, doit se terminer par \
Exemple: f:\chat_backup\
databasebackup-dir
no
no=normal, yes=démarrage internet explorer en plein
écran
fullscreen
www
répertoire
c:\chatserv\
chemin vers le répertoire www
www\
show-title
yes,no
yes
banner
nom de fichier
image (.gif,..)
menu-width
0 à 2000
120
largeur du menu (en points) (0 = supprimer le menu)
menu-text-color
000000 à
FFFFFF
666699
couleur d'écriture du menu
menu-bordercolor
000000 à
FFFFFF
ECF1F6
couleur de fond du menu
menu-hovercolor
000000 à
FFFFFF
CC6600
couleur quand on passe la souris sur le menu
menu-titlecolor
000000 à
FFFFFF
F17827
couleur des séparateurs renommés du menu
yes=afficher le titre, no=pas afficher
afficher l'image (max 900 x 21) comme titre du groupe
world-access
yes, no
no
yes = groupe consultable en dehors du chat,
no = groupe accessible uniquement par le chat.
remarque1: un groupe privé ou avec mot de passe a
toujours la valeur 'no'.
remarque2: pour modifier le groupe ou écrire sur le forum,
il faut toujours passer par le chat.
remarque3: le groupe est TOUJOURS accessible depuis le
PC où tourne le serveur (ip 127.0.0.1)
maxdiscussions
10 à 100
28
nombre de discussions affichés par page.
max-messages 3 à 100
10
nombre de messages (d'une discussion) affichés par page.
messagebackgroundcolor
FFFFFF
couleur de fond par défaut pour les nouveaux messages
messagebackgroundimage
000000 à
FFFFFF
0000000000.jpg
image de fond par défaut pour les nouveaux messages.
Pour spécifier une image, cliquez Propriétés (bouton droit
souris) d'une image se trouvant déjà sur le groupe, et
recopiez son nom (qui doit avoir 10 chiffres et
l'extension .jpg) dans le paramètre.
Exemples:
pour éteindre le serveur web, ajouter dans chatserv.ini :
[group]
server = off
serveur
# désactiver le
pour enlever le titre et changer la couleur du menu en blanc :
[group]
show-title = no
# pas de titre
menu-border = FFFFFF
# bord menu blanc
Si vous modifiez le fichier chatserv.ini, cliquez sur le bouton Reload du serveur de chat afin que
votre changement soit pris en compte.
Il est possible de remplacer les fichiers par défaut group.html et/ou group.css par vos propres
fichiers. Il suffit pour cela de déposer ces fichiers dans le sous-répertoire www du serveur.
N'oubliez cependant pas d'effacer le cache d'Internet Explorer sinon les anciennes copies
seront conservées.
Si vous avez créé votre propre fichier group.html, vous pouvez utiliser les variables suivantes
dans le code html :
$START-PAGE$ est remplacé par un lien vers la 1ère page du menu,
$MENU-WIDTH$ est remplacé par la largeur du menu.
Accès depuis l'extérieur du chat
Par défaut, le site du groupe n'est accessible que depuis la salle de chat. Pour permettre une
consultation depuis l'extérieur, mettre l'option world-access à yes.
L'URL du groupe est indiquée dans la barre d'adresse d'internet explorer.
Exemple: http://62.197.65.220:12005/group.html
Cette URL peut être simplifiée de plusieurs façons :
1) le suffixe /group.html est optionnel
2) le suffixe port (ici :12005) peut être enlevé à condition de changer l'installation de votre
serveur pour qu'il utilise le port 80 (c'est le numéro de port standard réservé pour le protocole
HTTP), voir à cet effet le chapitre H. "comment créer plusieurs salles".
donc il reste : http://62.197.65.220
L'IP change normalement toutes les 24 heures; afin de garder une URL qui ne change pas,
vous devez réserver un nom DNS chez un fournisseur, par exemple : http://www.no-ip.com/ qui
vous propose cela gratuitement, mais attention cela est réservé aux spécialistes; cela implique
notamment d'installer un logiciel sur le PC qui prévient le fournisseur chaque fois que votre PC
change d'IP pour que le nom DNS soit mis à jour.
bref, au final, votre site peut avoir un nom tel que : http://newchatrooms.zapto.org
Ajouter un compteur de visites sur le groupe
Pour ajouter un compteur du nombre de visiteurs, créez une page (Tools/Ajouter Page), cliquez
sur le bouton "C" de la barre d'outils, et choisissez :
numéro du
compteur
(vous pouvez créer plusieurs
compteurs)
Couleur d'écriture
couleur des chiffres
Couleur Bord
couleur du fond
nb chiffres
hauteur
(en points)
• Le compteur compte tous les accès à la page, mais sans compter deux accès successifs
par le même IP.
• Si la couleur d'écriture est identique à la couleur de fond, le fond est transparent.
L. Style de salle "3D"
Pour créer une salle 3D, vous devez créer un fichier world.txt décrivant tous les objets de votre
monde.
Ce fichier doit être placé dans le répertoire du serveur de chat.
Si vous changez votre fichier, vous devez arrêter et redémarrer le serveur de chat.
Voici un exemple de fichier :
; world.txt
; sol
.1
0 65535 32768
.2 65535 65535 32768
.3 65535
0 32768
.4
0
0 32768
/ 1 2 3 4 {sable1}
; mur
.5
32368 33368 33280
.6
32886 33368 33280
.7
32886 33368 32768
.8
32368 33368 32768
/ 5 6 7 8 {welcom} bt
L'exemple ci-dessus décrit 2 types d'objets :
. des coordonnées en 3 dimensions (x,y,z)
. des polygones habillés par une texture d'image
***
Pour créer votre fichier world.txt, vous avez 2 solutions :
a) utiliser un logiciel d'édition 3D (voir au chapitre M ci-dessous).
b) créer votre fichier world.txt à la main. Pour cela, prenez une feuille de papier et commencez
par dessiner une carte vue d'en haut de votre monde (comme une photo satellite).
Dessinez des points sur la carte, numérotez-les (en commençant à 1), puis reliez-les par des
lignes.
Exemple: un sol carré qui couvre toute la carte.
Votre carte a des coordonnées qui vont de -32768 à +32767.
Les 4 points ci-dessus ont donc les (x,y) suivants :
point 1 :
point 2 :
point 3 :
point 4 :
(-32768, +32767)
(+32767, +32767)
(+32767, -32768)
(-32768, -32768)
La 3ème coordonnée (z) indique l'altitude à laquelle se trouve le point.
Sur le chat, le sol se trouve à l'altitude 0.
Pour définir 4 points au niveau du sol, nous aurons donc :
; sol
.1 -32768 32767
.2 32767 32767
.3 32767 -32768
.4 -32768 -32768
0
0
0
0
Nous devons maintenant relier les 4 points et choisir une texture d'image pour la colorier; cela
se fait par la commande suivante :
/ 1 2 3 4 {sable1}
La texture doit être définie dans chatserv.ini comme pour une icone image.
remarque
l'ordre des points (1,2,3,4) est important !
En effet, les points doivent être énumérés dans l'ordre des aiguilles d'une horloge pour que la
texture soit visible à l'avant.
Si vous voulez définir un plafond de manière analogue au sol mais à une hauteur Z de 10400,
vous devez définir les points dans l'ordre inverse (12,11,10,9), sinon votre plafond restera
invisible et ne sera visible que pour les oiseaux !
Exemple:
; plafond
.9 -32768 32767
.10 32767 32767
.11 32767 -32768
.12 -32768 -32768
512
512
512
512
/ 12 11 10 9 {plafon}
Une autre solution pour ne pas être embêté avec l'ordre des points (si toutefois vous souhaitez
utiliser la même texture des 2 côtés) c'est de mettre l'option b (both) qui a l'effet de rendre la
texture visible des 2 côtés.
Exemple:
/ 12 11 10 9 {plafon} b
Vous pouvez définir des sols et des plafonds; ils sont toujours plats, donc tous leurs points ont
le même z.
Vous pouvez aussi définir des murs verticaux de manière analogue :
Exemple:
; mur
.5
-300
.6
200
.7
200
.8
-300
-400 512
-400 512
-400 0
-400 0
/ 5 6 7 8 {welcom} bt
Pour un mur classique, on voit 2 points avec un Z de 0 (le bas du mur) et 2 autre points avec un
Z de 512 (le haut du mur).
Ici, le mur va de (-300,-400) jusque (200,-400); on remarque que le Y ne change pas, c'est donc
un mur qui va du nord au sud sur la carte.
Voici la liste des limitations du moteur 3D et quelques explications complémentaires :
Limitations des Points
1. les coordonnées (X,Y,Z) varient de -32768 à +32767.
2. la coordonnée (Z) indique l'altitude (le sol est à 0, l'oeil du chatteur à 141, et un acteur
(chatteur) peut passer dans un couloir au plafond à 282).
Limitations des Polygones
1. Dans la définition d'un polygone tel que :
/ 1 2 3 4 {sable1}
le nombre de points doit être compris entre 3 (triangle) et 8 (octogone);
exemple:
/ 1 2 3 {triang}
2. le polygone formé en reliant les points dans l'ordre doit être :
• plat (tous les points doivent se situer sur un même plan),
• et convexe (aucun angle interne ne doit dépasser 180 degrés)
si ces règles ne sont pas respectées, le résultat obtenu aura un défaut ! (à noter qu'un
triangle est, par nature, toujours plat et convexe)
3. le polygone doit être horizontal (sol, plafond) ou vertical (mur);
d'autres formes (par exemple un toit penché) sont possibles, elles ralentissent cependant
le chat si elles ont une surface importante.
4. les points d'un polygone doivent être énumérés dans l'ordre des aiguilles d'une horloge
pour que la texture soit visible à l'avant.
Limitations des Textures
1. les dimensions maximales d'une image texture sont de 2048 x 2048, la taille de fichier
image (jpg, gif, bmp, pcx, png) définie dans chatserv.ini est limitée à 127K. Les GIFs
animées et les PNG semi-transparentes sont supportés.
2. Les options suivantes existent :
exemple:
/ 1 2 3 4 {sable1} btns
Option b (BOTH) : la texture est visible des 2 côtés (devant et derrière), peu importe
l'ordre des points.
Option t (TRANSPARENT) : la couleur noire de la texture est utilisée comme couleur
transparente.
Option n (NO COLLISION) : les personnages peuvent traverser le polygone.
Option s (STRETCH) : la texture est étirée sur toute la surface du polygone.
Option d (DOUBLE) : la texture est appliquée en double-précision (les points sont plus
fins). Ne fonctionne pas avec STRETCH.
Options pour objets 3D seulement:
Option M (MERGE) : fusionne plusieurs textures sur un objet presque plat (pas
compatible avec option STRETCH). Il faut spécifier l'option M sur toutes les textures que
vous voulez fusionner. La première texture avec M est la texture de base sur laquelle la
texture sera appliquée normalement. Sur les textures suivantes avec M et de même nom
de texture, les textures seront appliquées avec l'orientation et le décalage de la texture
de base, ce qui peut étirer la texture en cas de pente importante.
Option V (VELOCITY) : permet de faire défiler la texture sur l'objet à une certaine vitesse
avec la commande object_texture_velocity.
3. Si vous n'avez pas utilisé l'option 's' et que la surface du polygone est plus grande que la
texture, alors la texture sera répétée plusieurs fois pour couvrir l'entiereté de la surface
du polygone; mais attention, le moteur 3D impose dans ce cas que les dimensions de la
texture soient des puissances de 2 (par exemple 128 x 256) sinon le moteur 3D rajoutera
un fond blanc (ou transparent si option t) pour remplir le trou.
cela veut dire que seules les dimensions 1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024 ou
2048 sont possibles.
4. plusieurs textures (jusqu'à 3) peuvent être spécifiées, elles alternent alors irrégulièrement
avec une vitesse de 0.5 sec.
exemple:
/ 1 2 3 4 {sable1} {sable2} {sable3} bt
5.
Comment changer son personnage
Un personnage entrant en salle apparait en (0,0,0) avec une direction 0 (regardant au nord).
L'oeil est à (0,0,141).
Par défaut, vous vous promenez dans le monde 3D avec une boîte munie à l'avant d'un écran
webcam.
Chaque chatteur peut également créer son propre personnage 3D composé de plusieurs
polygones en créant un fichier actor.txt dans le répertoire du chat; Si vous changez le fichier,
vous devez arrêter et redémarrer le chat.
Exemple:
; actor.txt
.1
.2
.3
.4
.5
.6
159
0 119
-160
0 119
-160
0 -141
159
0 -141
0 -106 -141
0 -106 -13
/ 1 2 3 4 {webcam} {soleil} {toquer} b
/ 5 3 2 6 {floor1} b
/ 4 5 6 1 {floor1} b
Votre personnage dispose d'un espace (X,Y) de -160 à +160 et (Z) de -141 à +141 que vous
pouvez remplir avec des polygones; dans l'exemple ci-dessus, on a définit 6 points et 3
polygones; l'espace(X,Y,Z) de l'actor n'est pas limité pour le bot.
La texture {webcam} est spéciale : c'est une texture qui ne doit pas être définie dans chat.ini car
elle est créée dynamiquement et remplie avec l'image webcam du chatteur; l'option t
(transparent) rend toute couleur noire transparente.
Dans le 1er polygone, on a spécifié 3 textures : la 1ère {webcam} est celle qui s'affiche par
défaut, la 2ème {soleil} est celle qui s'affiche quand le chatteur se met en tasse, la 3ème
{toquer} est celle qui s'affiche quand le chatteur prend son toc;
Le propriétaire de salle peut aussi modifier le personnage par défaut en plaçant un fichier
actor.txt dans le répertoire du serveur. Il peut également placer des fichiers différents par genre
de chatteur : actor.m.txt, actor.f.txt et actor.c.txt
Si tous les deux (chat client et serveur) ont placé un fichier actor, alors le chat a priorité sur le
serveur.
La fonction script
b = actor_customized
(session_key);
permet de tester si un chatteur a changé son actor. Cette fonction renvoie 1 si le chatteur a
changé son actor, ou 0 si c'est un actor par défaut ou choisi par le serveur. Cela permet au bot
de ne pas attacher d'objets aux actors customisés par le client. Une petite note technique : la
fonction actor_customized donne une erreur si on l'appelle en réponse à une action 128, il faut
utiliser l'action 228 (arrivée en salle d'un actor) à la place.
Comment déplacer son personnage (bot) à l'aide d'un script
Les commandes suivantes ont été ajoutées au langage script pour supporter le monde 3D :
1. Les fonctions suivantes :
bot_x(), bot_y() et bot_z()
permettent de connaitre la position x, y et z de votre bot.
Exemple:
if (bot_x() > 30000)
// on arrive en fin de terrain là !
2. La fonction :
bot_dir()
permet de connaitre la direction de votre bot, de 0 à 359 :
0
= nord (vers le haut de la
carte)
90 = est (vers la droite)
180 = sud (vers le bas)
270 = ouest (vers la gauche)
3. les procédures :
turn (dir);
avec dir entre -360 et +360
permet de changer la direction de votre
bot
move (pas); avec pas entre -65535 et +65535
permet d'avancer ou reculer le bot
lift
(altitude);
permet de changer l'altitude du bot
avec altitude entre -32768 ..
+32767
Ces procédure vous permettent de faire avancer le bot tout seul.
4. les procédures :
teleport
(session_key, x, y, z, avec dir entre -360 et +360
dir);
permet au bot de déplacer un joueur
teleport
(session_key, x, y, z, port = port du serveur
dir, port);
permet au bot de téléporter un
joueur dans une autre salle sur le
même PC ou routeur
teleport
(session_key, x, y, z, ip$ = adresse ip ou nom DNS
dir, port, ip$);
permet au bot de téléporter un
joueur dans une autre salle
set_gravity
(session_key,
gravity);
avec gravity entre -255 et +255 (10=s'envole, 0=flotte en l'air,
10=tombe normalement)
permet au bot de modifier
l'attraction du sol
give_ammo
(session_key,
ammo);
avec ammo entre -100 et +100
permet au bot de donner/enlever des
munitions
give_health
(session_key,
health);
avec health entre -100 et +100
permet au bot de donner/enlever des
points de vie
Ces procédure permettent à un bot avec toc de faire bouger un joueur, de lui donner des
munitions ou des points de vie.
En outre, cliquer sur un actor génère une action 912 contenant dans line$ le session_key
du chatter cliqué, en 10 chiffres.
5. Vous pouvez créer une procédure event_3D qui sera appelée chaque fois qu'un chatteur
change de position; cela permet par exemple au bot de suivre un chatteur, de se placer
devant lui, éventuellement de le toquer s'il se positionne là où il ne peut pas;
Exemple:
proc event_3D (session_key, x, y, z, dir)
{
if (x > 16000)
kick (session_key, "interdit d'aller là !");
}
6. finalement, voici un exemple de script.txt qui fait avancer le personnage:
var dir;
proc timer ()
{
if (dir == 0)
turn (0);
else
turn (180);
move (10);
if (bot_y() > 30000)
dir = 1;
else if (bot_y() < -30000)
dir = 0;
set_timer (1);
}
Comment définir une skybox
Une skybox est un grand cube entourant le monde 3D et qui permet de spécifier un décor de
fond. Pour chacune des faces du cube vous pouvez spécifier une image (de max 127K) par la
commande script suivante :
set_skybox (n, "image.jpg"); // avec n: 0=bas, 1=avant, 2=droite, 3=arriere, 4=gauche, 5=haut
Comment créer des objets 3D
Le bot peut créer des objets 3D que vous pouvez faire bouger et réagir quand un chatteur
clique dessus. Un chatteur peut se placer sur un objet : si l'objet se déplace, le chatteur se
déplacera avec. Un objet peut servir d'obstacle (mur, grille, cage) car le chatteur ne peut pas
passer à travers (sauf si option n).
Pour créer un objet 3D, vous devez placer dans le répertoire du bot un fichier OBJECTS.TXT
qui contiendra la définition de tous vos objets. Ici on a créé un oiseau et une porte :
# OBJECTS.TXT
[oiseau]
; plan horizontal
.1 -141 307 0
.2 141 307 0
.3 141 0 0
.4 -141 0 0
/ 1 2 3 4 {bird01} btn
[porte1]
; plan vertical
.1 -276 0 512
.2 276 0 512
.3 276 0 0
.4 -276 0 0
/ 1 2 3 4 {wood01} b
Pour permettre une rotation correcte, vos objets doivent être centrés en (0,0,0) et orientés au
nord.
Les coordonnées (X,Y,Z) sont limitées entre -32768 et +32767.
Pour faire apparaitre et bouger vos objets, vous devez écrire un script tel que celui-ci et le
placer dans le répertoire du bot :
// script.txt : exemple script pour objet 3D oiseau
proc timer ()
{
object_shape (1, "oiseau");
object_move (1, 0, 0, 12000);
// position initiale
object_move (1, 0, 10000, 12000, 0, 0, 0, 10000, 1); // position finale
}
Les commandes script suivantes sont définies pour les objets 3D :
object_shape (nr, "oiseau");
object_shape (nr, "oiseau", "OBJECTS.TXT");
• choisit la forme "oiseau" (voir OBJECTS.TXT) pour l'objet numéro nr.
• nr indique le numéro d'objet vous pouvez choisir entre 0 et 65535, vous pouvez donc créer jusqu'à
65536 objets (par script et par bot).
• un objet peut changer de forme autant de fois que souhaité.
• si on ne spécifie pas de fichier, c'est OBJECTS.TXT par défaut.
object_move (nr, x, y[, z[, direction[, hauteur[, transversal [, durée[, répéter]]]]]]);
• positionne un objet en coordonnée (x,y,z) avec une orientation (direction, hauteur, transversal).
• les crochets indiquent que la plupart des paramètres sont optionnels, donc par exemple pour
modifier uniquement le (X,Y) de l'objet numéro 1 vous pouvez écrire simplement: object_move
(1, 100, 200);
• direction : direction (angle 0 à 360, 0 = au nord).
hauteur : lever le nez (angle 0 à 360, 0 = normal).
transversal : pencher la tête (angle 0 à 360, 0 = normal).
• durée : temps que prendra le mouvement de l'objet vers sa nouvelle position, en 1/1000 de
secondes (0 = immédiat, 1000 = 1 seconde, 600000 = 600 secondes).
• répéter : (0 = ne pas répéter le mouvement, 1 = quand l'objet est arrivé à sa nouvelle position, le
faire revenir au début et répéter le mouvement).
• Des valeurs -18000 à +18000 sont autorisées pour direction, hauteur et transversal afin de pouvoir
faire plusieurs "tours" de 360 degrés au cours du déplacement de l'objet.
object_face_actor (nr, option);
• oriente automatiquement l'objet afin qu'il s'affiche toujours face au chatteur !
• C'est très utile si vous avez un objet 'plat' du genre 'attaquant doom' ou 'boule de feu' qui doivent
toujours faire face au joueur pour ne pas qu'on voie qu'ils n'ont pas d'épaisseur.
• Chaque chatteur verra donc l'objet dans une orientation différente.
• option
1 = orienter toujours l'angle direction face au chatteur,
2 = orienter toujours l'angle direction et l'angle hauteur face au chatteur,
0 = désactiver l'orientation automatique.
object_face_to (nr, x, y [, z]);
• oriente l'objet pour qu'il 'regarde' le point (x,y,z).
• Cette manière d'orienter l'objet est plus simple que de calculer les angles dans la commande
object_move.
• Cette commande désactive aussi l'orientation automatique (voir object_face_actor).
• Si on ne spécifie que les coordonnées x et y, uniquement l'angle 'direction' est changé, si on
spécifie aussi la coordonnée z l'angle hauteur est modifié aussi.
object_clickable (nr, option);
• rend l'objet 'cliquable', c'est-à-dire que si un chatteur clique dessus avec la souris un évènement
(action 915) sera envoyée au script qui a créé l'objet.
• Cette action contiendra dans line$ le numéro de l'objet, en 1 à 6 chiffres.
• option :
1 = rend l'objet cliquable,
0 = ne rend plus l'objet cliquable
object_soap (nr, gliss);
• rend l'objet glissant, c'est-à-dire que s'il est penché et qu'un chatteur est dessus, le chatteur va
glisser et risque de tomber de l'objet.
• gliss : 0 à 255 :
0 = pas de glisse (le chatteur colle à l'objet),
10 = glisse normale,
255 = forte glisse.
• la force de glisse dépend aussi de la gravité (voir set_gravity)
object_scale (nr, scale_x, scale_y, scale_z);
• agrandit ou rétrécit l'objet.
• scale : entre 1 et 65536 :
128 = taille moitié,
256 = taille normale,
512 = taille double.
object_texture_velocity (nr, velocity_u, velocity_v);
• permet de faire défiler les textures ayant l'option V sur l'objet à une certaine
vitesse
• velocity_u, velocity_v : entre -2047 et +2047 en pixels par seconde
object_skybox (nr, on_off);
• crée un objet de type skybox dont la position est automatiquement centrée sur les coordonnées de
chaque actor, ce qui permet de créer un objet cube avec un décor à distance infinie.
• on_off : 0 = objet normal, 1 = objet skybox
object_attach_actor (nr, session_key, mode);
• permet d'attacher un objet à un actor. L'objet va alors suivre tous les mouvements de
l'actor.
• 'mode' peut avoir les valeurs suivantes :
0 = détacher (redevient un objet normal)
1 = attacher à l'écran (seul le chatteur ayant la session_key voit l'objet)
2 = attacher à l'actor (tous les chatteurs voyent l'objet sauf celui qui a la session_key)
3 = 1 & 2 combinés.
object_attach_object (nr_objet_enfant, nr_objet_parent);
• permet d'attacher un objet (enfant) à un autre object (parent). L'objet (enfant) va alors suivre tous
les mouvements de l'objet (parent).
• Cela permet de réaliser des objets en plusieurs parties qui peuvent chacune effectuer des
déplacements, rotations et scaling tout en restant attaché (tronc, bras, main, doigt).
• attention: le numéro de l'objet enfant doit être plus grand que le numéro de l'objet parent.
object_delete (nr);
• efface l'objet (il va donc
disparaitre).
object_sound (nr, "{son001}" [,distance]);
object_sound (nr, "son.wav" [,distance]);
object_sound (nr, "son.wav");
• permet à l'objet nr d'émettre un son. Le paramètre 'distance' permet de spécifier une distance en
points. Les chatteurs éloignés de plus de 'distance' points de l'objet n'entendront pas le son.
Comment définir un arrière-plan
Il y a 3 manières de définir un arrière-plan au monde 3D :
1. le paramètre suivant de chatserv.ini permet de choisir une couleur de fond :
[3D]
sky_color = 102,190,253
2. la commande script suivante permet de modifier la couleur de fond dynamiquement :
set_sky_color (r,g,b); // change la couleur du ciel en 3D
3. Créer une skybox : une skybox est un grand cube entourant le monde 3D et qui permet
de spécifier des images en décor de fond.
• Créez un object 3D en forme de cube (-32768 à 32767 par côté),
• multipliez sa taille par deux avec object_scale afin d'obtenir un grand cube de
131072 de côté,
• centrez-le sur chaque actor avec la commande object_skybox pour que l'acteur
reste toujours au centre du cube.
Autres Options
On peut figer les textures GIF animées dans votre chat client, par :
# chat.ini
[3D]
animated-gifs = no ; geler les GIFs animés dans les textures 3D (pas pour le {board0})
M. Logiciel d'édition 3D
Pour créer votre fichier world.txt automatiquement :
1) cliquer ici pour télécharger l'éditeur 3D (version 23). Attention: cliquez sur Enregistrer et
pas sur Exécuter ! Téléchargez le logiciel sur votre disque dur, ensuite copiez-le dans le
répertoire du serveur de chat (normalement c:\chatserv) et enfin démarrez-le en cliquant
dessus.
2) commencez par dessiner un sol Pour cela, cliquez sur "Texture" pour choisir une texture,
ensuite cliquez sur "Mode" pour choisir le mode 'SOL', puis cliquez sur la carte pour dessiner un
grand rectangle autour du signe violet et du triangle rouge (le triangle rouge indique votre
position de départ). Si vous vous trompez, appuyez sur la touche Escape (Echap) pour annuler
le dernier point cliqué. Pour fermer votre rectangle, recliquez sur le 1er point de départ. Votre
rectangle devrait alors se colorer en bleu.
3) vous voyez un petit cercle bleu au centre de la carte. Si vous cliquez dessus, cela va
sélectionner votre sol et afficher divers attributs changeables (hauteur du sol, texture, options
T=Transparent, B=Both, N=No_Collision, S=Stretch). Un bouton 'Effacer' permet aussi d'effacer
le sol.
4) pour dessiner des murs, choisissez une texture (bouton Texture), ensuite choisissez le mode
'MUR', cliquez ensuite sur la carte pour dessiner un ou plusieurs murs d'une pièce dans le sens
des aiguilles d'une montre ! (en effet, chaque mur a 2 côtés et chaque côté a sa texture et sa
hauteur). Pour commencer un nouveau mur, cliquez sur la touche Escape (Echap). Pour effacer
un mur, cliquez sur son cercle vert pour le sélecter puis sur le bouton 'Effacer'. Vous pouvez
aussi changer sa texture ou sa hauteur.
5) le mode PLAFOND sert à créer un plafond de la même manière que le sol. Pour les points
du plafond, il est recommendé de prendre des points existants de mur ou de sol, car sinon les
points resteront invisibles (pour les afficher, vous devrez changer les altitudes minimum et
maximum sur l'indicateur en haut à gauche afin que le minimum soit égal à la hauteur du
plafond).
6) le mode EDITION sert à déplacer des points ou changer des attributs sans rien créer de
nouveau. Un message "Error: angle < 180°" apparait si vous créez un sol ou plafond
comportant un angle supérieur à 180°, ce qui est interdit; déplacez alors le point pour faire
disparaitre le message.
7) pour créer un 2ème étage, changez en haut à gauche les altitudes maximum à 1024 puis
minimum à 512. Vous ne verrez alors que les objets compris entre ces 2 limites. De manière
similaire, on peut créer un escalier.
8) cliquez et déplacer la souris sur la fenêtre en haut à droite pour naviguer dans votre nouveau
monde; tout objet créé ou option changée va y apparaitre en direct. Si vous changez votre
altitude minimum (indicateur en haut à gauche), votre personnage va aller à cette altitude.
9) cliquez sur la croix en haut à droite pour sortir de l'éditeur, ce qui va automatiquement sauver
votre monde dans un fichier world.txt
N. Salles Irc
L'Irc (Internet Relay Chat) est un protocole de chat déjà assez ancien, mais encore utilisé par
beaucoup de sites de chat.
Si vous possédez une salle de chat sur un serveur Irc, il est possible d'ouvrir une salle sur les
Nouvelles Salles de Chat qui va jouer le rôle de passerelle et envoyer les chatteurs d'ici sur
votre salle Irc. Evidemment, les fonctionnalités seront grandement réduites : pas de bannières,
pas de couleur d'écriture, pas de profils, pas de webcam ni micro. On peut uniquement écrire et
parler en privé.
De plus, vous devez vous attendre à avoir des problèmes techniques vu que le protocole Irc
utilisé varie un peu d'un serveur à l'autre. Il est possible aussi qu'on vous bloque sur certains
serveurs parce qu'il faut un mot de passe ou une option adulte. Nous ne vous proposons donc
ceci qu'à titre expérimental.
Pour ouvrir une passerelle vers un serveur Irc, ajoutez ceci dans chatserv.ini :
[irc]
server = www.coolsmile.net ; nom du serveur Irc
channel = ##ma-salle ; nom de la salle (toujours mettre ## au début !)
port = 6667 ; port du serveur Irc
nick_suffix = _s ; suffixe pseudo (optionnel)
Le nick_suffix est un suffixe qui sera rajouté à la fin des pseudos des chatteurs qui arrivent par
la passerelle, cela vous permet de les distinguer des autres. Ce paramètre est optionnel.
Dans les salles Irc, il est d'usage quand on s'adresse à quelqu'un (par exemple Loulou), de
commencer sa phrase par "Loulou>". Pour obtenir cet effet, il vous suffit de sélectionner le
chatteur à qui vous voulez parler avant de taper votre phrase.
Pour faire un PV, vous devez enclencher le téléphone jaune sur le chatteur pendant que vous
lui parlez : toutes les phrases que vous envoyez ne seront alors envoyées qu'à lui (ou elle).
Méfiez-vous quand même parce que contrairement au chat ici, les PVs sont enregistrés et
même parfois monitorés; vous risquez de vous faire jeter si vous faites de la publicité ou
donnez votre msn.
O. Accès par Ftp
Il est possible d'accéder aux fichiers de votre serveur de chat à distance, à l'aide du protocole
FTP (File Transfer Protocol).
Pour cela, rajouter les lignes suivantes dans chatserv.ini :
# chatserv.ini
[ftp]
port = 21 ; numéro de port pour l'accès ftp
user = votre_nom_utilisateur
pass = votre_mot_de_passe ; au moins 8 caractères !
Utilisez un nom d'utilisateur et un mot de passe compliqué pour éviter le piratage de votre salle !
A l'aide d'un outil Ftp (installé en standard sur n'importe quel ordinateur), vous pouvez alors lire
et écrire tous les fichiers qui se trouvent dans le répertoire du serveur de chat (mais pas ailleurs
sur le PC).
Attention: pour que cela fonctionne, vous devez ouvrir le port 21 sur votre parefeu et routeur.
De plus, sur le PC d'où vous appelez, un port arbitraire est ouvert par le protocole Ftp. Il est
donc souvent nécessaire d'y ouvrir tous les ports (cherchez la documentation ftp sur internet
pour plus de détails).
==> *** Guide Chat *** <==
==> *** Guide Bot *** <==
==> *** Guide Salle s *** <==