Advertisement
Bukz

The Achievements Script v1.0 - March 4th, 2011

Mar 4th, 2011
223
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 42.41 KB | None | 0 0
  1. // achievements.cfg by DES|Bukz - version 1.0 - Last Update: March 4th, 2011 - Now out of beta and with cool new sounds!
  2. // An attempt to add an achievements system in AssaultCube via strictly CubeScript. Requires,
  3. // tools.cfg, and saved.cfg to be writable for progress to be stored/saved between sessions.
  4. // Includes a simple leveling system to make the achievements harder to obtain over-time.
  5. // All credit goes to DES|GeneralDisarray/V-Man/V-Wifey for the awesome achievement/levelup sounds! Thanks! :)
  6. // More special thanks to the guys from {BoB} clan for all their help in spreading the word/hosting/etc. :D
  7. // This script is licensed under the attribution-NonCommercial-ShareAlike 3.0 Unported (CC BY-NC-SA 3.0) license:
  8. // http://creativecommons.org/licenses/by-nc-sa/3.0/
  9.  
  10. // Init alias creation.
  11. initialize [achievement_percentage_style achievement_progress_style achievement_rounds_played achievement_sound_style achievement_stats_top add_achievements_main add_achievements_ingame show_killstreak_switch sound_on_achievement sound_on_levelup total_bullets_fired] 0
  12. initialize [cur_achievement_level] 1
  13. initialize [achperlen] 2
  14. // Create alias lists for various loops throughout the script.
  15. alias achievement_aliases_2 [fragged_achievement_stat gibbed_achievement_stat slashed_achievement_stat headshot_achievement_stat splattered_achievement_stat killstreak_achievement_stat akimbo_achievement_stat]
  16. alias achievement_aliases_3 [gave_fragged_ gave_gibbed_ gave_slashed_ gave_headshot_ gave_splattered_]
  17. alias achievement_aliases_4 [gave_ratio_ gave_flag_ gave_killstreak_ gave_akimbo_ gave_assault_ gave_sub_ gave_sniper_ gave_carbine_ gave_shotgun_ gave_usp_ gave_bullet_]
  18. alias achievement_aliases_5 [assault_achievement_stat sub_achievement_stat sniper_achievement_stat carbine_achievement_stat shotgun_achievement_stat usp_achievement_stat kills_achievement_stat bullet_achievement_stat]
  19. alias achievement_acts [fragged gibbed slashed headshot splattered]
  20. alias other_achievements_list [ratio flag killstreak akimbo assault sub sniper carbine shotgun usp bullet]
  21. // The various achievement goal lists/tables.
  22. // Frags, gibs, knives, headshots, splatters.
  23. //                              [f g k  h s]
  24. alias level_1_achievements_list [3 2 10 2 3]
  25. alias level_2_achievements_list [5 4 20 4 5]
  26. alias level_3_achievements_list [8 6 40 6 8]
  27. //                                   OT
  28. alias level_1_others_list [3.0 2 2 3 50 50 35 35 45 25 1050000]
  29. alias level_2_others_list [5.0 4 4 5 100 100 70 70 90 50 2100000]
  30. alias level_3_others_list [8.0 6 6 7 200 200 140 140 180 100 4200000]
  31. //                        [ r  f k d  a   s   p   c   n   u      b  ]
  32. //                                   OT  OT  OT  OT  OT  OT     OT
  33. // Ratio, flags, killstreak, duals (akimbo), assault rifle, sub machine gun, precision (sniper), carbine, noob cannon (shotgun), usp (pistol), bullets.
  34. // make_achievement_aliases - Creates various aliases used by the script only if they do not already exist.
  35. alias make_achievement_aliases [
  36.   loop tmp_ach_loop 5 [loop tmp_ach_loop_2 3 [if (checkalias (format "%1%2" (at $achievement_aliases_3 $tmp_ach_loop) (+ $tmp_ach_loop_2 1))) [] [alias (format "%1%2" (at $achievement_aliases_3 $tmp_ach_loop) (+ $tmp_ach_loop_2 1)) 0]]]
  37.   loop tmp_ach_loop_3 11 [loop tmp_ach_loop_4 3 [if (checkalias (format "%1%2" (at $achievement_aliases_4 $tmp_ach_loop_3) (+ $tmp_ach_loop_4 1))) [] [alias (format "%1%2" (at $achievement_aliases_4 $tmp_ach_loop_3) (+ $tmp_ach_loop_4 1)) 0]]]
  38.   loop tmp_ach_loop_5 8 [if (checkalias (at $achievement_aliases_5 $tmp_ach_loop_5)) [] [alias (at $achievement_aliases_5 $tmp_ach_loop_5) 0]]
  39.   loop tmp_ach_loop_6 5 [if (checkalias (format "cur_%1_level" (at $achievement_acts $tmp_ach_loop_6)) (at (getalias (format "level_%1_achievements_list" $cur_achievement_level)) $tmp_ach_loop_6)) [] [alias (format "cur_%1_level" (at $achievement_acts $tmp_ach_loop_6)) (at (getalias (format "level_%1_achievements_list" $cur_achievement_level)) $tmp_ach_loop_6)]]
  40.   loop tmp_ach_loop_7 11 [if (checkalias (format "cur_%1_level" (at $other_achievements_list $tmp_ach_loop_7)) (at (getalias (format "level_%1_others_list" $cur_achievement_level)) $tmp_ach_loop_7)) [] [alias (format "cur_%1_level" (at $other_achievements_list $tmp_ach_loop_7)) (at (getalias (format "level_%1_others_list" $cur_achievement_level)) $tmp_ach_loop_7)]]
  41.   initialize [achievements_counter gave_achievements_comp gave_pwned_bukz slashed_achievement_stat] 0
  42. ]
  43. // reset_achievement_stats - Reset conline stat holders.
  44. alias reset_achievement_stats [loop tmp_ach_loop 7 [if (= $tmp_ach_loop 2) [] [alias (at $achievement_aliases_2 $tmp_ach_loop) 0]]]
  45. // reset_achievements - Reset all achievements progress.
  46. alias reset_achievements [
  47.   reset_achievement_stats
  48.   alias cur_achievement_level 1
  49.   alias gave_achievements_comp 0
  50.   alias slashed_achievement_stat 0
  51.   loop tmp_ach_loop 5 [loop tmp_ach_loop_2 3 [alias (format "%1%2" (at $achievement_aliases_3 $tmp_ach_loop) (+ $tmp_ach_loop_2 1)) 0]]
  52.   loop tmp_ach_loop_3 11 [loop tmp_ach_loop_4 3 [alias (format "%1%2" (at $achievement_aliases_4 $tmp_ach_loop_3) (+ $tmp_ach_loop_4 1)) 0]]
  53.   loop tmp_ach_loop_5 8 [alias (at $achievement_aliases_5 $tmp_ach_loop_5) 0]
  54.   set_achievement_levels
  55. ]
  56. // reset_all_achievements - Resets everything, including secret achievement progress and script completions counter.
  57. alias reset_all_achievements [
  58.   alias achievements_counter 0
  59.   alias gave_pwned_bukz 0
  60.   alias total_bullets_fired 0
  61.   alias achievement_rounds_played 0
  62.   reset_achievements
  63. ]
  64. // set_achievement_levels - Checks all achievements and sets the proper current level's goals.
  65. alias set_achievement_levels [
  66.   loop tmp_ach_loop 5 [alias (format "cur_%1_level" (at $achievement_acts $tmp_ach_loop)) (at (getalias (format "level_%1_achievements_list" $cur_achievement_level)) $tmp_ach_loop)]
  67.   loop tmp_ach_loop_2 11 [alias (format "cur_%1_level" (at $other_achievements_list $tmp_ach_loop_2)) (at (getalias (format "level_%1_others_list" $cur_achievement_level)) $tmp_ach_loop_2)]
  68. ]
  69. // Execute script core aliases on every run.
  70. make_achievement_aliases; reset_achievement_stats; set_achievement_levels
  71. // get_achievement_stats - Collect stats from conline.
  72. alias get_achievement_stats [
  73.   if (|| $connected (curmodeattr bot)) [
  74.     if (< $cur_achievement_level 4) [
  75.       loop tmp_ach_loop 5 [if_conline_has (format "you %1" (at $achievement_acts $tmp_ach_loop)) but_not "teammate" [if (strcmp (at $achievement_acts $tmp_ach_loop) fragged) [if (= (curweapon) 1) [+= usp_achievement_stat 1] []; if (= (curweapon) 2) [+= carbine_achievement_stat 1] []; if (= (curweapon) 3) [+= shotgun_achievement_stat 1] []; if (= (curweapon) 4) [+= sub_achievement_stat 1] []; if (= (curweapon) 5) [+= sniper_achievement_stat 1] []; if (= (curweapon) 6) [+= assault_achievement_stat 1] []; if (= (curweapon) 9) [+= akimbo_achievement_stat 1] []] []; if (strcmp (at $achievement_acts $tmp_ach_loop) headshot) [+= sniper_achievement_stat 1] []; if (strcmp (at $achievement_acts $tmp_ach_loop) splattered) [+= shotgun_achievement_stat 1] []; += (format "%1_achievement_stat" (at $achievement_acts $tmp_ach_loop)) 1; += killstreak_achievement_stat 1; if $show_killstreak_switch [if (= $killstreak_achievement_stat 2) [echo (c 0)DOUBLE KILL (c 4)- (c 3)Killstreak: (c 0)2] [if (= $killstreak_achievement_stat 3) [echo (c 0)TRIPLE KILL (c 4)- (c 3)Killstreak: (c 0)3] [if (= $killstreak_achievement_stat 4) [echo (c 0)QUAD-KILL (c 4)- (c 3)Killstreak: (c 0)4] [if (= $killstreak_achievement_stat 5) [echo (c 0)MULTI-KILL (c 4)- (c 3)Killstreak: (c 0)5] [if (= $killstreak_achievement_stat 6) [echo (c 0)MEGA-KILL (c 4)- (c 3)Killstreak: (c 0)6] [if (= $killstreak_achievement_stat 7) [echo (c 0)ULTRA-KILL (c 4)- (c 3)Killstreak: (c 0)7] [if (= $killstreak_achievement_stat 8) [echo (c 0)DOMINATING (c 4)- (c 3)Killstreak: (c 0)8] [if (= $killstreak_achievement_stat 9) [echo (c 0)GODLIKE (c 4)- (c 3)Killstreak: (c 0)9] [if (= $killstreak_achievement_stat 10) [echo (c 0)HOLY SHIT (c 4)- (c 3)Killstreak: (c 0)10] [echo (c 3)Killstreak: (c 0) $killstreak_achievement_stat]]]]]]]]]] []; += kills_achievement_stat 1] []]
  76.       if (alive) [] [alias fragged_achievement_stat 0; alias gibbed_achievement_stat 0; alias headshot_achievement_stat 0; alias splattered_achievement_stat 0; alias killstreak_achievement_stat 0; alias akimbo_achievement_stat 0]
  77.     ] []
  78.   ] []
  79. ]
  80. // bullets_fired section - New since the stable release of version 1.0; Used to gather stats for the "Lead Storm"
  81. //                         achievement. Uses an "automatic score leveling" system to make the achievement fair
  82. //                         across all spectrums of ROF (rate of rife) in guns of AssaultCube.
  83. alias weapons2ignore [0 14 16]
  84. alias weaponsrof [0 160 720 1000 80 1500 120 0 0 80]
  85. alias bullets_fired [
  86.   alias pscounter -2; alias tbfired 0
  87.   loop bfloop 10 [alias tbignore 0; += pscounter 2; loop pscheck 3 [if (= $pscounter (at $weapons2ignore $pscheck)) [tbignore = 1] []]; if $tbignore [] [+= tbfired (at (pstat_weap (findcn $curname)) $pscounter)]]
  88.   result $tbfired
  89. ]
  90. add2eachbind attack [if (|| $connected (curmodeattr bot)) [oldbf = (bullets_fired); onrelease [+= total_bullets_fired (- (bullets_fired) $oldbf); += bullet_achievement_stat (* (- (bullets_fired) $oldbf) (at $weaponsrof (curweapon)))]] []]
  91. // check_achievement_stats - Analyzes the stats that get_achievement_stats collects and awards the client with the proper achievement if it has been unlocked.
  92. alias check_achievement_stats [
  93.   if (|| $connected (curmodeattr bot)) [
  94.     if (< $cur_achievement_level 4) [
  95.       loop tmp_ach_loop 5 [if (&& (>= (getalias (format "%1_achievement_stat" (at $achievement_acts $tmp_ach_loop))) (getalias (format "cur_%1_level" (at $achievement_acts $tmp_ach_loop)))) (= (getalias (format "gave_%1_%2" (at $achievement_acts $tmp_ach_loop) $cur_achievement_level)) 0)) [alias (format "gave_%1_%2" (at $achievement_acts $tmp_ach_loop) $cur_achievement_level) 1; give_achievement (at $achievement_acts $tmp_ach_loop); if (= $tmp_ach_loop 2) [alias slashed_achievement_stat 0] []] []]
  96.       if (&& (>= (curratio (findcn $curname)) $cur_ratio_level) (= (getalias (format "gave_ratio_%1" $cur_achievement_level)) 0)) [alias (format "gave_ratio_%1" $cur_achievement_level) 1; give_achievement ratio] []
  97.       if (&& (>= (at (pstat_score (findcn $curname)) 0) $cur_flag_level) (= (getalias (format "gave_flag_%1" $cur_achievement_level)) 0)) [alias (format "gave_flag_%1" $cur_achievement_level) 1; give_achievement flag] []
  98.       if (&& (>= $killstreak_achievement_stat $cur_killstreak_level) (= (getalias (format "gave_killstreak_%1" $cur_achievement_level)) 0)) [alias (format "gave_killstreak_%1" $cur_achievement_level) 1; give_achievement killstreak] []
  99.       if (&& (>= $akimbo_achievement_stat $cur_akimbo_level) (= (getalias (format "gave_akimbo_%1" $cur_achievement_level)) 0)) [alias (format "gave_akimbo_%1" $cur_achievement_level) 1; give_achievement akimbo; alias akimbo_achievement_stat 0] []
  100.       if (&& (>= $assault_achievement_stat $cur_assault_level) (= (getalias (format "gave_assault_%1" $cur_achievement_level)) 0)) [alias (format "gave_assault_%1" $cur_achievement_level) 1; give_achievement assault; alias assault_achievement_stat 0] []
  101.       if (&& (>= $sub_achievement_stat $cur_sub_level) (= (getalias (format "gave_sub_%1" $cur_achievement_level)) 0)) [alias (format "gave_sub_%1" $cur_achievement_level) 1; give_achievement sub; alias sub_achievement_stat 0] []
  102.       if (&& (>= $sniper_achievement_stat $cur_sniper_level) (= (getalias (format "gave_sniper_%1" $cur_achievement_level)) 0)) [alias (format "gave_sniper_%1" $cur_achievement_level) 1; give_achievement sniper; alias sniper_achievement_stat 0] []
  103.       if (&& (>= $carbine_achievement_stat $cur_carbine_level) (= (getalias (format "gave_carbine_%1" $cur_achievement_level)) 0)) [alias (format "gave_carbine_%1" $cur_achievement_level) 1; give_achievement carbine; alias carbine_achievement_stat 0] []
  104.       if (&& (>= $shotgun_achievement_stat $cur_shotgun_level) (= (getalias (format "gave_shotgun_%1" $cur_achievement_level)) 0)) [alias (format "gave_shotgun_%1" $cur_achievement_level) 1; give_achievement shotgun; alias shotgun_achievement_stat 0] []
  105.       if (&& (>= $usp_achievement_stat $cur_usp_level) (= (getalias (format "gave_usp_%1" $cur_achievement_level)) 0)) [alias (format "gave_usp_%1" $cur_achievement_level) 1; give_achievement usp; alias usp_achievement_stat 0] []
  106.       if (&& (>= $bullet_achievement_stat $cur_bullet_level) (= (getalias (format "gave_bullet_%1" $cur_achievement_level)) 0)) [alias (format "gave_bullet_%1" $cur_achievement_level) 1; give_achievement bullet; alias bullet_achievement_stat 0] []
  107.     ] []
  108.   ] []
  109. ]
  110. // check_achievement_levels - Checks current stats to see if the client has unlocked all of the necessary
  111. //                            achievements to move on. Handles script completion and "levelups" as well.
  112. alias check_achievement_levels [
  113.   if (|| $connected (curmodeattr bot)) [
  114.     if (< $cur_achievement_level 5) [
  115.       alias have_achievement_counter 0
  116.       loop tmp_ach_loop 5 [if (= (getalias (format "gave_%1_%2" (at $achievement_acts $tmp_ach_loop) $cur_achievement_level)) 1) [+= have_achievement_counter 1] []]
  117.       loop tmp_ach_loop_2 11 [if (= (getalias (format "gave_%1_%2" (at $other_achievements_list $tmp_ach_loop_2) $cur_achievement_level)) 1) [+= have_achievement_counter 1] []]
  118.       if (= $have_achievement_counter 16) [
  119.         += cur_achievement_level 1
  120.         if (&& (= $cur_achievement_level 4) (= $gave_achievements_comp 0)) [
  121.           alias gave_achievements_comp 1; += achievements_counter 1
  122.           if (&& (>= $achievements_counter 3) (= $gave_pwned_bukz 0)) [
  123.             alias gave_pwned_bukz 1
  124.             echo (c 3)You unlocked secret achievement (c 1)Pwn Bukz! (c 2)Beat the achievements script (c 5)3 (c 2)or more times! (c 0)GG!
  125.           ] []
  126.           if $sound_on_levelup [gen_achievement_sound levelup] []
  127.           echo $kills_achievement_stat (c 2)noobs were killed during the making of this film. (c 5)";)"
  128.           echo (c 0)You completed the achievements script! (c 2)Use (c 5)/reset_achievements (c 2)to start over!
  129.         ] [
  130.           if (< $cur_achievement_level 4) [
  131.             if $sound_on_levelup [gen_achievement_sound levelup] []
  132.             echo "   " (c 0)*** (c 1)LEVEL UP (c 0)***
  133.             if (= $cur_achievement_level 2) [echo New difficulty: (c 2)INTERMEDIATE] [if (= $cur_achievement_level 3) [echo New difficulty: (c 3)HARD] []]
  134.             set_achievement_levels
  135.           ] []
  136.         ]
  137.       ] []
  138.     ] []
  139.   ] []
  140. ]
  141. // The sounds section - Uses 8 new custom sounds thanks to DES|GeneralDisarray and V-Man/V-Wifey. This whole section
  142. //                      is new to the stable release of 1.0
  143. alias achievement_sound_list ["achievements/gd/level_1_achievement_f" "achievements/gd/level_2_achievement_f" "achievements/gd/level_3_achievement_f" "achievements/gd/level_completion_f" "achievements/gd/level_1_achievement_m" "achievements/gd/level_2_achievement_m" "achievements/gd/level_3_achievement_m" "achievements/gd/level_completion_m"]
  144. loop rasloop 8 [registersound (at $achievement_sound_list $rasloop)]
  145. alias achievement_sound_lengths [4000 4000 4000 2000 3000 3000 3000 3000]
  146. alias playing_achievement_sound 0
  147. // gen_achievement_sound - Call this command during unlocks/levelups to automatically play the proper sound file.
  148. alias gen_achievement_sound [
  149.     if (strcmp $arg1 achievement) [
  150.       if $playing_achievement_sound [] [
  151.         if $achievement_sound_style [
  152.           if (= $cur_achievement_level 1) [sound 103; playing_achievement_sound = 1; sleep (at $achievement_sound_lengths 4) [playing_achievement_sound = 0]] []
  153.           if (= $cur_achievement_level 2) [sound 104; playing_achievement_sound = 1; sleep (at $achievement_sound_lengths 5) [playing_achievement_sound = 0]] []
  154.           if (= $cur_achievement_level 3) [sound 105; playing_achievement_sound = 1; sleep (at $achievement_sound_lengths 6) [playing_achievement_sound = 0]] []
  155.         ] [
  156.           if (= $cur_achievement_level 1) [sound 99; playing_achievement_sound = 1; sleep (at $achievement_sound_lengths 0) [playing_achievement_sound = 0]] []
  157.           if (= $cur_achievement_level 2) [sound 100; playing_achievement_sound = 1; sleep (at $achievement_sound_lengths 1) [playing_achievement_sound = 0]] []
  158.           if (= $cur_achievement_level 3) [sound 101; playing_achievement_sound = 1; sleep (at $achievement_sound_lengths 2) [playing_achievement_sound = 0]] []
  159.         ]
  160.       ]
  161.     ] [
  162.       if (strcmp $arg1 levelup) [
  163.         if $achievement_sound_style [
  164.           if (= $cur_achievement_level 2) [sleep (at $achievement_sound_lengths 4) [sound 106; playing_achievement_sound = 1; sleep (at $achievement_sound_lengths 7) [playing_achievement_sound = 0]]] []
  165.           if (= $cur_achievement_level 3) [sleep (at $achievement_sound_lengths 5) [sound 106; playing_achievement_sound = 1; sleep (at $achievement_sound_lengths 7) [playing_achievement_sound = 0]]] []
  166.           if (= $cur_achievement_level 4) [sleep (at $achievement_sound_lengths 6) [sound 106; playing_achievement_sound = 1; sleep (at $achievement_sound_lengths 7) [playing_achievement_sound = 0]]] []
  167.         ] [
  168.           if (= $cur_achievement_level 2) [sleep (at $achievement_sound_lengths 0) [sound 102; playing_achievement_sound = 1; sleep (at $achievement_sound_lengths 3) [playing_achievement_sound = 0]]] []
  169.           if (= $cur_achievement_level 3) [sleep (at $achievement_sound_lengths 1) [sound 102; playing_achievement_sound = 1; sleep (at $achievement_sound_lengths 3) [playing_achievement_sound = 0]]] []
  170.           if (= $cur_achievement_level 4) [sleep (at $achievement_sound_lengths 2) [sound 102; playing_achievement_sound = 1; sleep (at $achievement_sound_lengths 3) [playing_achievement_sound = 0]]] []
  171.         ]
  172.       ] []
  173.     ]
  174. ]
  175. // give_achievement - Prints pretty stuff on the console for the client when an achievement is unlocked.
  176. alias give_achievement [
  177.   if (< $cur_achievement_level 4) [
  178.     if (strcmp $arg1 fragged) [if $sound_on_achievement [gen_achievement_sound achievement] []; echo (c 3)You unlocked level (c 5) $cur_achievement_level (c 1)Unstoppable! (c 2)Get (c 5) $cur_fragged_level (c 2)frags without dying!] []
  179.     if (strcmp $arg1 gibbed) [if $sound_on_achievement [gen_achievement_sound achievement] []; echo (c 3)You unlocked level (c 5) $cur_achievement_level (c 1)Grenadier! (c 2)Get (c 5) $cur_gibbed_level (c 2)grenade gibs without dying!] []
  180.     if (strcmp $arg1 slashed) [if $sound_on_achievement [gen_achievement_sound achievement] []; echo (c 3)You unlocked level (c 5) $cur_achievement_level (c 1)Knife Specialist! (c 2)Get (c 5) $cur_slashed_level (c 2)or more knife gibs over time!] []
  181.     if (strcmp $arg1 headshot) [if $sound_on_achievement [gen_achievement_sound achievement] []; echo (c 3)You unlocked level (c 5) $cur_achievement_level (c 1)Sharp Shooter! (c 2)Get (c 5) $cur_headshot_level (c 2)headshots without dying!] []
  182.     if (strcmp $arg1 splattered) [if $sound_on_achievement [gen_achievement_sound achievement] []; echo (c 3)You unlocked level (c 5) $cur_achievement_level (c 1)Noob Cannon! (c 2)Get (c 5) $cur_splattered_level (c 2)shotgun splatters without dying!] []
  183.     if (strcmp $arg1 ratio) [if $sound_on_achievement [gen_achievement_sound achievement] []; echo (c 3)You unlocked level (c 5) $cur_achievement_level (c 1)Ratio Whore! (c 2)Get a (c 5) $cur_ratio_level (c 2)or higher ratio!] []
  184.     if (strcmp $arg1 flag) [if $sound_on_achievement [gen_achievement_sound achievement] []; echo (c 3)You unlocked level (c 5) $cur_achievement_level (c 1)Flag Runner! (c 2)Get (c 5) $cur_flag_level (c 2)or more flags in a single round!] []
  185.     if (strcmp $arg1 killstreak) [if $sound_on_achievement [gen_achievement_sound achievement] []; echo (c 3)You unlocked level (c 5) $cur_achievement_level (c 1)Rampage! (c 2)Get a (c 5) $cur_killstreak_level (c 2)or higher kill streak without dying!] []
  186.     if (strcmp $arg1 akimbo) [if $sound_on_achievement [gen_achievement_sound achievement] []; echo (c 3)You unlocked level (c 5) $cur_achievement_level (c 1)Akimbo Madman! (c 2)Get (c 5) $cur_akimbo_level (c 2)or more kills with the akimbo without dying!] []
  187.     if (strcmp $arg1 assault) [if $sound_on_achievement [gen_achievement_sound achievement] []; echo (c 3)You unlocked level (c 5) $cur_achievement_level (c 1)AR Marksman! (c 2)Get (c 5) $cur_assault_level (c 2)or more kills with the assault rifle over time!] []
  188.     if (strcmp $arg1 sub) [if $sound_on_achievement [gen_achievement_sound achievement] []; echo (c 3)You unlocked level (c 5) $cur_achievement_level (c 1)SMG Massacre! (c 2)Get (c 5) $cur_sub_level (c 2)or more kills with the sub machine gun over time!] []
  189.     if (strcmp $arg1 sniper) [if $sound_on_achievement [gen_achievement_sound achievement] []; echo (c 3)You unlocked level (c 5) $cur_achievement_level (c 1)Pro Sniper! (c 2)Get (c 5) $cur_sniper_level (c 2)or more kills with the sniper rifle over time!] []
  190.     if (strcmp $arg1 carbine) [if $sound_on_achievement [gen_achievement_sound achievement] []; echo (c 3)You unlocked level (c 5) $cur_achievement_level (c 1)Carbine Rage! (c 2)Get (c 5) $cur_carbine_level (c 2)or more kills with the carbine over time!] []
  191.     if (strcmp $arg1 shotgun) [if $sound_on_achievement [gen_achievement_sound achievement] []; echo (c 3)You unlocked level (c 5) $cur_achievement_level (c 1)Shotgun Lunatic! (c 2)Get (c 5) $cur_shotgun_level (c 2)or more kills with the shotgun over time!] []
  192.     if (strcmp $arg1 usp) [if $sound_on_achievement [gen_achievement_sound achievement] []; echo (c 3)You unlocked level (c 5) $cur_achievement_level (c 1)Pistol Whipper! (c 2)Get (c 5) $cur_usp_level (c 2)or more kills with the pistol over time!] []
  193.     if (strcmp $arg1 bullet) [if $sound_on_achievement [gen_achievement_sound achievement] []; echo (c 3)You unlocked level (c 5) $cur_achievement_level (c 1)The Lead Wind Blows! (c 2)Fire a certain number of bullets over time!] []
  194.   ] []
  195. ]
  196. // Various plugins to native aliases/conloop to ensure automation.
  197. add2conloop [get_achievement_stats]; add2conloop [check_achievement_stats]; add2conloop [check_achievement_levels]
  198. addcheck_msa [reset_achievement_stats]
  199. addcheck_si [if $connected [+= achievement_rounds_played 1] []]
  200. // trimf - Originally "format_precision" by GeneralDisarray
  201. alias trimf [
  202.   if (listlen $arg1) [
  203.     if (<f $arg1 0) [ arg1 = (-f 0 ($arg1)); negative = 1 ] [ negative = 0 ]
  204.       divisor = 1000000000; magnitude = 9; looping = 1
  205.     while [ ($looping) ] [if (div $arg1 $divisor) [looping = 0] [divisor = (div $divisor 10); -= magnitude 1; if (< $magnitude 0) [ looping = 0 ]]]
  206.     output = ""
  207.     while [ (>= ($magnitude) 0) ] [digit = (div $arg1 $divisor); output = (concatword $output $digit); -=f arg1 (* $digit $divisor); divisor = (div $divisor 10); -= magnitude 1]
  208.     if (strcmp $output "") [ output = "0" ]; if ($negative) [ output = (concatword - $output) ]; decimals = ""
  209.     while [ ($arg2) ] [*=f arg1 10; digit = (div $arg1 1); decimals = (concatword $decimals $digit); -=f arg1 $digit; -= arg2 1]
  210.     if (listlen $decimals) [ decimals = (concatword . $decimals) ]; output = (concatword $output $decimals)
  211.     result $output
  212.   ] [result $arg1]
  213. ]
  214. // gen_achievement_alias_list - Returns a list of ALL aliases used by the script, except for saved.cfg session dependant aliases.
  215. alias gen_achievement_alias_list [
  216.   alias achievement_aliases []
  217.   add2list achievement_aliases "achievement_acts achievement_aliases achievement_aliases_2 achievement_aliases_3 achievement_aliases_4 achievement_aliases_5 achievement_sound_lengths achievement_sound_list bullets_fired check_achievement_levels check_achievement_stats gen_achievement_alias_list gen_achievement_sound get_achievement_stats give_achievement other_achievements_list have_achievement_counter make_achievement_aliases oldbf playing_achievement_sound pscounter reset_achievements reset_achievement_stats reset_all_achievements set_achievement_levels tbfired tbignore trimf weapons2ignore weaponsrof"
  218.   loop tmp_ach_loop 7 [if (= $tmp_ach_loop 2) [] [add2list achievement_aliases (at $achievement_aliases_2 $tmp_ach_loop)]]
  219.   loop tmp_ach_loop_2 3 [add2list achievement_aliases (format "level_%1_achievements_list" (+ $tmp_ach_loop_2 1)); add2list achievement_aliases (format "level_%1_others_list" (+ $tmp_ach_loop_2 1))]
  220.   loop tmp_ach_loop_3 5 [add2list achievement_aliases (format "cur_%1_level" (at $achievement_acts $tmp_ach_loop_3))]
  221.   loop tmp_ach_loop_4 11 [add2list achievement_aliases (format "cur_%1_level" (at $other_achievements_list $tmp_ach_loop_4))]
  222.   result $achievement_aliases
  223. ]
  224. // Clear all of the script's (non-saved.cfg dependant) aliases on quit.
  225. addlistonquit (gen_achievement_alias_list)
  226. // Menu stuff.
  227. newmenu [My Achievements]
  228. if $achievement_stats_top [menuitemvar [concat (c 9) (concatword $curname "'s") current achievements progress:]; menuitem [] -1; menuitemvar [concat "   " (c 4)Bullets fired: $total_bullets_fired - Enemies killed: $kills_achievement_stat - Rounds played: $achievement_rounds_played]; menuitem [] -1] []
  229. menuitemvar [if (= $cur_achievement_level 1) [concat Current difficulty: (c 0)EASY] [if (= $cur_achievement_level 2) [concat Current difficulty: (c 2)INTERMEDIATE] [concat Current difficulty: (c 3)HARD]]]
  230. menuitem [] -1
  231. menuitemvar [if (|| (= (getalias (format "gave_fragged_%1" $cur_achievement_level)) 1) (>= $cur_achievement_level 4)) [concat (c 0)UNLOCKED (c 5)- (c 1)Unstoppable (c 5)- (c 2)Get (c 5) $cur_fragged_level (c 2)frags without dying!] [if $achievement_progress_style [if $achievement_percentage_style [concat (c 1)Unstoppable (c 5)- (c 2)Get (c 5) $cur_fragged_level (c 2)frags without dying! (c 4) (concatword (trimf (*f 100.0 (divf $fragged_achievement_stat $cur_fragged_level)) $achperlen) "%")] [concat (c 1)Unstoppable (c 5)- (c 2)Get (c 5) $cur_fragged_level (c 2)frags without dying! (c 4) (concatword (* (*f 100.0 (divf $fragged_achievement_stat $cur_fragged_level)) 1) "%")]] [concat (c 1)Unstoppable (c 5)- (c 2)Get (c 5) $cur_fragged_level (c 2)frags without dying! (c 4) (concatword $fragged_achievement_stat / $cur_fragged_level)]]]
  232. menuitemvar [if (|| (= (getalias (format "gave_gibbed_%1" $cur_achievement_level)) 1) (>= $cur_achievement_level 4)) [concat (c 0)UNLOCKED (c 5)- (c 1)Grenadier (c 5)- (c 2)Get (c 5) $cur_gibbed_level (c 2)grenade gibs without dying!] [if $achievement_progress_style [if $achievement_percentage_style [concat (c 1)Grenadier (c 5)- (c 2)Get (c 5) $cur_gibbed_level (c 2)grenade gibs without dying! (c 4) (concatword (trimf (*f 100.0 (divf $gibbed_achievement_stat $cur_gibbed_level)) $achperlen) "%")] [concat (c 1)Grenadier (c 5)- (c 2)Get (c 5) $cur_gibbed_level (c 2)grenade gibs without dying! (c 4) (concatword (* (*f 100.0 (divf $gibbed_achievement_stat $cur_gibbed_level)) 1) "%")]] [concat (c 1)Grenadier (c 5)- (c 2)Get (c 5) $cur_gibbed_level (c 2)grenade gibs without dying! (c 4) (concatword $gibbed_achievement_stat / $cur_gibbed_level)]]]
  233. menuitemvar [if (|| (= (getalias (format "gave_headshot_%1" $cur_achievement_level)) 1) (>= $cur_achievement_level 4)) [concat (c 0)UNLOCKED (c 5)- (c 1)Sharp Shooter (c 5)- (c 2)Get (c 5) $cur_headshot_level (c 2)headshots without dying!] [if $achievement_progress_style [if $achievement_percentage_style [concat (c 1)Sharp Shooter (c 5)- (c 2)Get (c 5) $cur_headshot_level (c 2)headshots without dying! (c 4) (concatword (trimf (*f 100.0 (divf $headshot_achievement_stat $cur_headshot_level)) $achperlen) "%")] [concat (c 1)Sharp Shooter (c 5)- (c 2)Get (c 5) $cur_headshot_level (c 2)headshots without dying! (c 4) (concatword (* (*f 100.0 (divf $headshot_achievement_stat $cur_headshot_level)) 1) "%")]] [concat (c 1)Sharp Shooter (c 5)- (c 2)Get (c 5) $cur_headshot_level (c 2)headshots without dying! (c 4) (concatword $headshot_achievement_stat / $cur_headshot_level)]]]
  234. menuitemvar [if (|| (= (getalias (format "gave_splattered_%1" $cur_achievement_level)) 1) (>= $cur_achievement_level 4)) [concat (c 0)UNLOCKED (c 5)- (c 1)Noob Cannon (c 5)- (c 2)Get (c 5) $cur_splattered_level (c 2)shotgun splatters without dying!] [if $achievement_progress_style [if $achievement_percentage_style [concat (c 1)Noob Cannon (c 5)- (c 2)Get (c 5) $cur_splattered_level (c 2)shotgun splatters without dying! (c 4) (concatword (trimf (*f 100.0 (divf $splattered_achievement_stat $cur_splattered_level)) $achperlen) "%")] [concat (c 1)Noob Cannon (c 5)- (c 2)Get (c 5) $cur_splattered_level (c 2)shotgun splatters without dying! (c 4) (concatword (* (*f 100.0 (divf $splattered_achievement_stat $cur_splattered_level)) 1) "%")]] [concat (c 1)Noob Cannon (c 5)- (c 2)Get (c 5) $cur_splattered_level (c 2)shotgun splatters without dying! (c 4) (concatword $splattered_achievement_stat / $cur_splattered_level)]]]
  235. menuitemvar [if (|| (= (getalias (format "gave_ratio_%1" $cur_achievement_level)) 1) (>= $cur_achievement_level 4)) [concat (c 0)UNLOCKED (c 5)- (c 1)Ratio Whore (c 5)- (c 2)Get a (c 5) $cur_ratio_level (c 2)or higher ratio!] [if $achievement_progress_style [if $achievement_percentage_style [concat (c 1)Ratio Whore (c 5)- (c 2)Get a (c 5) $cur_ratio_level (c 2)or higher ratio! (c 4) (concatword (trimf (*f 100.0 (divf (curratio (findcn $curname)) $cur_ratio_level)) $achperlen) "%")] [concat (c 1)Ratio Whore (c 5)- (c 2)Get a (c 5) $cur_ratio_level (c 2)or higher ratio! (c 4) (concatword (* (*f 100.0 (divf (curratio (findcn $curname)) $cur_ratio_level)) 1) "%")]] [concat (c 1)Ratio Whore (c 5)- (c 2)Get a (c 5) $cur_ratio_level (c 2)or higher ratio! (c 4) (concatword (curratio (findcn $curname)) / $cur_ratio_level)]]]
  236. menuitemvar [if (|| (= (getalias (format "gave_flag_%1" $cur_achievement_level)) 1) (>= $cur_achievement_level 4)) [concat (c 0)UNLOCKED (c 5)- (c 1)Flag Runner (c 5)- (c 2)Get (c 5) $cur_flag_level (c 2)or more flags in a single round!] [if $achievement_progress_style [if $achievement_percentage_style [concat (c 1)Flag Runner (c 5)- (c 2)Get (c 5) $cur_flag_level (c 2)or more flags in a single round! (c 4) (concatword (trimf (*f 100.0 (divf (at (pstat_score (findcn $curname)) 0) $cur_flag_level)) $achperlen) "%")] [concat (c 1)Flag Runner (c 5)- (c 2)Get (c 5) $cur_flag_level (c 2)or more flags in a single round! (c 4) (concatword (* (*f 100.0 (divf (at (pstat_score (findcn $curname)) 0) $cur_flag_level)) 1) "%")]] [concat (c 1)Flag Runner (c 5)- (c 2)Get (c 5) $cur_flag_level (c 2)or more flags in a single round! (c 4) (concatword (at (pstat_score (findcn $curname)) 0) / $cur_flag_level)]]]
  237. menuitemvar [if (|| (= (getalias (format "gave_killstreak_%1" $cur_achievement_level)) 1) (>= $cur_achievement_level 4)) [concat (c 0)UNLOCKED (c 5)- (c 1)Rampage (c 5)- (c 2)Get a (c 5) $cur_killstreak_level (c 2)or higher kill streak without dying!] [if $achievement_progress_style [if $achievement_percentage_style [concat (c 1)Rampage (c 5)- (c 2)Get a (c 5) $cur_killstreak_level (c 2)or higher kill streak without dying! (c 4) (concatword (trimf (*f 100.0 (divf $killstreak_achievement_stat $cur_killstreak_level)) $achperlen) "%")] [concat (c 1)Rampage (c 5)- (c 2)Get a (c 5) $cur_killstreak_level (c 2)or higher kill streak without dying! (c 4) (concatword (* (*f 100.0 (divf $killstreak_achievement_stat $cur_killstreak_level)) 1) "%")]] [concat (c 1)Rampage (c 5)- (c 2)Get a (c 5) $cur_killstreak_level (c 2)or higher kill streak without dying! (c 4) (concatword $killstreak_achievement_stat / $cur_killstreak_level)]]]
  238. menuitemvar [if (|| (= (getalias (format "gave_akimbo_%1" $cur_achievement_level)) 1) (>= $cur_achievement_level 4)) [concat (c 0)UNLOCKED (c 5)- (c 1)Akimbo Madman (c 5)- (c 2)Get (c 5) $cur_akimbo_level (c 2)or more kills with the akimbo without dying!] [if $achievement_progress_style [if $achievement_percentage_style [concat (c 1)Akimbo Madman (c 5)- (c 2)Get (c 5) $cur_akimbo_level (c 2)or more kills with the akimbo without dying! (c 4) (concatword (trimf (*f 100.0 (divf $akimbo_achievement_stat $cur_akimbo_level)) $achperlen) "%")] [concat (c 1)Akimbo Madman (c 5)- (c 2)Get (c 5) $cur_akimbo_level (c 2)or more kills with the akimbo without dying! (c 4) (concatword (* (*f 100.0 (divf $akimbo_achievement_stat $cur_akimbo_level)) 1) "%")]] [concat (c 1)Akimbo Madman (c 5)- (c 2)Get (c 5) $cur_akimbo_level (c 2)or more kills with the akimbo without dying! (c 4) (concatword $akimbo_achievement_stat / $cur_akimbo_level)]]]
  239. menuitemvar [if (|| (= (getalias (format "gave_slashed_%1" $cur_achievement_level)) 1) (>= $cur_achievement_level 4)) [concat (c 0)UNLOCKED (c 5)- (c 1)Knife Specialist (c 5)- (c 2)Get (c 5) $cur_slashed_level (c 2)or more knife gibs over time!] [if $achievement_progress_style [if $achievement_percentage_style [concat (c 1)Knife Specialist (c 5)- (c 2)Get (c 5) $cur_slashed_level (c 2)or more knife gibs over time! (c 4) (concatword (trimf (*f 100.0 (divf $slashed_achievement_stat $cur_slashed_level)) $achperlen) "%")] [concat (c 1)Knife Specialist (c 5)- (c 2)Get (c 5) $cur_slashed_level (c 2)or more knife gibs over time! (c 4) (concatword (* (*f 100.0 (divf $slashed_achievement_stat $cur_slashed_level)) 1) "%")]] [concat (c 1)Knife Specialist (c 5)- (c 2)Get (c 5) $cur_slashed_level (c 2)or more knife gibs over time! (c 4) (concatword $slashed_achievement_stat / $cur_slashed_level)]]]
  240. menuitemvar [if (|| (= (getalias (format "gave_assault_%1" $cur_achievement_level)) 1) (>= $cur_achievement_level 4)) [concat (c 0)UNLOCKED (c 5)- (c 1)AR Marksman (c 5)- (c 2)Get (c 5) $cur_assault_level (c 2)or more kills with the assault rifle over time!] [if $achievement_progress_style [if $achievement_percentage_style [concat (c 1)AR Marksman (c 5)- (c 2)Get (c 5) $cur_assault_level (c 2)or more kills with the assault rifle over time! (c 4) (concatword (trimf (*f 100.0 (divf $assault_achievement_stat $cur_assault_level)) $achperlen) "%")] [concat (c 1)AR Marksman (c 5)- (c 2)Get (c 5) $cur_assault_level (c 2)or more kills with the assault rifle over time! (c 4) (concatword (* (*f 100.0 (divf $assault_achievement_stat $cur_assault_level)) 1) "%")]] [concat (c 1)AR Marksman (c 5)- (c 2)Get (c 5) $cur_assault_level (c 2)or more kills with the assault rifle over time! (c 4) (concatword $assault_achievement_stat / $cur_assault_level)]]]
  241. menuitemvar [if (|| (= (getalias (format "gave_sub_%1" $cur_achievement_level)) 1) (>= $cur_achievement_level 4)) [concat (c 0)UNLOCKED (c 5)- (c 1)SMG Massacre (c 5)- (c 2)Get (c 5) $cur_sub_level (c 2)or more kills with the sub machine gun over time!] [if $achievement_progress_style [if $achievement_percentage_style [concat (c 1)SMG Massacre (c 5)- (c 2)Get (c 5) $cur_sub_level (c 2)or more kills with the sub machine gun over time! (c 4) (concatword (trimf (*f 100.0 (divf $sub_achievement_stat $cur_sub_level)) $achperlen) "%")] [concat (c 1)SMG Massacre (c 5)- (c 2)Get (c 5) $cur_sub_level (c 2)or more kills with the sub machine gun over time! (c 4) (concatword (* (*f 100.0 (divf $sub_achievement_stat $cur_sub_level)) 1) "%")]] [concat (c 1)SMG Massacre (c 5)- (c 2)Get (c 5) $cur_sub_level (c 2)or more kills with the sub machine gun over time! (c 4) (concatword $sub_achievement_stat / $cur_sub_level)]]]
  242. menuitemvar [if (|| (= (getalias (format "gave_sniper_%1" $cur_achievement_level)) 1) (>= $cur_achievement_level 4)) [concat (c 0)UNLOCKED (c 5)- (c 1)Pro Sniper (c 5)- (c 2)Get (c 5) $cur_sniper_level (c 2)or more kills with the sniper rifle over time!] [if $achievement_progress_style [if $achievement_percentage_style [concat (c 1)Pro Sniper (c 5)- (c 2)Get (c 5) $cur_sniper_level (c 2)or more kills with the sniper rifle over time! (c 4) (concatword (trimf (*f 100.0 (divf $sniper_achievement_stat $cur_sniper_level)) $achperlen) "%")] [concat (c 1)Pro Sniper (c 5)- (c 2)Get (c 5) $cur_sniper_level (c 2)or more kills with the sniper rifle over time! (c 4) (concatword (* (*f 100.0 (divf $sniper_achievement_stat $cur_sniper_level)) 1) "%")]] [concat (c 1)Pro Sniper (c 5)- (c 2)Get (c 5) $cur_sniper_level (c 2)or more kills with the sniper rifle over time! (c 4) (concatword $sniper_achievement_stat / $cur_sniper_level)]]]
  243. menuitemvar [if (|| (= (getalias (format "gave_carbine_%1" $cur_achievement_level)) 1) (>= $cur_achievement_level 4)) [concat (c 0)UNLOCKED (c 5)- (c 1)Carbine Rage (c 5)- (c 2)Get (c 5) $cur_carbine_level (c 2)or more kills with the carbine over time!] [if $achievement_progress_style [if $achievement_percentage_style [concat (c 1)Carbine Rage (c 5)- (c 2)Get (c 5) $cur_carbine_level (c 2)or more kills with the carbine over time! (c 4) (concatword (trimf (*f 100.0 (divf $carbine_achievement_stat $cur_carbine_level)) $achperlen) "%")] [concat (c 1)Carbine Rage (c 5)- (c 2)Get (c 5) $cur_carbine_level (c 2)or more kills with the carbine over time! (c 4) (concatword (* (*f 100.0 (divf $carbine_achievement_stat $cur_carbine_level)) 1) "%")]] [concat (c 1)Carbine Rage (c 5)- (c 2)Get (c 5) $cur_carbine_level (c 2)or more kills with the carbine over time! (c 4) (concatword $carbine_achievement_stat / $cur_carbine_level)]]]
  244. menuitemvar [if (|| (= (getalias (format "gave_shotgun_%1" $cur_achievement_level)) 1) (>= $cur_achievement_level 4)) [concat (c 0)UNLOCKED (c 5)- (c 1)Shotgun Lunatic (c 5)- (c 2)Get (c 5) $cur_shotgun_level (c 2)or more kills with the shotgun over time!] [if $achievement_progress_style [if $achievement_percentage_style [concat (c 1)Shotgun Lunatic (c 5)- (c 2)Get (c 5) $cur_shotgun_level (c 2)or more kills with the shotgun over time! (c 4) (concatword (trimf (*f 100.0 (divf $shotgun_achievement_stat $cur_shotgun_level)) $achperlen) "%")] [concat (c 1)Shotgun Lunatic (c 5)- (c 2)Get (c 5) $cur_shotgun_level (c 2)or more kills with the shotgun over time! (c 4) (concatword (* (*f 100.0 (divf $shotgun_achievement_stat $cur_shotgun_level)) 1) "%")]] [concat (c 1)Shotgun Lunatic (c 5)- (c 2)Get (c 5) $cur_shotgun_level (c 2)or more kills with the shotgun over time! (c 4) (concatword $shotgun_achievement_stat / $cur_shotgun_level)]]]
  245. menuitemvar [if (|| (= (getalias (format "gave_usp_%1" $cur_achievement_level)) 1) (>= $cur_achievement_level 4)) [concat (c 0)UNLOCKED (c 5)- (c 1)Pistol Whipper (c 5)- (c 2)Get (c 5) $cur_usp_level (c 2)or more kills with the pistol over time!] [if $achievement_progress_style [if $achievement_percentage_style [concat (c 1)Pistol Whipper (c 5)- (c 2)Get (c 5) $cur_usp_level (c 2)or more kills with the pistol over time! (c 4) (concatword (trimf (*f 100.0 (divf $usp_achievement_stat $cur_usp_level)) $achperlen) "%")] [concat (c 1)Pistol Whipper (c 5)- (c 2)Get (c 5) $cur_usp_level (c 2)or more kills with the pistol over time! (c 4) (concatword (* (*f 100.0 (divf $usp_achievement_stat $cur_usp_level)) 1) "%")]] [concat (c 1)Pistol Whipper (c 5)- (c 2)Get (c 5) $cur_usp_level (c 2)or more kills with the pistol over time! (c 4) (concatword $usp_achievement_stat / $cur_usp_level)]]]
  246. menuitemvar [if (|| (= (getalias (format "gave_bullet_%1" $cur_achievement_level)) 1) (>= $cur_achievement_level 4)) [concat (c 0)UNLOCKED (c 5)- (c 1)The Lead Wind Blows (c 5)- (c 2)Fire a certain amount bullets over time!] [if $achievement_percentage_style [concat (c 1)The Lead Wind Blows (c 5)- (c 2)Fire a certain amount of bullets over time! (c 4) (concatword (trimf (*f 100.0 (divf $bullet_achievement_stat $cur_bullet_level)) $achperlen) "%")] [concat (c 1)The Lead Wind Blows (c 5)- (c 2)Fire a certain amount of bullets over time! (c 4) (concatword (* (*f 100.0 (divf $bullet_achievement_stat $cur_bullet_level)) 1) "%")]]]
  247. menuitemvar [if (= $gave_pwned_bukz 1) [concat (c 0)UNLOCKED (c 5)- (c 1)Pwn Bukz (c 5)- (c 2)Beat the achievements script (c 5)3 (c 2)or more times!] []]
  248. menuitem [] -1
  249. menuitemvar [if (= $achievements_counter 0) [concat (c 4)You beat the achievements script (c 3) $achievements_counter (c 4)times.] [if (= $achievements_counter 1) [concat (c 4)You beat the achievements script (c 5) $achievements_counter (c 4)times.] [if (= $achievements_counter 2) [concat (c 4)You beat the achievements script (c 2) $achievements_counter (c 4)times.] [concat (c 4)You beat the achievements script (c 0) $achievements_counter (c 4)times.]]]]
  250. menuitem [] -1
  251. menuitemvar [concat (c 2)Achievements settings] [showmenu "Achievements Script Settings"]
  252. menuitemvar [concat (c 3)Reset achievements progress] [showmenu "Confirm Achievements Reset"]
  253. newmenu [Achievements Script Settings]
  254. menuitemkeyinput [Achievements menu key to bind: ] [showmenu "My Achievements"]
  255. menuitemslider [Stats on top of achievements menu: ] 0 1 [$achievement_stats_top] 1 ["disabled" "enabled"] [achievement_stats_top = $arg1; echo (c 3)This setting requires a restart to take effect.]
  256. menuitemslider [Add achievements menu to main menu: ] 0 1 [$add_achievements_main] 1 ["no" "yes"] [add_achievements_main = $arg1; echo (c 3)This setting requires a restart to take effect.]
  257. menuitemslider [Add achievements menu to in-game menu: ] 0 1 [$add_achievements_ingame] 1 ["no" "yes"] [add_achievements_ingame = $arg1; echo (c 3)This setting requires a restart to take effect.]
  258. menuitemslider [Achievements percentage style: ] 0 1 [$achievement_percentage_style] 1 ["default (rounded whole numbers)" "floating point"] [achievement_percentage_style = $arg1; echo (c 3)This setting requires a restart to take effect.]
  259. menuitemslider [# of decimal places on percentages: ] 1 5 [$achperlen] 1 [] [achperlen = $arg1; echo (c 3)This setting requires a restart to take effect.]
  260. menuitemslider [Achievements progress style: ] 0 1 [$achievement_progress_style] 1 ["default" "percentages"] [achievement_progress_style = $arg1; echo (c 3)This setting requires a restart to take effect.]
  261. menuitemslider [Show killstreak messages: ] 0 1 [$show_killstreak_switch] 1 ["no" "yes"] [show_killstreak_switch = $arg1]
  262. menuitemslider [On achievement sounds: ] 0 1 [$sound_on_achievement] 1 ["disabled" "enabled"] [sound_on_achievement = $arg1]
  263. menuitemslider [On level up sound: ] 0 1 [$sound_on_levelup] 1 ["disabled" "enabled"] [sound_on_levelup = $arg1]
  264. menuitemslider [Achievement sounds voice style: ] 0 1 [$achievement_sound_style] 1 ["female" "male"] [achievement_sound_style = $arg1]
  265. menuitem [] -1
  266. menuitemvar [concat (c 4)OK] [closemenu "Achievements Script Settings"; sleep 0 [closemenu "My Achievements"]]
  267. newmenu [Confirm Achievements Reset]
  268. menuitemvar [concat (c 2)Are you sure you want to reset (c 3)ALL (c 2)of your achievements progress?]
  269. menuitem [] -1
  270. menuitemvar [concat (c 0)Yes] [reset_achievements; closemenu "Confirm Achievements Reset"; sleep 0 [showmenu "My Achievements"]]
  271. menuitemvar [concat (c 3)No] [closemenu "Confirm Achievements Reset"; sleep 0 [closemenu "My Achievements"]]
  272. add2menu Misc [menuitemvar [concat (c 2)Achievements Script Settings] [showmenu "Achievements Script Settings"]]
  273. if $add_achievements_main [add2mainmenu [menuitemvar [concat (c 0)Achievements] [showmenu "My Achievements"]]] []
  274. if $add_achievements_ingame [add2menu "In-game" [menuitemvar [concat (c 0)Achievements] [showmenu "My Achievements"]]] []
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement