Guest User

Payday 2 Module ''Walk through invisible walls'' by Mayzone

a guest
Jan 3rd, 2026
31
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 9.00 KB | Gaming | 0 0
  1.     local vis = _G.VIS
  2.     local menu = vis.menu
  3.     local Utils = vis:import("Utils")
  4.     local class_name = vis:name_class(debug.getinfo(1).source)
  5.     local loaded = rawget(menu, class_name)
  6.     local c = loaded or rawset(menu, class_name, {is_toggle = true, orig_bullet_slotmask = {}, collisions = {
  7.             --["29d0139549a54de7"] = true,
  8.             --["53a9a98f72835230"] = true,  --regular collisions
  9.             --["63be2c801283f573"] = true,
  10.             --["673cff4d49da2368"] = true,  --vehicle collisions(blocks players too)
  11.             --["86efb80bf784046f"] = true,
  12.             --["e8fe662bb4d262d3"] = true,
  13.             ["276de19dc5541f30"] = true, --units/dev_tools/level_tools/dev_collision_1m_2
  14.             ["e379cc9592197cd8"] = true, --units/dev_tools/level_tools/dev_collision_1m_2_bag
  15.             ["8f3cb89b79b42ec4"] = true, --units/dev_tools/level_tools/dev_collision_4m
  16.             ["6cdb4f6f58ec4fa8"] = true, --units/dev_tools/level_tools/dev_collision_4m_bag
  17.             ["7ae8fcbfe6a00f7b"] = true, --units/dev_tools/level_tools/dev_collision_5m
  18.             ["85462a64da94ee78"] = true, --units/dev_tools/level_tools/dev_collision_5m_bag
  19.             ["7a4c85917d8d8323"] = true, --units/dev_tools/level_tools/dev_collision_10m
  20.             ["b37a4188fde4c161"] = true, --units/dev_tools/level_tools/dev_collision_10m_bag
  21.             ["7b91ae618eadbe49"] = true, --units/dev_tools/level_tools/dev_nav_blocker_vehicle_sedan
  22.             ["01c78e4ef0340674"] = true, --units/dev_tools/level_tools/navigation_blocker
  23.             ["adea0368e2fee02b"] = true, --units/dev_tools/level_tools/navigation_blocker_1
  24.             ["42370b3a7b92f537"] = true, --units/dev_tools/level_tools/navigation_blocker_10
  25.             ["39d0838c190f1540"] = true, --units/dev_tools/level_tools/navigation_blocker_20
  26.             ["cacb76e8e1d7e2f3"] = true, --units/dev_tools/level_tools/navigation_blocker_50
  27.             ["c746af9ae100c837"] = true, --units/dev_tools/level_tools/navigation_blocker_hlf
  28.             ["75baea8dccabc8d5"] = true, --units/dev_tools/level_tools/dev_bag_collision/dev_bag_collision_1x1m
  29.             ["4027cbad1f8d5b37"] = true, --units/dev_tools/level_tools/dev_bag_collision/dev_bag_collision_1x3m
  30.             ["9b2fcf39f23e2344"] = true, --units/dev_tools/level_tools/dev_bag_collision/dev_bag_collision_4x3m
  31.             ["d678a2a41e3f1bfb"] = true, --units/dev_tools/level_tools/dev_bag_collision/dev_bag_collision_4x32m
  32.             ["0fe54fe3af59d86c"] = true, --units/dev_tools/level_tools/dev_bag_collision/dev_bag_collision_8x3m
  33.             ["2854ee0748613f72"] = true, --units/dev_tools/level_tools/dev_bag_collision/dev_bag_collision_8x32m
  34.             ["16dde5dd77259b35"] = true, --units/dev_tools/level_tools/dev_bag_collision/dev_bag_collision_16x32m
  35.             ["8969155cb42a67cc"] = true, --units/dev_tools/level_tools/dev_bag_collision/dev_bag_collision_64x32m
  36.             ["c5c4442c5e147cb0"] = true, --units/dev_tools/level_tools/collision/dev_collision_1m/dev_collision_1m
  37.             ["9eda9e73ac0ef710"] = true, --units/dev_tools/level_tools/collision/dev_collision_1m/dev_collision_1m_bag
  38.             ["673ea142d68175df"] = true, --units/dev_tools/level_tools/collision/dev_collision_20m/dev_collision_20m
  39.             ["260a42b4809c08dc"] = true, --units/dev_tools/level_tools/collision/dev_collision_20m/dev_collision_20m_bag
  40.             ["9d8b22836aa015ed"] = true, --units/dev_tools/level_tools/collision/dev_collision_50m/dev_collision_50m
  41.             ["78f4407343b48f6d"] = true, --units/dev_tools/level_tools/collision/dev_collision_50m/dev_collision_50m_bag
  42.             ["96eba158d67240f6"] = true, --units/dev_tools/level_tools/dev_collision/dev_collision_1x1m
  43.             ["a3649015ec10f0fa"] = true, --units/dev_tools/level_tools/dev_collision/dev_collision_1x3m
  44.             ["6cb6040856588734"] = true, --units/dev_tools/level_tools/dev_collision/dev_collision_4x3m
  45.             ["97e8d510fc7f6b4b"] = true, --units/dev_tools/level_tools/dev_collision/dev_collision_4x32m
  46.             ["99792495ba726698"] = true, --units/dev_tools/level_tools/dev_collision/dev_collision_8x3m
  47.             ["e765f9d63549a5c5"] = true, --units/dev_tools/level_tools/dev_collision/dev_collision_8x32m
  48.             ["093021865a2c35af"] = true, --units/dev_tools/level_tools/dev_collision/dev_collision_16x32m
  49.             ["a5bab566e1733d44"] = true, --units/dev_tools/level_tools/dev_collision/dev_collision_64x32m
  50.             ["3345b74c3081f3f9"] = true, --units/dev_tools/level_tools/dev_nav_blocker/dev_nav_blocker_1x1m
  51.             ["f9639a083eb4eb0c"] = true, --units/dev_tools/level_tools/dev_nav_blocker/dev_nav_blocker_1x1x3m
  52.             ["8f0bd5d3ce8adf20"] = true, --units/dev_tools/level_tools/dev_nav_blocker/dev_nav_blocker_1x3m
  53.             ["120d0ca08375e85e"] = true, --units/dev_tools/level_tools/dev_nav_blocker/dev_nav_blocker_2x3m
  54.             ["d6ab68fdfb25156e"] = true, --units/dev_tools/level_tools/dev_nav_blocker/dev_nav_blocker_4x3m
  55.             ["77175ed91c87d38a"] = true, --units/dev_tools/level_tools/dev_nav_blocker/dev_nav_blocker_8x3m
  56.             ["89a7dbeb98bb47fb"] = true, --units/dev_tools/level_tools/dev_nav_blocker/dev_nav_blocker_16x3m
  57.             ["67e5497920d65b45"] = true, --units/dev_tools/level_tools/dev_nav_blocker/dev_nav_blocker_64x3m
  58.             ["4385cb1d46044948"] = true, --units/dev_tools/level_tools/dev_vehicle_collision/dev_vehicle_collision_1x1m
  59.             ["75d60c30cfc752d5"] = true, --units/dev_tools/level_tools/dev_vehicle_collision/dev_vehicle_collision_1x3m
  60.             ["6e94e532295a1c4c"] = true, --units/dev_tools/level_tools/dev_vehicle_collision/dev_vehicle_collision_4x3m
  61.             ["b7dd69c3082ad494"] = true, --units/dev_tools/level_tools/dev_vehicle_collision/dev_vehicle_collision_4x32m
  62.             ["03996689587afc9c"] = true, --units/dev_tools/level_tools/dev_vehicle_collision/dev_vehicle_collision_8x3m
  63.             ["fe7682409496395c"] = true, --units/dev_tools/level_tools/dev_vehicle_collision/dev_vehicle_collision_8x32m
  64.             ["20a34b41ca06015c"] = true, --units/dev_tools/level_tools/dev_vehicle_collision/dev_vehicle_collision_16x32m
  65.             ["70fbfdaf5e1c50a1"] = true, --units/dev_tools/level_tools/dev_vehicle_collision/dev_vehicle_collision_64x32m
  66.             ["cbeb471aa32636ea"] = true, --units/dev_tools/level_tools/dev_vehicle_only_collision/dev_vehicle_only_collision_1x1m
  67.             ["7c6a421c90a8709a"] = true, --units/dev_tools/level_tools/dev_vehicle_only_collision/dev_vehicle_only_collision_1x3m
  68.             ["fe13549df62eab40"] = true, --units/dev_tools/level_tools/dev_vehicle_only_collision/dev_vehicle_only_collision_4x3m
  69.             ["df37c0dd7a9e1392"] = true, --units/dev_tools/level_tools/dev_vehicle_only_collision/dev_vehicle_only_collision_4x32m
  70.             ["887ceed0e322a202"] = true, --units/dev_tools/level_tools/dev_vehicle_only_collision/dev_vehicle_only_collision_8x3m
  71.             ["b1f9779228aff5cf"] = true, --units/dev_tools/level_tools/dev_vehicle_only_collision/dev_vehicle_only_collision_8x32m
  72.             ["ea53e01e72a77431"] = true, --units/dev_tools/level_tools/dev_vehicle_only_collision/dev_vehicle_only_collision_16x32m
  73.             ["31245608e2096b2a"] = true, --units/dev_tools/level_tools/dev_vehicle_only_collision/dev_vehicle_only_collision_64x32m
  74.         }, orig_units = {}
  75.     }) and menu[class_name]
  76.      
  77.     function c:button_data()
  78.         local description = "Remove invisible walls around the heist."
  79.      
  80.         return {description = description, button_state = "toggle", state = true}
  81.     end
  82.      
  83.     function c:toggle()
  84.         local player = managers.player:player_unit()
  85.         local player_inventory = player:inventory()
  86.      
  87.         if self.is_toggle then
  88.             for _, selection in pairs(player_inventory._available_selections) do
  89.                 self.orig_bullet_slotmask[selection] = selection.unit:base()._bullet_slotmask
  90.                 selection.unit:base()._bullet_slotmask = World:make_slot_mask(7, 11, 12, 14, 16, 17, 18, 21, 22, 25, 26, 33, 34, 35)
  91.             end
  92.      
  93.             if Utils:is_host() then
  94.                 for _, unit in pairs(World:find_units_quick("all", 1)) do
  95.                     if self.collisions[unit:name():key()] then
  96.                         self.orig_units[unit] = unit:slot()
  97.                         World:delete_unit(unit)
  98.                         managers.network:session():send_to_peers_synched("remove_unit", unit)
  99.                     end
  100.                 end
  101.             end
  102.         else
  103.             for _, selection in pairs(player_inventory._available_selections) do
  104.                 self.orig_bullet_slotmask[selection] = selection.unit:base()._bullet_slotmask
  105.                 selection.unit:base()._bullet_slotmask = self.orig_bullet_slotmask[selection]
  106.             end
  107.      
  108.             --[[if Utils:is_host() then
  109.                 for unit, slot in pairs(self.orig_units) do
  110.                     unit:set_slot(slot)
  111.                 end
  112.             end--]]
  113.         end
  114.      
  115.         self.is_toggle = not self.is_toggle
  116.     end
  117.      
  118.     return c
Tags: lua Payday 2
Advertisement
Add Comment
Please, Sign In to add comment