Aktuelle Zeit: 28. März 2024 20:41

Alle Zeiten sind UTC + 1 Stunde




 Seite 1 von 1 [ 1 Beitrag ] 
Autor Nachricht
 Betreff des Beitrags: /mixit
BeitragVerfasst: 10. August 2008 12:49 
Administrator
Benutzeravatar

Registriert: 17. März 2008 13:32
Beiträge: 96
Wohnort: NRW, Germany
; Adds some colors! ;)
; Usage: /mixit <text>
; Usage: $mixit(<text to convert>)
; Param: $mixit(<text>)[.rand|.mix]
; Update:
; - Fixed a bug with numbers/specials chars
alias mixit {
  !var %out,%t,%c,%c1,%c2,%c3,%c4,%c5,%i,%x,%u,%text,%len,%conv,%upper,%lower,%cu,%iclass,%last,%li,%new,%numbers,%special,%dontignorespace
  ; b for bold
  ; u for underlined
  ; r for reversed
  ; e. g. %upper = bu
  %upper = bu
  %lower = u
  %special = b
  %numbers = b

  ; Counts space as "last normal char and converts the LOWER CASE text to the "fellower"
  %dontignorespace = $true
  if ($prop == rand) {
    %t = r
    ; no need to change!
    %c1 = $r(0,15)
    %c2 = $r(0,15)
    %c3 = $r(0,15)
    %c4 = $r(0,15)
    %c5 = $r(0,15)
  }
  elseif ($prop == mix) {
    %t = m
    ; NEVER REALLY NEVER CHANGE THIS! :P
    ; (maybe the 2nd number inside the $r()
    ; if Khaled adds more than just 16 colors)
    %c = $!r(0,15)
  }
  else {
    %t = n
    ; Uppercase
    %c1 = 12
    ; First char after uppercase
    %c2 = 3
    ; Lowercase
    %c3 = 7
    ; Special chars
    %c4 = 13
    ; Numbers
    %c5 = 10
  }
  %text = $strip($replace($1-,$chr(32),$chr(160)))
  %len = $len(%text)
  %conv = $false
  ; Lets start a run ;)
  %x = 0
  while (%x < %len) {
    inc %x
    ; current char
    %i = $mid(%text,%x,1)
    ; changing the colors
    if (%t == m) {
      %u = $eval(%c,2)
      %c1 = $chr(3) $+ $base(%u,10,10,2)
      %c2 = $chr(3) $+ $base(%u,10,10,2)
      %c3 = $chr(3) $+ $base(%u,10,10,2)
      %c4 = $chr(3) $+ $base(%u,10,10,2)
      %c5 = $chr(3) $+ $base(%u,10,10,2)
    }
    elseif (!%conv) {
      %conv = $true
      %c1 = $chr(3) $+ $base(%c1,10,10,2)
      %c2 = $chr(3) $+ $base(%c2,10,10,2)
      %c3 = $chr(3) $+ $base(%c3,10,10,2)
      %c4 = $chr(3) $+ $base(%c4,10,10,2)
      %c5 = $chr(3) $+ $base(%c5,10,10,2)
    }
    %iclass = ""
    if ($len(%real)) {
      %li = %real
      !unset %real
    }
    ; color tag builder starts here
    if (%i islower) && (%i isalpha) {
      if (%li isupper) {
        %iclass = %c2
      }
      else {
        %iclass = %c3
      }
      %iclass = %iclass $+ $bur(%lower)
    }
    elseif (%i isupper) && (%i isalpha) {
      %iclass = %c1
      %iclass = %iclass $+ $bur(%upper)
    }
    elseif (%i isnum) {
      %iclass = %c5
      %iclass = %iclass $+ $bur(%numbers)
    }
    elseif (%i != $chr(160)) {
      %iclass = %c4
      %iclass = %iclass $+ $bur(%special)
    }
    elseif ((%i == $chr(160)) && (!%dontignorespace)) {
      %iclass = %last
      !var %real = %li
    }
    if (%last != %iclass) {
      %last = %iclass
      %new = $chr(15) $+ %iclass $+ %i
    }
    else {
      %new = %i
    }
    if (!$len(%real)) {
      %li = %i
    }
    %out = %out $+ %new

  }
  %out = $replace(%out,$chr(160),$chr(32))
  if ($len(%out)) {
    if ($isid) {
      !return %out
    }
    else {
      ; the reason why i don't use !say here is that i have a custom say alias which splits the text after 420 chars
      say %out
    }
  }
}
alias -l bur {
  !var %c = $1,%r
  if ($c(%c).b) { %r = %r $+ $chr(2) }
  if ($c(%c).u) { %r = %r $+ $chr(31) }
  if ($c(%c).r) { %r = %r $+ $chr(22) }
  !return %r
}
alias -l c { if ($prop isincs $1) { !return $true } | !return $false }



_________________
one step closer to world domination
Cyberscripters Administrator/Founder
   
 
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
 Seite 1 von 1 [ 1 Beitrag ] 

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  

cron