Rencontres
Meetic.fr
Netclub
Amoureux.com

Téléchargements
Bots mIRC
Addons mIRC
Scripts mIRC
Snippets mIRC
Clients IRC
Scripts TCL

Aide IRC & T'chat
Histoire de l'IRC
Définitions
Abréviations
Modes des salons
Les Smileys Java
Aide applet Java
Nétiquette du Chat
Liste des Raws
Les réseaux IRC
Tutorial des Bans
Quizz sur l'IRC
Installer un quizz
Tutorial Ezbounce
Le RFC1459
Messages de quit

Aide IriX (Voila)
Edito
Avoir IriX
Commandes IriX
Commandes CSA
FAQ
La charte

Les Commandes
Bounce/Bnc
NickServ (Jeux.fr)
NickServ (EpiKnet)
NickServ (Voila)
Thema/Metro/Robot
Opérateur
IRCop
Géofront
User
Voila/Wanadoo
Ezbounce

Infos Chat Voila
Présentation
Historique
Le map
Les robots officiels
Détection proxy

Aide Eggdrop
Télécharger
Installez-le
Configurez-le
Les Commandes
Aide TCL
Aide TCL avancée
Scripts TCL
Trivia
Installer Géofront/Eva
Egg sous shell

Aide IRCD/IRCU
Bahamut
Unreal
IRCd Hybrid
IRCoderZ
IRCOxyd
IRCProgs
IRCu de type ancien
IRCu2.10.11.04
CService (IriX)
Services Epona
IRCServices
SCoderZ
UWorld
Entrechat

| Les Liens | Forum IRC | Accueil | Annuaire du Chat | Amour et romantisme |
Ajouter en page de démarrage | Ajouter aux favoris | Chat en direct
- Dialoguer en direct !

Google

 

Cours de scripting mIRC n°2 : les boucles et les alias

Information

Désormais, les cours seront divisés en trois parties : débutant, intermédiaire et expert.

Le niveau débutant est le niveau le plus bas, il suppose donc que vous n'avez pratiquement aucune connaissance en scripting mIRC. Les cours de ce niveau sont donc très détaillés. Il peut peut-être paraître inutile aux personnes d'un niveau supérieur de lire ces cours.

Le niveau intermédiaire est le niveau moyen, il suppose que vous connaissez les commandes de base de mIRC ainsi que des notions fondamentales comme la signification de certains mots clefs (ex : alias, remote, popups, boucles, events...)

Enfin, le niveau expert correspond à un niveau de scripting mIRC assez élevé, les cours à ce niveau là sont donc très peu détaillés et n'ont pour but que d'approfondir quelques notions si le sujet du cours est simple ou alors d'élaborer des scripts assez complexes si le sujet est plutôt compliqué.

A chaque fin de cours, vous trouverez un exercice de scripting mIRC, de niveau variable dont la solution sera donnée dans le prochain cours.

Introduction : quelques définitions

Les boucles sont indispensables à tout script mIRC. Leur but est de simplifier une tâche répétitive. Nous allons ici nous servir d'alias pour alimenter nos exemples.

Les alias sont des commandes composés eux-mêmes de commandes de base en général ou d'autres alias, (cf cours n°0 pour plus de détails).

Débutant

Voici une boucle toute simple qui va compter jusqu'à 20, copiez collez la dans un remote vide (ALT + R, File, New). Pour voir son effet, il vous suffit de taper la commande : /boucle.ex1

On remarque ici l'utilisation de variables qui commencent toutes par %. On retrouve aussi la commande de base "echo" (pour plus d'informations, consultez le cours n°1).

alias boucle.ex1 {
 var %i = 1
 var %MAX = 20
 while (%i <= %MAX) {
  echo -ta Valeur du compteur : %i
  inc %i
 }
}

Dans un remote, si on veut définir un alias il faut commencer la ligne par le mot "alias" puis donner son nom. Ici, son nom est : boucle.ex1, il signifie qu'il s'agit de l'exemple 1 de la boucle. Il faut toujours donner des noms significatifs à vos alias pour mieux vous y retrouver.

