|
Trouver une ressource
Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !
BLIND TEST (JEU EN PICWIN) + PENDU
Information sur la source
Description
Voici ici un jeu en PicWin : le Blind Test
mIRC 6.17+ est obligatoire
Il consiste, comme la plupart d'entre vous le savent déjà, à deviner le titre et/ou le chanteur/groupe de la musique en cours de lecture, et ce le plus rapidement possible.
Les musiques doivent être stockées dans un fichier .m3u (qui peut-être créé avec Winamp par exemple).
Le jeu utilise les Tags, ça veut dire que si vous souhaitez faire un bon jeu, il faut que les flags soient clairs.
Par exemple, au lieu de Within.Temptation[2004]The.Silent.Force - 10_Within_Temptation_-_10_-_It's_The_Fear.mp3
Vous devriez avoir : Within Temptation - It's The Fear.
Pour régler les Tags avec Winamp, sélectionnez la musique puis faites "Alt + 3", ou alors clic droit, "View File Info"
Un conseil : évitez les _
Ce .m3u doit ensuite être enregistré dans le dossier mIRC (très important). Les chemins (menant vers les musiques) contenus dans ce .m3u dépendent de l'endroit où il est enregistré.
Plusieurs modes de jeu sont disponibles.
Ils permettent de modifier ce qu'on doit rentrer pour gagner la question.
Il y a donc à trouver :
Soit le titre, soit le chanteur/groupe
Le titre ET le chanteur/groupe
Uniquement le titre
Uniquement le chanteur/groupe
D'autres suppléments sont disponibles en fonction du mode activé.
Par exemple, plus de points seront accordées au titre.
Le titre peut-être donné dès le début de la question si ce qu'on cherche est le chanteur/groupe, et vice-versa
Tous les modes disposent d'une option Pendu, où la grille sera affichée dès le début. Vous pourrez y rentrer une lettre, mais aussi des mots.
Ce jeu dispose d'une aide intégrée (disponible via le menu)
Je suis d'accord que la PicWin n'est pas super super jolie, mais elle fonctionne très bien et est assez complète
Le système de score n'est qu'indicatif. Il peut néanmoins permettre de comparer le résultat de plusieurs personnes.
Tapez /blindtest pour lancer la PicWin
/blindtest uninstall pour effacer les fichiers en vue d'effacer le fichier (à faire manuellement)
Source
- ;**********
- ;Blind Test
- ;By ArKanis
- ;arkanis.eu
- ; V1.0
- ;**********
- alias blindtest {
- if ($1 == uninstall) {
- if ($exists(BlindTest.txt)) .remove BlindTest.txt
- if ($window(@Blind)) blind.close
- else blind.freehash
- remini Config.ini Blind
- if (!$ini(Config.ini,0)) .remove Config.ini
- echo -a Vous pouvez désormais décharger le code en tapant /unload -rs $qt($script)
- }
- elseif ($window(@Blind)) window -a @Blind
- else {
- if ($hget(Blind)) hfree Blind
- window -aBCdg0k0pRz +dl @Blind -1 -1 600 400
- drawrect -nr @Blind 0 1 0 0 600 400
- hadd -m Blind Menu1 Fichier£Jouer-Charger une playlist-Fermer
- hadd -m Blind Menu2 Options£Que répondre ?
- hadd -m Blind Menu3 Aide£Comment jouer ?-A propos
- blind.drawmenu $+(Fichier:,$hget(Blind,Menu1),¥Options:,$hget(Blind,Menu2),¥Aide:,$hget(Blind,Menu3))
- hadd -m Blind Fichier blind.start¥blind.load¥blind.close
- hadd -m Blind Options blind.config
- hadd -m Blind Aide blind.help¥blind.credits
- blind.menu.do blind.start
- drawdot @Blind
- }
- }
- alias -l blind.clear drawrect -fnr @Blind 16770790 1 1 16 598 383
-
- ;*****
- ;Close
- ;*****
- on *:close:@Blind:{
- if (($hget(Blind,Titre)) && (!$?!="Laisser la musique en cours ?")) splay stop
- blind.freehash
- }
- alias -l blind.close {
- if ($window(@Blind)) window -c @Blind
- if ($window(@Blind.copy)) window -c @Blind.copy
- if (($hget(Blind,Titre)) && (!$?!="Laisser la musique en cours ?")) splay stop
- blind.freehash
- }
- alias -l blind.freehash {
- var %l = $iif($1-,$1-,Blind BlindButtons BlindBF BlindEdits BlindEF BlindTest), %t = $numtok(%l,32)
- while %t {
- if ($hget($gettok(%l,%t,32))) hfree $ifmatch
- dec %t
- }
- }
- ;****
- ;Menu
- ;****
- menu @Blind {
- sclick:blind.sclick $mouse.x $mouse.y
- mouse:blind.mouse $mouse.x $mouse.y
- Fermer:blind.close
- }
- alias -l blind.drawmenu {
- if (!$window(@Blind)) return
- drawrect -frn @Blind 16761024 1 1 1 598 15
- drawline -nr @Blind 16728128 1 1 15 599 15
- var %t = 1, %m = $numtok($1-,165), %x = 6
- hadd -m Blind Menu $1-
- while %t <= %m {
- var %q = $gettok($1-,%t,165), %e = $gettok(%q,2-,58), %p = %x, %z = $gettok(%q,1,58)
- if (!%e) var %z = $strip(%z)
- drawtext -pnr @Blind $iif(%e,0,8421504) Tahoma 10 %x 2 %z
- inc %x $calc($width($strip(%z),Tahoma,10) + 10)
- hadd -m Blind $+(PosMenu,%t) $+(%p,-,%x)
- inc %t
- }
- drawtext -nr @Blind 0 Tahoma 10 550 2 Blind Test
- }
- alias -l blind.menu {
- if (!$1) return
- var %h = $1-, %px = $hget(Blind,%h), %a = $hget(Blind,$remove(%h,Pos)), %x = $gettok(%px,1,45)
- if ((!%a) || (!%x)) return
- if ($hget(Blind ,SubmenuSel)) hdel Blind SubmenuSel
- hadd -m Blind SubmenuNom $strip($gettok(%a,1,163))
- var %ch = $gettok(%a,2-,163), %m = $gettok(%ch,0,45), %t = 1 ,%mpx = 0, %py = $calc(%m * 12 +5)
- while %t <= %m {
- if ($width($eval($gettok(%ch,%t,45),2),Tahoma,10) > %mpx) var %mpx = $ifmatch
- inc %t
- }
- if (%mpx) {
- inc %mpx 8
- drawrect -rn @Blind 10961427 1 $calc(%x -3) 15 %mpx %py
- drawrect -frn @Blind 16768192 1 $calc(%x -2) 16 $calc(%mpx -2) $calc(%py -2)
- var %t = 1, %y = 18
- while %t <= %m {
- var %co = $iif($hget(Blind,Main) == $gettok($hget(Blind,$hget(Blind,SubmenuNom)),%t,165),8421504,0)
- drawtext -nr @Blind %co Tahoma 10 %x %y $eval($gettok(%ch,%t,45),2)
- inc %y 12
- inc %t
- }
- hadd -m Blind Submenu %x 15 $calc(%mpx -4) $calc(%py -5) %ch
- }
- }
- alias -l blind.checkmenu {
- if (!$1) return
- var %t = 1, %m = $hmatch(Blind,PosMenu*,0).item
- while %t <= %m {
- var %h = $hmatch(Blind,PosMenu*,%t).item, %px = $hget(Blind,%h)
- if ($1 isnum %px) {
- if (!$hget(Blind,MenuSel)) { blind.svg | hadd -m Blind MenuSel %h }
- elseif ($hget(Blind,MenuSel) != %h) { blind.backup -n | hadd -m Blind MenuSel %h }
- else return
- hadd -m Blind Open 1
- blind.menu %h
- .break
- }
- inc %t
- }
- }
- alias -l blind.menu.do {
- if ($hget(Blind,Open)) hdel Blind Open
- if ($hget(Blind,Submenu)) hdel Blind Submenu
- if ($hget(Blind,MenuSel)) hdel Blind MenuSel
- blind.freehash BlindButtons BlindBF BlindEdits BlindEF BlindLists
- blind.clear
- hadd -m Blind Main $1-
- if ($1) $1-
- if ($window(@Blind)) drawdot @Blind
- }
- ;*******
- ;Submenu
- ;*******
- alias -l blind.getsub {
- if (!$2) return
- var %y = 17, %t = 0
- while %y < $1 {
- inc %y 12
- inc %t
- }
- if ((%t > $numtok($2,45)) || (!%t)) return
- return %t $gettok($2,%t,45)
- }
- alias -l blind.submenu.redrawline {
- if (!$4) return
- if ($hget(Blind,Main) != $gettok($hget(Blind,$hget(Blind,SubmenuNom)),$3,165)) {
- drawrect -frn @Blind 16768192 1 $calc($1 -1) $calc(17 + $3 * 12 - 11) $2 12
- drawtext -rn @Blind 0 Tahoma 10 $1 $calc(17 + $3 * 12 - 11) $4-
- }
- hdel Blind SubmenuSel
- }
- ;***************
- ;Sclick & Events
- ;***************
- alias -l blind.sclick {
- var %c
- if ($hget(Blind,Submenu)) {
- var %x = $1, %y = $2
- tokenize 32 $ifmatch
- if ($inrect(%x,%y,$1,$2,$3,$4)) {
- var %i = $blind.getsub(%y,$5-), %t = $gettok(%i,1,32), %c = 1
- if ((%c) && (%t)) blind.menu.do $gettok($hget(Blind,$hget(Blind,SubmenuNom)),%t,165)
- }
- elseif (!$inrect($1,$2,0,0,600,15)) blind.backup -n
- tokenize 32 %x %y
- }
- if ((!%c) && ($inrect($1,$2,0,0,600,15))) blind.checkmenu $1
- if (!$blind.edit(1,$1,$2)) {
- if ($hget(Blind,EditSel)) {
- .blind.edit $hget(BlindEdits,$ifmatch)
- hdel Blind EditSel
- }
- }
- var %res = $blind.id($1,$2), %id = $gettok(%res,1,32)
- if (%id == 1) {
- var %f = $sfile($mircdir *.m3u,Recherche d'un *.m3u,Sélectionner)
- blind.edit $gettok($$hget(BlindEdits,3),1-5,32) %f
- }
- elseif (%id == 2) {
- if ($remove($gettok($hget(BlindEdits,3),6-,32),$chr(124))) {
- var %f = $ifmatch
- if ((!$exists(%f)) || (!$regex(%f,\.m3u$))) drawtext -nr @Blind 0 Tahoma 12 125 345 Erreur : le fichier n'existe pas ou son extension n'est pas .m3u !
- else {
- writeini -n Config.ini Blind File %f
- blind.menu.do blind.start
- }
- }
- }
- elseif (%id == 3) {
- hadd -m Blind EditSel 3
- if (!$timer(blind.edit)) blind.chariot
- }
- elseif (%id == 4) blind.start.test
- elseif (%id == 5) blind.start.end
- elseif (%id == 6) {
- hadd -m Blind EditSel 6
- if (!$timer(blind.edit)) blind.chariot
- }
- elseif (%id == 7) blind.start.ok
- elseif (%id == 8) {
- if (!$hget(Blind,Titre)) return
- hinc -m Blind Indice
- var %o = $regsubex($replace($hget(Blind,Titre),$chr(40),<,$chr(41),>,$+($chr(32),-,$chr(32)),¥),/(<[^>]+>)/g,)
- var %a = $replace($gettok(%o,1,165),$chr(165),$+($chr(32),-,$chr(32))), %t = $replace($gettok(%o,2-,165),$chr(165),$+($chr(32),-,$chr(32)))
- var %c = $hget(Blind,Indice)
- if (((2 \\ %c) && (CG !isin $hget(Blind,Find))) || (T isin $hget(Blind,Find))) var %p = %a, %o = chanteur/groupe, %c = $calc(%c + 1)
- else var %p = %t, %o = titre
- if ($hget(Blind,Find)) var %c = $calc(%c * 4)
- var %l = $left(%p,$round(%c,0))
- blind.disp Voici le début du %o : %l
- if ($len(%l) >= %c) blind.score -0.05
- }
- elseif (%id == 9) {
- if (!$hget(Blind,Titre)) return
- blind.disp Il s'agissait de $hget(Blind,Titre)
- .blind.score -1
- blind.start.test
- }
- elseif (%id == 10) {
- var %q = $gettok(%res,2,32), %o = $gettok(T|CG T&CG T CG,%q,32)
- if (%o) writeini -n Config.ini Blind Réponses %o
- var %cg = chanteur/groupe, %t = titre, %a = Ne pas aider, %p = Pendu, %d = dès le début, %n = après une erreur
- var %l = $gettok($+($str($+(Aucune distinction¥Priorité au %t,¥Priorité au %cg,¥,%p,£),2),%a,¥Donner le %cg %d,¥Donner le %cg %n,¥,%p,£,%a,¥Donner le %t %d,¥Donner le %t %n,¥,%p),%q,163)
- var %nb = $iif($readini(Config.ini,Blind,%o),$ifmatch,1)
- blind.list 11 270 75 255 64 $puttok(%l,$+(!,$gettok(%l,%nb,165)),%nb,165)
- }
- elseif (%id == 11) {
- var %n = $gettok(%res,2,32), %o = $readini(Config.ini,Blind,Réponses)
- if (%o) writeini -n Config.ini Blind %o %n
- }
- elseif (%id == 12) blind.score set
- if ($window(@Blind)) drawdot @Blind
- }
- alias -l blind.subdraw {
- var %i = $3-, %t = $gettok(%i,1,32), %c = $eval($gettok(%i,2-,32),2), %g = $hget(Blind,SubmenuSel)
- if ((%g) && (%g != %t)) blind.submenu.redrawline $1 $2 %g $eval($gettok($gettok($hget(Blind,Submenu),5-,32),%g,45),2)
- if (%c) {
- if ($hget(Blind,Main) != $gettok($hget(Blind,$hget(Blind,SubmenuNom)),%t,165)) {
- hadd -m Blind SubmenuSel %t
- drawrect -frn @Blind 13731930 1 $calc($1 -1) $calc(17 + %t * 12 - 11) $2 12
- drawtext -rn @Blind 16445674 Tahoma 10 $1 $calc(17 + %t * 12 - 11) %c
- }
- }
- }
- alias -l blind.mouse {
- var %c
- if ($hget(Blind,Submenu)) {
- var %x = $1, %y = $2, %g = $hget(Blind,SubmenuSel)
- tokenize 32 $ifmatch
- if ($inrect(%x,%y,$1,$2,$3,$4)) {
- var %i = $blind.getsub(%y,$5-), %c = $eval($gettok(%i,2-,32),2)
- blind.subdraw $1 $3 %i
- }
- elseif (%g) blind.submenu.redrawline $1 $3 %g $eval($gettok($gettok($hget(Blind,Submenu),5-,32),%g,45),2)
- tokenize 32 %x %y
- }
- if ((!%c) && ($inrect($1,$2,0,0,600,15)) && ($hget(Blind,Open))) blind.checkmenu $1
- if ($blind.button(1,$1,$2)) noop
- elseif ($hget(BlindBF,0).item) {
- while $hget(BlindBF,1).item {
- var %h = $hget(BlindBF,$ifmatch)
- hdel BlindBF $ifmatch
- blind.button %h
- }
- }
- if ($blind.edit(1,$1,$2)) noop
- elseif ($hget(BlindEF,0).item) {
- while $hget(BlindEF,1).item {
- var %h = $hget(BlindEF,$ifmatch)
- hdel BlindEF $ifmatch
- blind.edit %h
- }
- }
- drawdot @Blind
- }
- ;*************
- ;Save & Backup
- ;*************
- alias -l blind.svg {
- if (!$window(@Blind)) return
- if (!$window(@Blind.copy)) window -BCdg0hk0npRz +d @Blind.copy -1 -1 600 400
- drawcopy @Blind 0 0 600 400 @Blind.copy 0 0 600 400
- }
- alias -l blind.backup {
- if (!$window(@Blind)) return
- if (!$window(@Blind.copy)) return
- if ($hget(Blind,Submenu)) hdel Blind Submenu
- if ($hget(Blind,MenuSel)) hdel Blind MenuSel
- if ($hget(Blind,Open)) hdel Blind Open
- drawcopy $iif($1,$1) @Blind.copy 0 0 600 400 @Blind 0 0 600 400
- }
- ;*************
- ;Blind Aliases
- ;*************
- ;ID
- alias -l blind.start {
- if (!$window(@Blind)) return
- var %f = $readini(Config.ini,Blind,File)
- if (($exists(%f)) && ($regex(%f,\.m3u$))) {
- drawtext -nr @Blind 0 Tahoma 12 20 375 Fichier de données : %f
- drawtext -nor @Blind 0 Tahoma 12 265 20 Ecran de jeu
- var %c = $readini(Config.ini,Blind,Réponses), %p = soit le titre, soit le chanteur/groupe
- if (%c == T&CG) var %p = le titre et le chanteur/groupe
- elseif (%c == T) var %p = le titre
- elseif (%c == CG) var %p = le chanteur/groupe
- if (!%c) writeini -n Config.ini Blind Réponses T|CG
- drawtext -nr @Blind 0 Tahoma 12 35 55 Le but du jeu est de trouver %p
- blind.button 4 90 305 100 20 $iif($hget(Blind,Titre),Musique suivante,Commencer)
- blind.button 5 410 305 100 20 Stopper
- blind.edit 6 50 75 420 20
- blind.button 7 475 75 80 20 Valider
- blind.button 8 90 345 100 20 Aide
- blind.button 9 410 345 100 20 Réponse
- blind.button 12 250 355 100 20 Remettre à zéro
- blind.score
- drawrect -nr @Blind 0 1 50 105 505 183
- drawrect -fnr @Blind 16777215 1 51 106 503 181
- }
- else blind.load
- }
- alias -l blind.score {
- if ($1 == set) {
- hadd -m Blind Score 0
- hadd -m Blind Total 0
- }
- else hadd -m Blind Score $calc($hget(Blind,Score) + $1)
- if ($hget(Blind,Main) != blind.start) return
- if (!$show) hinc -m Blind Total
- var %t = $round($hget(Blind,Score),2) pts en $hget(Blind,Total) $+(musique,$iif($hget(Blind,Total) > 1,s))
- drawrect -fnr @Blind 16770790 1 10 330 580 15
- drawtext -nr @Blind 0 Tahoma 12 $calc((600 - $width(%t,Tahoma,12))/2) 330 %t
- }
- alias -l blind.start.test {
- if (!$window(@Blind)) return
- splay stop
- var %k = $hget(Blind,Titre), %t = %k, %f = $readini(Config.ini,Blind,File), %l = $lines(%f), %b = 0
- if (%l <= 6) {
- blind.disp Veuillez mettre plus de musiques dans votre .m3u !
- blind.button 4 90 305 100 20 Arrêté
- }
- hadd -m BlindBF 4 90 305 100 20 Musique suivante
- if ($hget(Blind,Main) == blind.start) {
- blind.button 4 90 305 100 20 Musique suivante
- blind.disp Une musique vient de commencer
- }
- hadd -m Blind Indice 0
- drawdot @Blind
- if (!%k) blind.score set 0
- else .blind.score
- while (((%k == %t) || (!$exists(%d))) && (%b <= 50)) {
- var %r = $r(2,%l), %c = $read(%f,n,%r)
- if ($left(%c,7) != #EXTINF) { dec %r | var %d = %c, %c = $read(%f,n,%r), %t = $gettok(%c,2-,44) }
- else var %t = $gettok($read(%f,n,%r),2-,44), %d = $read(%f,n,$calc(%r +1))
- if ($left(%c,7) != #EXTINF) var %d, %t = %k
- inc %b
- }
- if (%b >= 50) {
- blind.disp Aucune musique possédant un tag n'a pu être trouvée en 50 essais.
- return
- }
- var %q = $readini(Config.ini,Blind,Réponses)
- hadd -m Blind Réponses %q
- write BlindTest.txt %t - %d
- hadd -m Blind Titre %t
- hadd -m Blind Zic $nopath(%d)
- if ($hget(Blind,Find)) hdel Blind Find
- if ($hget(Blind,Pendu2)) hdel Blind Pendu2
- if ($hget(Blind,Pendu)) hdel Blind Pendu
- var %o = $regsubex($replace($hget(Blind,Titre),$chr(40),<,$chr(41),>,$chr(91),<,$chr(93),>,$+($chr(32),-,$chr(32)),¥),/(<[^>]+>)/g,)
- var %a = $replace($gettok(%o,1,165),$chr(165),$+($chr(32),-,$chr(32))), %t = $replace($gettok(%o,2-,165),$chr(165),$+($chr(32),-,$chr(32)))
- if ($istok(T CG,%q,32)) {
- if (%q == T) {
- if ($readini(Config.ini,Blind,%q) == 2) blind.disp Le chanteur/groupe est %a
- hadd -m Blind Find CG
- }
- else {
- if ($readini(Config.ini,Blind,%q) == 2) blind.disp Le titre est %t
- hadd -m Blind Find T
- }
- }
- if ($readini(Config.ini,Blind,%q) == 4) {
- if (%q == T) hadd -m Blind Pendu %t
- elseif (%q == CG) hadd -m Blind Pendu %a
- else hadd -m Blind Pendu %a - %t
- var %r = $regsubex($hget(Blind,Pendu),/[a-z]/ig,_)
- blind.disp $regsubex(%r,/(_+)/g,$+($str(_,$len(\t)),$chr(40),$len(\t),$chr(41)))
- }
- splay $shortfn(%d)
- hadd -m Blind Ticks $ticks
- }
- alias -l blind.start.end {
- splay stop
- if ($hget(Blind,Titre)) hdel Blind Titre
- hadd -m BlindBF 4 90 305 100 20 Reprendre
- blind.button 4 90 305 100 20 Reprendre
- }
- alias -l blind.start.ok {
- if (!$window(@Blind)) return
- var %i = $hget(Blind,EditSel), %c = $hget(BlindEdits,%i), %e = $replace($remove($gettok(%c,6-,32),$chr(124)),$chr(165),$chr(32))
- hadd -m BlindEdits %i $gettok(%c,1-5,32) $chr(124)
- blind.edit $hget(BlindEdits,%i)
- if (%e) {
- var %o = $regsubex($replace($hget(Blind,Titre),$chr(40),<,$chr(41),>,$+($chr(32),-,$chr(32)),¥),/(<[^>]+>)/g,)
- var %a = $replace($gettok(%o,1,165),$chr(165),$+($chr(32),-,$chr(32))), %t = $replace($gettok(%o,2-,165),$chr(165),$+($chr(32),-,$chr(32)))
- var %q = $hget(Blind,Réponses), %x = $calc(($ticks - $hget(Blind,Ticks))/1000), %ticks = en $+($round(%x,2),s)
- var %sc = $calc(15 / (%x * ($hget(Blind,Indice) * 0.5 +1)))
- if ($hget(Blind,Pendu)) {
- if (%e isin $hget(Blind,Pendu)) {
- if ($hget(Blind,Pendu2)) var %r = $ifmatch
- else var %r = $replacex($regsubex($hget(Blind,Pendu),/[a-z]/ig,_),+,\+)
- var %p = $pos($hget(Blind,Pendu),%e,0)
- while %p {
- var %s = $calc($pos($hget(Blind,Pendu),%e,%p) -1), %m = $+(/^,$left(%r,%s),$chr(40),$str(.,$len(%e)),$chr(41),/i), %r = $regsubex(%r,%m,$+($left(%r,%s),%e))
- dec %p
- }
- if (%r != $hget(Blind,Pendu2)) {
- blind.disp Pendu : %r
- hadd -m Blind Pendu2 %r
- }
- if ($pos($hget(Blind,Pendu),_,0) == $pos(%r,_,0)) {
- blind.disp Bravo, vous avez réussi ce pendu !
- blind.disp Il s'agit de %a - %t
- blind.start.test
- .blind.score %sc
- }
- elseif ($hget(Blind,Réponses) == T|CG) {
- var %r = $replace($hget(Blind,Pendu2),$+($chr(32),-,$chr(32)),¥)
- var %a2 = $gettok(%r,1,165), %t2 = $replace($gettok(%r,2,165),2-,165),$chr(165),$+($chr(32),-,$chr(32))), %w
- if (%a2 == %a) {
- blind.disp Bravo, vous avez trouvé le chanteur/groupe %ticks
- if ($readini(Config.ini,Blind,%q) == 3) blind.score %sc
- var %w = 1
- }
- elseif (%t2 == %t) {
- if ($readini(Config.ini,Blind,%q) == 2) blind.score %sc
- blind.disp Bravo, vous avez trouvé le titre %ticks
- var %w = 1
- }
- if (%w) {
- blind.disp Il s'agit de %a - %t
- blind.start.test
- .blind.score %sc
- }
- }
- }
- }
- elseif (%q = T&CG) {
- if (%e isin %a) {
- if ((%e == %a) && (CG !isin $hget(Blind,Find))) {
- blind.disp Vous avez trouvé le chanteur/groupe %ticks
- if ($hget(Blind,Find)) {
- blind.disp Il s'agit de %a - %t
- blind.start.test
- .blind.score %sc
- }
- else {
- blind.score $iif($readini(Config.ini,Blind,%q) == 3),$calc(%sc *2),%sc)
- hadd -m Blind Find CG
- blind.disp Il vous reste encore le titre à trouver !
- }
- }
- else blind.disp Vous venez de trouver une partie du chanteur/groupe : %e
- }
- elseif ((%e isin %t) && (T !isin $hget(Blind,Find))) {
- if (%e == %t) {
- if ($hget(Blind,Find)) {
- blind.disp Bravo ! Vous avez trouvé le titre %ticks
- blind.disp Il s'agit de %a - %t
- .blind.score %sc
- blind.start.test
- }
- else {
- blind.score $iif($readini(Config.ini,Blind,%q) == 2),$calc(%sc *2),%sc)
- blind.score %sc
- blind.disp Il vous reste encore le chanteur/groupe à trouver !
- hadd -m Blind Find T
- }
- }
- else blind.disp Vous venez de trouver une partie du titre : %e
- }
- else {
- blind.disp %e n'est ni dans le titre, ni dans le nom du chanteur/groupe
- .blind.score
- }
- }
- elseif (%q == T) {
- if (%e == %t) {
- blind.disp Bravo ! Vous avez trouvé le titre : %t
- blind.disp Il s'agit de %a - %t
- .blind.score %sc
- blind.start.test
-
- }
- elseif (%e isin %t) blind.disp Vous avez trouvé une partie du titre : %e
- else blind.disp %e n'est pas dans le titre !
- if (!$hget(Blind,Find)) {
- hadd -m BlindFind CG
- if ($readini(Config.ini,Blind,OptionT) == 3) blind.disp Le chanteur/groupe est %a
- }
- }
- elseif (%q == CG) {
- if (%e == %a) {
- blind.disp Bravo ! Vous avez trouvé le chanteur/groupe : %a
- blind.disp Il s'agit de %a - %t
- .blind.score %sc
- blind.start.test
- }
- elseif (%e isin %a) blind.disp Vous avez trouvé une partie du chanteur/groupe : %e
- else blind.disp %e n'est pas dans le chanteur/groupe !
- if (!$hget(Blind,Find)) {
- hadd -m BlindFind T
- if ($readini(Config.ini,Blind,%q) == 3) blind.disp Le titre est %t
- }
- }
- else {
- if (%e isin %a) {
- if (%e == %a) {
- blind.disp Bravo ! Vous avez trouvé le chanteur/groupe : %a %ticks
- blind.disp Il s'agit de %a - %t
- blind.start.test
- .blind.score %sc
- }
- else blind.disp Vous venez de trouver une partie du chanteur/groupe : %e
- }
- elseif (%e isin %t) {
- if (%e == %t) {
- blind.disp Bravo ! Vous avez trouvé le titre : %t %ticks
- blind.disp Il s'agit de %a - %t
- .blind.score %sc
- blind.start.test
- }
- else blind.disp Vous venez de trouver une partie du titre : %e
- }
- else {
- blind.disp %e n'est ni dans le titre, ni dans le nom du chanteur/groupe
- .blind.score
- }
- }
- }
- drawdot @Blind
- }
- alias -l blind.load {
- if (!$window(@Blind)) return
- blind.button 1 470 195 100 20 Parcourir
- blind.button 2 250 235 100 20 Sélectionner
- blind.edit 3 50 195 415 20 $readini(Config.ini,Blind,File)
-
- drawtext -nr @Blind 0 Tahoma 12 178 100 Indiquez le chemin menant à un fichier .m3u
- drawtext -nr @Blind 0 Tahoma 12 191 120 Ce .m3u contient une liste de musiques
- drawtext -nr @Blind 0 Tahoma 12 54 140 Veuillez vous assurer que les Tags sont corrects (propres) avec un logiciel tel que Winamp
- }
- alias blind.config {
- if (!$window(@Blind)) return
- drawtext -nr @Blind 0 Tahoma 12 24 45 Quelle partie de la musique faut-il donner ou sous quelle forme ?
- var %o = $readini(Config.ini,Blind,Réponses)
- var %l = Titre ou Chanteur/Groupe¥Titre et Chanteur/Groupe¥Titre¥Chanteur/Groupe, %g = $iif($findtok(T|CG T&CG T CG,%o,1,32),$ifmatch,1)
- blind.list 10 40 75 155 64 $instok($deltok(%l,%g,165),$+(!,$gettok(%l,%g,165)),%g,165)
- var %cg = chanteur/groupe, %t = titre, %a = Ne pas aider, %p = Pendu, %d = dès le début, %n = après une erreur
- var %l = $gettok($+($str($+(Aucune distinction¥Priorité au %t,¥Priorité au %cg,¥,%p,£),2),%a,¥Donner le %cg %d,¥Donner le %cg %n,¥,%p,£,%a,¥Donner le %t %d,¥Donner le %t %n,¥,%p),%g,163)
- var %nb = $iif($readini(Config.ini,Blind,%o),$ifmatch,1)
- blind.list 11 270 75 255 64 $puttok(%l,$+(!,$gettok(%l,%nb,165)),%nb,165)
- drawtext -nr @Blind 0 Tahoma 12 137 255 Note : les changements s'opèreront à la prochaine musique
- }
- alias -l blind.help {
- if (!$window(@Blind)) return
- drawtext -nor @Blind 0 Tahoma 12 286 20 Aide
- var %o = drawtext -nr @Blind 0 Tahoma 12 40
- %o 50 Le BlindTest consiste à trouver le titre/chanteur/groupe des musiques en cours de lecture
- %o 70 Ce jeu nécessite un .m3u (c'est en fait une liste de musiques)
- %o 90 Pour en créer une, lancez Winamp (ou un autre logiciel de lecture de musiques)
- %o 110 Assurez vous que les tags sont bien remplis (et propre). Les _ sont déconseillés
- %o 130 Le jeu dépend de ces tags. Les réponses seront introuvables s'ils ne sont pas propres
- %o 150 Une fois votre liste prête, enregistrez la au format m3u et placez la dans votre dossier mIRC
- %o 170 S'il n'est pas dans votre dossier mIRC, quelques musiques pourraient être injouables
- %o 190 En effet, le chemin des musiques dépend de l'endroit où est enregistré le .m3u
- %o 210 Chargez le .m3u à l'aide de la PicWin puis configurez le jeu
- %o 230 Les différentes options permettent de pouvoir répondre ce que l'on veut à savoir :
- drawtext -nr @Blind 0 Tahoma 12 50 250 titre, artiste, les deux, un des deux
- %o 270 Un supplément est disponible en fonction du mode
- %o 290 Donner une priorité revient à accorder plus de points si l'on trouve le champ indiqué
- %o 310 Le pendu affiche le mot masqué, et fonctionne comme un vrai pendu
- %o 330 Vous pouvez donner des lettres mais aussi des mots entiers
- %o 370 Je vous souhaite bonne chance avec ce Blind Test :)
- }
- alias -l blind.credits {
- if (!$window(@Blind)) return
- drawtext -nor @Blind 0 Tahoma 12 272 20 A propos
- drawtext -nr @Blind 0 Tahoma 12 40 85 Jeu codé et imaginé par ArKanis (08/2006)
- drawtext -nr @Blind 0 Tahoma 12 40 105 Cette PicWin fait partie de l'add-on PicWins disponible avec Script-ArKanis
- drawtext -nr @Blind 0 Tahoma 12 40 125 Plus d'infos, codes, ... www.arkanis.eu
- drawtext -nr @Blind 0 Tahoma 12 40 165 Merci à mes testeurs Wims et Damon
- drawtext -pnr @Blind 0 Tahoma 12 40 205 Contact :
- drawtext -nr @Blind 0 Tahoma 12 50 225 Mail : arkanisfr@free.fr
- drawtext -nr @Blind 0 Tahoma 12 50 245 IRC : #arkanis @Quakenet
- drawtext -nr @Blind 0 Tahoma 12 40 285 Merci de me contacter si vous trouvez un bug
- drawtext -nr @Blind 0 Tahoma 12 40 305 N'hésitez pas à me contacter si vous avez des questions
- }
- ;****
- ;Draw
- ;****
- alias -l blind.button {
- if (!$window(@Blind)) return
- var %g = 1, %r = ^[0-9]+ [0-9]+ [0-9]+$
- if (!$regex($1-3,%r)) return
- if ($isid) {
- var %x = $2, %y = $3, %t = $hget(BlindButtons,0).item
- while %t {
- tokenize 32 $hget(BlindButtons,%t).data
- if ($inrect(%x,%y,$2,$3,$4,$5)) break
- dec %t
- }
- if (!%t) var %g = 0
- else hadd -m BlindBF $1 $1-
- }
- if (%g) {
- if (!$regex($3-5,%r)) return
- hadd -m BlindButtons $1 $1-
- drawrect -nr @Blind $iif($isid,0,16742520) 1 $2-5
- drawrect -fnr @Blind $iif($isid,16737380,16757940) 1 $calc($2 +1) $calc($3 +1) $calc($4 -2) $calc($5 -2)
- if ($6-) drawtext -nr @Blind $iif($isid,16777215,0) Tahoma 12 $calc($2 + ($4 - $width($6-,Tahoma,12))/2) $calc($3 + 3) $6-
- return $1
- }
- }
- alias -l blind.edit {
- if (!$window(@Blind)) return
- var %g = 1, %r = ^[0-9]+ [0-9]+ [0-9]+$, %o
- if (!$regex($1-3,%r)) return
- if ($isid) {
- var %x = $2, %y = $3, %t = $hget(BlindEdits,0).item
- while %t {
- tokenize 32 $hget(BlindEdits,%t).data
- if ($inrect(%x,%y,$2,$3,$4,$5)) break
- dec %t
- }
- if (!%t) var %g = 0
- else hadd -m BlindEF $1 $1-
- }
- if (%g) {
- if (!$regex($3-5,%r)) return
- hadd -m BlindEdits $1 $1-5 $iif($chr(124) !isin $6-,$+($6-,$chr(124)),$6-)
- if ($hget(BlindEF,$1)) var %o = 1
- drawrect -nr @Blind $iif(%o,0,16777215) 1 $2-5
- drawrect -fnr @Blind $iif(%o,16737380,16755370) 1 $calc($2 +1) $calc($3 +1) $calc($4 -2) $calc($5 -2)
- var %re = $replace($remove($6-,$chr(124)),$chr(165),$chr(32))
- if ((%re) && (%re != $chr(32))) drawtext -nr @Blind $iif(%o,16777215,0) Tahoma 12 $calc($2 +4) $calc($3 + 3) %re
- if (($isid) || ($show)) noop $blind.chariot($1)
- return $1
- }
- }
- alias -l blind.list {
- var %g = 1, %r = ^[0-9]+ [0-9]+ [0-9]+$, %o
- if (!$regex($1-3,%r)) return
- if ($isid) {
- var %x = $2, %y = $3, %t = $hget(BlindLists,0).item
- while %t {
- tokenize 32 $hget(BlindLists,%t).data
- if ($inrect(%x,%y,$2,$3,$4,$calc($5 -1))) break
- dec %t
- }
- if (!%t) var %g = 0
- else {
- var %li = $int($calc((%y -2 - $3) / 15 +1)), %l = $remove($6-,!), %g = 1
- tokenize 32 $1-5 $instok($deltok(%l,%li,165),$+(!,$gettok(%l,%li,165)),%li,165)
- if (%li <= 0) var %g = 0
- }
- }
- if (%g) {
- if (!$regex($3-5,%r)) return
- drawrect -nr @Blind 0 1 $2-5
- drawrect -fnr @Blind 16777215 1 $calc($2 +1) $calc($3 +1) $calc($4 -2) $calc($5 -2)
- hadd -m BlindLists $1 $1-
- var %y = $calc($3 +2), %my = $calc($3 + $5 +15), %l = $calc($4 -6), %x = $calc($2 +3), %id = $1
- tokenize 32 $6-
- var %t = 1, %m = $numtok($1-,165)
- while ((%t <= %m) && (%y <= %my)) {
- if ($gettok($1-,%t,165)) {
- var %q = $ifmatch
- if ($remove(%q,!)) {
- if (! isin %q) drawrect -fnr @Blind 16761024 1 $calc(%x - 2) $calc(%y -1) $calc(%l + 4) 17
- drawtext -cnr @Blind 0 Tahoma 12 %x %y %l 15 $remove(%q,!)
- }
- }
- inc %t
- inc %y 15
- }
- return %id %li
- }
- }
- alias -l blind.id {
- if ($blind.button(1,$$1,$$2)) return $ifmatch
- elseif ($blind.edit(1,$$1,$$2)) return $ifmatch
- else return $blind.list(1,$$1,$$2)
- }
- on *:keydown:@Blind:*:{
- if ($keyval == 27) {
- if ($hget(Blind,MenuSel)) blind.backup
- else blind.close
- return
- }
- if (!$hget(Blind,EditSel)) {
- if ($findtok(f o a,$keychar,1,32)) {
- var %n = $+(PosMenu,$ifmatch)
- if (!$hget(Blind,MenuSel)) {
- blind.svg
- hadd -m Blind MenuSel %n
- }
- if ($hget(Blind,MenuSel) != %n) {
- blind.backup -n
- hadd -m Blind MenuSel %n
- }
- blind.menu %n
- }
- elseif ($istok(37 39,$keyval,32)) {
- if ($hget(Blind,MenuSel)) {
- var %n = $calc($remove($hget(Blind,MenuSel),PosMenu) + $keyval - 38), %o = $+(PosMenu,%n), %m = $+(1-,$numtok($hget(Blind,Menu),165))
- if (%n isnum %m) {
- blind.backup -n
- hadd -m Blind MenuSel %o
- blind.menu %o
- }
- }
- else {
- blind.svg
- var %o = $+(PosMenu,$abs($calc($keyval - 40)))
- hadd -m Blind MenuSel %o
- blind.menu %o
- }
- }
- elseif ($istok(38 40,$keyval,32)) {
- if (!$hget(Blind,Submenu)) return
- var %i = $calc($hget(Blind,SubmenuSel) + $calc($keyval - 39))
- if (%i > $gettok($hget(Blind,$+(Menu,$remove($hget(Blind,MenuSel),PosMenu))),0,45)) var %i = $v2
- elseif (%i < 1) var %i = 1
- blind.subdraw $gettok($hget(Blind,Submenu),1,32) $gettok($hget(Blind,Submenu),3,32) %i $gettok($gettok($hget(Blind,Submenu),5-,32),%i,45)
- hadd -m Blind SubmenuSel %i
- }
- elseif ($keyval == 13) {
- tokenize 32 $hget(Blind,Submenu)
- var %t = $hget(Blind,SubmenuSel)
- if (!%t) return
- blind.backup -n
- if ($hget(Blind,Main) != $gettok($hget(Blind,$hget(Blind,SubmenuNom)),%t,165)) .timer -h 1 100 blind.menu.do $v2
- drawdot @Blind
- }
- drawdot @Blind
- return
- }
- if ($istok(9,$keyval,32)) return
- var %e = $hget(Blind,EditSel)
- if (($hget(Blind,MenuSel)) || (!%e)) return
- tokenize 32 $hget(BlindEdits,%e)
- var %h = hadd -m BlindEdits %e $1-5
- if ($keyval == 221) hadd -m Blind Remember $iif($mouse.key & 4,¨,^)
- elseif ($keyval == 13) $+($hget(Blind,Main),.ok) $remove($6-,$chr(124))
- elseif ($hget(Blind,EditSel)) {
- if ($keyval == 8) {
- if ($left($6-,1) == $chr(124)) return
- else %h $+($left($gettok($6-,1,124),-1),$chr(124),$gettok($6-,2,124))
- }
- elseif ($keyval == 46) {
- if ($left($6-,1) == $chr(124)) %h $replace($+($chr(124),$right($6-,-2)),$chr(32),$chr(165))
- else %h $replace($+($gettok($6-,1,124),$chr(124),$right($gettok($6-,2,124),-1)),$chr(32),$chr(165))
- }
- elseif ($istok(37 39,$keyval,32)) {
- var %p = $calc($pos($6-,$chr(124)) $iif($keyval == 37,-2)), %c = $remove($6-,$chr(124))
- if (($keyval == 37) && (%p == 0)) %h $replace($+($chr(124),%c),$chr(32),$chr(165))
- elseif (%p < 0) return
- else %h $replace($+($left(%c,%p),$chr(124),$right(%c,$+(-,%p))),$chr(32),$chr(165))
- }
- elseif ($keyval == 35) %h $replace($+($remove($6-,$chr(124)),$chr(124)),$chr(32),$chr(165))
- elseif ($keyval == 36) %h $replace($+($chr(124),$remove($6-,$chr(124))),$chr(32),$chr(165))
- elseif ($keychar != $null) {
- var %a = $keychar
- if ($istok(¨-^,$hget(Blind,Remember),45)) {
- var %b = $findtok(a-e-i-o-u,$keychar,45)
- if (%b) {
- if ($hget(Blind,Remember) == ¨) var %l = ä-ë-ï-ö-ü
- else var %l = â-ê-î-ô-û
- var %a = $gettok(%l,%b,45)
- }
- }
- if ($hget(Blind,Remember)) hdel Blind Remember
- if ($left($6-,1) == $chr(124)) %h $replace($+(%a,$chr(124),$gettok($6-,1,124)),$chr(32),$chr(165))
- else %h $replace($+($gettok($6-,1,124),%a,$chr(124),$gettok($6-,2,124)),$chr(32),$chr(165))
- }
- else return
- hadd -m Blind Temp 1
- blind.edit $hget(BlindEdits,%e)
- drawdot @Blind
- }
- }
- alias -l blind.chariot {
- if (($window(@Blind)) && ($hget(Blind,EditSel))) {
- var %i = $ifmatch, %e = $hget(BlindEdits,%i)
- if (!$isid) {
- .timerblind.edit -m 1 500 blind.chariot
- hinc -m Blind Temp
- var %o = $hget(Blind,Temp)
- }
- else var %o = $iif($hget(Blind,Temp),1,9)
- .blind.edit $hget(BlindEdits,$hget(Blind,EditSel))
- if (%o <= 1) {
- tokenize 32 %e
- var %b = $6-, %p = $pos(%b,$chr(124))
- if (%p) var %x = $calc($2 -1 + $width($left($replace(%b,$chr(165),$chr(32)),$calc(%p)),Tahoma,12))
- else var %x = $calc($2 +4)
- drawline -nr @Blind $iif($hget(BlindEF,%i),16777215,0) 1 %x $calc($3 + 3) %x $calc($3 + $5 -3)
- }
- else hadd -m Blind Temp 0
- drawdot @Blind
- }
- else {
- .timerblind.edit off
- hadd -m Blind Temp 0
- }
- }
- alias -l blind.disp {
- if (!$window(@Blind)) return
- if ($hget(Blind,Main) != blind.start) return
- drawcopy -n @Blind 51 121 503 168 @Blind 51 106
- drawrect -fnr @Blind 16777215 1 51 271 503 16
- drawtext -cpnr @Blind 0 Tahoma 12 53 272 501 20 $$1-
- }
- on *:MP3END:{
- if (($window(@Blind)) && ($hget(Blind,Titre))) {
- blind.disp Il s'agissait de $hget(Blind,Titre)
- .blind.score
- blind.start.test
- }
- }
;**********
;Blind Test
;By ArKanis
;arkanis.eu
; V1.0
;**********
alias blindtest {
if ($1 == uninstall) {
if ($exists(BlindTest.txt)) .remove BlindTest.txt
if ($window(@Blind)) blind.close
else blind.freehash
remini Config.ini Blind
if (!$ini(Config.ini,0)) .remove Config.ini
echo -a Vous pouvez désormais décharger le code en tapant /unload -rs $qt($script)
}
elseif ($window(@Blind)) window -a @Blind
else {
if ($hget(Blind)) hfree Blind
window -aBCdg0k0pRz +dl @Blind -1 -1 600 400
drawrect -nr @Blind 0 1 0 0 600 400
hadd -m Blind Menu1 Fichier£Jouer-Charger une playlist-Fermer
hadd -m Blind Menu2 Options£Que répondre ?
hadd -m Blind Menu3 Aide£Comment jouer ?-A propos
blind.drawmenu $+(Fichier:,$hget(Blind,Menu1),¥Options:,$hget(Blind,Menu2),¥Aide:,$hget(Blind,Menu3))
hadd -m Blind Fichier blind.start¥blind.load¥blind.close
hadd -m Blind Options blind.config
hadd -m Blind Aide blind.help¥blind.credits
blind.menu.do blind.start
drawdot @Blind
}
}
alias -l blind.clear drawrect -fnr @Blind 16770790 1 1 16 598 383
;*****
;Close
;*****
on *:close:@Blind:{
if (($hget(Blind,Titre)) && (!$?!="Laisser la musique en cours ?")) splay stop
blind.freehash
}
alias -l blind.close {
if ($window(@Blind)) window -c @Blind
if ($window(@Blind.copy)) window -c @Blind.copy
if (($hget(Blind,Titre)) && (!$?!="Laisser la musique en cours ?")) splay stop
blind.freehash
}
alias -l blind.freehash {
var %l = $iif($1-,$1-,Blind BlindButtons BlindBF BlindEdits BlindEF BlindTest), %t = $numtok(%l,32)
while %t {
if ($hget($gettok(%l,%t,32))) hfree $ifmatch
dec %t
}
}
;****
;Menu
;****
menu @Blind {
sclick:blind.sclick $mouse.x $mouse.y
mouse:blind.mouse $mouse.x $mouse.y
Fermer:blind.close
}
alias -l blind.drawmenu {
if (!$window(@Blind)) return
drawrect -frn @Blind 16761024 1 1 1 598 15
drawline -nr @Blind 16728128 1 1 15 599 15
var %t = 1, %m = $numtok($1-,165), %x = 6
hadd -m Blind Menu $1-
while %t <= %m {
var %q = $gettok($1-,%t,165), %e = $gettok(%q,2-,58), %p = %x, %z = $gettok(%q,1,58)
if (!%e) var %z = $strip(%z)
drawtext -pnr @Blind $iif(%e,0,8421504) Tahoma 10 %x 2 %z
inc %x $calc($width($strip(%z),Tahoma,10) + 10)
hadd -m Blind $+(PosMenu,%t) $+(%p,-,%x)
inc %t
}
drawtext -nr @Blind 0 Tahoma 10 550 2 Blind Test
}
alias -l blind.menu {
if (!$1) return
var %h = $1-, %px = $hget(Blind,%h), %a = $hget(Blind,$remove(%h,Pos)), %x = $gettok(%px,1,45)
if ((!%a) || (!%x)) return
if ($hget(Blind ,SubmenuSel)) hdel Blind SubmenuSel
hadd -m Blind SubmenuNom $strip($gettok(%a,1,163))
var %ch = $gettok(%a,2-,163), %m = $gettok(%ch,0,45), %t = 1 ,%mpx = 0, %py = $calc(%m * 12 +5)
while %t <= %m {
if ($width($eval($gettok(%ch,%t,45),2),Tahoma,10) > %mpx) var %mpx = $ifmatch
inc %t
}
if (%mpx) {
inc %mpx 8
drawrect -rn @Blind 10961427 1 $calc(%x -3) 15 %mpx %py
drawrect -frn @Blind 16768192 1 $calc(%x -2) 16 $calc(%mpx -2) $calc(%py -2)
var %t = 1, %y = 18
while %t <= %m {
var %co = $iif($hget(Blind,Main) == $gettok($hget(Blind,$hget(Blind,SubmenuNom)),%t,165),8421504,0)
drawtext -nr @Blind %co Tahoma 10 %x %y $eval($gettok(%ch,%t,45),2)
inc %y 12
inc %t
}
hadd -m Blind Submenu %x 15 $calc(%mpx -4) $calc(%py -5) %ch
}
}
alias -l blind.checkmenu {
if (!$1) return
var %t = 1, %m = $hmatch(Blind,PosMenu*,0).item
while %t <= %m {
var %h = $hmatch(Blind,PosMenu*,%t).item, %px = $hget(Blind,%h)
if ($1 isnum %px) {
if (!$hget(Blind,MenuSel)) { blind.svg | hadd -m Blind MenuSel %h }
elseif ($hget(Blind,MenuSel) != %h) { blind.backup -n | hadd -m Blind MenuSel %h }
else return
hadd -m Blind Open 1
blind.menu %h
.break
}
inc %t
}
}
alias -l blind.menu.do {
if ($hget(Blind,Open)) hdel Blind Open
if ($hget(Blind,Submenu)) hdel Blind Submenu
if ($hget(Blind,MenuSel)) hdel Blind MenuSel
blind.freehash BlindButtons BlindBF BlindEdits BlindEF BlindLists
blind.clear
hadd -m Blind Main $1-
if ($1) $1-
if ($window(@Blind)) drawdot @Blind
}
;*******
;Submenu
;*******
alias -l blind.getsub {
if (!$2) return
var %y = 17, %t = 0
while %y < $1 {
inc %y 12
inc %t
}
if ((%t > $numtok($2,45)) || (!%t)) return
return %t $gettok($2,%t,45)
}
alias -l blind.submenu.redrawline {
if (!$4) return
if ($hget(Blind,Main) != $gettok($hget(Blind,$hget(Blind,SubmenuNom)),$3,165)) {
drawrect -frn @Blind 16768192 1 $calc($1 -1) $calc(17 + $3 * 12 - 11) $2 12
drawtext -rn @Blind 0 Tahoma 10 $1 $calc(17 + $3 * 12 - 11) $4-
}
hdel Blind SubmenuSel
}
;***************
;Sclick & Events
;***************
alias -l blind.sclick {
var %c
if ($hget(Blind,Submenu)) {
var %x = $1, %y = $2
tokenize 32 $ifmatch
if ($inrect(%x,%y,$1,$2,$3,$4)) {
var %i = $blind.getsub(%y,$5-), %t = $gettok(%i,1,32), %c = 1
if ((%c) && (%t)) blind.menu.do $gettok($hget(Blind,$hget(Blind,SubmenuNom)),%t,165)
}
elseif (!$inrect($1,$2,0,0,600,15)) blind.backup -n
tokenize 32 %x %y
}
if ((!%c) && ($inrect($1,$2,0,0,600,15))) blind.checkmenu $1
if (!$blind.edit(1,$1,$2)) {
if ($hget(Blind,EditSel)) {
.blind.edit $hget(BlindEdits,$ifmatch)
hdel Blind EditSel
}
}
var %res = $blind.id($1,$2), %id = $gettok(%res,1,32)
if (%id == 1) {
var %f = $sfile($mircdir *.m3u,Recherche d'un *.m3u,Sélectionner)
blind.edit $gettok($$hget(BlindEdits,3),1-5,32) %f
}
elseif (%id == 2) {
if ($remove($gettok($hget(BlindEdits,3),6-,32),$chr(124))) {
var %f = $ifmatch
if ((!$exists(%f)) || (!$regex(%f,\.m3u$))) drawtext -nr @Blind 0 Tahoma 12 125 345 Erreur : le fichier n'existe pas ou son extension n'est pas .m3u !
else {
writeini -n Config.ini Blind File %f
blind.menu.do blind.start
}
}
}
elseif (%id == 3) {
hadd -m Blind EditSel 3
if (!$timer(blind.edit)) blind.chariot
}
elseif (%id == 4) blind.start.test
elseif (%id == 5) blind.start.end
elseif (%id == 6) {
hadd -m Blind EditSel 6
if (!$timer(blind.edit)) blind.chariot
}
elseif (%id == 7) blind.start.ok
elseif (%id == 8) {
if (!$hget(Blind,Titre)) return
hinc -m Blind Indice
var %o = $regsubex($replace($hget(Blind,Titre),$chr(40),<,$chr(41),>,$+($chr(32),-,$chr(32)),¥),/(<[^>]+>)/g,)
var %a = $replace($gettok(%o,1,165),$chr(165),$+($chr(32),-,$chr(32))), %t = $replace($gettok(%o,2-,165),$chr(165),$+($chr(32),-,$chr(32)))
var %c = $hget(Blind,Indice)
if (((2 \\ %c) && (CG !isin $hget(Blind,Find))) || (T isin $hget(Blind,Find))) var %p = %a, %o = chanteur/groupe, %c = $calc(%c + 1)
else var %p = %t, %o = titre
if ($hget(Blind,Find)) var %c = $calc(%c * 4)
var %l = $left(%p,$round(%c,0))
blind.disp Voici le début du %o : %l
if ($len(%l) >= %c) blind.score -0.05
}
elseif (%id == 9) {
if (!$hget(Blind,Titre)) return
blind.disp Il s'agissait de $hget(Blind,Titre)
.blind.score -1
blind.start.test
}
elseif (%id == 10) {
var %q = $gettok(%res,2,32), %o = $gettok(T|CG T&CG T CG,%q,32)
if (%o) writeini -n Config.ini Blind Réponses %o
var %cg = chanteur/groupe, %t = titre, %a = Ne pas aider, %p = Pendu, %d = dès le début, %n = après une erreur
var %l = $gettok($+($str($+(Aucune distinction¥Priorité au %t,¥Priorité au %cg,¥,%p,£),2),%a,¥Donner le %cg %d,¥Donner le %cg %n,¥,%p,£,%a,¥Donner le %t %d,¥Donner le %t %n,¥,%p),%q,163)
var %nb = $iif($readini(Config.ini,Blind,%o),$ifmatch,1)
blind.list 11 270 75 255 64 $puttok(%l,$+(!,$gettok(%l,%nb,165)),%nb,165)
}
elseif (%id == 11) {
var %n = $gettok(%res,2,32), %o = $readini(Config.ini,Blind,Réponses)
if (%o) writeini -n Config.ini Blind %o %n
}
elseif (%id == 12) blind.score set
if ($window(@Blind)) drawdot @Blind
}
alias -l blind.subdraw {
var %i = $3-, %t = $gettok(%i,1,32), %c = $eval($gettok(%i,2-,32),2), %g = $hget(Blind,SubmenuSel)
if ((%g) && (%g != %t)) blind.submenu.redrawline $1 $2 %g $eval($gettok($gettok($hget(Blind,Submenu),5-,32),%g,45),2)
if (%c) {
if ($hget(Blind,Main) != $gettok($hget(Blind,$hget(Blind,SubmenuNom)),%t,165)) {
hadd -m Blind SubmenuSel %t
drawrect -frn @Blind 13731930 1 $calc($1 -1) $calc(17 + %t * 12 - 11) $2 12
drawtext -rn @Blind 16445674 Tahoma 10 $1 $calc(17 + %t * 12 - 11) %c
}
}
}
alias -l blind.mouse {
var %c
if ($hget(Blind,Submenu)) {
var %x = $1, %y = $2, %g = $hget(Blind,SubmenuSel)
tokenize 32 $ifmatch
if ($inrect(%x,%y,$1,$2,$3,$4)) {
var %i = $blind.getsub(%y,$5-), %c = $eval($gettok(%i,2-,32),2)
blind.subdraw $1 $3 %i
}
elseif (%g) blind.submenu.redrawline $1 $3 %g $eval($gettok($gettok($hget(Blind,Submenu),5-,32),%g,45),2)
tokenize 32 %x %y
}
if ((!%c) && ($inrect($1,$2,0,0,600,15)) && ($hget(Blind,Open))) blind.checkmenu $1
if ($blind.button(1,$1,$2)) noop
elseif ($hget(BlindBF,0).item) {
while $hget(BlindBF,1).item {
var %h = $hget(BlindBF,$ifmatch)
hdel BlindBF $ifmatch
blind.button %h
}
}
if ($blind.edit(1,$1,$2)) noop
elseif ($hget(BlindEF,0).item) {
while $hget(BlindEF,1).item {
var %h = $hget(BlindEF,$ifmatch)
hdel BlindEF $ifmatch
blind.edit %h
}
}
drawdot @Blind
}
;*************
;Save & Backup
;*************
alias -l blind.svg {
if (!$window(@Blind)) return
if (!$window(@Blind.copy)) window -BCdg0hk0npRz +d @Blind.copy -1 -1 600 400
drawcopy @Blind 0 0 600 400 @Blind.copy 0 0 600 400
}
alias -l blind.backup {
if (!$window(@Blind)) return
if (!$window(@Blind.copy)) return
if ($hget(Blind,Submenu)) hdel Blind Submenu
if ($hget(Blind,MenuSel)) hdel Blind MenuSel
if ($hget(Blind,Open)) hdel Blind Open
drawcopy $iif($1,$1) @Blind.copy 0 0 600 400 @Blind 0 0 600 400
}
;*************
;Blind Aliases
;*************
;ID
alias -l blind.start {
if (!$window(@Blind)) return
var %f = $readini(Config.ini,Blind,File)
if (($exists(%f)) && ($regex(%f,\.m3u$))) {
drawtext -nr @Blind 0 Tahoma 12 20 375 Fichier de données : %f
drawtext -nor @Blind 0 Tahoma 12 265 20 Ecran de jeu
var %c = $readini(Config.ini,Blind,Réponses), %p = soit le titre, soit le chanteur/groupe
if (%c == T&CG) var %p = le titre et le chanteur/groupe
elseif (%c == T) var %p = le titre
elseif (%c == CG) var %p = le chanteur/groupe
if (!%c) writeini -n Config.ini Blind Réponses T|CG
drawtext -nr @Blind 0 Tahoma 12 35 55 Le but du jeu est de trouver %p
blind.button 4 90 305 100 20 $iif($hget(Blind,Titre),Musique suivante,Commencer)
blind.button 5 410 305 100 20 Stopper
blind.edit 6 50 75 420 20
blind.button 7 475 75 80 20 Valider
blind.button 8 90 345 100 20 Aide
blind.button 9 410 345 100 20 Réponse
blind.button 12 250 355 100 20 Remettre à zéro
blind.score
drawrect -nr @Blind 0 1 50 105 505 183
drawrect -fnr @Blind 16777215 1 51 106 503 181
}
else blind.load
}
alias -l blind.score {
if ($1 == set) {
hadd -m Blind Score 0
hadd -m Blind Total 0
}
else hadd -m Blind Score $calc($hget(Blind,Score) + $1)
if ($hget(Blind,Main) != blind.start) return
if (!$show) hinc -m Blind Total
var %t = $round($hget(Blind,Score),2) pts en $hget(Blind,Total) $+(musique,$iif($hget(Blind,Total) > 1,s))
drawrect -fnr @Blind 16770790 1 10 330 580 15
drawtext -nr @Blind 0 Tahoma 12 $calc((600 - $width(%t,Tahoma,12))/2) 330 %t
}
alias -l blind.start.test {
if (!$window(@Blind)) return
splay stop
var %k = $hget(Blind,Titre), %t = %k, %f = $readini(Config.ini,Blind,File), %l = $lines(%f), %b = 0
if (%l <= 6) {
blind.disp Veuillez mettre plus de musiques dans votre .m3u !
blind.button 4 90 305 100 20 Arrêté
}
hadd -m BlindBF 4 90 305 100 20 Musique suivante
if ($hget(Blind,Main) == blind.start) {
blind.button 4 90 305 100 20 Musique suivante
blind.disp Une musique vient de commencer
}
hadd -m Blind Indice 0
drawdot @Blind
if (!%k) blind.score set 0
else .blind.score
while (((%k == %t) || (!$exists(%d))) && (%b <= 50)) {
var %r = $r(2,%l), %c = $read(%f,n,%r)
if ($left(%c,7) != #EXTINF) { dec %r | var %d = %c, %c = $read(%f,n,%r), %t = $gettok(%c,2-,44) }
else var %t = $gettok($read(%f,n,%r),2-,44), %d = $read(%f,n,$calc(%r +1))
if ($left(%c,7) != #EXTINF) var %d, %t = %k
inc %b
}
if (%b >= 50) {
blind.disp Aucune musique possédant un tag n'a pu être trouvée en 50 essais.
return
}
var %q = $readini(Config.ini,Blind,Réponses)
hadd -m Blind Réponses %q
write BlindTest.txt %t - %d
hadd -m Blind Titre %t
hadd -m Blind Zic $nopath(%d)
if ($hget(Blind,Find)) hdel Blind Find
if ($hget(Blind,Pendu2)) hdel Blind Pendu2
if ($hget(Blind,Pendu)) hdel Blind Pendu
var %o = $regsubex($replace($hget(Blind,Titre),$chr(40),<,$chr(41),>,$chr(91),<,$chr(93),>,$+($chr(32),-,$chr(32)),¥),/(<[^>]+>)/g,)
var %a = $replace($gettok(%o,1,165),$chr(165),$+($chr(32),-,$chr(32))), %t = $replace($gettok(%o,2-,165),$chr(165),$+($chr(32),-,$chr(32)))
if ($istok(T CG,%q,32)) {
if (%q == T) {
if ($readini(Config.ini,Blind,%q) == 2) blind.disp Le chanteur/groupe est %a
hadd -m Blind Find CG
}
else {
if ($readini(Config.ini,Blind,%q) == 2) blind.disp Le titre est %t
hadd -m Blind Find T
}
}
if ($readini(Config.ini,Blind,%q) == 4) {
if (%q == T) hadd -m Blind Pendu %t
elseif (%q == CG) hadd -m Blind Pendu %a
else hadd -m Blind Pendu %a - %t
var %r = $regsubex($hget(Blind,Pendu),/[a-z]/ig,_)
blind.disp $regsubex(%r,/(_+)/g,$+($str(_,$len(\t)),$chr(40),$len(\t),$chr(41)))
}
splay $shortfn(%d)
hadd -m Blind Ticks $ticks
}
alias -l blind.start.end {
splay stop
if ($hget(Blind,Titre)) hdel Blind Titre
hadd -m BlindBF 4 90 305 100 20 Reprendre
blind.button 4 90 305 100 20 Reprendre
}
alias -l blind.start.ok {
if (!$window(@Blind)) return
var %i = $hget(Blind,EditSel), %c = $hget(BlindEdits,%i), %e = $replace($remove($gettok(%c,6-,32),$chr(124)),$chr(165),$chr(32))
hadd -m BlindEdits %i $gettok(%c,1-5,32) $chr(124)
blind.edit $hget(BlindEdits,%i)
if (%e) {
var %o = $regsubex($replace($hget(Blind,Titre),$chr(40),<,$chr(41),>,$+($chr(32),-,$chr(32)),¥),/(<[^>]+>)/g,)
var %a = $replace($gettok(%o,1,165),$chr(165),$+($chr(32),-,$chr(32))), %t = $replace($gettok(%o,2-,165),$chr(165),$+($chr(32),-,$chr(32)))
var %q = $hget(Blind,Réponses), %x = $calc(($ticks - $hget(Blind,Ticks))/1000), %ticks = en $+($round(%x,2),s)
var %sc = $calc(15 / (%x * ($hget(Blind,Indice) * 0.5 +1)))
if ($hget(Blind,Pendu)) {
if (%e isin $hget(Blind,Pendu)) {
if ($hget(Blind,Pendu2)) var %r = $ifmatch
else var %r = $replacex($regsubex($hget(Blind,Pendu),/[a-z]/ig,_),+,\+)
var %p = $pos($hget(Blind,Pendu),%e,0)
while %p {
var %s = $calc($pos($hget(Blind,Pendu),%e,%p) -1), %m = $+(/^,$left(%r,%s),$chr(40),$str(.,$len(%e)),$chr(41),/i), %r = $regsubex(%r,%m,$+($left(%r,%s),%e))
dec %p
}
if (%r != $hget(Blind,Pendu2)) {
blind.disp Pendu : %r
hadd -m Blind Pendu2 %r
}
if ($pos($hget(Blind,Pendu),_,0) == $pos(%r,_,0)) {
blind.disp Bravo, vous avez réussi ce pendu !
blind.disp Il s'agit de %a - %t
blind.start.test
.blind.score %sc
}
elseif ($hget(Blind,Réponses) == T|CG) {
var %r = $replace($hget(Blind,Pendu2),$+($chr(32),-,$chr(32)),¥)
var %a2 = $gettok(%r,1,165), %t2 = $replace($gettok(%r,2,165),2-,165),$chr(165),$+($chr(32),-,$chr(32))), %w
if (%a2 == %a) {
blind.disp Bravo, vous avez trouvé le chanteur/groupe %ticks
if ($readini(Config.ini,Blind,%q) == 3) blind.score %sc
var %w = 1
}
elseif (%t2 == %t) {
if ($readini(Config.ini,Blind,%q) == 2) blind.score %sc
blind.disp Bravo, vous avez trouvé le titre %ticks
var %w = 1
}
if (%w) {
blind.disp Il s'agit de %a - %t
blind.start.test
.blind.score %sc
}
}
}
}
elseif (%q = T&CG) {
if (%e isin %a) {
if ((%e == %a) && (CG !isin $hget(Blind,Find))) {
blind.disp Vous avez trouvé le chanteur/groupe %ticks
if ($hget(Blind,Find)) {
blind.disp Il s'agit de %a - %t
blind.start.test
.blind.score %sc
}
else {
blind.score $iif($readini(Config.ini,Blind,%q) == 3),$calc(%sc *2),%sc)
hadd -m Blind Find CG
blind.disp Il vous reste encore le titre à trouver !
}
}
else blind.disp Vous venez de trouver une partie du chanteur/groupe : %e
}
elseif ((%e isin %t) && (T !isin $hget(Blind,Find))) {
if (%e == %t) {
if ($hget(Blind,Find)) {
blind.disp Bravo ! Vous avez trouvé le titre %ticks
blind.disp Il s'agit de %a - %t
.blind.score %sc
blind.start.test
}
else {
blind.score $iif($readini(Config.ini,Blind,%q) == 2),$calc(%sc *2),%sc)
blind.score %sc
blind.disp Il vous reste encore le chanteur/groupe à trouver !
hadd -m Blind Find T
}
}
else blind.disp Vous venez de trouver une partie du titre : %e
}
else {
blind.disp %e n'est ni dans le titre, ni dans le nom du chanteur/groupe
.blind.score
}
}
elseif (%q == T) {
if (%e == %t) {
blind.disp Bravo ! Vous avez trouvé le titre : %t
blind.disp Il s'agit de %a - %t
.blind.score %sc
blind.start.test
}
elseif (%e isin %t) blind.disp Vous avez trouvé une partie du titre : %e
else blind.disp %e n'est pas dans le titre !
if (!$hget(Blind,Find)) {
hadd -m BlindFind CG
if ($readini(Config.ini,Blind,OptionT) == 3) blind.disp Le chanteur/groupe est %a
}
}
elseif (%q == CG) {
if (%e == %a) {
blind.disp Bravo ! Vous avez trouvé le chanteur/groupe : %a
blind.disp Il s'agit de %a - %t
.blind.score %sc
blind.start.test
}
elseif (%e isin %a) blind.disp Vous avez trouvé une partie du chanteur/groupe : %e
else blind.disp %e n'est pas dans le chanteur/groupe !
if (!$hget(Blind,Find)) {
hadd -m BlindFind T
if ($readini(Config.ini,Blind,%q) == 3) blind.disp Le titre est %t
}
}
else {
if (%e isin %a) {
if (%e == %a) {
blind.disp Bravo ! Vous avez trouvé le chanteur/groupe : %a %ticks
blind.disp Il s'agit de %a - %t
blind.start.test
.blind.score %sc
}
else blind.disp Vous venez de trouver une partie du chanteur/groupe : %e
}
elseif (%e isin %t) {
if (%e == %t) {
blind.disp Bravo ! Vous avez trouvé le titre : %t %ticks
blind.disp Il s'agit de %a - %t
.blind.score %sc
blind.start.test
}
else blind.disp Vous venez de trouver une partie du titre : %e
}
else {
blind.disp %e n'est ni dans le titre, ni dans le nom du chanteur/groupe
.blind.score
}
}
}
drawdot @Blind
}
alias -l blind.load {
if (!$window(@Blind)) return
blind.button 1 470 195 100 20 Parcourir
blind.button 2 250 235 100 20 Sélectionner
blind.edit 3 50 195 415 20 $readini(Config.ini,Blind,File)
drawtext -nr @Blind 0 Tahoma 12 178 100 Indiquez le chemin menant à un fichier .m3u
drawtext -nr @Blind 0 Tahoma 12 191 120 Ce .m3u contient une liste de musiques
drawtext -nr @Blind 0 Tahoma 12 54 140 Veuillez vous assurer que les Tags sont corrects (propres) avec un logiciel tel que Winamp
}
alias blind.config {
if (!$window(@Blind)) return
drawtext -nr @Blind 0 Tahoma 12 24 45 Quelle partie de la musique faut-il donner ou sous quelle forme ?
var %o = $readini(Config.ini,Blind,Réponses)
var %l = Titre ou Chanteur/Groupe¥Titre et Chanteur/Groupe¥Titre¥Chanteur/Groupe, %g = $iif($findtok(T|CG T&CG T CG,%o,1,32),$ifmatch,1)
blind.list 10 40 75 155 64 $instok($deltok(%l,%g,165),$+(!,$gettok(%l,%g,165)),%g,165)
var %cg = chanteur/groupe, %t = titre, %a = Ne pas aider, %p = Pendu, %d = dès le début, %n = après une erreur
var %l = $gettok($+($str($+(Aucune distinction¥Priorité au %t,¥Priorité au %cg,¥,%p,£),2),%a,¥Donner le %cg %d,¥Donner le %cg %n,¥,%p,£,%a,¥Donner le %t %d,¥Donner le %t %n,¥,%p),%g,163)
var %nb = $iif($readini(Config.ini,Blind,%o),$ifmatch,1)
blind.list 11 270 75 255 64 $puttok(%l,$+(!,$gettok(%l,%nb,165)),%nb,165)
drawtext -nr @Blind 0 Tahoma 12 137 255 Note : les changements s'opèreront à la prochaine musique
}
alias -l blind.help {
if (!$window(@Blind)) return
drawtext -nor @Blind 0 Tahoma 12 286 20 Aide
var %o = drawtext -nr @Blind 0 Tahoma 12 40
%o 50 Le BlindTest consiste à trouver le titre/chanteur/groupe des musiques en cours de lecture
%o 70 Ce jeu nécessite un .m3u (c'est en fait une liste de musiques)
%o 90 Pour en créer une, lancez Winamp (ou un autre logiciel de lecture de musiques)
%o 110 Assurez vous que les tags sont bien remplis (et propre). Les _ sont déconseillés
%o 130 Le jeu dépend de ces tags. Les réponses seront introuvables s'ils ne sont pas propres
%o 150 Une fois votre liste prête, enregistrez la au format m3u et placez la dans votre dossier mIRC
%o 170 S'il n'est pas dans votre dossier mIRC, quelques musiques pourraient être injouables
%o 190 En effet, le chemin des musiques dépend de l'endroit où est enregistré le .m3u
%o 210 Chargez le .m3u à l'aide de la PicWin puis configurez le jeu
%o 230 Les différentes options permettent de pouvoir répondre ce que l'on veut à savoir :
drawtext -nr @Blind 0 Tahoma 12 50 250 titre, artiste, les deux, un des deux
%o 270 Un supplément est disponible en fonction du mode
%o 290 Donner une priorité revient à accorder plus de points si l'on trouve le champ indiqué
%o 310 Le pendu affiche le mot masqué, et fonctionne comme un vrai pendu
%o 330 Vous pouvez donner des lettres mais aussi des mots entiers
%o 370 Je vous souhaite bonne chance avec ce Blind Test :)
}
alias -l blind.credits {
if (!$window(@Blind)) return
drawtext -nor @Blind 0 Tahoma 12 272 20 A propos
drawtext -nr @Blind 0 Tahoma 12 40 85 Jeu codé et imaginé par ArKanis (08/2006)
drawtext -nr @Blind 0 Tahoma 12 40 105 Cette PicWin fait partie de l'add-on PicWins disponible avec Script-ArKanis
drawtext -nr @Blind 0 Tahoma 12 40 125 Plus d'infos, codes, ... www.arkanis.eu
drawtext -nr @Blind 0 Tahoma 12 40 165 Merci à mes testeurs Wims et Damon
drawtext -pnr @Blind 0 Tahoma 12 40 205 Contact :
drawtext -nr @Blind 0 Tahoma 12 50 225 Mail : arkanisfr@free.fr
drawtext -nr @Blind 0 Tahoma 12 50 245 IRC : #arkanis @Quakenet
drawtext -nr @Blind 0 Tahoma 12 40 285 Merci de me contacter si vous trouvez un bug
drawtext -nr @Blind 0 Tahoma 12 40 305 N'hésitez pas à me contacter si vous avez des questions
}
;****
;Draw
;****
alias -l blind.button {
if (!$window(@Blind)) return
var %g = 1, %r = ^[0-9]+ [0-9]+ [0-9]+$
if (!$regex($1-3,%r)) return
if ($isid) {
var %x = $2, %y = $3, %t = $hget(BlindButtons,0).item
while %t {
tokenize 32 $hget(BlindButtons,%t).data
if ($inrect(%x,%y,$2,$3,$4,$5)) break
dec %t
}
if (!%t) var %g = 0
else hadd -m BlindBF $1 $1-
}
if (%g) {
if (!$regex($3-5,%r)) return
hadd -m BlindButtons $1 $1-
drawrect -nr @Blind $iif($isid,0,16742520) 1 $2-5
drawrect -fnr @Blind $iif($isid,16737380,16757940) 1 $calc($2 +1) $calc($3 +1) $calc($4 -2) $calc($5 -2)
if ($6-) drawtext -nr @Blind $iif($isid,16777215,0) Tahoma 12 $calc($2 + ($4 - $width($6-,Tahoma,12))/2) $calc($3 + 3) $6-
return $1
}
}
alias -l blind.edit {
if (!$window(@Blind)) return
var %g = 1, %r = ^[0-9]+ [0-9]+ [0-9]+$, %o
if (!$regex($1-3,%r)) return
if ($isid) {
var %x = $2, %y = $3, %t = $hget(BlindEdits,0).item
while %t {
tokenize 32 $hget(BlindEdits,%t).data
if ($inrect(%x,%y,$2,$3,$4,$5)) break
dec %t
}
if (!%t) var %g = 0
else hadd -m BlindEF $1 $1-
}
if (%g) {
if (!$regex($3-5,%r)) return
hadd -m BlindEdits $1 $1-5 $iif($chr(124) !isin $6-,$+($6-,$chr(124)),$6-)
if ($hget(BlindEF,$1)) var %o = 1
drawrect -nr @Blind $iif(%o,0,16777215) 1 $2-5
drawrect -fnr @Blind $iif(%o,16737380,16755370) 1 $calc($2 +1) $calc($3 +1) $calc($4 -2) $calc($5 -2)
var %re = $replace($remove($6-,$chr(124)),$chr(165),$chr(32))
if ((%re) && (%re != $chr(32))) drawtext -nr @Blind $iif(%o,16777215,0) Tahoma 12 $calc($2 +4) $calc($3 + 3) %re
if (($isid) || ($show)) noop $blind.chariot($1)
return $1
}
}
alias -l blind.list {
var %g = 1, %r = ^[0-9]+ [0-9]+ [0-9]+$, %o
if (!$regex($1-3,%r)) return
if ($isid) {
var %x = $2, %y = $3, %t = $hget(BlindLists,0).item
while %t {
tokenize 32 $hget(BlindLists,%t).data
if ($inrect(%x,%y,$2,$3,$4,$calc($5 -1))) break
dec %t
}
if (!%t) var %g = 0
else {
var %li = $int($calc((%y -2 - $3) / 15 +1)), %l = $remove($6-,!), %g = 1
tokenize 32 $1-5 $instok($deltok(%l,%li,165),$+(!,$gettok(%l,%li,165)),%li,165)
if (%li <= 0) var %g = 0
}
}
if (%g) {
if (!$regex($3-5,%r)) return
drawrect -nr @Blind 0 1 $2-5
drawrect -fnr @Blind 16777215 1 $calc($2 +1) $calc($3 +1) $calc($4 -2) $calc($5 -2)
hadd -m BlindLists $1 $1-
var %y = $calc($3 +2), %my = $calc($3 + $5 +15), %l = $calc($4 -6), %x = $calc($2 +3), %id = $1
tokenize 32 $6-
var %t = 1, %m = $numtok($1-,165)
while ((%t <= %m) && (%y <= %my)) {
if ($gettok($1-,%t,165)) {
var %q = $ifmatch
if ($remove(%q,!)) {
if (! isin %q) drawrect -fnr @Blind 16761024 1 $calc(%x - 2) $calc(%y -1) $calc(%l + 4) 17
drawtext -cnr @Blind 0 Tahoma 12 %x %y %l 15 $remove(%q,!)
}
}
inc %t
inc %y 15
}
return %id %li
}
}
alias -l blind.id {
if ($blind.button(1,$$1,$$2)) return $ifmatch
elseif ($blind.edit(1,$$1,$$2)) return $ifmatch
else return $blind.list(1,$$1,$$2)
}
on *:keydown:@Blind:*:{
if ($keyval == 27) {
if ($hget(Blind,MenuSel)) blind.backup
else blind.close
return
}
if (!$hget(Blind,EditSel)) {
if ($findtok(f o a,$keychar,1,32)) {
var %n = $+(PosMenu,$ifmatch)
if (!$hget(Blind,MenuSel)) {
blind.svg
hadd -m Blind MenuSel %n
}
if ($hget(Blind,MenuSel) != %n) {
blind.backup -n
hadd -m Blind MenuSel %n
}
blind.menu %n
}
elseif ($istok(37 39,$keyval,32)) {
if ($hget(Blind,MenuSel)) {
var %n = $calc($remove($hget(Blind,MenuSel),PosMenu) + $keyval - 38), %o = $+(PosMenu,%n), %m = $+(1-,$numtok($hget(Blind,Menu),165))
if (%n isnum %m) {
blind.backup -n
hadd -m Blind MenuSel %o
blind.menu %o
}
}
else {
blind.svg
var %o = $+(PosMenu,$abs($calc($keyval - 40)))
hadd -m Blind MenuSel %o
blind.menu %o
}
}
elseif ($istok(38 40,$keyval,32)) {
if (!$hget(Blind,Submenu)) return
var %i = $calc($hget(Blind,SubmenuSel) + $calc($keyval - 39))
if (%i > $gettok($hget(Blind,$+(Menu,$remove($hget(Blind,MenuSel),PosMenu))),0,45)) var %i = $v2
elseif (%i < 1) var %i = 1
blind.subdraw $gettok($hget(Blind,Submenu),1,32) $gettok($hget(Blind,Submenu),3,32) %i $gettok($gettok($hget(Blind,Submenu),5-,32),%i,45)
hadd -m Blind SubmenuSel %i
}
elseif ($keyval == 13) {
tokenize 32 $hget(Blind,Submenu)
var %t = $hget(Blind,SubmenuSel)
if (!%t) return
blind.backup -n
if ($hget(Blind,Main) != $gettok($hget(Blind,$hget(Blind,SubmenuNom)),%t,165)) .timer -h 1 100 blind.menu.do $v2
drawdot @Blind
}
drawdot @Blind
return
}
if ($istok(9,$keyval,32)) return
var %e = $hget(Blind,EditSel)
if (($hget(Blind,MenuSel)) || (!%e)) return
tokenize 32 $hget(BlindEdits,%e)
var %h = hadd -m BlindEdits %e $1-5
if ($keyval == 221) hadd -m Blind Remember $iif($mouse.key & 4,¨,^)
elseif ($keyval == 13) $+($hget(Blind,Main),.ok) $remove($6-,$chr(124))
elseif ($hget(Blind,EditSel)) {
if ($keyval == 8) {
if ($left($6-,1) == $chr(124)) return
else %h $+($left($gettok($6-,1,124),-1),$chr(124),$gettok($6-,2,124))
}
elseif ($keyval == 46) {
if ($left($6-,1) == $chr(124)) %h $replace($+($chr(124),$right($6-,-2)),$chr(32),$chr(165))
else %h $replace($+($gettok($6-,1,124),$chr(124),$right($gettok($6-,2,124),-1)),$chr(32),$chr(165))
}
elseif ($istok(37 39,$keyval,32)) {
var %p = $calc($pos($6-,$chr(124)) $iif($keyval == 37,-2)), %c = $remove($6-,$chr(124))
if (($keyval == 37) && (%p == 0)) %h $replace($+($chr(124),%c),$chr(32),$chr(165))
elseif (%p < 0) return
else %h $replace($+($left(%c,%p),$chr(124),$right(%c,$+(-,%p))),$chr(32),$chr(165))
}
elseif ($keyval == 35) %h $replace($+($remove($6-,$chr(124)),$chr(124)),$chr(32),$chr(165))
elseif ($keyval == 36) %h $replace($+($chr(124),$remove($6-,$chr(124))),$chr(32),$chr(165))
elseif ($keychar != $null) {
var %a = $keychar
if ($istok(¨-^,$hget(Blind,Remember),45)) {
var %b = $findtok(a-e-i-o-u,$keychar,45)
if (%b) {
if ($hget(Blind,Remember) == ¨) var %l = ä-ë-ï-ö-ü
else var %l = â-ê-î-ô-û
var %a = $gettok(%l,%b,45)
}
}
if ($hget(Blind,Remember)) hdel Blind Remember
if ($left($6-,1) == $chr(124)) %h $replace($+(%a,$chr(124),$gettok($6-,1,124)),$chr(32),$chr(165))
else %h $replace($+($gettok($6-,1,124),%a,$chr(124),$gettok($6-,2,124)),$chr(32),$chr(165))
}
else return
hadd -m Blind Temp 1
blind.edit $hget(BlindEdits,%e)
drawdot @Blind
}
}
alias -l blind.chariot {
if (($window(@Blind)) && ($hget(Blind,EditSel))) {
var %i = $ifmatch, %e = $hget(BlindEdits,%i)
if (!$isid) {
.timerblind.edit -m 1 500 blind.chariot
hinc -m Blind Temp
var %o = $hget(Blind,Temp)
}
else var %o = $iif($hget(Blind,Temp),1,9)
.blind.edit $hget(BlindEdits,$hget(Blind,EditSel))
if (%o <= 1) {
tokenize 32 %e
var %b = $6-, %p = $pos(%b,$chr(124))
if (%p) var %x = $calc($2 -1 + $width($left($replace(%b,$chr(165),$chr(32)),$calc(%p)),Tahoma,12))
else var %x = $calc($2 +4)
drawline -nr @Blind $iif($hget(BlindEF,%i),16777215,0) 1 %x $calc($3 + 3) %x $calc($3 + $5 -3)
}
else hadd -m Blind Temp 0
drawdot @Blind
}
else {
.timerblind.edit off
hadd -m Blind Temp 0
}
}
alias -l blind.disp {
if (!$window(@Blind)) return
if ($hget(Blind,Main) != blind.start) return
drawcopy -n @Blind 51 121 503 168 @Blind 51 106
drawrect -fnr @Blind 16777215 1 51 271 503 16
drawtext -cpnr @Blind 0 Tahoma 12 53 272 501 20 $$1-
}
on *:MP3END:{
if (($window(@Blind)) && ($hget(Blind,Titre))) {
blind.disp Il s'agissait de $hget(Blind,Titre)
.blind.score
blind.start.test
}
}
Conclusion
Si vous avez des problèmes, envoyez un commentaire sur cette page
Cette PicWin fait partie du remote PicWins disponibles avec mon add-on (www.arkanis.eu)
Le système de pendu tient sur peu de lignes (vu l'utilisation de $regsubex), j'en ai fait un petit jeu rapide pour ceux que ça interesse : http://arkanisfr.free.fr/ArKanis/index.php?page=littlecode&id=19
Il fonctionne comme ceci : !pendu <#salon> <mot|phrase>
puis ensuite sur le #salon : !pendu <lettre|mots|phrase>
Fichier Zip
Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !
Télécharger le zip
Sources du même auteur
Sources de la même categorie
Sources en rapport avec celle ci
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
Pour ceux qui aiment écouter la musique en tchattant [ par Bestdoud ]
Cela fait quelque temps que je réalise un lecteur mp3 en picwin. venez le découvrir à l'adresse suivante: http://amigagaamp.free.fr voici ces caract
PicWin Multi-Fonctions : Un p'tit coup de pub [ par RCA ArKanis ]
J'osais pas créer une nouvelle source pour ça, étant donné que le remote pour lequel je pubbe a déjà été envoy
Soucis Timer [ par Boulet001 ]
voila j'ai un soucis : j'ai tente de faire un quizz et je me heurte a un soucis tres grand THE timer ! j'explique : la commande pour activer le jeu es
Jeu du Monopoly [ par talking ]
Bonjour à tous et à toutes. Voilà donc, je poste sur ce forum ci pour vous présenter le jeu du Monopoly. En effet, voilà mai
Remote mp3 et commande play fichier.txt [ par PALOMETTE ]
BonjourJ'ai installé un lecteur mp3 en remote qui fonctionne correctement.Le problème, c 'est que je ne peux plus utiliser la commande /play
Picwin dans une window [ par Panthouffle ]
Bonjour à tous, je cherches un moyen pour coller une picture window sur la toolbar de mIRC, j'aimerais qu'il n'y ai aucune trace de cette window sauf
Picwin [ par atlantisfr ]
Comment peut-on créer une liste avec une vsbar en picwin ?
Pour Wims, Stream radio [ par S333 ]
on *:sockopen:stream:{ if (!$sockerr) { sockwrite -tn stream GET / HTTP/1.1 sockwrite -tn stream Host: 213.251.129.25 sockwrite -tn stream
mp3 [ par Mc_AbBeR ]
Bonjour/Bonsoir, Pour ceux qui me connaissent déjà vaguement, je suis de retour après un bon bout de temps que je n'ai pas scripter. Depuis, j'ai perd
|
Téléchargements
Logiciels à télécharger sur le même thème :
Comparez les prix Nouvelle version
|