#alias filehandler { #if {%pos(/,%1)=1} { #var devpath %homefolder; } { #var devpath @scpath }; #if {%1="" or %2="" or %IfWord(%2,create|delete|edit|load|unload|reload,"|")=0} { #say { Syntax: filehandler . If the path is proceeded by a slash it will be automaticly switched to the user data of vip mud for this particular action. the available actions are: Create: create an empty file (note, works only in the vip mud data location); Delete: delete a file (Note, works only in the vip mud data location.); edit: edit a file. load or unload: load or unload a file respectively; Reload: Reloads a file. The aliases have been provided for one's convenience and they include: devo: Open a file; Devr: reload a file; Devc: create a file; Devd: Delete a file; Devl and devu: Load and unload a file respectively; github1: Load files from your remote repositery if you use any; github 0: to switch back to your local copy; github h: To display help for github; Github r: to reload everything in case everything breaks. Enjoy!}; #abort; }; #if {%2="load"} { #load {@devpath/%1.set}; devannounce %1 %2 }; #if {%2="unload"} { #unload {@devpath/%1.set}; devannounce %1 %2 }; #if {%2="edit"} { #edit {@devpath/%1.set}; devannounce %1 %2 }; #if {%2="reload"} { #unload {@devpath/%1.set}; #load @devpath/%1.set; devannounce %1 %2 }; #if {%2="delete" or %2="create"} { #if {%pos(%homefolder,@devpath)=0} { #say {this function can work only with the home folder of vip mud: %homefolder, and you used @devpath} } { #if {%2="create"} { #file 9 {%replace(%1,/,).set}; #write 9 { } 1; #close 9; devannounce %1 %2; }; #if {%2="delete"} { devannounce %1 %2; #var devfilename %1; #alarm 0.20 { #say {Are you sure that you would like to delete @devpath/@devfilename.set?} VoiceOnly }; #pick {P:Are you sure|yes:#DelFile %1.set|*No:#abort all}; }; }; }; #unvar devpath } #alias devannounce { #if {%pos(/,%1)=1} { #say {Initiated %2 at @devpath/%replace(%1,/,).set} } { #say {Initiated %2 at @devpath/%1.set} }; #play {@sppath/general/misc/loadingfile.wav} @vol; } #alias devo {filehandler %1 edit} #alias devr {filehandler %1 reload} #alias devd {filehandler %1 delete} #alias devl {filehandler %1 load} #alias devu {filehandler %1 unload} #alias devc {filehandler %1 create} #alias dev {filehandler help} #alias github { #if {%1=1} {#if {%defined(githubpath)=0} {#say {Couldn't find path to your github repo, please define the githubpath variable first}} { #if {@scpath = @githubpath} {#say {You are switched to github already}} { #say {switching to github}; #unload {@scpath/main.set};#ForAll @loadtask {#unload {@scpath/%i.set}}; #var oldscpath @scpath; #var scpath @githubpath; #load {@scpath/main.set}; #say {Loaded script files from @scpath}}}}; #if {%1=0} {#if {%defined(oldscpath)=0} {#say {No Old Script Path Found, probably because you have not loaded yet}} { #unload {@scpath/main.set};#ForAll @loadtask {#unload @scpath/%i.set}; #var scpath @oldscpath; #unvar oldscpath; #load {@scpath/main.set}; #say {Loaded script files from @scpath}}}; #if {%1="h"} {#say { Define the variable githubpath somewhere, preferebly in cosmic rage.set. Githubpath should be a list containing path to your github repo scripts folder. Then type github 1 to switch to github, and github 0 to return to your local copy. If things break, type github r and it will reload your session. Have fun!}}; #if {%1="r"} {#reload}} #var githubpath {D:\my files\repos\VIPMudCosmicRageScripts\scripts}