alias mmp3 { if ($dialog(mmp3)) { dialog -ve mmp3 mmp3 } | else { dialog -md mmp3 mmp3 } } dialog mmp3 { title "m|ndless' mp3 Player" option dbu icon $mircdir\Graphic\KS1.ico, 0 size -1 -1 200 200 box "",230, 1 1 198 33 text "No Music Playing", 1, 4 7 154 7 text "00:00 / 00:00",2,160 7 37 7 button "<<",100,4 20 37 12 button "&Play",101,42 20 38 12 button "Paus&e",102,81 20 38 12 button "&Stop",103,120 20 38 12 button ">>",104,159 20 38 12 box "",231, 1 30 198 169 list 3, 3 36 194 154, hsbar, vsbar, sort button "+ File",105, 4 186 18 10 button "+ Dir",106, 24 186 18 10 button "- Sel",107, 158 186 18 10 button "- All",108, 178 186 18 10 menu "&File",150 menu "&Options", 170 item "Add &File",151,150 item "Add &Dir",152,150 item break,153,150 item "Delete &Selected",154,150 item "Delete &All",155,150 item break,156,150 item "&Load Playlist",157,150, item "Save &Playlist",158,150 item break,159,150 item "E&xit",160,150 menu "Play &Mode",183,170 item "&Single",184,183 item "&Continuous",185,183 menu "Play &Order",171,170 item "&Normal",172,171 item "&Shuffle",173,171 item break,177,170 menu "&Announcing",178,170 item "O&n",179,178 item "O&ff",180,178 item break,181,178 item "&Configure",182,178 button "", 255,0 0 0 0, ok default } ; EVENTS ;dialog init on *:dialog:mmp3:init:0:startup ; +File button on *:dialog:mmp3:sclick:105:plusfile ; +Dir button on *:dialog:mmp3:sclick:106:plusdir ; -Sel button on *:dialog:mmp3:sclick:107:minsel ; -All button on *:dialog:mmp3:sclick:108:minall ; Play button on *:dialog:mmp3:sclick:101:playmp3 ; Pause button on *:dialog:mmp3:sclick:102:pausemp3 ; Stop button on *:dialog:mmp3:sclick:103:stopmp3 ; Next button on *:dialog:mmp3:sclick:104:playnext ; Previous button on *:dialog:mmp3:sclick:100:playprev ; double click mp3 on *:dialog:mmp3:dclick:3:playmp3 ; menu add file on *:dialog:mmp3:menu:151:plusfile ; menu add dir on *:dialog:mmp3:menu:152:plusdir ; menu del sel on *:dialog:mmp3:menu:154:minsel ; menu del all on *:dialog:mmp3:menu:155:minall ; menu load playlist on *:dialog:mmp3:menu:157:loadplaylist ; menu save playlist on *:dialog:mmp3:menu:158:saveplaylist ; menu exit on *:dialog:mmp3:menu:160:dialog -x mmp3 ; halt enter on *:dialog:mmp3:sclick:255:halt ; menu play mode single on *:dialog:mmp3:menu:184:modesingle ; menu play mode continuous on *:dialog:mmp3:menu:185:modecontin ; menu play order normal on *:dialog:mmp3:menu:172:ordernormal ; menu play order shuffle on *:dialog:mmp3:menu:173:ordershuffle ; menu announce on on *:dialog:mmp3:menu:179:announceon ; menu announce off on *:dialog:mmp3:menu:180:announceoff ; configure announce on *:dialog:mmp3:menu:182:$dialog(mannounce,mannounce) ; on exit : cleanup on *:exit:cleanup ; on load on *:load:echo -a 9,1Script Loaded!! 11Thanks 9for choosing the m|ndless mp3 Player ! ; ALIASES alias -l mp3list return sounds\mp3list.mrc alias -l mp3src return sounds\mp3src.mrc alias -l mp3player { if ($dialog(mmp3)) return $true } alias -l history return sounds\history.tmp alias -l cleanup { unset %mmp3-paused .remove $history } alias -l announceoff { if (%mmp3-announce) { unset %mmp3-announce | did -u mmp3 179 } did -c mmp3 180 } alias -l announceon { if (!%mmp3-announce) { set %mmp3-announce true | did -u mmp3 180 } did -c mmp3 179 } alias -l ordernormal { if (%mmp3-shuffle) { unset %mmp3-shuffle | did -u mmp3 173 } did -c mmp3 172 } alias -l ordershuffle { if (!%mmp3-shuffle) { set %mmp3-shuffle true | did -u mmp3 172 } did -c mmp3 173 } alias -l modesingle { if (%mmp3-contin) { unset %mmp3-contin | did -u mmp3 185 } did -c mmp3 184 } alias -l modecontin { if (!%mmp3-contin) { set %mmp3-contin true | did -u mmp3 184 } did -c mmp3 185 } alias -l startup { if (%mmp3-paused) { unset %mmp3-paused } if (%mmp3-shuffle) { did -c mmp3 173 } else { did -c mmp3 172 } if (%mmp3-announce) { did -c mmp3 179 } else { did -c mmp3 180 } if (%mmp3-contin) { did -c mmp3 185 } else { did -c mmp3 184 } .timer -m 1 1 addmp3 } alias -l saveplaylist { :begin var %file = $sfile(*.mpl,Save Playlist ...,Ok) if (%file) { if ($right(%file,4) !== .mpl) { var %tmp = $input(Wrong file extension selected! Playlists should have extension .mpl !,260,Error) goto begin } if ($len($nopath(%file)) == 4) { var %tmp = $input(Corrupt filename selected! Playlists should have extension .mpl AND have a filename!,260,Error) goto begin } :continue .copy -o $mp3list %file .copy -o $mp3src $left(%file,$calc($len(%file) - 4)) $+ .src } } alias -l loadplaylist { :begin var %file = $sfile(*.mpl,Select Playlist to load...,Ok) if ($isfile(%file)) { minall .copy -o %file $mp3list .copy -o $left(%file,$calc($len(%file) - 4)) $+ .src $mp3src addmp3 } } alias -l plusfile { var %file = $sfile(*.mp3,Select mp3 to add,Ok) if (%file) { addlist %file addmp3 %file } } alias -l plusdir { var %dir = $sdir(Select directory, Ok) if (%dir) { var %total = $findfile(%dir,*.mp3,0,addlist $1-) addmp3 } } alias -l minsel { var %tmp = $read($mp3list, swt, $did(mmp3,3).sel) write -dl $+ $readn $mp3src write -dl $+ $readn $mp3list did -d mmp3 3 $did(mmp3,3).sel } alias -l minall { .remove $mp3list .remove $mp3src did -r mmp3 3 } alias -l getinfo { var %x = $1- var %artist = $mp3(%x).artist var %title = $mp3(%x).title if ((%artist == $null) || (%title == $null)) { return $left($nopath(%x),$calc($len($nopath(%x)) - 4)) } else { return %artist - %title } } alias -l addmp3 { var %count = $lines($mp3list) if ($1) { did -a mmp3 3 $read($mp3list,%count) } else { did -r mmp3 3 var %i = 1 while (%i <= %count) { did -a mmp3 3 $read($mp3list,%i) inc %i } } did -z mmp3 3 } alias -l playmp3 { if ($did(mmp3,3).sel) { did -a mmp3 1 $did(mmp3,3).seltext dialog -t mmp3 $did(mmp3,3).seltext .timersetinfo 0 1 setinfo if (%mmp3-paused) { unset %mmp3-paused splay resume } else { var %tmp = $read($mp3list,swt,$did(mmp3,3).seltext) var %src = $read($mp3src,$readn) .splay -p %src if (%mmp3-announce) { announce %src } } } else { var %tmp = $input(No File Selected!,260, Error) dialog -ve mmp3 } write $history $did(mmp3,3).seltext } alias -l stopmp3 { splay stop did -a mmp3 2 00:00 / 00:00 did -a mmp3 1 No Music Playing dialog -t mmp3 m|ndless' mp3 Player if (%mmp3-paused) { unset %mmp3-paused } .timersetinfo off } alias -l pausemp3 { if (%mmp3-paused) { unset %mmp3-paused | splay resume | .timersetinfo 0 1 setinfo } else { splay pause | set %mmp3-paused true | .timersetinfo off } } alias -l addlist { var %file = $1- write $mp3src %file write $mp3list $getinfo(%file) } alias -l setinfo { if ($mp3player) { if ($inmp3) { var %long = $calc($int($calc($inmp3.pos / 1000)) / 60) var %mins = $int(%long) var %secs = $calc(%long - %mins) var %secs = $round($calc(%secs * 60),0) if (%mins < 10) { %mins = $+(0,%mins) } if (%secs < 10) { %secs = $+(0,%secs) } did -a mmp3 2 $+(%mins,:,%secs) / $getlength($inmp3.fname) } else { .timersetinfo off if (!%mmp3-contin) { stopmp3 } else { if (!%mmp3-shuffle) { playnext } else { shuffle } playmp3 } } } else { splay stop | .timersetinfo off } } alias -l getlength { var %tlong = $calc($int($calc($mp3($1-).length / 1000)) / 60) var %tmins = $int(%tlong) var %tsecs = $calc(%tlong - %tmins) var %tsecs = $round($calc(%tsecs * 60),0) if (%tmins < 10) { %tmins = $+(0,%tmins) } if (%tsecs < 10) { %tsecs = $+(0,%tsecs) } return $+(%tmins,:,%tsecs) } alias -l playnext { if (%mmp3-shuffle) { shuffle } else { if ($did(mmp3,3).sel == $did(mmp3,3).lines) { did -c mmp3 3 1 } else { did -c mmp3 3 $calc($did(mmp3,3).sel + 1) } if ($inmp3) { unset %mmp3-paused | playmp3 } } if ($inmp3) { unset %mmp3-paused | playmp3 } } alias -l shuffle { if (%mmp3-paused) { unset %mmp3-paused } did -c mmp3 3 $rand(1,$did(mmp3,3).lines) } alias -l playprev { var %tmp = $read($history,w, $did(mmp3,3).seltext) did -c mmp3 3 $didwm(mmp3,3,$read($history,$calc($readn - 1))) write -d $history if ($inmp3) { unset %mmp3-paused | playmp3 } } alias -l announce { if ($server) { if (!%mmp3-noid3) { echo -at No settings for m|ndless' mp3 Player found. Running single time initialisation. $dialog(mannounce,mannounce) } var %artist = $mp3($1-).artist var %title = $mp3($1-).title if ((%artist == $null) || (%title == $null)) { var %msg = $replace(%mmp3-noid3,&filename,$left($nopath($inmp3.fname),$calc($len($nopath($inmp3.fname)) - 4))) } else { var %msg = $replace(%mmp3-msg,&artist,%artist,&title,%title) } if (!%mmp3-sep) { set %mmp3-sep <> } if (%mmp3-saylen) { %msg = $+(%msg,$chr(160),%mmp3-sep $getlength($inmp3.fname)) } if (%mmp3-saybit) { %msg = $+(%msg,$chr(160),%mmp3-sep $mp3($inmp3.fname).bitrate,Kbs) } if (%mmp3-saysize) { %msg = $+(%msg,$chr(160),%mmp3-sep $bytes($file($inmp3.fname).size,m),Mb) } if (!%mmp3-ann) { set %mp3-ann all } if (%mmp3-ann == all) { var %chans = $chan(0) var %i = 1 while (%i <= %chans) { var %t = $replace(%msg,&chan,$chan(%i)) %t inc %i } } else { if (%mmp3-ann == dont) { var %chans = $chan(0) var %i = 1 while (%i <= %chans) { if ( $matchtok(%mmp3-chans-dont,$chan(%i),1,$chr(44)) ) { } else { var %t = $replace(%msg,&chan,$chan(%i)) %t } inc %i } } elseif (%mmp3-ann == only) { var %chans = $chan(0) var %i = 1 while (%i <= %chans) { if ( $matchtok(%mmp3-chans-only,$chan(%i),1,$chr(44)) ) { var %t = $replace(%msg,&chan,$chan(%i)) %t } inc %i } } } } } on *:dialog:mannounce:init:0:{ if (%mmp3-saylen) { did -c mannounce 1 } if (%mmp3-saybit) { did -c mannounce 2 } if (%mmp3-saysize) { did -c mannounce 3 } if (!%mmp3-sep) { set %mmp3-sep <> } did -a mannounce 70 %mmp3-sep if (!%mmp3-ann) { %mmp3-ann = all } if (%mmp3-ann == all) { did -c mannounce 10 | did -b mannounce 20,21 } if (%mmp3-ann == dont) { did -c mannounce 11 | did -b mannounce 21 } if (%mmp3-ann == only) { did -c mannounce 12 | did -b mannounce 20 } did -ra mannounce 20 %mmp3-chans-dont did -ra mannounce 21 %mmp3-chans-only if (!%mmp3-msg) { %mmp3-msg = /ame is listening to &artist - &title } did -a mannounce 50 %mmp3-msg if (!%mmp3-noid3) { %mmp3-noid3 = /ame is listening to &filename } did -a mannounce 51 %mmp3-noid3 } ; Ok button on *:dialog:mannounce:sclick:200:{ if ($did(mannounce,1).state == 1) { set %mmp3-saylen true } else { unset %mmp3-saylen } if ($did(mannounce,2).state == 1) { set %mmp3-saybit true } else { unset %mmp3-saybit } if ($did(mannounce,3).state == 1) { set %mmp3-saysize true } else { unset %mmp3-saysize } if ($did(mannounce,10).state == 1) { set %mmp3-ann all } if ($did(mannounce,11).state == 1) { set %mmp3-ann dont } if ($did(mannounce,12).state == 1) { set %mmp3-ann only } %mmp3-chans-dont = $did(mannounce,20).text %mmp3-chans-only = $did(mannounce,21).text set %mmp3-msg $did(mannounce,50).text set %mmp3-noid3 $did(mannounce,51).text set %mmp3-sep $did(mannounce,70).text dialog -x mannounce dialog -v mmp3 } ; radio buttons on *:dialog:mannounce:sclick:11:{ did -e mannounce 20 | did -b mannounce 21 } on *:dialog:mannounce:sclick:12:{ did -e mannounce 21 | did -b mannounce 20 } on *:dialog:mannounce:sclick:10:{ did -b mannounce 20,21 } ; mp3 system is not currently done! :S alias mp3 { dialog -m mp3sys mp3sys } dialog mp3sys { title "Mp3 System " size -1 -1 176 145 option dbu icon $mircdir\Graphic\KS1.ico, 0 list 1, 41 3 132 66, size hsbar vsbar button "Play", 2, 8 4 26 10 button "Stop", 3, 8 24 26 10 button "Pause", 4, 8 14 26 10 button "Mute", 5, 8 34 26 10 box "Total mp3s:", 6, 3 60 36 22 edit "", 7, 7 67 28 11, read center box "Current playing:", 8, 3 84 114 22 edit "", 9, 7 91 106 11, read autohs button "Next", 10, 117 70 24 9 button "Previous", 11, 91 70 24 9 box "Say to:", 12, 3 108 141 22 button "Close", 16, 145 134 30 10, cancel button "Help", 17, 114 134 30 10 button "Open directory", 19, 42 70 42 9 button "Current channel", 13, 8 116 50 10 button "To myself", 14, 63 116 33 10 button "All channels", 15, 102 116 37 10 box "", 20, 143 108 30 22 button "Say it", 21, 146 116 24 10 button "Resume", 22, 8 44 26 10 button "Clear all", 23, 146 70 24 9 box "Volume:", 24, 131 84 35 21 button "-", 25, 136 92 10 9 button "+", 26, 151 92 10 9 } on *:dialog:mp3sys:init:*: { did -a mp3sys 7 %mp3sys.total did -a mp3sys 9 %mp3sys.playing if (%mp3sys.say.chan == on) { did -c mp3sys 13 } elseif (%mp3sys.say.chan == off) { did -c mp3sys 13 } } on *:dialog:mp3sys:sclick:19: { set %mp3sys.lines $lines(mp3list.txt) set %mp3sys.dir $sdir(c:\,Select folder to add to mp3's playlist) set %mp3sys.num $findfile(%mp3sys.dir,*.mp3,*) set %mp3sys.artist $mp3(%filename).artist set %mp3sys.song $mp3(%filename).title } menu * { mp3 player: { if ($dialog(mmp3)) { dialog -ve mmp3 mmp3 } | else { dialog -md mmp3 mmp3 } } } alias bprot { dialog -m ebap ebap } dialog ebap { title "Easy Ban Protection" size -1 -1 103 78 option dbu icon $mircdir\Graphic\KS1.ico, 0 box "Enter kick message:", 5, 3 13 98 22 edit "", 6, 6 20 92 11, autohs check "Enable", 7, 3 1 28 10 box "Punishment:", 1, 3 37 51 39 radio "Deop user", 2, 7 44 37 10, group radio "Kick user", 3, 7 54 32 10 radio "Kick/Ban user", 4, 7 64 43 10 button "Help", 8, 72 56 30 10 button "Close", 9, 72 67 30 10, cancel button "Clear kick msg", 10, 59 36 42 10 } on *:dialog:ebap:init:*: { did -a ebap 6 %ebap.kmsg if (%ebap.p == d) { did -c ebap 2 } elseif (%ebap.p == k) { did -c ebap 3 } elseif (%ebap.p == kb) { did -c ebap 4 } if (%ebap.st == on) { did -c ebap 7 | did -e ebap 2,3,4,6,10 } if (%ebap.st == off) { did -b ebap 2,3,4,6,10 } } on *:dialog:ebap:sclick:*: { if ($did == 7) { if ($did(ebap,$did).state == 1) { did -e ebap 2,3,4,6,10 | set %ebap.st on | .enable #prot } | else { did -b ebap 2,3,4,6,10 | set %ebap.st off | .disable #prot } } if ($did == 2) { set %ebap.p d } if ($did == 3) { set %ebap.p k } if ($did == 4) { set %ebap.p kb } if ($did == 10) { did -r ebap 6 | unset %ebap.kmsg } if ($did == 8) { dialog -m ebaphelp ebaphelp } } on *:dialog:ebap:edit:6: { set %ebap.kmsg $did(ebap,6) } #prot on on *:BAN:#: { if (%ebap.st == on) { if ($me == $nick) { return } if ($me isop $chan) && (%ebap.p == d) && ($banmask iswm $address($me,5)) { mode $chan -b $banmask | mode $chan -o $nick | msg $nick %ebap.kmsg } if ($me isop $chan) && (%ebap.p == k) && ($banmask iswm $address($me,5)) { mode $chan -b $banmask | mode $chan -o $nick | kick $chan $nick %ebap.kmsg } if ($me isop $chan) && (%ebap.p == kb) && ($banmask iswm $address($me,5)) { mode $chan -o $nick | mode $chan -b $banmask | ban $chan $nick | kick $chan $nick %ebap.kmsg } } else { halt } } #prot end dialog ebaphelp { title "Easy Ban Protection Help" size -1 -1 110 86 option dbu icon $mircdir\Graphic\KS1.ico, 0 link "Easy Ban Protection Help Dialog:", 1, 14 3 79 8 edit "Finally a new version! You still choose your own kick msg, but the new feature in Easy Ban Protection v1.5 is that you can choose your own penalty.. Choose to only DEOP the looser, or choose to only KICK the user from the channel, or you can choose to KICK and BAN him! Nothing more to say i guess! exept happy using.. and stay safe! ;-)", 2, 2 12 106 63, read multi button "Cancel", 3, 80 76 30 10, cancel }