unReal IRC Theme Engine

By DarkWarrior on Dec 12, 2009

Screenshots

This is my pride and joy when it comes to mIRC Script. I've spent the most time on this script and I'm always looking for ways to improve it.

This Theme Engine isn't as customizable as MTS, however, it is much, much simpler. My Theme Engine gives your mIRC a unique look and allows you to load custom theme files to change colors and symbols. Of course, you may be questioning "Well I can change colors and symbols on my own!" but I guarantee if you use my script you'll love it.

Contact me for themes, I'm too lazy to create a new link w/ the Read Me and my created themes. I'll email you if you really want them.

I am open to any questiosn/suggestions.

I've finally added the UNR Theme Creator aspect of the script. You can now create your themes. Its pretty much self explanatory, open the Theme Loader dialog and click create new. You can add schemes, edit palettes, edit brackets, prefixes. Anything my theme engine has options for you can edit. Which isn't that much, but its enough to make you love this script.

As I've said above, its a very simplistic looking theme engine. However, for what it does, it in my opinion is really freaking cool. Lol.

Please rate, comment, leave suggestions, anything! All feedback is greatly appreciated!

Here are some of my premade themes:
http://www.mediafire.com/darkwarrior

NOTES:
-PLACE THE .MRC LAST IN YOUR ORDER OF SCRIPTS. OPEN YOUR REMOTES -> REMOTES TAB -> FILE -> ORDER.
-ONLY TESTED W/ VERSION 6.32+
-DO NOT RELOAD TEMP THEME.
-YOU CANNOT EDIT THEMES WITH THE THEME CREATOR, WORKING ON THAT.
-PLEASE WHEN THE DIALOG APPEARS ASKING YOU TO ALLOW SCRIPTS TO INITIALIZE ALLOW THEM TO INITIALIZE!! THE SCRIPT IS CREATING IMPORTANT FILES IT NEEDS!! DON'T COMPLAIN IF YOU DID NOT ALLOW IT TO INITIALIZE!!

Updates:

10/24/2010:
-Upon further inspection I realized I accidentally deleted and repeated a part of the script to edit the Amsg field. Fixed.

10/23/2010:
-Finally added the Theme Creator! Enjoy!
-Fixed minor errors.

9/7/2010

  • Dark Theme should now load.
  • Topic creation Time/Date fixed.
  • Various tiny errors found.

12/12/09

  • Fixed: * /hmake: table 'theme' exists

12/13/09

  • Fixed issues with script not working with Windows XP users. However, theme file won't load.. Working on it! Testers would be appreciated!
  • Changed the way the Temporary Theme loads. It should keep your currently using colors instead of loading a different color set.

Known Errors:

  • 'Zero Error': When the text you are typing begins with '0' the text will not be messaged. (ie. /msg $chan 0 or /msg $chan 0 text)

Currently-In-Progress:
-Adding an Edit Theme feature to correct/fix themes.
-Going to one way or another formulate some sort of help topic, or ReadMe w/ complete instructions as to how the scripts work and etc.

  • Any ideas? Leave them below.
/*
unRealIRC
Theme Engine
Scripted By: DarkWarrior
Version 5.0
Theme Creator
Scripted by: DarkWarrior
Version 1.0
*/

dialog unrthemecreator {
  title "Theme Creator"
  size -1 -1 232 161
  option dbu
  list 1, 5 9 110 98, size hsbar vsbar
  text "*** Double Click to edit field***", 2, 6 109 108 8, disable center
  check "Enable Schemes", 3, 124 20 50 10
  combo 4, 124 33 53 40, disable size edit vsbar
  button "Add", 5, 180 34 37 10, disable
  button "Delete", 6, 180 48 37 10, disable
  box "Schemes", 7, 117 9 109 73
  button "Reset Fields", 8, 132 91 78 10
  button "Save Theme", 9, 132 131 78 10
  edit "", 10, 132 116 78 10
  text "Filename: (No Spaces)", 11, 133 107 69 8
  check "Load into Theme Loader", 12, 132 146 75 11
  edit "", 13, 5 120 110 31, read multi vsbar
}

alias createtheme { dialog $iif($dialog(unrthemecreator),-v unrthemecreator,-md unrthemecreator unrthemecreator) }

