daily pastebin goal
41%
SHARE
TWEET

Untitled

a guest Jan 29th, 2018 55 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. local mod_name = "WeaponModel"
  2. local mod = {}
  3.  
  4. mod.loaded = {}
  5.  
  6. mod.load_package_name = function(package_name)
  7.     if mod.loaded[package_name] == nil then
  8.         -- Get Package
  9.         local resource_handle = Application.resource_package(package_name)
  10.        
  11.         -- Load package
  12.         ResourcePackage.load(resource_handle)
  13.         ResourcePackage.flush(resource_handle)
  14.        
  15.         -- Wait till package is loaded
  16.         while not ResourcePackage.has_loaded(resource_handle) do
  17.            
  18.         end
  19.        
  20.         -- Update Package Manager
  21.         Managers.package._packages[package_name] = resource_handle
  22.         Managers.package._references[package_name] = {}
  23.         Managers.package._references[package_name]["InventoryPackageSynchronizerClient"] = true
  24.        
  25.         mod.loaded[package_name] = true
  26.     end
  27. end
  28.  
  29. mod.update_package_name = function(package_name)
  30.     --[[
  31.     ]]--
  32.     if package_name == "units/weapons/player/wpn_brw_sword_01_t1/wpn_brw_flaming_sword_01_t1_3p" then
  33.         package_name = "units/weapons/player/wpn_brw_sword_04_t2/wpn_brw_flaming_sword_04_t2_3p"
  34.        
  35.         mod.load_package_name(package_name)
  36.     elseif package_name == "units/weapons/player/wpn_brw_sword_01_t1/wpn_brw_flaming_sword_01_t1" then
  37.         package_name = "units/weapons/player/wpn_brw_sword_04_t2/wpn_brw_flaming_sword_04_t2"
  38.        
  39.         mod.load_package_name(package_name)
  40.     end
  41.    
  42.     return package_name
  43. end
  44.  
  45. -- ####################################################################################################################
  46. -- ##### Hook #########################################################################################################
  47. -- ####################################################################################################################
  48. Mods.hook.set(mod_name, "PackageManager.load", function (func, self, package_name, ...)
  49.     -- Debug
  50.     --EchoConsole("PackageManager.load")
  51.     --EchoConsole("before: package_name = " .. tostring(package_name))
  52.    
  53.     package_name = mod.update_package_name(package_name)
  54.    
  55.     -- Debug
  56.     --EchoConsole("after: package_name = " .. tostring(package_name))
  57.    
  58.     return func(self, package_name, ...)
  59. end)
  60. Mods.hook.front(mod_name, "PackageManager.load")
  61.  
  62. Mods.hook.set(mod_name, "PackageManager.force_load", function (func, self, package_name)
  63.     -- new package name
  64.     package_name = mod.update_package_name(package_name)
  65.    
  66.     return func(self, package_name)
  67. end)
  68. Mods.hook.front(mod_name, "PackageManager.force_load")
  69.  
  70. Mods.hook.set(mod_name, "PackageManager.force_load_queued_package", function (func, self, package_name)
  71.     -- new package name
  72.     package_name = mod.update_package_name(package_name)
  73.    
  74.     return func(self, package_name)
  75. end)
  76. Mods.hook.front(mod_name, "PackageManager.force_load_queued_package")
  77.  
  78. Mods.hook.set(mod_name, "PackageManager.unload", function (func, self, package_name, ...)
  79.     -- new package name
  80.     package_name = mod.update_package_name(package_name)
  81.    
  82.     if mod.loaded[package_name] == nil then
  83.         if self._references[package_name] then
  84.             func(self, package_name, ...)
  85.         end
  86.     end
  87. end)
  88. Mods.hook.front(mod_name, "PackageManager.unload")
  89.  
  90. Mods.hook.set(mod_name, "PackageManager.can_unload", function (func, self, package_name)
  91.     -- new package name
  92.     package_name = mod.update_package_name(package_name)
  93.    
  94.     return func(self, package_name)
  95. end)
  96. Mods.hook.front(mod_name, "PackageManager.can_unload")
  97.  
  98. Mods.hook.set(mod_name, "PackageManager.is_loading", function (func, self, package_name)
  99.     -- new package name
  100.     package_name = mod.update_package_name(package_name)
  101.    
  102.     return func(self, package_name)
  103. end)
  104. Mods.hook.front(mod_name, "PackageManager.is_loading")
  105.  
  106. Mods.hook.set(mod_name, "PackageManager.has_loaded", function (func, self, package_name, ...)
  107.     -- new package name
  108.     package_name = mod.update_package_name(package_name)
  109.    
  110.     return func(self, package_name, ...)
  111. end)
  112. Mods.hook.front(mod_name, "PackageManager.has_loaded")
  113.  
  114. Mods.hook.set(mod_name, "World.spawn_unit", function (func, self, package_name, ...)
  115.     -- Debug
  116.     --EchoConsole("World.spawn_unit")
  117.     --EchoConsole("before: package_name = " .. tostring(package_name))
  118.    
  119.     package_name = mod.update_package_name(package_name)
  120.    
  121.     -- Debug
  122.     --EchoConsole("after: package_name = " .. tostring(package_name))
  123.    
  124.     -- Debug
  125.     --local f = io.open("weapon.txt", "a")
  126.     --f:write(package_name .. "\n")
  127.     --f:close()
  128.    
  129.     return func(self, package_name, ...)
  130. end)
  131. Mods.hook.front(mod_name, "World.spawn_unit")
  132.  
  133. -- ####################################################################################################################
  134. -- ##### Start ########################################################################################################
  135. -- ####################################################################################################################
RAW Paste Data
Pastebin PRO WINTER Special!
Get 40% OFF Pastebin PRO accounts!
Top