Advertisement
AppleJeb

Untitled

Dec 4th, 2016
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.20 KB | None | 0 0
  1. rp.pp = rp.pp or {}
  2.  
  3. --
  4. -- Hooks
  5. --
  6. hook('CanTool', 'pp.CanTool', function(pl, trace, tool)
  7. local ent = trace.Entity
  8.  
  9. return (IsValid(ent) and (ent:GetNetVar('PropIsOwned') == true))
  10. end)
  11.  
  12. --hook('PhysgunPickup', 'pp.PhysgunPickup', function(pl, ent) return false end)
  13.  
  14. function GM:GravGunPunt(pl, ent)
  15. return pl:IsRoot()
  16. end
  17.  
  18. --
  19. -- Menus
  20. --
  21. local ranks = {
  22. [0] = 'user',
  23. [1] = 'VIP',
  24. [2] = 'Admin',
  25. [3] = 'Globaladmin'
  26. }
  27.  
  28. function rp.pp.ToolEditor()
  29. local tools = net.ReadTable()
  30.  
  31. local fr = ui.Create('ui_frame', function(self)
  32. self:SetSize(500, 400)
  33. self:SetTitle('Tool editor')
  34. self:Center()
  35. self:MakePopup()
  36. end)
  37.  
  38. local targ
  39.  
  40. local list = ui.Create('DListView', function(self, p) -- TODO: FIX
  41. self:SetPos(5, 30)
  42. self:SetSize(p:GetWide() - 10, p:GetTall() - 65)
  43. self:SetMultiSelect(false)
  44. self:AddColumn('Tool')
  45. self:AddColumn('Rank')
  46.  
  47. self.OnRowSelected = function(parent, line)
  48. targ = self:GetLine(line):GetColumnText(1)
  49. end
  50.  
  51. for a, b in ipairs(spawnmenu.GetTools()) do
  52. for c, d in ipairs(spawnmenu.GetTools()[a].Items) do
  53. for e, f in ipairs(spawnmenu.GetTools()[a].Items[c]) do
  54. if (type(f) == 'table') and string.find(f.Command, 'gmod_tool') then
  55. self:AddLine(f.ItemName, tools[f.ItemName] and ranks[tools[f.ItemName]] or 'user')
  56. end
  57. end
  58. end
  59. end
  60. end, fr)
  61.  
  62. for i = 1, 4 do
  63. ui.Create('DButton', function(self, p)
  64. self:SetSize(p:GetWide() / 4 - 6, 25)
  65. self:SetPos((i - 1) * (p:GetWide() / 4 - 6) + (5 * i), p:GetTall() - 30)
  66. self:SetText(ranks[i - 1])
  67.  
  68. self.DoClick = function()
  69. rp.RunCommand('settoolgroup', targ, (i - 1))
  70. end
  71. end, fr)
  72. end
  73. end
  74.  
  75. net('rp.toolEditor', rp.pp.ToolEditor)
  76.  
  77. function rp.pp.SharePropMenu()
  78. local fr = ui.Create('ui_frame', function(self)
  79. self:SetSize(500, 400)
  80. self:SetTitle('Share Props')
  81. self:Center()
  82. self:MakePopup()
  83. end)
  84.  
  85. local targ
  86.  
  87. local list = ui.Create('DListView', function(self, p)
  88. self:SetPos(5, 30)
  89. self:SetSize(250 - 5, p:GetTall() - 65)
  90. self:SetMultiSelect(false)
  91. self:AddColumn('Player')
  92.  
  93. self.OnRowSelected = function(parent, line)
  94. targ = self:GetLine(line):GetColumnText(1)
  95. end
  96.  
  97. for k, v in ipairs(player.GetAll()) do
  98. if (v == LocalPlayer()) then continue end
  99. self:AddLine(v:Name())
  100. end
  101. end, fr)
  102.  
  103. ui.Create('DButton', function(self, p)
  104. self:SetSize(250 - 5, 25)
  105. self:SetPos(5, p:GetTall() - 30)
  106. self:SetText('Share')
  107.  
  108. self.DoClick = function()
  109. rp.RunCommand('shareprops', targ)
  110. end
  111. end, fr)
  112.  
  113. local targ
  114.  
  115. local list = ui.Create('DListView', function(self, p)
  116. self:SetPos(252.5, 30)
  117. self:SetSize(250 - 5, p:GetTall() - 65)
  118. self:SetMultiSelect(false)
  119. self:AddColumn('Player')
  120.  
  121. self.OnRowSelected = function(parent, line)
  122. targ = self:GetLine(line):GetColumnText(1)
  123. end
  124.  
  125. for k, v in pairs(LocalPlayer():GetNetVar('ShareProps') or {}) do
  126. self:AddLine(k:Name())
  127. end
  128. end, fr)
  129.  
  130. ui.Create('DButton', function(self, p)
  131. self:SetSize(250 - 5, 25)
  132. self:SetPos(252.5, p:GetTall() - 30)
  133. self:SetText('Unshare')
  134.  
  135. self.DoClick = function()
  136. rp.RunCommand('shareprops', targ)
  137. end
  138. end, fr)
  139. end
  140.  
  141. --
  142. -- Context menus
  143. --
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement