mIRC Home    About    Download    Register    News    Help

Print Thread
#189812 12/11/07 02:01 AM
Joined: Nov 2007
Posts: 2
B
Bowl of petunias
OP Offline
Bowl of petunias
B
Joined: Nov 2007
Posts: 2
Hi Guys

i have a script that lets people in the channel look for a movie on the website www.imdb.com

such as

!imdb green mile

what i want to know is there a code i can put in the script so that only one request in a certain time frame can be performed

so if someone was to put

!imdb green mile
!imdb green mile
!imdb green mile
!imdb green mile

it would only post one set of results and not all of them.

Thanks Guys

brindyman

Last edited by brindyman; 12/11/07 02:01 AM.
brindyman #189814 12/11/07 02:07 AM
Joined: Jun 2006
Posts: 508
D
Fjord artisan
Offline
Fjord artisan
D
Joined: Jun 2006
Posts: 508
Code:
on *:text:!imdb *:#:{
  if %imdbcontrol { return }
  inc -u300 %imdbcontrol
  ; rest of code
  ;...
}

-u300 is 300 seconds

deegee #189827 12/11/07 02:53 AM
Joined: Nov 2007
Posts: 2
B
Bowl of petunias
OP Offline
Bowl of petunias
B
Joined: Nov 2007
Posts: 2
that doesnt seem to have worked

here is the script i have atm

highlighted text is the one you told me to put in

thanks

sorry im a total script noob

on *:LOAD: {
if ($version < 6.03) {
.unload -rs $+(",$script,")
echo -ts IMDb Movie Search v1.9 Requires mIRC v6.03 or newer to be installed successfully, script auto-unloaded.
}
else { echo -ts IMDb Movie Search v1.9, Successfully loaded - Type /_imdb to configure. }
}
on *:UNLOAD: {
if ($timer(_imdb)) { .timer_imdb off }
unset %queue._imdb.*
hfree -w _imdb.*
echo -ts IMDb Movie Search v1.9, Successfully unloaded.
}
on *:text:!imdb *:#:{
if %imdbcontrol { return }
inc -u300 %imdbcontrol
; rest of code
;...

on *:INPUT:#: { if ($_trigger($1)) { _input $chan $cid $nick $2- } }
on *:SOCKOPEN:_imdb.*: {
tokenize 32 $sock($sockname).mark
if ($1 == 0) { var %u = $+(/find?s=,$iif($6,nm,tt),&q=,$_encode($8-)) }
elseif ($7) { var %u = $remove($7,http://www.imdb.com) }

sockwrite -nt $sockname GET %u HTTP/1.0
sockwrite -nt $sockname Accept-Language: en-us
sockwrite -nt $sockname User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.4) Gecko/20070515 Firefox/2.0.0.4
sockwrite -nt $sockname Referer: http://www.imdb.com/search
sockwrite -nt $sockname Host: www.imdb.com
sockwrite -nt $sockname Connection: keep-alive
sockwrite -t $sockname $str($crlf,2)
}
on *:SOCKREAD:_imdb.*: {
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) {
_hadd $sockname error %r
_parse $sockname error $sock($sockname).mark
sockclose $sockname
return
}
}
if ($bfind(&x,1,$crlf $+ Location:) > 0) {
if ($regex($bvar(&x,$ifmatch,800).text, Location: (.[^ $+ $crlf $+ ]+))) {
tokenize 32 $sock($sockname).mark
if ($hget($sockname)) { if ($hget($sockname)) { hfree $sockname } }
sockclose $sockname
sockmark $_open $iif($6,3,1) $2 $3 $4 $5 $6 $gettok($regml(1),1,63) $8-
return
}
}
hadd -mbu300 $sockname $_item($sockname) &x
if ($bfind(&x, 1, </html>)) { var %sn $sockname, %sm $sock(%sn).mark | sockclose $sockname | _main %sn %sm | return }
goto nextread
}
on *:SOCKCLOSE:_imdb.*: { _main $sockname $sock($sockname).mark | return }

