Skip to content

Instantly share code, notes, and snippets.

@kkspeed
Created November 24, 2015 04:54
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/83506a216b7d6bcd7a5d to your computer and use it in GitHub Desktop.
Save kkspeed/83506a216b7d6bcd7a5d to your computer and use it in GitHub Desktop.
More Weapon Stats menumanager.lua
-- More Weapon Stats menumanager.lua
-- by TdlQ and KarateF22
-- at http://paydaymods.com/mods/138/MWS
_G.MoreWeaponStats = _G.MoreWeaponStats or {}
MoreWeaponStats._path = ModPath
MoreWeaponStats._data_path = SavePath .. "more_weapon_stats.txt"
MoreWeaponStats.settings = {
show_dlc_info = true,
separate_extended_stats = false,
show_spread_and_recoil = true,
}
function MoreWeaponStats:Load()
local file = io.open(self._data_path, "r")
if file then
for k, v in pairs(json.decode(file:read("*all")) or {}) do
self.settings[k] = v
end
file:close()
end
end
function MoreWeaponStats:Save()
local file = io.open(self._data_path, "w+")
if file then
file:write(json.encode(self.settings))
file:close()
end
end
Hooks:Add("LocalizationManagerPostInit", "LocalizationManagerPostInit_MoreWeaponStats", function(loc)
for _, filename in pairs(file.GetFiles(MoreWeaponStats._path .. "loc/")) do
local str = filename:match('^(.*).txt$')
if str and Idstring(str) and Idstring(str):key() == SystemInfo:language():key() then
loc:load_localization_file(MoreWeaponStats._path .. "loc/" .. filename)
break
end
end
loc:load_localization_file(MoreWeaponStats._path .. "loc/english.txt", false)
end)
Hooks:Add("MenuManagerInitialize", "MenuManagerInitialize_MoreWeaponStats", function(menu_manager)
MenuCallbackHandler.MoreWeaponStatsShowDLCInfo = function(this, item)
MoreWeaponStats.settings.show_dlc_info = item:value() == "on" and true or false
end
MenuCallbackHandler.MoreWeaponStatsSeparateExtendedStats = function(this, item)
MoreWeaponStats.settings.separate_extended_stats = item:value() == "on" and true or false
end
MenuCallbackHandler.MoreWeaponStatsShowSpreadAndRecoil = function(this, item)
MoreWeaponStats.settings.show_spread_and_recoil = item:value() == "on" and true or false
end
MenuCallbackHandler.MoreWeaponStatsSave = function(this, item)
MoreWeaponStats:Save()
end
MoreWeaponStats:Load()
MenuHelper:LoadFromJsonFile(MoreWeaponStats._path .. "menu/options.txt", MoreWeaponStats, MoreWeaponStats.settings)
end)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment