Few comments:
self.account_value = 250000 will put 250 million points in the bank as each unit is worth 1000 points. 1000 times more points then possible during regular gameplay. Not a big deal since its not like players are spending 250000 bank points during the game anyway.
Most of the perma perk increments will not unlock the perma perks. Perma perks have different client_stat requirements and most of them are greater than 1. I have a list of the values here https://raw.githubusercontent.com/HuthTV/BO2-Persistent-Upgrades-Bank/main/persistent_upgrade_names.txt
No reason to save box weapons to restore the box later. When weapons are included, level.zombie_include_weapons[ weapon_name ] is set to 1 if the weapon is in box.
Can do something like this to restore default box
keys = getarraykeys(level.zombie_include_weapons);
foreach(weapon in keys)
{
if(level.zombie_include_weapons[weapon] == 1)
level.zombie_weapons[weapon].is_in_box = 1;
}
might be good the check that level.zombie_include_weapons[weapon] is defined as well. Need to update my code with that.