;
; Main HTML Parsing Alias
;
alias -l _main {
var %i 1, %sn $1
bunset &x
while ($hget(%sn,%i).item) {
.echo -q $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) {
_hadd %sn error No data received on socket!
_parse %sn error $2-
sockclose %sn
return
}
tokenize 32 $2-
if ($1 == 0) {
var %i 0, %p = $bfind(&x, 1, <table>)
while ($regex(one, $bvar(&x, %p, 850).text, <td valign="top">.*?<br><a href="(.[^"]+)".*?>(.[^<]+)</a>(.*?\x28.[^\x2C]+|.[^<]*).*?<br>)) {
inc %i
if (!$5) {
if ($hget(%sn)) { hfree %sn }
sockmark $_open $iif($6,3,1) $2 $3 $4 $5 $6 $+(http://www.imdb.com,$gettok($regml(one, 1),1,63)) $8-
return
}
else {
_hadd %sn num %i
_hadd %sn title $_regexp($regml(one, 2))
_hadd %sn url http://www.imdb.com $+ $gettok($regml(one, 1),1,63)
_hadd %sn year $iif($remove($regml(one, 3),$chr(40),$chr(41),$chr(32),<small>),$ifmatch,n/a)
_parse %sn list $1-
}
if ($5 == %i) { break }
var %p = $bfind(&x, $calc(%p + 10), <tr>)
}
if (%i == 0) { _parse %sn none $1- }
elseif (%i != $5) {
_hadd %sn found %i
_parse %sn miss $1-
}
}
elseif ($1 == 1) {
var %p = $bfind(&x, 1, <title>)
if ($regex($bvar(&x, %p, 100).text, <title>(.[^<]*)</title>)) {
_hadd %sn title $_regexp($regml(1))
_hadd %sn url $7
_hadd %sn rating Awaiting 5 votes.
_hadd %sn rating_votes 0 votes
_hadd %sn rating_bar
_hadd %sn rating_extra
}
var %p = $bfind(&x, %p, <div id="tn15rating)
if ($regex(one, $remove($bvar(&x, %p, 850).text, $cr, $lf), <div id="tn15rating".[^>]*>(.+?)</a></div></div>)) {
if ($regex(one, $regml(one, 1), <b>([0-9\.]+)/10</b> .*?<small>\(<a href="ratings">(.*?)</a>\)</small>(?:.*?<a href=".[^"]+">(.+?)</a>|))) {
_hadd %sn rating_bar $_rating($regml(one, 1))
_hadd %sn rating $+($regml(one, 1),/10)
_hadd %sn rating_votes $regml(one, 2)
_hadd %sn rating_extra $iif($regml(one, 3), - $_regexp($replace($regml(one, 3), top, Top, bottom, Bottom, ffb,)))
}
}
var %p = $bfind(&x, %p, <h5>)
while ($regex(one, $remove($bvar(&x, %p, 850).text, $cr, $lf), <h5>(.+?)</h5>)) {
var %t = $replace($lower($remove($_regexp($regml(one, 1)),:)), $chr(32), _), %m
if ($regex(one, $remove($bvar(&x, %p, 850).text, $cr, $lf), </h5>(.+?)(?:</div>|<br/><br/>))) {
if (%t == writing_credits) || (%t == directed_by) {
var %m = $replace($regml(one, 1), <br/><a, $+($chr(32),/,$chr(32),<a))
_hadd %sn %t $_regexp(%m)
}
else {
_hadd %sn %t $_regexp($regml(one, 1))
}
}
var %p = $bfind(&x, $calc(%p + 1), <h5>)
}
_parse %sn movie $1-
}
elseif ($1 == 3) {
var %p = $bfind(&x, 1, <title>)
if ($regex($bvar(&x, %p, 100).text, <title>(.[^<]*)</title>)) {
_hadd %sn name $_regexp($regml(1))
_hadd %sn url $7
}
var %p = $bfind(&x, %p, <h5>)
while ($regex($remove($bvar(&x, %p, 800).text, $cr, $lf), <h5>(.[^<]*)</h5>(.*?)</div>)) {
var %m = $replace($lower($replace($remove($regml(1), :), Date of birth (location), Date of Birth, biography, Biography)),$chr(32),_)
_hadd %sn %m $_regexp($regml(2))
var %p = $bfind(&x, $calc(%p + 1), <h5>)
}
_parse %sn cast $1-
}
}

;
; Main Input Alias
;
alias -l _input {
if (!$_chan($1)) || (!$_ini(set, online)) { return }
var %l 0, %c 0, %i 1
while (%i <= $calc($0 - 3)) {
var %m = $gettok($4-,%i,32)
if (($left(%m,2) iswm -l) && ($right(%m,-2) isnum)) { var %l $right(%m,-2) }
elseif (%m == -c) { var %c 1 }
else { break }
inc %i
}
var %t = $gettok($4-, $+(%i,-), 32)
if (!%t) {
_msg $1 $2 $3 3 $decode(AklNRGIgTW92aWUgU2VhcmNoIHYxLjkCIGJ5IE1laWogPG1laWppZUBnbWFpbC5jb20+,m)
_msg $1 $2 $3 3 $eval($decode(AlVzYWdlAjogJF9pbmkoc2V0LCB0cmlnZ2VyKSBbb3B0aW9uc10gPHNlYXJjaD4=,m),2)
_msg $1 $2 $3 3 $decode(Ak9wdGlvbnMCOg==,m)
_msg $1 $2 $3 3 $decode(AiACIAIgAiACIAJMaXN0IFJlc3VsdHM6IC1sTiAod2hlcmUgTiBpcyB0aGUgbnVtYmVyIG9mIHJlc3VsdHMgdG8gbGlzdCk=,m)
_msg $1 $2 $3 3 $decode(AiACIAIgAiACIAJDYXN0ICYgQ3JldzogLWMgKHNlYXJjaCBmb3IgYWN0b3JzL2FjdHJlc3Nlcy9maWxtIG1ha2VycyBhbmQgY3Jldyk=,m)
_msg $1 $2 $3 3 $eval($decode(AkV4YW1wbGUCOiAkX2luaShzZXQsIHRyaWdnZXIpIC1jIC1sNSBLZWlyYQ==,m),2)
return
}
if ($_ini(set, max) < %l) { var %l $ifmatch }

; Format:
; 1 = what part are we up to
; 0 = listing results
; 1 = movie info
; 2 = extended movie info (not added yet)
; 3 = cast / crew info
; 2 = channel the trigger was activated from
; 3 = network scid
; 4 = nickname of the person who activated it
; 5 = how many results to list (1, this is default)
; 6 = get cast and crew info (0 = get movie info, this is default)
; 7 = used for passing urls between events (0 = defualt)
; 8 = search string
sockmark $_open 0 $1 $2 $3 %l %c 0 %t
}

;
; Queue Aliases
;
alias -l _msg {
set %queue._imdb. [ $+ [ $calc($_info(0) + 1) ] ] $1-
if (!$timer(_imdb)) { .timer_imdb -m 0 2000 _say }
}
alias -l _info {
if ($1 isnum) {
if (%queue._imdb. [ $+ [ $1 ] ]) && ($1 > 0) { return %queue._imdb. [ $+ [ $1 ] ] }
elseif ($1 == 0) { return $var(%queue._imdb.*) }
}
}
alias -l _say {
var %i 1
if (%queue._imdb. [ $+ [ %i ] ]) {
tokenize 32 %queue._imdb. [ $+ [ %i ] ]
scid $2
if ($3 ison $1) && ($me ison $1) && ($5) {
if ($4 == 1) { msg $1 $5- }
elseif ($4 == 2) { .msg $3 $5- }
else { .notice $3 $5- }
}
unset %queue._imdb. [ $+ [ %i ] ] | var %h $calc(%i + 1)
while (%queue._imdb. [ $+ [ %h ] ]) { set %queue._imdb. [ $+ [ $calc(%h - 1) ] ] %queue._imdb. [ $+ [ %h ] ] | unset %queue._imdb. [ $+ [ %h ] ] | inc %h }
}
else { .timer_imdb off }
}

;
; Socket Aliases
;
alias -l _open {
:name
var %s = $+(_imdb.,$md5($ticks))
if ($sock(%s)) { goto name }
if ($_ini(set, proxy)) {
if ($_ini(set, host)) && ($_ini(set, port)) { sockopen %s $_ini(set, host) $_ini(set, port) }
else { echo -ta [IMDb] Error: please specify a hostname and port number in the proxy settings }
}
else { sockopen %s www.imdb.com 80 }
return %s
}

;
; 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))) }
.echo -q $regsub(%m, /(\.\.\. \/ |\.\.\. |\/ |)<a class="tn15more[^"]*"[^>]*>more</a>/g,, %m)
.echo -q $regsub(%m, /<[^>]+>/g,, %m)
while (%i <= $gettok(%l,0,124)) {
var %t = $gettok(%l,%i,124)
.echo -q $regsub(%m, $+(/&,$gettok(%t,1,32),;/g), $chr($gettok(%t,2,32)), %m)
inc %i
}
.echo -q $regsub(%m, /&[^;]+;/g,, %m)
return $remove(%m, (show more), (WGA), (view trailer))
}
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
}
}

