Ok here is another imdb script i found however again this one didn't work, However after going through it i seem to have fixxed and it is now working again.
Very nice layout, i added a bit of color however you may take it away in the figure setting under the theme settings.
you can also edit the trigers in the setting menu and lots of other features.
so as always Enjoy.
Very simple to use just type:
!movie Will display IMDB info on that movie.
!movie -l2 Will display 2 links for that movie.
!movie -c <actor/actress> will display imdb info on those people you choose.
configure it by /_imdb
other link: http://www.mircscripts.org/comments.php?cid=1405
;===================================================
; IMDb Movie Search v2.04 by Meij Edited by JoelP
;===================================================
on *:LOAD: {
echo -ts IMDb Movie Search v2.04: Successfully loaded - Type /_imdb to configure.
if ($version < 6.17) echo -ts IMDb Movie Search v2.04: Running in compatability mode, mIRC v6.17 or newer is recommended.
}
on *:UNLOAD: {
if ($timer(_imdb)) .timer_imdb off
unset %_imdb.*
hfree -w _imdb.*
echo -ts IMDb Movie Search v2.04: Successfully unloaded.
}
on *:START: {
if ($version < 6.17) .enable #_imdb_compat
}
on *:TEXT:*:#: { if ($_ban($+($nick,!,$address))) && ($_trigger($1)) _input $2- }
on *:INPUT:#: { if ($_trigger($1)) _input $2- }
on *:SOCKOPEN:_imdb.*: {
var %sn = $sockname, %u
if ($_sget(%sn, state) == 0) var %u = $+(/find?s=,$iif($_sget(%sn, opt_movies),tt,nm),&q=,$_encode($_sget(%sn, search)))
elseif ($_sget(%sn, url)) {
noop $regex($_sget(%sn, url), ^http://(?:.+?\.|)imdb.com(/[a-zA-Z0-9]+/[a-z]+[0-9]+(?:/.*?|))$)
var %u = $regml(1)
}
if (!%u) {
_cset %sn error Invalid URL
_parse %sn error
sockclose %sn
_cleanup %sn
return
}
sockwrite -nt %sn GET %u HTTP/1.0
sockwrite -nt %sn Accept-Language: en-us
sockwrite -nt %sn User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.0.7) Gecko/2009021910 Firefox/3.0.7
sockwrite -nt %sn Referer: http://www.imdb.com/search
sockwrite -nt %sn Host: www.imdb.com
sockwrite -nt %sn Connection: close
sockwrite -t %sn $str($crlf, 2)
}
on *:SOCKREAD:_imdb.*: {
var %sn = $sockname
if ($sockerr > 0) return
:nextread
sockread &x
if ($sockbr == 0) return
if ($bvar(&x, 1, 7).text == HTTP/1.) {
var %r $bvar(&x, 1, $calc($bfind(&x, 1, $cr) - 1)).text
if ($gettok(%r, 2, 32) != 200) && ($gettok(%r, 2, 32) != 302) {
_cset %sn error %r
_parse %sn error
sockclose %sn
_cleanup $sn
return
}
}
if ($bfind(&x,1,$crlf $+ Location:) > 0) {
if ($regex($bvar(&x,$ifmatch,800).text, Location: (.[^ $+ $crlf $+ ]+))) {
if ($hget(%sn)) { hfree %sn }
sockclose %sn
_sopen %sn
_sset %sn state $iif($_sget(%sn, opt_movies), 1, 3)
_sset %sn url $gettok($regml(1), 1, 63)
return
}
}
hadd -mbu300 %sn $_item(%sn) &x
goto nextread
}
on *:SOCKCLOSE:_imdb.*: { _main $sockname }
;
; Main HTML Parsing Alias
;
alias -l _main {
var %i 1, %sn $1
bunset &x
while ($hget(%sn, %i).item) {
noop $hget(%sn, %i, &x.d)
bcopy &x $calc($bvar(&x, 0) + 1) &x.d 1 -1
inc %i
}
bunset &x.d
if ($hget(%sn)) hfree %sn
if ($bvar(&x, 0) == 0) {
_cset %sn error No data received on socket!
_parse %sn error
_cleanup $sn
return
}
if ($_sget(%sn, state) == 0) {
var %i 0, %p 1
if ($_sget(%sn, opt_exact)) var %p = $bfind(&x, %p, <b>Titles (Exact Matches)</b>)
var %p = $bfind(&x, $iif(%p, %p, 1), <table>)
while ($regex(one, $bvar(&x, %p, 850).text, <td valign="top">(?:<img[^<]*>)?(?:<br>)?<a href="([^"]+)"[^>]*>([^<]+)</a> (?:\x28)?([\d\w/]+)?(?:\x29)?(?: <.[^>]+>\x28([\w\s][^\x2C\x29]+))?)) {
inc %i
if (!$_sget(%sn, opt_results)) {
if ($hget(%sn)) hfree %sn
sockclose %sn
_sopen %sn
_sset %sn state $iif($_sget(%sn, opt_movies), 1, 3)
_sset %sn url http://www.imdb.com $+ $gettok($regml(one, 1), 1, 63)
return
}
var %_y = $iif($regml(one, 3) isnum || !$regml(one, 4), 3, 4)
var %_t = $iif($regml(one, 3) isnum, 4, 3)
_cset %sn num %i
_cset %sn title $_regexp($regml(one, 2)) $iif($regml(one, 4), ( $+ $regml(one, %_t) $+ ))
_cset %sn url http://www.imdb.com $+ $gettok($regml(one, 1), 1, 63)
_cset %sn year $iif($regml(one, %_y), $ifmatch, n/a)
_parse %sn list
_cfree %sn
if ($_sget(%sn, opt_results) == %i) break
var %p = $bfind(&x, $calc(%p + 10), <tr>)
}
if (%i == 0) _parse %sn none
elseif (%i != $_sget(%sn, opt_results)) {
_cset %sn found %i
_parse %sn miss
}
}
elseif ($_sget(%sn, state) == 1) {
var %p 1
if ($_extract(%p, &x, &title, <h1>) != -1) {
var %p = $v1
var %_b = $bvar(&title, 1, 850).text
if ($regex(title, %_b, <h1>(.*?) <span>\x28<a href=".[^"]+">([\d\/\w]+)</a>([^\x29]*|)\x29( \x28[^\x29]+\x29|)(.*)</span></h1>)) {
var %t = $_regexp($regml(title, 1)) $+ $regml(title, 4)
var %y = $regml(title, 2) $+ $regml(title, 3)
var %_c = $regex(title_extra, $regml(title, 5), /<span class="(.[^"]+)">(.[^<]+)<\/span>/g)
while (%_c > 0) {
if ($regml(title_extra, 1) == tv-extra) {
var %x = $_regexp($regml(title_extra, 2))
if ($regex(title_extra_tv, %x, ([\w\s]+) ([\d]{4}-.{4}))) {
var %y = $regml(title_extra_tv, 2), %x = $regml(title_extra_tv, 1)
}
var %t = %t $+($chr(40),%x,$chr(41))
}
dec %_c
}
_cset %sn title %t
_cset %sn year %y
}
}
_cset %sn url $_sget(%sn, url)
_cset %sn rating Awaiting 5 votes.
_cset %sn rating_votes 0 votes
if ($_extract(%p, &x, &rating, <div class="starbar-special") != -1) {
var %p = $v1
var %_b = $bvar(&rating, 1, 850).text
if ($regex(rating_extra, %_b, <a href="/chart/.[^"]+">(.+?)</a>)) {
_cset %sn rating_extra $iif($regml(rating_extra, 1), - $_regexp($replace($regml(rating_extra, 1), top, Top, bottom, Bottom, ffb,)))
}
}
if ($_extract(%p, &x, &rating, <div class="starbar-meta") != -1) {
var %p = $v1
var %_b = $bvar(&rating, 1, 850).text
if ($regex(rating, %_b, <b>([0-9\.]+)/10</b> )) {
_cset %sn rating $+($regml(rating, 1),/10)
_cset %sn rating_bar $_rating($regml(rating, 1))
}
if ($regex(rating_votes, %_b, <a href="ratings"[^>]*>(.+?)</a>)) {
_cset %sn rating_votes $regml(rating_votes, 1)
}
}
var %p = $bfind(&x, %p, <h5>)
while ($regex(one, $replace($bvar(&x, %p, 850).text, $cr, $chr(32), $lf, $chr(32)), <h5>(.+?)</h5>)) {
var %t = $lower($remove($_regexp($regml(one, 1)),:)), %t = $replace(%t, $chr(32), _), %m
if ($regex(one, $replace($bvar(&x, %p, 850).text, $cr, $chr(32), $lf, $chr(32)), </h5>(.+?)(?:</div>|<br/><br/>))) {
if ($regex($regml(one, 1), <a href="[^"]*">.*?</a>[^<>]*<br/>)) {
var %m = $remove($replace($regml(one, 1), <br/> <a, <br/><a, <br/><a, $+($chr(32),/,$chr(32),<a)), &)
_cset %sn %t $_regexp(%m)
if (direct* iswm %t) { _cset %sn directed_by $_regexp(%m) }
elseif (writ* iswm %t) { _cset %sn writing_credits $_regexp(%m) }
}
else _cset %sn %t $_regexp($regml(one, 1))
}
var %p = $bfind(&x, $calc(%p + 1), <h5>)
}
var %p = $bfind(&x, 0, <table class="cast">)
if (%p > 0) {
var %e = $bfind(&x, %p, </table>), %i = 0, %m = $null, %c = $_ini(set, maxcast)
while ($regex(cast, $replace($bvar(&x, %p, 850).text, $cr, $chr(32), $lf, $chr(32)), <td class="nm"><a href="(.[^>]+)">(.+?)</a></td>)) && (%p < %e) {
if (%i == %c) { var %m = $+(%m,$chr(44),$chr(32), ...) | break }
var %m = $iif(%m != $null, $+(%m,$chr(44) )) $regml(cast, 2)
var %p = $calc($bfind(&x, %p, <td class="nm">) + 1)
inc %i
}
_cset %sn cast %m
}
if ($_sget(%sn, opt_boxoffice) == $true) {
var %url = $_sget(%sn, url)
sockclose %sn
_sopen %sn
_sset %sn state 2
_sset %sn url $+(%url,$iif($right(%url, 1) != /,/),business)
return
}
_parse %sn movie
}
elseif ($_sget(%sn, state) == 2) {
var %p = $bfind(&x, 0, <h5>)
while ($regex($replace($bvar(&x, %p, 850).text, $cr, $chr(32), $lf, $chr(32)), <h5>(.+?)</h5>)) {
var %c = $replace($lower($_regexp($regml(1))), $chr(32), _)
if ($regex($replace($bvar(&x, %p, 850).text, $cr, $chr(32), $lf, $chr(32)), </h5>(.+?)<br/>)) {
var %d = $regml(1)
if ($regex(%d, (.+?) \((.+?)\)(?: \((.+?)\)(?: \(([0-9,]+) .+?\)|)|))) && (%c != budget) {
_cset %sn %c $+ _value $regml(1)
_cset %sn %c $+ _region $regml(2)
if ($regml(3)) _cset %sn %c $+ _date $_regexp($ifmatch)
if ($regml(4)) _cset %sn %c $+ _screens $ifmatch
}
else _cset %sn %c $_regexp(%d)
}
var %p = $bfind(&x, $calc(%p + 1), <h5>)
}
_parse %sn movie
_cleanup %sn
}
elseif ($_sget(%sn, state) == 3) {
var %p = $bfind(&x, 1, <title>)
if ($regex($bvar(&x, %p, 100).text, <title>(.[^<]*)</title>)) {
_cset %sn name $_regexp($regml(1))
_cset %sn url $_sget(%sn, url)
}
var %p = $bfind(&x, %p, <h5>)
while ($regex($replace($bvar(&x, %p, 800).text, $cr, $chr(32), $lf, $chr(32)), <h5>(.[^<]*)</h5>(.*?)</div>)) {
var %m = $replace($lower($replace($remove($regml(1), :), Date of birth (location), Date of Birth, biography, Biography)),$chr(32),_)
_cset %sn %m $_regexp($regml(2))
var %p = $bfind(&x, $calc(%p + 1), <h5>)
}
_parse %sn cast
}
_cleanup %sn
}
alias -l _extract {
var %p $1, %_ih = $false
if (!$2) return -3
if ($3) bunset $3
if (!$regex(extract, $4, <(\w+))) return -2
var %_rs = $4, %_re = $+(</,$regml(extract, 1),>), %_rc = $+(<,$regml(extract, 1))
var %_s = $bfind($2, %p, %_rs).text, %_p = %_s, %_e = %_s
if (%_s == 0) return -1
; if there are no closing tags present, we've either got html not xml or invalid (x)html.
if ($bfind($2, %p, %_re).text == 0) var %_ih = $true
if ($5) var %_re = $5
if ($6) var %_rc = $6
while ($bfind($2, %_p, %_rc).text > 0) {
var %_v1 = $v1, %_p = $calc(%_v1 + 1)
if ((%_ih) && ($bfind($2, %_p, %_rc).text > 0)) {
var %_e = $v1, %_et = %_e
break
}
if ((%_v1 < %_e) || (%_e == %_s)) var %_e = $bfind($2, $calc(%_e + 1), %_re).text, %_et = $calc(%_e + $len(%_re))
else break
}
if ($3) bcopy -c $3 1 $2 %_s $calc(%_et - %_s)
return $iif(%_e > 0, %_et, 0)
}
;
; Main Input Alias
;
alias -l _input {
if (!$_chan($chan)) || (!$_ini(set, online)) return
var %fs = $_ini(set, flood_seconds), %fn = $_ini(set, flood_number)
if (%fn > 0) && (%fs > 0) {
if (%_imdb.flood. [ $+ [ $+($cid,.,$chan) ] ] == $null) { set $+(-u,%fs) %_imdb.flood. [ $+ [ $+($cid,.,$chan) ] ] 1 }
elseif (%_imdb.flood. [ $+ [ $+($cid,.,$chan) ] ] < %fn) inc %_imdb.flood. [ $+ [ $+($cid,.,$chan) ] ]
else return
}
elseif (%fe == 1) echo -ta [IMDb] Error: invalid flood settings. flood prevention disabled!
var %i 1, %_cb = $iif($_ini(set, boxoffice), $true, $false), %_cc $false
while (%i <= $0) {
var %cs = $gettok($1-, %i, 32)
if ($left(%cs, 1) != -) break
var %cj 0, %cl = $len(%cs)
while (%cj < %cl) {
inc %cj | var %cp = $mid(%cs, %cj, 1), %cd
if (%cp == -) continue
if ($regex($mid(%cs, $calc(%cj + 1)), ^([\d]+))) { var %cd = $regml(1) | inc %cj $len(%cd) }
; Work around for mIRC < 6.3 /var bug.
var %_t = $iif($len(%cd) > 0, %cd, $true), %_c [ $+ [ %cp ] ] %_t
}
inc %i
}
var %_cm = $iif($_ini(set, exact), $iif(%_cm, $false, $true), $iif(%_cm, $true, $false))
var %t = $gettok($1-, $+(%i,-), 32)
if (!%t) {
_msg $chan $cid $nick 4 IMDb Movie Search v2.04 by Meij <meijie@gmail.com> #parse / EFnet
_msg $chan $cid $nick 4 Usage: $_ini(set, trigger) [options] <search>
_msg $chan $cid $nick 4 Options:
_msg $chan $cid $nick 4 Matching: -m (switch between popular & exact searching) $+($chr(40),state: $iif(%_cm == $true,exact,popular),$chr(41))
_msg $chan $cid $nick 4 Box Office: -b (include budget/screens/gross) $+($chr(40),state: $iif(%_cb == $true,on,off),$chr(41))
_msg $chan $cid $nick 4 Cast & Crew: -c (search for actors/actresses/film makers and crew)
_msg $chan $cid $nick 4 List Results: -lN (where N is the number of results to list)
_msg $chan $cid $nick 4 Example: $_ini(set, trigger) -cl5 Keira
return
}
if (%_cl !isnum) var %_cl 0
if ($_ini(set, max) < %l) var %l $ifmatch
var %sn = $_sopen
; state:
; 0 = listing results
; 1 = movie info
; 2 = extended movie info
; 3 = cast / crew info
if ($regex(%t, ^http://(?:.+?\.|)imdb.com/[a-zA-Z0-9]+/([a-z]+)[0-9]+(?:/|)$)) {
_sset %sn state $iif($regml(1) == tt, 1, 3)
_sset %sn url %t
}
else {
_sset %sn state 0
_sset %sn search %t
}
_sset %sn chan $chan
_sset %sn scid $cid
_sset %sn nick $nick
_sset %sn opt_movies $iif(!%_cc, $true, $false)
_sset %sn opt_results %_cl
_sset %sn opt_boxoffice %_cb
_sset %sn opt_exact %_cm
}
;
; Queue Aliases
;
alias -l _info {
if ($1 isnum) {
if (%_imdb.queue. $+ [ $1 ]) && ($1 > 0) return %_imdb.queue. [ $+ [ $1 ] ]
elseif ($1 == 0) return $var(%_imdb.queue.*)
}
}
alias -l _msg {
set %_imdb.queue. [ $+ [ $calc($_info(0) + 1) ] ] $1-
; Added a 1 millisecond timer to the first _say to fix a bug with FiSH.
if (!$timer(_imdb)) { .timer -m 1 1 _say | .timer_imdb -m 0 2000 _say }
}
alias -l _say {
var %i 1
if (%_imdb.queue. [ $+ [ %i ] ]) {
tokenize 32 %_imdb.queue. [ $+ [ %i ] ]
scid $2
if ($3 ison $1) && ($me ison $1) && ($5) {
if ($4 == 1) msg $1 $5-
elseif ($4 == 2) .msg $3 $5-
elseif ($4 == 3) notice $1 $5-
else .notice $3 $5-
}
unset %_imdb.queue. [ $+ [ %i ] ] | var %h $calc(%i + 1)
while (%_imdb.queue. [ $+ [ %h ] ]) { set %_imdb.queue. [ $+ [ $calc(%h - 1) ] ] %_imdb.queue. [ $+ [ %h ] ] | unset %_imdb.queue. [ $+ [ %h ] ] | inc %h }
}
else .timer_imdb off
}
;
; Socket Aliases
;
alias -l _sopen {
if (!$1) {
:name
var %sn = $+(_imdb.,$md5($ticks))
if ($sock(%sn)) || ($hget(%sn $+ _settings)) goto name
}
else var %sn = $1
if ($_ini(set, proxy)) {
if ($_ini(set, host)) && ($_ini(set, port)) sockopen %sn $_ini(set, host) $_ini(set, port)
else echo -ta [IMDb] Error: please specify a hostname and port number in the proxy settings
}
else sockopen %sn www.imdb.com 80
return %sn
}
alias -l _sset { hadd -mcu300 $1 $+ _settings $$2 $3- }
alias -l _sget {
if ($prop == unset) return $hget($1 $+ _settings, $$2).unset
else return $hget($1 $+ _settings, $$2)
}
alias -l _sfree { hfree $$1 $+ _settings }
;
; Cookie Aliases
;
alias -l _cset { hadd -mcu300 $1 $+ _cookies $$2 $3- }
alias -l _cget {
if ($prop == item) && ($2 isnum) return $hget($1 $+ _cookies, $$2).item
elseif ($prop == data) && ($2 isnum) return $hget($1 $+ _cookies, $$2).data
}
alias -l _cfree { hfree $$1 $+ _cookies }
;
; Misc Aliases
;
alias -l _ban {
var %i 1
while (%i <= $ini($scriptdirimdb.set, ban, 0)) {
var %x = $readini($scriptdirimdb.set, n, ban, $ini($scriptdirimdb.set, ban, %i))
if ($1 isnum) && ($1 == %i) return %x
elseif (%x iswm $1) return 0
inc %i
}
return $iif($1 == 0,$calc(%i - 1), 1)
}
alias -l _item {
var %i 1
while ($hget($1,%i).item) inc %i
return %i
}
alias -l _rating {
var %s = $ceil($1), %i 1
while (%i <= 10) { if (%i <= %s) { var %z $+(%z,7*) } | else { var %z $+(%z,14*) } | inc %i }
return $+(11[,%z,11])
}
alias -l _regexp {
var %i 1, %l quot 34|lt 60|lg 62|amp 38|nbsp 32, %m $1
while ($regex(two, %m, /(&#(\d{1,3});)/s)) { var %m = $replace(%m, $regml(two, 1), $chr($regml(two, 2))) }
noop $regsub(three, %m, /<a class="tn15more[^"]*"[^>]*>.*?</a>.*/g,, %m)
noop $regsub(three, %m, /<a href="[^"]*" onClick="\(new Image\(\)\).[^"]*">.*?</a>.*/g,, %m)
noop $regsub(three, %m, /<[^>]+>/g,$chr(32), %m)
while (%i <= $gettok(%l,0,124)) {
var %t = $gettok(%l,%i,124)
noop $regsub(three, %m, $+(/&,$gettok(%t,1,32),;/g), $chr($gettok(%t,2,32)), %m)
inc %i
}
noop $regsub(three, %m, /&[^;]+;/g,, %m)
return $replace($remove(%m, (WGA)), $chr(160), $chr(32), $chr(124), $chr(47))
}
alias -l _mode { return $iif($_ini(set, msgmode), $ifmatch, 1) }
alias -l _encode {
var %s, %p = $len($1-)
while (%p) {
if ($mid($1-,%p,1) isalnum) %s = $+($ifmatch,%s)
else %s = $+(%,$base($asc($mid($1-,%p,1)),10,16),%s)
dec %p
}
return %s
}
alias -l _ini {
if ($isid) return $readini($scriptdirimdb.set, n, $1, $$2)
elseif ($3) writeini $+(",$scriptdir,imdb.set,") $1 $2 $$3-
else remini $+(",$scriptdir,imdb.set,") $$1 $2
}
alias -l _trigger {
if ($1 == $_ini(set, trigger)) return 1
return 0
}
alias -l _chan {
if ($_ini(set, all)) { return 1 }
var %i 1, %l $_ini(set, networks)
while (%i <= $gettok(%l, 0, 44)) {
var %n = $gettok(%l, %i, 44)
if (%n == $network) {
var %j 1
while (%j <= $gettok($_ini(set, $+(.,%n)), 0, 44)) {
var %c = $gettok($_ini(set, $+(.,%n)), %j, 44)
if (%c == $1) return 1
inc %j
}
}
inc %i
}
}
alias -l _cleanup { hfree -w $$1 $+ * }
;
; Output Parsing Aliases
;
alias -l _mini {
var %i 1, %l
while (%i <= $ini($scriptdirimdb.set, $1, 0)) {
var %m = $ini($scriptdirimdb.set, $1, %i)
if ($iif($3,$3-,*) iswm %m) var %l = $addtok(%l, %m, 44)
inc %i
}
var %l = $sorttok(%l, 44)
return $iif($2 == 0, $gettok(%l, 0, 44), $gettok(%l, $2, 44))
}
alias -l _codes {
var %i 1, %o $$1-, %r = $+(/&b\^/g 2|/&u\^/g 31|/&o\^/g 15|/&k\^/g 3|/&r\^/g 22)
while (%i <= $gettok(%r, 0, 124)) {
var %t = $gettok(%r, %i, 124)
noop $regsub(%o, $gettok(%t, 1, 32), $iif($gettok(%t, 2, 32) isnum, $chr($ifmatch), $ifmatch), %o)
inc %i
}
return %o
}
alias -l _parse {
var %i 1, %m $+($2,_), %sn = $1
var %chan = $_sget(%sn, chan), %scid = $_sget(%sn, scid), %nick = $_sget(%sn, nick)
_cset %sn chan %chan
_cset %sn nick %nick
_cset %sn limit $_sget(%sn, opt_results)
_cset %sn search $_sget(%sn, search)
while (%i <= $_mini(outp, 0, %m $+ *)) {
var %l = $_codes($_ini(outp, %m $+ %i)), %j 1, %o %l
while (%j <= $_cget(%sn, 0).item) {
noop $regsub(%o, $+(/&(!)?,$_cget(%sn, %j).item,\^/g), $replace($_cget(%sn, %j).data, $chr(36), $cr), %o)
inc %j
}
inc %i
if ($regex(%l, /&[^&]*?\^/g) != $regex(%o, /&[^&]*?\^/g)) {
noop $regsub(%o,/&[^!][^&]*?\^/g,n/a, %o)
noop $regsub(%o,/&[^&]*?\^/g,, %o)
_msg %chan %scid %nick $_mode $replace(%o, $cr, $chr(36))
}
}
}
;
; Dialog Stuff
;
alias _imdb { if (!$dialog(_imdb)) { dialog -m _imdb _imdb } }
alias -l _replace { return $replace($$1-, $chr(2), &b^, $chr(31), &u^, $chr(15), &o^, $chr(3), &k^, $chr(22), &r^)) }
dialog -l _imdb {
title "IMDb Movie Search v2.04"
icon imdb.ico, 0
size -1 -1 362 248
option pixels notheme
tab "General", 1, -2 1 366 258
tab "Theme", 20
tab "Bans", 17
tab "Misc", 27
box "Proxy", 34, 6 26 348 76, tab 27
combo 2, 256 42 100 86, tab 1 size drop
combo 3, 6 42 120 144, tab 1 size
combo 4, 130 42 120 144, tab 1 size
edit "", 6, 255 80 102 22, tab 1
text "Trigger:", 7, 258 66 40 14, tab 1
text "Channels:", 8, 132 26 48 14, tab 1
text "Networks:", 9, 8 26 50 14, tab 1
button "+", 10, 132 187 20 20, tab 1
button "-", 11, 156 187 20 20, tab 1
button "+", 12, 6 187 20 20, tab 1
button "-", 13, 30 187 20 20, tab 1
check "All", 14, 218 186 32 20, tab 1 left
check "Enable", 15, 300 222 52 19, left
text "Message Mode:", 16, 258 26 78 14, tab 1
button "Done", 5, 144 217 72 24, ok
combo 18, 6 42 120 120, tab 20 size drop
text "", 19, 252 42 102 16, tab 20 hide
edit "", 22, 5 62 351 146, tab 20 autohs autovs multi return vsbar
text "Type:", 23, 8 26 33 14, tab 20
combo 21, 6 42 348 144, tab 17 size
text "Host Mask:", 24, 8 26 56 14, tab 17
button "-", 25, 30 187 20 20, tab 17
button "+", 26, 6 187 20 20, tab 17
text "Host:", 29, 14 40 28 14, tab 27 right
edit "", 30, 12 55 272 22, tab 27
text "Port:", 31, 288 40 26 14, tab 27 right
edit "", 32, 286 55 60 22, tab 27
check "Enable", 33, 293 78 52 18, tab 27 left
box "Defaults", 28, 6 106 349 98, tab 27
text "Max Results:", 35, 14 122 69 14, tab 27
edit "", 36, 12 137 81 22, tab 27 right
edit "", 37, 12 176 81 22, tab 27 right
text "Max Cast:", 38, 14 161 55 14, tab 27
check "Show", 39, 131 138 63 17, tab 27
text "Box Office:", 40, 131 122 62 14, tab 27
text "Matching:", 41, 131 161 63 14, tab 27
combo 42, 131 176 100 60, tab 27 drop
edit "", 43, 250 137 81 22, tab 27 right
edit "", 44, 250 176 81 22, tab 27 right
scroll "", 45, 331 137 17 21, tab 27 left range 0 2
scroll "", 46, 331 175 17 21, tab 27 left range 0 2
text "Flood Count:", 47, 250 122 69 14, tab 27
text "Flood Period:", 48, 250 161 67 14, tab 27
scroll "", 49, 93 137 17 21, tab 27 left range 0 2
scroll "", 50, 93 176 17 21, tab 27 left range 0 2
}
on *:DIALOG:_imdb:*:*: {
if ($devent == init) {
; General
if ($_ini(set, online)) did -c $dname 15
didtok $dname 2 44 Message (C),Message (P),Notice (C),Notice (P)
did -c $dname 2 $iif($_ini(set, msgmode),$ifmatch,1)
did -ra $dname 6 $_ini(set, trigger)
didtok $dname 3 44 $_ini(set, networks)
if ($did($dname, 3).lines > 0) didtok $dname 4 44 $_ini(set, . $+ $did($dname, 3, 1))
if ($_ini(set, all)) { did -c $dname 14 | did -b $dname 3,4,10,11,12,13 }
; Theme
did -r $dname 18,22,19
didtok $dname 18 44 Movie,Cast,List,None,Miss,Error
did -c $dname 18 1
var %i 1, %n $_mini(outp, 0, movie_*)
while (%i <= %n) {
var %o = $+(%o,$_ini(outp, movie_ $+ %i),$iif(%i != %n,$crlf))
inc %i
}
did -a $dname 22 %o
did -j $dname 22
did -c $dname 22 1
did -a $dname 19 $did($dname, 18).text
; Bans
var %i 1
while (%i <= $_ban(0)) { did -a $dname 21 $_ban(%i) | inc %i }
; Proxy
did -a $dname 30 $_ini(set, host)
did -a $dname 32 $_ini(set, port)
if (!$_ini(set, proxy)) || (!$_ini(set, host)) || (!$_ini(set, port)) did -b $dname 30,32
else did -c $dname 33
; Defaults
did -c $dname 45,46,49,50 1
didtok $dname 42 44 Popular,Exact
did -c $dname 42 $iif($_ini(set, exact), 2, 1)
did -a $dname 36 $_ini(set, max)
did -a $dname 37 $_ini(set, maxcast)
if ($_ini(set, boxoffice)) did -c $dname 39
did -a $dname 43 $_ini(set, flood_number)
did -a $dname 44 $_ini(set, flood_seconds)
}
; Theme Saving
if ((($devent == sclick) && ($did == 18)) || ($devent == close)) && ($did($dname, 22).edited) {
var %m = $+($lower($did($dname, 19).text),_*)
var %i 1, %t = $_mini(outp, 0, %m)
while (%i <= %t) { _ini outp $_mini(outp, 1, %m) | inc %i }
var %i 1
while (%i <= $did($dname, 22).lines) {
var %m = $+($lower($did($dname, 19).text),_,%i)
var %t = $did($dname, 22, %i).text
if (%t) { _ini outp %m $_replace(%t) | inc %i }
else did -d $dname 22 %i
}
}
if ($devent == scroll) {
; Misc
var %i 1, %s = 45 43 46 44 49 36 50 37, %sc = $gettok(%s, 0 ,32)
while (%i < %sc) { if ($did == $gettok(%s, %i, 32)) { var %t = $gettok(%s, $calc(%i + 1), 32) | break } | inc %i 2 }
if (!%t) return
var %x = $did($dname, %t).text
if (%x !isnum) var %x = 0
if ($did($dname, $did).sel == 0) var %x = $calc(%x + 1)
else var %x = $calc(%x - 1)
if (%x < 0) var %x 0
did -ra $dname %t %x
did -c $dname $did 1
}
if ($devent == sclick) {
; General
if ($did == 2) _ini set msgmode $did($dname, 2).sel
if ($did == 15) _ini set online $did($dname, 15).state
if ($did == 14) {
_ini set all $did($dname, 14).state
if ($did($dname, 14).state == 1) {
did -u $dname 3
did -b $dname 3,4,10,11,12,13
}
else {
did -e $dname 3,4,10,11,12,13
if ($did($dname, 3, 1).text) {
did -c $dname 3 1
did -r $dname 4
didtok $dname 4 44 $_ini(set, . $+ $did($dname, 3, 1))
}
did -f $dname 3
}
}
if ($did == 3) && ($did($dname, 3).sel isnum) {
did -r $dname 4
did -d $dname 4 0
didtok $dname 4 44 $_ini(set, . $+ $did($dname, 3, $did($dname, 3).sel))
}
if ($did == 4) && ($did($dname, 3).sel == 0) did -c $dname 3 1
if ($did == 12) || ($did == 13) {
did -r $dname 4
did -d $dname 4 0
if ($did == 12) && (!$did($dname, 3).sel) && ($did($dname, 3).text) {
did -a $dname 3 $did($dname, 3).text
did -c $dname 3 $did($dname, 3).lines
_ini set networks $didtok($dname, 3, 44)
didtok $dname 4 44 $_ini(set, . $+ $did($dname, 3).text)
}
if ($did == 13) && ($did($dname, 3).sel isnum) {
var %s = $did($dname, 3).sel
did -d $dname 3 %s
_ini set networks $didtok($dname, 3, 44)
while (%s > 0) { if ($did($dname, 3,%s).text) { did -c $dname 3 %s | didtok $dname 4 44 $_ini(set, . $+ $did($dname, 3, %s)) | break } | dec %s }
}
did -f $dname 3
}
if ($did == 10) && (!$did($dname, 4).sel) && ($did($dname, 4).text) && ($did($dname, 3).seltext) {
var %t $did($dname, 4).text
did -a $dname 4 $iif($left(%t, 1) != $chr(35),$+($chr(35),%t),%t)
did -c $dname 4 $did($dname, 4).lines
_ini set $+(.,$did($dname, 3).seltext) $didtok($dname, 4, 44)
did -f $dname 4
}
if ($did == 11) && ($did($dname, 4).sel isnum) {
var %s $did($dname, 4).sel
did -d $dname 4 %s
_ini set $+(.,$did($dname, 3).seltext) $didtok($dname, 4, 44)
while (%s > 0) { if ($did($dname, 4,%s).text) { did -c $dname 4 %s | break } | dec %s }
did -f $dname 4
}
; Theme
if ($did == 18) {
did -ra $dname 19 $did($dname, 18).text
did -r $dname 22
var %i 1, %n $_mini(outp, 0, $+($did($dname, 18).seltext,_*))
while (%i <= %n) {
var %s = $_mini(outp, %i, $+($did($dname, 18).seltext,_*))
var %o = $+(%o,$_ini(outp, %s),$iif(%i != %n,$crlf))
inc %i
}
did -a $dname 22 %o
did -j $dname 22
did -c $dname 22 1
}
; Proxy
if ($did == 33) {
_ini set proxy $did($dname, 33).state
if ($did($dname, 33).state == 1) did -e $dname 30,32
else did -b $dname 30,32
}
; Bans
if ($did == 26) && ($did($dname, 21).text) {
did -a $dname 21 $did($dname, 21).text
did -c $dname 21 $did($dname, 21).lines
did -f $dname 21
}
if ($did == 25) && ($did($dname, 21).sel) {
var %s $did($dname, 21).sel
did -d $dname 21 %s
while (%s > 0) { if ($did($dname, 21, %s).text) { did -c $dname 21 %s | break } | dec %s }
did -f $dname 21
}
; Defaults
if ($did == 39) _ini set boxoffice $did($dname, 39).state
if ($did == 42) _ini set exact $iif($did($dname, 42).sel == 2, 1, 0)
}
if ($devent == close) {
; General
if ($did($dname, 6).text) _ini set trigger $iif($gettok($did($dname,6).text, 1, 32),$ifmatch,!imdb)
; Bans
_ini ban
var %i 1
while (%i <= $did($dname, 21).lines) { _ini ban %i $did($dname, 21, %i) | inc %i }
; Proxy
if (!$did($dname, 32).text isnum) { _ini set host $did($dname, 30).text | _ini set port $did($dname, 32).text }
; Defaults
if ($did($dname, 36).text isnum) _ini set max $did($dname, 36).text
if ($did($dname, 37).text isnum) _ini set maxcast $did($dname, 37).text
if ($did($dname, 43).text isnum) _ini set flood_number $did($dname, 43).text
if ($did($dname, 44).text isnum) _ini set flood_seconds $did($dname, 44).text
}
}
#_imdb_compat on
alias -l noop .echo -q $1-
#_imdb_compat end
@MashhitDK This is Meij's script. He didn't change it at all.
The script is here -->> http://www.mircscripts.org/comments.php?cid=1405
Exactly the same as the one at the top of this page. The original script works fine. This one will give you errors because it's missing the icons for the dialogs.
There is a simple procedure to check this.
First make a pastebin with the Original and save it. Second Paste the edit over the original and save it with the same name. Last click Differences and it will show both versions with the differences highlighted.
Like this -->> http://pastebin.com/diff.php?i=5JJCFKSe
In this case the only line he changed was the one at the top where he lies and says he edited the script.
This script is 100% ripped and should be deleted!!!