begin process at 2012 02 10 03:06:12
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Bots

 > LE PENDU POUR IRC (SOCKET)

LE PENDU POUR IRC (SOCKET)


 Information sur la source

Note :
7,67 / 10 - par 6 personnes
7,67 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Bots Niveau :Débutant Date de création :04/03/2005 Date de mise à jour :08/05/2005 15:34:42 Vu / téléchargé :8 188 / 886

Auteur : MaX_62

Ecrire un message privé
Commentaire sur cette source (19)
Ajouter un commentaire et/ou une note

 Description

Voici une version du jeu du Pendu pour IRC. Le jeu se joue a 2 joueurs, un joueur propose un mot et l'autre tente de le trouver ^^

Source

  • alias pendu_start {
  • if $hget(pendu) { hfree pendu }
  • hmake pendu
  • if $sock(pendu) { echo -a 2*/pendu_start : Jeu déjà activé ! }
  • else {
  • if $2 { sockopen pendu $1 6667 | hadd pendu chan $2 }
  • else { echo -a 2*/pendu_start : Paramètres incomplets. }
  • }
  • }
  • on *:SOCKOPEN:pendu:{
  • if ($sockerr) { echo -a 2[Pendu] : Erreur de connection. | hfree pendu }
  • else {
  • pswr USER Pendu Pendu Pendu Pendu
  • pswr NICK Pendu
  • pswr PRIVMSG NickServ :Identify MOT-DE-PASSE
  • pswr PRIVMSG ChanServ :Identify $hget(pendu,chan) MOT-DE-PASSE
  • pswr PRIVMSG ChanServ :set $pch entrymsg Bienvenue sur $pch ! Pour lancer le jeu du pendu, tapes !jouer . Bonne chance !
  • pswr JOIN $pch
  • pswr NAMES $pch
  • pswr PRIVMSG $pch :[Jeu] Le jeu du pendu est initialisé ! Pour le lancer tapez !jouer
  • pswr PRIVMSG ChanServ :set $pch topiclock off
  • .timer 1 1 pswr TOPIC $pch :12,1Bienvenue sur le jeu du 8,1P4-7E4-4N4-7D4-8U4 <-->12 Etat : (3Dispo12) (4Jeu arrêté12)
  • .timer 1 2 pswr PRIVMSG :ChanServ set $pch topiclock on
  • }
  • }
  • on *:SOCKREAD:pendu:{
  • sockread %varpendu
  • tokenize 58 %varpendu
  • if ($gettok(%varpendu,1,32) == PING) { pswr PING $gettok(%varpendu,2,32) }
  • if ($gettok(%varpendu,2,32) == PRIVMSG) {
  • if ($gettok(%varpendu,3,32) == $pch) {
  • if ($2 == !jouer) {
  • if ($gettok($hget(pendu,etat),1,32) == on) { pswr PRIVMSG $pch :[Erreur] Un jeu est déjà en cours ! }
  • else {
  • pswr PRIVMSG ChanServ :set $pch topiclock off
  • pendu_delmodes
  • .timer 1 1 pswr TOPIC $pch :12,1Bienvenue sur le jeu du 8,1P4-7E4-4N4-7D4-8U4 <-->12 Etat : (3Dispo12) (3Jeu en cours12)
  • .timer 1 2 pswr PRIVMSG ChanServ :set $pch topiclock on
  • pswr PRIVMSG $pch :[Jeu] Le jeu vient d'être lancé par $+(,$mid($gettok(%varpendu,1,33),2,$calc($len($gettok(%varpendu,1,33)) - 1)))
  • hadd $sockname etat on choix
  • hadd $sockname joueur1 $mid($gettok(%varpendu,1,33),2,$calc($len($gettok(%varpendu,1,33)) - 1))
  • pswr PRIVMSG $pch :[Joueur] $hget(pendu,joueur1) : Vous devez choisir votre joueur. Pour celà, tapez !choix joueur . Vous avez une minute.
  • .timerchoix 1 60 pendu_arreter_jeu
  • }
  • }
  • if ($gettok($2,1,32) == !choix && $hget(pendu,etat) == on choix) {
  • if ($istok($hget(pendu,names),$gettok($2,2,32),32) && $gettok($2,2,32) != $hget(pendu,joueur1) && $gettok($2,2,32) != Pendu) {
  • pswr PRIVMSG $pch :[Joueur] Vous avez choisi $+(,$gettok($2,2,32))
  • hadd $sockname joueur2 $gettok($2,2,32)
  • hadd $sockname etat on choixmot
  • pswr PRIVMSG $pch :[Mot] $hget(pendu,joueur1) : Vous devez maintenant choisir votre mot. Pour cela, tapez /msg Pendu !mot mot . Vous avez 2 minutes.
  • .timermot 1 120 pendu_arreter_jeu
  • .timerchoix off
  • }
  • else { pswr PRIVMSG $pch :[Joueur] Ce joueur ne peut pas participer au jeu. }
  • }
  • if ($gettok($2,1,32) == !rep && $hget(pendu,etat) == on jeu && $mid($gettok(%varpendu,1,33),2,$calc($len($gettok(%varpendu,1,33)) - 1)) == $hget(pendu,joueur2)) {
  • if ($gettok($2,2,32) == $hget(pendu,mot)) { pswr PRIVMSG $pch :[Réponse] Bravo $hget(pendu,joueur2) vous avez gagné ! | pendu_arreter_jeu }
  • else {
  • pswr PRIVMSG $pch :[Proposition] Ce n'est pas la bonne réponse !
  • hdec pendu essais
  • if ($hget(pendu,essais) == 0) { pswr PRIVMSG $pch :[Résultat] $hget(pendu,joueur2) vous avez perdu ! Le mot était $hget(pendu,mot) | pendu_arreter_jeu }
  • pswr PRIVMSG $pch :[Essais] Il vous reste $hget(pendu,essais) essais.
  • pswr PRIVMSG $pch :[Etat] Etat actuel : $hget(pendu,decouvert)
  • }
  • }
  • if ($gettok($2,1,32) == !lettre && $hget(pendu,etat) == on jeu && $mid($gettok(%varpendu,1,33),2,$calc($len($gettok(%varpendu,1,33)) - 1)) == $hget(pendu,joueur2)) {
  • if ($len($gettok($2,2,32)) == 1) {
  • if ($gettok($2,2,32) isin $hget(pendu,dejadit)) {
  • pswr PRIVMSG $pch :[Lettre] Vous avez déjà proposé cette lettre.
  • hdec pendu essais
  • if ($hget(pendu,essais) == 0) { pswr PRIVMSG $pch :[Résultat] $hget(pendu,joueur2) vous avez perdu ! | pendu_arreter_jeu }
  • pswr PRIVMSG $pch :[Essais] Il vous reste $hget(pendu,essais) essais.
  • pswr PRIVMSG $pch :[Etat] Etat actuel : $hget(pendu,decouvert)
  • }
  • else {
  • if ($gettok($2,2,32) isin $hget(pendu,mot)) {
  • pswr PRIVMSG $pch :[Lettre] Bien joué $hget(penu,joueur2) la lettre $+(,$gettok($2,2,32),) est bien dans le mot.
  • var %a 1
  • while (%a <= $len($hget(pendu,mot))) {
  • if ($mid($hget(pendu,mot),%a,1) == $gettok($2,2,32)) { hadd pendu decouvert2 $+($hget(pendu,decouvert2),$gettok($2,2,32)) }
  • else { hadd pendu decouvert2 $+($hget(pendu,decouvert2),$mid($hget(pendu,decouvert),%a,1)) }
  • inc %a
  • }
  • hadd pendu decouvert $hget(pendu,decouvert2)
  • hdel pendu decouvert2
  • if ($hget(pendu,decouvert) == $hget(pendu,mot)) {
  • pswr PRIVMSG $pch :[Résultat] Félicitations $hget(pendu,joueur2) vous avez gagné !
  • pendu_arreter_jeu
  • }
  • else {
  • pswr PRIVMSG $pch :[Essais] Il vous reste $hget(pendu,essais) essais.
  • pswr PRIVMSG $pch :[Etat] Etat actuel : $hget(pendu,decouvert)
  • }
  • }
  • else {
  • pswr PRIVMSG $pch :[Lettre] La lettre $+(,$gettok($2,2,32),) n'est pas dans le mot.
  • hdec pendu essais
  • if ($hget(pendu,essais) == 0) { pswr PRIVMSG $pch :[Résultat] $hget(pendu,joueur2) vous avez perdu ! | pendu_arreter_jeu }
  • pswr PRIVMSG $pch :[Essais] Il vous reste $hget(pendu,essais) essais.
  • pswr PRIVMSG $pch :[Etat] Etat actuel : $hget(pendu,decouvert)
  • }
  • hadd pendu dejadit $+($hget(pendu,dejadit),$gettok($2,2,32))
  • }
  • }
  • else { pswr PRIVMSG $pch :[Lettre] Vous devez proposer une lettre. }
  • }
  • }
  • elseif ($gettok(%varpendu,3,32) == Pendu) {
  • if ($gettok($2,1,32) == !mot && $hget(pendu,etat) == on choixmot && $mid($gettok(%varpendu,1,33),2,$calc($len($gettok(%varpendu,1,33)) - 1)) == $hget(pendu,joueur1)) {
  • if ($verifymot($gettok($2,2,32))) {
  • pswr NOTICE $hget(pendu,joueur1) :Le mot $gettok($2,2,32) a été choisi.
  • hadd pendu mot $gettok($2,2,32)
  • hadd pendu etat on jeu
  • .timermot off
  • pswr MODE $pch +vv $hget(pendu,joueur1) $hget(pendu,joueur2)
  • pswr MODE $pch +mT
  • hadd pendu essais 8
  • hadd pendu decouvert $str(*,$len($hget(pendu,mot)))
  • hadd pendu dejadit
  • pswr PRIVMSG $pch :[Jeu] Le jeu commence ! Il vous reste $hget(pendu,essais) essais.
  • pswr PRIVMSG $pch :[Règles] Pour proposer un mot, tapez !rep mot et pour proposer une lettre tapez !lettre lettre
  • pswr PRIVMSG $pch :[Etat] Etat actuel : $hget(pendu,decouvert)
  • }
  • else { pswr NOTICE $hget(pendu,joueur1) :Le mot $gettok($2,2,32) n'existe pas, veuillez changer de mot. (attention aux accents) }
  • }
  • }
  • }
  • if ($istok(JOIN|PART|QUIT|KICK|NICK,$gettok(%varpendu,2,32),124)) { pswr NAMES $pch }
  • if ($gettok(%varpendu,2,32) == 353) { hadd $sockname names $remove($remove($remove($remove($remove($gettok(%varpendu,2,58),+),$chr(37)),@),&),~) }
  • }
  • on *:INPUT:#:{
  • if ($1 == !pendu) {
  • if ($2- == start) { pendu_start $server $chan }
  • elseif ($2- == stop) { pendu_arreter_jeu }
  • elseif ($2- == quit) {
  • pswr PRIVMSG ChanServ :set $pch entrymsg Bienvenue sur $pch ! Le jeu n'est pas dispo en ce moment...
  • pswr PRIVMSG ChanServ :set $pch topiclock off
  • .timer 1 1 pswr TOPIC $pch :12,1Bienvenue sur le jeu du 8,1P4-7E4-4N4-7D4-8U4 <-->12 Etat : (4Non - Dispo12)
  • .timer 1 2 pswr PRIVMSG ChanServ :set $pch topiclock on
  • .timer 1 3 sockclose pendu
  • .timer 1 3 hfree pendu
  • }
  • }
  • }
  • alias -l pendu_arreter_jeu {
  • pswr PRIVMSG ChanServ set $pch topiclock off
  • pendu_delmodes
  • pswr MODE $pch -mT
  • .timer 1 1 pswr TOPIC $pch :12,1Bienvenue sur le jeu du 8,1P4-7E4-4N4-7D4-8U4 <-->12 Etat : (3Dispo12) (4Jeu arrêté12)
  • .timer 1 2 pswr PRIVMSG ChanServ :set $pch topiclock on
  • pswr PRIVMSG $pch :[Jeu] Le jeu vient d'être stoppé. Pour le relancer tapez !jouer
  • .timerchoix off
  • .timermot off
  • hdel pendu joueur1
  • hdel pendu joueur2
  • hdel pendu mot
  • hdel pendu essais
  • hdel pendu decouvert
  • hdel pendu dejadit
  • hadd pendu etat off
  • }
  • alias -l verifymot return $iif($read(francais.txt,w,$+(*,$1,*)),$true,$false)
  • alias -l pch return $hget(pendu,chan)
  • alias -l pswr sockwrite -tn pendu $1-
  • alias -l pendu_delmodes {
  • var %a 1
  • while (%a <= $numtok($hget(pendu,names),32)) {
  • if ($gettok($hget(pendu,names),%a,32) == Pendu) { inc %a }
  • if ($remove($nick($pch,$gettok($hget(pendu,names),%a,32)).pnick,$gettok($hget(pendu,names),%a,32))) { pswr MODE $pch $+(-,$replace($ifmatch,~,q,&,a,@,o,$chr(37),h,+,v)) $str($+($gettok($hget(pendu,names),%a,32),$chr(32)),$len($ifmatch)) }
  • inc %a
  • }
  • }
