SHARE
TWEET
Untitled
a guest
Jan 29th, 2018
55
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
- local mod_name = "WeaponModel"
- local mod = {}
- mod.loaded = {}
- mod.load_package_name = function(package_name)
- if mod.loaded[package_name] == nil then
- -- Get Package
- local resource_handle = Application.resource_package(package_name)
- -- Load package
- ResourcePackage.load(resource_handle)
- ResourcePackage.flush(resource_handle)
- -- Wait till package is loaded
- while not ResourcePackage.has_loaded(resource_handle) do
- end
- -- Update Package Manager
- Managers.package._packages[package_name] = resource_handle
- Managers.package._references[package_name] = {}
- Managers.package._references[package_name]["InventoryPackageSynchronizerClient"] = true
- mod.loaded[package_name] = true
- end
- end
- mod.update_package_name = function(package_name)
- --[[
- ]]--
- if package_name == "units/weapons/player/wpn_brw_sword_01_t1/wpn_brw_flaming_sword_01_t1_3p" then
- package_name = "units/weapons/player/wpn_brw_sword_04_t2/wpn_brw_flaming_sword_04_t2_3p"
- mod.load_package_name(package_name)
- elseif package_name == "units/weapons/player/wpn_brw_sword_01_t1/wpn_brw_flaming_sword_01_t1" then
- package_name = "units/weapons/player/wpn_brw_sword_04_t2/wpn_brw_flaming_sword_04_t2"
- mod.load_package_name(package_name)
- end
- return package_name
- end
- -- ####################################################################################################################
- -- ##### Hook #########################################################################################################
- -- ####################################################################################################################
- Mods.hook.set(mod_name, "PackageManager.load", function (func, self, package_name, ...)
- -- Debug
- --EchoConsole("PackageManager.load")
- --EchoConsole("before: package_name = " .. tostring(package_name))
- package_name = mod.update_package_name(package_name)
- -- Debug
- --EchoConsole("after: package_name = " .. tostring(package_name))
- return func(self, package_name, ...)
- end)
- Mods.hook.front(mod_name, "PackageManager.load")
- Mods.hook.set(mod_name, "PackageManager.force_load", function (func, self, package_name)
- -- new package name
- package_name = mod.update_package_name(package_name)
- return func(self, package_name)
- end)
- Mods.hook.front(mod_name, "PackageManager.force_load")
- Mods.hook.set(mod_name, "PackageManager.force_load_queued_package", function (func, self, package_name)
- -- new package name
- package_name = mod.update_package_name(package_name)
- return func(self, package_name)
- end)
- Mods.hook.front(mod_name, "PackageManager.force_load_queued_package")
- Mods.hook.set(mod_name, "PackageManager.unload", function (func, self, package_name, ...)
- -- new package name
- package_name = mod.update_package_name(package_name)
- if mod.loaded[package_name] == nil then
- if self._references[package_name] then
- func(self, package_name, ...)
- end
- end
- end)
- Mods.hook.front(mod_name, "PackageManager.unload")
- Mods.hook.set(mod_name, "PackageManager.can_unload", function (func, self, package_name)
- -- new package name
- package_name = mod.update_package_name(package_name)
- return func(self, package_name)
- end)
- Mods.hook.front(mod_name, "PackageManager.can_unload")
- Mods.hook.set(mod_name, "PackageManager.is_loading", function (func, self, package_name)
- -- new package name
- package_name = mod.update_package_name(package_name)
- return func(self, package_name)
- end)
- Mods.hook.front(mod_name, "PackageManager.is_loading")
- Mods.hook.set(mod_name, "PackageManager.has_loaded", function (func, self, package_name, ...)
- -- new package name
- package_name = mod.update_package_name(package_name)
- return func(self, package_name, ...)
- end)
- Mods.hook.front(mod_name, "PackageManager.has_loaded")
- Mods.hook.set(mod_name, "World.spawn_unit", function (func, self, package_name, ...)
- -- Debug
- --EchoConsole("World.spawn_unit")
- --EchoConsole("before: package_name = " .. tostring(package_name))
- package_name = mod.update_package_name(package_name)
- -- Debug
- --EchoConsole("after: package_name = " .. tostring(package_name))
- -- Debug
- --local f = io.open("weapon.txt", "a")
- --f:write(package_name .. "\n")
- --f:close()
- return func(self, package_name, ...)
- end)
- Mods.hook.front(mod_name, "World.spawn_unit")
- -- ####################################################################################################################
- -- ##### Start ########################################################################################################
- -- ####################################################################################################################
RAW Paste Data

