Greet message ( pour script et bot ) en dialog

Contenu du snippet

Voila un greet message .. je c'est kil y en a plein mais celui la est fait avec un list de mdx et en token pas avec des edit :)

Pour ce qui savent pas se k'est un greet message et un merssage kon te di kan tu join un chan :)

Source / Exemple :


;#####################
;# Addon cree par Jujuquatre #
;#####################

alias greet { $opens(greet) }
alias mdx_fullpath { return $+(",$mircdir $+ \systeme\mdx.dll,") }

alias mdx { dll $mdx_fullpath $1- }

alias mdxinit {
  dll $mdx_fullpath SetMircVersion $version
  dll $mdx_fullpath MarkDialog $dname
}

dialog greet {
  size -1 -1 553 204
  title "Greet message by Jujuquatre"
  list 4,5 6 539 152,extsel size
  check "Activer le Greet",5,11 165 99 20
  button "Ajouter",1,142 164 81 30, flat
  button "Supprimmer",2,228 164 81 30, flat
  button "Valider",3,489 163 60 30, flat
  button "",1000,0 0 0 0,ok hide
}
on *:dialog:greet:init:*:{
  mdxinit
  mdx SetControlMDX $dname 4 listview nosortheader rowselect showsel single flatsb headerdrag labeltip report > $mircdir $+ \systeme\views.mdx
  did -i $dname 4 1 headerdims 200 350
  did -i $dname 4 1 headertext Nick $chr(9) Message
  if %act-greet == on { did -c greet 5 }
  else { did -u greet 5 }
  greetinit
}
on *:dialog:greet:sclick:*:{
  if ( $did == 1 ) { /dialog -m ajout55 ajout55 }
  elseif ( $did == 5 ) {
    if ( %act-greet == on ) { set %act-greet off } 
    else { set %act-greet on } 
  }
  elseif ( $did == 3 ) { dialog -x greet greet }
  elseif ( $did == 2 ) {
    if $did(4).sel {
      var %ligreet = $calc($did(4).sel - 1)
      set %texte1 $gettok(%token1,%ligreet,59)
      set %texte2 $gettok(%token2,%ligreet,59)
      var %tempe1 = $remtok(%token1,%texte1,1,59) 
      var %tempe2 = $remtok(%token2,%texte2,1,59) 
      set %token1 %tempe1 $+ ;
      set %token2 %tempe2 $+ ;
      greetinit
    } 
    Else { var %erreurrr = $input(Selectionne une ligne !,300,Avertissement) }
  }
}

alias greetinit {
  var %lollol = 1
  did -r greet 4
  while %lollol <= $numtok(%token1,59) {
    var %temp1 = $gettok(%token1,%lollol,59)
    var %temp2 = $gettok(%token2,%lollol,59)
    did -a greet 4 $tab(%temp1,%temp2)
    inc %lollol
  }
}

dialog ajout55 {
  size -1 -1 186 176
  title "Ajouter un message :"
  text "Le nick :",1,9 16 117 17
  text "Le message greet :",2,8 74 121 17
  edit "",4,10 40 159 22, autohs
  edit "",5,10 97 158 22, autohs
  button "Valider",3,58 135 60 30, cancel ok flat
  button "",1000,0 0 0 0,ok hide
}

on *:dialog:ajout55:sclick:3:{
  if $did(4) == $null || $did(5) == $null { var %erreurrr = $input(Tu doit remplir les champs de texte !,300,Avertissement) | halt }
  if $chr(59) isin $did(4) || $chr(59) isin $did(5) { var %erreurr = $input(Ne m'est pas de point virgule !,300,Avertissement) | halt }
  Elseif $chr(32) isin $did(4) { var %erreurr = $input(Merci de ne pas mettre d'espace dans la première case !,300,Avertissement) | halt }   
  Else {
    var %textcorec1 = $did(4)
    var %textcorec2 = $did(5)
    var %lollol = 1
    while %lollol <= $numtok(%token1,59) {
      var %temp1 = $gettok(%token1,%lollol,59)
      if %temp1 == %textcorec1 { var %erreurrr = $input(Nick Deja entrer,300,Avertissement) | halt }
      inc %lollol
    }
    if %token1 != $null { set %token1 %token1 $+ %textcorec1 $+ ; | /set %token2 %token2 $+ %textcorec2 $+ ; }
    Else { set %token1 %textcorec1 $+ ; | set %token2 %textcorec2 $+ ; }
  }
  greetinit
  dialog -x ajout55 ajout55
} 

On *:Join:#:{
  if ( %act-greet == on ) { var %nickjoin = $greeting($nick) }
}

alias greeting {
  var %textrecu = $1-
  var %i = 1
  while %i <= $numtok(%textrecu,59) {
    var %text.temp = $gettok(%textrecu,%i,59)
    var %ii = 1
    while %ii <= $numtok(%token1,59) {
      var %temp1 = $gettok(%token1,%ii,59)
      var %temp2 = $gettok(%token2,%ii,59)
      if %temp1 == %text.temp { var %textrecu = $replace(%textrecu,%text.temp,%temp2) }
      inc %ii
      if ( %temp2 == %textrecu ) {
        //msg $chan %temp2
      }
    }
    inc %i
  }
  return %textrecu
}
alias tab {
  if (!$1) return $chr(9) | var %t,%w = 1
  while ($($+($,%w),4)) { %t = $instok(%t,$($+($,%w),4),0,9) | inc %w }
  return %t
}

Conclusion :


Vous devez mettre mdx.dll et views.mdx ( enfin la dll mdx koi !? :P ) dans le repertoire systeme de votre script

Vous pouvez la telecharger ici : http://foxscripting.levillage.org/dlls/mdx.zip

Pour louvrir taper /dialog -m greet greet

Merci de poster vos commentaire ou bug pour cette source :)

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.