alias pendu_start {
  if $hget(pendu) { hfree pendu }
  hmake pendu
  if $sock(pendu) { echo -a 2*/pendu_start : Jeu déjà activé ! }
  else {
    if $2 { sockopen pendu $1 6667 | hadd pendu chan $2 }
    else { echo -a 2*/pendu_start : Paramètres incomplets. }
  }
}

on *:SOCKOPEN:pendu:{
  if ($sockerr) { echo -a 2[Pendu] : Erreur de connection. | hfree pendu }
  else {
    pswr USER Pendu Pendu Pendu Pendu
    pswr NICK Pendu
    pswr PRIVMSG NickServ :Identify MOT-DE-PASSE
    pswr PRIVMSG ChanServ :Identify $hget(pendu,chan) MOT-DE-PASSE
    pswr PRIVMSG ChanServ :set $pch entrymsg Bienvenue sur $pch ! Pour lancer le jeu du pendu, tapes !jouer . Bonne chance !
    pswr JOIN $pch
    pswr NAMES $pch
    pswr PRIVMSG $pch :[Jeu] Le jeu du pendu est initialisé ! Pour le lancer tapez !jouer
    pswr PRIVMSG ChanServ :set $pch topiclock off
    .timer 1 1 pswr TOPIC $pch :12,1Bienvenue sur le jeu du 8,1P4-7E4-4N4-7D4-8U4 <-->12 Etat : (3Dispo12) (4Jeu arrêté12)
    .timer 1 2 pswr PRIVMSG :ChanServ set $pch topiclock on
  }
}

