The Achievements Script - v1.0 stable
#49
In anticipation of the upcoming next release of the script, I've written a little "mini-tool" script for the achievements script that will allow you to save your current state, and load it again at a later date. It saves *almost* everything, everything really important anyway. :p

If "/save_achievement_state" is executed, before uninstalling the old/installing the new version of the script, your progress should be saved and you can load it by executing "/load_achievement_state" AFTER having installed the updated version. Using this script + method will hopefully allow people to save all the progress they have done so far with the script hassle-free! :D

Do note that this only works if saved.cfg is not deleted and it's temporary aliases that store the information are not modified/deleted.

// Mini save/load state script for "The Achievements Script" by DES|Bukz
// Saves almost all of your progress and allows you to load it again at a later date,
// however, it does depend on saved.cfg NOT being deleted or any of it's temporary
// aliases being modified/deleted afterwards! Simply creates a copy of the script's
// core aliases and updates them later on.
alias save_achievement_state [
  tmp_ach_level = $cur_achievement_level; tmp_pwn_bukz = $gave_pwned_bukz; tmp_ach_counter = $achievements_counter
  tmp_aass_stat = $assault_achievement_stat; tmp_asub_stat = $sub_achievement_stat; tmp_asni_stat = $sniper_achievement_stat
  tmp_acar_stat = $carbine_achievement_stat; tmp_asho_stat = $shotgun_achievement_stat; tmp_ausp_stat = $usp_achievement_stat; tmp_akil_stat = $kills_achievement_stat
  loop sasloop_1 5 [loop sasloop_2 3 [alias (format "tmp_gave_%1_%2" (at $achievement_acts $sasloop_1) (+ $sasloop_2 1)) (getalias (format "gave_%1_%2" (at $achievement_acts $sasloop_1) (+ $sasloop_2 1)))]]
  loop sasloop_3 (listlen $other_achievements_list) [loop sasloop_4 3 [alias (format "tmp_gave_%1_%2" (at $other_achievements_list $sasloop_3) (+ $sasloop_4 1)) (getalias (format "gave_%1_%2" (at $other_achievements_list $sasloop_3) (+ $sasloop_4 1)))]]
  echo saved your achievements progress, install the update and use /load_achievement_state to load your progress.
]
alias load_achievement_state [
  tmp_aalist = []
  cur_achievement_level = $tmp_ach_level; gave_pwned_bukz = $tmp_pwn_bukz; achievements_counter = $tmp_ach_counter
  assault_achievement_stat = $tmp_aass_stat; sub_achievement_stat = $tmp_asub_stat; sniper_achievement_stat = $tmp_asni_stat
  carbine_achievement_stat = $tmp_acar_stat; shotgun_achievement_stat = $tmp_asho_stat; usp_achievement_stat = $tmp_ausp_stat; kills_achievement_stat = $tmp_akil_stat
  loop lasloop_1 5 [loop lasloop_2 3 [alias (format "gave_%1_%2" (at $achievement_acts $lasloop_1) (+ $lasloop_2 1)) (getalias (format "tmp_gave_%1_%2" (at $achievement_acts $lasloop_1) (+ $lasloop_2 1)))]]
  loop lasloop_3 (listlen $other_achievements_list) [loop lasloop_4 3 [alias (format "gave_%1_%2" (at $other_achievements_list $lasloop_3) (+ $lasloop_4 1)) (getalias (format "tmp_gave_%1_%2" (at $other_achievements_list $lasloop_3) (+ $lasloop_4 1)))]]
  set_achievement_levels
  sleep 100 [add2list tmp_aalist "tmp_ach_level tmp_pwn_bukz tmp_ach_counter tmp_aass_stat tmp_asub_stat tmp_asni_stat tmp_acar_stat tmp_asho_stat tmp_ausp_stat tmp_akil_stat"; loop csaaloop_1 5 [loop csaaloop_2 3 [add2list tmp_aalist (format "tmp_gave_%1_%2" (at $achievement_acts $csaaloop_1) (+ $csaaloop_2 1))]]; loop csaaloop_3 (listlen $other_achievements_list) [loop csaaloop_4 3 [add2list tmp_aalist (format "tmp_gave_%1_%2" (at $other_achievements_list $csaaloop_3) (+ $csaaloop_4 1))]]; loop csaaloop_5 (listlen $achievement_aliases_5) [add2list tmp_aalist (format "tmp_%1" (at $achievement_aliases_5 $csaaloop_5))]; addlistonquit (concat $tmp_aalist tmp_aalist)]
  echo loaded your achievements progress
]
docsection [Save/Load Achievements];
docident [save_achievement_state] [Saves your current achievements progress to be loaded at a later date];
docremark [Depends on "saved.cfg" not being deleted or its temporary aliases being modified/deleted.];
docident [load_achievement_state] [Loads the last achievements state that "/save_achievement_state" saved.];
docremark [If never executed before, a "/save_achievement_state" is required before attempting to use this command!];
addlistonquit [load_achievement_state save_achievement_state]

The update is nearly ready and is mostly just awaiting some final touches/completed sounds. Thats right, plural. :D

mod edit: user warned for double posting
mod edit: y no warning tho D:
mod edit: you asked for it
Thanks given by:


Messages In This Thread
RE: The Achievements Script - v1.0 beta - by ph4ntom - 11 Feb 11, 08:28PM
RE: The Achievements Script - v1.0 beta - by Bukz - 22 Feb 11, 07:41AM