- Code: Select all
;Text cutter/colorer
;Made to keep from 'over running' the irc text buffer.
;There is no commands for this script. On any /me statement containing certain quote formats, it will activate and color them acordingly
;The script also detects if the current channel has +c (colorban) and if it does, it turns the color featuer off.
;On any post longer then 420 characters, the script will chop the text at the closest space, then post the runoff a second later.
;
;The quote coloring works like this:
; ((text)) for out of character or OOC text
; [text] for 'AI' text
; for telepathic text
; "text" for normal speech text
; .oO( text ) for 'thought' bubble text (As requested by Draconia)
;
;
;I wrote this mostly for RolePlayers to stop the 'you got cut off' and such on IRC
;If you'd like more types of text quotes to be added, I can be contacted at nyghtwulf@gmail.com
;
on 1:input:*:{
;force script to only work with /me statements.
;if you would like to remove this restriction, comment out the following line,
;AND the marked line towards the end of this script
; if ($1 == /me) {
;this section turns the text coloring engine on and off.
;If you would like to do this manualy, comment out these lines
;and set %AutoFormatting to either 'ON' or 'OFF'
if (c isincs $chan($chan).mode) {
%AutoFormatting = OFF
}
else {
%AutoFormatting = ON
}
;-------------------------------------------------------------
;Settings for the text parser engine
; Modify %CutStyle to your liking.
%CutStyle = ...
;Modify %CStrailer to your liking.
%CStrailer = 6 ...
if ($mid(%AutoFormatting,1,1) != O) {
%AutoFormatting = ON
}
;The following sets colors and formatting for quoted text.
;Don't change the characters or things will look funny
%whisperTone = 13[
;telepath color set
%softTone = 5<
;normal speech color set
%normalTone = 10"
;OOC color setting
%loudTone = 1((
;Cloud Text
%cloudTone = 12.oO(
;sets colors off at end *DO NOT CHANGE*
%endTone = "6
%endTone2 = >6
%endTone3 = ]6
%endTone4 = ))6
%endtone5 = )6
; The following sets the search codes for automatic text coloring.
;DO NOT CHANGE BELOW THIS LINE!
;-----------------------------------------------------------------
%whisperQuote = [
%softQuote = <
%normalQuote = "
%loudQuote = ((
%cloudQuote = .oO(
%endquote = "
%endquote2 = >
%endquote3 = ]
%endquote4 = ))
%endquote5 = )
%n = 1
%act = 0
%cut = 0
%QEnc = 0
%codes = $chr(0)
%chr = $chr(0)
if (($mid($1,1,2) == 6) || ($mid($1,1,1) == ") || ($mid($1,2,1) == ")) {
%QEnc = 1
}
if ($1 == /me) {
%codes = $chr(3) $+ 6
%act = 1
%QEnc = 1
%len = 424 - $len($me)
}
else {
%act = 0
%len = 430 - $len($me)
}
if ($len($1-) > %len) {
%cut = 1
while (%chr != $chr(32)) {
%len = %len - 1
%chr = $mid($1-,%len,1)
}
%scantext = $left($1-,%len)
%lefttext = %scantext
%cuttext = $right($1-,$mid($1-,%len,0))
}
else {
%lefttext = $1-
}
if ((%AutoFormatting == ON) && (%QEnc == 1)) {
%scantext = $QuoteEncode(%scantext)
%lefttext = $QuoteEncode(%lefttext)
%cuttext = $QuoteEncode(%cuttext)
}
while (%n != 0) {
%n = $regsub(scan,%scantext,/([]|d{1 $+ $chr(44) $+ 2} $+ $chr(44) $+ ?d?d?)/,$chr(0),%scantext)
%codes = %codes $+ $regml(scan,1)
}
if (%cut == 1) {
/timerCutScript 1 1 /say %CutStyle $+ $+ %codes %cuttext
%lefttext = %lefttext $+ %CSTrailer
}
if (%act == 1) {
/me $deltok(%lefttext,1,32)
/halt
}
else {
if ($mid(%lefttext,1,1) != /) {
/say %lefttext
/halt
}
}
}
;comment out the following one line to allow the script to act on all text that is inputed
;}
alias QuoteEncode {
%CSQtext = $1-
%CSQtext = $replace(%CSQtext,$chr(32) $+ %whisperQuote,$chr(32) $+ %whisperTone)
%CSQtext = $replace(%CSQtext,$chr(32) $+ %softQuote,$chr(32) $+ %softTone)
%CSQtext = $replace(%CSQtext,$chr(32) $+ %normalQuote,$chr(32) $+ %normalTone)
%CSQtext = $replace(%CSQtext,$chr(32) $+ %loudQuote,$chr(32) $+ %loudTone)
%CSQtext = $replace(%CSQtext,$chr(32) $+ %CLoudQuote,$chr(32) $+ %cloudTone)
%CSQtext = $replace(%CSQtext,%endQuote $+ $chr(32),%endTone $+ $chr(32))
%CSQtext = $replace(%CSQtext,%endQuote2 $+ $chr(32),%endTone2 $+ $chr(32))
%CSQtext = $replace(%CSQtext,%endQuote3 $+ $chr(32),%endTone3 $+ $chr(32))
%CSQtext = $replace(%CSQtext,%endQuote4 $+ $chr(32),%endTone4 $+ $chr(32))
%CSQtext = $replace(%CSQtext,%endQuote5 $+ $chr(32),%endTone5 $+ $chr(32))
/return %CSQtext
}