on *:SOCKREAD:pendu:{
  sockread %varpendu
  tokenize 58 %varpendu
  if ($gettok(%varpendu,1,32) == PING) { pswr PING $gettok(%varpendu,2,32) }
  if ($gettok(%varpendu,2,32) == PRIVMSG) {
    if ($gettok(%varpendu,3,32) == $pch) { 
      if ($2 == !jouer) {
        if ($gettok($hget(pendu,etat),1,32) == on) { pswr PRIVMSG $pch :[Erreur] Un jeu est déjà en cours ! }
        else {
          pswr PRIVMSG ChanServ :set $pch topiclock off
          pendu_delmodes
          .timer 1 1 pswr TOPIC $pch :12,1Bienvenue sur le jeu du 8,1P4-7E4-4N4-7D4-8U4 <-->12 Etat : (3Dispo12) (3Jeu en cours12)
          .timer 1 2 pswr PRIVMSG ChanServ :set $pch topiclock on
          pswr PRIVMSG $pch :[Jeu] Le jeu vient d'être lancé par $+(,$mid($gettok(%varpendu,1,33),2,$calc($len($gettok(%varpendu,1,33)) - 1)))
          hadd $sockname etat on choix
          hadd $sockname joueur1 $mid($gettok(%varpendu,1,33),2,$calc($len($gettok(%varpendu,1,33)) - 1))
          pswr PRIVMSG $pch :[Joueur] $hget(pendu,joueur1) : Vous devez choisir votre joueur. Pour celà, tapez !choix joueur . Vous avez une minute.
          .timerchoix 1 60 pendu_arreter_jeu
        }
      }
      if ($gettok($2,1,32) == !choix && $hget(pendu,etat) == on choix) {
        if ($istok($hget(pendu,names),$gettok($2,2,32),32) && $gettok($2,2,32) != $hget(pendu,joueur1) && $gettok($2,2,32) != Pendu) {
          pswr PRIVMSG $pch :[Joueur] Vous avez choisi $+(,$gettok($2,2,32))
          hadd $sockname joueur2 $gettok($2,2,32)
          hadd $sockname etat on choixmot
          pswr PRIVMSG $pch :[Mot] $hget(pendu,joueur1) : Vous devez maintenant choisir votre mot. Pour cela, tapez /msg Pendu !mot mot . Vous avez 2 minutes.
          .timermot 1 120 pendu_arreter_jeu
          .timerchoix off
        }
        else { pswr PRIVMSG $pch :[Joueur] Ce joueur ne peut pas participer au jeu. }
      }
      if ($gettok($2,1,32) == !rep && $hget(pendu,etat) == on jeu && $mid($gettok(%varpendu,1,33),2,$calc($len($gettok(%varpendu,1,33)) - 1)) == $hget(pendu,joueur2)) {
        if ($gettok($2,2,32) == $hget(pendu,mot)) { pswr PRIVMSG $pch :[Réponse] Bravo $hget(pendu,joueur2) vous avez gagné ! | pendu_arreter_jeu }
        else { 
          pswr PRIVMSG $pch :[Proposition] Ce n'est pas la bonne réponse !
          hdec pendu essais
          if ($hget(pendu,essais) == 0) { pswr PRIVMSG $pch :[Résultat] $hget(pendu,joueur2) vous avez perdu ! Le mot était $hget(pendu,mot) | pendu_arreter_jeu }
          pswr PRIVMSG $pch :[Essais] Il vous reste $hget(pendu,essais) essais.
          pswr PRIVMSG $pch :[Etat] Etat actuel : $hget(pendu,decouvert)    
        }
      }
      if ($gettok($2,1,32) == !lettre && $hget(pendu,etat) == on jeu && $mid($gettok(%varpendu,1,33),2,$calc($len($gettok(%varpendu,1,33)) - 1)) == $hget(pendu,joueur2)) {
        if ($len($gettok($2,2,32)) == 1) {
          if ($gettok($2,2,32) isin $hget(pendu,dejadit)) {
            pswr PRIVMSG $pch :[Lettre] Vous avez déjà proposé cette lettre.
            hdec pendu essais
            if ($hget(pendu,essais) == 0) { pswr PRIVMSG $pch :[Résultat] $hget(pendu,joueur2) vous avez perdu ! | pendu_arreter_jeu }
            pswr PRIVMSG $pch :[Essais] Il vous reste $hget(pendu,essais) essais.
            pswr PRIVMSG $pch :[Etat] Etat actuel : $hget(pendu,decouvert)    
          }
          else {
            if ($gettok($2,2,32) isin $hget(pendu,mot)) {
              pswr PRIVMSG $pch :[Lettre] Bien joué $hget(penu,joueur2) la lettre $+(,$gettok($2,2,32),) est bien dans le mot.
              var %a 1
              while (%a <= $len($hget(pendu,mot))) {
                if ($mid($hget(pendu,mot),%a,1) == $gettok($2,2,32)) { hadd pendu decouvert2 $+($hget(pendu,decouvert2),$gettok($2,2,32)) }
                else { hadd pendu decouvert2 $+($hget(pendu,decouvert2),$mid($hget(pendu,decouvert),%a,1)) }
                inc %a
              }
              hadd pendu decouvert $hget(pendu,decouvert2)
              hdel pendu decouvert2
              if ($hget(pendu,decouvert) == $hget(pendu,mot)) {
                pswr PRIVMSG $pch :[Résultat] Félicitations $hget(pendu,joueur2) vous avez gagné !
                pendu_arreter_jeu
              }
              else {
                pswr PRIVMSG $pch :[Essais] Il vous reste $hget(pendu,essais) essais.
                pswr PRIVMSG $pch :[Etat] Etat actuel : $hget(pendu,decouvert)    
              }
            }
            else { 
              pswr PRIVMSG $pch :[Lettre] La lettre $+(,$gettok($2,2,32),) n'est pas dans le mot.
              hdec pendu essais
              if ($hget(pendu,essais) == 0) { pswr PRIVMSG $pch :[Résultat] $hget(pendu,joueur2) vous avez perdu ! | pendu_arreter_jeu }
              pswr PRIVMSG $pch :[Essais] Il vous reste $hget(pendu,essais) essais.
              pswr PRIVMSG $pch :[Etat] Etat actuel : $hget(pendu,decouvert)
            }
            hadd pendu dejadit $+($hget(pendu,dejadit),$gettok($2,2,32))
          }
        }
        else { pswr PRIVMSG $pch :[Lettre] Vous devez proposer une lettre. }
      }
    }
    elseif ($gettok(%varpendu,3,32) == Pendu) {
      if ($gettok($2,1,32) == !mot && $hget(pendu,etat) == on choixmot && $mid($gettok(%varpendu,1,33),2,$calc($len($gettok(%varpendu,1,33)) - 1)) == $hget(pendu,joueur1)) {
        if ($verifymot($gettok($2,2,32))) {
          pswr NOTICE $hget(pendu,joueur1) :Le mot $gettok($2,2,32) a été choisi.
          hadd pendu mot $gettok($2,2,32)
          hadd pendu etat on jeu
          .timermot off
          pswr MODE $pch +vv $hget(pendu,joueur1) $hget(pendu,joueur2)
          pswr MODE $pch +mT
          hadd pendu essais 8
          hadd pendu decouvert $str(*,$len($hget(pendu,mot)))
          hadd pendu dejadit
          pswr PRIVMSG $pch :[Jeu] Le jeu commence ! Il vous reste $hget(pendu,essais) essais.
          pswr PRIVMSG $pch :[Règles] Pour proposer un mot, tapez !rep mot et pour proposer une lettre tapez !lettre lettre
          pswr PRIVMSG $pch :[Etat] Etat actuel : $hget(pendu,decouvert)
        }
        else { pswr NOTICE $hget(pendu,joueur1) :Le mot $gettok($2,2,32) n'existe pas, veuillez changer de mot. (attention aux accents) } 
      }
    }
  }
  if ($istok(JOIN|PART|QUIT|KICK|NICK,$gettok(%varpendu,2,32),124)) { pswr NAMES $pch } 
  if ($gettok(%varpendu,2,32) == 353) { hadd $sockname names $remove($remove($remove($remove($remove($gettok(%varpendu,2,58),+),$chr(37)),@),&),~) }
}

on *:INPUT:#:{
  if ($1 == !pendu) { 
    if ($2- == start) { pendu_start $server $chan }
    elseif ($2- == stop) { pendu_arreter_jeu }
    elseif ($2- == quit) { 
      pswr PRIVMSG ChanServ :set $pch entrymsg Bienvenue sur $pch ! Le jeu n'est pas dispo en ce moment...
      pswr PRIVMSG ChanServ :set $pch topiclock off
      .timer 1 1 pswr TOPIC $pch :12,1Bienvenue sur le jeu du 8,1P4-7E4-4N4-7D4-8U4 <-->12 Etat : (4Non - Dispo12)
      .timer 1 2 pswr PRIVMSG ChanServ :set $pch topiclock on
      .timer 1 3 sockclose pendu
      .timer 1 3 hfree pendu 
    }
  }
}

alias -l pendu_arreter_jeu {
  pswr PRIVMSG ChanServ set $pch topiclock off
  pendu_delmodes
  pswr MODE $pch -mT
  .timer 1 1 pswr TOPIC $pch :12,1Bienvenue sur le jeu du 8,1P4-7E4-4N4-7D4-8U4 <-->12 Etat : (3Dispo12) (4Jeu arrêté12)
  .timer 1 2 pswr PRIVMSG ChanServ :set $pch topiclock on
  pswr PRIVMSG $pch :[Jeu] Le jeu vient d'être stoppé. Pour le relancer tapez !jouer
  .timerchoix off
  .timermot off
  hdel pendu joueur1
  hdel pendu joueur2
  hdel pendu mot
  hdel pendu essais
  hdel pendu decouvert
  hdel pendu dejadit
  hadd pendu etat off
}
alias -l verifymot return $iif($read(francais.txt,w,$+(*,$1,*)),$true,$false)
alias -l pch return $hget(pendu,chan)
alias -l pswr sockwrite -tn pendu $1-
alias -l pendu_delmodes {
  var %a 1
  while (%a <= $numtok($hget(pendu,names),32)) {
    if ($gettok($hget(pendu,names),%a,32) == Pendu) { inc %a }
    if ($remove($nick($pch,$gettok($hget(pendu,names),%a,32)).pnick,$gettok($hget(pendu,names),%a,32))) { pswr MODE $pch $+(-,$replace($ifmatch,~,q,&,a,@,o,$chr(37),h,+,v)) $str($+($gettok($hget(pendu,names),%a,32),$chr(32)),$len($ifmatch)) }
    inc %a
  }
}

 Conclusion