alias -l unrfieldinfo {
  var %info
  if ($1 == 1) { %info = #NAME $+ $crlf $+ This field's parameters are merely the name of the Theme itself. (ie. unReal) The parameters will not translate any of the UNR Theme Engine tags. }
  elseif ($1 == 3) { %info = #PREFIX $+ $crlf $+ The parameter for this field will be used to prefix most events. }
  elseif ($1 == 4) { %info = #RAWPREFIX $+ $crlf $+ The paremeter for this field will be used as a prefix to raw events and other misc. events or scripts to be distingushable from normal events. It is recommended the #PREFIX be different then #RAWPREFIX. }
  elseif ($1 == 6) { %info = #LEFT $+ $crlf $+ The parameter of this field will be the left bracket used in the '$skin' feature of the UNR Theme Engine. }
  elseif ($1 == 7) { %info = #RIGHT $+ $crlf $+ The parameter of this field will be the right bracket used in the '$skin' feature of the UNR Theme Engine. }
  elseif ($1 == 9) { %info = #TIMESTAMP $+ $crlf $+ The parameter of this field determines the look and format of your timestamp. }
  elseif ($1 == 11) { %info = #FONT $+ $crlf $+ The parameters of this field will determine the font style and size of the text displayed throughout mIRC's windows. }
  elseif ($1 == 13) { %info = #AMSG $+ $crlf $+ This field's parameters determine who each of your amsg's (All channel messages) will be prefixed. }
  elseif ($1 == 15) { %info = #NICKMSG $+ $crlf $+ This field's parameters will determine how the text is displayed in the chat when someone is speaking. }
  elseif ($1 == 17) { %info = #PALETTE $+ $crlf $+ The parameters of this field will determine the 16 color codes available to mIRC in scripts and display. }
  elseif ($1 > 18) {
    if ($gettok($gettok($did(1).seltext,1,32),1,46) == #COLORS) { %info = #COLORS $+ $crlf $+ The parameters of this field determine the four main colors used in the '$skin' function, various scripts, and events. }
    elseif ($gettok($gettok($did(1).seltext,1,32),1,46) == #MODECOLOR) { %info = #MODECOLOR $+ $crlf $+ The parameters of this field determine the colors of individual nicknames based on their status. }
    elseif ($gettok($gettok($did(1).seltext,1,32),1,46) == #OWNCOLOR) { %info = #OWNCOLOR $+ $crlf $+ The parameters of this field determine the color your nickname will be displayed in the chat. }
    elseif ($gettok($gettok($did(1).seltext,1,32),1,46) == #SCHEME) { %info = #SCHEME $+ $crlf $+ This field's parameters determine the color of each event displayed within the chat. }
    elseif ($gettok($gettok($did(1).seltext,1,32),1,46) == #SCHEMES) { %info = #SCHEMES $+ $crlf $+ This field tells UNR Theme Engine that there are multiple schemes to be used within this theme and the name of each scheme. }
  }
  did -a $dname 13 %info
}

alias -l unrfieldedit {
  if ($1 == 1) { 
    dialog -mao name unrcedit
  }
  if ($1 == 3) {
    dialog -mao prefix unrcedit
  }
  if ($1 == 4) {
    dialog -mao rprefix unrcedit
  }
  if ($1 == 6) {
    dialog -mao leftbracket unrcedit
  }
  if ($1 == 7) {
    dialog -mao rightbracket unrcedit
  }
  if ($1 == 9) {
    dialog -mao timestamp unrcedit
  }
  if ($1 == 11) {
    editfont
  }
  if ($1 == 13) {
    dialog -mao amsg unrcedit
  }
  if ($1 == 15) {
    dialog -mao nickmsg unrcedit
  }
  if ($1 == 17) {
    dialog -mao editpal editpal
  }
  elseif ($1 > 18) { 
    set %did $1
    set %field $gettok($did(unrthemecreator,1,$1),1,32)
    set %entry $gettok($did(unrthemecreator,1,$1),2-,32)
    if ($gettok(%field,1,46) == #COLORS) {
      dialog -mao colors editcol
    }
    elseif ($gettok(%field,1,46) == #MODECOLOR) {
      dialog -mao modecolors editcol
    }
    elseif ($gettok(%field,1,46) == #OWNCOLOR) {
      dialog -mao owncolor editcol
    }
    elseif ($gettok(%field,1,46) == #SCHEME) {
      dialog -mao editscheme editscheme
    }
  }
}

dialog -l schmpre {
  title "Scheme Preview"
  size -1 -1 254 116
  option dbu
  icon 1, 2 2 250 100,  $scriptdirdpreview.bmp, 0
  button "Close", 2, 87 104 80 10, ok cancel
}

on *:dialog:schmpre:init:*:scheme.preview

alias -l scheme.preview {
  if (%unrc.dialog == editscheme) {
    var %font = $qt($gettok($gettok($did(unrthemecreator,1,11),2-,32),2-,32)) $gettok($gettok($did(unrthemecreator,1,11),2-,32),1,32),%timestamp = $gettok($did(unrthemecreator,1,9),2-,32),%rawprefix = $pttok_($gettok($did(unrthemecreator,1,4),2-,32)),%prefix = $pttok_($gettok($did(unrthemecreator,1,3),2-,32))
    window -hp +f @scheme.preview 0 0 500 200 | clear @scheme.preview
    drawfill -r @scheme.preview $gettok($gettok($did(unrthemecreator,1,17),2-,32),$calc($gettok(%entry,1,44) + 1),44) $gettok($gettok($did(unrthemecreator,1,17),2-,32),$findtok(%entry,$gettok(%entry,1,44),44),44) 0 0
    drawtext -pr @scheme.preview $gettok($gettok($did(unrthemecreator,1,17),2-,32),$calc($gettok(%entry,8,44) +1),44) %font 0 0 $chr(160) $pttok_($replacecs(%timestamp,yy,10,yyyy,2010,m,1,mm,01,mmm,Jan,mmmm,January,d,1,dd,01,ddd,Mon,dddd,Monday,HH,13,H,13,hh,01,h,1,nn,02,ss,52,tt,pm,t,p,TT,PM,T,P)) %prefix (Join) Hirako : ~Vizard@XC-DW1337.socal.res.com
    drawtext -pr @scheme.preview $gettok($gettok($did(unrthemecreator,1,17),2-,32),$calc($gettok(%entry,10,44) + 1),44) %font 0 $linespace_(13) $chr(160) $pttok_($replacecs(%timestamp,yy,10,yyyy,2010,m,1,mm,01,mmm,Jan,mmmm,January,d,1,dd,01,ddd,Mon,dddd,Monday,HH,13,H,13,hh,01,h,1,nn,02,ss,53,tt,pm,t,p,TT,PM,T,P)) %prefix (Mode Set) +o Hirako : set by ChanServ
    drawtext -pr @scheme.preview $gettok($gettok($did(unrthemecreator,1,17),2-,32),$calc($gettok(%entry,12,44) + 1),44) %font 0 $linespace_(26) $chr(160) $pttok_($replacecs(%timestamp,yy,10,yyyy,2010,m,1,mm,01,mmm,Jan,mmmm,January,d,1,dd,01,ddd,Mon,dddd,Monday,HH,13,H,13,hh,01,h,1,nn,02,ss,55,tt,pm,t,p,TT,PM,T,P)) $pttok_(5,+,Pyro,How do I use this script?).n
    drawtext -pr @scheme.preview $gettok($gettok($did(unrthemecreator,1,17),2-,32),$calc($gettok(%entry,10,44) + 1 ),44) %font 0 $linespace_(39) $chr(160) $pttok_($replacecs(%timestamp,yy,10,yyyy,2010,m,1,mm,01,mmm,Jan,mmmm,January,d,1,dd,01,ddd,Mon,dddd,Monday,HH,13,H,13,hh,01,h,1,nn,03,ss,01,tt,pm,t,p,TT,PM,T,P)) %prefix (Mode Set) +b *!*@XC-568DH48.cable.cal.net : set by $me
    drawtext -pr @scheme.preview $gettok($gettok($did(unrthemecreator,1,17),2-,32),$calc($gettok(%entry,9,44) + 1),44) %font 0 $linespace_(52) $chr(160) $pttok_($replacecs(%timestamp,yy,10,yyyy,2010,m,1,mm,01,mmm,Jan,mmmm,January,d,1,dd,01,ddd,Mon,dddd,Monday,HH,13,H,13,hh,01,h,1,nn,03,ss,01,tt,pm,t,p,TT,PM,T,P)) %prefix (Kick) Pyro from #unReal : by $me » BOOM! Headshot! - unRealIRC - 89 
    drawtext -pr @scheme.preview $gettok($gettok($did(unrthemecreator,1,17),2-,32),$calc($gettok(%entry,16,44) + 1),44) %font 0 $linespace_(65) $chr(160) $pttok_($replacecs(%timestamp,yy,10,yyyy,2010,m,1,mm,01,mmm,Jan,mmmm,January,d,1,dd,01,ddd,Mon,dddd,Monday,HH,13,H,13,hh,01,h,1,nn,03,ss,05,tt,pm,t,p,TT,PM,T,P)) $pttok_(@,$me,Noobs really annoy me...).m
    drawtext -pr @scheme.preview $gettok($gettok($did(unrthemecreator,1,17),2-,32),$calc($gettok(%entry,12,44) + 1),44) %font 0 $linespace_(78) $chr(160) $pttok_($replacecs(%timestamp,yy,10,yyyy,2010,m,1,mm,01,mmm,Jan,mmmm,January,d,1,dd,01,ddd,Mon,dddd,Monday,HH,13,H,13,hh,01,h,1,nn,03,ss,08,tt,pm,t,p,TT,PM,T,P)) $pttok_(3,@,Hirako,Lulz. Abuse much?).n
    drawtext -pr @scheme.preview $gettok($gettok($did(unrthemecreator,1,17),2-,32),$calc($gettok(%entry,2,44) + 1),44) %font 0 $linespace_(91) $chr(160) $pttok_($replacecs(%timestamp,yy,10,yyyy,2010,m,1,mm,01,mmm,Jan,mmmm,January,d,1,dd,01,ddd,Mon,dddd,Monday,HH,13,H,13,hh,01,h,1,nn,03,ss,14,tt,pm,t,p,TT,PM,T,P)) » @ $me slaps Hirako around with a "Ask me if I care?"
    drawtext -pr @scheme.preview $gettok($gettok($did(unrthemecreator,1,17),2-,32),$calc($gettok(%entry,12,44) + 1),44) %font 0 $linespace_(104) $chr(160) $pttok_($replacecs(%timestamp,yy,10,yyyy,2010,m,1,mm,01,mmm,Jan,mmmm,January,d,1,dd,01,ddd,Mon,dddd,Monday,HH,13,H,13,hh,01,h,1,nn,03,ss,21,tt,pm,t,p,TT,PM,T,P)) $pttok_(4,%,Hyrule,Hey $me can you help me for a sec?).n
    drawtext -pr @scheme.preview $gettok($gettok($did(unrthemecreator,1,17),2-,32),$calc($gettok(%entry,16,44) + 1),44) %font 0 $linespace_(117) $chr(160) $pttok_($replacecs(%timestamp,yy,10,yyyy,2010,m,1,mm,01,mmm,Jan,mmmm,January,d,1,dd,01,ddd,Mon,dddd,Monday,HH,13,H,13,hh,01,h,1,nn,03,ss,23,tt,pm,t,p,TT,PM,T,P)) $pttok_(@,$me,Sure Hyrule).m
    drawtext -pr @scheme.preview $gettok($gettok($did(unrthemecreator,1,17),2-,32),$calc($gettok(%entry,6,44) + 1),44) %font 0 $linespace_(130) $chr(160) $pttok_($replacecs(%timestamp.e,yy,10,yyyy,2010,m,1,mm,01,mmm,Jan,mmmm,January,d,1,dd,01,ddd,Mon,dddd,Monday,HH,13,H,13,hh,01,h,1,nn,03,ss,27,tt,pm,t,p,TT,PM,T,P)) %rawprefix [Incoming Private Message] Hyrule : ~Zelda@XC-5895J7.dslw.net
    drawtext -pr @scheme.preview $gettok($gettok($did(unrthemecreator,1,17),2-,32),$calc($gettok(%entry,18,44) + 1),44) %font 0 $linespace_(143) $chr(160) $pttok_($replacecs(%timestamp,yy,10,yyyy,2010,m,1,mm,01,mmm,Jan,mmmm,January,d,1,dd,01,ddd,Mon,dddd,Monday,HH,13,H,13,hh,01,h,1,nn,03,ss,49,tt,pm,t,p,TT,PM,T,P)) %prefix (Quit) Hyrule : ~Zelda@XC-5895J7.dsl.net « Quit: user exited
    drawtext -pr @scheme.preview $gettok($gettok($did(unrthemecreator,1,17),2-,32),$calc($gettok(%entry,13,44) + 1),44) %font 0 $linespace_(156) $chr(160) $pttok_($replacecs(%timestamp,yy,10,yyyy,2010,m,1,mm,01,mmm,Jan,mmmm,January,d,1,dd,01,ddd,Mon,dddd,Monday,HH,13,H,13,hh,01,h,1,nn,03,ss,53,tt,pm,t,p,TT,PM,T,P)) %prefix (Notice : #unReal) @ Hirako » Behave while I'm away!
    drawtext -pr @scheme.preview $gettok($gettok($did(unrthemecreator,1,17),2-,32),$calc($gettok(%entry,11,44) + 1),44) %font 0 $linespace_(169) $chr(160) $pttok_($replacecs(%timestamp,yy,10,yyyy,2010,m,1,mm,01,mmm,Jan,mmmm,January,d,1,dd,01,ddd,Mon,dddd,Monday,HH,13,H,13,hh,01,h,1,nn,04,ss,01,tt,pm,t,p,TT,PM,T,P)) %prefix (Nick Change) Hirako is now Hir[a]ko
    drawtext -pr @scheme.preview $gettok($gettok($did(unrthemecreator,1,17),2-,32),$calc($gettok(%entry,17,44) + 1),44) %font 0 $linespace_(182) $chr(160) $pttok_($replacecs(%timestamp,yy,10,yyyy,2010,m,1,mm,01,mmm,Jan,mmmm,January,d,1,dd,01,ddd,Mon,dddd,Monday,HH,13,H,13,hh,01,h,1,nn,04,ss,09,tt,pm,t,p,TT,PM,T,P)) %prefix (Part) Dead : ~Death@XC-32LK4R.socal.cable.com    
    drawsave @scheme.preview schemepreview.bmp
    window -c @scheme.preview
    did -gv $dname 1 schemepreview.bmp
    .remove schemepreview.bmp
  }
}

alias linespace_ {
  if ($left($gettok($gettok($did(unrthemecreator,1,11),2-,32),1,32),1) == -) {
    var %fontsize = $remove($gettok($gettok($did(unrthemecreator,1,11),2-,32),1,32),-)
    return $round($calc((%fontsize * $1) / 8),0)
  }
  else {
    var %fontsize = $gettok($gettok($did(unrthemecreator,1,11),2-,32),1,32)
    return $round($calc((%fontsize * $1) / 11),0)
  }
}

alias pc_ { return $+($chr(3),$dd($gettok($gettok($did(unrthemecreator,1,$calc(%did - 3)),2-,32),$1,32))) }

alias pttok_ {
  if ($prop == n) {
    var %preturn2 = $replace($gettok($did(unrthemecreator,1,15),2-,32),<nick>,$2 $+($chr(3),$gettok($gettok($did(unrthemecreator,1,$calc(%did - 2)),2-,32),$1,32),$3,$chr(3)),<msg>,$4-,<o>,,<c>,$chr(3),<c1>,$pc_(1),<c2>,$pc_(2),<c3>,$pc_(3),<c4>,$pc_(4),<u>,,<r>,,<b>,)
    return %preturn2
  }
  if ($prop == m) {
    var %preturn4 = $replace($gettok($did(unrthemecreator,1,15),2-,32),<nick>,$1 $+($chr(3),$gettok($gettok($did(unrthemecreator,1,$calc(%did - 1)),2-,32),2-,32),$2,$chr(3)),<msg>,$3-,<o>,,<c>,$chr(3),<c1>,$pc_(1),<c2>,$pc_(2),<c3>,$pc_(3),<c4>,$pc_(4),<u>,,<r>,,<b>,)
    return %preturn4
  }
  if (!$prop) {
    var %preturn3 = $replace($1-,<o>,,<c>,,<c1>,$pc_(1),<c2>,$pc_(2),<c3>,$pc_(3),<c4>,$pc_(4),<u>,,<r>,,<b>,)
    return %preturn3
  }
}

dialog -l editscheme {
  title "Edit Field - Scheme"
  size -1 -1 100 66
  option dbu
  list 1, 5 5 54 35, size vsbar
  combo 2, 65 5 27 60, size limit 2 drop
  icon 3, 68 18 15 15
  button "Save", 4, 32 53 37 10
  button "Preview", 5, 32 42 37 10
}

on *:dialog:editscheme:init:*: {
  set %unrc.dialog editscheme
  did -a $dname 1 Background
  did -a $dname 1 Action text
  did -a $dname 1 Ctcp text
  did -a $dname 1 Highlight text
  did -a $dname 1 Info text
  did -a $dname 1 Info2 text
  did -a $dname 1 Invite text
  did -a $dname 1 Join text
  did -a $dname 1 Kick text
  did -a $dname 1 Mode text
  did -a $dname 1 Nick test
  did -a $dname 1 Normal text
  did -a $dname 1 Notice text
  did -a $dname 1 Notify text
  did -a $dname 1 Other text
  did -a $dname 1 Own text
  did -a $dname 1 Part text
  did -a $dname 1 Quit text
  did -a $dname 1 Topic text
  did -a $dname 1 Wallops text
  did -a $dname 1 Whois text
  did -a $dname 1 Editbox
  did -a $dname 1 Editbox text
  did -a $dname 1 Listbox
  did -a $dname 1 Listbox text
  did -a $dname 1 Gray text
  did -a $dname 1 Title text
  did -a $dname 1 Inactive
  did -a $dname 1 Treebar
  did -a $dname 1 Treebar text
  var %x = 0
  while (%x <= 15) {
    did -a $dname 2 $dd(%x)
    inc %x
  }
  did -c $dname 1 1
  did -c $dname 2 $findtok($didtok($dname,2,32),$gettok(%entry,1,44),32)
  window -hp +f @editcol 0 0 60 60
  drawfill -r @editcol $gettok($gettok($did(unrthemecreator,1,17),2-,32),$findtok($didtok($dname,2,32),$gettok(%entry,1,44),32),44) $gettok($gettok($did(unrthemecreator,1,17),2-,32),$findtok($didtok($dname,2,32),$gettok(%entry,1,44),32),44) 0 0
  drawsave @editcol editcol.bmp
  did -gv $dname 3 editcol.bmp
}

on *:dialog:editscheme:sclick:*: {
  if ($did == 1) {
    did -c $dname 2 $findtok($didtok($dname,2,32),$gettok(%entry,$did(1).sel,44),32)
    drawfill -r @editcol $gettok($gettok($did(unrthemecreator,1,17),2-,32),$findtok($didtok($dname,2,32),$gettok(%entry,$did(1).sel,44),32),44) $gettok($gettok($did(unrthemecreator,1,17),2-,32),$findtok($didtok($dname,2,32),$gettok(%entry,$did(1).sel,44),32),44) 0 0
    drawsave @editcol editcol.bmp
    did -gv $dname 3 editcol.bmp
  }
  if ($did == 2) {
    set %entry $puttok(%entry,$did(2),$did(1).sel,44)
    drawfill -r @editcol $gettok($gettok($did(unrthemecreator,1,17),2-,32),$findtok($didtok($dname,2,32),$gettok(%entry,$did(1).sel,44),32),44) $gettok($gettok($did(unrthemecreator,1,17),2-,32),$findtok($didtok($dname,2,32),$gettok(%entry,$did(1).sel,44),32),44) 0 0
    drawsave @editcol editcol.bmp
    did -gv $dname 3 editcol.bmp
  }
  if ($did == 4) {
    set %unrc.dialog unrthemecreator
    dialog -x editscheme
    did -o unrthemecreator 1 %did %field %entry
    unset %field
    unset %entry
    unset %did
    window -c @editcol
    .remove editcol.bmp
  }
  if ($did == 5) {
    if ($dialog(schmpre)) {
      dialog -x schmpre
      dialog -mao schmpre schmpre
    }
    else {
      dialog -mao schmpre schmpre
    }
  }
}

on *:dialog:editscheme:close:*: {
  set %unrc.dialog unrthemecreator
  unset %field
  unset %did
  unset %entry
  window -c @editcol
  .remove editcol.bmp
}

dialog -l editcol {
  title "Edit Field"
  size -1 -1 100 56
  option dbu
  list 1, 5 5 54 35, size vsbar
  combo 2, 65 5 27 50, size limit 2 drop
  icon 3, 68 18 15 15
  button "Save", 4, 32 42 37 10
}

on *:dialog:owncolor:init:*: {
  set %unrc.dialog owncolor
  dialog -t owncolor Edit Field - Your Color
  did -a $dname 1 Your Color
  var %x = 0
  while (%x <= 15) {
    did -a $dname 2 $dd(%x)
    inc %x
  }
  did -c $dname 1 1
  did -c $dname 2 $findtok($didtok($dname,2,32),$gettok(%entry,1,32),32)
  window -hp +f @editcol 0 0 60 60
  drawfill -r @editcol $gettok($gettok($did(unrthemecreator,1,17),2-,32),$findtok($didtok($dname,2,32),$gettok(%entry,1,32),32),44) $gettok($gettok($did(unrthemecreator,1,17),2-,32),$findtok($didtok($dname,2,32),$gettok(%entry,1,32),32),44) 0 0
  drawsave @editcol editcol.bmp
  did -gv $dname 3 editcol.bmp
}

on *:dialog:owncolor:sclick:*: {
  if ($did == 1) {
    did -c $dname 2 $findtok($didtok($dname,2,32),$gettok(%entry,$did(1).sel,32),32)
    drawfill -r @editcol $gettok($gettok($did(unrthemecreator,1,17),2-,32),$findtok($didtok($dname,2,32),$gettok(%entry,$did(1).sel,32),32),44) $gettok($gettok($did(unrthemecreator,1,17),2-,32),$findtok($didtok($dname,2,32),$gettok(%entry,$did(1).sel,32),32),44) 0 0
    drawsave @editcol editcol.bmp
    did -gv $dname 3 editcol.bmp
  }
  if ($did == 2) {
    set %entry $puttok(%entry,$did(2),$did(1).sel,32)
    drawfill -r @editcol $gettok($gettok($did(unrthemecreator,1,17),2-,32),$findtok($didtok($dname,2,32),$gettok(%entry,$did(1).sel,32),32),44) $gettok($gettok($did(unrthemecreator,1,17),2-,32),$findtok($didtok($dname,2,32),$gettok(%entry,$did(1).sel,32),32),44) 0 0
    drawsave @editcol editcol.bmp
    did -gv $dname 3 editcol.bmp
  }
  if ($did == 4) {
    set %unrc.dialog unrthemecreator
    dialog -x owncolor
    did -o unrthemecreator 1 %did %field %entry
    unset %field
    unset %entry
    unset %did
    window -c @editcol
    .remove editcol.bmp
  }
}

on *:dialog:owncolor:close:*: {
  set %unrc.dialog unrthemecreator
  unset %field
  unset %did
  unset %entry
  window -c @editcol
  .remove editcol.bmp
}

on *:dialog:modecolors:init:*: {
  set %unrc.dialog modecolors
  dialog -t modecolors Edit Field - Mode Colors
  did -a $dname 1 Owner(~)
  did -a $dname 1 Protect(&)
  did -a $dname 1 Operator(@)
  did -a $dname 1 Half-Op(%)
  did -a $dname 1 Voice(+)
  var %x = 0
  while (%x <= 15) {
    did -a $dname 2 $dd(%x)
    inc %x
  }
  did -c $dname 1 1
  did -c $dname 2 $findtok($didtok($dname,2,32),$gettok(%entry,1,32),32)
  window -hp +f @editcol 0 0 60 60
  drawfill -r @editcol $gettok($gettok($did(unrthemecreator,1,17),2-,32),$findtok($didtok($dname,2,32),$gettok(%entry,1,32),32),44) $gettok($gettok($did(unrthemecreator,1,17),2-,32),$findtok($didtok($dname,2,32),$gettok(%entry,1,32),32),44) 0 0
  drawsave @editcol editcol.bmp
  did -gv $dname 3 editcol.bmp
}

on *:dialog:modecolors:sclick:*: {
  if ($did == 1) {
    did -c $dname 2 $findtok($didtok($dname,2,32),$gettok(%entry,$did(1).sel,32),32)
    drawfill -r @editcol $gettok($gettok($did(unrthemecreator,1,17),2-,32),$findtok($didtok($dname,2,32),$gettok(%entry,$did(1).sel,32),32),44) $gettok($gettok($did(unrthemecreator,1,17),2-,32),$findtok($didtok($dname,2,32),$gettok(%entry,$did(1).sel,32),32),44) 0 0
    drawsave @editcol editcol.bmp
    did -gv $dname 3 editcol.bmp
  }
  if ($did == 2) {
    set %entry $puttok(%entry,$did(2),$did(1).sel,32)
    drawfill -r @editcol $gettok($gettok($did(unrthemecreator,1,17),2-,32),$findtok($didtok($dname,2,32),$gettok(%entry,$did(1).sel,32),32),44) $gettok($gettok($did(unrthemecreator,1,17),2-,32),$findtok($didtok($dname,2,32),$gettok(%entry,$did(1).sel,32),32),44) 0 0
    drawsave @editcol editcol.bmp
    did -gv $dname 3 editcol.bmp
  }
  if ($did == 4) {
    set %unrc.dialog unrthemecreator
    dialog -x modecolors
    did -o unrthemecreator 1 %did %field %entry
    unset %field
    unset %entry
    unset %did
    window -c @editcol
    .remove editcol.bmp
  }
}

on *:dialog:modecolors:close:*: {
  set %unrc.dialog unrthemecreator
  unset %field
  unset %did
  unset %entry
  window -c @editcol
  .remove editcol.bmp
}

on *:dialog:colors:init:*: {
  set %unrc.dialog colors
  dialog -t colors Edit Field - Main Colors
  var %x = 1
  while (%x <= 4) {
    did -a $dname 1 Color %x
    inc %x
  }
  var %x = 0
  while (%x <= 15) {
    did -a $dname 2 $dd(%x)
    inc %x
  }
  did -c $dname 1 1
  did -c $dname 2 $findtok($didtok($dname,2,32),$gettok(%entry,1,32),32)
  window -hp +f @editcol 0 0 60 60
  drawfill -r @editcol $gettok($gettok($did(unrthemecreator,1,17),2-,32),$findtok($didtok($dname,2,32),$gettok(%entry,1,32),32),44) $gettok($gettok($did(unrthemecreator,1,17),2-,32),$findtok($didtok($dname,2,32),$gettok(%entry,1,32),32),44) 0 0
  drawsave @editcol editcol.bmp
  did -gv $dname 3 editcol.bmp
}

on *:dialog:colors:sclick:*: {
  if ($did == 1) {
    did -c $dname 2 $findtok($didtok($dname,2,32),$gettok(%entry,$did(1).sel,32),32)
    drawfill -r @editcol $gettok($gettok($did(unrthemecreator,1,17),2-,32),$findtok($didtok($dname,2,32),$gettok(%entry,$did(1).sel,32),32),44) $gettok($gettok($did(unrthemecreator,1,17),2-,32),$findtok($didtok($dname,2,32),$gettok(%entry,$did(1).sel,32),32),44) 0 0
    drawsave @editcol editcol.bmp
    did -gv $dname 3 editcol.bmp
  }
  if ($did == 2) {
    set %entry $puttok(%entry,$did(2),$did(1).sel,32)
    drawfill -r @editcol $gettok($gettok($did(unrthemecreator,1,17),2-,32),$findtok($didtok($dname,2,32),$gettok(%entry,$did(1).sel,32),32),44) $gettok($gettok($did(unrthemecreator,1,17),2-,32),$findtok($didtok($dname,2,32),$gettok(%entry,$did(1).sel,32),32),44) 0 0
    drawsave @editcol editcol.bmp
    did -gv $dname 3 editcol.bmp
  }
  if ($did == 4) {
    set %unrc.dialog unrthemecreator
    dialog -x colors
    did -o unrthemecreator 1 %did %field %entry
    unset %field
    unset %entry
    unset %did
    window -c @editcol
    .remove editcol.bmp
  }
}

on *:dialog:colors:close:*: {
  set %unrc.dialog unrthemecreator
  unset %field
  unset %did
  unset %entry
  window -c @editcol
  .remove editcol.bmp
}

dialog -l editpal {
  title "Field Edit - Palette"
  size -1 -1 183 123
  option dbu
  icon 1, 11 8 15 15
  icon 2, 31 8 15 15
  icon 3, 51 8 15 15
  icon 4, 71 8 15 15
  icon 5, 91 8 15 15
  icon 6, 111 8 15 15
  icon 7, 132 8 15 15
  icon 8, 151 8 15 15
  icon 9, 31 28 15 15
  icon 10, 51 28 15 15
  icon 11, 71 28 15 15
  icon 12, 91 28 15 15
  icon 13, 111 28 15 15
  icon 14, 132 28 15 15
  icon 15, 11 28 15 15
  icon 16, 151 28 15 15
  box "Palette", 17, 5 0 168 50
  combo 18, 11 53 60 46, size drop
  button "Load", 19, 72 53 30 10
  button "Add", 20, 107 53 30 10
  button "Delete", 21, 142 53 30 10
  text "R:", 22, 11 72 8 8
  edit "", 23, 21 71 17 10, limit 3 center
  scroll "", 24, 40 72 90 8, range 255 horizontal bottom
  scroll "", 25, 40 84 90 8, range 255 horizontal bottom
  edit "", 26, 21 83 17 10, limit 3 center
  text "G:", 27, 11 84 8 8
  scroll "", 28, 40 96 90 8, range 255 horizontal bottom
  edit "", 29, 21 95 17 10, limit 3 center
  text "B:", 30, 11 96 8 8
  icon 31, 140 73 30 30
  button "Save", 32, 72 110 37 10
}

on *:dialog:editpal:init:*: {
  set %unrc.dialog editpal
  window -hp +f @editpal 0 0 60 60
  var %x = 1,%pal = $gettok($did(unrthemecreator,1,17),2-,32),%editcol = $rgb($gettok(%pal,1,44))
  set %temp.pal %pal
  set %sel.col 1
  while (%x <= 16) {
    clear @editpal
    drawfill -r @editpal $gettok(%pal,%x,44) $gettok(%pal,%x,44) 0 0
    drawsave @editpal editpal.bmp
    did -gv $dname %x editpal.bmp
    .remove editpal.bmp
    inc %x
  }

  window -c @editpal
  window -hp +f @editcol 0 0 60 60
  drawfill -r @editcol $gettok(%pal,1,44) $gettok(%pal,1,44) 0 0
  drawsave @editcol editcol.bmp
  did -gv $dname 31 editcol.bmp

  did -a $dname 23 $gettok(%editcol,1,44)
  did -a $dname 26 $gettok(%editcol,2,44)
  did -a $dname 29 $gettok(%editcol,3,44)
  did -c $dname 24 $gettok(%editcol,1,44)
  did -c $dname 25 $gettok(%editcol,2,44)
  did -c $dname 28 $gettok(%editcol,3,44)

  var %x = 1, %y = $lines($qt($scriptdirunrcpal.pal))
  while (%x <= %y) {
    did -a $dname 18 $gettok($read($qt($scriptdirunrcpal.pal),%x),1,44)
    inc %x
  }
  did -c $dname 18 1
}

on *:dialog:editpal:sclick:*: {
  if ($did isnum 1-16) {
    set %sel.col $did
    drawfill -r @editcol $gettok(%temp.pal,$did,44) $gettok(%temp.pal,$did,44) 0 0
    drawsave @editcol editcol.bmp
    did -gv $dname 31 editcol.bmp
    var %editcol = $rgb($gettok(%temp.pal,$did,44))
    did -ra $dname 23 $gettok(%editcol,1,44)
    did -ra $dname 26 $gettok(%editcol,2,44)
    did -ra $dname 29 $gettok(%editcol,3,44)
    did -c $dname 24 $gettok(%editcol,1,44)
    did -c $dname 25 $gettok(%editcol,2,44)
    did -c $dname 28 $gettok(%editcol,3,44)

  }
  if ($did == 19) {
    window -hp +f @editpal 0 0 60 60
    var %x = 1,%pal = $gettok($read($qt($scriptdirunrcpal.pal),$did(18).sel),2-,44),%editcol = $rgb($gettok(%pal,1,44))
    set %temp.pal %pal
    set %sel.col 1
    while (%x <= 16) {
      clear @editpal
      drawfill -r @editpal $gettok(%pal,%x,44) $gettok(%pal,%x,44) 0 0
      drawsave @editpal editpal.bmp
      did -gv $dname %x editpal.bmp
      .remove editpal.bmp
      inc %x
    }
    window -c @editpal
    drawfill -r @editcol $gettok(%pal,1,44) $gettok(%pal,1,44) 0 0
    drawsave @editcol editcol.bmp
    did -gv $dname 31 editcol.bmp
    var %editcol = $rgb($gettok(%temp.pal,1,44))
    did -ra $dname 23 $gettok(%editcol,1,44)
    did -ra $dname 26 $gettok(%editcol,2,44)
    did -ra $dname 29 $gettok(%editcol,3,44)
    did -c $dname 24 $gettok(%editcol,1,44)
    did -c $dname 25 $gettok(%editcol,2,44)
    did -c $dname 28 $gettok(%editcol,3,44)
  }
  if ($did == 20) {
    var %input = $$input(Enter a name for your new palette:,oue)
    write $qt($scriptdirunrcpal.pal) $+(%input,$chr(44),%temp.pal)
    did -r $dname 18
    var %x = 1, %y = $lines($qt($scriptdirunrcpal.pal))
    while (%x <= %y) {
      did -a $dname 18 $gettok($read($qt($scriptdirunrcpal.pal),%x),1,44)
      inc %x
    }
    did -c $dname 18 %y
  }
  if ($did == 21) {
    if ($did(18).sel > 2) { 
      write -dl [ $+ [ $did(18).sel ] ] $qt($scriptdirunrcpal.pal)
      did -r $dname 18
      var %x = 1, %y = $lines($qt($scriptdirunrcpal.pal))
      while (%x <= %y) {
        did -a $dname 18 $gettok($read($qt($scriptdirunrcpal.pal),%x),1,44)
        inc %x
      }
      did -c $dname 18 %y
    }
  }
  if ($did == 32) {
    set %unrc.dialog unrthemecreator
    dialog -x editpal
    did -o unrthemecreator 1 17 #PALETTE %temp.pal
    .remove editcol.bmp
    window -c @editcol
    unset %temp.pal
    unset %sel.col
  }
}

on *:dialog:editpal:scroll:*: {
  if ($did == 24) {
    did -ra $dname 23 $did(24).sel
    clear @editcol
    drawfill -r @editcol $rgb( [ $+($did(23),$chr(44),$did(26),$chr(44),$did(29)) ] ) $rgb( [ $+($did(23),$chr(44),$did(26),$chr(44),$did(29)) ] ) 0 0
    drawsave @editcol editcol.bmp
    did -gv $dname 31 editcol.bmp
    did -gv $dname %sel.col editcol.bmp
    set %temp.pal $puttok(%temp.pal,$rgb( [ $+($did(23),$chr(44),$did(26),$chr(44),$did(29)) ] ),%sel.col,44)
  }
  if ($did == 25) {
    did -ra $dname 26 $did(25).sel
    clear @editcol
    drawfill -r @editcol $rgb( [ $+($did(23),$chr(44),$did(26),$chr(44),$did(29)) ] ) $rgb( [ $+($did(23),$chr(44),$did(26),$chr(44),$did(29)) ] ) 0 0
    drawsave @editcol editcol.bmp
    did -gv $dname 31 editcol.bmp
    did -gv $dname %sel.col editcol.bmp
    set %temp.pal $puttok(%temp.pal,$rgb( [ $+($did(23),$chr(44),$did(26),$chr(44),$did(29)) ] ),%sel.col,44)
  }
  if ($did == 28) {
    did -ra $dname 29 $did(28).sel
    clear @editcol
    drawfill -r @editcol $rgb( [ $+($did(23),$chr(44),$did(26),$chr(44),$did(29)) ] ) $rgb( [ $+($did(23),$chr(44),$did(26),$chr(44),$did(29)) ] ) 0 0
    drawsave @editcol editcol.bmp
    did -gv $dname 31 editcol.bmp
    did -gv $dname %sel.col editcol.bmp
    set %temp.pal $puttok(%temp.pal,$rgb( [ $+($did(23),$chr(44),$did(26),$chr(44),$did(29)) ] ),%sel.col,44)
  }
}

on *:dialog:editpal:edit:*: {
  if ($did == 23) {
    if ($did(23) isnum) && ($did(26) isnum) && ($did(29) isnum) {
      if ((($did(23) >= 0) && ($did(23) <= 255)) && (($did(26) >= 0) && ($did(26) <= 255)) && (($did(29) >= 0) && ($did(29) <= 255))) {
        did -c $dname 24 $did(23)
        clear @editcol
        drawfill -r @editcol $rgb( [ $+($did(23),$chr(44),$did(26),$chr(44),$did(29)) ] ) $rgb( [ $+($did(23),$chr(44),$did(26),$chr(44),$did(29)) ] ) 0 0
        drawsave @editcol editcol.bmp
        did -gv $dname 31 editcol.bmp
        did -gv $dname %sel.col editcol.bmp
        set %temp.pal $puttok(%temp.pal,$rgb( [ $+($did(23),$chr(44),$did(26),$chr(44),$did(29)) ] ),%sel.col,44)
      }
    }
  }
  if ($did == 26) {
    if ($did(23) isnum) && ($did(26) isnum) && ($did(29) isnum) {
      if ((($did(23) >= 0) && ($did(23) <= 255)) && (($did(26) >= 0) && ($did(26) <= 255)) && (($did(29) >= 0) && ($did(29) <= 255))) {
        did -c $dname 25 $did(26)
        clear @editcol
        drawfill -r @editcol $rgb( [ $+($did(23),$chr(44),$did(26),$chr(44),$did(29)) ] ) $rgb( [ $+($did(23),$chr(44),$did(26),$chr(44),$did(29)) ] ) 0 0
        drawsave @editcol editcol.bmp
        did -gv $dname 31 editcol.bmp
        did -gv $dname %sel.col editcol.bmp
        set %temp.pal $puttok(%temp.pal,$rgb( [ $+($did(23),$chr(44),$did(26),$chr(44),$did(29)) ] ),%sel.col,44)
      }
    }
  }
  if ($did == 29) {
    if ($did(23) isnum) && ($did(26) isnum) && ($did(29) isnum) {
      if ((($did(23) >= 0) && ($did(23) <= 255)) && (($did(26) >= 0) && ($did(26) <= 255)) && (($did(29) >= 0) && ($did(29) <= 255))) {
        did -c $dname 28 $did(29)
        clear @editcol
        drawfill -r @editcol $rgb( [ $+($did(23),$chr(44),$did(26),$chr(44),$did(29)) ] ) $rgb( [ $+($did(23),$chr(44),$did(26),$chr(44),$did(29)) ] ) 0 0
        drawsave @editcol editcol.bmp
        did -gv $dname 31 editcol.bmp
        did -gv $dname %sel.col editcol.bmp
        set %temp.pal $puttok(%temp.pal,$rgb( [ $+($did(23),$chr(44),$did(26),$chr(44),$did(29)) ] ),%sel.col,44)
      }
    }
  }
}

on *:dialog:editpal:close:*: {
  set %unrc.dialog unrthemecreator
  .remove editcol.bmp
  window -c @editcol
  unset %temp.pal
  unset %sel.col
}

dialog -l viewtags {
  title "View Tags"
  size -1 -1 158 75
  option dbu
  edit "", 1, 4 4 150 57, read multi autohs autovs hsbar vsbar
  button "Close", 2, 49 62 60 10, ok cancel
}

on *:dialog:viewtags:init:*: {
  did -a viewtags 1 These are the tags that the UNR Theme Engine reads and evaluates:
  did -a viewtags 1 $crlf $chr(32) <cN> - Returns the Nth color as stated in the #COLORS field. (N = 1-4)
  did -a viewtags 1 $crlf $str($chr(32),2) <c> - Returns the color code given by ctrl + k.
  did -a viewtags 1 $crlf $str($chr(32),2) <b> - Returns the bold code given by ctrl + b.
  did -a viewtags 1 $crlf $str($chr(32),2) <u> - Returns the underline code given by ctrl + u.
  did -a viewtags 1 $crlf $str($chr(32),2) <r> - Returns the reverse code given by ctrl + r.
  did -a viewtags 1 $crlf $str($chr(32),2) <o> - Returns the strip code give by ctrl + o.
  did -a viewtags 1 $crlf $chr(32) (It is recommended that you use the tags instead of the actual code as the script was made to evaluate and save the tags.)
} 

on *:dialog:viewtagsnick:init:*: {
  did -a viewtagsnick 1 These are the tags that the UNR Theme Engine reads and evaluates:
  did -a viewtagsnick 1 $crlf $chr(32) <cN> - Returns the Nth color as stated in the #COLORS field. (N = 1-4)
  did -a viewtagsnick 1 $crlf $str($chr(32),2) <c> - Returns the color code given by ctrl + k.
  did -a viewtagsnick 1 $crlf $str($chr(32),2) <b> - Returns the bold code given by ctrl + b.
  did -a viewtagsnick 1 $crlf $str($chr(32),2) <u> - Returns the underline code given by ctrl + u.
  did -a viewtagsnick 1 $crlf $str($chr(32),2) <r> - Returns the reverse code given by ctrl + r.
  did -a viewtagsnick 1 $crlf $str($chr(32),2) <o> - Returns the strip code give by ctrl + o.
  did -a viewtagsnick 1 $crlf $chr(32) (It is recommended that you use the tags instead of the actual code as the script was made to evaluate and save the tags.)
  did -a viewtagsnick 1 $crlf $chr(32)
  did -a viewtagsnick 1 $crlf $chr(32) <nick> - Returns the nickname of person talking.
  did -a viewtagsnick 1 $crlf $chr(32) <msg> - Returns the message of the person talking.
} 

on *:dialog:viewtagsts:init:*: {
  did -a viewtagsts 1 These are the tags that the UNR Theme Engine reads and evaluates:
  did -a viewtagsts 1 $crlf $chr(32) <cN> - Returns the Nth color as stated in the #COLORS field. (N = 1-4)
  did -a viewtagsts 1 $crlf $str($chr(32),2) <c> - Returns the color code given by ctrl + k.
  did -a viewtagsts 1 $crlf $str($chr(32),2) <b> - Returns the bold code given by ctrl + b.
  did -a viewtagsts 1 $crlf $str($chr(32),2) <u> - Returns the underline code given by ctrl + u.
  did -a viewtagsts 1 $crlf $str($chr(32),2) <r> - Returns the reverse code given by ctrl + r.
  did -a viewtagsts 1 $crlf $str($chr(32),2) <o> - Returns the strip code give by ctrl + o.
  did -a viewtagsts 1 $crlf $chr(32) (It is recommended that you use the tags instead of the actual code as the script was made to evaluate and save the tags.)
  did -a viewtagsts 1 $crlf $chr(32)
  did -a viewtagsts 1 $crlf $chr(32) The format of the timestamp itself [ie. (hh:nn:sstt)] look up '$asctime' in the mIRC Help File (F1 or /help).
} 

alias -l viewtags { dialog $iif($dialog($iif($1,$1,viewtags)),-v,-mao) $iif($1,$1,viewtags) viewtags }

dialog -l editfont {
  title "Edit Field - Font"
  size -1 -1 153 60
  option dbu
  edit "8", 2, 5 12 15 12, read limit 2 center
  edit "", 3, 35 13 70 10, autohs
  text "Size:", 4, 7 2 16 8
  text "Font Name:", 5, 36 2 30 8
  button "Preview", 6, 108 13 37 9
  icon 7, 5 28 142 18
  button "Save", 8, 60 51 37 8
  button "+", 9, 20 11 7 7
  button "-", 10, 20 18 7 7
}

on *:dialog:editfont:init:*: {
  set %unrc.dialog editfont
  window -hp +f @font.preview 0 0 296 36 | clear @font.preview
  drawfill -r @font.preview $rgb(255,255,255) $rgb(255,255,255) 0 0
  drawsave @font.preview fontpreview.bmp
  window -c @font.preview
  did -gv $dname 7 fontpreview.bmp
}

on *:dialog:editfont:sclick:*: {
  if ($did == 6) {
    if ($did(3)) {
      window -hp +f @font.preview 0 0 296 36 | clear @font.preview
      drawfill -r @font.preview $rgb(255,255,255) $rgb(255,255,255) 0 0
      drawtext -r @font.preview $rgb(0,0,0) $qt($did(3)) $+(-,$did(2)) 1 1 $did(3)
      drawsave @font.preview fontpreview.bmp
      window -c @font.preview
      did -gv $dname 7 fontpreview.bmp
    }
  }
  if ($did == 8) {
    if ($did(3)) {
      did -o unrthemecreator 1 11 #FONT $+(-,$did(2)) $did(3)
      dialog -x editfont
      set %unrc.dialog unrthemecreator
    }
    else noop $input(A font must be entered to save!,owu,Error!)
  }
  if ($did == 9) {
    if ($did(2) < 28) {
      did -ra $dname 2 $calc($v1 + 1)
    }
  }
  if ($did == 10) {
    if ($did(2) > 8) {
      did -ra $dname 2 $calc($v1 - 1)
    }
  }
}

on *:dialog:editfont:close:*: {
  set %unrc.dialog unrthemecreator
  .remove fontpreview.bmp
}

alias -l editfont { dialog $iif($dialog(editfont),-v,-mao) editfont editfont }

dialog -l unrcedit {
  title "Field Edit"
  size -1 -1 176 49
  option dbu
  text "", 1, 4 9 167 8
  edit "", 2, 4 19 167 10, autohs
  button "View Tags", 3, 92 31 34 9
  button "Save", 4, 130 31 37 9
}

on *:dialog:nickmsg:init:*: {
  set %unrc.dialog nickmsg
  dialog -t $dname Field Edit - Message Format
  did -a $dname 1 Enter what you would like to use as your message format:
  did -a $dname 2 $gettok($did(unrthemecreator,1,15).text,2-,32)
}

on *:dialog:nickmsg:sclick:*: {
  if ($did == 3) { viewtags viewtagsnick }

  if ($did == 4) {
    if ($did(2)) {
      did -o unrthemecreator 1 15 #NICKMSG $did(2)
      dialog -x nickmsg
      set %unrc.dialog unrthemecreator
    }
    else noop $input(A value must be entered to save!,owu,Error!)
  }
}

on *:dialog:nickmsg:close:*:set %unrc.dialog unrthemecreator

on *:dialog:amsg:init:*: {
  set %unrc.dialog nickmsg
  dialog -t $dname Field Edit - Amsg Prefix
  did -a $dname 1 Enter what you would like to use as your Amsg Prefix:
  did -a $dname 2 $gettok($did(unrthemecreator,1,13).text,2-,32)
}

on *:dialog:amsg:sclick:*: {
  if ($did == 3) { viewtags }

  if ($did == 4) {
    if ($did(2)) {
      did -o unrthemecreator 1 13 #AMSG $did(2)
      dialog -x amsg
      set %unrc.dialog unrthemecreator
    }
    else noop $input(A value must be entered to save!,owu,Error!)
  }
}

on *:dialog:amsg:close:*:set %unrc.dialog unrthemecreator

on *:dialog:timestamp:init:*: {
  set %unrc.dialog timestamp
  dialog -t $dname Field Edit - Timestamp
  did -a $dname 1 Enter the format of your desired timestamp:
  did -a $dname 2 $gettok($did(unrthemecreator,1,9).text,2-,32)
}

on *:dialog:timestamp:sclick:*: {
  if ($did == 3) { viewtags viewtagsts }

  if ($did == 4) {
    if ($did(2)) {
      did -o unrthemecreator 1 9 #TIMESTAMP $did(2)
      dialog -x timestamp
      set %unrc.dialog unrthemecreator
    }
    else noop $input(A value must be entered to save!,owu,Error!)
  }
}

on *:dialog:timestamp:close:*:set %unrc.dialog unrthemecreator

on *:dialog:rightbracket:init:*: {
  set %unrc.dialog rightbracket
  dialog -t $dname Field Edit - Right Bracket
  did -a $dname 1 Enter the characters you would like to use for your right bracket:
  did -a $dname 2 $gettok($did(unrthemecreator,1,7).text,2-,32)
}

on *:dialog:rightbracket:sclick:*: {
  if ($did == 3) { viewtags }

  if ($did == 4) {
    if ($did(2)) {
      did -o unrthemecreator 1 7 #RIGHT $did(2)
      dialog -x rightbracket
      set %unrc.dialog unrthemecreator
    }
    else noop $input(A value must be entered to save!,owu,Error!)
  }
}

on *:dialog:rightbracket:close:*:set %unrc.dialog unrthemecreator

on *:dialog:rightbracket:init:*: {
  set %unrc.dialog rightbracket
  dialog -t $dname Field Edit - Right Bracket
  did -a $dname 1 Enter the characters you would like to use for your right bracket:
  did -a $dname 2 $gettok($did(unrthemecreator,1,7).text,2-,32)
}

on *:dialog:rightbracket:sclick:*: {
  if ($did == 3) { viewtags }

  if ($did == 4) {
    if ($did(2)) {
      did -o unrthemecreator 1 7 #RIGHT $did(2)
      dialog -x rightbracket
      set %unrc.dialog unrthemecreator
    }
    else noop $input(A value must be entered to save!,owu,Error!)
  }
}

on *:dialog:rightbracket:close:*:set %unrc.dialog unrthemecreator

on *:dialog:leftbracket:init:*: {
  set %unrc.dialog leftbracket
  dialog -t $dname Field Edit - Left Bracket
  did -a $dname 1 Enter the characters you would like to use for your left bracket:
  did -a $dname 2 $gettok($did(unrthemecreator,1,6).text,2-,32)
}

on *:dialog:leftbracket:sclick:*: {
  if ($did == 3) { viewtags }

  if ($did == 4) {
    if ($did(2)) {
      did -o unrthemecreator 1 6 #LEFT $did(2)
      dialog -x leftbracket
      set %unrc.dialog unrthemecreator
    }
    else noop $input(A value must be entered to save!,owu,Error!)
  }
}

on *:dialog:leftbracket:close:*:set %unrc.dialog unrthemecreator

on *:dialog:rprefix:init:*: {
  set %unrc.dialog rprefix
  dialog -t $dname Field Edit - Raw Event Prefix
  did -a $dname 1 Enter the characters you would like to use for your raw event prefix:
  did -a $dname 2 $gettok($did(unrthemecreator,1,4).text,2-,32)
}

on *:dialog:rprefix:sclick:*: {
  if ($did == 3) { viewtags }

  if ($did == 4) {
    if ($did(2)) {
      did -o unrthemecreator 1 4 #RAWPREFIX $did(2)
      dialog -x rprefix
      set %unrc.dialog unrthemecreator
    }
    else noop $input(A value must be entered to save!,owu,Error!)
  }
}

on *:dialog:rprefix:close:*:set %unrc.dialog unrthemecreator

on *:dialog:prefix:init:*: {
  set %unrc.dialog prefix
  dialog -t $dname Field Edit - Event Prefix
  did -a $dname 1 Enter the characters you would like to use for your event prefix:
  did -a $dname 2 $gettok($did(unrthemecreator,1,3).text,2-,32)
}

on *:dialog:prefix:sclick:*: {
  if ($did == 3) { viewtags }

  if ($did == 4) {
    if ($did(2)) {
      did -o unrthemecreator 1 3 #PREFIX $did(2)
      dialog -x prefix
      set %unrc.dialog unrthemecreator
    }
    else noop $input(A value must be entered to save!,owu,Error!)
  }
}

on *:dialog:prefix:close:*:set %unrc.dialog unrthemecreator

on *:dialog:name:init:*: {
  set %unrc.dialog name
  dialog -t $dname Field Edit - Theme Name
  did -b $dname 3
  did -a $dname 1 Enter the name of your new theme:
  did -a $dname 2 $gettok($did(unrthemecreator,1,1).text,2-,32)
}

on *:dialog:name:sclick:*: {
  if ($did == 3) { halt }

  if ($did == 4) {
    if ($did(2)) {
      did -o unrthemecreator 1 1 #NAME $did(2)
      dialog -x name
      set %unrc.dialog unrthemecreator
    }
    else noop $input(A value must be entered to save!,owu,Error!)
  }
}

on *:dialog:name:close:*: {
  set %unrc.dialog unrthemecreator
}

on *:dialog:unrthemecreator:init:*: {
  set %unrc.dialog unrthemecreator
  var %f = $shortfn($scriptdirdefault.unrc)
  loadbuf $lines(%f) -o $dname 1 %f
}

on *:dialog:unrthemecreator:close:*: {
  $iif($hget(unrcschemes),.hfree unrcschemes,halt)
}

on *:dialog:unrthemecreator:sclick:*: {
  if (%unrc.dialog == unrthemecreator) {
    if ($did == 1) {
      did -r $dname 13
      unrfieldinfo $did(1).sel
    }

    if ($did == 3) {
      if ($did(3).state == 1) {  
        .hmake unrcschemes 10
        did -e $dname 4-6
        while (%input == $null) { var %input = $input(Enter the name of a default scheme (Required. Only 1 word.),oeu,Schemes Enabled,Default) }
        .hadd unrcschemes %input %input
        did -a $dname 4 %input
        var %x = $gettok($did(1,19),2-,32),%y = $gettok($did(1,20),2-,32),%z = $gettok($did(1,21),2-,32),%w = $gettok($did(1,22),2-,32)
        did -o $dname 1 19 #SCHEMES %input
        did -o $dname 1 20 $+($chr(47),$chr(47))
        did -o $dname 1 21 $addtok(#COLORS,%input,46) %x
        did -o $dname 1 22 $addtok(#MODECOLOR,%input,46) %y
        did -a $dname 1 $addtok(#OWNCOLOR,%input,46) %z
        did -a $dname 1 $addtok(#SCHEME,%input,46) %w
      }
      else {
        while (%input == $null) { var %input = $input(Are you sure you want to disable schemes? All your schemes will be deleted!,uyvw) }
        if (%input == $yes) {
          .hfree unrcschemes
          did -r $dname 4
          did -b $dname 4-6
          var %w = $gettok($did(1,21),2-,32),%x = $gettok($did(1,22),2-,32),%y = $gettok($did(1,23),2-,32),%z = $gettok($did(1,24),2-,32)
          while ($did(1).lines >= 19) {
            did -d $dname 1 $did(1).lines
          }
          did -a $dname 1 #COLORS %w
          did -a $dname 1 #MODECOLOR %x
          did -a $dname 1 #OWNCOLOR %y
          did -a $dname 1 #SCHEME %z
        }
        else {
          did -c $dname 3
          halt
        }
      }
    }
    if ($did == 5) {
      if ($did(4)) {
        if (!$hget(unrcschemes,$did(4))) {
          hadd unrcschemes $did(4) $did(4)
          did -a $dname 4 $did(4)
          var %f = $shortfn($scriptdirdefault.unrc),%nschm = $addtok($did(1,19),$did(4),32)
          did -o $dname 1 19 %nschm
          did -a $dname 1 $addtok(#COLORS,$did(4),46) $gettok($read(%f,19),2-,32)
          did -a $dname 1 $addtok(#MODECOLOR,$did(4),46) $gettok($read(%f,20),2-,32)
          did -a $dname 1 $addtok(#OWNCOLOR,$did(4),46) $gettok($read(%f,21),2-,32)
          did -a $dname 1 $addtok(#SCHEME,$did(4),46) $gettok($read(%f,22),2-,32)
        }
      }
    }
    if ($did == 6) {
      if ($did(4).seltext) && ($numtok($didtok($dname,4,32),32) > 1) {
        hdel unrcschemes $did(4).seltext
        var %num = 21
        while ($gettok($gettok($did(1,%num),1,32).text,2,46) != $did(4).seltext) {
          inc %num
        }
        var %num2 = $calc(%num + 3)
        while (%num <= %num2) {
          did -d $dname 1 %num2
          dec %num2
        }
        did -d $dname 4 $did(4).sel
      }
    }
    if ($did == 8) {
      var %input = $input(Are you sure you want to reset all fields? All preferences and schemes will be lost.,ywvu)
      if (%input = $yes) {
        did -r $dname 1
        var %f = $shortfn($scriptdirdefault.unrc)
        loadbuf $lines(%f) -o $dname 1 %f
        if ($did(3).state == 1) {
          did -u $dname 3
          .hfree unrcschemes
          did -r $dname 4
          did -b $dname 4-6
        }
      }
    }
    if ($did == 9) {
      if ($did(10)) {
        var %seldir = $sdir($scriptdir,Select where you'd like to save your theme:),%x = 1, %y = $did($dname,1).lines
        if (!$exists($qt($+(%seldir,$gettok($did(10),1,32),.unr)))) {
          while (%x <= %y) {
            write $qt($+(%seldir,$gettok($did(10),1,32),.unr)) $did($dname,1,%x)
            inc %x
          }
          if ($did(12).state == 1) {
            if (!$read($themes.lst,w,$shortfn($+(%seldir,$gettok($did(10),1,32),.unr)))) {
              write $themes.lst $shortfn($+(%seldir,$gettok($did(10),1,32),.unr))
              $iif($dialog(dialogThmLdr),refresh.Themes)
            }
          }
          dialog -x $dname
        }
        else noop $input(Theme file already exists. Please select a different filename or directory.,owu)
      }
      else noop $input(A Filename must be entered to save.,owu)
    }
  }
}

on *:dialog:unrthemecreator:dclick:*: {
  if (%unrc.dialog == unrthemecreator) {
    if ($did == 1) {
      unrfieldedit $did(1).sel
    }
  }
}

on *:LOAD: {
  if ($hget(theme)) .hfree theme
  temp.thm
  hsave theme $shortfn($scriptdirtheme.hsh)
  if (!$isfile($shortfn($scriptdirReadMe.txt))) { write $shortfn($scriptdirReadMe.txt) NO README FILE FOUND }
  if (!$isfile($shortfn($scriptdirdpreview.bmp))) {
    window -hp +f @Theme.dPreview 0 0 500 200 | clear @Theme.dPreview
    drawfill -r @Theme.dpreview $rgb(192,192,192) $rgb(192,192,192) 0 0
    drawsave @Theme.dpreview $qt($scriptdirdpreview.bmp)
    window -c @Theme.dpreview
  }
  $iif(!$exists($themes.lst),write $qt($scriptdirthemes.lst))
  write -c $qt($scriptdirdefault.unrc)
  var %w = write $qt($scriptdirdefault.unrc)
  %w #NAME Default
  %w //
  %w #PREFIX **
  %w #RAWPREFIX *
  %w //
  %w #LEFT <b><c1>[<b><o>
  %w #RIGHT <b><c1>]<b><o>
  %w //
  %w #TIMESTAMP <c1><b>[<b><o>hh<c1>:<o>nn<c1>:<o>sstt<c1><b>]<b><o>
  %w //
  %w #FONT -8 Verdana
  %w //
  %w #AMSG xAmsgx
  %w //
  %w #NICKMSG (<nick>) <msg>
  %w //
  %w #PALETTE 16777215,0,14772545,2330216,190,2763429,14822282,1803490,55295,3329434,11829830,15453831,13434880,8421616,9470064,12632256
  %w //
  %w #COLORS 12 14 04 15
  %w #MODECOLOR 12 14 04 15 11
  %w #OWNCOLOR 10
  %w #SCHEME 00,06,04,05,02,03,03,03,03,03,03,01,05,07,06,01,03,02,03,05,01,00,01,00,01,15,06,00,00,01
  write -c $qt($scriptdirunrcpal.pal)
  var %w = write $qt($scriptdirunrcpal.pal)
  %w unReal,16777215,0,14772545,2330216,190,2763429,14822282,1803490,55295,3329434,11829830,15453831,13434880,8421616,9470064,12632256
  %w mIRC Classic,16777215,0,8323072,37632,255,127,10223772,32764,65535,64512,9671424,16776960,16515072,16711935,8355711,13816530
  echo -s *** unRealIRC Theme Engine Successfully Loaded.
  echo -s *** Make Sure the File is Placed Last in the Order of Files. (Remotes -> File -> Order)
}

alias -l temp.thm { var %h = hadd -m Theme 
  %h Theme Temporary Default | %h File N/A 
  %h c1 12 | %h c2 14 | %h c3 04 | %h c4 15 | %h Owncolor 10
  %h c~ 12 | %h c& 14 | %h c@ 04 | %h c% 15 | %h c+ 11
  %h Prefix ** | %h Rawprefix *
  %h Left 15[ | %h Right 15]
  %h Timestamp (hh:nn:sstt)
  %h Amsg (AmsG)
  %h Nickmsg (<nick>) <msg>
  .cnick -r $+($chr(36),me)
  .cnick -a $+($chr(36),me) $ttok(OWNCOLOR)
  var %mnum = 1
  while (%mnum <= 5) { .cnick -r *
  inc %mnum }
  .cnick * $ttok(c~) ~ | .cnick * $ttok(c&) & | .cnick * $ttok(c@) @ | .cnick * $ttok(c%) % | .cnick * $ttok(c+) +
  .timestamp -f $ttok(Timestamp)
}

menu channel,menubar,status,query {
  Theme Loader:thmldr
}

alias thmldr { if ($dialog(dialogThmLdr)) { dialog -v dialogThmLdr dialogThmLdr }
else { dialog -vdm dialogThmLdr dialogThmLdr } }

alias -l themes.lst { return $shortfn($scriptdirthemes.lst) }

alias refresh.Themes {
  did -r dialogThmLdr 2
  did -ra dialogThmLdr 9 Themes: $lines($themes.lst)
  var %thmnum = 1
  while (%thmnum <= $lines($themes.lst)) {
    did -a dialogThmLdr 2 $read($read($themes.lst,%thmnum),s,#NAME)
    inc %thmnum
  }
  if (%theme.autogen) { did -c dialogThmLdr 7 }
}

dialog dialogThmLdr {
  title "Theme Loader"
  size -1 -1 337 135
  option dbu

  icon 1, 84 1 250 100,  $scriptdirdpreview.bmp, 0

  list 2, 3 1 80 100, size

  combo 3, 3 104 80 36, size drop

  button "Apply", 4, 258 104 37 12
  button "Preview", 5, 218 104 37 12
  button "Exit", 6, 298 104 37 12, ok

  check "Auto-Generate Preview", 7, 96 105 69 10

  edit "", 8, 145 120 190 10, read
  edit "", 9, 2 120 50 10, read
  edit "", 10, 53 120 90 10, read

  menu "File", 11

  item "Load...", 12, 11
  item "Unload", 13, 11
  item Break, 14, 11
  item "Reload Current", 15, 11
  item Break, 16, 11
  item "Exit", 17, 11, cancel

  menu "Help", 18

  item "Read Me", 19, 18
  item Break, 20, 18
  item "About", 21, 18

  button "Create New...", 22, 178 104 37 12
}

on *:dialog:dialogThmLdr:init:*: {
  refresh.Themes
  did -ra $dname 10 Theme: $thm \ Scheme: $schm
}

on *:dialog:dialogThmLdr:sclick:*: {
  if ($did == 2) {
    if ($did(2).seltext) {
      if (!%theme.autogen) did -gv $dname 1 $shortfn($scriptdirdpreview.bmp)
      did -r $dname 3
      if ($read($shortfn($read($themes.lst,$did(2).sel)),s,#SCHEMES)) {
        did -e $dname 3
        var %schemes = $read($shortfn($read($themes.lst,$did(2).sel)),s,#SCHEMES)
        var %schmnum = 1
        while (%schmnum <= $numtok(%schemes,32)) {
          did -a $dname 3 $gettok(%schemes,%schmnum,32)
          inc %schmnum
        }
        did -c $dname 3 1
        if (%theme.autogen) preview.theme
      }
      else {
        did -b $dname 3 
        if (%theme.autogen) { 
          preview.Theme 
        }
      }
    }
  }
  if (($did == 3) && ($did(3).seltext)) {
    if (%theme.autogen) { preview.Theme }
  }
  if ($did == 4) {
    if ($did(2).seltext) {
      if ($read($shortfn($read($themes.lst,$did(2).sel)),s,#SCHEMES)) { 
        if ($did(3).seltext) {
          theme.load $shortfn($read($themes.lst,$did(2).sel)) $did(3).seltext
        }
        else { did -ra $dname 8 ERROR: To apply Theme a Scheme must be selected!
        }
        else { theme.load $shortfn($read($themes.lst,$did(2).sel)) }
        did -ra $dname 10 Theme: $thm \ Scheme: $schm
      }
      else { theme.load $shortfn($read($themes.lst,$did(2).sel)) }
    }
    else { did -ra $dname 8 ERROR: A theme must be selected! }
  }
  if ($did == 5) { preview.theme }
  if ($did == 7) {
    if ($did(7).state == 0) { unset %theme.autogen }
    if ($did(7).state == 1) { set %theme.autogen On }
  }
  if ($did == 22) { createtheme }
}

on *:dialog:dialogThmLdr:menu:*: {
  if ($did == 12) {
    var %newThm = $sfile($mircdir*unr,Select Theme to Load...,Load)
    if (!$read($themes.lst,w,$shortfn(%newThm))) {
      write $themes.lst $shortfn(%newThm)
      refresh.Themes
    }
    else { did -ra $dname 8 ERROR: Theme file already loaded! }
  }
  if ($did == 13) {
    if ($did(2).seltext) {
      var %thmunl = $input(You sure you would like to unload: $did(2).seltext ?,yu,Confirm Action)
      if (%thmunl == $true) { write -dl [ $+ [ $did(2).sel ] ] $themes.lst 
        refresh.Themes
      }
    }
    else { did -ra $dname 8 ERROR: Please select a Theme to Unload! }
  }
  if ($did == 15) { theme.reload | did -ra $dname 10 Theme: $thm \ Scheme: $schm }
  if ($did == 19) { 
    if ($isfile($shortfn($scriptdirReadMe.txt))) {
      if (!$window(@Theme.ReadMe)) {
        window -ad @Theme.ReadMe -1 -1 -1 -1
        loadbuf $lines($scriptdirReadMe.txt) @Theme.ReadMe $shortfn($scriptdirReadMe.txt)
      }
      else { window -ar @Theme.ReadMe }
    }
  }
  if ($did == 21) { dialog $iif($dialog(dialogThmAbout),-v,-vma) dialogThmAbout dialogThmAbout }
}

on *:dialog:dialogThmLdr:mouse:*: {
  if ($did == 0) { did -r $dname 8 }
  elseif ($did == 1) { did -ra $dname 8 Here is where your Theme's Preview will be generated. }
  elseif ($did == 2) { did -ra $dname 8 Your loaded Themes. }
  elseif ($did == 3) { did -ra $dname 8 The schemes of your selected Theme. }
  elseif ($did == 4) { did -ra $dname 8 Applies your selected Theme. }
  elseif ($did == 5) { did -ra $dname 8 Generate a Preview of your selected Theme. }
  elseif ($did == 6) { did -ra $dname 8 Closes the dialog. }
  elseif ($did == 7) { did -ra $dname 8 If checked preview will auto-generate (Scheme must be selected if available). }
  elseif ($did == 8) { did -ra $dname 8 Here is where your 'On-Task' Help will be generated. }
  elseif ($did == 9) { did -ra $dname 8 Number of Themes you currently have loaded. }
  elseif ($did == 10) { did -ra $dname 8 Theme you are currently using. }
  elseif ($did == 22) { did -ra $dname 8 Opens the UNR Theme Creator dialog. }
}

alias -l preview.Theme {
  if ($dialog(dialogThmLdr)) {
    if ($did(2).seltext) {
      set %thmfile $shortfn($read($themes.lst,$did(2).sel))
      if ($read(%thmfile,s,#SCHEMES)) { 
        if (!$did(3)) { did -ra $dname 8 ERROR: A Scheme must be selected! | halt }
        set %schm $+(#SCHEME,$chr(46),$did(3).seltext) 
        set %pschm $+($chr(46),$did(3).seltext)
      }
      else { var %schm = #SCHEME }
    }
    window -hp +f @Theme.Preview 0 0 500 200 | clear @Theme.Preview
    if ($isfile($shortfn($scriptdirpreview.bmp))) { .remove $shortfn($scriptdirpreview.bmp) }
    drawfill -r @Theme.Preview $gettok($read(%thmfile,s,#PALETTE),$calc($gettok($read(%thmfile,s,%schm),1,44) + 1),44) $gettok($read(%thmfile,s,#PALETTE),$calc($gettok($read(%thmfile,s,%schm),1,44) + 1),44) 0 0
    drawtext -pr @Theme.Preview $gettok($read(%thmfile,s,#PALETTE),$calc($gettok($read(%thmfile,s,%schm),8,44) + 1),44) $qt($gettok($read(%thmfile,s,#FONT),2-,32)) $gettok($read(%thmfile,s,#FONT),1,32) 0 0 $chr(160) $replacecs($pttok(#TIMESTAMP).e,yy,10,yyyy,2010,m,1,mm,01,mmm,Jan,mmmm,January,d,1,dd,01,ddd,Mon,dddd,Monday,HH,13,H,13,hh,01,h,1,nn,02,ss,52,tt,pm,t,p,TT,PM,T,P) $pttok(#PREFIX).e (Join) Hirako : ~Vizard@XC-DW1337.socal.res.com
    drawtext -pr @Theme.Preview $gettok($read(%thmfile,s,#PALETTE),$calc($gettok($read(%thmfile,s,%schm),10,44) + 1),44) $qt($gettok($read(%thmfile,s,#FONT),2-,32)) $gettok($read(%thmfile,s,#FONT),1,32) 0 $linespace(%thmfile,13) $chr(160) $replacecs($pttok(#TIMESTAMP).e,yy,10,yyyy,2010,m,1,mm,01,mmm,Jan,mmmm,January,d,1,dd,01,ddd,Mon,dddd,Monday,HH,13,H,13,hh,01,h,1,nn,02,ss,53,tt,pm,t,p,TT,PM,T,P) $pttok(#PREFIX).e (Mode Set) +o Hirako : set by ChanServ
    drawtext -pr @Theme.Preview $gettok($read(%thmfile,s,#PALETTE),$calc($gettok($read(%thmfile,s,%schm),12,44) + 1),44) $qt($gettok($read(%thmfile,s,#FONT),2-,32)) $gettok($read(%thmfile,s,#FONT),1,32) 0 $linespace(%thmfile,26) $chr(160) $replacecs($pttok(#TIMESTAMP).e,yy,10,yyyy,2010,m,1,mm,01,mmm,Jan,mmmm,January,d,1,dd,01,ddd,Mon,dddd,Monday,HH,13,H,13,hh,01,h,1,nn,02,ss,55,tt,pm,t,p,TT,PM,T,P) $pttok(5,+,Pyro,How do I use this script?).n
    drawtext -pr @Theme.Preview $gettok($read(%thmfile,s,#PALETTE),$calc($gettok($read(%thmfile,s,%schm),10,44) + 1),44) $qt($gettok($read(%thmfile,s,#FONT),2-,32)) $gettok($read(%thmfile,s,#FONT),1,32) 0 $linespace(%thmfile,39) $chr(160) $replacecs($pttok(#TIMESTAMP).e,yy,10,yyyy,2010,m,1,mm,01,mmm,Jan,mmmm,January,d,1,dd,01,ddd,Mon,dddd,Monday,HH,13,H,13,hh,01,h,1,nn,03,ss,01,tt,pm,t,p,TT,PM,T,P) $pttok(#PREFIX).e (Mode Set) +b *!*@XC-568DH48.cable.cal.net : set by $me
    drawtext -pr @Theme.Preview $gettok($read(%thmfile,s,#PALETTE),$calc($gettok($read(%thmfile,s,%schm),9,44) + 1),44) $qt($gettok($read(%thmfile,s,#FONT),2-,32)) $gettok($read(%thmfile,s,#FONT),1,32) 0 $linespace(%thmfile,52) $chr(160) $replacecs($pttok(#TIMESTAMP).e,yy,10,yyyy,2010,m,1,mm,01,mmm,Jan,mmmm,January,d,1,dd,01,ddd,Mon,dddd,Monday,HH,13,H,13,hh,01,h,1,nn,03,ss,01,tt,pm,t,p,TT,PM,T,P) $pttok(#PREFIX).e (Kick) Pyro from #unReal : by $me » BOOM! Headshot! - unRealIRC - 89 
    drawtext -pr @Theme.Preview $gettok($read(%thmfile,s,#PALETTE),$calc($gettok($read(%thmfile,s,%schm),16,44) + 1),44) $qt($gettok($read(%thmfile,s,#FONT),2-,32)) $gettok($read(%thmfile,s,#FONT),1,32) 0 $linespace(%thmfile,65) $chr(160) $replacecs($pttok(#TIMESTAMP).e,yy,10,yyyy,2010,m,1,mm,01,mmm,Jan,mmmm,January,d,1,dd,01,ddd,Mon,dddd,Monday,HH,13,H,13,hh,01,h,1,nn,03,ss,05,tt,pm,t,p,TT,PM,T,P) $pttok(@,$me,Noobs really annoy me...).m
    drawtext -pr @Theme.Preview $gettok($read(%thmfile,s,#PALETTE),$calc($gettok($read(%thmfile,s,%schm),12,44) + 1),44) $qt($gettok($read(%thmfile,s,#FONT),2-,32)) $gettok($read(%thmfile,s,#FONT),1,32) 0 $linespace(%thmfile,78) $chr(160) $replacecs($pttok(#TIMESTAMP).e,yy,10,yyyy,2010,m,1,mm,01,mmm,Jan,mmmm,January,d,1,dd,01,ddd,Mon,dddd,Monday,HH,13,H,13,hh,01,h,1,nn,03,ss,08,tt,pm,t,p,TT,PM,T,P) $pttok(3,@,Hirako,Lulz. Abuse much?).n
    drawtext -pr @Theme.Preview $gettok($read(%thmfile,s,#PALETTE),$calc($gettok($read(%thmfile,s,%schm),2,44) + 1),44) $qt($gettok($read(%thmfile,s,#FONT),2-,32)) $gettok($read(%thmfile,s,#FONT),1,32) 0 $linespace(%thmfile,91) $chr(160) $replacecs($pttok(#TIMESTAMP).e,yy,10,yyyy,2010,m,1,mm,01,mmm,Jan,mmmm,January,d,1,dd,01,ddd,Mon,dddd,Monday,HH,13,H,13,hh,01,h,1,nn,03,ss,14,tt,pm,t,p,TT,PM,T,P) » @ $me slaps Hirako around with a "Ask me if I care?"
    drawtext -pr @Theme.Preview $gettok($read(%thmfile,s,#PALETTE),$calc($gettok($read(%thmfile,s,%schm),12,44) + 1),44) $qt($gettok($read(%thmfile,s,#FONT),2-,32)) $gettok($read(%thmfile,s,#FONT),1,32) 0 $linespace(%thmfile,104) $chr(160) $replacecs($pttok(#TIMESTAMP).e,yy,10,yyyy,2010,m,1,mm,01,mmm,Jan,mmmm,January,d,1,dd,01,ddd,Mon,dddd,Monday,HH,13,H,13,hh,01,h,1,nn,03,ss,21,tt,pm,t,p,TT,PM,T,P) $pttok(4,%,Hyrule,Hey $me can you help me for a sec?).n
    drawtext -pr @Theme.Preview $gettok($read(%thmfile,s,#PALETTE),$calc($gettok($read(%thmfile,s,%schm),16,44) + 1),44) $qt($gettok($read(%thmfile,s,#FONT),2-,32)) $gettok($read(%thmfile,s,#FONT),1,32) 0 $linespace(%thmfile,117) $chr(160) $replacecs($pttok(#TIMESTAMP).e,yy,10,yyyy,2010,m,1,mm,01,mmm,Jan,mmmm,January,d,1,dd,01,ddd,Mon,dddd,Monday,HH,13,H,13,hh,01,h,1,nn,03,ss,23,tt,pm,t,p,TT,PM,T,P) $pttok(@,$me,Sure Hyrule).m
    drawtext -pr @Theme.Preview $gettok($read(%thmfile,s,#PALETTE),$calc($gettok($read(%thmfile,s,%schm),6,44) + 1),44) $qt($gettok($read(%thmfile,s,#FONT),2-,32)) $gettok($read(%thmfile,s,#FONT),1,32) 0 $linespace(%thmfile,130) $chr(160) $replacecs($pttok(#TIMESTAMP).e,yy,10,yyyy,2010,m,1,mm,01,mmm,Jan,mmmm,January,d,1,dd,01,ddd,Mon,dddd,Monday,HH,13,H,13,hh,01,h,1,nn,03,ss,27,tt,pm,t,p,TT,PM,T,P) $pttok(#RAWPREFIX).e [Incoming Private Message] Hyrule : ~Zelda@XC-5895J7.dslw.net
    drawtext -pr @Theme.Preview $gettok($read(%thmfile,s,#PALETTE),$calc($gettok($read(%thmfile,s,%schm),18,44) + 1),44) $qt($gettok($read(%thmfile,s,#FONT),2-,32)) $gettok($read(%thmfile,s,#FONT),1,32) 0 $linespace(%thmfile,143) $chr(160) $replacecs($pttok(#TIMESTAMP).e,yy,10,yyyy,2010,m,1,mm,01,mmm,Jan,mmmm,January,d,1,dd,01,ddd,Mon,dddd,Monday,HH,13,H,13,hh,01,h,1,nn,03,ss,49,tt,pm,t,p,TT,PM,T,P) $pttok(#PREFIX).e (Quit) Hyrule : ~Zelda@XC-5895J7.dsl.net « Quit: user exited
    drawtext -pr @Theme.Preview $gettok($read(%thmfile,s,#PALETTE),$calc($gettok($read(%thmfile,s,%schm),13,44) + 1),44) $qt($gettok($read(%thmfile,s,#FONT),2-,32)) $gettok($read(%thmfile,s,#FONT),1,32) 0 $linespace(%thmfile,156) $chr(160) $replacecs($pttok(#TIMESTAMP).e,yy,10,yyyy,2010,m,1,mm,01,mmm,Jan,mmmm,January,d,1,dd,01,ddd,Mon,dddd,Monday,HH,13,H,13,hh,01,h,1,nn,03,ss,53,tt,pm,t,p,TT,PM,T,P) $pttok(#PREFIX).e (Notice : #unReal) @ Hirako » Behave while I'm away!
    drawtext -pr @Theme.Preview $gettok($read(%thmfile,s,#PALETTE),$calc($gettok($read(%thmfile,s,%schm),11,44) + 1),44) $qt($gettok($read(%thmfile,s,#FONT),2-,32)) $gettok($read(%thmfile,s,#FONT),1,32) 0 $linespace(%thmfile,169) $chr(160) $replacecs($pttok(#TIMESTAMP).e,yy,10,yyyy,2010,m,1,mm,01,mmm,Jan,mmmm,January,d,1,dd,01,ddd,Mon,dddd,Monday,HH,13,H,13,hh,01,h,1,nn,04,ss,01,tt,pm,t,p,TT,PM,T,P) $pttok(#PREFIX).e (Nick Change) Hirako is now Hir[a]ko
    drawtext -pr @Theme.Preview $gettok($read(%thmfile,s,#PALETTE),$calc($gettok($read(%thmfile,s,%schm),17,44) + 1),44) $qt($gettok($read(%thmfile,s,#FONT),2-,32)) $gettok($read(%thmfile,s,#FONT),1,32) 0 $linespace(%thmfile,182) $chr(160) $replacecs($pttok(#TIMESTAMP).e,yy,10,yyyy,2010,m,1,mm,01,mmm,Jan,mmmm,January,d,1,dd,01,ddd,Mon,dddd,Monday,HH,13,H,13,hh,01,h,1,nn,04,ss,09,tt,pm,t,p,TT,PM,T,P) $pttok(#PREFIX).e (Part) Dead : ~Death@XC-32LK4R.socal.cable.com 
    drawsave @Theme.Preview $qt($scriptdirpreview.bmp)
    window -c @Theme.Preview
    did -gv $dname 1 $qt($scriptdirpreview.bmp)
    unset %thmfile
    unset %schm
    unset %pschm
  }
  else { did -ra $dname 8 ERROR: Please select a theme to preview! }
}

alias -l linespace {
  if ($left($gettok($read($1,s,#FONT),1,32),1) == -) {
    var %fontsize = $remove($gettok($read($1,s,#FONT),1,32),-)
    return $round($calc((%fontsize * $2) / 8),0)
  }
  else {
    var %fontsize = $gettok($read($1,s,#FONT),1,32)
    return $round($calc((%fontsize * $2) / 11),0)
  }
}

dialog -l dialogThmAbout {
  title About...
  size -1 -1 176 73
  option dbu
  text unRealIRC Theme Engine V5 $+ $crlf $+ $crlf $+ Version: Public Beta 1.0 $+ $crlf $+ $crlf $+ Created by DarkWarrior $+ $crlf $+ $crlf $+ Contact: irc.xerocreative.com @ #AK / User: DarkWarrior , 1, 14 3 150 45, center
  text DarkWarrior© 2009 All Rights Reserved., 2, 14 51 150 8, disable centerr
  button "Close", 3, 68 62 37 10, ok cancel
}

alias pc { return $+($chr(3),$gettok($read(%thmfile,s,$+(#COLORS,%pschm)),$1,32)) }

alias pttok {
  if ($prop == e) { 
    var %preturn1 = $replace($read(%thmfile,s,$1),<c>,$chr(3),<c1>,$pc(1),<c2>,$pc(2),<c3>,$pc(3),<c4>,$pc(4),<u>,,<r>,,<b>,,<o>,)
    return %preturn1
  }
  if ($prop == n) {
    var %preturn2 = $replace($read(%thmfile,s,#NICKMSG),<nick>,$2 $+($chr(3),$gettok($read(%thmfile,s,$+(#MODECOLOR,%pschm)),$1,32),$3,$chr(3)),<msg>,$4-,<c>,$chr(3),<c1>,$pc(1),<c2>,$pc(2),<c3>,$pc(3),<c4>,$pc(4),<u>,,<r>,,<b>,,<o>,)
    return %preturn2
  }
  if ($prop == m) {
    var %preturn4 = $replace($read(%thmfile,s,#NICKMSG),<nick>,$1 $+($chr(3),$read(%thmfile,s,$+(#OWNCOLOR,%pschm)),$2,$chr(3)),<msg>,$3-,<c>,$chr(3),<c1>,$pc(1),<c2>,$pc(2),<c3>,$pc(3),<c4>,$pc(4),<u>,,<r>,,<b>,,<o>,)
    return %preturn4
  }
  if (!$prop) {
    var %preturn3 = $replace($1-,<c>,,<c1>,$pc(1),<c2>,$pc(2),<c3>,$pc(3),<c4>,$pc(4),<u>,,<r>,,<b>,,<o>,)
    return %preturn3
  }
}

alias ttok { 
  if (!$prop) { return $hget(Theme,$1) }
  if ($prop == c) {
    if ($1 isnum 1-4) { return c [ $+ [ $1 ] ] $gettok($2,$1,32) }
  }
  if ($prop == r) { return $replace($1,<c>,,<c1>,$c(1),<c2>,$c(2),<c3>,$c(3),<c4>,$c(4),<u>,,<b>,,<r>,,<o>,) 
  }
}

alias thm { return $ttok(Theme) }

alias schm {
  if ($ttok(Schm)) {
    return $ttok(Schm)
  }
  else {
    return N/A
  }
}

alias -l theme.load {
  if ($isfile($1)) {
    if ($right($1,4) == .unr) { var %thm = $1
      if ($read(%thm,st,#SCHEMES)) {  var %thm.schm = $+($chr(46),$2) }
      if ($hget(Theme)) { hfree theme }
      hmake theme 20
      var %h = hadd -m Theme
      %h Theme $read(%thm,st,#NAME)
      %h Schm $2
      %h File %thm
      var %cnum = 1,%clrs = $read(%thm,st,$+(#COLORS,%thm.schm))
      while (%cnum <= 4) {
        %h $ttok(%cnum,%clrs).c
        inc %cnum
      }
      %h Owncolor $read(%thm,st,$+(#OWNCOLOR,%thm.schm))
      .cnick -r $+($chr(36),me)
      .cnick -a $+($chr(36),me) $ttok(OWNCOLOR)
      var %mcol = $read(%thm,st,$+(#MODECOLOR,%thm.schm))
      %h c~ $gettok(%mcol,1,32)
      %h c& $gettok(%mcol,2,32)
      %h c@ $gettok(%mcol,3,32)
      %h c% $gettok(%mcol,4,32)
      %h c+ $gettok(%mcol,5,32)
      var %mnum = 1
      while (%mnum <= 5) { .cnick -r *
      inc %mnum }
      .cnick * $ttok(c~) ~
      .cnick * $ttok(c&) &
      .cnick * $ttok(c@) @
      .cnick * $ttok(c%) %
      .cnick * $ttok(c+) +
      %h Prefix $ttok($read(%thm,st,#PREFIX)).r
      %h Rawprefix $ttok($read(%thm,st,#RAWPREFIX)).r
      %h Left $ttok($read(%thm,st,#LEFT)).r
      %h Right $ttok($read(%thm,st,#RIGHT)).r
      %h Timestamp $ttok($read(%thm,st,#TIMESTAMP)).r
      %h Amsg $ttok($read(%thm,st,#AMSG)).r
      %h Nickmsg $ttok($read(%thm,st,#NICKMSG)).r
      %h Font $read(%thm,st,#FONT)
      %h Scheme $read(%thm,st,$+(#SCHEME,%thm.schm))
      %h Palette $read(%thm,st,#PALETTE)
      writeini mirc.ini colors n0 Theme, $+ $ttok(Scheme)
      writeini mirc.ini palettes n0 $ttok(Palette)
      color -ls Theme
      .timestamp -f $ttok(Timestamp)
      .font -zd $ttok(Font)
      if ($hget(theme)) .hsave -o theme $scriptdirtheme.hsh
      else { hmake theme 20 | .hsave -o theme $scriptdirtheme.hsh }
      echo $color(info2) -a $rpre Theme: $thm \ Scheme: $schm (Successfully Loaded.)
      halt
    }
    else { did -ra $dname 8 ERROR: Incorrect file type! (Theme files: *.unr) | halt }
  }
  else { did -ra $dname 8 ERROR: Theme file does not exist! | halt }
  :error
  did -ra $dname 8 ERROR: Theme File unable to Load. ( $+ $error $+ )
}

alias -l theme.reload {
  if ($isfile($ttok(file))) { 
    if ($right($ttok(file),4) == .unr) { var %thm = $ttok(file)
      if ($read(%thm,st,#SCHEMES)) { var %thm.schm = $+($chr(46),$schm) }
      if ($hget(Theme)) { hfree theme }
      hmake theme 20
      var %h = hadd -m Theme
      %h Theme $read(%thm,st,#NAME)
      %h Schm $right(%thm.schm,$calc($len(%thm.schm) - 1))
      %h File %thm
      var %cnum = 1,%clrs = $read(%thm,st,$+(#COLORS,%thm.schm))
      while (%cnum <= 4) {
        %h $ttok(%cnum,%clrs).c
        inc %cnum
      }
      %h Owncolor $read(%thm,st,$+(#OWNCOLOR,%thm.schm))
      .cnick -r $+($chr(36),me)
      .cnick -a $+($chr(36),me) $ttok(OWNCOLOR)
      var %mcol = $read(%thm,st,$+(#MODECOLOR,%thm.schm))
      %h c~ $gettok(%mcol,1,32)
      %h c& $gettok(%mcol,2,32)
      %h c@ $gettok(%mcol,3,32)
      %h c% $gettok(%mcol,4,32)
      %h c+ $gettok(%mcol,5,32)
      var %mnum = 1
      while (%mnum <= 5) { .cnick -r *
      inc %mnum }
      .cnick * $ttok(c~) ~
      .cnick * $ttok(c&) &
      .cnick * $ttok(c@) @
      .cnick * $ttok(c%) %
      .cnick * $ttok(c+) +
      %h Prefix $ttok($read(%thm,st,#PREFIX)).r
      %h Rawprefix $ttok($read(%thm,st,#RAWPREFIX)).r
      %h Left $ttok($read(%thm,st,#LEFT)).r
      %h Right $ttok($read(%thm,st,#RIGHT)).r
      %h Timestamp $ttok($read(%thm,st,#TIMESTAMP)).r
      %h Amsg $ttok($read(%thm,st,#AMSG)).r
      %h Nickmsg $ttok($read(%thm,st,#NICKMSG)).r
      %h Font $read(%thm,st,#FONT)
      %h Scheme $read(%thm,st,$+(#SCHEME,%thm.schm))
      %h Palette $read(%thm,st,#PALETTE)
      writeini mirc.ini colors n0 Theme, $+ $ttok(Scheme)
      writeini mirc.ini palettes n0 $ttok(Palette)
      color -ls Theme
      .timestamp -f $ttok(Timestamp)
      .font -zd $ttok(Font)
      if ($hget(theme)) .hsave -o theme $scriptdirtheme.hsh
      else { hmake theme 20 | .hsave -o theme $scriptdirtheme.hsh }
      echo $color(info2) -a $rpre Theme: $thm \ Scheme: $schm (Successfully Reloaded.)
      halt
    }
    else { did -ra $dname 8 ERROR: Incorrect file type! (Theme files: *.unr) | halt }
  }
  else { did -ra $dname 8 ERROR: Theme file does not exist! | temp.thm | halt }
  :error
  did -ra $dname 8 ERROR: Theme File unable to Reload. ( $+ $error $+ )
}

alias rpre { return $ttok(Rawprefix) }

alias pre { return $ttok(Prefix) }

alias c { if ($1 isnum 1-4) {
  return $+(,$dd($ttok(c [ $+ [ $1 ] ]))) }
}

alias dd { if ($1 isnum) { return $iif($len($1) < 2, $+(0,$1),$1) } }

alias stat { if ($1 ison $2) { return $left($remove($nick($2,$1).pnick,$1),1) } }

alias statc { return $iif($cnick($stat($1,$2)).color >= 0,  $+ $cnick($stat($1,$2)).color $+ $1 $+ ,$1) }

alias ownc { return $iif($cnick(1).color >= 0,  $+ $cnick(1).color $+ $1 $+ ,$1) }

on &^*:TEXT:*:?: { echo $color(normal) -mt $nick $replace($ttok(Nickmsg),<nick>,$nick,<msg>,$1-)
haltdef }

on &^*:TEXT:*:#: { echo $color(normal) -mt $chan $replace($ttok(Nickmsg),<nick>,$stat($nick,$chan) $statc($nick,$chan),<msg>,$1-)
haltdef }

on &^*:ACTION:*:#: {
  echo $color(Action) -mt $target » $stat($nick,$chan) $nick $1-
haltdef }

on &^*:ACTION:*:?: { echo $color(Action) -mt $nick » $nick $1- | haltdef }

on &*:INPUT:*: { if (!$iscmd($1)) { msg $active $1- } }

on &^*:NOTICE:*:*: { 
  if ($target == $me) { 
    var %target = -atm
    if ($nick isin $serv) { 
      var %notice = ( $+ $nick $+ ) 
    }
    else var %notice = (Private Notice) $nick 
  }
  else {
    if ($target == $chan) { 
      var %target = -tm $chan 
      if ($nick isin $serv) var %notice = ( $+ $nick : $chan $+ ) 
      else var %notice = (Notice : $target $+ ) $stat($nick,$chan) $nick 
    }
    else {
      var %target -astm
      if ($nick isin $serv) var %notice = ( $+ $nick : $target $+ )
      else var %notice = (Notice : $target $+ ) $nick
    }
  }
  echo $color(Notice) %target $pre %notice » $1-
  haltdef 
}

on &^*:JOIN:#: { if ($nick != $me) { 
  echo $color(Join) -t $chan $pre (Join) $nick : $address }
haltdef }

on &^*:PART:#: { if ($nick != $me) {
    if ($1) var %part = ( $1- )
  echo $color(Part) -t $chan $pre (Part) $nick : $address %part }
haltdef }

on ^&*:RAWMODE:#: { echo $color(mode) -t $chan $pre (Mode Set) $1- : set by $nick
haltdef }

on ^&*:NICK: { 
  if ($nick == $me) { echo $color(nick) -ts $pre (Nick Change) $nick is now $newnick }
  var %n = 1
  while (%n <= $comchan($newnick,0)) {
    echo $color(nick) -t $comchan($newnick,%n) $pre (Nick Change) $nick is now $newnick
  inc %n }
haltdef }

on ^&*:QUIT: { var %q = 1
  while (%q <= $comchan($nick,0)) {
    echo $color(quit) -t $comchan($nick,%q) $pre (Quit) $nick : $address « $1-
  inc %q }
haltdef }

on &^*:KICK:#: { if ($knick == $me) {
  var %kick = (Kicked)  }
  else var %kick = (Kick) $knick
  echo $color(kick) -t $chan $pre %kick from $chan : by $nick » $1-
haltdef }

on &^*:TOPIC:#: { echo $color(topic) -t $chan $pre (Topic Change) ' $1- ' : by $nick
haltdef }

on &^*:SNOTICE:*: { echo $color(notice) -st $pre  $nick :: $1-
haltdef }

on &^*:OPEN:?:*: { echo $color(info2) -at $rpre [Incoming Private Message] $nick : $address }

alias msg { 
  if ($2) && ($2-3 != Status Window) {
    if ($show) {
      if (!$window($1)) {
        echo $color(own) -atm $chr(32) $+ - ( $1 ) - $2-
        .msg $1-
      haltdef }
      elseif ($1 ischan) {
        echo $color(own) -tm $1 $replace($ttok(Nickmsg),<nick>,$stat($me,$1) $ownc($me),<msg>,$2-)
        .msg $1-
      haltdef }
      else {
        echo $color(own) -tm $1 $replace($ttok(Nickmsg),<nick>,$ownc($me),<msg>,$2-)
        .msg $1-
      haltdef }
    }
  else .msg $1- }
}

alias amsg { if ($1) {
    if ($1 == -a) && ($2) { var %amsg = 1
      while (%amsg <= $chan(0)) {
        msg $chan(%amsg) $2-
      inc %amsg }
    }
    else { var %amsg = 1
      while (%amsg <= $chan(0)) { msg $chan(%amsg) $tamsg $1-
    inc %amsg } }
  }
}

alias tamsg { return $ttok(Amsg) }

alias describe { if ($2) && ($2-3 != Status Window) {
    if ($show) {
      if (!$window($1)) {
        echo $color(action) -atm $chr(32) $+ - ( $1 : Act ) - $me $2-
        .describe $1-
      haltdef }
      elseif ($1 ischan) {
        echo $color(action) -tm $1 » $stat($me,$1) $me $2-
        .describe $1-
      haltdef }
      else {
        echo $color(action) -tm $1 » $me $2-
        .describe $1-
      haltdef }
    }
  else .describe $1- }
}

alias me { describe $active $1- }

alias ame { if ($1) { var %ame = 1
    while (%ame <= $chan(0)) {
      describe $chan(%ame) $1-
  inc %ame } }
}

alias whois { set -u2 %whois Yes 
whois $$1 }

alias l return $ttok(Left)

alias r return $ttok(Right)

alias skin { 
  if (!$prop) { 
    var %x = 1
    while (%x <= $calc($numtok($1-,32) + 1)) {
      var %b = %b $c(1) $+ $left($gettok($1-,%x,32),1) $+ $c(2) $+ $mid($gettok($1-,%x,32),2)
      inc %x 
    }
    var %a = $l %b $+ $r $+  
  }
  if ($prop == n) { var %a = $1- }
  if ($prop == b) { var %a = $l $+  $1- $r $+  }
  if ($prop == bn) { 
    var %x = 1
    while (%x <= $calc($numtok($1-,32) + 1)) {
      var %a = %a $c(1) $+ $left($gettok($1-,%x,32),1) $+ $c(2) $+ $mid($gettok($1-,%x,32),2)
      inc %x 
    }
  }
  if ($prop == s) { 
    var %x = 1
    while (%x <= $calc($numtok($1-,32) + 1)) {
      var %b = %b $c(3) $+ $left($gettok($1-,%x,32),1) $+ $c(4) $+ $mid($gettok($1-,%x,32),2)
      inc %x 
    }
    var %a = $l %b $+ $r $+  
  }
  if ($prop == bs) {
    var %x = 1
    while (%x <= $calc($numtok($1-,32) + 1)) {
      var %a = %a $c(3) $+ $left($gettok($1-,%x,32),1) $+ $c(4) $+ $mid($gettok($1-,%x,32),2)
      inc %x 
    }
  }
  if ($left($prop,1) == c) { 
    var %c = $c($right($prop,1))
    var %a = $l $1- $r
    var %a = $replace(%a,<c>,%c,<c1>,$c(1),<c2>,$c(2),<c3>,$c(3),<c4>,$c(4)) $+  
  }
  if ($left($prop,2) == bc) { 
    var %c = $c($right($prop,1))
    var %a = $replace($1-,<c>,%c,<c1>,$c(1),<c2>,$c(2),<c3>,$c(3),<c4>,$c(4)) $+ 
  }
  return %a
}

alias say { msg $active $1- }

alias iscmd { if ($left($1,1) == $readini(mirc.ini,text,commandchar)) && (!$ctrlenter) { return $true } }

alias serv return ChanServ NickServ MemoServ GlobalServ Global BotServ OperServ

on *:EXIT: { hsave theme $qt($scriptdirtheme.hsh) }

on *:START: { 
  if (!$hget(theme)) { 
    hmake theme 20
    hload theme $shortfn($scriptdirtheme.hsh)
    theme.reload 
  }
}

raw 001:*: {
  haltdef
  echo $color(info2) -s $rpre You are now connected. Network : $network 
  echo $color(info2) -s $rpre $2-
}

raw 002:*: {
  haltdef
  echo $color(info2) -s $rpre Server : $server - Version $gettok($2-,$numtok($2-,32),32)
}

raw 003:*: {
  haltdef
  echo $color(info2) -s $rpre $2-
}

raw 004:*: {
  var %x = 1
  var %num = $calc($numtok($2-,32) - 1)
  while (%x < %num) {
    var %rmsg = %rmsg $gettok($2-,%x,32)
    inc %x
  }
  var %rmsg = %rmsg (UserModes Supported) $gettok($2-,%num,32) (ChannelModes Supported) $gettok($2-,$numtok($2-,32),32)
  echo $color(info2) -s $rpre %rmsg
  haltdef
}

raw 005:*: { echo $color(info2) -s $rpre $2-
haltdef }

raw 007:*: {
  echo $color(info2) -s $rpre $skin(End of MAP Request)
  haltdef
}

raw 251:*: { echo $color(info2) -s $rpre $2- 
haltdef }

raw 252:*: { echo $color(info2) -s $rpre $2- 
haltdef }

raw 254:*: { echo $color(info2) -s $rpre $2- 
haltdef }

raw 255:*: { echo $color(info2) -s $rpre $2- 
haltdef }

raw 265:*: { echo $color(info2) -s $rpre $2- 
haltdef }

raw 266:*: { echo $color(info2) -s $rpre $2- 
haltdef }

raw 301:*: { 
  haltdef
  if (!%whois) {
    echo $color(Info2) -s $rpre $2 is currently Away: $3-
  }
  else {
    echo $color(whois) -a $rpre Away : $3-
  }
}

raw 305:*: { halt }

raw 306:*: { halt }

raw 307:*: {
  haltdef
  echo $color(whois) -a $rpre Registered : Yes
}

raw 310:*: {
  haltdef
  ;echo $color(whois) -a $rpre IRCOp : Yes
}

raw 311:*: {
  haltdef
  echo $color(whois) -a $rpre $skin(Whois : $2)
  echo $color(whois) -a $rpre Address : $+($3 ,@,$4)
  echo $color(whois) -a $rpre Name : $6-
}

raw 312:*: {
  haltdef
  echo $color(whois) -a $rpre Server : $3 - $4-
}

raw 313:*: {
  haltdef
  echo $color(whois) -a $rpre Status : $5-
}

raw 317:*: {
  haltdef
  echo $color(whois) -a $rpre Idle : $duration($3)
  echo $color(whois) -a $rpre Online Since : $asctime($4,ddd mmm dd [hh:nn:sstt] yyyy)
}

raw 318:*: {
  haltdef
  echo $color(whois) -a $rpre $skin(End of Whois)
}

raw 319:*: {
  haltdef
  echo $color(whois) -a $rpre Channels : $remove($3-,Status Window)
}

raw 320:*: {
  haltdef
  echo $color(whois) -a $rpre $3-
}

raw 324:*: { haltdef
echo $color(info) -t $2 $rpre ( $2 ) Modes : $3- }

raw 329:*: { haltdef
echo $color(info) -t $2 $rpre ( $2 ) Created : $asctime($3,ddd mmm dd yyyy hh:nn:sstt) }

raw 332:*: { haltdef
echo $color(topic) -t $2 $rpre ( $2 ) Topic : $3- }

raw 333:*: { haltdef
echo $color(info) -t $2 $rpre ( $2 ) Set by $3 : $asctime($4,ddd mmm dd hh:nn:sstt) }

raw 335:*: {
  haltdef
  echo $color(whois) -a $rpre Bot : Yes
}

raw 341:*: {
  haltdef
  echo $color(info2) -s $rpre $2 has successfully been invited to $3
}

raw 353:*: { haltdef
echo $color(info2) -st $rpre ( $3 ) Names : $4- }

raw 366:*: { haltdef
echo $color(info) -st $pre $skin(End of Names) }

raw 372:*: { echo $color(info2) -s $rpre $2-
haltdef }

raw 375:*: { echo $color(info2) -s $rpre $skin($2-)
haltdef }

raw 376:*: { echo $color(info2) -s $rpre $skin(End of MOTD)
haltdef }

raw 378:*: {
  haltdef
  echo $color(whois) -a $rpre Connected From : $6
  echo $color(whois) -a $rpre IP Address : $7
}

raw 379:*: {
  haltdef
  echo $color(whois) -a $rpre Using Modes : $6-
}

raw 401:*: {
  haltdef
  echo $color(info2) -a $rpre The Nickname/Channel isn't currently in use or does not exist : $2
}

raw 403:*: {
  haltdef
  echo $color(info2) -s $rpre The Channel does not exist : $2
}

raw 406:*: {
  haltdef
  echo $color(info2) -s $rpre Nickname does not exist or is currently offline : $2
}

raw 432:*: {
  haltdef
  echo $color(info2) -s $rpre Erroneus Nickname. Contains Illegal Characters.
}

raw 433:*: {
  haltdef
  echo $color(info2) -s Nickname already in use : $2
}

raw 438:*: { echo $color(info2) -a $rpre $skin(Nick Change Too Fast) Please wait $8-
haltdef }

raw 520:*: { echo $color(info2) -s $skin(Cannot Join : $4) IRCOps Only
haltdef }

raw 671:*: {
  haltdef
  echo $color(whois) -a $rpre Secure Connections : Yes
}

Comments

Sign in to comment.
total_annihilation666   -  Jul 05, 2018

Themes [MediaFire] link access error, please allow for downloads again soon !

 Respond  
HeatedHeart   -  Oct 13, 2011

Holy hell.. JUAN!?!?! dude.. i randomly get on here after 2 years of being mia and you decide to get back into scripting to?

 Respond  
smalex   -  Oct 03, 2011

Can't wait for the completed version of this script. Excellent work thus far (beyond what I can do).

 Respond  
DarkWarrior   -  Sep 20, 2011

I went on an unannounced hiatus, but I am back and will begin messing with scripts again. Thanks for the suggestion Slyvar. Once I begin updates and getting back on track I will keep your suggestion in mind.

 Respond  
Slyvar   -  Mar 10, 2011

Awesome Script DarkWarrior, :)

I love it but if you could make the Customizing UI more easier if you release new versions that would be Cool.

Like Button : Clicked it

Rated it : 10/10

 Respond  
[85]   -  Oct 31, 2010

something like this i have on my own script...gj

 Respond  
DarkWarrior   -  Oct 24, 2010

Updated :D FINALLY added the theme creator! Please read the description!

 Respond  
DarkWarrior   -  Sep 08, 2010

ah, I see what u mean about the @#Chan message thing. Thanks for the input I appreciate it.

 Respond  
Grant-   -  Sep 07, 2010
on &^*:ACTION:*:#: {
  echo $color(Action) -mt $target » $stat($nick,$chan) $nick $1-
haltdef }

Just.. ugly random placement of brackets, not the "clean" way to code it. And you'd need to use $rawmsg in order to check if it's been sent to the channel ops via /msg @#channel Hello! For example, I'll grab part of my own theme...

on ^*:ACTION:*:#:{
  haltdef 
  echo -tm $chan ⁞ 13› 7( $+ $ranick($nick,$chan) $+ 14 $+ $nick $+ $iif($left($gettok($rawmsg,3,32),1) isin @%+,7 $+ $chr(40) $+ $colo($v1) $+ 7 $+ $chr(41)) $+ 7) $1-
}
 Respond  
DarkWarrior   -  Sep 07, 2010

i think it does do that, it puts a +%@ in front of the #chan name like (Nickname : +#chan) or something like that

and what do u mean what happened to the brackets?

 Respond  
Grant-   -  Sep 07, 2010

Wtf happened to your brackets.. looks nice overall tho. maybe add something to tell if someone does a msg/describe/notice @%+#channel..

 Respond  
DarkWarrior   -  Sep 07, 2010

Ok, well due to school I disappeared and have not worked on this. However someone pestered me into working on it again and I think I fixed the above errors... I'll paste the new update in a few.

 Respond  
Pyker   -  Jan 11, 2010

Yes, it's now working. The "Dark" theme continues not to work.

 Respond  
Silo   -  Jan 10, 2010

Is it working for you now?

 Respond  
Pyker   -  Jan 03, 2010

Found one:

raw 333:*: { haltdef
echo $color(info) -t $2 $rpre ( $2 ) by $3 : $asctime($3,ddd mmm dd hh:nn:sstt) }

should be:

raw 333:*: { haltdef
echo $color(info) -t $2 $rpre ( $2 ) by $3 : $asctime($4,ddd mmm dd hh:nn:sstt) }

 Respond  
Silo   -  Jan 03, 2010

How old would the topic be? Look at RAWS 331-333 and have a look there for possible errors/conflicts.

RAW 331:*:{
  haltdef
  echo -tm No topic has been set for $2 $+ .
}
RAW 332:*:{ 
  haltdef
  echo -tm $2 The chat's topic is: $strip($3-)
}
RAW 333:*:{
  haltdef 
 echo -tm Set by $3 at $asctime($4, hh:nntt dd/mm/yy) $+ .
}
 Respond  
Pyker   -  Jan 02, 2010

Also, I get timestamps like these (topic creation date):

\ 10.19.11pm \ [×] ( #pyker ) by Pyker : Thu Jan 01 12:00:00am

I'm completely sure that the topic wasn't made 1 day ago. lol

Anyway, nice script.

 Respond  
Pyker   -  Jan 02, 2010

The "Dark" theme isn't working for me. It doesn't return any error, neither does show any error message. Just, doesn't change :P

 Respond  
Silo   -  Dec 16, 2009

Sorry, I should of been more specific...

alias c dialog $iif($dialog(_combo),-x,-m _combo) _combo
dialog _combo {
  title "Test"
  size -1 -1 96 32
  option dbu
  combo 1, 2 1 92 50, size drop
  button "Close", 2, 62 18 32 12, cancel
}

On *:Dialog:_combo:init:*:{
  didtok $dname 1 44 Main Theme,My Theme,Dark Theme,Power Theme,Lame Theme,Gay Theme,Hawkee Theme
  did -c $dname 1 1
}
 Respond  
RJosh   -  Dec 15, 2009

not sure if silo just typo'd or not, but he forgot the Dialog ID. Not to mention you need to use a line NUMBER with the -c flag. Not a string of text.

 Respond  
DarkWarrior   -  Dec 15, 2009

wow really? lol.. well.. I feel like a noob... thank you Silo.

 Respond  
Silo   -  Dec 15, 2009

did -c $dname

 Respond  
DarkWarrior   -  Dec 15, 2009

Thanks for the suggestion Testor. I would love to do that, and I could easily make it preview a "default" scheme. However, I have no idea as to how to set the focus on the combo box to be selected with the scheme. Any help with this would be nice, and I'll definitely add that little feature.

 Respond  
Testor   -  Dec 15, 2009

When previewing themes, you should preview a default for each. for themes that have different colour schemes, you must select a theme to preview first. I suggest it automatically (or have an option to) preview the default one, instead of having to pick one first.

 Respond  
p0d   -  Dec 14, 2009

i said that backwards eh. doesnt need to return true.

 Respond  
p0d   -  Dec 14, 2009

on &:INPUT:: { if (!$iscmd($1) || ($left($1,1) == 0) { msg $active $1- } }
give that an attempt or have it return true also in the iscmd alias for 0 would be my guess whats at whats stopping it

 Respond  
DarkWarrior   -  Dec 13, 2009

0 isn't anywhere in the scripting itself. The error occurs when you're trying to msg. Like if you just type 0 and hit 'Enter' like if your trying to just chat like normal. It isn't a major bug, because rarely someone starts a line of text with 0, but it is an error nonetheless.

By the way, Updated. Windows XP Users should be able to use the script now. Please let me know any more errors that occur.

 Respond  
Scakk   -  Dec 13, 2009

Another thing is that mIRC hates 0 as it will at times treat it as $null

You could try replacing the 0 if it is there with $chr(48) which is 0

 Respond  
DarkWarrior   -  Dec 13, 2009

Scakk I tested out the theory and its not the problem. The problems lies somewhere with the alias msg on lines 531-547. I've look at it over and over, and I just can't seem to see the problem... I've even thrown in an echo to see if $2 was even being read. Which would be the '0'

It's a minor inconvenience, but damn does it bug not to know why it's doing that....

 Respond  
DarkWarrior   -  Dec 13, 2009

Scakk, I'll test it out.

Another error I'm finding is with Windows XP users the dpreview.bmp isn't created with the on load event and themes don't load properly. I'll have to look more into that.

 Respond  
Are you sure you want to unfollow this person?
Are you sure you want to delete this?
Click "Unsubscribe" to stop receiving notices pertaining to this post.
Click "Subscribe" to resume notices pertaining to this post.