Worlddmt - detecteur de pseudos et de clones + afficheur de status pseudos v 1.0

Description

Salut,

Je pense que c'est le premier code avec la DLL dcx.dll posté sur le site

C'est un détecteur de pseudos changé et de clones avec afficheur de status pseudos dans une liste dialog ou par affichage dans la fenêtre active

Comme vous le voyez sur l'aperçu à coté, cet adon a plusieurs options

le double clic sur le pseudo, status en ligne, sera un chat en PV

Est compatible pour les versions mIRC 6.32 +

Pour le codage, je vous laisse donner vos avis et idées

bon au niveau de la ligne 240 se positionne bien juste quand le status est maximized j'ai pas eu une autre idée

Source / Exemple :


;____________________menu________________________

menu status,nicklist,menubar {
  -
  WordlDMT Host et clones V1.0
  .$iif($status != connected,$style(2)) $iif($status != connected,Connectez vous d'abord,Configurer):run.WC
  .$iif(($menu == nicklist) && (!$read($qt($scriptdirdata/pseudos.wc),w,$1)) && (%wlen.wc <= 3500),Ajouter le pseudo a la liste):add.WC $$1
  .Désinstaller:des.WC
  -
}

;_____________________Aliaces____________________

alias run.WC dialog $iif($dialog(whost),-v,-m whost) whost
alias add.WC {
  write $qt($scriptdirdata/pseudos.wc) $1
  watch + $+ $1
  set %wlen.wc $calc(%wlen.wc + $len($1))
  if ($dialog(whost)) {
    var %l $lines($qt($scriptdirdata/pseudos.wc))
    xdid -rA whost 17 0 +f 1 %l $scriptdirdata/pseudos.wc
  }
}
alias des.WC {
  var %s $input(Attention!! Cette action désinstalle l?addon $crlf $+ Voulez-vous désinstaller cet addon?,iy,WorldDMT - Host & Clones)
  if (%s) .unload -rs $qt($scriptdirwhostclones.data) $input(Désinstallation de l'Addon terminé avec succes. $crlf $+ Merci d'avoir utilisé Worlddmt Host & Clones,oik7,WorldDMT - Host & Clones)
}
alias start.watch.wc {
  if ($hget(Hors_ligne)) hdel -w $ifmatch *
  if ($hget(En_ligne)) hdel -w $ifmatch *
  var %x $qt($scriptdirdata/pseudos.wc)
  watch C $regsubex($str(x,$lines(%x)),/x/g,$+($chr(43),$read(%x,\n),$chr(32)))
}
alias -l aperçu.echo {
  echo @waper $+($chr(3),%couleur.WC.6,$chr(44),%couleur.WC.5) - le host du pseudo $+($chr(3),%couleur.WC.7,<pseudo1>,$chr(3),%couleur.WC.6) a été déjà vu avec le pseudo $+($chr(3),%couleur.WC.7,<pseudo2>)
  echo @waper $+($chr(3),%couleur.WC.6,$chr(44),%couleur.WC.5) - clones $+($chr(3),%couleur.WC.8,$chr(91) $+($chr(3),%couleur.WC.7,<pseudo1> <pseudo2> <pseudoN>,$chr(3),%couleur.WC.8) $chr(93))
  echo @waper $+($chr(3),%couleur.WC.6,$chr(44),%couleur.WC.5) - le pseudo $+($chr(3),%couleur.WC.7,<pseudo1>,$chr(3),%couleur.WC.6) vien de se connecter
}
alias -l Status.data.wc {
  var %i $hget(en_ligne,0).item
  xdid -ra Status.wc 1 0 0 +cb 0 1 0 0 $rgb(102,102,153) 0 $chr(7) En ligne $+($chr(40),%i,$chr(41))
  while (%i) {
    xdid -a Status.wc 1 0 0 +c 0 1 0 0 $rgb(0,130,0) 0 $str($chr(160),4) $hget(en_ligne,%i).item
    dec %i
  }
  var %i $hget(hors_ligne,0).item
  xdid -a Status.wc 1 0 0 +cb 0 1 0 0 $rgb(102,102,153) 0 $chr(7) Hors ligne $+($chr(40),%i,$chr(41))
  while (%i) {
    xdid -a Status.wc 1 0 0 +c 0 1 0 0 $rgb(100,100,100) 0 $str($chr(160),4) $hget(hors_ligne,%i).item
    dec %i
  }
}
alias wstat.wc {
  if ($2 == dclick) {
    if ($status != connected) {
      dialog -x $1
      if ($dialog(whost)) dialog -x $ifmatch
      return $input(Vous devez être connecté à un serveur avant d'ouvrir l'addon.,ow,WorldDMT - Host & Clones)
    }
    var %sel.wc $xdid($1,1).sel,%sel.on.wc $calc($left($gettok($xdid($1,1,1).text,2,40),-1) + 2)
    if ((!$istok(1.%sel.on.wc,%sel.wc,46)) && (%sel.on.wc > %sel.wc)) query $remove($xdid($1,1,$3).seltext,$chr(160))
  }
}
alias event.wc {
  if ($2 == sclick) {
    if ($status != connected) {
      dialog -x $1
      if ($dialog(Status.wc)) dialog -x $ifmatch
      return $input(Vous devez être connecté à un serveur avant d'ouvrir l'addon.,ow,WorldDMT - Host & Clones)
    }
    if ($istok(5.6.7.8,$3,46)) { set %couleur.WC. $+ $3 $calc($4 - 1) | clear @waper | aperçu.echo }
    elseif ($istok(10.11.12.13,$3,46)) set %wstatus.wc. $+ $3 $xdid($1,$3).state
    elseif ($istok(15.16,$3,46)) { set %wstatus.wc.15 $iif($3 == 15,1,0) | set %wstatus.wc.16 $iif($3 == 16,1,0) }
    elseif ($3 == 20) {
      var %x $input(veuillez entrer un pseudo,e,WorldDMT - Host & Clones),%y $iif(($chr(32) !isin $eval(%x,2)) && !$read($qt($scriptdirdata/pseudos.wc),w,$eval(%x,2)*) && (%wlen.wc <= 3500),$eval(%x,2)),%w $iif($eval(%x,2) == $null,N)
      if (%y) {
        xdid -a $1 17 0 %y
        savebuf -o $1 17 $qt($scriptdirdata/pseudos.wc)
        set %wlen.wc $calc(%wlen.wc + $len(%y))
        watch + $+ %y
      }
      elseif (%w) return
      else var %z $input(vous ne pouvez pas ajouter le pseudo %x $crlf $+ $iif($read($qt($scriptdirdata/pseudos.wc),w,$eval(%x,2)*),ce pseudo existe déjà dans la liste,$iif($chr(32) isin $eval(%x,2),ce pseudo est non valide,la liste de pseudos est pleine)),io,WorldDMT - Host & Clones)
    }
    elseif ($3 == 21) && ($xdid($1,17,0).sel) {
      var %i $xdid($1,17,0).sel,%z
      while (%i) {
        var %x $read($qt($scriptdirdata/pseudos.wc),$xdid($1,17,$eval(%i,2)).sel)
        watch - $+ %x
        hdel En_ligne %x
        hdel Hors_ligne %x
        xdid -d $1 17 $xdid($1,17,%i).sel
        %z = $calc(%z + $len(%x))
        dec %i
      }
      set %wlen.wc $calc(%wlen.wc - %z)
      savebuf -o $1 17 $qt($scriptdirdata/pseudos.wc)
      if ($dialog(Status.wc)) Status.data.wc
    }
    elseif ($3 == 22) dialog $iif($dialog(Status.wc),-v,-m Status.wc) Status.wc
  }
  elseif ($2 == close) window -c @waper
}

;________________________________Dialog________________________________

dialog whost {
  title WorldDMT - Host & Clones
  size -1 -1 554 410
  option pixels
  text Couleur fond, 1, 231 143 90 17
  text Couleur phrase, 2, 15 143 90 17
  text Couleur pseudo, 3, 15 168 90 17
  text Couleur accolades, 4, 231 168 90 17
  box , 9, 5 190 430 145
  box , 18, 5 125 430 68
  text Affichage info connexion de pseudo, 14, 15 275 210 17
  box , 23, 438 125 112 210
  text Aperçu:, 24, 10 337 100 17
  icon 26, 0 0 554 119, pic/host&clones.jpg, 0 noborder
}
dialog Status.wc {
  title WorldDMT - Status Pseudos
  size -1 -1 308 400
  icon 2, 5 5 298 72, pic/status.pic.jpg, 0 noborder
}

;___________________________Events____________________________________

on *:dialog:whost:*:*:{
  if ($devent == init) {
    dcx Mark $dname event.wc
    xdialog -g $dname +b $rgb(240,240,240)
    xdialog -c $dname 5 colorcombo 326 139 100 70
    xdialog -c $dname 6 colorcombo 110 139 100 70
    xdialog -c $dname 7 colorcombo 110 164 100 70
    xdialog -c $dname 8 colorcombo 326 164 100 70
    xdialog -c $dname 10 check 15 210 210 13
    xdialog -c $dname 11 check 15 224 210 13
    xdialog -c $dname 12 check 15 238 210 13
    xdialog -c $dname 13 check 15 252 210 13
    xdialog -c $dname 15 radio 30 295 210 15
    xdialog -c $dname 16 radio 30 310 210 15
    xdialog -c $dname 20 button 450 135 85 61 bitmap
    xdialog -c $dname 21 button 450 199 85 61 bitmap
    xdialog -c $dname 22 button 450 263 85 61 bitmap
    xdialog -c $dname 17 list 246 208 180 120 extsel vsbar
    window -Bw0 @waper
    xdialog -c $dname 25 window -3 354 575 50 @waper
    aperçu.echo
    xdid -k $dname 20 +nsd 0 $scriptdirpic/ajouter.wc.jpg
    xdid -k $dname 21 +nsd 0 $scriptdirpic/sup.wc.jpg
    xdid -k $dname 22 +nsd 0 $scriptdirpic/status.wc.jpg
    xdid -k $dname 20 +h 0 $scriptdirpic/ajouter.wc.x.jpg
    xdid -k $dname 21 +h 0 $scriptdirpic/sup.wc.x.jpg
    xdid -k $dname 22 +h 0 $scriptdirpic/status.wc.x.jpg
    xdid -t $dname 15 Afficher en info bulle
    xdid -t $dname 16 Afficher dans la fenetre active du mIRC
    xdid -t $dname 10 Activer detecteur host et Clones
    xdid -t $dname 11 Activer Status Connecxion de pseudos
    xdid -t $dname 12 Activer son detecteur host et clones
    xdid -t $dname 13 Activer son connecxion pseudo
    var %i,%l
    %l = $lines($scriptdirdata/couleur.wc)
    %i = 1
    while (%i <= %l) { xdid -a $dname 5,6,7,8 %i $read($scriptdirdata/couleur.wc,%i) | inc %i }
    %i = 5
    while (%i <= 8) { xdid -c $dname %i $calc($eval($+(%,couleur.wc.,%i),2) + 1) | inc %i }
    %l = $lines($qt($scriptdirdata/pseudos.wc))
    xdid -A $dname 17 0 +f 1 %l $scriptdirdata/pseudos.wc
    xdid -C $dname 17 +bk $rgb(240,240,240)
    xdid -x $dname 17 +w
    %i = 10
    while (%i <= 16) { if ($eval($+(%,wstatus.wc.,%i),2)) xdid -c $dname %i | inc %i }
  }
}
on *:dialog:Status.wc:*:*: {
  if ($devent == init) {
    dcx Mark $dname wstat.wc
    xdialog -c $dname 1 listview 5 77 298 318 report noheader
    xdid -t $dname 1 +c 0 275 x
    xdid -x $dname 1 +w
    Status.data.wc
  }
}
on *:load:{
  if ($version < 6.32) .unload -rs $qt($scriptdirwhostclones.data) $input(L'installation de l'addon a été annulée. $crlf $+ veuillez utiliser la version 6.32 ou plus. Merci,oi,WorldDMT - Host & Clones)
  set %couleur.WC.5 0
  set %couleur.WC.6 7
  set %couleur.WC.7 14
  set %couleur.WC.8 4
  set %wstatus.wc.15 1
  set %wlen.wc 1
  write -c $qt($scriptdirdata/pseudos.wc)
  .load -rs $qt($scriptdirwhostclones.dcx.dll.wc)
  var %s $input(WorldDMT - Host & Clones a été bien installé. $crlf $+ voulez vous ouvrir l'addon?,iy,WorldDMT - Host & Clones)
  if (%s) {
    if ($status != connected) return $input(Vous devez être connecté à un serveur avant d'ouvrir l'addon.,ow,WorldDMT - Host & Clones)
    run.wc
  }
}
on *:unload:{
  if ($dialog(whost)) dialog -x whost
  .unset %couleur.wc.* %wstatus.wc.* %wlen.wc
  if ($hget(en_ligne)) hfree $ifmatch
  if ($hget(hors_ligne)) hfree $ifmatch
  if ($hget(hostnick)) hfree $ifmatch
  .unload -rs $qt($scriptdirwhostclones.dcx.dll.wc)
}
on *:join:#: {
  if ($nick == $me) who #
  else {
    if (%wstatus.wc.10) {
      var %n $hget(hostnick,$wildsite)
      if ((%n) && (%n != $nick)) {
        echo # $+($chr(3),%couleur.WC.6,$chr(44),%couleur.WC.5) - le host du pseudo $+($chr(3),%couleur.WC.7,$nick,$chr(3),%couleur.WC.6) a été déjà vu avec le pseudo $+($chr(3),%couleur.WC.7,%n)
        if (%wstatus.wc.12) splay $qt($scriptdirmsc/bip.wav)
      }
      else hadd -m hostnick $wildsite $nick
      if ($ialchan($wildsite,#,0) > 1) {
        echo # $+($chr(3),%couleur.WC.6,$chr(44),%couleur.WC.5) - clones $+($chr(3),%couleur.WC.8,$chr(91) $regsubex($str(x,$ifmatch),/x/g,$+($chr(3),%couleur.WC.7,$ialchan($wildsite,#,\n).nick,$chr(3),%couleur.WC.8,$chr(32))),$chr(93))
        if (%wstatus.wc.12) splay $qt($scriptdirmsc/bip.wav)
      }
    }
  }
}
on *:connect:.timerdép 1 5 start.watch.wc
on *:start:{ hmake En_ligne | hmake Hors_ligne }

;_______________________________RAW____________________________________

raw *:*:{
  if ($numeric == 600) {
    hadd -m En_ligne $2 1
    hdel Hors_ligne $2
    if ($dialog(Status.wc)) .timerStat 1 1 Status.data.wc
    if (%wstatus.wc.11) {
      if (%wstatus.wc.15) {
        inc %num.log
        var %w $window(@mIRC).w,%h $iif($window(@log.wc $+ $calc(%num.log - 1)),$calc($window(@mIRC).h - $calc(40 * $calc(%num.log - 1))),$window(@mIRC).h)
        window -daopk0w0 +d @Log.wc $+ %num.log $calc(%w - 200) $calc(%h - 56) 200 40
        drawtext -ro @Log.wc $+ %num.log $rgb(0,100,150) 5 5 $2
        drawtext -r @Log.wc $+ %num.log $rgb(0,100,150) 5 20 vient de se connecter
        .timer $+ %num.log 1 3 window -c @Log.wc $+ %num.log
        .timerlog 1 4 unset %num.log
      }
      else echo -a $+($chr(3),%couleur.WC.6,$chr(44),%couleur.WC.5) - le pseudo $+($chr(3),%couleur.WC.7,$2,$chr(3),%couleur.WC.6) vien de se connecter
      if (%wstatus.wc.13) splay $qt($scriptdirmsc/log.wav)
    }
    halt
  }
  elseif ($numeric == 604) {
    hadd -m En_ligne $2 1
    hdel Hors_ligne $2
    if ($dialog(Status.wc)) .timerStat 1 1 Status.data.wc
    halt
  }
  elseif ($numeric == 601) || ($numeric == 605) {
    hadd -m Hors_ligne $2 1
    hdel En_ligne $2
    if ($dialog(Status.wc)) .timerStat 1 1 Status.data.wc
    halt
  }
}

Conclusion :


Téléchargez le zip mettez le dossier là ou vous voulez, ensuite loadez le fichier whostclones.data qui se trouve dans le dossier WorldDMT-Host&Clones

Si vous voulez faite copier coller dans mIRC et cherchez le fichier whostclones.data là ou vous avez deziper le zip

//.load -rs $qt($sfile(*.data))

Codes Sources

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.