Le jeu fonctionne a partir d'une base de données de mots. Cette base de donnée doit etre appelée "francais.txt" J'en fournis une dans un zip mais vous pouvez en prendre une autre, c'est pas genant ^_^

J'ai inséré quelques commandes ChanServ dans le code. Vous devez indiquer le mot de passe du nick (Pendu) et eventuellement du chan. Notez que certaines commandes comme la modification du entrymsg ne pourront pas etre effectué si le bot n'as pas d'access sur le chan.

Commandes pour le propriétaire du bot :

!pendu start : amène le bot sur le channel actif
!pendu stop : arrète le jeu si un jeu est en cours
!pendu quit : déconnecte le bot
Tous les utilisateurs peuvent lancer le jeu en tapant !jouer

Voila ;)

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

04 mars 2005 19:05:02 :
Réglage d'un bug du a un format des raws différent sur certains servers :)
08 mai 2005 15:34:42 :
- Légère optimisation du code.

 Sources du même auteur

SOLVEUR DE SUDOKU
Source avec une capture DERNIERS CODES SUR CODES-SOURCES
PETIT EFFET DE TEXTE
BARRE DE TEXTE DEFILANT
Source avec Zip Source avec une capture FKEYS (F1-12, CONTROL + F1-12, SHIFT + F1-12)

 Sources de la même categorie