;
; 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 _hadd { hadd -mcu300 $1 $$2 $3- }
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)
.echo -q $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,_*), %s $3-
_hadd $1 chan $gettok(%s, 2, 32)
_hadd $1 nick $gettok(%s, 4, 32)
_hadd $1 limit $gettok(%s, 5, 32)
_hadd $1 search $gettok(%s, 8-, 32)
while (%i <= $_mini(outp, 0, %m)) {
var %e = $_mini(outp, %i, %m), %l = $_codes($_ini(outp, %e)), %j 1, %o %l
while (%j <= $hget($1, 0).item) {
.echo -q $regsub(%o, $+(/&,$hget($1, %j).item,\^/g), $hget($1, $hget($1, %j).item), %o)
inc %j
}
inc %i
if ($regex(%l, /&[^&]*?\^/g) != $regex(%o, /&[^&]*?\^/g)) {
.echo -q $regsub(%o,/&[^&]*?\^/g,n/a, %o)
_msg $gettok(%s, 2, 32) $gettok(%s, 3, 32) $gettok(%s, 4, 32) $_mode %o
}
}
if ($hget($1)) { hfree $1 }
}

;
; Dialog Stuff
;
alias _imdb { if (!$dialog(_imdb)) { dialog -m _imdb _imdb } }
alias -l _cmbload {
var %i 1
while (%i <= $gettok($_ini($3, $4),0,44)) {
did -a $1 $2 $gettok($_ini($3, $4),%i,44)
inc %i
}
}
alias -l _cmbsave {
var %i 1, %j
while ($did($1,$2,%i).text) {
var %j = $+($iif(%j,$+(%j,$chr(44))),$did($1,$2,%i).text)
inc %i
}
return %j
}
alias -l _replace { return $replace($$1-, $chr(2), &b^, $chr(31), &u^, $chr(15), &o^, $chr(3), &k^, $chr(22), &r^)) }
dialog _imdb {
title "IMDb Movie Search - Settings [/_imdb]"
size -1 -1 190 102
option dbu
combo 5, 0 9 60 72, sort size
combo 1, 61 9 61 72, sort size
button "Done", 2, 74 93 37 9, ok cancel
edit "", 3, 127 37 60 10
text "Trigger:", 4, 127 30 20 7
text "Channels", 6, 80 1 23 7
text "Networks", 7, 18 1 24 7
button "Add", 8, 61 81 16 9
button "Rem", 9, 78 81 16 9
button "Add", 10, 0 81 16 9
button "Rem", 11, 17 81 16 9
check "All", 16, 106 81 17 10
check "Enable Script", 15, 128 48 46 9
combo 12, 127 19 60 43, size drop
box "Options", 13, 124 6 66 85
text "Message Mode", 14, 127 12 37 7
button "Ban List", 20, 127 59 60 9
button "Proxy Settings", 17, 127 69 60 9
button "Configure Output", 18, 127 79 60 9
}
dialog _imdb.proxy {
title "IMDb Movie Search - Proxy Settings"
size -1 -1 164 19
option dbu
button "Done", 1, 62 10 37 9, ok cancel
text "Host:", 2, 0 1 14 8, right
edit "", 3, 15 0 102 10
text "Port:", 4, 118 1 13 8, right
edit "", 5, 132 0 31 10
check "Enabled", 6, 133 10 30 9
}
dialog _imdb.ban {
title "IMDb Movie Search - Ban List"
size -1 -1 190 102
option dbu
combo 1, 1 1 188 92, size
button "Done", 2, 74 93 37 9, ok cancel
button "Add", 3, 0 93 16 9, default
button "Rem", 4, 17 93 16 9
}
dialog _imdb.output {
title "IMDb Movie Search - Configure Output"
size -1 -1 190 102
option dbu
edit "", 1, 0 12 190 80, multi return autohs autovs vsbar
combo 2, 1 1 60 50, size drop
text "", 3, 136 3 51 8, hide
button "Done", 4, 74 93 37 9, ok cancel
}
on *:DIALOG:_imdb:*:*: {
if ($devent == init) {
if ($_ini(set, online)) { did -c $dname 15 }
did -a $dname 12 Channel
did -a $dname 12 Private
did -a $dname 12 Notice
did -c $dname 12 $iif($_ini(set, msgmode),$ifmatch,1)
did -ra $dname 3 $_ini(set, trigger)
_cmbload $dname 5 set networks
if ($_ini(set, all)) { did -c $dname 16 | did -b $dname 1,5,8,9,10,11 }
else { did -c $dname 5 1 }
if ($did($dname,5,1).text) {
_cmbload $dname 1 set . $+ $did($dname,5,1)
}
}
if ($devent == sclick) {
if ($did == 19) { run $did($dname,19).text }
if ($did == 17) { if (!$dialog(_imdb.proxy)) { dialog -ma _imdb.proxy _imdb.proxy } }
if ($did == 20) { if (!$dialog(_imdb.ban)) { dialog -ma _imdb.ban _imdb.ban } }
if ($did == 18) { if (!$dialog(_imdb.output)) { dialog -ma _imdb.output _imdb.output } }
if ($did == 12) { _ini set msgmode $did($dname,12).sel }
if ($did == 15) { _ini set online $did($dname,15).state }
if ($did == 16) {
_ini set all $did($dname,16).state
if ($did($dname,16).state == 1) {
did -u $dname 5
did -b $dname 1,5,8,9,10,11
}
else {
did -e $dname 1,5,8,9,10,11
if ($did($dname,5,1).text) {
did -c $dname 5 1
did -r $dname 1
_cmbload $dname 1 set . $+ $did($dname,5,1)
}
did -f $dname 5
}
}
if ($did == 5) && ($did($dname,5).sel isnum) {
did -r $dname 1
_cmbload $dname 1 set . $+ $did($dname,5,$did($dname,5).sel)
}
if ($did == 10) && (!$did($dname,5).sel) && ($did($dname,5).text) {
did -a $dname 5 $did($dname,5).text
did -c $dname 5 $did($dname,5).lines
_ini set networks $_cmbsave($dname,5)
did -r $dname 1
_cmbload $dname 1 set . $+ $did($dname,5).text
did -f $dname 5
}
if ($did == 11) && ($did($dname,5).sel isnum) {
var %s $did($dname,5).sel
did -d $dname 5 %s
_ini set networks $_cmbsave($dname,5)
did -r $dname 1
while (%s > 0) {
if ($did($dname,5,%s).text) {
did -c $dname 5 %s
_cmbload $dname 1 set . $+ $did($dname,5,%s)
break
}
dec %s
}
did -f $dname 5
}
if ($did == 8) && (!$did($dname,1).sel) && ($did($dname,1).text) && ($did($dname,5).seltext) {
var %t $did($dname,1).text
did -a $dname 1 $iif($left(%t,1) != $chr(35),$+($chr(35),%t),%t)
did -c $dname 1 $did($dname,1).lines
_ini set $+(.,$did($dname,5).seltext) $_cmbsave($dname,1)
did -f $dname 1
}
if ($did == 9) && ($did($dname,1).sel isnum) {
var %s $did($dname,1).sel
did -d $dname 1 %s
_ini set $+(.,$did($dname,5).seltext) $_cmbsave($dname,1)
while (%s > 0) {
if ($did($dname,1,%s).text) {
did -c $dname 1 %s
break
}
dec %s
}
did -f $dname 1
}
}
if ($devent == close) {
if ($did($dname,3).text) { _ini set trigger $iif($gettok($did($dname,3).text, 1, 32),$ifmatch,!imdb) }
}
}
on *:DIALOG:_imdb.proxy:*:*: {
if ($devent == init) {
did -a $dname 3 $_ini(set, host)
did -a $dname 5 $_ini(set, port)
if (!$_ini(set, proxy)) || (!$_ini(set, host)) || (!$_ini(set, port)) { did -b $dname 3,5 }
else { did -c $dname 6 }
}
elseif ($devent == sclick) {
if ($did == 6) {
_ini set proxy $did($dname,6).state
if ($did($dname,6).state == 1) { did -e $dname 3,5 }
else { did -b $dname 3,5 }
}
}
elseif ($devent == close) {
_ini set host $did($dname,3).text
_ini set port $did($dname,5).text
}
}
on *:DIALOG:_imdb.ban:*:*: {
if ($devent == init) {
var %i 1
while (%i <= $_ban(0)) {
did -a $dname 1 $_ban(%i)
inc %i
}
}
elseif ($devent == sclick) {
if ($did == 3) && ($did($dname, 1).text) {
did -a $dname 1 $did($dname, 1).text
did -c $dname 1 $did($dname,1).lines
did -f $dname 1
}
if ($did == 4) && ($did($dname, 1).sel) {
var %s $did($dname, 1).sel
did -d $dname 1 %s
while (%s > 0) {
if ($did($dname,1,%s).text) {
did -c $dname 1 %s
break
}
dec %s
}
did -f $dname 1
}
else { did -f $dname 1 }
}
elseif ($devent == close) {
_ini ban
var %i 1
while (%i <= $did($dname, 1).lines) {
_ini ban %i $did($dname, 1, %i)
inc %i
}
}
}
on *:DIALOG:_imdb.output:*:*: {
if ($devent == init) {
did -r $dname 1,2,3
did -a $dname 2 Movie
did -a $dname 2 Cast
did -a $dname 2 List
did -a $dname 2 None
did -a $dname 2 Miss
did -a $dname 2 Error
did -c $dname 2 1
var %i 1, %n $_mini(outp, 0, movie_*)
while (%i <= %n) {
var %s = $_mini(outp, %i, movie_*)
var %o = $+(%o,$_ini(outp, %s),$iif(%i != %n,$crlf))
inc %i
}
did -a $dname 1 %o
did -j $dname 1
did -c $dname 1 1
did -a $dname 3 $did($dname, 2).text
}
if (($devent == sclick) && ($did == 2) && ($did($dname, 1).edited)) || (($devent == close) && ($did($dname, 1).edited)) {
var %m = $+($lower($did($dname, 3).text),_*)
var %i 1
while (%i <= $_mini(outp, 0, %m)) {
_ini outp $_mini(outp, %i, %m)
inc %i
}
var %i 1
while (%i <= $did($dname, 1).lines) {
var %m = $+($lower($did($dname, 3).text),_,%i)
var %t = $did($dname, 1, %i).text
if (%t) {
_ini outp %m $_replace(%t)
inc %i
}
else { did -d $dname 1 %i }
}
}
if ($devent == sclick) {
if ($did == 2) {
did -ra $dname 3 $did($dname, 2).text
did -r $dname 1
var %i 1, %n $_mini(outp, 0, $+($did($dname,2).seltext,_*))
while (%i <= %n) {
var %s = $_mini(outp, %i, $+($did($dname,2).seltext,_*))
var %o = $+(%o,$_ini(outp, %s),$iif(%i != %n,$crlf))
inc %i
}
did -a $dname 1 %o
did -j $dname 1
did -c $dname 1 1
}
}

brindyman #189837 12/11/07 04:32 AM
Joined: Jun 2006
Posts: 508
D
Fjord artisan
Offline
Fjord artisan
D
Joined: Jun 2006
Posts: 508
Well the code I posted was meant to be inserted into the on text event, but there isn't one in the code you posted so I take it it's only you who can type "!imdb yada yada..." In which case, add that code to the on input event like so..

Change this line
Code:
on *:INPUT:#:{ if ($_trigger($1)) { _input $chan $cid $nick $2- } }

To this
Code:
on *:INPUT:#:{
  if ($_trigger($1)) {
    if %imdbcontrol { return }
    inc -u300 %imdbcontrol
    _input $chan $cid $nick $2-
  }
}


Don't forget to remove the code you just added from my last post though wink

brindyman #189844 12/11/07 06:07 AM
Joined: Aug 2004
Posts: 7,252
R
Hoopy frood
Offline
Hoopy frood
R
Joined: Aug 2004
Posts: 7,252
On a side note, when posting code you should only post the relevant part(s), not the whole thing (unless that can't be helped), and you should use the Code Tags, which, on this forum, are started/stopped using the button that looks like the # character above this screen


Link Copied to Clipboard