Hash Saver

Platform:  mIRC
Published  Dec 21, 2009
Updated  Dec 21, 2009
This is my hash saver :), Just right click your background or type: /HashDialog
Result, you get a dialog with the little unchecked buttons, Check them, and you never lose your hash tables again :D! You can also save immeditly or load immeditly via the button :). menu channel,Status {
Hash Saver: hashdialog
}
on *:exit: if ($hget(files, save) == on) hashsave
on *:start: {
hload files files/files.txt
if ($hget(Files, load) == on) hashload
}
alias hashsave {
if (!$exists(Files)) mkdir Files
if (!$hget(files)) hmake files 5
var %x $hget(0)
while (%x) {
hsave $hget(%x) $+(Files/,$hget(%x),.txt)
hadd Files $hget(%x) Hash Table
dec %x
}
hsave files files.txt
}
alias hashload {
if (!$hget(Files)) hmake files 5
hload files files/files.txt
var %x $hget(Files, 0).item
while (%x) {
if (!$regex($hget(files, %x).item,/load|sav|file/si)) {
if (!$hget($hget(files, %X).item)) hmake $hget(files,%x).item
hload $hget(Files,%x).item $+(Files/,$hget(Files, %x).item,.txt)
}
dec %x
}
}
alias hashdialog dialog -mo hashsaver hashsaver
Dialog HashSaver {
option dbu
size -l -l 120 130
title "Hash Saver - V1.0"
check "Automatically Save Files On Exit", 1, 10 45 90 10,
check "Automatically Load Files On Start", 3, 10 55 90 10,
check "Save files every 60 seconds.", 4, 10 65 90 10,
box "Options", 2, 5 35 100 45
List 5, 1 85 115 45,vshbar
button "Save Files" 6, 5 10 30 10
button "Load Files" 7, 35 10 30 10
}
on *:dialog:Hashsaver:*:*: {
if ($devent == init) {
if ($hget(files, save) == on) did -c $dname 1
if ($hget(files, load) == on) did -c $dname 3
if ($timer(savefiles)) did -c $dname 4
did -ra $dname 5 Hash Tables Saved.
var %x $findfile($mircdir $+ \files,*.txt,0)
while (%x) {
if (!$regex($remove($findfile($mircdir $+ \files,*.txt,%x),$mircdir $+ \files\,.txt),/files|save|load/si)) {
did -a $dname 5 $remove($findfile($mircdir $+ \files,*.txt,%x),$mircdir $+ \files\,.txt)
}
dec %x
}
}
elseif ($devent == sclick) {
if ($did == 1) {
if ($did(1).state) hadd files Save on
else hadd files save off
}
elseif ($did == 3) {
if ($did(3).state) hadd files Load on
else hadd files Load off
}
elseif ($did == 4) {
if ($did(4).state) .timersavefiles 0 60 hashsave
else .timersavefiles off
}
elseif ($did == 6) hashsave
elseif ($did == 7) {
hashload
did -ra $dname 5 Hash Tables Saved.
var %x $findfile($mircdir $+ \files,*.txt,0)
while (%x) {
if (!$regex($remove($findfile($mircdir $+ \files,*.txt,%x),$mircdir $+ \files\,.txt),/files|save|load/si)) {
did -a $dname 5 $remove($findfile($mircdir $+ \files,*.txt,%x),$mircdir $+ \files\,.txt)
}
dec %x
}
}
}
}

Comments

Sign in to comment.
DarkCoder   -  Dec 21, 2009
Good for storing hash tables :P, gets kinda slow if you have huge hash tables like me, buts its fine :).
 Respond  
Master-Of-Death   -  Dec 21, 2009
gd idea 6/10, nice use of dialogs and aliases 4/10 overall 5/10
 Respond  
Are you sure you want to unfollow this person?
Are you sure you want to delete this?
Click "Unsubscribe" to stop receiving notices pertaining to this post.
Click "Subscribe" to resume notices pertaining to this post.