Source avec Zip GESTION.BOT V2.0 FINAL par aliassangelius
EXEMPLE DE TCL EN DCC par aliassangelius
Source avec Zip SERVICE GEOFRONT (PERL) par iZyTeHPariaH
Source avec Zip TCL EGGDROP par aliassangelius
ANIMATION POUR BOT par michounou

Commentaires et avis

Commentaire de KiNdErMaXi le 04/03/2005 18:31:55

ne marche pas chez moi
le jeu ne débute pas
peut etre a cause de :
.timer 1 2 sockwrite -tn pendu PRIVMSG ChanServ set $hget(pendu,chan) topiclock on
pas de chanserv sur voiladoo :)

Commentaire de MaX_62 le 04/03/2005 18:37:16

ça ne devrait pas poser de probleme, le message est envoyé dans le vent logiquement

ça doit etre un pb de connexion au server

Commentaire de KiNdErMaXi le 04/03/2005 18:39:56

non le socket se connecte bien, il dit meme [jeu]
mais après plus rien
meme avec !pendu start et autre

Commentaire de MaX_62 le 04/03/2005 18:46:24

Mwè il doit quand meme y avoir un pb, j'ai testé le code que j'ai posté sur un server ça marche niquel :/

vraiment désolé :((

Commentaire de KiNdErMaXi le 04/03/2005 18:47:50

pas grave le soucis c'est que j'ai meme pas un message d'erreur

Commentaire de KiNdErMaXi le 04/03/2005 19:06:17

ca marche :)

Commentaire de FearlessKire le 04/03/2005 19:22:11

Système étant peu fiable chez moi : parfois cela marche parfois pas et je n'ais aucun message d'erreur.
Sinon ça reste assez "original" et "bien réalisé".
Pourquoi ne pas connecter la base de données à un dictionnaire en ligne, on aurait beaucoup de mots, je trouverais cela sympa...
Les commentaires à tout va et non-constructifs on s'en passera, je ne citerais pas de pseudos ici mais à force c'est répétitif et vraiment "polluant" pour des commentaires sur des sources ou des réponses sur un forum...
C'était mon coup de gueule :]
Bonne continuation MaX_62...

Commentaire de KiNdErMaXi le 04/03/2005 19:28:23

fearless,
je me sent largement visé et je pense que j'ai raison :)
alors :
- déja nos problèmes regardent personnes alors n'en fais aps profiter le monde et pis ai le courage de donner  mon pseudo
- de plus mon message a été poster après la mise a jour de max_62 pour  montrer mon approbation car on l'a tester ensemble
voila je pense que c'est plutot toi qui ne parle pour ne rien dire et t'enfonce encore plus
sur ce bonne soirée a tous

Commentaire de FearlessKire le 04/03/2005 19:49:35

T'es pas le seul mais t'en fais parti et c'est pour cela que je n'ais pas souhaité annoncer ton pseudo car la délation personnelle n'est pas mon fort, désolé.
Quels problèmes? Je vois pas de problèmes.
Et je ne parle pas forcement de ce message également meme si pour moi le " ça marche " ou encore " pas grave le soucis c'est que j'ai meme pas un message d'erreur " c'est pas forcément utile, ça prend la place de deux commentaires pour rien à mon sens comme les simples smileys ":)" en remerciement sur des forums ou discussions sur ces derniers alors qu'elles n'ont rien à faire ici. On parle mIRC on n'est pas là pour s'amuse selon moi, meme si cela se doit de rester un loisir.
Dans ces cas-là on envoit un pmsg.
Si je parle pour rien dire c'est tant pis pour moi, je dis ce que je pense et je vois pas en quoi je m'enfonce.
------
En ce qui concerne la source j'ai une idée à part celle du dictionnaire web : tu pourrais faire un truc pour qu'on puisse choisir la "sorte" du mot ( exemple : adjectif, nom...).
Voilà, en espérant que tu tiennes compte de mes idées...
Bonne continuation :]

