/* Kuang Eleven V2.5 Dccdone.amirx*/ options results parse upper arg com successcode nick filename filename=strip(filename,'B',' "') /* AutoMove Sounds */ /**/ if com~='SEND' then do if getclip('sc_amsound')~=='ON'|successcode=0 then exit file=substr(filename,max(pos(':',filename),pos('/',filename))+1) x=right(file,4) if x~='.WAV'&x~='.SND' then exit "GETCTCPSOUNDDIR" sfile=prsprg(result)||file if exists(sfile) then do cecho('Moveound','Sound already found') exit end address command 'copy' filename sfile if exists(sfile) then do cecho('MoveSound',file 'moved to sound directory.') delete(filename) end exit end /**/ "GETDCC" /* CPS Record */ /**/ if successcode=1 then do "GETMYNICK" "USERHOST" result myhost=substr(result,pos('@',result)+1) do i=1 to dcc.send.0 x=dcc.send.i parse upper var x mnick moveflag hostname state len cps mfilename mfilename=strip(mfilename,'B',' "') if cps<5000&myhost~=hostname&len>100000&mnick=nick&mfilename=filename&state=3 then do x=getclip('st_maxcps') if x='' then x=0 if cps>x then do cecho('MaxCPS','New record acheived from' nick':' bld(cps) 'CPS!') setclip('st_maxcps',cps) end leave end end end /**/ /* Queue */ /**/ l=getclip('st_xdccq') if l='' then exit s=getclip('sc_xdccslots') if s='' then s=6 free=s-getslots() if free<1 then exit pr='XDCC';lb=l do until l='' parse var l q l parse var q nick'@'spec'@'com'@'files'@'addr . if files<=free then do address value 'AMIRC.'addr if getclip('sc_xdcc')=='ON' then do "USERHOST" nick if pos('@',result)=0 then cecho(pr,'Queued request from' bld(nick) 'aborted.') else amrx('kuang11XDCC 1 queue' com nick spec) end else do notice(nick,'XDCC has been disabled.') cecho(pr,'Queued request from' bld(nick) 'aborted.') end setclip('st_xdccq',strip(delword(lb,find(lb,q),1))) exit end end /**/ exit /* #### SHARED FUNCTIONS #### */ /**/ cecho:;"ECHO P="d2c(27)"b«"arg(1)"»" arg(2);return 0 vecho:;"ECHO P="d2c(27)"b«Kuang11»" und(arg(1)||':') arg(2)'.';return 0 notice:;'RAW NOTICE' arg(1) ':'arg(2);return 0 bld:PROCEDURE;b=x2c('02');return b||arg(1)||b und:PROCEDURE;u=x2c('1F');return u||arg(1)||u inv:PROCEDURE;i=x2c('16');return i||arg(1)||i amrx:;'SAY /RX' arg(1);return 0 getslots:procedure l=showlist('W') showlist('T') x=0;p=1 do until p=0 p=pos('AmIRC DCC S',l,p) if p~==0 then do x=x+1;p=p+21 end end return x syntax: "ECHO" "P=K11DCC" "Command on line" SIGL "returned" RC ":" errortext(rc) sourceline(SIGL) exit prsprg:PROCEDURE x=arg(1) z=right(x,1) if z~='/'&z~=':' then x=x||'/' if upper(left(x,8))='PROGDIR:' then do y=pragma('d') z=right(y,1) if z~='/'&z~=':' then y=y||'/' if length(x)>8 then return y||substr(x,9);else return y end return x /**/