rendered paste body;##########################################################
;## Scripts Manager ##
;##########################################################
;Main dialog
dialog -l sm {
title "Scripts Management"
size -1 -1 454 274
option pixels
list 1, 16 24 176 112, sort size hsbar vsbar
list 2, 264 24 176 112, sort size hsbar vsbar
box "Loaded Scripts", 3, 8 8 192 133
box "Unloaded Scripts", 4, 255 9 192 133
button "<", 5, 208 24 38 24
button "<<", 6, 208 56 38 24
button ">>", 7, 208 80 38 24
button ">", 8, 208 112 38 24
button "Ok", 9, 374 247 73 23, ok cancel
box "Messages", 10, 8 185 192 41
edit "Created By Crossfire39", 11, 16 202 172 21, read
combo 17, 261 176 181 29, drop
link "Get Latest Version And Support", 18, 8 242 171 16
box "Directories", 19, 255 160 194 42
box "Sub-Directories", 20, 255 201 194 42
combo 24, 262 216 181 29, drop
button "Reload", 12, 7 144 60 20
button "Reload All", 13, 74 144 60 20
button "View", 28, 141 144 60 20
button "View", 29, 382 143 60 20
button "Convert", 31, 316 143 60 20
menu "File", 14
item "Add Directory", 15, 14
item "Exit", 16, 14, cancel
menu "Tools", 21
item "Explorer", 26, 21
item "Search", 27, 21
item "Converter", 30, 21
menu "Help", 25
item "Instructions", 22, 25
item "Credits", 23, 25
}
dialog -l sm_help {
title "Instructions"
size -1 -1 311 283
option pixels
box "Instructions", 1, 6 1 299 249
button "Back", 2, 184 257 72 20, cancel
link "Support Forum", 6, 16 259 80 16
text " When you begin this script, any current scripts you have loaded will appear in the left hand list. From here you can unload any of them by using > to unload them one by one or >> to unload all your scripts at once.", 3, 12 17 284 56
text " When you wish to add more scripts go to File --> Add Directory and browse to the directory containing your scripts and open it. Any unloaded scripts in that directory will be shown in the right list. If you wish to navigate to any subdirectories use the lower drop down meny. To load scripts use < to load them one by one, or << to load them all at once. You cannot load mirc system files.", 4, 12 74 284 95
text " Any errors that occur will be displayed in the messages box. These messages may not be visible if loading all scripts at once. ", 5, 12 168 284 56
text " The reload buttons are there for reloading scripts without having to run intialization commands again.", 7, 12 211 284 30
}
;Allows there to be a link to access the dialog
menu channel,status,query {
Tools
.Script Management:/dialog -mr sm sm
}
;When script is loaded/unloaded messages and input are shown
on *:LOAD: { echo -s *Loaded Crossfire39's Script Manager Utility }
on *:UNLOAD: {
$noop($input(Thank you for trying out Crossfire39's Script Manager Utility, ogidu, Thank You))
echo -s *Unloaded Crossfire39's Script Manager Utility
}
;Initiated when script starts. Fills values
on 1:dialog:sm:init:0:{
/Title
/var %x = 1
while ( %x <= $script(0)) {
/did -az sm 1 $nopath($script( %x ))
/inc %x
}
/did -ac sm 17 $mircdir
/UpdateSubDirectories $mircdir
/UpdateUnloadList $mircdir
}
;Closes all open dialogs when main script is closed
on 1:dialog:sm:close:0:{
if ( $dialog(sm_help) != $null ) { /dialog -x sm_help }
if ( $dialog(sm_search) != $null ) { /dialog -x sm_search }
if ( $dialog(sm_view) != $null ) { /dialog -x sm_view }
if ( $dialog(sm_view_info) != $null ) { /dialog -x sm_view_info }
if ( $dialog(sm_view_help) != $null ) { /dialog -x sm_view_help }
if ( $dialog(sm_search_help) != $null ) { /dialog -x sm_search_help }
if ( $dialog(sm_convert) != $null ) { /dialog -x sm_convert }
}
;Opens up info about a loaded script
on 1:dialog:sm:dclick:1:{ /LoadViewerFileInfo $script($did(sm,1).seltext) }
;Opens up info about script
on 1:dialog:sm:dclick:2:{ /LoadViewerFileInfo $+($iif($did(sm,24).seltext != $null,$did(sm,24).seltext $+ \,$did(sm,17).seltext),$did(sm,2).seltext ) }
;Load script
on 1:dialog:sm:sclick:5:{
if ( $did(sm,2).seltext == $null ) { /did -ra sm 11 Select a script to load! | /halt }
/LoadScript $did(sm,2).sel $+($iif($did(sm,24).seltext != $null,$did(sm,24).seltext $+ \,$did(sm,17).seltext),$did(sm,2).seltext)
/did -ra sm 11 Loaded Script!
/Title
}
;Loads all scripts
on 1:dialog:sm:sclick:6:{
var %x = $did(sm,2).lines, %y = %x
if ( %x == 0 ) { /did -ra sm 11 No scripts to load! | /halt }
while ( %x > 0 ) {
/LoadScript %x $+($iif($did(sm,24).seltext != $null,$did(sm,24).seltext $+ \,$did(sm,17).seltext),$did(sm,2,%x)))
/did -ra sm 11 $str(|,$calc(40/ %y * %x ))
/dec %x
}
/did -ra sm 11 Loaded scripts!
/Title
}
;Unloads all scripts
on 1:dialog:sm:sclick:7:{
var %x = $did(sm,1).lines, %y = %x
if ( %x == 0) { /did -ra sm 11 No Scripts to unload! }
while ( %x > 0 ) {
/UnloadScript %x $did(sm,1,%x)
/did -ra sm 11 $str(|,$calc(40/ %y * %x))
/dec %x
}
/Title
/did -ra sm 11 Unloaded scripts!
/UpdateUnloadList $did(sm,17).seltext
/UpdateSubdirectories $did(sm,17).seltext
}
;Unload Script
on 1:dialog:sm:sclick:8:{
if ( $did(sm,1).seltext == $null ) { /did -ra sm 11 Select a script to unload! | /halt }
/did -ra sm 11 Unloaded script!
/UnloadScript $did(sm,1).sel $did(sm,1).seltext
/Title
/UpdateUnloadList $did(sm,17).seltext
/UpdateSubdirectories $did(sm,17).seltext
}
;Reloads one script
on 1:dialog:sm:sclick:12:{
if ( $did(sm,1).seltext == $null ) { /did -ra sm 11 Select a script to reload! | /halt }
if ( $script($did(sm,1).seltext) == $script ) { /did -ra sm 11 Cannot reload this script! | /halt }
.reload -rs $qt($script($did(sm,1).seltext))
/did -ra sm 11 Reloaded script!
}
;Reloads all scripts
on 1:dialog:sm:sclick:13:{
if ( $did(sm,1).lines == 0 ) { /did -ra sm 11 No scripts to reload! | /halt }
var %x = $did(sm,1).lines
while ( %x > 0 ) {
if ( $script($did(sm,1,%x)) != $script ) {
.reload -rs $qt($script($did(sm,1,%x)))
/did -ra sm 11 $str(|,$calc(40/$script(0)* %x))
}
/dec %x
}
/did -ra sm 11 Reloaded scripts!
/Title
}
;Adds a new directory.
on 1:dialog:sm:menu:15:{
/var %x = $sdir($mircdir, Select a directory to load)
/UpdateUnloadList %x
if ( !$didwm(sm,17,%x)) { /did -ac sm 17 %x }
/UpdateSubDirectories %x
}
;Drop down list. Changes info in list box every time something is selected
on 1:dialog:sm:sclick:17:{
/UpdateUnloadList $did(sm,17).seltext
/UpdateSubDirectories $did(sm,17).seltext
}
;Opens the swiftirc forums
on 1:dialog:sm_help:sclick:6: run http://forum.swiftirc.net/viewtopic.php?p=61133
;Opens the swiftirc forums
on 1:dialog:sm:sclick:18: run http://forum.swiftirc.net/viewtopic.php?p=61133
;Occurs when you select a subdirectory
on 1:dialog:sm:sclick:24: /UpdateUnloadList $did(sm,24).seltext
;Opens the help menu
on 1:dialog:sm:menu:22: /dialog -vm sm_help sm_help
;Opens Credits (Please keep intact)
on 1:dialog:sm:menu:23:$noop($input(Script Management created by Crossfire39, ogia, Credits))
;Opens Viewer From Menu
on 1:dialog:sm:menu:26: /dialog -vmr sm_view sm_view
;Opens the search program
on 1:dialog:sm:menu:27: /dialog -vmr sm_search sm_search
;Open viewer for unloaded script
on 1:dialog:sm:sclick:28:{
if ( $did(sm,1).seltext == $null ) { /did -ra sm 11 Select a script to view! | /halt }
/Dialog -vmr sm_view sm_view
/LoadPreview $script($did(sm,1).seltext)
/did -c sm_view 7 $didwm(sm_view,7,$did(sm,1).seltext)
}
;Open viewer for loaded script
on 1:dialog:sm:sclick:29:{
if ( $did(sm,2).seltext == $null ) { /did -ra sm 11 Select a script to view! | /halt }
/Dialog -vmr sm_view sm_view
/LoadPreview $+($iif($did(sm,24).seltext != $null,$did(sm,24).seltext $+ \,$did(sm,17).seltext),$did(sm,2).seltext )
/did -c sm_view 7 $didwm(sm_view,7,$did(sm,2).seltext)
}
;Opens up convert program
on 1:dialog:sm:menu:30: /dialog -vmr sm_convert sm_convert
;Opens converter
on 1:dialog:sm:sclick:31:{
if ($did(sm,2).seltext) {
/dialog -vmr sm_convert sm_convert
/did -ra sm_convert 9 $+($iif($did(sm,24).seltext != $null,$did(sm,24).seltext $+ \,$did(sm,17).seltext),$did(sm,2).seltext )
/did -ra sm_convert 12 Convert to $iif($right($did(sm_convert,9).text,3) == ini,.mrc,.ini)
}
else /did -ra sm 11 Select an unloaded script
}
;##########################################################
;## Scripts Viewer ##
;##########################################################
dialog -l sm_view {
title "Script Preview"
size -1 -1 470 398
option pixels
button "Back", 1, 385 372 77 22, ok cancel
box "Preview", 2, 8 1 458 279
edit "", 4, 314 342 143 21, read
box "Path", 5, 8 280 346 41
box "Loaded Scripts", 6, 8 326 264 41
combo 7, 16 342 166 20, drop
button "View", 8, 188 342 70 21
box "Lines Displayed", 17, 303 326 166 41
edit "", 18, 16 296 332 21, read autohs
button "View Script Info", 19, 368 296 89 20
list 3, 14 18 444 243, size hsbar vsbar
text "", 20, 359 263 100 16, right
menu "File", 9
item "View File", 10, 9
item "Exit", 11, 9, cancel
menu "Tools", 15
item "Script Info", 16, 15
menu "Help", 12
item "Instructions", 13, 12
item "Credits", 14, 12
}
dialog -l sm_view_info {
title "File Information"
size -1 -1 310 206
option pixels
button "Ok", 1, 230 174 67 23, cancel
edit "", 3, 80 24 219 21, read
text "Filename:", 4, 16 27 51 16
text "Path:", 5, 16 53 30 18
edit "", 6, 80 50 218 21, read
text "Lines:", 7, 16 157 31 16
edit "", 8, 80 154 62 21, read
text "Size:", 9, 16 131 31 16
edit "", 10, 80 128 70 21, read
text "Created:", 11, 16 79 45 16
edit "", 12, 80 76 120 21, read
text "Modified", 13, 16 105 50 16
box "Script File Information", 14, 4 2 302 202
edit "", 2, 80 102 120 21, read
text "Script is loaded in mIRC", 15, 16 183 123 16, hide
}
dialog sm_view_help {
title "Script Preview Instructions"
size -1 -1 291 209
option pixels
button "Back", 2, 216 184 67 21, ok
link "Support Forums", 3, 16 184 110 16
box "Instructions", 1, 4 1 282 176
text " There are two ways to access this feature. The first is by selecting a loaded or unloaded script clicking the corresponding view button, or in the main screen go to Tools > Script Viewer. This small program will allow you to view the contents of a script up to 500 lines. Sometimes there may be content that does not get displayed do to program limitations. You can select other loaded scripts by using the drop down menu below, or you can go to File > View File in the Viewer and select a file. The directory will automatically get added in the main screen. ", 4, 11 16 265 155
}
;When viewer starts
on 1:dialog:sm_view:init:0:{
/var %x = 1
while ( %x <= $script(0) ) {
/did -ac sm_view 7 $nopath($script(%x))
/inc %x
}
}
;Closes open dialogs
on 1:dialog:sm_view:close:0:{
if ( $dialog(sm_view_info) != $null ) { /dialog -x sm_view_info }
if ( $dialog(sm_view_help) != $null ) { /dialog -x sm_view_help }
}
on 1:dialog:sm_view:sclick:3:{
/did -ra sm_view 20 $did(sm_view,3).sel $+ : $+ $did(sm_view,3).lines
}
;View a new script in viewer
on 1:dialog:sm_view:sclick:8:{
if ( $did(sm_view,7).seltext == $nopath($did(sm_view,18).text) ) { /did -ra sm_view 4 Already viewing script! | /halt }
/LoadPreview $script($did(sm_view,7).seltext)
}
on 1:dialog:sm_view:menu:10:{
/var %file = $sfile(*.ini;*.mrc,Select a file to view,View)
if (($right(%file,3) != mrc) && ($right(%file,3) != ini)) /halt
if ($didwm(sm,17,$nofile(%file)) == 0) { /did -ac sm 17 $nofile(%file) | /UpdateUnloadList $nofile(%file) }
/LoadPreview %file
}
;Opens view script info from button
on 1:dialog:sm_view:sclick:19:{
if ( $did(sm_view,18).text == $null ) { /did -ra sm_view 4 No script being viewed | /halt }
/LoadViewerFileInfo $did(sm_view,18).text
}
;Opens view script dialog from menu
on 1:dialog:sm_view:menu:16:{
if ( $did(sm_view,18).text == $null ) { /did -ra sm_view 4 No script being viewed | /halt }
/LoadViewerFileInfo $did(sm_view,18).text
}
;Opens Credits (Please keep intact)
on 1:dialog:sm_view:menu:14:$noop($input(Script Management - Script Viewer extension created by Crossfire39, ogia, Credits))
;Viewer instructions
on 1:dialog:sm_view:menu:13: /dialog -vmr sm_view_help sm_view_help
;Opens the swiftirc forums
on 1:dialog:sm_view_help:sclick:3: run http://forum.swiftirc.net/viewtopic.php?p=61133
;##########################################################
;## Scripts Search ##
;##########################################################
dialog -l sm_search {
title "Script Search"
size -1 -1 497 419
option pixels
box "Files Found", 1, 3 1 492 256
button "Exit", 3, 414 390 75 25, ok cancel
edit "", 5, 13 275 232 21, read autohs
box "Search Directory", 2, 3 258 299 45
button "Change", 6, 248 275 50 21
box "Display Options", 7, 3 307 122 109
check "Display .ini Files", 8, 8 332 100 20
check "Display .mrc Files", 9, 8 358 100 20
check "Display loaded files", 10, 8 384 118 20
box "Start Search", 11, 133 307 170 109
edit "2", 12, 139 322 34 21
text "Search Depth", 13, 183 326 74 16
button "Search!", 14, 243 391 51 20, default
box "File Tools", 23, 305 258 190 80
button "View File", 24, 314 279 53 20
button "File Info", 25, 374 279 53 20
button "Add Directory", 26, 374 305 114 24
button "Load File", 27, 435 278 53 20
box "Messages", 17, 306 338 188 40
edit "Created By Crossfire39", 18, 311 353 178 21, read
text "", 19, 252 239 194 16, right
edit "50", 28, 139 347 38 21
text "Max Files Shown", 29, 182 350 85 16
combo 4, 9 16 481 222, size
edit "", 30, 139 388 95 21
text "In Filename (Optional)", 31, 139 371 123 16
button "Convert", 32, 314 305 53 20
menu "File", 15
item "Exit", 16, 15, cancel
menu "Help", 20
item "Instructions", 21, 20
item "Credits", 22, 20
}
dialog -l sm_search_help {
title "Search Instructions"
size -1 -1 297 254
option pixels
box "Instructions", 1, 3 0 290 223
button "Back", 2, 218 226 64 20, ok cancel
text " When you start the search program, the defaults will be loaded. Path is the root directory the prgram will search. Deselecting Display .ini and Display .mrc will cause the program to not display the respective file type. Deselecting Display Loaded Files will cause the program to omit loaded files from the search. Search depth specifies how many subdirectories the engine will go through. Max files shown is a way to speed up the engine by limiting how many files it will search for. Once you decide on these values click the search button and your search will begin. If you wish to search for files with specific text in their filenames, put the components in the filename box. Once the search is complete, you can choose to view the files, view information about the file, load the file, or load the files directory in the manager. ", 3, 8 15 279 201
link "Support Forum", 4, 11 225 101 20
}
on 1:dialog:sm_search:init:0:{
/did -ra sm_search 5 $mircdir
/did -c sm_search 8
/did -c sm_search 9
/did -c sm_search 10
}
;Closes open dialogs
on 1:dialog:sm_search:close:0:{
if ( $dialog(sm_search_help) != $null ) { /dialog -x sm_search_help }
}
;Opens file directory browser
on 1:dialog:sm_search:sclick:6: /did -ra sm_search 5 $sdir($mircdir, Select a directory to search!)
;This part gathers inputed data and starts the search
on 1:dialog:sm_search:sclick:14:{
;Checks to see that everything has input
if ( ($did(sm_search,8).state == 0) && ($did(sm_search,9).state == 0)) { /did -ra sm_search 18 Choose at least one type of file | /halt }
if ( $did(sm_search,12).text < 0 ) { /did -ra sm_search 18 Depth must be greater than 0 | /halt }
if ( $did(sm_search,5).text == $null) { /did -ra sm_search 18 Select a directory | /halt }
if ( $did(sm_search,28).text == $null ) { /did -ra sm_search 18 Choose max files | /halt }
if ( ($did(sm_search,28).text > 50) || ($did(sm_search,12).text > 10) ) {
/var %x = $input(The values you selected for 'Search Depth' and/or 'Max Files Shown' may cause computer lag. If you wish to continue further select 'Yes'. Otherwise select 'No', yvgaw, Warning!)
if (%x == $no) /halt
}
/did -r sm_search 4
/var %infile = * $+ $replace($did(sm_search,30).text,$chr(32),$chr(42))
/var %ext = $iif($did(sm_search,8).state == 1,%infile $+ *.ini) $+ $iif(($did(sm_search,8).state == 1) && ($did(sm_search,9).state == 1),;) $+ $iif($did(sm_search,9).state == 1,%infile $+ *.mrc)
/var %x = $findfile($did(sm_search,5).text,%ext,0,$int($did(sm_search,12).text))
/var %tot = $iif( %x > $did(sm_search,28).text,$did(sm_search,28).text, %x ), %total = %x, %disp = 1
%y = 1
while ( %y <= %x ) {
/var %z = $findfile($did(sm_search,5).text,%ext,%y,$int($did(sm_search,12).text))
/did -ra sm_search 18 $str(|,$calc(41/ %tot * %y ))
if ( ($did(sm_search,10).state != 1) && ($script(%z) != $null)) { /inc %y | /dec %total | /dec %tot | /continue }
/did -i sm_search 4 %disp %z
/inc %disp
/inc %y
$iif(%disp > $did(sm_search,28).text,/break)
}
/did -ra sm_search 18 Search completed
/did -ra sm_search 19 Displaying $calc(%disp -1) of %total found files
}
;Opens the help dialog
on 1:dialog:sm_search:menu:21: /dialog -vm sm_search_help sm_search_help
;Allows you to view a file
on 1:dialog:sm_search:sclick:24:{
if ( $did(sm_search,4).seltext == $null ) { /did -ra sm_search 18 Select a file! | /halt }
/dialog -vm sm_view sm_view
/LoadPreview $did(sm_search,4).seltext
if ( $script($did(sm_search,4).seltext) ) { /did -c sm_view 7 $didwm(sm_view,7,$nopath($did(sm_search,4).seltext)) }
}
;Shows file information
on 1:dialog:sm_search:sclick:25:{
if ( $did(sm_search,4).seltext == $null ) { /did -ra sm_search 18 Select a file! | /halt }
/LoadViewerFileInfo $did(sm_search,4).seltext
}
;Adds directory to manager
on 1:dialog:sm_search:sclick:26:{
/var %x = $did(sm_search,4).seltext
if ( %x == $null ) { /did -ra sm_search 18 Select a file! | /halt }
if ( $didwm(sm,17,$nofile(%x)) != 0 ) { /did -ra sm_search 18 Directory already added | /did -c sm 17 $didwm(sm,17,$nofile(%x)) | /halt }
/did -ac sm 17 $nofile(%x)
}
;Loads the file
on 1:dialog:sm_search:sclick:27:{
/var %x = $did(sm_search,4).seltext
if ( %x == $null ) { /did -ra sm_search 18 Select a file! | /halt }
if ( ($nopath(%x) == aliases.ini) || ($nopath(%x) == mirc.ini) || ($nopath(%x) == popups.ini) || ($nopath(%x) == perform.ini) || ($nopath(%x) == remote.ini) || ($nopath(%x) == servers.ini) ) { /did -ar sm_search 18 Mirc file, unable to load | /halt }
if ( $script($nopath(%x)) ) { /did -ra sm_search 18 Script already loaded | /halt }
/did -az sm 1 $nopath(%x)
.load -rs $qt(%x)
if ( $didwm(sm,2,$nopath(%x)) != 0 ) { /did -d sm 2 $didwm(sm,2,$nopath(%x)) }
/Title
/did -ra sm_search 18 Script loaded!
}
on 1:dialog:sm_search:menu:22:$noop($input(Script Management - Script Search extension created by Crossfire39, ogia, Credits))
on 1:dialog:sm_search_help:sclick:4: run http://forum.swiftirc.net/viewtopic.php?p=61133
on 1:dialog:sm_search:sclick:32:{
if ( $did(sm_search,4).seltext ) {
/dialog -vmr sm_convert sm_convert
/did -ra sm_convert 9 $v1
/did -ra sm_convert 12 Convert to $iif($right($v1,3) == ini,.mrc,.ini)
}
else /did -ra sm_search 18 Select a script
}
;##########################################################
;## Scripts Converter ##
;##########################################################
;Converter Dialog
dialog -l sm_convert {
title "Script Extension Converter"
size -1 -1 131 59
option dbu
edit "", 9, 5 10 119 10, read autohs
box "File To Convert", 10, 2 2 126 30
check "Remove old file", 11, 5 45 46 10
button "Convert", 12, 56 45 73 12
button "File", 13, 95 21 28 9
button "View", 14, 65 21 28 9
button "Info", 15, 35 21 28 9
edit "", 2, 2 33 126 10, hide read
menu "File", 1
item "Exit", 3, 1, ok
menu "Help", 6
item "Instructions", 7, 6
item "Credits", 8, 6
}
;Help dialog
dialog -l sm_convert_help {
title Script Converter Instructions
size -1 -1 143 70
option dbu
box "Instructions", 1, 2 1 140 52
text "This tool is used to convert an mrc script to an ini file and vice versa. This tool only works for user-created scripts. To convert, select 'Select File' and choose the file to convert. If you wish for the old version to be removed, select 'Remove Old File'. Then select 'Convert File' ", 2, 7 9 131 41
button "Back", 3, 99 56 37 12, ok cancel
}
;Closes open dialogs
on 1:dialog:sm_search:close:0:{
if ( $dialog(sm_convert_help) != $null ) /dialog -x sm_convert_help
}
on 1:dialog:sm_convert:menu:8:$noop($input(Script Management - Script Converter extension created by Crossfire39, ogia, Credits))
on 1:dialog:sm_convert:menu:7:/dialog -vmr sm_convert_help sm_convert_help
;Convert
on 1:dialog:sm_convert:sclick:12:{
if ($did(sm_convert,9).text == $null) /halt
/var %type = $right($v1,3)
if ((%type == ini) || (%type == mrc)) {
if (%type == ini) /var %Nfile = $qt($replace($did(sm_convert,9).text,.ini,.mrc))
else /var %Nfile = $qt($replace($did(sm_convert,9).text,.mrc,.ini))
/var %total = $lines($did(sm_convert,9).text), %linenum = 0
if ($exists(%Nfile) == $true ) {
/var %confirm = $input(This file $nopath(%Nfile) already exists. If you wish to continue and overwrite this file press 'Yes'. Otherwise press 'No', yvgqa, Overwrite?)
if (%confirm = $no) /halt
.remove -b %Nfile
}
.fopen Convert $qt($did(sm_convert,9).text)
if ((%type == ini) && ($fread(Convert) != [script])) {
$noop($input(Sorry this tool is designed for user-made scripts only., ogwa, Cannot Complete Request))
.fclose Convert
/halt
}
if (%type == mrc) /write %Nfile [script]
/did -v sm_convert 2
while ($feof == 0) {
/write %Nfile $iif(%type == ini,$gettok($fread(Convert),2-,61),$+(n,%linenum,=,$fread(Convert)))
/did -ra sm_convert 2 $str(|,$calc( %linenum / %total * 60))
/inc %linenum
}
/did -ra sm_convert 2 Converted - $nopath($did(sm_convert,9))
.fclose Convert
if ($did(sm_convert,11).state == 1) .remove -b $qt($did(sm_convert,9))
}
}
;Allows you to select a file
on 1:dialog:sm_convert:sclick:13:{
/did -ra sm_convert 9 $sfile($mircdir *.ini;*.mrc,Select a file to convert)
/did -ra sm_convert 12 Convert to $iif($right($did(sm_convert,9).text,3) == ini,.mrc,.ini)
}
;Opens up the script viewer
on 1:dialog:sm_convert:sclick:14:{
if ( $did(sm_convert,9).text == $null ) /halt
/Dialog -vmr sm_view sm_view
/LoadPreview $v1
}
;Opens up script info
on 1:dialog:sm_convert:sclick:15:{
if ( $did(sm_convert,9).text != $null ) /LoadViewerFileInfo $did(sm_convert,9).text
}
;##########################################################
;## Alias ##
;##########################################################
;Alias that updates list of subdirectories
alias -l UpdateSubDirectories {
/did -r sm 24
/var %y = $finddir($1-,*,0)
%y = $iif(%y > 10,10,%y)
while ( %y > 0 ) {
/did -a sm 24 $finddir($1-,*,%y)
/dec %y
}
}
;Alias that updates unloaded scripts list
alias -l UpdateUnloadList {
/did -r sm 2
/var %y = 1
while ( %y <= $findfile($1-,*.ini;*.mrc,0,0)) {
;Shows the scripts only if they are not already running
if ( !$script( $findfile($1-,*.ini;*.mrc,%y,0)) ) {
/did -a sm 2 $nopath($findfile($1-,*.ini;*.mrc,%y,0))
}
/inc %y
}
}
;Alias used to load scripts
alias -l LoadScript {
if ( $mircdir == $did(sm,17).seltext || $mircdir == $did(sm,24).seltext) {
if ( ($nopath($2-) == aliases.ini) || ($nopath($2-) == mirc.ini) || ($nopath($2-) == popups.ini) || ($nopath($2-) == perform.ini) || ($nopath($2-) == remote.ini) || ($nopath($2-) == servers.ini) ) { /did -ar sm 11 Mirc file, unable to load | /halt }
}
/did -az sm 1 $nopath($2-)
.load -rs $qt($2-)
/did -d sm 2 $1
}
;Alias used to unload scripts
alias -l UnloadScript {
if ( $2- != $nopath($script)) {
if ( $didwm(sm,17,$nofile($script($2-))) != 0 ) { /did -a sm 2 $2- | /did -c sm 17 $v1 }
else { /did -ac sm 17 $nofile($script($2-)) | /did -a sm 2 $2- }
.unload -rs $qt($script($2-))
/did -d sm 1 $1
}
else { /did -ar sm 11 Cannot unload this script! }
}
;Alias to keep track of scripts loaded
alias -l Title {
/dialog -t sm Script Managment - $script(0) Loaded Scripts
}
alias -l LoadPreview {
/did -r sm_view 20
/did -r sm_view 3
var %y = 1, %x = $lines($1-), %indent = 0
%x = $iif(%x > 500,500,%x)
/dialog -t sm_view Script Preview - $nopath($1-)
/did -ra sm_view 4 %x / $lines($1-)
/did -ra sm_view 18 $1-
.fopen LoadPreview $qt($1-)
while ( $feof(LoadPreview) == 0) {
/var %z = $fread(LoadPreview)
if ( *.ini iswm $1- ) { %z = $deltok(%z,1,61) }
if ((*}* iswm %z) && (*{* !iswm %z)) { /dec %indent 3 }
/did -az sm_view 3 $str($chr(160),%indent) %z
if ((*{* iswm %z) && (*}* !iswm %z)) { /inc %indent 3 }
}
.fclose LoadPreview
}
alias -l LoadViewerFileInfo {
/dialog -vmr sm_view_info sm_view_info
/dialog -t sm_view_info File Information - $nopath($1-)
/did -ra sm_view_info 3 $nopath($1-)
/did -ra sm_view_info 6 $nofile($1-)
/did -ra sm_view_info 12 $asctime($file($qt($1-)).ctime,mmm-dd-yy h:nntt)
/did -ra sm_view_info 2 $asctime($file($qt($1-)).mtime,mmm-dd-yy h:nntt)
/did -ra sm_view_info 8 $lines($qt($1-))
/did -ra sm_view_info 10 $round($calc($file($qt($1-)).size /1000),2) $+ KB
$iif($script($nopath($1-)) != $null,/did -v sm_view_info 15)
}