Commentaire de fyltum le 04/03/2005 20:18:01

Mais FearlessKire si tu n'aimes pas les réponses tu n'as qu'à ne pas les regarder puisque tu réponds toujours après et il est toujours utile pour celui qui a posté la source (en tout cas pour moi) de savoir que celle-ci marche ou non.

Tes coups de gueules répétitifs et stériles ne m'interressent pas plus qu'un post disant que ça marche ou non.
On est pas ici pour dire ce que l'on pense, à ton sens donc ne nous polue pas.

Commentaire de FearlessKire le 04/03/2005 23:18:39

Je regarde les commentaires pour pour pouvoir en discuter ultérieurement avec les auteurs.
Une source postée est censée marcher et dans le cas contraire on peut le signaler sur un commentaire mais bon..
Et je dis ce que je pense sur la source dans mes commentaires car il me semble que c'est cela le but mais bon on a peut etre pas la meme vision des choses.
Je pense avoir fait precedemment des commentaires constructifs et ayant pour but d'améliorer le travail de MaX_62....
------------
Une idée encore : pourquoi ne pas faire un système d'élimination si par exemple on fait 5 fautes ou un truc du genre ?
Bref je signale juste que je répondrais pu aux commentaires de certaines personnes qui n'ont rien à voir avec le scripting et qui eux polluent le site sans rien apporter à l'auteur de la source.
A la limite en PMSG.
Bonne continuation MaX_62, en y réfléchissant bien tu peux faire quelque chose de très classe et sobre :]

Commentaire de MaX_62 le 05/03/2005 07:44:00

FearlessKire :
Je vais faire un système de points et de top 10 je pense ce sera mieux =]

Je mets a jour dans la journée.

Commentaire de Sizlaa le 05/03/2005 11:17:00

Good Game Max ^^, je trouve ça vraiment bien =)
tu progresses assez vite ^^
Bonne continuation et a la prochaine sur Tchatroom ,
8/10 fera l'affaire

Commentaire de Angebleu_ le 23/04/2005 14:16:43

Rowi ! bravo MaX_62 , j'aime bien :) , 8/ 10 !

Commentaire de simousmcfly le 03/04/2006 11:26:05

comment l installer svp merci d avance

Commentaire de besky le 18/04/2006 20:28:12

salut MaX j'aime bien l'idée et je ne doute pas que le jeu doit etre super mais ya un probleme avec le lancement ca fait comme avec kindermaxi c'est sur l'irc alors je sait pas j'espere que tu trouvera le probleme si je trouve de mon coté je ne manquerais pas de te le transmettre :) je donnerais une note quand j'y aurais joué :)

Commentaire de kreeger le 21/06/2006 18:04:45

Que neni, cela ne veut point fonctionner:
|18:03:22| <Oracle> !pendu start
|18:03:23| *** [joueur2] Erreur : Commande inconnue
|18:03:23| *** [1] Erreur : Commande inconnue
|18:03:23| *** [1] Erreur : Commande inconnue
|18:03:23| *** [58] Erreur : Commande inconnue
|18:03:33| *** [58] Erreur : Commande inconnue
|18:03:33| *** [58] Erreur : Commande inconnue

Commentaire de vinca71 le 02/07/2008 01:43:56

Bonjour
Je viens d'installer "pendu" sur mon script
J'ai bien mis le code dans le remote
mais où dois-je mettre le fichier "français"
Je l'ai mis directement dans la base du script
et je pense que c'est pour ça qu'il ne démarre pas
Il est lancé pourtant
Merci pour votre aide

Commentaire de alexis783 le 12/01/2011 00:27:16

Bonjour MaX_62
J'ai essayer d'installer ton Bot seulement après avoir dezipper ton fichier je l'ai load.
Seulement voila après l'avoir installer je tape !pendu start comme indiqué mais ce qui apparaît est [Pendu] : Erreur de connection.
Ah :/ mince. Je l'écris plusieurs fois et soudainement voila ce qui apparaît */pendu_start : Jeu déjà activé !
Je comprend peux tu m'aider MaX_62 'stp
Merci !

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,059 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales