Home > Code > morse.mrc – Morse Talk

morse.mrc – Morse Talk

;;;; Morse Talk v1.0.2 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Written by:                                                                ;;
;;   Brian Schmidt aka. brianMan.                                             ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;; Readme / Help ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Load this script in mIRC, if you don't know how to do this, then perhaps   ;;
;; you shouldn't be using this script.                                        ;;
;;                                                                            ;;
;; This morse script is only able to convert to and from 0-9 and A-Z          ;;
;;                                                                            ;;
;; The script consists of 2 identifiers, 1 alias and a MORSE-to-normal text   ;;
;; catcher.                                                                   ;;
;;                                                                            ;;
;; To talk to the active window, with morse code simply type:                 ;;
;;   "/morse This will be written in morse code"                              ;;
;; Will output:                                                               ;;
;;   "[s2m] - .... .. ...  .-- .. .-.. .-..  -... .  .-- .-. .. - - . -.      ;;
;;    .. -.  -- --- .-. ... .  -.-. --- -.. . "                               ;;
;;                                                                            ;;
;; Any user that have the same morse script loaded will have the morse code   ;;
;; automatically converted into normal text, so they will actually see the    ;;
;; following on their screen:                                                 ;;
;;   "[m2s] THIS WILL BE WRITTEN IN MORSE CODE"                               ;;
;;                                                                            ;;
;; The 2 identifiers available is $string2morse and $morse2string, wich can   ;;
;; be used in other scripts.                                                  ;;
;;   "//echo -a Some of $string2morse(this) text will be in morse"            ;;
;; Will output:                                                               ;;
;;   "Some of - .... .. ...  text will be in morse"                           ;;
;; And:                                                                       ;;
;;   "//echo -a $morse2string(- .... .. ... )"                                ;;
;; Will output:                                                               ;;
;;   "THIS"                                                                   ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;; Changelog ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; v1.0.2                                                                     ;;
;; * Fixed many of the scripts replacement routines.                          ;;
;; + Added automatic morse->ascii conversion between several people using     ;;
;;   script.                                                                  ;;
;; * Split up the parts of the script, so that it will be easier to use in    ;;
;;   other scripts.                                                           ;;
;;                                                                            ;;
;; v1.0.0                                                                     ;;
;; + Initial release.                                                         ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

