aIRC — File Browser
aIRCv0.8.69 / aIRCv0.8.69 / script / evaltext.mrc
evaltext.mrc — 2.73 KB — Download this file
;/**********************************************************************
; *
; * aIRC
; * $_evaltext() - magic in 24 lines of code
; *
; **********************************************************************/
;
; If you can understand this, you must be a genius because I can't
; understand a single line ;)
; I was drunk when I wrote this, heh
; Sadly, I quit drinking last december
;
; $_evaltext(text)
alias _evaltext {
var %dent,%i = 1,%t,%b,%r = $replace($1-,<CRLF>,$crlf,<COMMA>,$chr(44),<ESP>,$chr(32),<VER>,$_vert,<VERS>,$_vers,<VERT>,$_vert,<AIRCAD>,$_aircad(+a),<VERINF>,$_verinf,<AIRCWEB>,$_aircweb,<ME>,$me,<CHAN>,$chan,<NICK>,$nick,<NULL>,$null)
if (<NEXTSEND> isin %r) || (<CURRENT_CPS> isin %r) || (<SENDS_FREE> isin %r) || (<QUEUE_FREE> isin %r) || (<SENDS_CURR> isin %r) || (<SENDS_MAX> isin %r) || (<QUEUE_CURR> isin %r) || (<QUEUE_MAX> isin %r) || (<SEND_MINSPEED> isin %r) || (<SEND_BLOCKSIZE> isin %r) { var %currqueues = $_sendqueue.queues,%sendsfree = $_fixint($calc($_getsetup(dcc,maxStotal) - $_dcctotal.send)),%queuefree = $_fixint($calc($_getsetup(dcc,maxQtotal) - %currqueues)),%r = $replace(%r,<SENDS_FREE>,%sendsfree,<QUEUE_FREE>,%queuefree,<SENDS_CURR>,$_dcctotal.send,<SENDS_MAX>,$_getsetup(dcc,maxStotal),<QUEUE_CURR>,%currqueues,<QUEUE_MAX>,$_getsetup(dcc,maxQtotal),<SEND_MINSPEED>,$_dcc.minspeed,<SEND_BLOCKSIZE>,$_minio(0,21),<CURRENT_CPS>,$_dcc.totalcps,<NEXTSEND>,$_dcc.verbosefirstsendfree) }
if (<% !isin %r) && (<$ !isin %r) && (<& !isin %r) { return $replace(%r,$chr(6),<,$chr(7),>) }
while ($gettok(%r,%i,60) != $null) {
if (> isin $ifmatch) {
if (<% !isin %r) && (<$ !isin %r) && (<& !isin %r) { return $replace(%r,$chr(6),<,$chr(7),>) }
%t = $gettok($gettok(%r,%i,60),1,62)
if (< isin %t) || ($istok(35 36 37,$asc($left(%t,1)),32) == $false) {
inc %i
continue
}
%b = < $+ %t $+ >
if ($chr(36) == $left(%t,1)) {
var %sex_a1 = ( $+ $chr(44),%sex_a2 = ( $+ $ $+ null $+ $chr(44),%sex_b1 = $chr(44) $+ ),%sex_b2 = $chr(44) $+ $ $+ null $+ ),%sex_c1 = $chr(44) $+ $chr(44),%sex_c2 = $chr(44) $+ $null $+ $chr(44),%sex_d = ()
%t = $remove($replace(%t,%sex_a1,%sex_a2,%sex_b1,%sex_b2),%sex_d)
while (%sex_c1 isin %t) { %t = $replace(%t,%sex_c1,%sex_c2) }
}
var %r = $replace(%r,%b,$__evaltext(%t)),%i
}
inc %i
}
return $replace(%r,$chr(6),<,$chr(7),>)
}
alias -l __evaltext { return [ [ $1- ] ] }
alias _noeval { return $replace($1-,<,[,>,]) }
alias _eify {
if ($1) { return $2- }
}
alias _eifn {
if ($1) { return }
return $2-
}
alias -l quit { }
alias -l _quit { }
alias -l exit { }
alias -l _exit { }
alias -l run { }
alias -l _run { }
alias -l dll { }
alias -l remove { }