on *:START:{
if ($isfile($scriptdir\Stats.hsh) == $true) {
hmake Beaststats
hload Beaststats $qt($scriptdir\Stats.hsh)
}
}
You weren't loading from the $scriptdir. Also, there's no need for $+ after $scriptdir/$mircdir/$inidir/$logdir. And the $qt will allow you to have spaces if you want them.
I would recommend putting a value in when creating the table, however. Typically the value is 10% of what you expect the hash table's size to be. So if you expect it to have 1000 items, you'd use:
hmake BeastStats 100
This will help to improve performance (at least slightly).