Jeu avec les smiley

Contenu du snippet

C'est un jeu pour bot qui marche avec les smiley, chaque joueur inscris doit trouver un nouveau smiley en 10 seconde et il ne doit pas etre deja dis.

Source / Exemple :


dialog js {
  title "Config Smiley"
  size -1 -1 67 118
  option dbu
  box "Liste", 1, 0 0 26 117
  list 2, 1 7 23 109, size vsbar
  button "Ok", 3, 29 105 37 12, ok cancel
  button "Ajouter", 4, 27 8 26 12
  button "Supprimer", 5, 27 24 37 12
  button "Rafraichir", 6, 27 40 37 12
  check "Activer sur :", 7, 27 61 39 10
  edit "", 8, 26 72 39 10
  box "Option", 9, 25 0 42 54
  box "Actif/Inactif", 10, 25 54 42 30
  button "", 11, 28 85 38 19
  edit "", 12, 53 9 13 10
}

menu * {
  Jeu Des smiley
  .$iif(!$dialog(js),Configurer):{ dialog -m js js }
  .reinitialisé les scores:{ unset %pointjs* }
}
on *:dialog:js:*:*:{
  if ($devent == init) {
    did -a $dname 8 %chanjs
    set %sbase x[,x],;],;[,:],:[,;'),:'),;'(,:'(,;(,:(,:),;),:o,:p,:D,xD,oO,Oo,;D,=],=),=(,=[,x),x(,:x,;x,:(,^^,:°,:*,;*,;°,-_-,-.-,¯-¯,:s,;p,;o,:|,:/,;/,;|,:\,;\,:$,:',='),='(
    if (%actijs == on) { did -c $dname 7 }    
    if (%bases == on) {
      bases
      did -ra $dname 11 Votre Config
      did -b $dname 4,5,6
    }
    else {
      config
      did -ra $dname 11 La Base
    }
  }
  elseif ($devent == close) {
    set %chanjs $$did(8)   
    if (%actijs == on) && (!$did(8)) { echo -a vous ne pouvé pas activé le jeu sans precisé de chan le jeu est automatiquement dsactivé | set %actijs off }
  }
  elseif ($devent == sclick) {
    if ($did == 4) {
      if ($istok(%scp,$did(12),44)) { echo -a 4Erreur : Ce smiley existe deja dans votre liste }
      else { set %scp $addtok(%scp,$did(12),44) | config }
      did -r $dname 12
    }
    elseif ($did == 5) {
      if ($did(2).sel) { set %scp $deltok(%scp,$did(js,2).sel,44) | config }
      else { echo -a 4Erreur : Choisis un smiley a supprimer }
    }
    elseif ($did == 6) { unset %scp | config }
    elseif ($did == 7) { set %actijs $iif($did(7).state,on,off) }
    elseif ($did == 11) {
      if ($did(11) == $+(Votre,$chr(32),Config)) {
        did -ra $dname 11 La Base
        set %bases off
        did -e $dname 4,5,6
        config 
      }
      else {
        did -ra $dname 11 Votre Config
        set %bases on 
        did -b $dname 4,5,6
        bases 
      }
    }
  }
}

alias config {
  did -r js 2
  didtok js 2 44 %scp
}
alias bases { 
  did -r js 2
  didtok js 2 44 %sbase
}

on *:nick:{
  if ($active == %chanjs) {
    if ($($+(%,pointjs,$nick),2)) { notice $newnick Tu avais $($+(%,pointjs,$nick),2) points avec le pseudo $nick , Tes points ont ete automatiquement transféré }
    elseif (%inscris == on) {
      if ($hfind(INJS,$nick)) {
        hdel INJS $nick
        hadd -m INJS $newnick
        notice $newnick 4Tu est bien inscris sous le pseudo3 $newnick
      }
    }
  }
}

on *:part:%chanjs:{
  if (%inscris == on) {
    if ($hfind(INJS,$nick)) {
      hdel INJS $nick
      notice $nick Tu est partis de %chanjs alors que tu etait inscris, tu n'est plus inscris.
      msg %chanjs 4L'inscription de3 $nick 4est annulé
    }
  }
}

on *:quit:{
  if ($nick ison %chanjs) {
    if (%inscris == on) {
      if ($hfind(INJS,$nick)) {
        hdel INJS $nick
        msg %chanjs 4L'inscription de3 $nick 4est annulé
      }
    }
  }
}

on *:text:*:?:{
  if ($nick ison %chanjs) {
    if ($1- == !regles) {
      msg $nick 4Les regles sont simples :
      .timer 1 1 msg $nick 4Lorsque c'est a votre tour, vous devez donner un smiley 
      .timer 1 2 msg $nick 4Vous ne pouvez pas donner un smiley qui a déjà été donner
      .timer 1 3 msg $nick 4Vous avez 10 secondes pour donner une reponse
      .timer 1 4 msg $nick 4Vous pouvez consulter votre score en tapant3 !scores 4et celui des autres en tapant3 !scores pseudo 
    }
  }
}

on *:text:*:%chanjs:{
  if ($strip($1-) == !jeu) {
    if (%actijs == on) {
      if (%inscris == off) {
        if (%bases == on) { set %SS $(%sbase) }
        else { set %SS %scp } 
        set %inscris on
        set %huhi on       
        msg %chanjs 4Le jeu vient d'être lancé par3 $nick
        .timer 1 1 msg %chanjs 4Consultez les regles en tapant /msg $me !regles
        .timer 1 2 msg %chanjs 4Pour vous inscrire tapez3 !inscris 4. Vous avez3 304 secondes.        
        .timer 1 32 start.game
      }
      else { msg %chanjs 4Un jeu est déjà en cours }
    }
    else { msg %chanjs 4Le jeu n'est pas activé }
  }
  elseif ($1 == !scores) {
    if ($nick ison %chanjs) {
      if (!$2-) {
        if ($($+(%,pointjs,$nick),2)) { notice $nick Tu as $($+(%,pointjs,$nick),2) points }
        else { notice $nick Tu n'a pas encore de point désolé }
      }
      else {
        if ($2- ison $chan) {
          if ($($+(%,pointjs,$2),2)) { notice $nick $2 a $($+(%,pointjs,$2),2) points }
          else { notice $nick $2 n'a pas encore de point désolé }
        }
      }
    }
  }
  elseif ($strip($1-) == !inscris) {
    if (%inscris == on) {      
      if ($hfind(INJS,$nick)) {
        if ($($+(%,flood,$nick),2) < 2) { msg %chanjs 3 $nick 4Arretez de vous repéter.C'est le3 2eme4 averstissement au3 3eme4 c'est le ban | kick %chanjs $nick Flood | inc $+(%,flood,$nick) }
        elseif ($($+(%,flood,$nick),2) > 1) { msg %chanjs 3 $nick 4Arretez de vous repété3 3eme4 fois...  | ban -k $chan $nick }              
        else { msg %chanjs 3 $+ $nick 4Vous êtes déjà inscrit. | inc $+(%,flood,$nick) } 
      }      
      else {
        hadd -m INJS $nick
        msg %chanjs 3 $+ $nick 4a bien été inscrit.
      }
    }
    elseif (%huhi == on) { msg %chanjs 4Désolé3 $nick 4mais le jeu a deja commencé attend une autre partie }
    else { msg %chanjs 4Désolé3 $nick mais le jeu n'est pas commencé tapez3 !jeu4 pour le lancer }
  }
  elseif (%jeu == on) {
    if ($nick == %player) {
      if ($istok(%SS,$strip($1-),44)) {
        if (!$istok(%dejadit,$strip($1-),44)) {
          msg %chanjs 4Bravo3 %player $+ 4, votre proposition est validée.
          mode %chanjs -v %player
          set %dejadit $addtok(%dejadit,$strip($1-),44)
          if (%numplay < $hget(INJS,0).item) { inc %numplay }
          else { set %numplay 1 }
          set %player $hget(INJS,%numplay).item
          .timertime off
          question         
        }
        else {
          msg %chanjs 4FAUX3 %player $+ 4, cette réponse a déjà été dite.
          mode %chanjs -v %player
          hdel INJS %player
          if (%numplay > $hget(INJS,0).item) { dec %numplay }
          set %player $hget(INJS,%numplay).item          
          $iif($hget(INJS,0).item == 1,winner,question)
          .timertime off      
        }
      }
      else { 
        msg %chanjs 4FAUX3 %player $+ 4, vous êtes éliminé du jeu. 
        mode %chanjs -v %player
        hdel INJS %player
        if (%numplay > $hget(INJS,0).item) { dec %numplay }
        set %player $hget(INJS,%numplay).item        
        $iif($hget(INJS,0).item == 1,winner,question)
        .timertime off 
      }
    }
  }
}

alias start.game {
  set %inscris off
  unset %flood*
  set %nbj $hget(INJS,0).item
  msg %chanjs 4Les inscriptions sont terminées ! Total des joueurs inscrits :3 %nbj
  if (%nbj >= 2) {
    .timer 1 1 msg %chanjs 12Le jeu commence dans3 1512 secondes !
    mode %chanjs +m
    set %numplay 1
    set %player $hget(INJS,1).item
    .timer 1 15 question
  }
  else { .timer 1 2 msg %chanjs 4Pas assez de joueurs pour cette partie, le jeu est stoppé.Tapez3 !jeu 4pour le relancer | arretjs }
}

alias question {
  set %jeu on
  mode %chanjs +v %player
  .timer 1 1 msg %chanjs 4C'est à 3 $+ %player 4de jouer. J'attends votre proposition.
  .timertime 1 10 temps.ecoule
}

alias winner {
  msg %chanjs 4Bravo3 $hget(INJS,1).item 4vous avez gagné 
  set %jeu off
  set %inscris off
  set %huhi off
  unset %numplay, %player, %dejadit
  mode %chanjs -m
  inc $+(%,pointjs,$hget(INJS,1).item) 5
  msg %chanjs 3 $+ $hget(INJS,1).item 4a3 $($+(%,pointjs,$hget(INJS,1).item),2) 4points
  hfree INJS
  msg %chanjs Le jeu recommence dans 15 secondes 
  .timer 1 15 boucle.jeu
}

alias arretjs {
  set %jeu off
  set %inscris off
  set %huhi off
  unset %dejadit
  if ($hget(injs)) { hfree injs }
  mode %chanjs -m
}

alias temps.ecoule {
  msg %chanjs 4TEMPS ECOULE3 %player $+ 4, vous êtes éliminé du jeu.
  hdel INJS %player
  if (%numplay > $hget(INJS,0).item) { dec %numplay }
  set %player $hget(INJS,%numplay).item
  $iif($hget(INJS,0).item == 1,winner,question)
}

alias boucle.jeu {
  Msg %chanjs 4C'est repartis, vous devez vous réenregistrez en tapant3 !inscris
  msg %chanjs 4vous avez3 30 4secondes
  if (%bases == on) { set %SS $(%sbase) }
  else { set %SS %scp } 
  set %inscris on
  set %huhi on
  .timer 1 30 start.game    
}

Conclusion :


Je compte encore rajouté des options mais j'ai pas trop d'idée les votre sont la bienvenue.

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.