alias string2morse {
    var %string2morse = $replace($1-,$chr(32),$chr(15) $+ $chr(32))
    var %string2morse = $replace(%string2morse,A,$chr(15) $+ .- $+ $chr(32) $+ $chr(15))
    var %string2morse = $replace(%string2morse,B,$chr(15) $+ -... $+ $chr(32) $+ $chr(15))
    var %string2morse = $replace(%string2morse,C,$chr(15) $+ -.-. $+ $chr(32) $+ $chr(15))
    var %string2morse = $replace(%string2morse,D,$chr(15) $+ -.. $+ $chr(32) $+ $chr(15))
    var %string2morse = $replace(%string2morse,E,$chr(15) $+ . $+ $chr(32) $+ $chr(15))
    var %string2morse = $replace(%string2morse,F,$chr(15) $+ ..-.- $+ $chr(32) $+ $chr(15))
    var %string2morse = $replace(%string2morse,G,$chr(15) $+ --. $+ $chr(32) $+ $chr(15))
    var %string2morse = $replace(%string2morse,H,$chr(15) $+ .... $+ $chr(32) $+ $chr(15))
    var %string2morse = $replace(%string2morse,I,$chr(15) $+ .. $+ $chr(32) $+ $chr(15))
    var %string2morse = $replace(%string2morse,J,$chr(15) $+ .--- $+ $chr(32) $+ $chr(15))
    var %string2morse = $replace(%string2morse,K,$chr(15) $+ -.- $+ $chr(32) $+ $chr(15))
    var %string2morse = $replace(%string2morse,L,$chr(15) $+ .-.. $+ $chr(32) $+ $chr(15))
    var %string2morse = $replace(%string2morse,M,$chr(15) $+ -- $+ $chr(32) $+ $chr(15))
    var %string2morse = $replace(%string2morse,N,$chr(15) $+ -. $+ $chr(32) $+ $chr(15))
    var %string2morse = $replace(%string2morse,O,$chr(15) $+ --- $+ $chr(32) $+ $chr(15))
    var %string2morse = $replace(%string2morse,P,$chr(15) $+ .--. $+ $chr(32) $+ $chr(15))
    var %string2morse = $replace(%string2morse,Q,$chr(15) $+ --.- $+ $chr(32) $+ $chr(15))
    var %string2morse = $replace(%string2morse,R,$chr(15) $+ .-. $+ $chr(32) $+ $chr(15))
    var %string2morse = $replace(%string2morse,S,$chr(15) $+ ... $+ $chr(32) $+ $chr(15))
    var %string2morse = $replace(%string2morse,T,$chr(15) $+ - $+ $chr(32) $+ $chr(15))
    var %string2morse = $replace(%string2morse,U,$chr(15) $+ ..- $+ $chr(32) $+ $chr(15))
    var %string2morse = $replace(%string2morse,V,$chr(15) $+ ...- $+ $chr(32) $+ $chr(15))
    var %string2morse = $replace(%string2morse,W,$chr(15) $+ .-- $+ $chr(32) $+ $chr(15))
    var %string2morse = $replace(%string2morse,X,$chr(15) $+ -..- $+ $chr(32) $+ $chr(15))
    var %string2morse = $replace(%string2morse,Y,$chr(15) $+ -.-- $+ $chr(32) $+ $chr(15))
    var %string2morse = $replace(%string2morse,Z,$chr(15) $+ --.. $+ $chr(32) $+ $chr(15))
    var %string2morse = $replace(%string2morse,0,$chr(15) $+ ----- $+ $chr(32) $+ $chr(15))
    var %string2morse = $replace(%string2morse,1,$chr(15) $+ .---- $+ $chr(32) $+ $chr(15))
    var %string2morse = $replace(%string2morse,2,$chr(15) $+ ..--- $+ $chr(32) $+ $chr(15))
    var %string2morse = $replace(%string2morse,3,$chr(15) $+ ...-- $+ $chr(32) $+ $chr(15))
    var %string2morse = $replace(%string2morse,4,$chr(15) $+ ....- $+ $chr(32) $+ $chr(15))
    var %string2morse = $replace(%string2morse,5,$chr(15) $+ ..... $+ $chr(32) $+ $chr(15))
    var %string2morse = $replace(%string2morse,6,$chr(15) $+ -.... $+ $chr(32) $+ $chr(15))
    var %string2morse = $replace(%string2morse,7,$chr(15) $+ --... $+ $chr(32) $+ $chr(15))
    var %string2morse = $replace(%string2morse,8,$chr(15) $+ ---.. $+ $chr(32) $+ $chr(15))
    var %string2morse = $replace(%string2morse,9,$chr(15) $+ ----. $+ $chr(32) $+ $chr(15))
    return %string2morse
}

