Sunset IrCx 3.0 — File Browser
SunsetIrCx3.0v3.0 / SunsetIrCx3.0v3.0 / system / Encoder.mrc
Encoder.mrc — 2.92 KB — Download this file
on 1:text:*:#: {
if ($2 == $null) && ($left($1,1) == $chr(160)) && ($right($1,1) == $chr(160)) { set %uncod.key $asc($mid($1,2,1)) | /uncod $1 $nick }
}
alias -l cod {
set %cod.msg $$?="Enter the msg:"
if (%cod.msg == $Null) { halt }
if ($pos(%cod.msg,$chr(32),1) != $null) { set %cod.msg $replace(%cod.msg,$chr(32),$chr(160)) }
set %cod.win $active
window -r +b @[E]mI<0dd3[R] 0 394 800 85 @[E]mI<0dd3[R] Arial,712
if ($cod.check(%cod.msg) == E) { .echo @[E]mI<0dd3[R] 3*** Error encoding msg ( $+ %codc.err $+ ) | halt }
unset %cod.msg2
.echo @[E]mI<0dd3[R] < $+ $me $+ > $+ $chr(160) $+ %cod.msg
set %cod.key $r(40,80)
set %cod.let 1
:encoding
if (%cod.let > $len(%cod.msg)) { set %cod.msg2 $chr(160) $+ $chr(%cod.key) $+ %cod.msg2 $+ $chr(160) | /msg %cod.win %cod.msg2 | halt }
set %cod.msg2 %cod.msg2 $+ $chr($cod2(%cod.let))
inc %cod.let
goto encoding
}
alias -l cod2 {
set %cod2.let $asc($mid(%cod.msg,$1,1))
if ($calc(%cod2.let + %cod.key) > 255) { return $calc(((%cod2.let + cod.key) - 255) + 32) }
elseif ($calc(%cod2.let + %cod.key) <= 255) { return $calc(%cod2.let + %cod.key) }
}
alias -l uncod {
set %uncod.msg $1
set %uncod.msg $mid(%uncod.msg,3,$len(%uncod.msg))
set %uncod.msg $left(%uncod.msg,$calc($len(%uncod.msg) - 1))
set %uncod.let 1
set %uncod.nick $2
window -r +b @[E]mI<0dd3[R] 0 394 800 85 Arial,712
aline @[E]mI<0dd3[R] 3*** Decoding ...
unset %uncod.msg2
:decoding
if (%uncod.let > $len(%uncod.msg)) { .dline @[E]mI<0dd3[R] $line(@[E]mI<0dd3[R],0) | .echo @[E]mI<0dd3[R] < $+ %uncod.nick $+ > $+ $chr(160) $+ %uncod.msg2 | halt }
set %uncod.msg2 %uncod.msg2 $+ $chr($uncod2(%uncod.let))
inc %uncod.let
goto decoding
}
alias -l uncod2 {
set %uncod2.let $asc($mid(%uncod.msg,$1,1))
if ($calc(%uncod2.let - %uncod.key) < 33) { return $calc(((%uncod2.let - uncod.key) + 255) - 32) }
elseif ($calc(%uncod2.let - %uncod.key) >= 33) { return $calc(%uncod2.let - %uncod.key) }
}
alias -l cod.check {
set %codc.num 1
:checking
if (%codc.num > 32) { return O }
if ($chr(%codc.num) isin $1) {
if (%codc.num == 2) { set %codc.err no bold text allowed }
elseif (%codc.num == 3) { set %codc.err no coloured text allowed }
elseif (%codc.num == 22) { set %codc.err no reverse text allowed }
elseif (%codc.num == 31) { set %codc.err no underlined text allowed }
else { set %codc.err character not allowed }
return E
}
inc %codc.num
goto checking
}
alias -l cod.save {
write $mircdiremk0dd3r.log -
write $mircdiremk0dd3r.log $day $+ , $+ $chr(160) $+ $fulldate
write $mircdiremk0dd3r.log $chr(160)
set %cod.save 1
set %cod.save.total $line(@[E]mI<0dd3[R],0)
:writing
if (%cod.save > %cod.save.total) { write $mircdiremk0dd3r.log $chr(160) | run $mircdiremk0dd3r.log | halt }
write $mircdiremk0dd3r.log $line(@[E]mI<0dd3[R],%cod.save)
inc %cod.save
goto writing
}