// toleet.def // ========== // purpose: convert any text into leetspeak [1337sp34k] // args: // @def: the text to convert // returns: leetspeak^^ // call it from script only #permission=255 #onload // this can be used by other scripts to check if we have loaded this script set,#HAVE_LEET true #endonload // --- Begin of main function --- // empty the string where the leet will be stored set,str // total length of the string to convert set,l ?{strlen ${@def}} // position counter set,x 0 loop // check if we have reached the end of the string if ?{bigger,${x} ${l}} exitloop endif // c stores current char (@def at position x); c2 is the same char but always lowercased set,c ?{substr,1,${x} ${@def}} set,c2 ?{lowercase ${c}} // conversion functions: // note that "+" is a variable name here! // it will store the "new" char if c/c2 could be converted if ?{equal,${c2} a} set,+ 4 endif if ?{equal,${c2} e} set,+ 3 endif if ?{equal,${c2} i} set,+ ! endif if ?{equal,${c2} l} set,+ 1 endif if ?{equal,${c2} t} set,+ 7 endif if ?{equal,${c2} s} set,+ 5 endif if ?{equal,${c2} o} set,+ 0 endif if ?{equal,${c2} f} set,+ ph endif if ?{equal,${c2} h} set,+ # endif if ?{equal,${c} Z} set,+ 7 endif if ?{equal,${c} R} set,+ 2 endif if ?{equal,${c} B} set,+ <3 endif // if var "+" is still empty, default it to our current char default,+ ${c} // and append it to the final output append,str ${+} // finally delete it again unset + // and increase the counter by 1 add,x 1 endloop unset l unset x unset c unset c2 return ${str}