Skip to content

Instantly share code, notes, and snippets.

@kkspeed
Created November 24, 2015 04:53
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kkspeed/0c4434dd4be3c4193406 to your computer and use it in GitHub Desktop.
Save kkspeed/0c4434dd4be3c4193406 to your computer and use it in GitHub Desktop.
Moonscript implemenation of More Weapon Stats's menumanager
-- More Weapon Stats Moonscript Trial
-- orignally modified from menumanager.lua from TdlQ and KarateF22's MoreWeaponStats
-- at http://paydaymods.com/mods/138/MWS
-- translated into moonscript by kkspeed
class MoreWeaponStats extends _G.MoreWeaponStats
@_path = ModPath
@_data_path = "#{SavePath}more_weapon_stats.txt"
@settings = {
show_dlc_info: true,
separate_extended_stats: false,
show_spread_and_recoil: true
}
@Load: =>
file = io.open @_data_path, "r"
if file
for k, v in pairs (json.decode (file\read("*all")) or {})
@settings[k] = v
file\close!
@Save: =>
file = io.open @_data_path, "w+"
if file
file\write (json.encode @settings)
file\close!
nil
_G.MoreWeaponStats = MoreWeaponStats
Hooks\Add "LocalizationManagerPostInit",
"LocalizationManagerPostInit_MoreWeaponStats",
(loc) ->
for _, filename in pairs (file.GetFiles "#{MoreWeaponStats._path}loc/")
str = filename\match "^(.*).txt$"
if str and (Idstring str) and (Idstring str)\key! == SystemInfo\language!\key!
loc\load_localization_file "#{MoreWeaponStats._path}loc/#{filename}"
break
loc\load_localization_file "#{MoreWeaponStats._path}loc/english.txt", false
Hooks\Add "MenuManagerInitialize",
"MenuManagerInitialize_MoreWeaponStats",
(menu_manager) ->
with MenuCallbackHandler
.MoreWeaponStatsShowDLCInfo = (this, item) ->
MoreWeaponStats.settings.show_dlc_info = item\value! == "on"
.MoreWeaponStatsSeparateExtendedStats = (this, item) ->
MoreWeaponStats.settings.separate_extended_stats = item\value! == "on"
.MoreWeaponStatsShowSpreadAndRecoil = (this, item) ->
MoreWeaponStats.settings.show_spread_and_recoil = item\value! == "on"
.MoreWeaponStatsSave = (this, item) ->
MoreWeaponStats\Save!
MoreWeaponStats\Load!
MenuHelper\LoadFromJsonFile "#{MoreWeaponStats._path}menu/options.txt",
MoreWeaponStats, MoreWeaponStats.settings
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment