MTS Generator — File Browser

MTSGeneratorv1.11 / MTSGeneratorv1.11 / MTSGenerator / mtsgen.mrc

mtsgen.mrc — 45.52 KB — Download this file

;MTS Generator
;Version 1.11
;by LemonButt (jeremy@mirc.net)
 
Menu Menubar {
  MTS Generator: { MG }
}
Dialog MTSGen.Loading {
  Title "Loading..."
  Size -1 -1 200 30
  Option Pixel
}
On *:Dialog:MTSGen.Loading:*:*: {
  If ($Devent == Init) {
    DCX Mark $Dname MG.Callback.Loading
    Xdialog -b $Dname +of
    Xdialog -c $Dname 1 panel 0 0 200 50
    Xdid -c $Dname 1 2 text 5 5 190 20 center
    Xdid -c $Dname 1 3 pbar 5 25 190 15 smooth
    Xdid -r $Dname 3 0 7
    Xdid -u $Dname 3 1
    Xdid -i $Dname 3
  }
}
Dialog MTSGen.AddElement {
  Title "Add Element"
  Size -1 -1 300 135
  Option Pixel
  Icon $Scriptdirmtsgen.ico, 0
 
  Box "Add Element", 1, 5 5 290 95
  Text "Element Name:", 2, 15 25 80 15
  Text "Description:", 3, 15 50 80 15
  Text "Status Bar:", 4, 15 75 80 15
  Edit "", 12, 95 23 190 20, AutoHS
  Edit "", 13, 95 48 190 20, AutoHS
  Edit "", 14, 95 73 190 20, AutoHS
  Button "Cancel", 21, 155 108 60 20, Cancel
  Button "OK", 22, 85 108 60 20, OK
}
On *:Dialog:MTSGen.AddElement:*:*: {
  If ($Devent == Edit) && ($Did == 12) {
    Did -ra $Dname $Did $Upper($Did($Dname,$Did))
    If ($MG.Elementr(Description,$Did($Dname,12)) != $Null) { Did -ra $Dname 13 $MG.Elementr(Description,$Did($Dname,12)) }
    Else { Did -r $Dname 13 }
    If ($MG.Statusr($Did($Dname,12)) != $Null) { Did -ra $Dname 14 $MG.Statusr($Did($Dname,12)) }
    Else { Did -r $Dname 14 }
  }
  If ($Devent == Sclick) && ($Did == 22) && ($Did($Dname,12) != $Null) {
    MG.Elementw Index $Gettok(header textsettings 0 0 textevents ircevents non-ircevents images sounds,$Calc(%~~mg.tab + 1),32) $Addtok($MG.Elementr(Index,$Gettok(header textsettings 0 0 textevents ircevents non-ircevents images sounds,$Calc(%~~mg.tab + 1),32)),$Did($Dname,12),32)
    If ($Did($Dname,13) != $Null) { MG.Elementw Description $Did($Dname,12) $Did($Dname,13) }
    If ($Did($Dname,14) != $Null) { MG.Statusw $Did($Dname,12) $Did($Dname,14) }
    MG.Populate
  }
}
Dialog MTSGen.Manage {
  Title "Scheme Manager"
  Size -1 -1 200 214
  Option Pixel
  Icon $Scriptdirmtsgen.ico, 0
 
  Box "Scheme Manager", 1, 5 5 190 175
  Button "OK", 2, 70 187 60 20, OK
  List 10, 10 23 100 150
  Button "Move Up", 11, 116 63 70 20
  Button "Delete", 12, 116 88 70 20
  Button "Move Down", 13, 116 113 70 20
}
On *:Dialog:MTSGen.Manage:*:*: {
  If ($Devent == Init) {
    Set -u0 %~~mg.manage.n 1
    While ($MG.MTS($+(Scheme,%~~mg.manage.n)) != $Null) {
      Did -a $Dname 10 $MG.MTS($+(Scheme,%~~mg.manage.n))
      Inc %~~mg.manage.n
    }
  }
  ElseIf ($Devent == Sclick) && ($Did Isnum 11-13) && ($Did($Dname,10,1).seltext != $Null) {
    Set -u0 %~~mg.manage.line $Did($Dname,10,1).sel
    Set -u0 %~~mg.manage.text $Did($Dname,10,1).seltext
    If ($Did == 11) && (%~~mg.manage.line != 1) {
      Did -d $Dname 10 %~~mg.manage.line
      Renwin $+(@MG.MTS.,%~~mg.manage.line) @MG.MTS.temp 
      Renwin $+(@MG.MTS.,$Calc(%~~mg.manage.line - 1)) $+(@MG.MTS.,%~~mg.manage.line)
      Dec %~~mg.manage.line
      Renwin @MG.MTS.temp $+(@MG.MTS.,%~~mg.manage.line)
      Did -ic $Dname 10 %~~mg.manage.line %~~mg.manage.text
    }
    ElseIf ($Did == 12) && ($Input(Are you sure you want to delete $Did($Dname,10,1).seltext $+ ?,qy,Confirm delete) == $True) {
      If (%~~mg.scheme == %~~mg.manage.line) { .Signal xpopup-MG.Schemes 900 }
      Did -d $Dname 10 %~~mg.manage.line
      Window -c $+(@MG.MTS.,%~~mg.manage.line)
      While ($Window($+(@MG.MTS.,$Calc(%~~mg.manage.line + 1))) != $Null) {
        Renwin $+(@MG.MTS.,$Calc(%~~mg.manage.line + 1)) $+(@MG.MTS.,%~~mg.manage.line)
        Inc %~~mg.manage.line
      }
    }
    ElseIf ($Did == 13) && (%~~mg.manage.line != $Did($Dname,10).lines) {
      Did -d $Dname 10 %~~mg.manage.line
      Renwin $+(@MG.MTS.,%~~mg.manage.line) @MG.MTS.temp 
      Renwin $+(@MG.MTS.,$Calc(%~~mg.manage.line + 1)) $+(@MG.MTS.,%~~mg.manage.line)
      Inc %~~mg.manage.line
      Renwin @MG.MTS.temp $+(@MG.MTS.,%~~mg.manage.line)
      Did -ic $Dname 10 %~~mg.manage.line %~~mg.manage.text
    }
    Set -u0 %~~mg.manage.n 1
    While ($Did($Dname,10,%~~mg.manage.n) != $Null) {
      MG.MTS $+(Scheme,%~~mg.manage.n) $Did($Dname,10,%~~mg.manage.n)
      Inc %~~mg.manage.n
    }
    If ($Did == 12) { MG.MTS $+(Scheme,%~~mg.manage.n) }
    MG.Menu.Schemes
  }
}
Dialog MTSGen {
  Title ""
  Size -1 -1 500 320
  Option Pixel
  Icon $Scriptdirmtsgen.ico, 0
 
  Menu "File", 10
  Item "New", 11, 10
  Item "Load...", 12, 10
  Item "Save As...", 13, 10
  Item Break, 14, 10
  Item "Exit", 15, 10
 
  Menu "Edit", 20
  Item "Cut	Ctrl+X", 21, 20
  Item "Copy	Ctrl+C", 22, 20
  Item "Paste	Ctrl+V", 23, 20
  Item break, 24, 20
  Item "Refresh Lists", 25, 20
 
  Menu "View", 30
  Item "Character Map", 31, 30
  Item "Status Bar", 32, 30
  Item Break, 33, 30
  Item "Header", 40, 30
  Item "Text Settings", 41, 30
  Item "Color Palette", 42, 30
  Item "Color Schemer", 43, 30
  Item "Text Events", 44, 30
  Item "IRC Events", 45, 30
  Item "Non-IRC Events", 46, 30
  Item "Images", 47, 30
  Item "Sounds", 48, 30
 
  Menu "Options", 70
  Item "Accurate Preview (slower)", 71, 70
 
  Menu "Help", 90
  Item "View Readme", 91, 90
  Item "Report bug", 92, 90
  Item Break, 93, 90
  Item "About", 94, 90
}
On *:Dialog:MTSGen:*:*: {
  If ($Devent == Init) {
    Dialog -t MTSGen MTS Generator $MG.Read(Settings,version)
    DCX Mark $Dname MG.Callback
    Xdialog -c $Dname 1 panel 0 0 600 320
    Xdid -c $Dname 1 2 webctrl 5 5 90 290
    Xdid -n $Dname 2 $Scriptdirmtsgen_menu.html
    Xdid -c $Dname 1 3 statusbar 0 100 100 10
    Xdid -c $Dname 1 4 webctrl 100 5 395 290
    Xdid -n $Dname 4 $Scriptdirmtsgen_about.html
    Xdid -c $Dname 1 5 webctrl 100 240 395 25
    Xdid -c $Dname 1 6 image 100 270 395 24
    Xdid -i $Dname 6 $Scriptdirmtsgen_preview.bmp
    Xdid -c $Dname 1 7 edit 100 215 295 20 autohs
    Xdid -c $Dname 1 8 button 405 215 45 20
    Xdid -t $Dname 8 Set
    Xdid -c $Dname 1 9 button 475 215 20 20
    Xdid -t $Dname 9 4
    Xdid -c $Dname 1 10 button 450 215 20 20
    Xdid -t $Dname 10 6
    Xdid -f $Dname 9,10 + default 10 Webdings
 
    Xdid -c $Dname 1 100 listview 500 5 95 290 nointegral report singlesel fullrow showsel sortasc
    Xdid -c $Dname 1 101 listview 500 5 95 290 nointegral report singlesel fullrow showsel sortasc
    Xdid -c $Dname 1 104 listview 500 5 95 290 nointegral report singlesel fullrow showsel sortasc
    Xdid -c $Dname 1 105 listview 500 5 95 290 nointegral report singlesel fullrow showsel sortasc
    Xdid -c $Dname 1 106 listview 500 5 95 290 nointegral report singlesel fullrow showsel sortasc
 
    Xdid -c $Dname 1 200 listview 100 5 395 205 nointegral report singlesel fullrow showsel sortasc
    Xdid -c $Dname 1 201 listview 100 5 395 205 nointegral report singlesel fullrow showsel sortasc
    Xdid -c $Dname 1 204 listview 100 5 395 205 nointegral report singlesel fullrow showsel sortasc
    Xdid -c $Dname 1 205 listview 100 5 395 205 nointegral report singlesel fullrow showsel sortasc
    Xdid -c $Dname 1 206 listview 100 5 395 205 nointegral report singlesel fullrow showsel sortasc
    Xdid -c $Dname 1 207 listview 100 5 395 265 nointegral report singlesel fullrow showsel sortasc
    Xdid -c $Dname 1 208 listview 100 5 395 265 nointegral report singlesel fullrow showsel sortasc
    Set -u0 %~~mg.dialog.dids 200 201 204 205 206 207 208
    Set -u0 %~~mg.dialog.n 1
    While ($Gettok(%~~mg.dialog.dids,%~~mg.dialog.n,32) != $Null) {
      If ($Gettok(%~~mg.dialog.dids,%~~mg.dialog.n,32) Isnum 200-206) { Xdid -t $Dname $Calc($Gettok(%~~mg.dialog.dids,%~~mg.dialog.n,32) - 100) +l 0 75 Variables }
      Xdid -t $Dname $Gettok(%~~mg.dialog.dids,%~~mg.dialog.n,32) +l 0 125 Element $+ $Chr(9) $+ +l 0 250 Description
      Inc %~~mg.dialog.n
    }
    Set -u0 %~~mg.dialog.n 1
    While ($Gettok($MG.Variablesr(index,general),%~~mg.dialog.n,32) != $Null) {
      Xdid -a $Dname 100,101,104,105,106 0 0 +b 0 0 0 0 0 0 $Gettok($MG.Variablesr(index,general),%~~mg.dialog.n,32)
      Inc %~~mg.dialog.n
    }
    Set -u0 %~~mg.dialog.n 1
    While ($Gettok($MG.Variablesr(index,textevents),%~~mg.dialog.n,32) != $Null) {
      Xdid -a $Dname 104 0 0 + 0 0 0 0 0 0 $Gettok($MG.Variablesr(index,textevents),%~~mg.dialog.n,32)
      Inc %~~mg.dialog.n
    }
    Set -u0 %~~mg.dialog.n 1
    While ($Gettok($MG.Variablesr(index,ircevents),%~~mg.dialog.n,32) != $Null) {
      Xdid -a $Dname 105 0 0 + 0 0 0 0 0 0 $Gettok($MG.Variablesr(index,ircevents),%~~mg.dialog.n,32)
      Inc %~~mg.dialog.n
    }
    Set -u0 %~~mg.dialog.n 1
    While ($Gettok($MG.Variablesr(index,non-ircevents),%~~mg.dialog.n,32) != $Null) {
      Xdid -a $Dname 106 0 0 + 0 0 0 0 0 0 $Gettok($MG.Variablesr(index,non-ircevents),%~~mg.dialog.n,32)
      Inc %~~mg.dialog.n
    }
    Xdid -c $Dname 1 300 webctrl 100 5 395 230
    Xdid -n $Dname 300 $Scriptdirmtsgen_palette.html
    Xdid -c $Dname 1 301 text 100 275 70 20
    Xdid -t $Dname 301 Hexidecimal:
    Xdid -c $Dname 1 302 edit 170 273 50 20 uppercase autohs
    Xdid -q $Dname 302 6
    Xdid -c $Dname 1 303 text 230 275 30 20
    Xdid -t $Dname 303 RGB:
    Xdid -c $Dname 1 304 edit 265 273 45 20
    Xdid -q $Dname 304 3
    Xdid -c $Dname 1 305 updown 265 273 20 20 arrowkeys buddyint
    Xdid -r $Dname 305 0 255
    Xdid -c $Dname 305 304
    Xdid -c $Dname 1 306 edit 310 273 45 20
    Xdid -q $Dname 306 3
    Xdid -c $Dname 1 307 updown 315 273 20 20 arrowkeys buddyint
    Xdid -r $Dname 307 0 255
    Xdid -c $Dname 307 306
    Xdid -c $Dname 1 308 edit 355 273 45 20
    Xdid -q $Dname 308 3
    Xdid -c $Dname 1 309 updown 365 273 20 20 arrowkeys buddyint
    Xdid -r $Dname 309 0 255
    Xdid -c $Dname 309 308
    Xdid -c $Dname 1 310 button 405 273 60 20
    Xdid -t $Dname 310 Set Color
 
    Xdid -c $Dname 1 400 webctrl 100 5 395 230
    Xdid -c $Dname 1 401 radio 100 273 118 20 pushlike group
    Xdid -t $Dname 401 Default Background
    Xdid -c $Dname 1 402 radio 223 273 118 20 pushlike
    Xdid -t $Dname 402 Editbox Background
    Xdid -c $Dname 1 403 radio 346 273 118 20 pushlike
    Xdid -t $Dname 403 Listbox Background
 
    If ($MG.Read(Settings,preview) == advanced) { Did -c $Dname 71 }
    If ($MG.Read(Settings,timestamppreview) == 1) { Did -c $Dname 72 }
    Did $Iif($MG.Read(Settings,statusbar) == 1,-c,-u) $Dname 32
    Dialog -s $Dname $Dialog($Dname).x $Dialog($Dname).y $Dialog($Dname).w $Calc($MG.Read(Settings,statusbar) * 20 + 320)
 
    Set -u0 %~~mg.menu.id 5
    While ($Xdialog(MTSGen,%~~mg.menu.id).id != $Null) {
      Xdid -h MTSGen $Xdialog(MTSGen,%~~mg.menu.id).id 
      Inc %~~mg.menu.id
    }
 
    MG.Menu About
    MG.Statusr Default
    Did -b $Dname 20,40,41,42,43,44,45,46,47,48
    Xdid -t $Dname 3 1 + 0 $Readini($Qt($Scriptdirmtsgen_status.ini),n,Statusbar,default)
    Dialog -t $Dname MTS Generator $MG.Read(Settings,version)
  }
  ElseIf ($Devent == Menu) {
    If ($Did == 11) { .Timer -mo 1 1 MG.Load $Scriptdirmtsgen_default.mts }
    If ($Did == 12) { MG.Load $$Sfile($Qt($Mircdir*.mts),Load...,Load) }
    If ($Did == 13) { MG.Save $$Sfile($Window(@MG.MTS).title,Save as...,Save) }
    If ($Did == 15) { Dialog -x $Dname }
    If ($Did == 21) { 
      Clipboard $Xdid($Dname,$Iif(%~~mg.tab == 2,302,7)).text
      Xdid -r $Dname $Iif(%~~mg.tab == 2,302,7)
    }
    ElseIf ($Did == 22) { Clipboard $Xdid($Dname,$Iif(%~~mg.tab == 2,302,7)).text }
    ElseIf ($Did == 23) { Xdid -a $Dname $Iif(%~~mg.tab == 2,302,7) $Cb(1) }
    ElseIf ($Did == 25) { MG.Populate }
    ElseIf ($Did == 31) { Run Charmap }
    ElseIf ($Did == 32) {
      Did $Iif($Did($Dname,32).state == 1,-u,-c) $Dname 32
      MG.Write Settings statusbar $Did($Dname,32).state
      Dialog -s $Dname $Dialog($Dname).x $Dialog($Dname).y $Dialog($Dname).cw $Calc($MG.Read(Settings,statusbar) * 20 + 320)
    }
    ElseIf ($Did Isnum 40-48) { MG.Menu $Calc($Did - 40) } 
    ElseIf ($Did == 71) {
      MG.Write Settings preview $Iif($Did($Dname,71).state == 1,simple,advanced)
      Did $Iif($Did($Dname,71).state == 1,-u,-c) $Dname 71
      MG.Preview.Do $Xdid($Dname,7).text
    } 
    ElseIf ($Did == 91) { Run $Qt($Scriptdirmtsgen_readme.txt) }
    ElseIf ($Did == 92) { Run mailto:jeremy@mirc.net }
    ElseIf ($Did == 94) { MG.Menu About }
  }
  ElseIf ($Devent == Close) {
    If (%~~mg.saved == $Null) && ($Window(@MG.MTS) != $Null) && ($Input(You have made unsaved changes to $Nopath($Window(@MG.MTS).title) $+ .  Would you like to save them before exiting?,qyv,Save Changes?) == $yes) { MG.Save $$Sfile($Window(@MG.MTS).title,Save as...,Save) }
    While ($Window(@MG.*,1) != $Null) { Window -c $Window(@MG.*,1) }
    If ($Dialog(MTSGen.AddElement) != $Null) { Dialog -x MTSGen.AddElement }
    If ($Dialog(MTSGen.Loading) != $Null) { Dialog -x MTSGen.Loading }
    Unset %~~mg.*
  }
}
On *:Signal:xpopup-MG.Elements: { 
  If ($$1 > 0) {
    If ($$1 == 1) {
      If ($Dialog(MTSGen.AddElement) == $Null) { Dialog -mo MTSGen.AddElement MTSGen.AddElement }
      Else { Dialog -v MTSGen.AddElement }
    }
    ElseIf ($$1 == 2) && ($Input(Are you sure you want to remove the $Xdid(MTSGen,$Calc(200 + %~~mg.tab),0).seltext element?,qy,Confirm remove) == $True) { 
      MG.Elementw Index $Gettok(header textsettings 0 0 textevents ircevents non-ircevents images sounds,$Calc(%~~mg.tab + 1),32) $Remtok($MG.Elementr(Index,$Gettok(header textsettings 0 0 textevents ircevents non-ircevents images sounds,$Calc(%~~mg.tab + 1),32)),$Xdid(MTSGen,$Calc(200 + %~~mg.tab),0).seltext,1,32) 
      MG.Populate
    }
  }
}
On *:Signal:xpopup-MG.Schemes: {
  If ($$1 == 0) { Return }
  ElseIf ($$1 == 901) {
    If ($Dialog(MTSGen.Manage) != $Null) { Dialog -x MTSGen.Manage }
    Set -u0 %~~mg.scheme.add $Input(Enter the name of the new scheme:,qe,Add Scheme)
    If (%~~mg.scheme.add != $Null) {
      Set -u0 %~~mg.scheme.n 1
      While ($MG.MTS($+(Scheme,%~~mg.scheme.n)) != $Null) { Inc %~~mg.scheme.n }
      MG.MTS $+(Scheme,%~~mg.scheme.n) %~~mg.scheme.add
      Window -lh $+(@MG.MTS.,%~~mg.scheme.n)
      Titlebar $+(@MG.MTS.,%~~mg.scheme.n) %~~mg.scheme.add
      .Signal -n xpopup-MG.Schemes %~~mg.scheme.n Creating
      MG.Menu.Schemes
    }
  }
  ElseIf ($$1 == 902) {
    If ($Dialog(MTSGen.Manage) == $Null) { Dialog -m MTSGen.Manage MTSGen.Manage }
    Else { Dialog -v MTSGen.Manage }
  }
  ElseIf ($$1 != %~~mg.scheme) {
    Set %~~mg.scheme $Iif($$1 == 900,Default,$$1)
    MG.Load.Bar Open
    MG.Load.Bar $Iif($2 == $Null,Loading,$2) $Iif($$1 == 900,Default,$MG.MTS($+(Scheme,$$1))) Scheme
    MG.Stylesheet.Write
    MG.Load.Bar
    MG.Menu.Schemes
    MG.Load.Bar
    MG.Populate
    MG.Load.Bar
    MG.Preview.Do $Xdid(MTSGen,7).text
    MG.Load.Bar Close
  }
}
Alias MG {
  If ($Dialog(MTSGen) != $Null) { Dialog -v MTSGen }
  Else { Dialog -m MTSGen MTSGen }
}
Alias -l Xdid {
  If ($Isid == $True) { Return $DCX(_xdid, $1 $2 $Prop $3- ) }
  Else { DCX xdid $2 $3 $1 $4- }  
}
Alias -l Xdialog {
  If ($Isid == $True) { Return $DCX(_xdialog, $1 $Prop $2- ) }
  Else { DCX xdialog $2 $1 $3- }
}
Alias -l DCX {
  If ($Isid == $True) { Return $Dll($Shortfn($Scriptdir) $+ DCX.dll,$$1,$2-) }
  Else { Dll $Shortfn($Scriptdir) $+ DCX.dll $$1- }
}
Alias -l Xpopup {
  If ($Isid == $True) { Return $DCX(_xpopup, $1 $Prop $2- ) }
  Else { DCX xpopup $2 $1 $3- }
}
Alias -l Xpop {
  If ($Isid == $True) { Return $DCX(_xpop, $1 $Prop $2- ) }
  Else { DCX xpop $2 $1 $3- }
}
Alias MG.Callback {
  If ($$1 == MTSGen) {
    If ($$2 == nav_begin) && ($Gettok($4-,1,58) == mirc) { 
      $Replace($Gettok($4-,2-,58),$Eval(%20,0),$Chr(32))
      Return cancel
    }
    ElseIf ($$2 == edit) {
      If ($$3 == 7) { MG.Preview $Xdid(MTSGen,7).text }
      If ($$3 == 302) {
        Set -u0 %~~mg.color.rgb $MG.Hex2RGB($Xdid(MTSGen, 302).text)
        If (%~~mg.color.rgb == $Null) { Set -u0 %~~mg.color.rgb 255,255,255 }
        Xdid -C MTSGen 302,304,306,308 +bk $RGB( [ %~~mg.color.rgb ] )
        Xdid -ra MTSGen 304 $Gettok(%~~mg.color.rgb,1,44) 
        Xdid -ra MTSGen 306 $Gettok(%~~mg.color.rgb,2,44) 
        Xdid -ra MTSGen 308 $Gettok(%~~mg.color.rgb,3,44) 
      }
    }
    ElseIf ($$2 == focusout) {
      If ($Istok(304 306 308,$$3,32) == $True) { Goto UpdateColorPaletteBackground }
    }
    ElseIf ($$2 == mouseenter) {
      If ($$3 Isnum 100-106) { MG.Statusr variables }
      ElseIf ($$3 Isnum 200-208) { MG.Statusr elements }
      Else { MG.Statusr $$3 }
    }
    ElseIf ($$2 == mouseleave) { MG.Status }
    ElseIf ($$2 == rclick) {
      If ($$3 Isnum 100-106) {  
        If ($MG.Variablesr(general,$Xdid(MTSGen,$$3,$$4,0).text) != $Null) { MG.Statusv general $Xdid(MTSGen,$$3,$$4,0).text }
        Else { MG.Statusv $Gettok(textevents ircevents non-ircevents,$Calc($$3 - 103),32) $Xdid(MTSGen, $$3,$$4,0).text }
      }
      ElseIf ($$3 Isnum 200-208) { 
        If ($Xpopup(MG.Elements).ismenu == $False) {
          Xpopup -c MG.Elements officexp
          Xpopup -i MG.Elements 0 $Scriptdirmtsgen.icl
          Xpopup -i MG.Elements 1 $Scriptdirmtsgen.icl
          Xpop -a MG.Elements 0 $Chr(9) + 1 1 Add Element
          Xpop -a MG.Elements 0 $Chr(9) + 2 2 Remove $Xdid(MTSGen,$$3,0).seltext
        }
        Xpopup -s MG.Elements +t $Calc($Gettok($Xdialog(MTSGen).mouse,1,32) + $Dialog(MTSGen).x) $Calc($Gettok($Xdialog(MTSGen).mouse,2,32) + $Dialog(MTSGen).y + 38)
        Xpopup -d MG.Elements
      }
    }
    ElseIf ($$2 == return) {
      If ($$3 == 7) { MG.MTS.Save return }
    }
    ElseIf ($$2 == sclick) {
      If ($$3 == 8) { MG.MTS.Save }
      ElseIf ($$3 == 9) { MG.Variables $Xdid(MTSGen, 9).text }   
      ElseIf ($$3 == 10) { Xpopup -s MG.Schemes +t $Calc($Dialog(MTSGen).x + $Gettok($Xdid(MTSGen,10).pos,1,32) + 2) $Calc($Dialog(MTSGen).y + $Gettok($Xdid(MTSGen,10).pos,2,32) + $Gettok($Xdid(MTSGen,10).pos,4,32) + 40) }
      ElseIf ($$3 Isnum 100-106) { 
        If ($Xdid(MTSGen,$$3,0).seltext == !script) {
          If ($Gettok($Xdid(MTSGen,7).text,1,32) == !script) { Xdid -ra MTSGen 7 $MG.Replace($Xdid(MTSGen,7).text).tags }
          Else { Xdid -ra MTSGen 7 $MG.Replace($Xdid(MTSGen,7).text).vars }
        }
        Else { 
          If ($Gettok($Xdid(MTSGen,7).text,1,32) == !script) { 
            Xdid -a MTSGen 7 $+(%,:,$Iif($Istok(comment echo,$Xdid(MTSGen,$$3,0).seltext,32) == $False,:),$Xdid(MTSGen,$$3,0).seltext) 
          }
          Else { Xdid -a MTSGen 7 $+(<,$Xdid(MTSGen,$$3,0).seltext,>) }
        }
        Xdid -F MTSGen 7
      }   
      ElseIf ($$3 Isnum 200-208) {
        Xdid -ra MTSGen 7 $MG.MTS($Xdid(MTSGen,$$3,0).seltext) 
        .TimerMG.Preview off
        MG.Preview.Do $Xdid(MTSGen,7).text
      }
      ElseIf ($Istok(305 307 309,$$3,32) == $True) {
        Xdid -F MTSGen 305
        :UpdateColorPaletteBackground
        Set -u0 %~~mg.color.rgb $+($Xdid(MTSGen, 304).text,$Chr(44),$Xdid(MTSGen, 306).text,$Chr(44),$Xdid(MTSGen, 308).text)
        If (%~~mg.color.rgb == $Null) { Set -u0 %~~mg.color.rgb 255,255,255 }
        Xdid -C MTSGen 302,304,306,308 +bk $RGB( [ %~~mg.color.rgb ] )
        Xdid -ra MTSGen 304 $Gettok(%~~mg.color.rgb,1,44) 
        Xdid -ra MTSGen 306 $Gettok(%~~mg.color.rgb,2,44) 
        Xdid -ra MTSGen 308 $Gettok(%~~mg.color.rgb,3,44) 
        Xdid -ra MTSGen 302 $MG.RGB2Hex( [ %~~mg.color.rgb ] )
      }
      ElseIf ($$3 == 310) && ($Gettok($Xdid(MTSGen, 310).text,2,32) Isnum) && ($Len($Xdid(MTSGen, 302).text) == 6) {
        Window -h @MG.ColorsStyleSheet
        Clear @MG.ColorsStyleSheet
        Loadbuf @MG.ColorsStyleSheet $Qt($Scriptdirmtsgen_colors.css)
        Rline @MG.ColorsStyleSheet $Fline(@MG.ColorsStyleSheet,$+(.color,$Calc($Gettok($Xdid(MTSGen, 310).text,2,32)),*),1) $+(.color,$Calc($Gettok($Xdid(MTSGen, 310).text,2,32))) $Chr(123) background: $+($Chr(35),$Xdid(MTSGen, 302).text,;) border-color: $+($Chr(35),$Xdid(MTSGen, 302).text,;) $Chr(125)
        Rline @MG.ColorsStyleSheet $Fline(@MG.ColorsStyleSheet,$+(.xcolor,$Calc($Gettok($Xdid(MTSGen, 310).text,2,32)),*),1) $+(.xcolor,$Calc($Gettok($Xdid(MTSGen, 310).text,2,32))) $Chr(123) background: $+($Chr(35),$Xdid(MTSGen, 302).text,;) border-color: #000000; $Chr(125)
        Savebuf @MG.ColorsStyleSheet $Qt($Scriptdirmtsgen_colors.css)
        Clear @MG.ColorsStyleSheet
        Loadbuf @MG.ColorsStyleSheet $Qt($Scriptdirmtsgen_schemer.css)
        Rline @MG.ColorsStyleSheet $Fline(@MG.ColorsStyleSheet,$+(.color,$Calc($Gettok($Xdid(MTSGen, 310).text,2,32)),*),1) $+(.color,$Calc($Gettok($Xdid(MTSGen, 310).text,2,32))) $Chr(123) color: $+($Chr(35),$Xdid(MTSGen, 302).text,;) $Chr(125)
        Rline @MG.ColorsStyleSheet $Fline(@MG.ColorsStyleSheet,$+(.bgcolor,$Calc($Gettok($Xdid(MTSGen, 310).text,2,32)),*),1) $+(.bgcolor,$Calc($Gettok($Xdid(MTSGen, 310).text,2,32))) $Chr(123) background: $+($Chr(35),$Xdid(MTSGen, 302).text,;) $Chr(125)
        Savebuf @MG.ColorsStyleSheet $Qt($Scriptdirmtsgen_schemer.css)
        Window -c @MG.ColorsStyleSheet
        Set %~~mg.colors.array $Puttok(%~~mg.colors.array,$+($Xdid(MTSGen, 304).text,$Chr(44),$Xdid(MTSGen, 306).text,$Chr(44),$Xdid(MTSGen, 308).text),$Calc($Gettok($Xdid(MTSGen, 310).text,2,32) + 1),32)
        MG.MTS RGBColors %~~mg.colors.array
        Xdid -r MTSGen 5,400
      }
      ElseIf ($$3 Isnum 401-403) {
        If ($Xdid(MTSGen,$$3).state == 1) && (%~~mg.schemer.array.item != $Gettok(0 21 23,$Calc($$3 - 400),32)) { MG.Schemer $Gettok(0 21 23,$Calc($$3 - 400),32) $Xdid(MTSGen, $$3).text }
        ElseIf ($Xdid(MTSGen,$$3).state == 1) && (%~~mg.schemer.array.item == $Gettok(0 21 23,$Calc($$3 - 400),32)) { 
          Xdid -u MTSGen $$3
          MG.Schemer unselect
        }
        Else { MG.Schemer unselect }
      }
    }
  }
}
Alias MG.Callback.Loading { If ($$2 == Rclick) { Dialog -x $$1 } }
Alias MG.Status { If ($Dialog(MTSGen) != $Null) && ($Window(@MG.MTS) != $Null) { Xdid -t MTSGen 3 1 + 0 $1- } }
Alias MG.Statusr {
  If ($Isid == $True) { Return $Readini($Qt($Scriptdirmtsgen_status.ini),n,Statusbar,$$1) }
  Else { MG.Status $Readini($Qt($Scriptdirmtsgen_status.ini),n,Statusbar,$Iif($$1 == 7,$Iif($Xdid(MTSGen,$Calc(200 + %~~mg.tab),0).seltext != $Null,$Xdid(MTSGen,$Calc(200 + %~~mg.tab),0).seltext,$$1),$$1)) }
}
Alias MG.Statusw { Writeini $Qt($Scriptdirmtsgen_status.ini) Statusbar $$1 $$2- }
Alias MG.Statusv { MG.Status $MG.Variablesr($$1,$$2) }
Alias MG.Menu {
  If ($Dialog(MTSGen) != $Null) {
    MG.Status
    If ($$1 == %~~mg.tab) && ($$1 != about) { MG.View $$1 }
    ElseIf ($$1 != %~~mg.tab) {
      If ($$1 == About) {
        Set -u0 %~~mg.menu.show 4
        Set %~~mg.tab about
        Xdid -j MTSGen 2 unsetRows()
        Did -u MTSGen 40,41,42,43,44,45,46,47,48
        Set %~~mg.variables.state $Xdid(MTSGen,9).text
        Dialog -s MTSGen $Dialog(MTSGen).x $Dialog(MTSGen).y 500 $Calc($MG.Read(Settings,statusbar) * 20 + 320)
        Goto Update
      }
      If ($Window(@MG.MTS) != $Null) {
        If ($$1 != 3) && (%~~mg.schemer.array.item != $Null) {
          Xdid -j MTSGen 400 setSelection( %~~mg.schemer.array.item ) 
          Xdid -u MTSGen 401,402,403
        }
        Did $Iif($Istok(3 about,$$1,32) == $True,-b,-e) MTSGen 20
        Set -u0 %~~mg.tab.last %~~mg.tab
        Set %~~mg.tab $$1
        If ($$1 Isnum 0-8) {
          Did -u MTSGen 40,41,42,43,44,45,46,47,48
          Did -c MTSGen $Calc(40 + $$1)
          If ($$1 Isnum 7-8) {  
            Xdid -p MTSGen 7 100 275 315 20
            Xdid -p MTSGen 8 420 275 45 20
            Xdid -p MTSGen 10 470 275 25 20
          }
          ElseIf ($$1 Isnum 2-3) {
            Xdid -p MTSGen 10 470 273 25 20
          }
          Else {
            Xdid -p MTSGen 7 100 215 290 20
            Xdid -p MTSGen 8 395 215 45 20
            Xdid -p MTSGen 10 445 215 25 20
          }
          MG.View $$1
        }
        If ($$1 Isnum 0-1) {
          If (%~~mg.variables.state == 3) { MG.Variables 4 }
          If ($$1 == 0) { Set -u0 %~~mg.menu.show 5 6 7 8 9 100 200 }
          ElseIf ($$1 == 1) { Set -u0 %~~mg.menu.show 5 6 7 8 9 101 201 }
        }
        ElseIf ($$1 == 2) { Set -u0 %~~mg.menu.show 5 300 301 302 303 304 305 306 307 308 309 310 }
        ElseIf ($$1 == 3) { Set -u0 %~~mg.menu.show 5 400 401 402 403 }
        ElseIf ($$1 Isnum 4-6) {
          Set -u0 %~~mg.menu.show 5 6 7 8 9 $Calc(100 + $$1) $Calc(200 + $$1)
          If (%~~mg.variables.state == 3) { MG.Variables 4 }
        }
        ElseIf ($$1 Isnum 7-8) { Set -u0 %~~mg.menu.show 7 8 $Calc(200 + $$1) }
        If ($Istok(0 1 4 5 6,$$1,32) == $False) { 
          If ($Istok(0 1 4 5 6,%~~mg.tab.last,32) == $True) { Set %~~mg.variables.state $Xdid(MTSGen,9).text }
          MG.Variables 3 
        }
        Set -u0 %~~mg.menu.show $Addtok(%~~mg.menu.show,10,32)
        :Update
        Unset %~~mg.menu.hide
        Set -u0 %~~mg.menu.id 1
        While ($Gettok(%~~mg.menu.show,%~~mg.menu.id,32) != $Null) {
          Set -u0 %~~mg.menu.hide $Remtok(%~~mg.visible,$Gettok(%~~mg.menu.show,%~~mg.menu.id,32),1,32)
          Inc %~~mg.menu.id
        }
        Set %~~mg.visible %~~mg.menu.show 
        If (%~~mg.menu.hide != $Null) { Xdid -h MTSGen $Replace(%~~mg.menu.hide,$Chr(32),$Chr(44)) }
        If (%~~mg.menu.show != $Null) { Xdid -s MTSGen $Replace(%~~mg.menu.show,$Chr(32),$Chr(44)) }
        If ($Xdid(MTSGen,7).visible == $True) { Xdid -r MTSGen 7 }
        If ($Xdid(MTSGen,6).visible == $True) { .TimerMG.Preview -mo 1 0 MG.Preview.Do }
      }
    }
  }
}
Alias MG.RGB2Hex {
  Set -u0 %~~mg.rgb2hex.r $Calc($1)
  Set -u0 %~~mg.rgb2hex.r1 0
  Set -u0 %~~mg.rgb2hex.g $Calc($2)
  Set -u0 %~~mg.rgb2hex.g1 0
  Set -u0 %~~mg.rgb2hex.b $Calc($3)
  Set -u0 %~~mg.rgb2hex.b1 0
  While (%~~mg.rgb2hex.r > 15) || (%~~mg.rgb2hex.g > 15) || (%~~mg.rgb2hex.b > 15) {
    If (%~~mg.rgb2hex.r > 15) { Inc %~~mg.rgb2hex.r1 | Dec %~~mg.rgb2hex.r 16 }
    If (%~~mg.rgb2hex.g > 15) { Inc %~~mg.rgb2hex.g1 | Dec %~~mg.rgb2hex.g 16 }
    If (%~~mg.rgb2hex.b > 15) { Inc %~~mg.rgb2hex.b1 | Dec %~~mg.rgb2hex.b 16 }
  }
  Return $Remove($Replace(%~~mg.rgb2hex.r1 %~~mg.rgb2hex.r %~~mg.rgb2hex.g1 %~~mg.rgb2hex.g %~~mg.rgb2hex.b1 %~~mg.rgb2hex.b,10,A,11,B,12,C,13,D,14,E,15,F),$Chr(32))
}
Alias MG.Hex2RGB {
  Tokenize 32 $Remove($$1,$Chr(35))
  If ($Len($$1) >= 6) { Return $+($Calc($Replace($Mid($$1,1,1) ,A,10,B,11,C,12,D,13,E,14,F,15) * 16 + $Replace($Mid($$1,2,1) ,A,10,B,11,C,12,D,13,E,14,F,15)),$Chr(44),$Calc($Replace($Mid($$1,3,1) ,A,10,B,11,C,12,D,13,E,14,F,15) * 16 + $Replace($Mid($$1,4,1) ,A,10,B,11,C,12,D,13,E,14,F,15)),$Chr(44),$Calc($Replace($Mid($$1,5,1) ,A,10,B,11,C,12,D,13,E,14,F,15) * 16 + $Replace($Mid($$1,6,1) ,A,10,B,11,C,12,D,13,E,14,F,15))) }
}
Alias MG.Color {
  If ($Dialog(MTSGen) != $Null) {
    If ($Istok(0 1 4 5 6,%~~mg.tab,32) == $True) && ($$1 == click) {
      If ($Right($Xdid(MTSGen,7).text,1) == $Chr(3)) { Xdid -a MTSGen 7 $Right($+(0,$$3),2) }
      Else { Xdid -a MTSGen 7 $+($Chr(3),$Right($+(0,$$3),2)) }
      Xdid -F MTSGen 7
    }
    ElseIf (%~~mg.tab == 2) { 
      If ($$1 == click) {
        Set -u0 %~~mg.color.rgb $MG.Hex2RGB($$2)  
        Xdid -C MTSGen 302,304,306,308 +bk $RGB(%~~mg.color.rgb)
        Xdid -ra MTSGen 304 $Gettok(%~~mg.color.rgb,1,44)
        Xdid -ra MTSGen 306 $Gettok(%~~mg.color.rgb,2,44)
        Xdid -ra MTSGen 308 $Gettok(%~~mg.color.rgb,3,44)
        Xdid -ra MTSGen 302 $Remove($Upper($$2),$Chr(35))
        If ($3 != $Null) { Xdid -t MTSGen 310 Set $Right(0 $+ $3,2) }
      }
      If ($$1 == over) { MG.Status Hexidecimal: $Chr(35) $+ $2 RGB: $MG.Hex2RGB($$2) }
    }
    ElseIf (%~~mg.tab == 3) {
      If (%~~mg.schemer.array.item != $Null) {
        Set %~~mg.schemer.array $Puttok(%~~mg.schemer.array,$$3,$Calc(%~~mg.schemer.array.item + 1),44)
        MG.MTS Colors %~~mg.schemer.array
        If (%~~mg.schemer.array.item Isnum 28-36) {
          Set -u0 %~~mg.schemer.array.cline ircop owner op hop voice me friend enemy
          MG.MTS $+(Cline,$Gettok(%~~mg.schemer.array.cline,$Calc(%~~mg.schemer.array.item - 27),32)) $Right($+(0,$$3),2)
        }
        Xdid -j MTSGen 400 changeColor( $+ %~~mg.schemer.array.item $+ , $+ $$3 $+ )
        Unset %~~mg.schemer.array.item
        Xdid -u MTSGen 401,402,403
      }
    }
  }
}
Alias MG.Schemer {
  If ($Dialog(MTSGen) != $Null) {
    If (%~~mg.tab == 3) {
      If ($$1 Isnum) {
        If ($Istok(0 21 23,$$1,32) == $True) { Xdid -j MTSGen 400 setSelection( $$1 ) }
        Set %~~mg.schemer.array.item $$1
        MG.Status Setting $$2- $+ ...
        If ($Xdid(MTSGen, 401).state == 1) && ($$1 != 0) { Xdid -u MTSGen 401 }
        If ($Xdid(MTSGen, 402).state == 1) && ($$1 != 21) { Xdid -u MTSGen 402 }
        If ($Xdid(MTSGen, 403).state == 1) && ($$1 != 23) { Xdid -u MTSGen 403 }
      }
      Elseif ($$1 == unselect) { 
        Unset %~~mg.schemer.array.item 
        MG.Status
      }
    }
  }
}
Alias MG.Stylesheet.Write {
  Set %~~mg.schemer.array $Replace($+($MG.MTS(Colors),$Chr(44),$MG.MTS(ClineIRCOp),$Chr(44),$MG.MTS(ClineOwner),$Chr(44),$MG.MTS(ClineOp),$Chr(44),$MG.MTS(ClineHop),$Chr(44),$MG.MTS(ClineVoice),$Chr(44),$MG.MTS(ClineVoice),$Chr(44),$MG.MTS(ClineMe),$Chr(44),$MG.MTS(ClineFriend),$Chr(44),$MG.MTS(ClineEnemy)),00,0,01,1,02,2,03,3,04,4,05,5,06,6,07,7,08,8,09,9)
  Set %~~mg.colors.array $MG.MTS(RGBColors)
  Window -hl @MG.Stylesheet.Write
  Clear @MG.Stylesheet.Write
  Loadbuf @MG.Stylesheet.Write $Qt($Scriptdirmtsgen_schemer.html)
  Rline @MG.Stylesheet.Write $Fline(@MG.Stylesheet.Write,var colors = new Array*,1) var colors = new Array( $+ %~~mg.schemer.array $+ )
  Savebuf @MG.Stylesheet.Write $Qt($Scriptdirmtsgen_schemer.html)
  Set -u0 %~~mg.stylesheet.write.n 0
  While (%~~mg.stylesheet.write.n <= 15) {
    Set -u0 %~~mg.stylesheet.write.colorarray %~~mg.stylesheet.write.colorarray $MG.RGB2Hex( [ $Gettok(%~~mg.colors.array,$Calc(%~~mg.stylesheet.write.n + 1),32) ] )
    Inc %~~mg.stylesheet.write.n
  }
  MG.Load.Bar
  Clear @MG.Stylesheet.Write
  Loadbuf @MG.Stylesheet.Write $Qt($Scriptdirmtsgen_colors.css)
  Set -u0 %~~mg.stylesheet.write.n 0
  While (%~~mg.stylesheet.write.n <= 15) {
    Rline @MG.StyleSheet.Write $Fline(@MG.StyleSheet.Write,$+(.color,%~~mg.stylesheet.write.n,*),1) $+(.color,%~~mg.stylesheet.write.n) $Chr(123) background: $+($Chr(35),$Gettok(%~~mg.stylesheet.write.colorarray,$Calc(%~~mg.stylesheet.write.n + 1),32),;) border-color: $+($Chr(35),$Gettok(%~~mg.stylesheet.write.colorarray,$Calc(%~~mg.stylesheet.write.n + 1),32).text,;) $Chr(125)
    Rline @MG.StyleSheet.Write $Fline(@MG.StyleSheet.Write,$+(.xcolor,%~~mg.stylesheet.write.n,*),1) $+(.xcolor,%~~mg.stylesheet.write.n) $Chr(123) background: $+($Chr(35),$Gettok(%~~mg.stylesheet.write.colorarray,$Calc(%~~mg.stylesheet.write.n + 1),32),;) border-color: #000000; $Chr(125)
    Inc %~~mg.stylesheet.write.n
  }
  Savebuf @MG.StyleSheet.Write $Qt($Scriptdirmtsgen_colors.css)
  Clear @MG.Stylesheet.Write
  MG.Load.Bar
  Loadbuf @MG.Stylesheet.Write $Qt($Scriptdirmtsgen_schemer.css)
  Set -u0 %~~mg.stylesheet.write.n 0
  While (%~~mg.stylesheet.write.n <= 15) {
    Rline @MG.Stylesheet.Write $Fline(@MG.Stylesheet.Write,$+(.color,%~~mg.stylesheet.write.n,*),1) $+(.color,%~~mg.stylesheet.write.n) $Chr(123) color: $+($Chr(35),$Gettok(%~~mg.stylesheet.write.colorarray,$Calc(%~~mg.stylesheet.write.n + 1),32),;) $Chr(125)
    Rline @MG.Stylesheet.Write $Fline(@MG.Stylesheet.Write,$+(.bgcolor,%~~mg.stylesheet.write.n,*),1) $+(.bgcolor,%~~mg.stylesheet.write.n) $Chr(123) background: $+($Chr(35),$Gettok(%~~mg.stylesheet.write.colorarray,$Calc(%~~mg.stylesheet.write.n + 1),32),;) $Chr(125)
    Inc %~~mg.stylesheet.write.n
  }
  Savebuf @MG.Stylesheet.Write $Qt($Scriptdirmtsgen_schemer.css)
  Window -c @MG.Stylesheet.Write
  If ($Dialog(MTSGen) != $Null) {
    Xdid -n MTSGen 5 $Scriptdirmtsgen_colors.html
    Xdid -n MTSGen 400 $Scriptdirmtsgen_schemer.html
  }
}
Alias MG.Number {
  If ($Prop == num) {
    If ($Left($$1-,2) Isnum) { Return $Calc($Left($$1-,2)) }
    Elseif ($Left($$1-,1) Isnum) { Return $Calc($Left($$1-,1)) }
  }
  Elseif ($Prop == text) {
    If ($Left($$1-,2) Isnum) { Return $Right($$1-,-2) }
    Elseif ($Left($$1-,1) Isnum) { Return $Right($$1-,-1) }
    Else { Return $$1- }
  }
}
Alias MG.View { Xdid -j MTSGen 2 setRow( $$1 ) }
Alias MG.Read { Return $Readini($Qt($Scriptdirmtsgen_settings.ini),n,$$1,$$2) }
Alias MG.Write { Writeini $Qt($Scriptdirmtsgen_settings.ini) $$1 $$2 $3- }
Alias MG.Elementr { Return $Readini($Qt($Scriptdirmtsgen_elements.ini),n,$$1,$$2) }
Alias MG.Elementw { Writeini $Qt($Scriptdirmtsgen_elements.ini) $$1 $$2 $$3- }
Alias MG.Preview { .TimerMG.Preview -mo 1 500 MG.Preview.Do $1- }
Alias MG.Preview.Do {
  If ($Dialog(MTSGen) != $Null) && ($Window(@MG.MTS) != $Null) {
    Window -fhp +l @MG.Preview 0 0 395 24
    Clear @MG.Preview
    If ($MG.MTS(FontDefault) == $Null) { Set -u0 %~~mg.preview.font Verdana,12 }
    Else { Set -u0 %~~mg.preview.font $Gettok($MG.MTS(FontDefault),1-2,44) }
    Set -u0 %~~mg.preview.text $Iif($1- == $Null,Text Preview,$MG.Replace($Replace($$1-,$Eval($iif,0),if)).preview)
    If ($1- != $Null) && (%~~mg.tab == 1) && ($Xdid(MTSGen,201,0).seltext == TIMESTAMPFORMAT) { Set -u0 %~~mg.preview.text $Asctime(%~~mg.preview.text) }
    If ($MG.Read(Settings,preview) == advanced) {
      Set -u0 %~~mg.preview.old.colors $Readini($Qt($Mircdirmirc.ini),colors,n0)
      Set -u0 %~~mg.preview.old.palette $Readini($Qt($Mircdirmirc.ini),palettes,n0)
      Set -u0 %~~mg.preview.old.theme $Readini($Qt($Mircdirmirc.ini),text,theme)
      Set -u0 %~~mg.preview.n 1
      While ($Gettok(%~~mg.colors.array,%~~mg.preview.n,32) != $Null) {
        Set -u0 %~~mg.colors.array.rgb $Instok(%~~mg.colors.array.rgb,$RGB( [ $Gettok(%~~mg.colors.array,%~~mg.preview.n,32) ] ),%~~mg.preview.n,44)
        Inc %~~mg.preview.n
      }
      Writeini $Qt($Mircdirmirc.ini) colors n0 $Gettok($+($Gettok(%~~mg.preview.old.colors,1,44),$Chr(44),%~~mg.schemer.array),1-29,44)
      Writeini $Qt($Mircdirmirc.ini) palettes n0 %~~mg.colors.array.rgb
      Color -ls $Gettok(%~~mg.preview.old.colors,1,44)
    }
    Drawfill @MG.Preview $Gettok(%~~mg.schemer.array,1,44) $Gettok(%~~mg.schemer.array,1,44) 5 5
    Drawtext -bpc @MG.Preview $Gettok(%~~mg.schemer.array,12,44) $Gettok(%~~mg.schemer.array,1,44) $Replace(%~~mg.preview.font,$Chr(44),$Chr(32)) 3 $Calc((22 - $Height($Iif($1 == $Null,Text Preview,$1-), [ %~~mg.preview.font ] )) / 2 - 1) 389 $Calc(21 - ((22 - $Height($Iif($1 == $Null,Text Preview,$1-), [ %~~mg.preview.font ] )) / 2)) %~~mg.preview.text
    Drawrect -r @MG.Preview 0 1 0 0 395 22
    Drawsave -b32 @MG.Preview $Qt($Scriptdirmtsgen_preview.bmp)
    If ($MG.Read(Settings,preview) == advanced) {
      Writeini $Qt($Mircdirmirc.ini) colors n0 %~~mg.preview.old.colors
      Writeini $Qt($Mircdirmirc.ini) palettes n0 %~~mg.preview.old.palette
      Color -ls %~~mg.preview.old.theme
    }
    Xdid -i MTSGen 6 $Scriptdirmtsgen_preview.bmp
    Window -c @MG.Preview
  }
}
Alias MG.Variables {
  If ($Dialog(MTSGen) != $Null) {
    If ($$1 == 4) { 
      Dialog -s MTSGen $Dialog(MTSGen).x $Dialog(MTSGen).y 600 $Calc($MG.Read(Settings,statusbar) * 20 + 320)
      Xdid -t MTSGen 9 3
    }
    If ($$1 == 3) {
      Dialog -s MTSGen $Dialog(MTSGen).x $Dialog(MTSGen).y 500 $Calc($MG.Read(Settings,statusbar) * 20 + 320)
      Xdid -t MTSGen 9 4
    }
  }
}
Alias MG.Variablesr { Return $Readini($Qt($Scriptdirmtsgen_variables.ini),n,$$1,$$2) }
Alias MG.Variablesw { Writeini $Qt($Scriptdirmtsgen_variables.ini) $$1 $$2 $$3- }
Alias MG.Load {
  If ($Dialog(MTSGen) != $Null) && ($Exists($$1-) == $True) {
    MG.Load.Bar Open
    MG.Load.Bar Loading $Nopath($$1-)
    While ($Window(@MG.MTS*,1) != $Null) { Window -c $Window(@MG.*,1) }
    Window -hl @MG.MTS
    Clear @MG.MTS
    Set -u0 %~~mg.load.file $Qt($Iif($$1 == default,$Scriptdirmts_default.mts,$$1-))
    Loadbuf -tmts @MG.MTS %~~mg.load.file 
    Titlebar @MG.MTS %~~mg.load.file
    Set -u0 %~~mg.load.scheme.n 1
    While ($MG.MTS($+(Scheme,%~~mg.load.scheme.n)) != $Null) {
      Window -hl $+(@MG.MTS.,%~~mg.load.scheme.n)
      Clear $+(@MG.MTS.,%~~mg.load.scheme.n)
      Loadbuf $+(-tscheme,%~~mg.load.scheme.n) $+(@MG.MTS.,%~~mg.load.scheme.n) %~~mg.load.file
      Titlebar $+(@MG.MTS.,%~~mg.load.scheme.n) $MG.MTS($+(Scheme,%~~mg.load.scheme.n))
      Inc %~~mg.load.scheme.n
    }
    MG.Load.Bar
    Set %~~mg.scheme Default
    MG.Menu.Schemes
    MG.Load.Bar
    MG.Stylesheet.Write
    MG.Load.Bar
    MG.Populate
    Did -e MTSGen 40,41,42,43,44,45,46,47,48
    If (%~~mg.tab == about) { MG.Menu 0 }
    MG.Load.Bar Close
    Set %~~mg.saved 1
  }
}
Alias MG.Load.Bar {
  If ($Dialog(MTSGen.Loading) == $Null) && ($1 == Open) { Dialog -mo MTSGen.Loading MTSGen.Loading }
  ElseIf ($Dialog(MTSGen.Loading) != $Null) && ($1 == Close) { Dialog -x MTSGen.Loading }
  ElseIf ($1 != $Null) { Xdid -t MTSGen.Loading 2 $1- }
  ElseIf ($Dialog(MTSGen.Loading) != $Null) { Xdid -t MTSGen.Loading 3 }
}
Alias MG.Save {
  If ($Exists($$1-) == $True) && ($Input(Overwrite $Nopath($$1-) $+ ?,qy,Confirm Overwrite) == $False) { Return }
  Write -c $Qt($$1-) [mts]
  Savebuf -a @MG.MTS $Qt($$1-)
  Set -u0 %~~mg.save.n 1
  While ($Window($+(@MG.MTS.,%~~mg.save.n)) != $Null) {
    Write $Qt($$1-) $+($Chr(91),scheme,%~~mg.save.n,$Chr(93))
    Savebuf -a $+(@MG.MTS.,%~~mg.save.n) $Qt($$1-)
    Inc %~~mg.save.n
  }
  Titlebar @MG.MTS $Qt($$1-)
  Dialog -t MTSGen MTS Generator $MG.Read(Settings,version) - $Nopath($$1-) - Scheme: $Iif(%~~mg.scheme == Default,Default,$MG.MTS($+(Scheme,%~~mg.scheme)))
  Set %~~mg.saved 1
}
Alias MG.MTS {
  If ($Window(@MG.MTS) != $Null) {
    If ($Isid == $True) {
      If ($Istok(RGBCOLORS COLORS,$$1,32) == $True) || (CLINE* Iswm $$1) {
        If (%~~mg.scheme != Default) && ($Gettok($Line($+(@MG.MTS.,%~~mg.scheme),$Fline($+(@MG.MTS.,%~~mg.scheme),$$1 *,1)),2-,32) != $Null) { Return $Gettok($Line($+(@MG.MTS.,%~~mg.scheme),$Fline($+(@MG.MTS.,%~~mg.scheme),$$1 *,1)),2-,32) }
        ElseIf ($Gettok($Line(@MG.MTS,$Fline(@MG.MTS,$$1 *,1)),2-,32) != $Null) { Return $Gettok($Line(@MG.MTS,$Fline(@MG.MTS,$$1 *,1)),2-,32) }
        Else { 
          If ($$1 == RGBCOLORS) { Return 255,255,255 0,0,0 0,0,127 0,147,0 255,0,0 127,0,0 156,0,156 252,157,0 255,255,0 0,252,0 0,147,147 0,255,255 0,0,252 255,0,255 127,127,127 210,210,210 }
          ElseIf ($$1 == COLORS) { Return 00,06,04,07,02,03,04,03,03,03,03,01,05,07,06,01,03,02,03,05,01,00,01,00,01,15,06,00 }
          Else { Return 01 }
        }
      }
      Else {
        If (%~~mg.scheme != Default) && ($Gettok($Line($+(@MG.MTS.,%~~mg.scheme),$Fline($+(@MG.MTS.,%~~mg.scheme),$$1 *,1)),2-,32) != $Null) { Return $Gettok($Line($+(@MG.MTS.,%~~mg.scheme),$Fline($+(@MG.MTS.,%~~mg.scheme),$$1 *,1)),2-,32) }
        Else { Return $Gettok($Line(@MG.MTS,$Fline(@MG.MTS,$$1 *,1)),2-,32) }
      }
    }
    Else  {
      Set -u0 %~~mg.mts.window $Iif((%~~mg.scheme == Default) || (scheme* Iswm $$1),@MG.MTS,$+(@MG.MTS.,%~~mg.scheme))
      If ($2 == $Null) && ($Fline(%~~mg.mts.window,$$1 *,1) != $Null) { Dline %~~mg.mts.window $Fline(%~~mg.mts.window,$$1 *,1) }
      ElseIf ($Fline(%~~mg.mts.window,$$1 *,1) != $Null) { Rline %~~mg.mts.window $Fline(%~~mg.mts.window,$$1 *,1) $Upper($$1) $2- }
      ElseIf ($2 != $Null) { Aline %~~mg.mts.window $Upper($$1) $2- }
      Unset %~~mg.saved
    }
  }
}
Alias MG.Populate {
  If ($Dialog(MTSGen) != $Null) {
    Set -u0 %~~mg.pop.n 1
    While ($Gettok(200 201 204 205 206 207 208,%~~mg.pop.n,32) != $Null) {
      Set -u0 $+(%,~~mg.pop.,$Gettok(200 201 204 205 206 207 208,%~~mg.pop.n,32)) $Xdid(MTSGen,$Gettok(200 201 204 205 206 207 208,%~~mg.pop.n,32)).sel
      Inc %~~mg.pop.n
    }
    MG.Load.Bar
    Xdid -r MTSGen 200,201,204,205,206,207,208
    Set -u0 %~~mg.populate.index 200:header 201:textsettings 204:textevents 205:ircevents 206:non-ircevents 207:images 208:sounds
    Set -u0 %~~mg.populate.index.n 1
    While ($Gettok(%~~mg.populate.index,%~~mg.populate.index.n,32) != $Null) {
      Set -u0 %~~mg.populate.section $MG.Elementr(Index,$Gettok($Gettok(%~~mg.populate.index,%~~mg.populate.index.n,32),2,58))
      Set -u0 %~~mg.populate.n 1
      While ($Gettok(%~~mg.populate.section,%~~mg.populate.n,32) != $Null) {
        Xdid -a MTSGen $Gettok($Gettok(%~~mg.populate.index,%~~mg.populate.index.n,32),1,58) 0 0 $Iif($MG.MTS($Gettok(%~~mg.populate.section,%~~mg.populate.n,32)) == $Null,+c,+) 0 0 0 0 $RGB(255,0,0) 0 $Gettok(%~~mg.populate.section,%~~mg.populate.n,32) $+ $Chr(9) $+ + 0 $MG.Elementr(Description,$Gettok(%~~mg.populate.section,%~~mg.populate.n,32)) 
        Inc %~~mg.populate.n
      }
      Inc %~~mg.populate.index.n
    }
    MG.Load.Bar
    Set -u0 %~~mg.pop.n 1
    While ($Gettok(200 201 204 205 206 207 208,%~~mg.pop.n,32) != $Null) {
      If ($Eval($+(%,~~mg.pop.,$Gettok(200 201 204 205 206 207 208,%~~mg.pop.n,32)),2) != $Null) { Xdid -c MTSGen $Gettok(200 201 204 205 206 207 208,%~~mg.pop.n,32) $Eval($+(%,~~mg.pop.,$Gettok(200 201 204 205 206 207 208,%~~mg.pop.n,32)),2) } 
      Inc %~~mg.pop.n
    }
    If (%~~mg.tab !Isnum 2-3) && ($Xdid(MTSGen,$Calc(200 + %~~mg.tab)).sel != $Null) { Xdid -ra MTSGen 7 $MG.MTS($Xdid(MTSGen,$Calc(200 + %~~mg.tab),0).seltext) }
  }
}
Alias MG.Replace {
  If ($Isid == $True) {
    Set -u0 %~~mg.replace $1-
    Set -u0 %~~mg.replace.vars $Eval(%::parentext %:echo %:comments %::address %::fromserver %::newnick %::serverinfo %::away %::iaddress %::nick %::signontime %::c1 %::idletime %::numeric %::target %::c2 %::isoper %::operline %::text %::c3 %::isregd %::port %::users %::c4 %::kaddress %::value %::chan %::knick %::pre %::wserver %::cmode %::me %::raddress %::cnick %::modes %::realname %::ctcp %::naddress %::server,0)
    Set -u0 %~~mg.replace.tags <parentext> <echo> <comments> <address> <fromserver> <newnick> <serverinfo> <away> <iaddress> <nick> <signontime> <c1> <idletime> <numeric> <target> <c2> <isoper> <operline> <text> <c3> <isregd> <port> <users> <c4> <kaddress> <value> <chan> <knick> <pre> <wserver> <cmode> <me> <raddress> <cnick> <modes> <realname> <ctcp> <naddress> <server>
    If ($Prop == tags) {
      If ($Gettok(%~~mg.replace,1,32) == !script) { Set -u0 %~~mg.replace $Gettok(%~~mg.replace,2-,32) }
      Set -u0 %~~mg.replace.n 1
      While ($Gettok(%~~mg.replace.vars,%~~mg.replace.n,32) != $Null) {
        Set -u0 %~~mg.replace $Replace(%~~mg.replace,$Gettok(%~~mg.replace.vars,%~~mg.replace.n,32),$Gettok(%~~mg.replace.tags,%~~mg.replace.n,32))
        Inc %~~mg.replace.n
      }
    }
    ElseIf ($Prop == vars) {
      If ($Gettok(%~~mg.replace,1,32) != !script) { Set -u0 %~~mg.replace !script %~~mg.replace }
      Set -u0 %~~mg.replace.n 1
      While ($Gettok(%~~mg.replace.vars,%~~mg.replace.n,32) != $Null) {
        Set -u0 %~~mg.replace $Replace(%~~mg.replace,$Gettok(%~~mg.replace.tags,%~~mg.replace.n,32),$Gettok(%~~mg.replace.vars,%~~mg.replace.n,32))
        Inc %~~mg.replace.n
      }
    }
    ElseIf ($Prop == preview) {
      If ($Gettok(%~~mg.replace,1,32) == !script) { 
        Set -u0 %~~mg.replace / $+ $Gettok($Remove(%~~mg.replace,$Eval($+,0)),2-,32) 
        Set -u0 %~~mg.replace.n 1
        While ($Gettok(%~~mg.replace.vars,%~~mg.replace.n,32) != $Null) {
          Set -u0 %~~mg.replace $Replace(%~~mg.replace,$Gettok(%~~mg.replace.vars,%~~mg.replace.n,32),$Gettok(%~~mg.replace.tags,%~~mg.replace.n,32))
          Inc %~~mg.replace.n
        }
      }
      Set -u0 %~~mg.replace.n 1
      While ($Gettok(%~~mg.replace.tags,%~~mg.replace.n,32) != $Null) {
        If ($MG.Read(Replace,$Gettok(%~~mg.replace.tags,%~~mg.replace.n,32)) != $Null) { Set -u0 %~~mg.replace $Replace(%~~mg.replace,$Gettok(%~~mg.replace.tags,%~~mg.replace.n,32), [ $MG.Read(Replace,$Gettok(%~~mg.replace.tags,%~~mg.replace.n,32)) ] ) }
        Inc %~~mg.replace.n
      }
      Set -u0 %~~mg.replace $Replace(%~~mg.replace,<c1>,$+($Chr(3),$Gettok($MG.MTS(basecolors),1,44)),<c2>,$+($Chr(3),$Gettok($MG.MTS(basecolors),2,44)),<c3>,$+($Chr(3),$Gettok($MG.MTS(basecolors),3,44)),<c4>,$+($Chr(3),$Gettok($MG.MTS(basecolors),4,44)))
    }
    Return $Eval(%~~mg.replace,$Iif($Prop == vars,1,2))
  }
}
Alias MG.MTS.Save {
  If ($Dialog(MTSGen) != $Null) && (%~~mg.protect == $Null) {
    MG.MTS $Xdid(MTSGen,$Calc(200 + %~~mg.tab),0).seltext $Xdid(MTSGen,7).text
    If ($1 == return) {     
      If ($Xdid(MTSGen,$Calc(200 + %~~mg.tab),$Calc($Xdid(MTSGen,$Calc(200 + %~~mg.tab)).sel + 1),0).text != $Null) { Xdid -c MTSGen $Calc(200 + %~~mg.tab) $Calc($Xdid(MTSGen,$Calc(200 + %~~mg.tab)).sel + 1) }
      If ($MG.MTS($Xdid(MTSGen,$Calc(200 + %~~mg.tab),0).seltext) != $Null) { Xdid -ra MTSGen 7 $MG.MTS($Xdid(MTSGen,$Calc(200 + %~~mg.tab),0).seltext) }
      Else { Xdid -r MTSGen 7 }
    }
    Else { 
      Xdid -r MTSGen 7 
      Set %~~mg.protect 1
      .Timer -mo 1 500 Unset %~~mg.protect
    }
  }
}
Alias MG.Menu.Schemes {
  If ($Dialog(MTSGen) != $Null) {
    Dialog -t MTSGen MTS Generator $MG.Read(Settings,version) - $Nopath($Window(@MG.MTS).title) - Scheme: $Iif(%~~mg.scheme == Default,Default,$MG.MTS(Scheme $+ %~~mg.scheme)) 
    If ($Xpopup(MG.Schemes).ismenu == $True) { Xpopup -d MG.Schemes }
    Xpopup -c MG.Schemes officexp
    Set -u0 %~~mg.load.scheme.n 1
    Xpop -a MG.Schemes 0 $Chr(9) $Iif(%~~mg.scheme == Default,+c,+) 900 0 Default
    Xpop -a MG.Schemes 0 $Chr(9) + 0 0 -
    While ($MG.MTS(Scheme $+ %~~mg.load.scheme.n) != $Null) {
      Xpop -a MG.Schemes 0 $Chr(9) $Iif(%~~mg.scheme == %~~mg.load.scheme.n,+c,+) %~~mg.load.scheme.n 0 $MG.MTS(Scheme $+ %~~mg.load.scheme.n)
      Inc %~~mg.load.scheme.n
    }
    If (%~~mg.load.scheme.n > 1) { Xpop -a MG.Schemes 0 $Chr(9) + 0 0 - }
    Xpopup -i MG.Schemes 0 $Scriptdirmtsgen.icl
    Xpopup -i MG.Schemes 0 $Scriptdirmtsgen.ico
    Xpop -a MG.Schemes 0 $Chr(9) + 901 1 Add Scheme
    Xpop -a MG.Schemes 0 $Chr(9) + 902 2 Manage
  }
}