alias morse2string {
    var %morse2string = $replace($1-,$chr(15) $+ $chr(32),$chr(32))
    var %morse2string = $replace(%morse2string,$chr(15) $+ .- $+ $chr(32) $+ $chr(15),A)
    var %morse2string = $replace(%morse2string,$chr(15) $+ -... $+ $chr(32) $+ $chr(15),B)
    var %morse2string = $replace(%morse2string,$chr(15) $+ -.-. $+ $chr(32) $+ $chr(15),C)
    var %morse2string = $replace(%morse2string,$chr(15) $+ -.. $+ $chr(32) $+ $chr(15),D)
    var %morse2string = $replace(%morse2string,$chr(15) $+ . $+ $chr(32) $+ $chr(15),E)
    var %morse2string = $replace(%morse2string,$chr(15) $+ ..-.- $+ $chr(32) $+ $chr(15),F)
    var %morse2string = $replace(%morse2string,$chr(15) $+ --. $+ $chr(32) $+ $chr(15),G)
    var %morse2string = $replace(%morse2string,$chr(15) $+ .... $+ $chr(32) $+ $chr(15),H)
    var %morse2string = $replace(%morse2string,$chr(15) $+ .. $+ $chr(32) $+ $chr(15),I)
    var %morse2string = $replace(%morse2string,$chr(15) $+ .--- $+ $chr(32) $+ $chr(15),J)
    var %morse2string = $replace(%morse2string,$chr(15) $+ -.- $+ $chr(32) $+ $chr(15),K)
    var %morse2string = $replace(%morse2string,$chr(15) $+ .-.. $+ $chr(32) $+ $chr(15),L)
    var %morse2string = $replace(%morse2string,$chr(15) $+ -- $+ $chr(32) $+ $chr(15),M)
    var %morse2string = $replace(%morse2string,$chr(15) $+ -. $+ $chr(32) $+ $chr(15),N)
    var %morse2string = $replace(%morse2string,$chr(15) $+ --- $+ $chr(32) $+ $chr(15),O)
    var %morse2string = $replace(%morse2string,$chr(15) $+ .--. $+ $chr(32) $+ $chr(15),P)
    var %morse2string = $replace(%morse2string,$chr(15) $+ --.- $+ $chr(32) $+ $chr(15),Q)
    var %morse2string = $replace(%morse2string,$chr(15) $+ .-. $+ $chr(32) $+ $chr(15),R)
    var %morse2string = $replace(%morse2string,$chr(15) $+ ... $+ $chr(32) $+ $chr(15),S)
    var %morse2string = $replace(%morse2string,$chr(15) $+ - $+ $chr(32) $+ $chr(15),T)
    var %morse2string = $replace(%morse2string,$chr(15) $+ ..- $+ $chr(32) $+ $chr(15),U)
    var %morse2string = $replace(%morse2string,$chr(15) $+ ...- $+ $chr(32) $+ $chr(15),V)
    var %morse2string = $replace(%morse2string,$chr(15) $+ .-- $+ $chr(32) $+ $chr(15),W)
    var %morse2string = $replace(%morse2string,$chr(15) $+ -..- $+ $chr(32) $+ $chr(15),X)
    var %morse2string = $replace(%morse2string,$chr(15) $+ -.-- $+ $chr(32) $+ $chr(15),Y)
    var %morse2string = $replace(%morse2string,$chr(15) $+ --.. $+ $chr(32) $+ $chr(15),Z)
    var %morse2string = $replace(%morse2string,$chr(15) $+ ----- $+ $chr(32) $+ $chr(15),0)
    var %morse2string = $replace(%morse2string,$chr(15) $+ .---- $+ $chr(32) $+ $chr(15),1)
    var %morse2string = $replace(%morse2string,$chr(15) $+ ..--- $+ $chr(32) $+ $chr(15),2)
    var %morse2string = $replace(%morse2string,$chr(15) $+ ...-- $+ $chr(32) $+ $chr(15),3)
    var %morse2string = $replace(%morse2string,$chr(15) $+ ....- $+ $chr(32) $+ $chr(15),4)
    var %morse2string = $replace(%morse2string,$chr(15) $+ ..... $+ $chr(32) $+ $chr(15),5)
    var %morse2string = $replace(%morse2string,$chr(15) $+ -.... $+ $chr(32) $+ $chr(15),6)
    var %morse2string = $replace(%morse2string,$chr(15) $+ --... $+ $chr(32) $+ $chr(15),7)
    var %morse2string = $replace(%morse2string,$chr(15) $+ ---.. $+ $chr(32) $+ $chr(15),8)
    var %morse2string = $replace(%morse2string,$chr(15) $+ ----. $+ $chr(32) $+ $chr(15),9)
    return %morse2string
}

alias morse {
    echo -tac info Wrote: $1-
    msg $active [s2m] $string2morse($1-)
}

on ^*:TEXT:[s2m]*:*:{
    haltdef
    echo -tc normal $target < $+ $nick $+ > [m2s] $morse2string($2-)
}
Categories: Code Tags: , ,