just load and theoretically it should keep your hash files safe.
To use discretion in which hashes get saved, type /hashsaver
:::::
as you may or may not know, hashes get deleted on restart.. but since they are soooo darn useful, this script saves them
Tested: works perfectly =]
on *:exit:h.save
on *:start:h.load
alias h.save {
$iif(!$isdir("Hash Saver"),mkdir "Hash Saver")
%i = $hget(0)
while %i { if (!$readini("hash saver/allow.ini",disallow,$hget(%i))) { hsave $hget(%i) $qt($+(hash saver/,$hget(%i),.hsv)) | write "hash saver/hashes.txt" $hget(%i) } | dec %i }
}
alias h.load {
$iif(!$isdir("Hash Saver"),mkdir "Hash Saver")
var %f = "hash saver/hashes.txt", %i = $lines(%f)
while %i { if (!$readini("hash saver/allow.ini",disallow,$read("hash saver/hashes.txt",%i))) { $iif(!$hget($read("hash saver/hashes.txt",%i),hmake $read("hash saver/hashes.txt",%i)) | hload $read(%f,%i) $qt($+(hash saver/,$read("hash saver/hashes.txt",%i),.hsv)) } | dec %i }
}
alias Hashsaver dialog $iif($dialog(h.dialog),-mr,-xmr) h.dialog h.dialog
dialog H.dialog {
title "Hash Saver"
size -1 -1 256 158
option dbu
list 1, 3 7 124 138, sort size vsbar
text "Save", 2, 3 -1 123 8, center
list 3, 128 7 124 138, sort size vsbar
text "Don't Save", 4, 128 -1 123 8, center
button "Ok", 5, 53 145 37 12, default flat ok cancel
button "Reload", 6, 90 145 37 12, default flat
button "Clear", 7, 128 145 37 12, default flat
button "Cancel", 8, 165 145 37 12, default flat cancel
menu "File", 9
item "Ok", 11, 9, ok
item "Close", 13, 9, cancel
item break, 14, 9
item "Reload", 10, 9
item "Clear", 12, 9
}
alias h.reload {
did -r h.dialog 1,3
%i = $hget(0)
while %i { did -a h.dialog $iif($readini("hash saver/allow.ini",disallow,$hget(%i)),3,1) $hget(%i) | dec %i }
}
alias h.clear { remini "hash saver/allow.ini" disallow | h.reload }
on *:dialog:h.dialog:*:*: {
if ($devent == dclick) {
if ($did == 1) { writeini "hash saver/allow.ini" disallow $did(1).seltext $ | h.reload }
if ($did == 3) { remini "hash saver/allow.ini" disallow $did(3).seltext | h.reload }
}
if ($devent == init) { h.reload }
if ($devent == sclick) {
if ($did == 6 || $did == 10) { h.reload }
if ($did == 7 || $did == 12) { h.clear }
if ($did == 5 || $did == 11 || $did == 13) { dialog -x h.dialog h.dialog }
if ($did == 8) { h.clear | dialog -x h.dialog h.dialog }
}
}