Advertisement
baddog-11

Num1-Troll.lua

Apr 23rd, 2014
579
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 106.70 KB | None | 0 0
  1. -- TROLL DUOMENU SCRIPT v13 PRO
  2.  
  3. function openmenu(menu)
  4.     menu:show()
  5. end
  6.  
  7. ---------------
  8. -- MAIN --
  9. ---------------
  10.  
  11. -- SPOOF FUNCTIONS
  12. if not inGame() then
  13.     spoof1 = spoof1 or function()
  14.         SetConfig('SpoofName', 'Douglby', true)
  15. end
  16.     spoof2 = spoof2 or function()
  17.         SetConfig('SpoofName', 'Jack Goff', true)
  18. end
  19.     spoof3 = spoof3 or function()
  20.         SetConfig('SpoofName', 'Duke Nukem', true)
  21. end
  22.     spoof4 = spoof4 or function()
  23.         SetConfig('SpoofName', 'Mike Litoris', true)
  24. end
  25.     spoof5 = spoof5 or function()
  26.         SetConfig('SpoofName', 'Smelly Pirate Captain', true)
  27. end
  28.     spoof6 = spoof6 or function()
  29.         SetConfig('SpoofName', 'Alotta Fagina', true)
  30. end
  31.     spoof7 = spoof7 or function()
  32.         SetConfig('SpoofName', 'Harry P. Ness', true)
  33. end
  34.     spoof8 = spoof8 or function()
  35.         SetConfig('SpoofName', 'Ran Sidass', true)
  36. end
  37.     spoof9 = spoof9 or function()
  38.         SetConfig('SpoofName', 'Buster Hyman', true)
  39. end
  40.     spoof10 = spoof10 or function()
  41.         SetConfig('SpoofName', 'Phillip Purass', true)
  42. end
  43.     spoof11 = spoof11 or function()
  44.         SetConfig('SpoofName', 'Sandy Cervix', true)
  45. end
  46.     spoof12 = spoof12 or function()
  47.         SetConfig('SpoofName', 'Spongebob', true)
  48. end
  49.     spoof13 = spoof13 or function()
  50.         SetConfig('SpoofName', 'Bender', true)
  51. end
  52.     spoof14 = spoof14 or function()
  53.         SetConfig('SpoofName', 'Rusty Kuntz', true)
  54. end
  55.     spoof15 = spoof15 or function()
  56.         SetConfig('SpoofName', 'Clee Torres', true)
  57. end
  58.     spoof16 = spoof16 or function()
  59.         SetConfig('SpoofName', 'Homer Sexual', true)
  60. end
  61.     spoof17 = spoof17 or function()
  62.         SetConfig('SpoofName', 'I. C. Kuntz', true)
  63. end
  64.     spoof18 = spoof18 or function()
  65.         SetConfig('SpoofName', 'Ivanna Humpalot', true)
  66. end
  67.     spoof19 = spoof19 or function()
  68.         SetConfig('SpoofName', 'Seymore Butts', true)
  69. end
  70.     spoof20 = spoof20 or function()
  71.         SetConfig('SpoofName', 'Justin Heranus', true)
  72. end
  73.     spoof21 = spoof21 or function()
  74.         SetConfig('SpoofName', 'Carrie Mysac', true)
  75. end
  76.     spoof22 = spoof22 or function()
  77.         SetConfig('SpoofName', 'Lou Scunt', true)
  78. end
  79.     spoof23 = spoof23 or function()
  80.         SetConfig('SpoofName', 'Mike Oxsbig', true)
  81. end
  82.     spoof24 = spoof24 or function()
  83.         SetConfig('SpoofName', 'Wilma Fingerdoo', true)
  84. end
  85.     spoof25 = spoof25 or function()
  86.         SetConfig('SpoofName', 'Phillip Oliver Holz', true)
  87. end
  88.     spoof26 = spoof26 or function()
  89.         SetConfig('SpoofName', 'Ol\' Dirty Bastard', true)
  90. end
  91.     spoof27 = spoof27 or function()
  92.         SetConfig('SpoofName', 'CHEATING ALLOWED', true)
  93. end
  94.     spoof28 = spoof28 or function()
  95.         SetConfig('SpoofName', 'I LOVE CHEATS', true)
  96. end
  97.     spoof29 = spoof29 or function()
  98.         SetConfig('SpoofName', 'CHEATERS \'R US', true)
  99. end
  100.     spoof30 = spoof30 or function()
  101.         SetConfig('SpoofName', 'Rockefella', true)
  102. end
  103.     spoof31 = spoof31 or function()
  104.         SetConfig('SpoofName', 'Generous George', true)
  105. end
  106.     spoof32 = spoof32 or function()
  107.         SetConfig('SpoofName', 'Simplity', true)
  108. end
  109.     spoof33 = spoof33 or function()
  110.         SetConfig('SpoofName', 'Newbie Booster', true)
  111. end
  112.     spoof34 = spoof34 or function()
  113.         SetConfig('SpoofName', 'madMAX', true)
  114. end
  115.     festoriginal = festoriginal or function()
  116.         SetConfig('SpoofName', 'locust9', true)
  117. end
  118.     nameandy = nameandy or function()
  119.         SetConfig('SpoofName', 'OVERKILL.Andreas', true)
  120. end
  121.     namevicky = namevicky or function()
  122.         SetConfig('SpoofName', 'OVERKILL_Viktor', true)
  123. end
  124.     namesimon = namesimon or function()
  125.         SetConfig('SpoofName', 'SimonViklund', true)
  126. end
  127.     namekillja = namekillja or function()
  128.         SetConfig('SpoofName', 'Overkillja', true)
  129. end
  130.     namepastej = namepastej or function()
  131.         SetConfig('SpoofName', 'Pastej', true)
  132. end
  133.     namecaret = namecaret or function()
  134.         SetConfig('SpoofName', 'CaretCaret', true)
  135. end
  136.     bobo = bobo or function()
  137.         SetConfig('SpoofName', 'OVERKILL BO', true)
  138. end
  139.     nameape = nameape or function()
  140.         SetConfig('SpoofName', 'GurillaOverkilla', true)
  141. end
  142.     namepearj = namepearj or function()
  143.         SetConfig('SpoofName', 'OVERKILL_Per_J', true)
  144. end
  145.     namealmighty = namealmighty or function()
  146.         SetConfig('SpoofName', 'OVERKILL_Almir', true)
  147. end
  148.     namewood = namewood or function()
  149.         SetConfig('SpoofName', 'Guybrush Threepwood', true)
  150. end
  151.     namevaas = namevaas or function()
  152.         SetConfig('SpoofName', 'Vaas \'insanity\' Montenegro', true)
  153. end
  154.     namegordon = namegordon or function()
  155.         SetConfig('SpoofName', 'Gordon Freeman', true)
  156. end
  157.     nameinvis = nameinvis or function()
  158.         SetConfig('SpoofName', 'Invisible man', true)
  159. end
  160.     namemaster = namemaster or function()
  161.         SetConfig('SpoofName', 'Master Chief', true)
  162. end
  163.     namenathan = namenathan or function()
  164.         SetConfig('SpoofName', 'Nathan Drake', true)
  165. end
  166.     namesolid = namesolid or function()
  167.         SetConfig('SpoofName', 'Solid Snake', true)
  168. end
  169.     namerubber = namerubber or function()
  170.         SetConfig('SpoofName', 'Rubber man', true)
  171. end
  172.     namesamf = namesamf or function()
  173.         SetConfig('SpoofName', 'Sam Fisher', true)
  174. end
  175.     namesephi = namesephi or function()
  176.         SetConfig('SpoofName', 'Slynderdale', true)
  177. end
  178.     namespider = namespider or function()
  179.         SetConfig('SpoofName', 'Spiderman', true)
  180. end
  181.     namemaxp = namemaxp or function()
  182.         SetConfig('SpoofName', 'Max Payne', true)
  183. end
  184.     namesuper = namesuper or function()
  185.         SetConfig('SpoofName', 'Superman', true)
  186. end
  187.     namebat = namebat or function()
  188.         SetConfig('SpoofName', 'Baldwin', true)
  189. end
  190.     namesissy1 = namesissy1 or function()
  191.         SetConfig('SpoofName', 'King Nothing', true)
  192. end
  193.     namesissy2 = namesissy2 or function()
  194.         SetConfig('SpoofName', 'The Grim Reaper', true)
  195. end
  196.     namesec1 = namesec1 or function()
  197.         SetConfig('SpoofName', 'Adolf Hitler', true)
  198. end
  199.     namesec2 = namesec2 or function()
  200.         SetConfig('SpoofName', 'Joseph Stalin', true)
  201. end
  202.     namesec3 = namesec3 or function()
  203.         SetConfig('SpoofName', 'Vladimir Putin', true)
  204. end
  205.     namesec4 = namesec4 or function()
  206.         SetConfig('SpoofName', 'Mao Tse-Tung', true)
  207. end
  208.     namesec5 = namesec5 or function()
  209.         SetConfig('SpoofName', 'Vladimir Lenin', true)
  210. end
  211.     namesec6 = namesec6 or function()
  212.         SetConfig('SpoofName', 'Kim Jong Il', true)
  213. end
  214.     namesec7 = namesec7 or function()
  215.         SetConfig('SpoofName', 'Saddam Hussein', true)
  216. end
  217.     namesec8 = namesec8 or function()
  218.         SetConfig('SpoofName', 'Osama Bin Laden', true)
  219. end
  220.     namesec9 = namesec9 or function()
  221.         SetConfig('SpoofName', 'Slobodan Milosevic', true)
  222. end
  223.     namesec10 = namesec10 or function()
  224.         SetConfig('SpoofName', 'Idi Amin', true)
  225. end
  226.     namesec11 = namesec11 or function()
  227.         SetConfig('SpoofName', 'Benito Mussolini', true)
  228. end
  229.     namesec12 = namesec12 or function()
  230.         SetConfig('SpoofName', 'Pol Pot', true)
  231. end
  232.     namesec13 = namesec13 or function()
  233.         SetConfig('SpoofName', 'Harald Bluetooth', true)
  234. end
  235.     namesec14 = namesec14 or function()
  236.         SetConfig('SpoofName', 'Hirohito', true)
  237. end
  238.     namesec15 = namesec15 or function()
  239.         SetConfig('SpoofName', 'Asskicker', true)
  240. end
  241.     namesec16 = namesec16 or function()
  242.         SetConfig('SpoofName', 'Motherfucker', true)
  243. end
  244.     namesec17 = namesec17 or function()
  245.         SetConfig('SpoofName', 'Bitchslapper', true)
  246. end
  247.     namesec18 = namesec18 or function()
  248.         SetConfig('SpoofName', 'Copkiller', true)
  249. end
  250.     namesec19 = namesec19 or function()
  251.         SetConfig('SpoofName', 'v00d00', true)
  252. end
  253.     namesec20 = namesec20 or function()
  254.         SetConfig('SpoofName', 'Zomboss', true)
  255. end
  256.     namerobo = namerobo or function()
  257.         SetConfig('SpoofName', 'RoboCop', true)
  258. end
  259.     namebates = namebates or function()
  260.         SetConfig('SpoofName', 'Master Bates', true)
  261. end
  262.     killkenny = killkenny or function()
  263.         SetConfig('SpoofName', 'Kenneth The Janitor', true)
  264. end
  265.     nametec = nametec or function()
  266.         SetConfig('SpoofName', '\[TEC\] Anon', true)
  267. end
  268.     Baddog = Baddog or function()
  269.         SetConfig('SpoofName', 'Baddog-11', true)
  270. end
  271.     cornholio = cornholio or function()
  272.         SetConfig('SpoofName', 'Iam Cornholio', true)
  273. end
  274.     PirateCaptain = PirateCaptain or function()
  275.         SetConfig('SpoofName', 'Pirate Captain', true)
  276. end
  277.     PiratePirateCaptain = PiratePirateCaptain or function()
  278.         SetConfig('SpoofName', 'Pirate Pirate Captain', true)
  279. end
  280.     CaptainPirate = CaptainPirate or function()
  281.         SetConfig('SpoofName', 'Captain Pirate', true)
  282. end
  283.     AxeWound = AxeWound or function()
  284.         SetConfig('SpoofName', 'Axe Wound', true)
  285. end
  286.     DemonicPirateCaptain = DemonicPirateCaptain or function()
  287.         SetConfig('SpoofName', 'Demonic Pirate Captain', true)
  288. end
  289.     Hax0r = Hax0r or function()
  290.         SetConfig('SpoofName', 'Hax0r', true)
  291. end
  292.     PiratePerfectionFan = PiratePerfectionFan or function()
  293.             SetConfig('SpoofName', 'Pirate Perfection Fan#1', true)
  294. end
  295. end
  296. -------------------
  297. -- NO WAIT --
  298. -------------------
  299. dontwait = dontwait or function()
  300.     if managers.network:game() then
  301.         managers.network:game():spawn_players()
  302.     end
  303. end
  304. ----------------
  305. -- GAME --
  306. ----------------
  307. if inGame() and isPlaying() then
  308. -- NORMALIZER
  309.     if not _deadCop then _deadCop = CopDamage.die
  310. end
  311.  
  312.     function ServerSpawnBag(name) --spawn a bag on your position
  313.         if not alive (managers.player:player_unit()) then return end
  314.             local camera_ext = managers.player:player_unit():camera()
  315.                 if Network:is_client() then
  316.         managers.network:session():send_to_host( "server_drop_carry", name, managers.money:get_bag_value(name), true, true, 1, camera_ext:position(), camera_ext:rotation(), camera_ext:forward(), 100)
  317.     else
  318.         managers.player:server_drop_carry(name, managers.money:get_bag_value(name), true, true, 1, camera_ext:position(), camera_ext:rotation(), camera_ext:forward(), 100)
  319.     end
  320. end
  321. --GIVE YOURSELF A BAG TO CARRY
  322.     function GiveBag(name)
  323.         if not alive (managers.player:player_unit()) or managers.player:is_carrying() then return end
  324.             managers.player:set_carry(name, managers.money:get_bag_value(name), true, true, 1)
  325. end
  326. -- NO CASH PENALTY FOR KILLING CIVILLIANS
  327.     freekill = freekill or function()
  328.         function MoneyManager.get_civilian_deduction() return 0
  329.     end
  330.         function MoneyManager.civilian_killed() return
  331.     end
  332.         function UnitNetworkHandler:sync_hostage_killed_warning( warning ) return 0
  333.     end
  334. end
  335. --------------------
  336. -- SPAWN ODD BAGS --
  337. --------------------
  338. -- SPAWN BODY BAG
  339.     sppersonbag = sppersonbag or function()
  340.         ServerSpawnBag("person")
  341.             managers.hud:show_hint( { text = "BODY BAG SPAWNED" } )
  342.     end
  343. -- SPAWN PAINTING BAG
  344.     sppaintbag = sppaintbag or function()
  345.         ServerSpawnBag("painting")
  346.             managers.hud:show_hint( { text = "PAINTING BAG SPAWNED" } )
  347.     end
  348. -- SPAWN SERVER BAG
  349.     spservbag = spservbag or function()
  350.         ServerSpawnBag("circuit")
  351.             managers.hud:show_hint( { text = "SERVER BAG SPAWNED" } )
  352.     end
  353. -- SPAWN FUSION ENGINE BAG
  354.     spenginebag = spenginebag or function()
  355.             ServerSpawnBag("engine_01")
  356.                 managers.hud:show_hint( { text = "FUSION ENGINE BAG SPAWNED" } )
  357.     end
  358. -- SPAWN THERMAL DRILL BAG
  359.     spthermbag = spthermbag or function()
  360.         ServerSpawnBag("lance_bag")
  361.             managers.hud:show_hint( { text = "THERMAL DRILL BAG SPAWNED" } )
  362.     end
  363. -- SPAWN THERMAL DRILL BAG SELF
  364.     spsthermbag = spsthermbag or function()
  365.         GiveBag("lance_bag")
  366.     end
  367. -- SPAWN TURRET BAGS
  368.     spturret1 = spturret1 or function()
  369.         ServerSpawnBag("turret")
  370.             managers.hud:show_hint( { text = "TURRET WEAPON PART BAG SPAWNED" } )
  371.     end
  372. -- SPAWN TURRET BAGS SELF
  373.     spsturret1 = spsturret1 or function()
  374.         GiveBag("turret")
  375.     end
  376. --------------------------------
  377. -- ADD ODD STUFF TO INVENTORY --
  378. --------------------------------
  379. -- ADD DRILL
  380.     spdrillinv = spdrillinv or function()
  381.         managers.player:add_special( { name = "drill", silent = true, amount = 1 } )
  382.         managers.hud:show_hint( { text = "Drill added to inventory" } )
  383.     end
  384. -- ADD GOLDBAR TO INVENTORY
  385.     spgoldinv = spgoldinv or function()
  386.         managers.player:add_special( { name = "gold", silent = false, amount = 1 } )
  387.         managers.hud:show_hint( { text = "Goldbar added to inventory" } )
  388.     end
  389. -- ADD CROWBAR
  390.     spcrowinv = spcrowinv or function()
  391.         managers.player:add_special( { name = "crowbar", silent = true, amount = 1 } )
  392.         managers.hud:show_hint( { text = "Crowbar added to inventory" } )
  393.     end
  394. -- ADD CHAVES KEY TO INVENTORY
  395.     spchavesinv = spchavesinv or function()
  396.         managers.player:add_special( { name = "chavez_key", silent = true, amount = 1 } )
  397.         managers.hud:show_hint( { text = " Chaves Key added to inventory" } )
  398.     end
  399. -- ADD BLOOD SAMPLE TO INVENTORY
  400.     spbloodinv = spbloodinv or function()
  401.         managers.player:add_special( { name = "blood_sample", silent = true, amount = 1 } )
  402.         managers.hud:show_hint( { text = "Bloodsample added to inventory" } )
  403.     end
  404. -- ADD GLASS CUTTER
  405.     spgcutinv = spgcutinv or function()
  406.         managers.player:add_special( { name = "glass_cutter", silent = true, amount = 1 } )
  407.         managers.hud:show_hint( { text = "Glass cutter added to inventory" } )
  408.     end
  409. -- ADD BANK MANAGER KEYCARD
  410.     spbmkey = spbmkey or function()
  411.         managers.player:add_special( { name = "bank_manager_key", silent = true, amount = 1 } )
  412.         managers.hud:show_hint( { text = "Bankmanagers keycard added to inventory" } )
  413.     end
  414.          
  415. ----------------------------
  416. -- PLAYER STATE FUNCTIONS --
  417. ----------------------------
  418.     statenorm = statenorm or function()
  419.         managers.player:set_player_state( "standard" )
  420.     end
  421.     stateclean = stateclean or function()
  422.         managers.player:set_player_state( "clean" )
  423.     end
  424.     statecarry = statecarry or function()
  425.         managers.player:set_player_state( "carry" )
  426.     end
  427.     statecuffs = statecuffs or function()
  428.         managers.player:set_player_state( "arrested" )
  429.     end
  430.     statetased = statetased or function()
  431.         managers.player:set_player_state( "tased" )
  432.     end
  433.     stateblood = stateblood or function()
  434.         managers.player:set_player_state( "bleed_out" )
  435.     end
  436.     stateinca = stateinca or function()
  437.         managers.player:set_player_state( "incapacitated" )
  438.     end
  439.     statefatal = statefatal or function()
  440.         managers.player:set_player_state( "fatal" )
  441.     end
  442. ---------------------------------
  443. -- SYNC PLAYER STATE FUNCTIONS --
  444. ---------------------------------
  445.     syncstatecuffs = syncstatecuffs or function(id)
  446.         for pl_key, pl_record in pairs( managers.groupai:state():all_player_criminals() ) do
  447.             if pl_record.status ~= "dead" then
  448.                 local unit = managers.groupai:state():all_player_criminals()[ pl_key ].unit
  449.                     if unit:network():peer():id() == id then
  450.                         unit:network():send_to_unit( { "sync_player_movement_state", unit, "arrested", 0, unit:id() } )
  451.                 end
  452.             end
  453.         end
  454.     end
  455.     syncstatetased = syncstatetased or function(id)
  456.         for pl_key, pl_record in pairs( managers.groupai:state():all_player_criminals() ) do
  457.             if pl_record.status ~= "dead" then
  458.                 local unit = managers.groupai:state():all_player_criminals()[ pl_key ].unit
  459.                     if unit:network():peer():id() == id then
  460.                         unit:network():send_to_unit( { "sync_player_movement_state", unit, "tased", 0, unit:id() } ) --electified? changed?
  461.                 end
  462.             end
  463.         end
  464.     end
  465.     syncstateclean = syncstateclean or function(id)
  466.         for pl_key, pl_record in pairs( managers.groupai:state():all_player_criminals() ) do
  467.             if pl_record.status ~= "dead" then
  468.                 local unit = managers.groupai:state():all_player_criminals()[ pl_key ].unit
  469.                     if unit:network():peer():id() == id then
  470.                         unit:network():send_to_unit( { "sync_player_movement_state", unit, "clean", 0, unit:id() } )
  471.                 end
  472.             end
  473.         end
  474.     end
  475.     syncstatestandard = syncstatestandard or function(id)
  476.         for pl_key, pl_record in pairs( managers.groupai:state():all_player_criminals() ) do
  477.             if pl_record.status ~= "dead" then
  478.                 local unit = managers.groupai:state():all_player_criminals()[ pl_key ].unit
  479.                     if unit:network():peer():id() == id then
  480.                         unit:network():send_to_unit( { "sync_player_movement_state", unit, "standard", 0, unit:id() } )
  481.                 end
  482.             end
  483.         end
  484.     end
  485. -- BLEEDOUT PLY
  486.     syncstatebleed_out = syncstatebleed_out or function(id)
  487.         for pl_key, pl_record in pairs( managers.groupai:state():all_player_criminals() ) do
  488.             if pl_record.status ~= "dead" then
  489.                 local unit = managers.groupai:state():all_player_criminals()[ pl_key ].unit
  490.                     if unit:network():peer():id() == id then
  491.                         unit:network():send_to_unit( { "sync_player_movement_state", unit, "bleed_out", 0, unit:id() } )
  492.                 end
  493.             end
  494.         end
  495.     end
  496. -- FORCE CARRY
  497.     syncforceengine = syncforceengine or function(id)
  498.         local peer = managers.network:session():peer( id )
  499.             managers.network:session():send_to_peers_synched( "sync_carry", id, "engine_02", managers.money:get_bag_value( "gold" ), 1,1,1 )
  500.             managers.player:set_synced_carry( id, "engine_02", managers.money:get_bag_value( "gold" ), 1,1,1 )
  501.     end
  502. -- INCAPACITATE PLY1
  503.     syncstateincapacitated = syncstateincapacitated or function(id)
  504.         for pl_key, pl_record in pairs( managers.groupai:state():all_player_criminals() ) do
  505.             if pl_record.status ~= "dead" then
  506.                 local unit = managers.groupai:state():all_player_criminals()[ pl_key ].unit
  507.                     if unit:network():peer():id() == id then
  508.                         unit:network():send_to_unit( { "sync_player_movement_state", unit, "incapacitated", 0, unit:id() } )
  509.                 end
  510.             end
  511.         end
  512.     end
  513. -- CRASH
  514.     ctdply = ctdply or function(id)
  515.         for pl_key, pl_record in pairs( managers.groupai:state():all_player_criminals() ) do
  516.             if pl_record.status ~= "dead" then
  517.                 local unit = managers.groupai:state():all_player_criminals()[ pl_key ].unit
  518.                     if unit:network():peer():id() == id then
  519.                         unit:network():send( "set_equipped_weapon", "wpn_fps_pis_ppk", 0 )
  520.                 end
  521.             end
  522.         end
  523.     end
  524. -- PLY1 LVL1
  525.         ply1level1 = ply1level1 or function()
  526.                 local peer = managers.network:session():peer( 1 )
  527.                 if peer then
  528.                 peer:set_level( 1 )
  529.                 end
  530.                 managers.network:session():send_to_peers_synched( "sync_level_up", 1, 1 )
  531.         end
  532.         -- PLY2 LVL1
  533.         ply2level1 = ply2level1 or function()
  534.                 local peer = managers.network:session():peer( 2 )
  535.                 if peer then
  536.                 peer:set_level( 1 )
  537.                 end
  538.                 managers.network:session():send_to_peers_synched( "sync_level_up", 2, 1 )
  539.         end
  540.         -- PLY3 LVL1
  541.         ply3level1 = ply3level1 or function()
  542.                 local peer = managers.network:session():peer( 3 )
  543.                 if peer then
  544.                 peer:set_level( 1 )
  545.                 end
  546.                 managers.network:session():send_to_peers_synched( "sync_level_up", 3, 1 )
  547.         end
  548.         -- PLY4 LVL1
  549.         ply4level1 = ply4level1 or function()
  550.                 local peer = managers.network:session():peer( 4 )
  551.                 if peer then
  552.                 peer:set_level( 1 )
  553.                 end
  554.                 managers.network:session():send_to_peers_synched( "sync_level_up", 4, 1 )
  555.         end
  556.         -- PLY1 LVL100
  557.         ply1level100 = ply1level100 or function()
  558.                 local peer = managers.network:session():peer( 1 )
  559.                 if peer then
  560.                 peer:set_level( 100 )
  561.                 end
  562.                 managers.network:session():send_to_peers_synched( "sync_level_up", 1, 100 )
  563.         end
  564.         -- PLY2 LVL100
  565.         ply2level100 = ply2level100 or function()
  566.                 local peer = managers.network:session():peer( 2 )
  567.                 if peer then
  568.                 peer:set_level( 100 )
  569.                 end
  570.                 managers.network:session():send_to_peers_synched( "sync_level_up", 2, 100 )
  571.         end
  572.         -- PLY3 LVL100
  573.         ply3level100 = ply3level100 or function()
  574.                 local peer = managers.network:session():peer( 3 )
  575.                 if peer then
  576.                 peer:set_level( 100 )
  577.                 end
  578.                 managers.network:session():send_to_peers_synched( "sync_level_up", 3, 100 )
  579.         end
  580.         -- PLY4 LVL100
  581.         ply4level100 = ply4level100 or function()
  582.                 local peer = managers.network:session():peer( 4 )
  583.                 if peer then
  584.                 peer:set_level( 100 )
  585.                 end
  586.                 managers.network:session():send_to_peers_synched( "sync_level_up", 4, 100 )
  587.         end
  588.         -- PLY1 LVL255
  589.         ply1level255 = ply1level255 or function()
  590.                 local peer = managers.network:session():peer( 1 )
  591.                 if peer then
  592.                 peer:set_level( 255 )
  593.                 end
  594.                 managers.network:session():send_to_peers_synched( "sync_level_up", 1, 255 )
  595.         end
  596.         -- PLY2 LVL255
  597.         ply2level255 = ply2level255 or function()
  598.                 local peer = managers.network:session():peer( 2 )
  599.                 if peer then
  600.                 peer:set_level( 255 )
  601.                 end
  602.                 managers.network:session():send_to_peers_synched( "sync_level_up", 2, 255 )
  603.         end
  604.         -- PLY3 LVL255
  605.         ply3level255 = ply3level255 or function()
  606.                 local peer = managers.network:session():peer( 3 )
  607.                 if peer then
  608.                 peer:set_level( 255 )
  609.                 end
  610.                 managers.network:session():send_to_peers_synched( "sync_level_up", 3, 255 )
  611.         end
  612.         -- PLY4 LVL255
  613.         ply4level255 = ply4level255 or function()
  614.                 local peer = managers.network:session():peer( 4 )
  615.                 if peer then
  616.                 peer:set_level( 255 )
  617.                 end
  618.                 managers.network:session():send_to_peers_synched( "sync_level_up", 4, 255 )
  619.         end
  620.         -- TEAM TROLLING --
  621.         -- CTD TEAM (HOST)
  622.         ctdteam = ctdteam or function()
  623.                 for pl_key, pl_record in pairs( managers.groupai:state():all_player_criminals() ) do
  624.                         if pl_record.status ~= "dead" then
  625.                         --if i == 4 then
  626.                         local unit = managers.groupai:state():all_player_criminals()[ pl_key ].unit
  627.                         unit:network():send( "set_equipped_weapon", "wpn_fps_pis_ppk", 0 )
  628.                         --end
  629.                         --i = i + 1
  630.                         end
  631.                 end
  632.         end
  633.         -- CUFF ALL TEAMMEMBERS
  634.         synccuffall = synccuffall or function()
  635.                 for pl_key, pl_record in pairs( managers.groupai:state():all_player_criminals() ) do
  636.                         if pl_record.status ~= "dead" then
  637.                                 local unit = managers.groupai:state():all_player_criminals()[ pl_key ].unit
  638.                                 unit:network():send_to_unit( { "sync_player_movement_state", unit, "arrested", 0, unit:id() } )
  639.                                 end
  640.                         end
  641.         end
  642.         -- TASE ALL TEAMMEMBERS
  643.         synctaseall = synctaseall or function()
  644.                 for pl_key, pl_record in pairs( managers.groupai:state():all_player_criminals() ) do
  645.                         if pl_record.status ~= "dead" then
  646.                                 local unit = managers.groupai:state():all_player_criminals()[ pl_key ].unit
  647.                                 unit:network():send_to_unit( { "sync_player_movement_state", unit, "tased", 0, unit:id() } )
  648.                                 end
  649.                         end
  650.         end
  651.         -- BLEEDOUT ALL TEAMMEMBERS
  652.         syncbleedall = syncbleedall or function()
  653.                 for pl_key, pl_record in pairs( managers.groupai:state():all_player_criminals() ) do
  654.                         if pl_record.status ~= "dead" then
  655.                                 local unit = managers.groupai:state():all_player_criminals()[ pl_key ].unit
  656.                                 unit:network():send_to_unit( { "sync_player_movement_state", unit, "bleed_out", 0, unit:id() } )
  657.                                 end
  658.                         end
  659.         end
  660.         --INCAPACITATE ALL TEAMMEMBERS
  661.         syncincaall = syncincaall or function()
  662.                 for pl_key, pl_record in pairs( managers.groupai:state():all_player_criminals() ) do
  663.                         if pl_record.status ~= "dead" then
  664.                                 local unit = managers.groupai:state():all_player_criminals()[ pl_key ].unit
  665.                                 unit:network():send_to_unit( { "sync_player_movement_state", unit, "incapacitated", 0, unit:id() } )
  666.                                 end
  667.                         end
  668.         end
  669.         -- SET TEAM LEVEL 1
  670.         teamlvl1 = teamlvl1 or function()
  671.                 local i = 1
  672.                 for pl_key, pl_record in pairs( managers.groupai:state():all_player_criminals() ) do
  673.                         if pl_record.status ~= "dead" then
  674.                         local unit = managers.groupai:state():all_player_criminals()[ pl_key ].unit
  675.                         local peer = managers.network:session():peer( i )
  676.                         peer:set_level( 1 )
  677.                         managers.network:session():send_to_peers_synched( "sync_level_up", i, 1 )
  678.                         end
  679.                 i = i + 1
  680.                 end
  681.         end
  682.         -- SET TEAM LEVEL 100
  683.         teamlvl100 = teamlvl100 or function()
  684.                 local i = 1
  685.                 for pl_key, pl_record in pairs( managers.groupai:state():all_player_criminals() ) do
  686.                         if pl_record.status ~= "dead" then
  687.                         local unit = managers.groupai:state():all_player_criminals()[ pl_key ].unit
  688.                         local peer = managers.network:session():peer( i )
  689.                         peer:set_level( 100 )
  690.                         managers.network:session():send_to_peers_synched( "sync_level_up", i, 100 )
  691.                         end
  692.                 i = i + 1
  693.                 end
  694.         end
  695.         -- SET TEAM LEVEL 255
  696.         teamlvl255 = teamlvl255 or function()
  697.                 local i = 1
  698.                 for pl_key, pl_record in pairs( managers.groupai:state():all_player_criminals() ) do
  699.                         if pl_record.status ~= "dead" then
  700.                         local unit = managers.groupai:state():all_player_criminals()[ pl_key ].unit
  701.                         local peer = managers.network:session():peer( i )
  702.                         peer:set_level( 255 )
  703.                         managers.network:session():send_to_peers_synched( "sync_level_up", i, 255 )
  704.                         end
  705.                 i = i + 1
  706.                 end
  707.         end
  708.         -- TELEPORT PLAYER TO SELF
  709.         teleporttoply = teleporttoply or function(id)
  710.                 local pos
  711.                 for pl_key, pl_record in pairs( managers.groupai:state():all_player_criminals() ) do
  712.                         if pl_record.status ~= "dead" then
  713.                         local unit = managers.groupai:state():all_player_criminals()[ pl_key ].unit
  714.                                 if unit:network():peer():id() == id then
  715.                                 pos = unit:position()
  716.                                 end
  717.                         end
  718.                 end
  719.                 if pos then
  720.                         managers.player:warp_to(pos, managers.player:player_unit():rotation())
  721.                 end
  722.         end
  723.         -- KILL EM ALL
  724.         function nukeunit(pawn)
  725.                 local col_ray = { }
  726.                 col_ray.ray = Vector3(1, 0, 0)
  727.                 col_ray.position = pawn.unit:position()
  728.                 local action_data = {}
  729.                 action_data.variant = "explosion"
  730.                 action_data.damage = 1000
  731.                 action_data.attacker_unit = managers.player:player_unit()
  732.                 action_data.col_ray = col_ray
  733.                 pawn.unit:character_damage():damage_explosion(action_data)
  734.         end
  735.         apocalypse = apocalypse or function()
  736.                 for u_key,u_data in pairs(managers.enemy:all_civilians()) do
  737.                         nukeunit(u_data)
  738.                 end
  739.                 for u_key,u_data in pairs(managers.enemy:all_enemies()) do
  740.                         u_data.char_tweak.has_alarm_pager = nil
  741.                         nukeunit(u_data)
  742.                 end
  743.         end
  744.          ------------------------------------------------
  745.         -- FORCE SPECIFIC ESCAPE OR NO ESCAPE MISSION --
  746.         ------------------------------------------------
  747.         function unlock_asset( asset_id )
  748.                 local asset = managers.assets:_get_asset_by_id( asset_id )
  749.                 if asset then
  750.                         if Network:is_server() and not managers.assets:get_asset_triggered_by_id( asset_id ) then
  751.                                 managers.assets:server_unlock_asset( asset_id )
  752.                         elseif not managers.assets:get_asset_unlocked_by_id( asset_id ) then
  753.                                 managers.network:session():send_to_host( "server_unlock_asset", asset_id )
  754.                         end
  755.                                 asset.show = true
  756.                         else
  757.                         table.insert( managers.assets._global.assets, { id=asset_id, unlocked=true, show=true, can_unlock=false } )
  758.                 end
  759.                 managers.assets:init_finalize()
  760.                 managers.menu_component:create_asset_mission_briefing_gui()
  761.         end
  762.         escnone = escnone or function()
  763.                 unlock_asset("safe_escape")
  764.         end
  765.  
  766.         -------------------------------
  767.         ---- COP TURN TO BULLDOZER  ---
  768.         -------------------------------
  769.         function spawn_bulldozer(position, rotation)
  770.                 local unit_name = Idstring( "units/payday2/characters/ene_bulldozer_1/ene_bulldozer_1" )
  771.                 local spawn_ai = { init_state = "attack" }
  772.                 local unit = World:spawn_unit( unit_name, position, rotation )
  773.                 unit:base().bulldozer = true
  774.                 unit:movement():set_character_anim_variables()
  775.                 unit:brain():set_spawn_ai( spawn_ai )
  776.                 unit:brain():set_active( true )
  777.         end
  778.         bullcop = bullcop or function()
  779.                 if not _deadCop then _deadCop = CopDamage.die
  780.                 end
  781.                 function CopDamage:die( variant )
  782.                 return _deadCop(self, variant)
  783.                 end
  784.                
  785.                 function CopDamage:die( ... )
  786.                         if not self._unit:base().bulldozer then
  787.                                 spawn_bulldozer(self._unit:position(), self._unit:rotation())
  788.                         end
  789.  
  790.                         local result = _deadCop( self, ... )
  791.                         return result
  792.                 end
  793.         end
  794.  
  795.         --------------------------------
  796.         ---------- MAKE PARTY ----------
  797.         --------------------------------
  798.         variant = { }
  799.         unit = { }
  800.         function spawnParty(i)
  801.                 variant[1] = "cm_sp_male_stripper"
  802.                 variant[2] = "cm_sp_dj_loop"
  803.                 variant[3] = "cf_sp_dance_slow"
  804.                 variant[4] = "cf_sp_dance_sexy"
  805.                 variant[5] = "cf_sp_pole_dancer_expert"
  806.                 variant[6] = "cf_sp_pole_dancer_basic"
  807.                 unit[1] = "units/payday2/characters/civ_male_casual_1/civ_male_casual_1"
  808.                 unit[2] = "units/payday2/characters/civ_female_casual_5/civ_female_casual_5"
  809.                 local _randoms2 = math.random(1,2)
  810.                 local _rUnit = unit[_randoms2]
  811.                 local _randoms = math.random(1,6)
  812.                 local state = variant[_randoms]
  813.                 local spawn_pos = managers.player:player_unit():position()
  814.                 local pos = Vector3(spawn_pos.x + math.random(1,85) * i , spawn_pos.y + math.random(1,25) * i , spawn_pos.z)
  815.                 local spawn_rot = managers.player:player_unit():rotation()
  816.                 local unit_name = Idstring( _rUnit)
  817.                 local unit = World:spawn_unit( unit_name, pos, spawn_rot )
  818.                 local action_data = { type = "act", body_part = 1, variant = state, clamp_to_graph = true, blocks = { light_hurt = -1, hurt = -1, heavy_hurt = -1, walk = -1 } }
  819.                 local spawn_ai = { init_state = "inactive" }
  820.                 unit:brain():set_spawn_ai( spawn_ai )
  821.                 unit:brain():action_request( action_data )
  822.                 unit:set_active(true)
  823.         end
  824.         makeParty = makeParty or function()
  825.                 if Network:is_server() then
  826.                         for i=1,15 do
  827.                         spawnParty(i)
  828.                         end
  829.                 end
  830.         end
  831.        
  832.     -------------------------------
  833.     --- TWO COPS WHEN ONE DIES  ---
  834.     -------------------------------
  835.         function spawn_cop_1(position, rotation)
  836.                 local unit_name = Idstring( "units/payday2/characters/ene_cop_1/ene_cop_1" )
  837.                 local spawn_ai = { init_state = "attack" }
  838.                 local unit = World:spawn_unit( unit_name, position, rotation )
  839.                 unit:movement():set_character_anim_variables()
  840.                 unit:brain():set_spawn_ai( spawn_ai )
  841.                 unit:brain():set_active( true )
  842.                 unit:base().cop_1 = true
  843.         end
  844.         function spawn_cop_2(position, rotation)
  845.                 local unit_name = Idstring( "units/payday2/characters/ene_cop_2/ene_cop_2" )
  846.                 local spawn_ai = { init_state = "attack" }
  847.                 local unit = World:spawn_unit( unit_name, position, rotation )
  848.                 unit:base().cop_2 = true
  849.                 unit:movement():set_character_anim_variables()
  850.                 unit:brain():set_spawn_ai( spawn_ai )
  851.                 unit:brain():set_active( true )
  852.         end
  853.         function spawn_cop_3(position, rotation)
  854.                 local unit_name = Idstring( "units/payday2/characters/ene_cop_3/ene_cop_3" )
  855.                 local spawn_ai = { init_state = "attack" }
  856.                 local unit = World:spawn_unit( unit_name, position, rotation )
  857.                 unit:base().cop_3 = true
  858.                 unit:movement():set_character_anim_variables()
  859.                 unit:brain():set_spawn_ai( spawn_ai )
  860.                 unit:brain():set_active( true )
  861.         end
  862.         function spawn_cop_4(position, rotation)
  863.                 local unit_name = Idstring( "units/payday2/characters/ene_cop_4/ene_cop_4" )
  864.                 local spawn_ai = { init_state = "attack" }
  865.                 local unit = World:spawn_unit( unit_name, position, rotation )
  866.                 unit:base().cop_4 = true
  867.                 unit:movement():set_character_anim_variables()
  868.                 unit:brain():set_spawn_ai( spawn_ai )
  869.                 unit:brain():set_active( true )
  870.         end
  871.         function spawn_bulldozer(position, rotation)
  872.                 local unit_name = Idstring( "units/payday2/characters/ene_bulldozer_1/ene_bulldozer_1" )
  873.                 local spawn_ai = { init_state = "attack" }
  874.                 local unit = World:spawn_unit( unit_name, position, rotation )
  875.                 unit:base().bulldozer = true
  876.                 unit:movement():set_character_anim_variables()
  877.                 unit:brain():set_spawn_ai( spawn_ai )
  878.                 unit:brain():set_active( true )
  879.         end
  880.         function spawn_fbi_1(position, rotation)
  881.                 local unit_name = Idstring( "units/payday2/characters/ene_fbi_1/ene_fbi_1" )
  882.                 local spawn_ai = { init_state = "attack" }
  883.                 local unit = World:spawn_unit( unit_name, position, rotation )
  884.                 unit:base().fbi_1 = true
  885.                 unit:movement():set_character_anim_variables()
  886.                 unit:brain():set_spawn_ai( spawn_ai )
  887.                 unit:brain():set_active( true )
  888.         end
  889.         function spawn_fbi_2(position, rotation)
  890.                 local unit_name = Idstring( "units/payday2/characters/ene_fbi_2/ene_fbi_2" )
  891.                 local spawn_ai = { init_state = "attack" }
  892.                 local unit = World:spawn_unit( unit_name, position, rotation )
  893.                 unit:base().fbi_2 = true
  894.                 unit:movement():set_character_anim_variables()
  895.                 unit:brain():set_spawn_ai( spawn_ai )
  896.                 unit:brain():set_active( true )
  897.         end
  898.         function spawn_fbi_3(position, rotation)
  899.                 local unit_name = Idstring( "units/payday2/characters/ene_fbi_3/ene_fbi_3" )
  900.                 local spawn_ai = { init_state = "attack" }
  901.                 local unit = World:spawn_unit( unit_name, position, rotation )
  902.                 unit:base().fbi_3 = true
  903.                 unit:movement():set_character_anim_variables()
  904.                 unit:brain():set_spawn_ai( spawn_ai )
  905.                 unit:brain():set_active( true )
  906.         end
  907.         function spawn_fbi_4(position, rotation)
  908.                 local unit_name = Idstring( "units/payday2/characters/ene_fbi_heavy_1/ene_fbi_heavy_1" )
  909.                 local spawn_ai = { init_state = "attack" }
  910.                 local unit = World:spawn_unit( unit_name, position, rotation )
  911.                 unit:base().fbi_4 = true
  912.                 unit:movement():set_character_anim_variables()
  913.                 unit:brain():set_spawn_ai( spawn_ai )
  914.                 unit:brain():set_active( true )
  915.         end
  916.         function spawn_swat_f_1(position, rotation)
  917.                 local unit_name = Idstring( "units/payday2/characters/ene_fbi_swat_1/ene_fbi_swat_1" )
  918.                 local spawn_ai = { init_state = "attack" }
  919.                 local unit = World:spawn_unit( unit_name, position, rotation )
  920.                 unit:base().swat_f_1 = true
  921.                 unit:movement():set_character_anim_variables()
  922.                 unit:brain():set_spawn_ai( spawn_ai )
  923.                 unit:brain():set_active( true )
  924.         end
  925.         function spawn_swat_f_2(position, rotation)
  926.                 local unit_name = Idstring( "units/payday2/characters/ene_fbi_swat_2/ene_fbi_swat_2" )
  927.                 local spawn_ai = { init_state = "attack" }
  928.                 local unit = World:spawn_unit( unit_name, position, rotation )
  929.                 unit:base().swat_f_2 = true
  930.                 unit:movement():set_character_anim_variables()
  931.                 unit:brain():set_spawn_ai( spawn_ai )
  932.                 unit:brain():set_active( true )
  933.         end
  934.         function spawn_shield_1(position, rotation)
  935.                 local unit_name = Idstring( "units/payday2/characters/ene_shield_1/ene_shield_1" )
  936.                 local spawn_ai = { init_state = "attack" }
  937.                 local unit = World:spawn_unit( unit_name, position, rotation )
  938.                 unit:base().shield_1 = true
  939.                 unit:movement():set_character_anim_variables()
  940.                 unit:brain():set_spawn_ai( spawn_ai )
  941.                 unit:brain():set_active( true )
  942.         end
  943.         function spawn_shield_2(position, rotation)
  944.                 local unit_name = Idstring( "units/payday2/characters/ene_shield_2/ene_shield_2" )
  945.                 local spawn_ai = { init_state = "attack" }
  946.                 local unit = World:spawn_unit( unit_name, position, rotation )
  947.                 unit:base().shield_2 = true
  948.                 unit:movement():set_character_anim_variables()
  949.                 unit:brain():set_spawn_ai( spawn_ai )
  950.                 unit:brain():set_active( true )
  951.         end
  952.         function spawn_sniper_1(position, rotation)
  953.                 local unit_name = Idstring( "units/payday2/characters/ene_sniper_1/ene_sniper_1" )
  954.                 local spawn_ai = { init_state = "attack" }
  955.                 local unit = World:spawn_unit( unit_name, position, rotation )
  956.                 unit:base().sniper_1 = true
  957.                 unit:movement():set_character_anim_variables()
  958.                 unit:brain():set_spawn_ai( spawn_ai )
  959.                 unit:brain():set_active( true )
  960.         end
  961.         function spawn_sniper_2(position, rotation)
  962.                 local unit_name = Idstring( "units/payday2/characters/ene_sniper_2/ene_sniper_2" )
  963.                 local spawn_ai = { init_state = "attack" }
  964.                 local unit = World:spawn_unit( unit_name, position, rotation )
  965.                 unit:base().sniper_2 = true
  966.                 unit:movement():set_character_anim_variables()
  967.                 unit:brain():set_spawn_ai( spawn_ai )
  968.                 unit:brain():set_active( true )
  969.         end
  970.         function spawn_spook_1(position, rotation)
  971.                 local unit_name = Idstring( "units/payday2/characters/ene_spook_1/ene_spook_1" )
  972.                 local spawn_ai = { init_state = "attack" }
  973.                 local unit = World:spawn_unit( unit_name, position, rotation )
  974.                 unit:base().spook_1 = true
  975.                 unit:movement():set_character_anim_variables()
  976.                 unit:brain():set_spawn_ai( spawn_ai )
  977.                 unit:brain():set_active( true )
  978.         end
  979.         function spawn_swat_1(position, rotation)
  980.                 local unit_name = Idstring( "units/payday2/characters/ene_swat_1/ene_swat_1" )
  981.                 local spawn_ai = { init_state = "attack" }
  982.                 local unit = World:spawn_unit( unit_name, position, rotation )
  983.                 unit:base().swat_1 = true
  984.                 unit:movement():set_character_anim_variables()
  985.                 unit:brain():set_spawn_ai( spawn_ai )
  986.                 unit:brain():set_active( true )
  987.         end
  988.         function spawn_swat_2(position, rotation)
  989.                 local unit_name = Idstring( "units/payday2/characters/ene_swat_2/ene_swat_2" )
  990.                 local spawn_ai = { init_state = "attack" }
  991.                 local unit = World:spawn_unit( unit_name, position, rotation )
  992.                 unit:base().swat_2 = true
  993.                 unit:movement():set_character_anim_variables()
  994.                 unit:brain():set_spawn_ai( spawn_ai )
  995.                 unit:brain():set_active( true )
  996.         end
  997.         function spawn_swat_heavy_1(position, rotation)
  998.                 local unit_name = Idstring( "units/payday2/characters/ene_swat_heavy_1/ene_swat_heavy_1" )
  999.                 local spawn_ai = { init_state = "attack" }
  1000.                 local unit = World:spawn_unit( unit_name, position, rotation )
  1001.                 unit:base().swat_heavy_1 = true
  1002.                 unit:movement():set_character_anim_variables()
  1003.                 unit:brain():set_spawn_ai( spawn_ai )
  1004.                 unit:brain():set_active( true )
  1005.         end
  1006.         function spawn_tazer_1(position, rotation)
  1007.                 local unit_name = Idstring( "units/payday2/characters/ene_tazer_1/ene_tazer_1" )
  1008.                 local spawn_ai = { init_state = "idle" }
  1009.                 local unit = World:spawn_unit( unit_name, position, rotation )
  1010.                 unit:base().tazer_1 = true
  1011.                 unit:movement():set_character_anim_variables()
  1012.                 unit:brain():set_spawn_ai( spawn_ai )
  1013.                 unit:brain():set_active( true )
  1014.         end
  1015.     onetotwo = onetotwo or function()
  1016.         if not _deadCop then _deadCop = CopDamage.die end
  1017.             function CopDamage:die( variant )
  1018.                 return _deadCop(self, variant)
  1019.     end
  1020.          
  1021.     function CopDamage:die( ... )
  1022.     if not self._unit:base().cop_1 and self._unit:name() == Idstring("units/payday2/characters/ene_cop_1/ene_cop_1") then
  1023.     spawn_cop_1(Vector3(self._unit:position().x + (math.random(9,10) * 5), self._unit:position().y + (math.random(9,10) * 5), self._unit:position().z), self._unit:rotation())
  1024.     spawn_cop_1(Vector3(self._unit:position().x + (math.random(3,5) * 3), self._unit:position().y + (math.random(3,5) * 3), self._unit:position().z), self._unit:rotation())
  1025.     end
  1026.     if not self._unit:base().cop_2 and self._unit:name() == Idstring("units/payday2/characters/ene_cop_2/ene_cop_2") then
  1027.     spawn_cop_2(Vector3(self._unit:position().x + (math.random(9,10) * 5), self._unit:position().y + (math.random(9,10) * 5), self._unit:position().z), self._unit:rotation())
  1028.     spawn_cop_2(Vector3(self._unit:position().x + (math.random(3,5) * 3), self._unit:position().y + (math.random(3,5) * 3), self._unit:position().z), self._unit:rotation())
  1029.     end
  1030.     if not self._unit:base().cop_3 and self._unit:name() == Idstring("units/payday2/characters/ene_cop_3/ene_cop_3") then
  1031.     spawn_cop_3(Vector3(self._unit:position().x + (math.random(9,10) * 5), self._unit:position().y + (math.random(9,10) * 5), self._unit:position().z), self._unit:rotation())
  1032.     spawn_cop_3(Vector3(self._unit:position().x + (math.random(3,5) * 3), self._unit:position().y + (math.random(3,5) * 3), self._unit:position().z), self._unit:rotation())
  1033.     end
  1034.     if not self._unit:base().cop_4 and self._unit:name() == Idstring("units/payday2/characters/ene_cop_4/ene_cop_4") then
  1035.     spawn_cop_4(Vector3(self._unit:position().x + (math.random(9,10) * 5), self._unit:position().y + (math.random(9,10) * 5), self._unit:position().z), self._unit:rotation())
  1036.     spawn_cop_4(Vector3(self._unit:position().x + (math.random(3,5) * 3), self._unit:position().y + (math.random(3,5) * 3), self._unit:position().z), self._unit:rotation())
  1037.     end
  1038.     if not self._unit:base().bulldozer and self._unit:name() == Idstring("units/payday2/characters/ene_bulldozer_1/ene_bulldozer_1") then
  1039.     spawn_bulldozer(Vector3(self._unit:position().x + (math.random(9,10) * 5), self._unit:position().y + (math.random(9,10) * 5), self._unit:position().z), self._unit:rotation())
  1040.     spawn_bulldozer(Vector3(self._unit:position().x + (math.random(3,5) * 3), self._unit:position().y + (math.random(3,5) * 3), self._unit:position().z), self._unit:rotation())
  1041.     end
  1042.     if not self._unit:base().fbi_1 and self._unit:name() == Idstring("units/payday2/characters/ene_fbi_1/ene_fbi_1") then
  1043.     spawn_fbi_1(Vector3(self._unit:position().x + (math.random(9,10) * 5), self._unit:position().y + (math.random(9,10) * 5), self._unit:position().z), self._unit:rotation())
  1044.     spawn_fbi_1(Vector3(self._unit:position().x + (math.random(3,5) * 3), self._unit:position().y + (math.random(3,5) * 3), self._unit:position().z), self._unit:rotation())
  1045.     end
  1046.     if not self._unit:base().fbi_2 and self._unit:name() == Idstring("units/payday2/characters/ene_fbi_2/ene_fbi_2") then
  1047.     spawn_fbi_2(Vector3(self._unit:position().x + (math.random(9,10) * 5), self._unit:position().y + (math.random(9,10) * 5), self._unit:position().z), self._unit:rotation())
  1048.     spawn_fbi_2(Vector3(self._unit:position().x + (math.random(3,5) * 3), self._unit:position().y + (math.random(3,5) * 3), self._unit:position().z), self._unit:rotation())
  1049.     end
  1050.     if not self._unit:base().fbi_3 and self._unit:name() == Idstring("units/payday2/characters/ene_fbi_3/ene_fbi_3") then
  1051.     spawn_fbi_3(Vector3(self._unit:position().x + (math.random(9,10) * 5), self._unit:position().y + (math.random(9,10) * 5), self._unit:position().z), self._unit:rotation())
  1052.     spawn_fbi_3(Vector3(self._unit:position().x + (math.random(3,5) * 3), self._unit:position().y + (math.random(3,5) * 3), self._unit:position().z), self._unit:rotation())
  1053.     end
  1054.     if not self._unit:base().fbi_4 and self._unit:name() == Idstring("units/payday2/characters/ene_fbi_heavy_1/ene_fbi_heavy_1") then
  1055.     spawn_fbi_4(Vector3(self._unit:position().x + (math.random(9,10) * 5), self._unit:position().y + (math.random(9,10) * 5), self._unit:position().z), self._unit:rotation())
  1056.     spawn_fbi_4(Vector3(self._unit:position().x + (math.random(3,5) * 3), self._unit:position().y + (math.random(3,5) * 3), self._unit:position().z), self._unit:rotation())
  1057.     end
  1058.     if not self._unit:base().swat_f_1 and self._unit:name() == Idstring("units/payday2/characters/ene_fbi_swat_1/ene_fbi_swat_1") then
  1059.     spawn_swat_f_1(Vector3(self._unit:position().x + (math.random(9,10) * 5), self._unit:position().y + (math.random(9,10) * 5), self._unit:position().z), self._unit:rotation())
  1060.     spawn_swat_f_1(Vector3(self._unit:position().x + (math.random(3,5) * 3), self._unit:position().y + (math.random(3,5) * 3), self._unit:position().z), self._unit:rotation())
  1061.     end
  1062.     if not self._unit:base().swat_f_2 and self._unit:name() == Idstring("units/payday2/characters/ene_fbi_swat_2/ene_fbi_swat_2") then
  1063.     spawn_swat_f_2(Vector3(self._unit:position().x + (math.random(9,10) * 5), self._unit:position().y + (math.random(9,10) * 5), self._unit:position().z), self._unit:rotation())
  1064.     spawn_swat_f_2(Vector3(self._unit:position().x + (math.random(3,5) * 3), self._unit:position().y + (math.random(3,5) * 3), self._unit:position().z), self._unit:rotation())
  1065.     end
  1066.     if not self._unit:base().shield_1 and self._unit:name() == Idstring("units/payday2/characters/ene_shield_1/ene_shield_1") then
  1067.     spawn_shield_1(Vector3(self._unit:position().x + (math.random(9,10) * 5), self._unit:position().y + (math.random(9,10) * 5), self._unit:position().z), self._unit:rotation())
  1068.     spawn_shield_1(Vector3(self._unit:position().x + (math.random(3,5) * 3), self._unit:position().y + (math.random(3,5) * 3), self._unit:position().z), self._unit:rotation())
  1069.     end
  1070.     if not self._unit:base().shield_2 and self._unit:name() == Idstring("units/payday2/characters/ene_shield_2/ene_shield_2") then
  1071.     spawn_shield_2(Vector3(self._unit:position().x + (math.random(9,10) * 5), self._unit:position().y + (math.random(9,10) * 5), self._unit:position().z), self._unit:rotation())
  1072.     spawn_shield_2(Vector3(self._unit:position().x + (math.random(3,5) * 3), self._unit:position().y + (math.random(3,5) * 3), self._unit:position().z), self._unit:rotation())
  1073.     end
  1074.     if not self._unit:base().sniper_1 and self._unit:name() == Idstring("units/payday2/characters/ene_sniper_1/ene_sniper_1") then
  1075.     spawn_sniper_1(Vector3(self._unit:position().x + (math.random(9,10) * 5), self._unit:position().y + (math.random(9,10) * 5), self._unit:position().z), self._unit:rotation())
  1076.     spawn_sniper_1(Vector3(self._unit:position().x + (math.random(3,5) * 3), self._unit:position().y + (math.random(3,5) * 3), self._unit:position().z), self._unit:rotation())
  1077.     end
  1078.     if not self._unit:base().sniper_2 and self._unit:name() == Idstring("units/payday2/characters/ene_sniper_2/ene_sniper_2") then
  1079.     spawn_sniper_2(Vector3(self._unit:position().x + (math.random(9,10) * 5), self._unit:position().y + (math.random(9,10) * 5), self._unit:position().z), self._unit:rotation())
  1080.     spawn_sniper_2(Vector3(self._unit:position().x + (math.random(3,5) * 3), self._unit:position().y + (math.random(3,5) * 3), self._unit:position().z), self._unit:rotation())
  1081.     end
  1082.     if not self._unit:base().spook_1 and self._unit:name() == Idstring("units/payday2/characters/ene_spook_1/ene_spook_1") then
  1083.     spawn_spook_1(Vector3(self._unit:position().x + (math.random(9,10) * 5), self._unit:position().y + (math.random(9,10) * 5), self._unit:position().z), self._unit:rotation())
  1084.     spawn_spook_1(Vector3(self._unit:position().x + (math.random(3,5) * 3), self._unit:position().y + (math.random(3,5) * 3), self._unit:position().z), self._unit:rotation())
  1085.     end
  1086.     if not self._unit:base().swat_1 and self._unit:name() == Idstring("units/payday2/characters/ene_swat_1/ene_swat_1") then
  1087.     spawn_swat_1(Vector3(self._unit:position().x + (math.random(9,10) * 5), self._unit:position().y + (math.random(9,10) * 5), self._unit:position().z), self._unit:rotation())
  1088.     spawn_swat_1(Vector3(self._unit:position().x + (math.random(3,5) * 3), self._unit:position().y + (math.random(3,5) * 3), self._unit:position().z), self._unit:rotation())
  1089.     end
  1090.     if not self._unit:base().swat_2 and self._unit:name() == Idstring("units/payday2/characters/ene_swat_2/ene_swat_2") then
  1091.     spawn_swat_2(Vector3(self._unit:position().x + (math.random(9,10) * 5), self._unit:position().y + (math.random(9,10) * 5), self._unit:position().z), self._unit:rotation())
  1092.     spawn_swat_2(Vector3(self._unit:position().x + (math.random(3,5) * 3), self._unit:position().y + (math.random(3,5) * 3), self._unit:position().z), self._unit:rotation())
  1093.     end
  1094.     if not self._unit:base().swat_heavy_1 and self._unit:name() == Idstring("units/payday2/characters/ene_swat_heavy_1/ene_swat_heavy_1") then
  1095.     spawn_swat_heavy_1(Vector3(self._unit:position().x + (math.random(9,10) * 5), self._unit:position().y + (math.random(9,10) * 5), self._unit:position().z), self._unit:rotation())
  1096.     spawn_swat_heavy_1(Vector3(self._unit:position().x + (math.random(3,5) * 3), self._unit:position().y + (math.random(3,5) * 3), self._unit:position().z), self._unit:rotation())
  1097.     end
  1098.     if not self._unit:base().tazer_1 and self._unit:name() == Idstring("units/payday2/characters/ene_tazer_1/ene_tazer_1") then
  1099.     spawn_tazer_1(Vector3(self._unit:position().x + (math.random(9,10) * 5), self._unit:position().y + (math.random(9,10) * 5), self._unit:position().z), self._unit:rotation())
  1100.     spawn_tazer_1(Vector3(self._unit:position().x + (math.random(3,5) * 3), self._unit:position().y + (math.random(3,5) * 3), self._unit:position().z), self._unit:rotation())
  1101.     end
  1102.    
  1103.     local result = _deadCop( self, ... )
  1104.     return result
  1105.     end
  1106.     end
  1107.  
  1108.         -- GOLDOZER BANK
  1109.         function find_computer()
  1110.                 local units = World:find_units_quick( "all" )
  1111.                 for i,unit in ipairs( units ) do
  1112.                         if unit.interaction and unit:interaction() and unit:interaction().tweak_data == "computer_test" then
  1113.                         return unit
  1114.                         end
  1115.                 end
  1116.         end
  1117.         function spawn_loot(type, _position, z_offset)
  1118.                 local position = mvector3.copy(_position)
  1119.                 if z_offset then mvector3.set_z(position, position.z + z_offset) end
  1120.                    
  1121.                 if Network:is_client() then
  1122.                         managers.network:session():send_to_host( "server_drop_carry", type, managers.money:get_bag_value( type ), nil, nil, 0, position, Rotation( math.UP, math.random() * 360 ), Vector3( 0,0,0 ), 0 )
  1123.                 else
  1124.                         managers.player:server_drop_carry( type, managers.money:get_bag_value( type ), nil, nil, 0, position, Rotation( math.UP, math.random() * 360 ), Vector3( 0,0,0 ), 0 )
  1125.                 end
  1126.         end
  1127.         function spawn(position, rotation)
  1128.                 local unit_name = Idstring( "units/payday2/characters/ene_bulldozer_1/ene_bulldozer_1" )
  1129.                 local spawn_ai = { init_state = "idle" }
  1130.                 local unit = World:spawn_unit( unit_name, position, rotation )
  1131.                 unit:base().made_of_gold = true
  1132.                 unit:movement():set_character_anim_variables()
  1133.                 unit:brain():set_spawn_ai( spawn_ai )
  1134.                 unit:brain():set_active( true )
  1135.         end
  1136.         function spawn_cluster(position, num, cluster)
  1137.                 for i=1,num do
  1138.                         spawn(Vector3(position.x + (math.random() * cluster * 2 - cluster), position.y + (math.random() * cluster * 2 - cluster), position.z), Rotation( math.UP, math.random() * 360 ))
  1139.                 end
  1140.         end
  1141.          
  1142.         _CopDamageDie = _CopDamageDie or CopDamage.die
  1143.          
  1144.         _modCopDamageDie = _modCopDamageDir or function( self, variant )
  1145.         if self._unit:base().made_of_gold then
  1146.                 spawn_loot("gold", self._unit:position(), 120)
  1147.                 end
  1148.                 return _deadCop(self, variant)
  1149.         end
  1150.          
  1151.         _drillDone = _drillDone or Drill.done
  1152.         _modDrillDone = _modDrillDone or function(self)
  1153.         local result = _drillDone(self)
  1154.         if managers.job:current_level_id() == "branchbank" then
  1155.                 local computer = find_computer()
  1156.                 if computer and computer:position().x == -1281 then
  1157.                         spawn_cluster(Vector3(-2068.93, 2197.47, 1.1), 3, 100)
  1158.                         spawn_cluster(Vector3(-2222.62, 2285.03, 1.1), 3, 100)
  1159.                 elseif computer and computer:position().x == -2920 then
  1160.                         spawn_cluster(Vector3(-2246.11, 2061.04, 1.1), 3, 100)
  1161.                         spawn_cluster(Vector3(-2175.62, 2285.41, 1.1), 3, 100)
  1162.                 end
  1163.                 Drill.done = _drillDone
  1164.                 _drillDone = nil
  1165.                 end
  1166.                 return result
  1167.         end
  1168.         _deadCiv = _deadCiv or CivilianDamage.die
  1169.         _modDeadCiv = _modDeadCiv or function(self, ... )
  1170.                 spawn(self._unit:position(), self._unit:rotation())
  1171.                 local result = _deadCiv( self, ... )
  1172.                 self._unit:set_slot( 0 )
  1173.                 managers.network:session():send_to_peers_synched( "remove_unit", self._unit )
  1174.                 return result
  1175.         end
  1176.         banktoggle = banktoggle or false
  1177.         function togglebank()
  1178.                 if banktoggle then
  1179.                         CopDamage.die = _CopDamageDie
  1180.                         if _drillDone then Drill.done = _drillDone end
  1181.                                 CivilianDamage.die = _deadCiv
  1182.                                 banktoggle = false
  1183.                                 managers.hud:show_hint( { text = "Goldozer Bank Off" } )
  1184.                 else
  1185.                         CopDamage.die = _modCopDamageDie
  1186.                         if _drillDone then Drill.done = _modDrillDone
  1187.                         end
  1188.                                 CivilianDamage.die = _modDeadCiv
  1189.                                 banktoggle = true
  1190.                                 managers.hud:show_hint( { text = "Goldozer Bank On" } )
  1191.                 end
  1192.         end
  1193.        
  1194.         -- MASK OFF
  1195.         faceoff = faceoff or function()
  1196.                 managers.player:set_player_state( "throw_grenade" )
  1197.                 show_mid_text("peek a boo...", "MASK OFF", 1.5 )
  1198.         end
  1199.        
  1200.         -- Bankbuster v2
  1201.         bankbuster = bankbuster or function()
  1202.                 local depositboxes = {}
  1203.                 local id
  1204.                 for _,v in pairs(managers.interaction._interactive_objects) do
  1205.                         if v.interaction then
  1206.                                 id = string.sub(v:interaction()._unit:name():t(), 1, 10)
  1207.                                 if id == "@ID7999172" or -- Harvest Bank
  1208.                                         id == "@IDe4bc870" or id == "@ID51da6d6" or id == "@ID8d8c766" or id == "@ID50aac55" or id == "@ID5dcd177" --Armoured Transport
  1209.                                         or id == "@IDe93c9b2" then -- GO Bank
  1210.                                                 table.insert(depositboxes, v:interaction())
  1211.                                 end
  1212.                         end
  1213.                 end
  1214.                 for _,v in pairs(depositboxes) do
  1215.                         v:interact(managers.player:player_unit())
  1216.                 end
  1217.         managers.hud:show_hint( { text = "pooooof-- deposits busted" } )
  1218.         end
  1219.        
  1220.         -- SPAWN GRENADE CASE ON PLAYER -- v9 perhaps
  1221.         -- SPAWN AMMO ON PLAYER
  1222.         giveammoto = giveammoto or function(id)
  1223.                 local ammo_upgrade_lvl = managers.player:upgrade_level( "ammo_bag", "ammo_increase" )
  1224.                 for pl_key, pl_record in pairs( managers.groupai:state():all_player_criminals() ) do
  1225.                         if pl_record.status ~= "dead" then
  1226.                         local unit = managers.groupai:state():all_player_criminals()[ pl_key ].unit
  1227.                                 if unit:network():peer():id() == id then
  1228.                                         local rot = managers.player:player_unit():rotation()
  1229.                                         if Network:is_client() then
  1230.                                                 managers.network:session():send_to_host( "place_deployable_bag", "AmmoBagBase", unit:position(), rot, ammo_upgrade_lvl )
  1231.                                         else
  1232.                                                 AmmoBagBase.spawn( unit:position(), rot, ammo_upgrade_lvl )
  1233.                                         end
  1234.                                 end
  1235.                         end
  1236.                 end
  1237.         end
  1238.         -- SPAWN MEDIKIT ON PLAYER
  1239.         givemedikito = givemedikito or function(id)
  1240.                 local amount_upgrade_lvl = managers.player:upgrade_level( "doctor_bag", "amount_increase" )
  1241.                 for pl_key, pl_record in pairs( managers.groupai:state():all_player_criminals() ) do
  1242.                         if pl_record.status ~= "dead" then
  1243.                         local unit = managers.groupai:state():all_player_criminals()[ pl_key ].unit
  1244.                                 if unit:network():peer():id() == id then
  1245.                                         local rot = managers.player:player_unit():rotation()
  1246.                                         if Network:is_client() then
  1247.                                                 managers.network:session():send_to_host( "place_deployable_bag", "DoctorBagBase", unit:position(), rot, amount_upgrade_lvl )
  1248.                                         else
  1249.                                                 DoctorBagBase.spawn( unit:position(), rot, amount_upgrade_lvl )
  1250.                                         end
  1251.                                 end
  1252.                         end
  1253.                 end
  1254.         end
  1255.         -- SPAWN TURRRETAMMO BAG (EXPLOSION) ON PLAYER HOST+CLIENT FRIENDLY
  1256.         giveexplosiontoc = giveexplosiontoc or function(id)
  1257.                 local ammo_upgrade_lvl = managers.player:upgrade_level( "ammo_bag", "ammo_increase" )
  1258.                 for pl_key, pl_record in pairs( managers.groupai:state():all_player_criminals() ) do
  1259.                         if pl_record.status ~= "dead" then
  1260.                         local unit = managers.groupai:state():all_player_criminals()[ pl_key ].unit
  1261.                                 if unit:network():peer():id() == id then
  1262.                                         local rot = managers.player:player_unit():rotation()
  1263.                                         if Network:is_client() then
  1264.                                                 managers.network:session():send_to_host( "server_drop_carry", "ammo", managers.money:get_bag_value( "turret" ), nil, nil, 0, unit:position(), Rotation( math.UP, math.random() * 360 ), Vector3( 0,0,-70 ), 0 )
  1265.                                         else
  1266.                                                 managers.network:session():send_to_host( "place_deployable_bag", "AmmoBagBase", unit:position(), rot, ammo_upgrade_lvl )                                      
  1267.                                         end
  1268.                                 end
  1269.                         end
  1270.                 end
  1271.         end
  1272.         -- SPAWN MONEY BAG ON PLAYER (X-MAS SPECIAL EDITION)
  1273.         givemoneyto = givemoneyto or function(id)
  1274.                 for pl_key, pl_record in pairs( managers.groupai:state():all_player_criminals() ) do
  1275.                         if pl_record.status ~= "dead" then
  1276.                         local unit = managers.groupai:state():all_player_criminals()[ pl_key ].unit
  1277.                                 if unit:network():peer():id() == id then
  1278.                                         if Network:is_client() then
  1279.                                                 managers.network:session():send_to_host( "server_drop_carry", "money", managers.money:get_bag_value( "turret" ), nil, nil, 0, unit:position(), Rotation( math.UP, math.random() * 360 ), Vector3( 0,0,-50 ), 0 )
  1280.                                         else
  1281.                                                 managers.player:server_drop_carry( "money", managers.money:get_bag_value( "turret" ), nil, nil, 0, unit:position(), Rotation( math.UP, math.random() * 360 ), Vector3( 0,0,-50 ), 0 )                                  
  1282.                                         end
  1283.                                 end
  1284.                         end
  1285.                 end
  1286.         end
  1287.         -- SPAWN GOLD BAG ON PLAYER
  1288.         givegoldto = givegoldto or function(id)
  1289.                 for pl_key, pl_record in pairs( managers.groupai:state():all_player_criminals() ) do
  1290.                         if pl_record.status ~= "dead" then
  1291.                         local unit = managers.groupai:state():all_player_criminals()[ pl_key ].unit
  1292.                                 if unit:network():peer():id() == id then
  1293.                                         if Network:is_client() then
  1294.                                                 managers.network:session():send_to_host( "server_drop_carry", "gold", managers.money:get_bag_value( "gold" ), nil, nil, 0, unit:position(), Rotation( math.UP, math.random() * 360 ), Vector3( 0,0,0 ), 0 )
  1295.                                         else
  1296.                                                 managers.player:server_drop_carry( "gold", managers.money:get_bag_value( "gold" ), nil, nil, 0, unit:position(), Rotation( math.UP, math.random() * 360 ), Vector3( 0,0,0 ), 0 )
  1297.                                         end
  1298.                                 end
  1299.                         end
  1300.                 end
  1301.         end
  1302.         -- GIVE GOLD BAG TO TEAM MEMBERS
  1303.         goldteam = goldteam or function()
  1304.                 for pl_key, pl_record in pairs( managers.groupai:state():all_player_criminals() ) do
  1305.                         if pl_record.status ~= "dead" then
  1306.                                 local unit = managers.groupai:state():all_player_criminals()[ pl_key ].unit:position()
  1307.                                 if Network:is_client() then
  1308.                                 managers.network:session():send_to_host( "server_drop_carry", "gold", managers.money:get_bag_value( "gold" ), nil, nil, 0, unit, Rotation( math.UP, math.random() * 360 ), Vector3( 0,0,-70 ), 0 )
  1309.                                 else
  1310.                                 managers.player:server_drop_carry( "gold", managers.money:get_bag_value( "gold" ), nil, nil, 0, unit, Rotation( math.UP, math.random() * 360 ), Vector3( 0,0,-100 ), 0 )
  1311.                                 end
  1312.                         end
  1313.                 end
  1314.         end
  1315.         -- GIVE MONEY BAG TO TEAM MEMBERS
  1316.         moneyteam = moneyteam or function()
  1317.                 for pl_key, pl_record in pairs( managers.groupai:state():all_player_criminals() ) do
  1318.                         if pl_record.status ~= "dead" then
  1319.                                 local unit = managers.groupai:state():all_player_criminals()[ pl_key ].unit:position()
  1320.                                 if Network:is_client() then
  1321.                                         managers.network:session():send_to_host( "server_drop_carry", "money", managers.money:get_bag_value( "turret" ), nil, nil, 0, unit, Rotation( math.UP, math.random() * 360 ), Vector3( 0,0,-100 ), 0 )
  1322.                                         managers.network:session():send_to_host( "server_drop_carry", "money", managers.money:get_bag_value( "turret" ), nil, nil, 0, unit, Rotation( math.UP, math.random() * 360 ), Vector3( 0,0,-100 ), 0 )
  1323.                                         managers.network:session():send_to_host( "server_drop_carry", "money", managers.money:get_bag_value( "turret" ), nil, nil, 0, unit, Rotation( math.UP, math.random() * 360 ), Vector3( 0,0,-100 ), 0 )
  1324.                                         managers.network:session():send_to_host( "server_drop_carry", "money", managers.money:get_bag_value( "turret" ), nil, nil, 0, unit, Rotation( math.UP, math.random() * 360 ), Vector3( 0,0,-100 ), 0 )
  1325.                                         managers.network:session():send_to_host( "server_drop_carry", "money", managers.money:get_bag_value( "turret" ), nil, nil, 0, unit, Rotation( math.UP, math.random() * 360 ), Vector3( 0,0,-100 ), 0 )
  1326.                                 else
  1327.                                         managers.player:server_drop_carry( "money", managers.money:get_bag_value( "turret" ), nil, nil, 0, unit, Rotation( math.UP, math.random() * 360 ), Vector3( 0,0,-100 ), 0 )
  1328.                                         managers.player:server_drop_carry( "money", managers.money:get_bag_value( "turret" ), nil, nil, 0, unit, Rotation( math.UP, math.random() * 360 ), Vector3( 0,0,-100 ), 0 )
  1329.                                         managers.player:server_drop_carry( "money", managers.money:get_bag_value( "turret" ), nil, nil, 0, unit, Rotation( math.UP, math.random() * 360 ), Vector3( 0,0,-100 ), 0 )
  1330.                                         managers.player:server_drop_carry( "money", managers.money:get_bag_value( "turret" ), nil, nil, 0, unit, Rotation( math.UP, math.random() * 360 ), Vector3( 0,0,-100 ), 0 )
  1331.                                         managers.player:server_drop_carry( "money", managers.money:get_bag_value( "turret" ), nil, nil, 0, unit, Rotation( math.UP, math.random() * 360 ), Vector3( 0,0,-100 ), 0 )
  1332.                                 end
  1333.                         end
  1334.                 end
  1335.         end
  1336.         -- DROP EXPLOSIVE BAGS ON TEAM MEMBERS
  1337.         demoteam = demoteam or function()
  1338.                 for pl_key, pl_record in pairs( managers.groupai:state():all_player_criminals() ) do
  1339.                         if pl_record.status ~= "dead" then
  1340.                                 local unit = managers.groupai:state():all_player_criminals()[ pl_key ].unit:position()
  1341.                                 if Network:is_client() then
  1342.                                         managers.network:session():send_to_host( "server_drop_carry", "ammo", managers.money:get_bag_value( "money" ), nil, nil, 0, unit, Rotation( math.UP, math.random() * 360 ), Vector3( 0,0,-100 ), 0 )
  1343.                                         managers.network:session():send_to_host( "server_drop_carry", "ammo", managers.money:get_bag_value( "money" ), nil, nil, 0, unit, Rotation( math.UP, math.random() * 360 ), Vector3( 0,0,-100 ), 0 )
  1344.                                         managers.network:session():send_to_host( "server_drop_carry", "ammo", managers.money:get_bag_value( "money" ), nil, nil, 0, unit, Rotation( math.UP, math.random() * 360 ), Vector3( 0,0,-100 ), 0 )
  1345.                                 else
  1346.                                         managers.player:server_drop_carry( "ammo", managers.money:get_bag_value( "money" ), nil, nil, 0, unit, Rotation( math.UP, math.random() * 360 ), Vector3( 0,0,-100 ), 0 )
  1347.                                         managers.player:server_drop_carry( "ammo", managers.money:get_bag_value( "money" ), nil, nil, 0, unit, Rotation( math.UP, math.random() * 360 ), Vector3( 0,0,-100 ), 0 )
  1348.                                         managers.player:server_drop_carry( "ammo", managers.money:get_bag_value( "money" ), nil, nil, 0, unit, Rotation( math.UP, math.random() * 360 ), Vector3( 0,0,-100 ), 0 )
  1349.                                 end
  1350.                         end
  1351.                 end
  1352.         end
  1353.         -- CHANGE TEAM MEMBERS NAMES
  1354.         teamnoob = teamnoob or function()
  1355.                 local i = 1
  1356.                 for pl_key, pl_record in pairs( managers.groupai:state():all_player_criminals() ) do
  1357.                         if pl_record.status ~= "dead" then
  1358.                                 local unit = managers.groupai:state():all_player_criminals()[ pl_key ].unit
  1359.                                 local peer = managers.network:session():peer( i )
  1360.                                 peer:set_profile( 1 )
  1361.                                 peer:set_name( 'Noob' )
  1362.                         end
  1363.                         i = i + 1
  1364.                 end
  1365.         end
  1366.  
  1367.         stat1 = stat1 or function()
  1368.                 local peer = managers.network:session():peer( 1 )
  1369.                 peer:set_statistics( 666,666,666,6,66 )
  1370.         end
  1371.  
  1372.         stat2 = stat2 or function()
  1373.                 local peer = managers.network:session():peer( 2 )
  1374.                 peer:set_statistics( 666,666,666,6,66 )
  1375.         end
  1376.  
  1377.         stat3 = stat3 or function()
  1378.                 local peer = managers.network:session():peer( 3 )
  1379.                 peer:set_statistics( 666,666,666,6,66 )
  1380.         end
  1381.  
  1382.         stat4 = stat4 or function()
  1383.                 local peer = managers.network:session():peer( 4 )
  1384.                 peer:set_statistics( 666,666,666,6,66 )
  1385.         end
  1386.         syncreleaseply1 = syncreleaseply1 or function()
  1387.                 if isHost() then
  1388.                         IngameWaitingForRespawnState.request_player_spawn( 1 )
  1389.                 else
  1390.                         show_mid_text("..n000000b", "HOST ONLY", 1.5 )
  1391.                 end
  1392.         end
  1393.         syncreleaseply2 = syncreleaseply2 or function()
  1394.                 if isHost() then
  1395.                         IngameWaitingForRespawnState.request_player_spawn( 2 )
  1396.                 else
  1397.                         show_mid_text("..n000000b", "HOST ONLY", 1.5 )
  1398.                 end
  1399.         end
  1400.         syncreleaseply3 = syncreleaseply3 or function()
  1401.                 if isHost() then
  1402.                         IngameWaitingForRespawnState.request_player_spawn( 3 )
  1403.                 else
  1404.                         show_mid_text("..n000000b", "HOST ONLY", 1.5 )
  1405.                 end
  1406.         end
  1407.         syncreleaseply4 = syncreleaseply4 or function()
  1408.                 if isHost() then
  1409.                         IngameWaitingForRespawnState.request_player_spawn( 4 )
  1410.                 else
  1411.                         show_mid_text("..n000000b", "HOST ONLY", 1.5 )
  1412.                 end
  1413.         end
  1414.         releaseteam = releaseteam or function()
  1415.                 syncreleaseply1()
  1416.                 syncreleaseply2()
  1417.                 syncreleaseply3()
  1418.                 syncreleaseply4()
  1419.         end
  1420.         --Instant Release from custody
  1421.         --caution do not alter, use as intended
  1422.         --please wait 5 seconds after death before using... by OJ
  1423.         releaseme = releaseme or function()
  1424.                 if game_state_machine:current_state_name() == "ingame_waiting_for_respawn" and not alive(managers.player:player_unit()) then
  1425.                         IngameWaitingForRespawnState:_begin_game_enter_transition()
  1426.                 end
  1427.         end
  1428.        
  1429.         sendalltojail = sendalltojail or function(id)
  1430.                 for _,u_data in pairs(managers.groupai:state():all_player_criminals()) do
  1431.                         local player = u_data.unit
  1432.                         local player_id = player:network():peer():id()
  1433.                         if id == player_id or id == -1 then
  1434.                                 player:network():send("sync_player_movement_state", "dead", 0, player:id() )
  1435.                                 --player:network():send("set_health", 0)
  1436.                                 player:network():send_to_unit( { "spawn_dropin_penalty", true, nil, 0, nil, nil } )
  1437.                                 managers.groupai:state():on_player_criminal_death( player:network():peer():id() )
  1438.                         end
  1439.                 end
  1440.         end
  1441.        
  1442.         spraydance = spraydance or function()
  1443.         --INSERT HACK HERE
  1444.         end
  1445.  
  1446.         -- OPEN ALL DOORS
  1447.         picklockst = picklockst or function()
  1448.                 local locksmith = {}
  1449.                 local id
  1450.                 for _,v in pairs(managers.interaction._interactive_objects) do
  1451.                         if v.interaction then
  1452.                                 id = string.sub(v:interaction()._unit:name():t(), 1, 10)
  1453.                                 if id == "@IDe653b95"
  1454.                                         or id == "@ID18a7cac"
  1455.                                         or id == "@IDa25106d"
  1456.                                         or id == "@IDb025e83"
  1457.                                         or id == "@ID08a3353"
  1458.                                         or id == "@ID851f323"
  1459.                                         or id == "@ID8e70272"
  1460.                                         or id == "@ID1d283db"
  1461.                                         or id == "@ID5a95fe8"
  1462.                                         or id == "@ID622b34c"
  1463.                                         or id == "@ID1e56fe5"
  1464.                                         or id == "@IDa096513"
  1465.                                         or id == "@IDcfb8d38"
  1466.                                         or id == "@IDb68beff"
  1467.                                         or id == "@IDcfb8d38"
  1468.                                         or id == "@ID31ccfa0"
  1469.                                         or id == "@IDe653b95"
  1470.                                         or id == "@IDd40d72e" then
  1471.                                         table.insert(locksmith, v:interaction())
  1472.                                 end
  1473.                         end
  1474.                 end
  1475.                 for _,v in pairs(locksmith) do
  1476.                         v:interact(managers.player:player_unit())
  1477.                 end
  1478.                 show_mid_text("...open sesame", "Pooooof", 0.5 )
  1479.         end
  1480.         -- HACK COMPUTERS AND KEYPADS
  1481.         instahackzt = instahackzt or function()
  1482.                 local h4x0r = {}
  1483.                 local id
  1484.                 for _,v in pairs(managers.interaction._interactive_objects) do
  1485.                         if v.interaction then
  1486.                                 id = string.sub(v:interaction()._unit:name():t(), 1, 10)
  1487.                                 if id == "@ID58cb6c4"
  1488.                                         or id == "@ID2721ad0" then
  1489.                                         table.insert(h4x0r, v:interaction())
  1490.                                 end
  1491.                         end
  1492.                 end
  1493.                 for _,v in pairs(h4x0r) do
  1494.                         v:interact(managers.player:player_unit())
  1495.                 end
  1496.                 show_mid_text("...lua hacked injected", "Pooooof", 0.5 )
  1497.         end
  1498.         -- USE KEYCARD
  1499.         usekeycardt = usekeycardt or function()
  1500.                 local usekey = {}
  1501.                 local id
  1502.                 for _,v in pairs(managers.interaction._interactive_objects) do
  1503.                         if v.interaction then
  1504.                                 id = string.sub(v:interaction()._unit:name():t(), 1, 10)
  1505.                                 if id == "@ID15d846f"
  1506.                                         or id == "@ID2a72308" then
  1507.                                         table.insert(usekey, v:interaction())
  1508.                                 end
  1509.                         end
  1510.                 end
  1511.                 for _,v in pairs(usekey) do
  1512.                         v:interact(managers.player:player_unit())
  1513.                 end
  1514.                 show_mid_text("...keycard(s) remote swiped", "Pooooof", 0.5 )
  1515.         end
  1516.         -- EL WANDO MAGICO
  1517.         minormagict = minormagict or function()
  1518.                 local apprentice = {}
  1519.                 local id
  1520.                 for _,v in pairs(managers.interaction._interactive_objects) do
  1521.                         if v.interaction then
  1522.                                 id = string.sub(v:interaction()._unit:name():t(), 1, 10)
  1523.                                 if id == "@IDc9609ee"
  1524.                                         or id == "@IDe5cdb6f"
  1525.                                         or id == "@IDb527421"
  1526.                                         or id == "@ID6dbc2f1"
  1527.                                         or id == "@ID6a55816"
  1528.                                         or id == "@ID5a95fe8"
  1529.                                         or id == "@IDd904ebd"
  1530.                                         or id == "@ID9ed5ee9"
  1531.                                         or id == "@IDc9b068a"
  1532.                                         or id == "@ID9c3047f"
  1533.                                         or id == "@ID3b0947a"
  1534.                                         or id == "@IDfac10a8"
  1535.                                         or id == "@ID6c5d032"
  1536.                                         or id == "@IDac5a9a0" then
  1537.                                                 table.insert(apprentice, v:interaction())
  1538.                                 end
  1539.                         end
  1540.                 end
  1541.                 for _,v in pairs(apprentice) do
  1542.                         v:interact(managers.player:player_unit())
  1543.                 end
  1544.                 show_mid_text("...It's a kind of magic", "Pooooof", 0.5 )
  1545.         end
  1546.        
  1547.         -- BOARD UP WINDOWS
  1548.         instaboardst = instaboardst or function()
  1549.                 local boardwin = {}
  1550.                 local id
  1551.                 for _,v in pairs(managers.interaction._interactive_objects) do
  1552.                         if v.interaction then
  1553.                                 id = string.sub(v:interaction()._unit:name():t(), 1, 10)
  1554.                                 if id == "@IDb71bf75"
  1555.                                 or id == "@IDb71bf75"
  1556.                                 or id == "@IDb55faf1"  
  1557.                                 or id == "@IDb55faf1"          
  1558.                                 or id == "@ID4738b25"
  1559.                                 or id == "@IDb524e47" then
  1560.                                         table.insert(boardwin, v:interaction())
  1561.                                 end
  1562.                         end
  1563.                 end
  1564.                 for _,v in pairs(boardwin) do
  1565.                         v:interact(managers.player:player_unit())
  1566.                 end
  1567.                 show_mid_text("...let there be... .hmmm darkness", "Pooooof", 0.5 )
  1568.         end
  1569.  
  1570.         -- ANSWER PHONECALLS
  1571.         callcentert = callcentert or function()
  1572.                 local phoney = {}
  1573.                 local id
  1574.                 for _,v in pairs(managers.interaction._interactive_objects) do
  1575.                         if v.interaction then
  1576.                                 id = string.sub(v:interaction()._unit:name():t(), 1, 10)
  1577.                                 if id == "@IDd5e1a53"
  1578.                                         or id == "@ID6dbc2f1"
  1579.                                         or id == "@IDba2c036" then
  1580.                                                 table.insert(phoney, v:interaction())
  1581.                                 end
  1582.                         end
  1583.                 end
  1584.                 for _,v in pairs(phoney) do
  1585.                         v:interact(managers.player:player_unit())
  1586.                 end
  1587.                 show_mid_text("...phones and pagers dealt with", "Pooooof", 0.5 )
  1588.         end
  1589. end
  1590. getpatht = getpatht or function()
  1591.         managers.player:carry_stacker() -- BAGPACKER
  1592.         local ontrack = {}
  1593.         local id
  1594.         for _,v in pairs(managers.interaction._interactive_objects) do
  1595.                 if v.interaction then
  1596.                         id = string.sub(v:interaction()._unit:name():t(), 1, 10)
  1597.                         if id == "@ID99aa0ad"
  1598.                                 or id == "@ID51001ab"
  1599.                                 or id == "@IDca8a8a2"
  1600.                                 or id == "@ID51001ab"
  1601.                                 or id == "@ID03777a0"
  1602.                                 or id == "@ID4a6b073"
  1603.                                 or id == "@ID7883aa4"
  1604.                                 or id == "@IDeee53eb"
  1605.                                 or id == "@ID1a1c9b0"
  1606.                                 or id == "@IDda87b02"
  1607.                                 or id == "@ID9140188"
  1608.                                 or id == "@ID15d846f"
  1609.                                 or id == "@ID4e2b16f"
  1610.                                 or id == "@IDf1461ef"
  1611.                                 or id == "@ID7dc5f75"
  1612.                                 or id == "@IDd8b036e"
  1613.                                 or id == "@ID9140188"
  1614.                                 or id == "@ID39a5689"
  1615.                                 or id == "@ID22c41a3"
  1616.                                 or id == "@IDdf59d98"
  1617.                                 or id == "@ID5a95fe8"
  1618.                                 or id == "@ID6a55816"
  1619.                                 or id == "@IDf105b35"
  1620.                                 or id == "@IDd8b036e"
  1621.                                 or id == "@ID64b82ec"
  1622.                                 or id == "@ID1f6a50d"
  1623.                                 or id == "@ID077636c"
  1624.                                 or id == "@ID6dbc2f1"
  1625.                                 or id == "@IDdd16274"
  1626.                                 or id == "@ID136f21b"
  1627.                                 or id == "@ID2be5897"
  1628.                                 or id == "@IDc54c876"
  1629.                                 or id == "@IDdb2e8d0"
  1630.                                 or id == "@ID2a72308"
  1631.                                 or id == "@IDd5e1a53"
  1632.                                 or id == "@ID853940b"
  1633.                                 or id == "@IDcfbdf01"
  1634.                                 or id == "@IDbb82cfc"
  1635.                                 or id == "@ID54e8d78"
  1636.                                 or id == "@IDd90bf4a"
  1637.                                 or id == "@ID0275b3e"
  1638.                                 or id == "@ID08a6323"
  1639.                                 or id == "@IDdd0578d"
  1640.                                 or id == "@ID4ba585b"
  1641.                                 or id == "@IDe258187"
  1642.                                 or id == "@ID5422d8b"
  1643.                                 or id == "@IDe6cb9c8" then
  1644.                                 table.insert(ontrack, v:interaction())
  1645.                         end
  1646.                 end
  1647.         end
  1648.         for _,v in pairs(ontrack) do
  1649.                 v:interact(managers.player:player_unit())
  1650.         end
  1651.         show_mid_text("...and the mission continues", "Pooooof", 0.5 )
  1652. end
  1653. -- PLACE DRILL ON DOORS / RESTART DRILL
  1654. thrilldrillt = thrilldrillt or function()
  1655.         local drilldo = {} --interacting while looping invalidates the table, so we have to build a list
  1656.         local id
  1657.         for _,v in pairs(managers.interaction._interactive_objects) do
  1658.                 if v.interaction then
  1659.                         id = string.sub(v:interaction()._unit:name():t(), 1, 10)
  1660.                         if id == "@ID584bea0"
  1661.                                 or id == "@ID1f6a50d"
  1662.                                 or id == "@ID51001ab"
  1663.                                 or id == "@IDf594e56" then
  1664.                                         table.insert(drilldo, v:interaction())
  1665.                         end
  1666.                 end
  1667.         end
  1668.         for _,v in pairs(drilldo) do
  1669.                 v:interact(managers.player:player_unit())
  1670.         end
  1671.         show_mid_text("...all doors drilling", "Pooooof", 0.5 )
  1672. end
  1673.  
  1674.  function player_name(id)
  1675.         if managers.platform:presence() ~= "Playing" then
  1676.                 return ""
  1677.         end
  1678.  
  1679.         for _,data in pairs( managers.groupai:state():all_player_criminals() ) do
  1680.                 local unit = data.unit
  1681.                 if unit:network():peer():id() == id then
  1682.                         return unit:base():nick_name()
  1683.                 end
  1684.         end
  1685.         return ""
  1686. end
  1687.  
  1688. callrainmenu = callrainmenu or function()
  1689.     dofiles("trainer/assets/rainmenu.lua")
  1690. end
  1691. crapout = crapout or function()
  1692.         dofiles("trainer/assets/trashit.lua")
  1693. end
  1694. lockmeup = lockmeup or function()
  1695.         dofiles("trainer/assets/jailme.lua")
  1696. end
  1697.  
  1698. -------------------------------
  1699. -- MENU CONTENT --
  1700. -------------------------------
  1701. calltrollrootmenuo = calltrollmenuo or function()
  1702.     openmenu(trollmenuo)
  1703. end
  1704. calltrollrootmenui = calltrollrootmenui or function()
  1705.     openmenu(trollmenui)
  1706. end
  1707. calltrollspoofmenu2 = calltrollspoofmenu2 or function()
  1708.     openmenu(spoofmenu2)
  1709. end
  1710. calltrollspoofmenu3 = calltrollspoofmenu3 or function()
  1711.     openmenu(spoofmenu3)
  1712. end
  1713. calltrollspoofmenu4 = calltrollspoofmenu4 or function()
  1714.     openmenu(spoofmenu4)
  1715. end
  1716. calltrollspoofmenu5 = calltrollspoofmenu5 or function()
  1717.     openmenu(spoofmenu5)
  1718. end
  1719. callsyncmainmenu = callsyncmainmenu or function()
  1720.     openmenu(syncpmenu)
  1721. end
  1722. callpstatemenu = callpstatemenu or function()
  1723.     openmenu(pstatemenu)
  1724. end
  1725. callsync1menu = callsync1menu or function()
  1726.     openmenu(syncp1menu)
  1727. end
  1728. callsync2menu = callsync2menu or function()
  1729.     openmenu(syncp2menu)
  1730. end
  1731. callsync3menu = callsync3menu or function()
  1732.     openmenu(syncp3menu)
  1733. end
  1734. callsync4menu = callsync4menu or function()
  1735.     openmenu(syncp4menu)
  1736. end
  1737.  
  1738. -- PLAYER STATE MENU INGAME
  1739. pstateopt = pstateopt or {
  1740.         { text = "Back", callback = calltrollrootmenui },
  1741.         { text = "", is_cancel_button = true},
  1742.         { text = "Clean", callback = stateclean },
  1743.         { text = "Tased", callback = statetased },
  1744.         { text = "Normal", callback = statenorm },
  1745.         { text = "Cuffed", callback = statecuffs },
  1746.         { text = "Bleed Out", callback = stateblood },
  1747.         { text = "Incapacitated", callback = stateinca },
  1748.         {},
  1749.         { text = "Spoof level to 1", callback = selflevel1 },
  1750.         { text = "Spoof level to 100", callback = selflevel100 },
  1751.         { text = "Spoof level to 255", callback = selflevel255 },
  1752.         {},
  1753.         { text = "Release me from jail", callback = releaseme },
  1754.         { text = "Throw my ass in jail", callback = lockmeup },
  1755.         }
  1756. pstatemenu = pstatemenu or SimpleMenu:new("MESS WITH SELF", "fake death, bleed out bonanza or getouttajail free card",pstateopt)
  1757. -- SYNC PLAYER 1 STATE
  1758. syncp1opt = {
  1759.         { text = "Back", callback = callsyncmainmenu },
  1760.         { text = "", is_cancel_button = true},
  1761.         { text = "Cuffs", callback = syncstatecuffs, data = 1 },
  1762.         { text = "Tased", callback = syncstatetased, data = 1 },
  1763.         { text = "Mask on", callback = syncstatestandard, data = 1 },
  1764.         { text = "Mask off", callback = syncstateclean, data = 1 },
  1765.         { text = "Bleed Out", callback = syncstatebleed_out, data = 1 },
  1766.         { text = "Incapacitated", callback = syncstateincapacitated, data = 1 },
  1767.         {},
  1768.         { text = "Switch switch boom CTD (HOST)", callback = ctdply, data = 1 }, -- dont tell how if changed please, also its unstable be warned
  1769.         { text = "Release player from jail (HOST)", callback = syncreleaseply1 },
  1770.         { text = "Throw player in jail (HOST)", callback = sendalltojail, data = 1 },
  1771.         { text = "Change final stats to evil", callback = stat1 },
  1772.         { text = "Teleport to player", callback = teleporttoply, data = 1 },
  1773.         { text = "Fus ro dah!", callback = fusrodah1 },
  1774.         {},
  1775.         { text = "Set player level to 1", callback = ply1level1 },
  1776.         { text = "Set player level to 100", callback = ply1level100 },
  1777.         { text = "Set player level to 255", callback = ply1level255 },
  1778.         {},
  1779.         { text = "Give him grenade case (HOST)", callback = givenadesto1 },
  1780.         { text = "Give him ammo bag", callback = giveammoto, data = 1 },
  1781.         { text = "Give him medikit", callback = givemedikito, data = 1 },
  1782.         {},
  1783.         { text = "Force carry engine bag (2nd time blocks carry)", callback = syncforceengine, data = 1 },
  1784.         { text = "Plant gold bag on him (HOST)", callback = givegoldto, data = 1 },
  1785.         { text = "Give him x-mas gift", callback = givemoneyto, data = 1 },
  1786.         { text = "Betty bomb him", callback = giveexplosiontoc, data = 1 },
  1787.         { text = "Go directly to jail (NOT WORKING YET)", callback = syncplyjail1 },
  1788.         { text = "Remove player gear (NOT WORKING YET)", callback = syncremovegear1 },
  1789.         }
  1790. syncp1menu = SimpleMenu:new("MESS WITH "..player_name(1).."", "..choose how to troll",syncp1opt)
  1791. -- SYNC PLAYER 2 STATE
  1792. syncp2opt = {
  1793.         { text = "Back", callback = callsyncmainmenu },
  1794.         { text = "", is_cancel_button = true},
  1795.         { text = "Cuffs", callback = syncstatecuffs, data = 2 },
  1796.         { text = "Tased", callback = syncstatetased, data = 2 },
  1797.         { text = "Mask on", callback = syncstatestandard, data = 2 },
  1798.         { text = "Mask off", callback = syncstateclean, data = 2 },
  1799.         { text = "Bleed Out", callback = syncstatebleed_out, data = 2 },
  1800.         { text = "Incapacitated", callback = syncstateincapacitated, data = 2 },
  1801.         {},
  1802.         { text = "Switch switch boom CTD (HOST)", callback = ctdply, data = 2 }, -- dont tell how if changed please, also its unstable be warned
  1803.         { text = "Release player from jail (HOST)", callback = syncreleaseply2 },
  1804.         { text = "Throw player in jail (HOST)", callback = sendalltojail, data = 2 },
  1805.         { text = "Change final stats to evil", callback = stat2 },
  1806.         { text = "Teleport to player", callback = teleporttoply, data = 2 },
  1807.         { text = "Fus ro dah!", callback = fusrodah2 },
  1808.         {},
  1809.         { text = "Set player level to 1", callback = ply2level1 },
  1810.         { text = "Set player level to 100", callback = ply2level100 },
  1811.         { text = "Set player level to 255", callback = ply2level255 },
  1812.         {},
  1813.         { text = "Give him grenade case (HOST)", callback = givenadesto2 },
  1814.         { text = "Give him ammo bag", callback = giveammoto, data = 2 },
  1815.         { text = "Give him medikit", callback = givemedikito, data = 2 },
  1816.         {},
  1817.         { text = "Force carry engine bag (2nd time blocks carry)", callback = syncforceengine, data = 2 },
  1818.         { text = "Plant gold bag on him", callback = givegoldto, data = 2 },
  1819.         { text = "Give him x-mas gift", callback = givemoneyto, data = 2 },
  1820.         { text = "Betty bomb him", callback = giveexplosiontoc, data = 2 },
  1821.         { text = "Go directly to jail (NOT WORKING YET)", callback = syncplyjail2 },
  1822.         { text = "Remove player gear (NOT WORKING YET)", callback = syncremovegear2 },
  1823.         }
  1824. syncp2menu = SimpleMenu:new("MESS WITH "..player_name(2).."", "..choose how to troll",syncp2opt)
  1825. -- SYNC PLAYER 3 STATE
  1826. syncp3opt = {
  1827.         { text = "Back", callback = callsyncmainmenu },
  1828.         { text = "", is_cancel_button = true},
  1829.         { text = "Cuffs", callback = syncstatecuffs, data = 3 },
  1830.         { text = "Tased", callback = syncstatetased, data = 3 },
  1831.         { text = "Mask on", callback = syncstatestandard, data = 3 },
  1832.         { text = "Mask off", callback = syncstateclean, data = 3 },
  1833.         { text = "Bleed Out", callback = syncstatebleed_out, data = 3 },
  1834.         { text = "Incapacitated", callback = syncstateincapacitated, data = 3 },
  1835.         {},
  1836.         { text = "Switch switch boom CTD (HOST)", callback = ctdply, data = 3 }, -- dont tell how if changed please, also its unstable be warned
  1837.         { text = "Release player from jail (HOST)", callback = syncreleaseply3 },
  1838.         { text = "Throw player in jail (HOST)", callback = sendalltojail, data = 3 },
  1839.         { text = "Change final stats to evil", callback = stat3 },
  1840.         { text = "Teleport to player", callback = teleporttoply, data = 3 },
  1841.         { text = "Fus ro dah!", callback = fusrodah3 },
  1842.         {},
  1843.         { text = "Set player level to 1", callback = ply3level1 },
  1844.         { text = "Set player level to 100", callback = ply3level100 },
  1845.         { text = "Set player level to 255", callback = ply3level255 },
  1846.         {},
  1847.         { text = "Give him grenade case (HOST)", callback = givenadesto3 },
  1848.         { text = "Give him ammo bag", callback = giveammoto, data = 3 },
  1849.         { text = "Give him medikit", callback = givemedikito, data = 3 },
  1850.         {},
  1851.         { text = "Force carry engine bag (2nd time blocks carry)", callback = syncforceengine, data = 3 },
  1852.         { text = "Plant gold bag on him", callback = givegoldto, data = 3 },
  1853.         { text = "Give him x-mas gift", callback = givemoneyto, data = 3 },
  1854.         { text = "Betty bomb him", callback = giveexplosiontoc, data = 3 },
  1855.         { text = "Go directly to jail (NOT WORKING YET)", callback = syncplyjail3 },
  1856.         { text = "Remove player gear (NOT WORKING YET)", callback = syncremovegear3 },
  1857.         }
  1858. syncp3menu = SimpleMenu:new("MESS WITH "..player_name(3).."", "..choose how to troll",syncp3opt)
  1859. -- SYNC PLAYER 4 STATE
  1860. syncp4opt = {
  1861.         { text = "Back", callback = callsyncmainmenu },
  1862.         { text = "", is_cancel_button = true},
  1863.         { text = "Cuffs", callback = syncstatecuffs, data = 4 },
  1864.         { text = "Tased", callback = syncstatetased, data = 4 },
  1865.         { text = "Mask on", callback = syncstatestandard, data = 4 },
  1866.         { text = "Mask off", callback = syncstateclean, data = 4 },
  1867.         { text = "Bleed Out", callback = syncstatebleed_out, data = 4 },
  1868.         { text = "Incapacitated", callback = syncstateincapacitated, data = 4 },
  1869.          {},
  1870.         { text = "Switch switch boom CTD (HOST)", callback = ctdply, data = 4 }, -- dont tell how if changed please, also its unstable be warned
  1871.         { text = "Release player from jail (HOST)", callback = syncreleaseply4 },
  1872.         { text = "Throw player in jail (HOST)", callback = sendalltojail, data = 4 },
  1873.         { text = "Change final stats to evil", callback = stat4 },
  1874.         { text = "Teleport to player", callback = teleporttoply, data = 4 },
  1875.         { text = "Fus ro dah!", callback = fusrodah4 },
  1876.         {},
  1877.         { text = "Set player level to 1", callback = ply4level1 },
  1878.         { text = "Set player level to 100", callback = ply4level100 },
  1879.         { text = "Set player level to 255", callback = ply4level255 },
  1880.         {},
  1881.         { text = "Give him grenade case (HOST)", callback = givenadesto4 },
  1882.         { text = "Give him ammo bag", callback = giveammoto, data = 4 },
  1883.         { text = "Give him medikit", callback = givemedikito, data = 4 },
  1884.         {},
  1885.         { text = "Force carry engine bag (2nd time blocks carry)", callback = syncforceengine, data = 4 },
  1886.         { text = "Plant gold bag on him", callback = givegoldto, data = 4 },
  1887.         { text = "Give him x-mas gift", callback = givemoneyto, data = 4 },
  1888.         { text = "Betty bomb him", callback = giveexplosiontoc, data = 4 },
  1889.         { text = "Go directly to jail (NOT WORKING YET)", callback = syncplyjail4 },
  1890.         { text = "Remove player gear (NOT WORKING YET)", callback = syncremovegear4 },
  1891.         }
  1892. syncp4menu = SimpleMenu:new("MESS WITH "..player_name(4).."", "..choose how to troll",syncp4opt)
  1893. syncpmopt = {
  1894.         { text = "Back", callback = calltrollrootmenui },
  1895.         { text = "", is_cancel_button = true},
  1896.         { text = "Cuff all players", callback = synccuffall },
  1897.         { text = "Tase all players", callback = synctaseall },
  1898.         { text = "Incapacitate all players", callback = syncincaall },
  1899.         { text = "Bleed out all players", callback = syncbleedall },
  1900.         {},
  1901.         { text = "Clean Team, CTD all (HOST)", callback = ctdteam },
  1902.         { text = "Release all teammates from jail", callback = releaseteam },
  1903.         { text = "Throw all teammates in jail", callback = sendalltojail, data = -1 },
  1904.         { text = "Team noob, changes names to noob (HOST)", callback = teamnoob },
  1905.         {},
  1906.         { text = "Noob team, all teammembers level 1", callback = teamlvl1 },
  1907.         { text = "Pro team, all teammembers level 100", callback = teamlvl100 },
  1908.         { text = "Elite team, all teammembers level 255", callback = teamlvl255 },
  1909.         {},
  1910.         { text = "Golden teambag, drop gold on team", callback = goldteam },
  1911.         { text = "Santa flyby, drop moneybag on team", callback = moneyteam },
  1912.         { text = "Demolition team, drop bombs on team", callback = demoteam },
  1913.         {},
  1914.         { text = "Mess with "..player_name(4).."", callback = callsync4menu },
  1915.         { text = "Mess with "..player_name(3).."", callback = callsync3menu },
  1916.         { text = "Mess with "..player_name(2).."", callback = callsync2menu },
  1917.         { text = "Mess with "..player_name(1).."", callback = callsync1menu },
  1918.         {},
  1919.         { text = "Identify players", callback = callsyncident }, -- DEPRECATED
  1920.         }
  1921. syncpmenu = SimpleMenu:new("CHOOSE TARGET", "...which player to irritate",syncpmopt)
  1922. -- SPOOF NAME PAGE 5
  1923. spoofopt5 = {
  1924.         { text = "Page 1", callback = calltrollrootmenuo },
  1925.         { text = "Page 2", callback = calltrollspoofmenu2 },
  1926.         { text = "Page 3", callback = calltrollspoofmenu3 },
  1927.         { text = "Page 4", callback = calltrollspoofmenu4 },
  1928.         { text = "", is_cancel_button = true},
  1929.         { text = "Pirate Captain", callback = PirateCaptain },
  1930.         { text = "Baddog-11", callback = Baddog },
  1931.         { text = "Axe Wound", callback = AxeWound },
  1932.         { text = "\[TEC\] Anon", callback = nametec },
  1933.         { text = "Iam Cornholio", callback = cornholio },
  1934.         { text = "Hax0r", callback = Hax0r },
  1935.         {},
  1936.         { text = "Smelly Pirate Captain", callback = spoof5 },
  1937.         { text = "Demonic Pirate Captain", callback = DemonicPirateCaptain },
  1938.         { text = "Pirate Pirate Captain", callback = PiratePirateCaptain },
  1939.         { text = "Captain Pirate", callback = CaptainPirate },
  1940.         { text = "Pirate Perfection Fan#1", callback = PiratePerfectionFan },
  1941.         }
  1942. spoofmenu5 = spoofmenu5 or SimpleMenu:new("Specialists Menu", ".. dafuq are you doing here????",spoofopt5)
  1943. -- SPOOF NAME PAGE 4
  1944. spoofopt4 = {
  1945.         { text = "Page 1", callback = calltrollrootmenuo },
  1946.         { text = "Page 2", callback = calltrollspoofmenu2 },
  1947.         { text = "Page 3", callback = calltrollspoofmenu3 },
  1948.         { text = "Page 5", callback = calltrollspoofmenu5 },   
  1949.         { text = "", is_cancel_button = true},
  1950.         { text = "Slobodan Milosevic", callback = namesec9 },
  1951.         { text = "Osama Bin Laden", callback = namesec8 },
  1952.         { text = "Saddam Hussein", callback = namesec7 },
  1953.         { text = "Harald Bluetooth", callback = namesec13 },
  1954.         { text = "Benito Mussolini", callback = namesec11 },
  1955.         { text = "Mao Tse-Tung", callback = namesec4 },
  1956.         { text = "Vladimir Lenin", callback = namesec5 },
  1957.         { text = "Vladimir Putin", callback = namesec3 },
  1958.         { text = "Joseph Stalin", callback = namesec2 },
  1959.         { text = "Motherfucker", callback = namesec16 },
  1960.         { text = "Bitchslapper", callback = namesec17 },
  1961.         { text = "Adolf Hitler", callback = namesec1 },
  1962.         { text = "Kim Jong Il", callback = namesec6 },
  1963.         { text = "Asskicker", callback = namesec15 },
  1964.         { text = "Zomboss", callback = namesec20 },
  1965.         { text = "Copkiller", callback = namesec18 },
  1966.         { text = "Idi Amin", callback = namesec10 },
  1967.         { text = "Hirohito", callback = namesec14 },
  1968.         { text = "Pol Pot", callback = namesec12 },
  1969.         { text = "v00d00", callback = namesec19 },
  1970.         }
  1971. spoofmenu4 = spoofmenu4 or SimpleMenu:new("SECRET MENU", ".. dafuq are you doing here????",spoofopt4)
  1972. -- SPOOF NAME PAGE 3
  1973. spoofopt3 = {
  1974.         { text = "Page 1", callback = calltrollrootmenuo },
  1975.         { text = "Page 2", callback = calltrollspoofmenu2 },
  1976.         { text = "Page 4", callback = calltrollspoofmenu4 },   
  1977.         { text = "Page 5", callback = calltrollspoofmenu5 },   
  1978.         { text = "", is_cancel_button = true},
  1979.         { text = "Generous George", callback = spoof31 },
  1980.         { text = "Phillip Oliver Holz", callback = spoof25 },
  1981.         { text = "Wilma Fingerdoo", callback = spoof24 },
  1982.         { text = "Cheating allowed", callback = spoof27 },
  1983.         { text = "Ivanna Humpalot", callback = spoof18 },
  1984.         { text = "Ol' Dirty Bastard", callback = spoof26 },
  1985.         { text = "Newbie Booster", callback = spoof33 },
  1986.         { text = "Seymore Butts", callback = spoof19 },
  1987.         { text = "Homer Sexual", callback = spoof16 },
  1988.         { text = "Justin Heranus", callback = spoof20 },
  1989.         { text = "Cheaters 'r us", callback = spoof29 },
  1990.         { text = "Carrie Mysac", callback = spoof21 },
  1991.         { text = "Mike Oxsbig", callback = spoof23 },
  1992.         { text = "Rusty Kuntz", callback = spoof14 },
  1993.         { text = "Slynderdale", callback = namesephi },
  1994.         { text = "Clee Torres", callback = spoof15 },
  1995.         { text = "Max Payne", callback = namemaxp },
  1996.         { text = "Sam Fisher", callback = namesamf },
  1997.         { text = "Rockefella", callback = spoof30 },
  1998.         { text = "I. C. Kuntz", callback = spoof17 },
  1999.         { text = "Lou Scunt", callback = spoof22 },
  2000.         { text = "Noob", callback = spoof32 },
  2001.         }
  2002. spoofmenu3 = spoofmenu3 or SimpleMenu:new("SPOOF NAME Page 3", ".. or how about one of these names\?",spoofopt3)
  2003. -- SPOOF NAME PAGE 2
  2004. spoofopt2 = {
  2005.         { text = "Page 1", callback = calltrollrootmenuo },
  2006.         { text = "Page 3", callback = calltrollspoofmenu3 },
  2007.         { text = "Page 4", callback = calltrollspoofmenu4 },   
  2008.         { text = "Page 5", callback = calltrollspoofmenu5 },
  2009.         { text = "", is_cancel_button = true},
  2010.         { text = "Guybrush Threepwood", callback = namewood },
  2011.         { text = "Vaas Montenegro", callback = namevaas },
  2012.         { text = "Gordon Freeman", callback = namegordon },
  2013.         { text = "Nathan Drake", callback = namenathan },
  2014.         { text = "I love cheats", callback = spoof28 },
  2015.         { text = "Master Chief", callback = namemaster },
  2016.         { text = "Sandy Cervix", callback = spoof11 },
  2017.         { text = "Phillip Purass", callback = spoof10 },
  2018.         { text = "Duke Nukem", callback = spoof3 },
  2019.         { text = "Solid Snake", callback = namesolid },
  2020.         { text = "Spongebob", callback = spoof12 },
  2021.         { text = "Ran Sidass", callback = spoof8 },
  2022.         { text = "Jack Goff", callback = spoof2 },
  2023.         { text = "madMAX", callback = spoof34 },
  2024.         { text = "Douglby", callback = spoof1 },
  2025.         { text = "Bender", callback = spoof13 },
  2026.         { text = "Invisible man", callback = nameinvis },
  2027.         { text = "Rubber man", callback = namerubber },
  2028.         { text = "Spiderman", callback = namespider },
  2029.         { text = "Uraz88", callback = namesuper },
  2030.         { text = "Baldwin", callback = namebat },
  2031.         }
  2032. spoofmenu2 = spoofmenu2 or SimpleMenu:new("SPOOF NAME Page 2", ".. or this name better\?",spoofopt2)
  2033. -- ROOT MENU OUTGAME
  2034. troopto = {
  2035.         { text = "Page 2", callback = calltrollspoofmenu2 },
  2036.         { text = "Page 3", callback = calltrollspoofmenu3 },
  2037.         { text = "Page 4", callback = calltrollspoofmenu4 },   
  2038.         { text = "Page 5", callback = calltrollspoofmenu5 },
  2039.         { text = "", is_cancel_button = true},
  2040.         { text = "Kenneth The Janitor", callback = killkenny },
  2041.         { text = "OVERKILL_Andreas", callback = nameandy },
  2042.         { text = "OVERKILL_Viktor", callback = namevicky },
  2043.         { text = "OVERKILL_Per_J", callback = namepearj },
  2044.         { text = "OVERKILL_Almir", callback = namealmighty },
  2045.         { text = "OVERKILL BO", callback = bobo },
  2046.         { text = "GurillaOverkilla", callback = nameape },
  2047.         { text = "SimonViklund", callback = namesimon },      
  2048.         { text = "CaretCaret", callback = namecaret },
  2049.         { text = "Overkillja", callback = namekillja },
  2050.         { text = "locust9", callback = festoriginal },
  2051.         { text = "Pastej", callback = namepastej },
  2052.         {},
  2053.         { text = "The Grim Reaper", callback = namesissy2 },
  2054.         { text = "Buster Hyman", callback = spoof9 },
  2055.         { text = "Alotta Fagina", callback = spoof6 },
  2056.         { text = "Harry P. Ness", callback = spoof7 },
  2057.         { text = "Master Bates", callback = namebates },
  2058.         { text = "King Nothing", callback = namesissy1 },
  2059.         { text = "Mike Litoris", callback = spoof4 },
  2060.         { text = "RoboCop", callback = namerobo },
  2061.         }
  2062. -- ROOT MENU INGAME
  2063. troopti = trooti or {
  2064.         { text = "Release all teammates from jail", callback = releaseteam },
  2065.         { text = "Mess with other players \[menu\]", callback = callsyncmainmenu },
  2066.         { text = "Mess with self \[menu\]", callback = callpstatemenu },
  2067.         { text = "Make it rain \[menu\]", callback = callrainmenu },
  2068.         { text = "", is_cancel_button = true},
  2069.         {},
  2070.         { text = "One cop die, two new spawns \[HOST\]", callback = onetotwo },
  2071.         { text = "Dead cops turn to bulldozers", callback = bullcop },
  2072.         { text = "Electric blood boogie : toggle", callback = spraydance },
  2073.         {},    
  2074.         { text = "Mission manipulator get item/continue mission", callback = getpatht },
  2075.         { text = "Drill manipulator start/restart drill", callback = thrilldrillt },
  2076.         { text = "Prevent wait for players at start", callback = dontwait },
  2077.         { text = "Open all bank deposit boxes", callback = bankbuster },
  2078.         { text = "Apocalypse : Kill 'em all", callback = apocalypse },
  2079.         { text = "Board up all windows", callback = instaboardst },    
  2080.         { text = "Phone calls rerouted", callback = callcentert },
  2081.         { text = "Take mask off again", callback = faceoff },
  2082.         { text = "Free civilian killing", callback = freekill },
  2083.         { text = "Doors etc opened", callback = picklockst },
  2084.         { text = "Computer h4X0r", callback = instahackzt },
  2085.         { text = "Trash all bags", callback = crapout },
  2086.         { text = "Use keycard", callback = usekeycardt },
  2087.         { text = "Magic wand" , callback = minormagict },
  2088.         { text = "Prevent pause from player drop-in", callback = stoppause }, -- MOVED TO PERSIST
  2089.         }
  2090. -- ROOT MENU OUTGAME
  2091. if not trollmenuo then
  2092.     trollmenuo = trollmenuo or SimpleMenu:new("Troll Menu", "..troll as your favorite hero", troopto)
  2093. end
  2094. -- ROOT MENU INGAME
  2095. if not trollmenui then
  2096.     trollmenui = trollmenui or SimpleMenu:new("Troll menu", "Carrot/stick some noobs..", troopti)
  2097. end
  2098. -- SHOW INGAME/OUTGAME MENU
  2099. if not inGame() then
  2100. trollmenuo:show()
  2101. else
  2102. trollmenui:show()
  2103. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement