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

Soyez le premier à donner votre avis sur cette source.

Vue 4 633 fois - Téléchargée 235 fois

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

Ajouter un commentaire

Commentaires

Messages postés
882
Date d'inscription
jeudi 6 juillet 2006
Statut
Membre
Dernière intervention
6 janvier 2012
1
ok

bon a propos d'avoir la dimention du win utilisé (800 X 600) , (1024 X 768) ou ect...

comme ça meme si le mIRC n'est pas maximized la fenetre s'voure tjr au quoin en bas a droite
Messages postés
2466
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
1 août 2010
1
"j'ai bien testé et tu a redi ce que j'avais dis en haut mais a ta maniere et tu a ajouté la derniere "

Effectivement maintenant que tu dis ça, je comprend ce que tu voulais dire, mais tu t'exprimes vraiment très très très très très très très très très mal (essaye d'ajouter de la ponctuation, de faire des phrase courte et simple), j'ai même l'impression que c'est toujours confus, $v1 et $v2 ne dépende pas des && ou ||, mais dépendent des conditions faites.Après il est vrai que && et || modifie les conditions.Pour savoir ce que vaut $v1 et $v2 il ne faut pas regardé les && ou les || mais comprendre quel condition a été éxécuter en DERNIER, d'ou mon exemple avec l'alias $Ga

Regarde $window pour avoir les coordonées de mirc
Messages postés
882
Date d'inscription
jeudi 6 juillet 2006
Statut
Membre
Dernière intervention
6 janvier 2012
1
"Tes remarques sont fausse WorlDMT, tu as mal du testé :s"

j'ai bien testé et tu a redi ce que j'avais dis en haut mais a ta maniere et tu a ajouté la derniere

je me sui mal exprimé peut etre

"if (1) && (2) {}
la dernière condition validé est 2, il n'y a pas de deuxième partis, $v1 2 et $v2 $null"

moi j'avais dis

"si elles sont separé par "&&" $v1 retourne la valeur de la deuxieme"


"if (1 !5) || (2 3) {}
la dernière condition est 2 3, mais comme c'est un ou, et que la première condition est vrai (validé), il ne va pas plus loin, $v1 1 et $v2 = 5."


si tu veux essaye de faire

if (2 != 3) || (1 != 5) || (2 == 3) $v1 = 2 $v2 = 3

if (2 != 3) && (1 != 5) || (2 == 3) $v1 = 1 $v2 = 5

donc si j'essaye de m'exprimé plus s'il y a un "||" la premiere condition est pris en compte donc $v1 et $v2 de la premiere condition et s'il y a un "&&" la derniere condition apres le "&&" est pris en compte donc $v1 et $v2 de la dermiere condition

je donne un exemple encore

if (2 != 3) && (1 != 5) || (2 == 3) && (1 == 1)

$v1 1 et $v2 1 donc ça considere la derniere condition apres le "&&" et je site qu'elle considere seul la condition qui returne vrai

donc comme cet exp

if (2 != 3) || (1 != 5) && (2 == 3) || (1 == 1) $v1 = 1 $v2 = 1

la condition qui suit le "&&" n'est pas vrai donc ça considere la seconde et s'il n'y a pas de seconde ça retourne $null

peut etre je n'explique pas bien ce que je pense mais bon laissons nous sur le code

esqu'on peut savoir la dimention de l'ecran avec mIRC?
parceque selon la fenetre qui affiche le contact connecté a partir de la ligne 240 si le mIRC n'est pas maximized la fenetre ne sera plus au coin en bas a droite de l'ecran

quelqun a une idée svp?
Messages postés
2466
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
1 août 2010
1
Oula, la seul chose a savoir de $v1/$v2/$ifmatch/$ifmatch2 est ce que j'ai dis ds mon précédent post.

Tes remarques sont fausse WorlDMT, tu as mal du testé :s
Quelque détail histoire que ça soit clair :
$v1 $ifmatch valeur de retour de la dernière première partie de la condition validé.$v2 $ifmatch2 valeur de retour de la dernière deuxième partie de la condition validé.

les && ou || ne change pas le comportement de $v1 mais il agisse dessus :

if (1) && (2) {}la dernière condition validé est 2, il n'y a pas de deuxième partis, $v1 2 et $v2 $null
if (1 !5) || (2 3) {}la dernière condition est 2 3, mais comme c'est un ou, et que la première condition est vrai (validé), il ne va pas plus loin, $v1 1 et $v2 = 5.

si on considère :
alias Ga if (2 == 2) return 1
alias isGa noop Ga!
et bien :
//Echo -a $iif(1 == 1,$Ga,$isGa) $v1 $v2
affichera en echo "1 2 2"
Effectivement, la première condition du $iif est vrai, donc on renvois $Ga, sauf que $Ga effectue lui aussi une condition qui est vrai et donc return 1, donc la dernière condition validé est 2 == 2.

J'espère que c'est plus clair ;)
Messages postés
1466
Date d'inscription
mardi 20 février 2007
Statut
Membre
Dernière intervention
7 février 2011

Je connais tout ça ^^ (quoi que j'avais jamais fait gaffe aux || et &&)
Je pensais juste que $dialog(name) renvoyait $true (et non le nom du dialog) ou $false
Afficher les 8 commentaires

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.