Rot13-mIrc v3.0 alppa
Versiohistoria
3.0! Creeping featurism: /enable #rotparse säätää päälle <rot>teksti tähän</rot> -tagien toiminnan. Jos bugaa, /disable #rotparse . Erillinen kanavaikkunoissa toimiva /rotmsg rottaa yhden viestin. Have fun.
Fixes in v2.2b: komentojen syöttö rot-ikkunassa ei enää lähetä komentoa enkoodattuna kanavalle.
Fixes in v2.2: /norot - komento lisätty. @rot-ikkunan sulkeminen poistaa eventin käsittelyn, ei enää erheilmoituksia.
Fixes in v2.1: Nickit jätetään rottaamatta (jos ensimmäinen sana päättyy kaksoispisteeseen). Omat viestit @rot-akkunassa saivat nick-prefiksin. Omat rot13-enkoodatut viestit edellämainitussa akkunassa saivat vähän väriä.
Fixes in v2: Multiline enabloitu. Nikin erotus toimii itse kirjoitetussa tekstissä. Nikki @rot-ikkunassa esitetään mIrc-tyylisesti.
v1: Perustoiminnallisuus kasassa.
Käyttö:
Touhu aloitetaan komennolla /rot #kanavanimi, esim. /rot #wanhat .
Lopetus joko sulkemalla ikkuna, tai antamalla komento /norot
Aukeavaan ikkunaan kun kirjoitat, menee kanavalle rotattuna. Kaikki kanavan tekstit rotataan auenneessa akkunassa. Soo simpl.
Asennus (yeah right)
Copypaste laulamaan. Alias-osastoon (valikosta tools/aliases) seuraava pätkä (sinne vaan muiden perään paste):
/rot { /set %rotchan $1 /window -ek0R @rot /renwin @rot @rot 13 on $1 - rotmIrc v3.0 (c) P.L.Z.I. /aline -p 4 @rot Rot-13 enabled on $1 } /norot { /set %rotchan /window -c @rot } /rotmsg { /say $transrot($$1-) }
...ja remote-ikkunaan kopiseerataan seuraava pätkä, mielellään events.ini-nimellä (saattaa toimia suoraan copypastettuna presetti-remote.iniinkin. En ole kokeillu, suoraan loin events.ini -tiedoston ja sinne sit väkersin):
alias transrot { var %t,%o,%k,%m,%c /set %t $1- WHILE ($len(%t)>0) { /set %k $asc($left(%t,1)) if ((%k >= 97) && (%k <= 109)) /inc %k 13 elseif ((%k >= 110) && (%k <= 122)) /dec %k 13 elseif ((%k >= 65) && (%k <= 77)) /inc %k 13 elseif ((%k >= 78) && (%k <= 90)) /dec %k 13 %c = $chr(%k) if (%k == 32) { %o = %o %c } else { %o = %o $+ %c } /set %m $mid(%t,2) /set %t %m } return %o } #rotparse off on 1:INPUT:#: { /var %r, %c = 1, %nc =1, %found = 0 /var %t = $1- /var %re,%rr /set -n %re <rot>(.*?)<\/rot> /set -n %rr [rot13?] /var %x WHILE (%nc > 0) { %nc = $regex(rott,%t,%re) if (%nc > 0) { %found = 1 /transrot $regml(rott,1) %c = $regsub(%t,%re,$result,%x) %t = %x } } if (%found = 1) { if ($lower($left(%t,3)) == /me) /describe # $mid(%t,4) else /msg # %t /halt } } #rotparse end on 1:INPUT:@rot: { /var %t,%f,%n,%flen /set %t $1- /set %f $1 /set %n < $+ $me $+ > /set %flen $len(%f) /aline -p @rot %n %t if ($asc($left(%f,1)) != 47) { if ($right(%f,1) == :) { if ($len(%t) > %flen) { inc %flen 1 %t = $mid(%t,%flen) } } else %f = $chr(0) /transrot %t /aline -p 4 @rot %n %f $result /msg %rotchan %f $result } } on 1:TEXT:*:%rotchan: { /var %t,%n,%f,%flen /set %t $1- /set %n < $+ $nick $+ > /set %f $1 /set %flen $len(%f) if ($right(%f,1) == :) { if ($len(%t) > %flen) { inc %flen 1 %t = $mid(%t,%flen) } } else %f = $chr(0) /transrot %t /aline -p @rot %n %f $result } on *:CLOSE:@rot:/set %rotchan