On remarque que les variables sont locales car elles sont crées avec la commande : /var %NomDeVariable = Valeur (dans le script proposé au dessus, le / devant var n'est pas obligatoire, c'est pour ça qu'il n'y figure pas).

Une boucle se présente sous la forme : while (conditions) { commandes }. Ce qui se traduit par : "tant que les conditions sont vraies, effectuer les commandes qui suivent".

Ici, tant que le compteur %i est inférieur à %MAX (égal à 20 dans l'exemple), il affichera en echo "Valeur du compteur : %i" (en prenant soin de remplacer %i par sa valeur à l'instant donné) et incrémentera (passera à la valeur suivante) la variable %i (par exemple si %i = 1, inc %i fera passer %i à 2).

Intermédiaire

Voici une boucle qui va vous permettre d'afficher la liste des pseudos sur un salon donné, pour l'utiliser tapez : /boucle.ex2 #NomDuSalon

alias boucle.ex2 {
 var %x = $$1
 var %i = 1
 var %MAX = $nick(%x,0)
 while (%i <= %MAX) {
  var %liste = $addtok(%liste,$nick(%x,%i),32)
  if ($numtok(%liste,32) == 10) { echo -ta %liste | var %liste }
  else if (%i == %MAX && %liste != $null) { echo -ta %liste }
  inc %i
 }
}

On remarque que le paramètre $$1 qui correspond au nom du salon est stocké dans une variable. En effet, comme nous y faisons appel à plusieurs reprises, cela est préférable pour gagner du temps à l'exécution du script.

L'identifiant $addtok(...) permet de rajouter à la variable %liste le prochain pseudo de la liste (c'est à dire $nick(%x,%i)) en les séparant d'un espace (le 32 correspond au code ASCII de l'espace). L'identifiant $numtok(...) renvoit le nombre de tokens dans la variable %liste en prenant pour mesure l'espace (encore ce fameux 32).

La première condition permet d'afficher les pseudos dix par dix. La seconde condition vérifie si il s'agit du dernier pseudo. Dans ce cas là, il se peut qu'il n'y ait à afficher que les 5 derniers pseudos (si par exemple il y avait 35 pseudos, il y aurait trois lignes de 10 pseudos et une ligne de 5 pseudos).

Expert

Quant à vous experts, voici ce que vous pouvez vous mettre sous la dent : une double boucle !

alias boucle.ex3 {
  var %i = 1
  var %MAX1 = $chan(0)
  while (%i <= %MAX1) {
   var %x = $chan(%i)
   var %j = 1
   var %MAX2 = $nick(%x,0)
   echo 12 -ta Début : %x
   while (%j <= %MAX2) {
    var %y = $nick(%x,%j)
    var %z = $addtok(%z,%y,32)
    if $numtok(%z,32) == 5 { echo -ta %z | var %z }
    else if %j = %MAX2 && %z != $null { echo -ta %z | var %z }
    inc %j
   }
   echo 12 -ta Fin : %x
   inc %i
  }
}

A vous de deviner ce que cette double boucle fait, sinon testez là...

Exercice : difficulté intermédiaire

En utilisant les boucles, construisez un alias permettant de donner la liste des pseudos contenant un certain mot sur un salon. Par exemple si je tape /detecter.mot #testr cam, l'alias devra m'afficher tous les pseudos contenant le mot "cam". Amusez vous bien en attendant la semaine prochaine...

Au Ciné : News
Inju
Comme les autres
Martyrs
Manipulation
Intrusions
Christophe Colomb : l'énigme
Tropa de Elite
Le Sel de la mer

Newsletter
Restez informé de l'actualité du cinéma avec Nord-Cinéma

Services IRC
T'chat sur votre site
Cinéma sur votre site
Module T'chat Voila

Aide bot mIRC
CService
Faire son bot



Aide mIRC
Alias
Popup
Remotes
Variables
Cours de scripting

Partenaires
Home cinéma
Cinema
Nouveautes DVD
Location dvd
Forum de l'IRC

©2002-2004 CSAdmin.net | Contact | L'équipe Liens | Faites de csadmin.net votre page d'accueil
CSAdmin.net est déclaré à la CNIL sous le numéro 856687
Google