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
}