// ---------------------------------------------------- // Script Editor, v1.0 // (C) Chaos, ZLIB license // http://www.opensource.org/licenses/zlib-license.php // ---------------------------------------------------- // Key Bind: bind "K" [ showgui cfgeditor ] // Defaults: createine = [ if (=s (getalias $arg1) "") [ $arg1 = $arg2 ] ] createine se_curfile "autoexec.cfg" createine se_dir "" // File List: se_filelist = [ cfglist = ""; loopfiles f $se_dir "cfg" [ cfglist = (concatword $cfglist $f ".cfg ") ] result $cfglist ] // GUI Menu: newgui cfgeditor [ guititle "Script Editor" guibar guilist [ guitext "Directory: " guifield se_dir -30 ] guibar guistayopen [ guilist [ guilist [ guitext "File List:" guibar if (listlen (se_filelist)) [ looplist i (se_filelist) [ guibutton (concatword (? (=s $i $se_curfile) "^f0" "^f7") $i) [ se_curfile = @i ] 0 ] guibar guibutton "Exec All" [ looplist i (se_filelist) [ exec (concatword $se_dir "/" $i) ]; echo "^f7* Executed All Files *" ] 0 ] [ guitext "^f4No Files" 0 ] ] guibar guilist [ guitext (? (>= (indexof (se_filelist) $se_curfile)) $se_curfile "^f4N/A") guibar guieditor (concatword $se_dir "/" $se_curfile) -80 30 textinit (concatword $se_dir "/" $se_curfile) (concatword $se_dir "/" $se_curfile) guibar guialign 0 [ guibutton "Save" [ textfocus (concatword $se_dir "/" $se_curfile); textsave; echo "^f7* File Saved *" ] 0 guistrut 1 guibar guistrut 1 guibutton "Exec" [ textfocus (concatword $se_dir "/" $se_curfile); textexec; echo "^f7* File Executed *" ] 0 guistrut 1 guibar guistrut 1 guibutton "Copy" [ textfocus (concatword $se_dir "/" $se_curfile); textcopy ] 0 guistrut 1 guibar guistrut 1 guibutton "Paste" [ textfocus (concatword $se_dir "/" $se_curfile); textpaste ] 0 guistrut 1 guibar guistrut 1 guibutton "Select All" [ textfocus (concatword $se_dir "/" $se_curfile); textselectall ] 0 guistrut 1 guibar guistrut 1 guibutton "Clear" [ textfocus (concatword $se_dir "/" $se_curfile); textclear ] 0 ] ] ] ] ] // Miscellaneous Functions: se_pathtolist = [ result (strreplace $arg1 "/" " ") ] se_extractfile = [ result (at (se_pathtolist $arg1) (- (listlen (se_pathtolist $arg1)) 1)) ] se_extractdir = [ result (strreplace $arg1 (se_extractfile $arg1) "") ] editcfg = [ se_dir = (se_extractdir $arg1); se_curfile = (se_extractfile $arg1); showgui cfgeditor ]