Guest User

Untitled

a guest
May 22nd, 2018
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 8.54 KB | None | 0 0
  1.  
  2. local Spawnmenu
  3. local OpenPropSelection = true
  4. local OpenInventorySelection = false
  5. local OpenToolsSelection = false
  6. g_ActiveControlPanel = nil
  7.  
  8. local PANEL = {}
  9.  
  10. function PANEL:Init()
  11.  
  12.     Main = self
  13.    
  14.     Main:SetTitle("")
  15.     Main:ShowCloseButton(false)
  16.     Main:SetSize(ScrW(), ScrH())
  17.     Main:SetPos(0, 0)
  18.  
  19.     self.PropButtonColor = Color(255,200,50,200)
  20.     self.InventoryButtonColor = Color(255,200,50,200)
  21.     self.ToolsButtonColor = Color(255,200,50,200)
  22.    
  23.     PropButton = vgui.Create("DButton", self)
  24.     PropButton:SetSize(ScrW()*0.2, ScrW()*0.04)
  25.     PropButton:SetPos((ScrW()/2) - ScrW()*0.35, ScrW()*0.015)
  26.     PropButton:SetText("")
  27.     PropButton.Paint = function() end
  28.     PropButton.OnMousePressed = function()
  29.         self.PropButtonColor = Color(50,255,50,180)
  30.         surface.PlaySound("buttons/button14.wav")
  31.         OpenPropSelection = true
  32.         OpenInventorySelection = false
  33.         OpenToolsSelection = false
  34.     end
  35.     PropButton.OnMouseReleased = function()
  36.         self.PropButtonColor = Color(255,200,50,200)
  37.         UpdateSpawnMenu()
  38.     end
  39.    
  40.     self.InventoryButton = vgui.Create("DButton", self)
  41.     self.InventoryButton:SetSize(ScrW()*0.2, ScrW()*0.04)
  42.     self.InventoryButton:SetPos((ScrW()/2) - ScrW()*0.1, ScrW()*0.015)
  43.     self.InventoryButton:SetText("")
  44.     self.InventoryButton.Paint = function() end
  45.     self.InventoryButton.OnMousePressed = function()
  46.         self.InventoryButtonColor = Color(50,255,50,180)
  47.         surface.PlaySound("buttons/button14.wav")
  48.         OpenInventorySelection = true
  49.         OpenPropSelection = false
  50.         OpenToolsSelection = false
  51.     end
  52.     self.InventoryButton.OnMouseReleased = function()
  53.         self.InventoryButtonColor = Color(255,200,50,200)
  54.         UpdateSpawnMenu()
  55.     end
  56.    
  57.     self.ToolsButton = vgui.Create("DButton", self)
  58.     self.ToolsButton:SetSize(ScrW()*0.2, ScrW()*0.04)
  59.     self.ToolsButton:SetPos((ScrW()/2) + ScrW()*0.15, ScrW()*0.015)
  60.     self.ToolsButton:SetText("")
  61.     self.ToolsButton.Paint = function() end
  62.     self.ToolsButton.OnMousePressed = function()
  63.         self.ToolsButtonColor = Color(50,255,50,180)
  64.         surface.PlaySound("buttons/button14.wav")
  65.         OpenToolsSelection = true
  66.         OpenPropSelection = false
  67.         OpenInventorySelection = false
  68.         print("Toolmenu is now open!")
  69.     end
  70.     self.ToolsButton.OnMouseReleased = function()
  71.         self.ToolsButtonColor = Color(255,200,50,200)
  72.         UpdateSpawnMenu()
  73.     end
  74.    
  75.     if OpenPropSelection == true then
  76.         self.Folders = vgui.Create("DTree", self)
  77.         self.Folders:SetPos( ScrW()*0.08 + 5, ScrW()*0.08 + 5 )
  78.         self.Folders:SetPadding( 5 )
  79.         self.Folders:SetSize(ScrW()*0.16, (self:GetTall() - ScrW()*0.16) - 10)
  80.        
  81.         -- local Tables
  82.         -- local
  83.        
  84.        
  85.  
  86.         self.PropPanel = vgui.Create("DPanelList", self)
  87.         self.PropPanel:SetSize(ScrW()*0.67 - 5, (self:GetTall() - ScrW()*0.16) - 10)
  88.         self.PropPanel:SetPos(ScrW()*0.25, ScrW()*0.08 + 5)
  89.         self.PropPanel:EnableHorizontal(true)          
  90.         self.PropPanel:EnableVerticalScrollbar(true)
  91.         self.PropPanel:SetPadding(2)
  92.         self.PropPanel:SetSpacing(2)
  93.        
  94.         if PropList then
  95.             for k,v in pairs(PropList) do
  96.                 local Props = vgui.Create("SpawnIcon")
  97.                 Props:SetModel(v)
  98.                 Props:SetToolTip(k)
  99.                 Props.DoClick = function()
  100.                     local MDL = v
  101.                     RunConsoleCommand("SpawnStuff", MDL)
  102.                 end
  103.                 self.PropPanel:AddItem(Props)
  104.             end
  105.         end
  106.     end
  107.    
  108.     if OpenInventorySelection == true then
  109.         print("Inventory is now open! 2")
  110.     end
  111.    
  112.     if OpenToolsSelection == true then
  113.         self.ToolsBackground = vgui.Create("DPanelList")
  114.         self.ToolsBackground:SetParent(Main)
  115.         self.ToolsBackground:EnableHorizontal(true)                                        
  116.         self.ToolsBackground:EnableVerticalScrollbar(false)                                    
  117.         self.ToolsBackground:SetAutoSize(false)                                                
  118.         self.ToolsBackground:SetPadding(0)                                                     
  119.         self.ToolsBackground:SetSpacing(5)                                                     
  120.         self.ToolsBackground:SetSize(500, 500)                                                     
  121.         self.ToolsBackground:SetPos(200, 200)                                                  
  122.  
  123.         self.Content = vgui.Create("DPanelList")                                                   
  124.         self.ToolsBackground:AddItem(self.Content)                                                 
  125.         self.Content:SetSize(500, 500)     
  126.         self.Content:EnableVerticalScrollbar(false)                                            
  127.         self.Content:SetSpacing(0)                                                                 
  128.         self.Content:SetPadding(5)
  129.        
  130.         local MatCP = controlpanel.Get("material")
  131.         self.Content:AddItem(MatCP)
  132.        
  133.          local cp = vgui.Create( "ControlPanel" )
  134.          
  135.        
  136.          -- function PANEL:EnableControlPanel()
  137.             -- local button = "colour"
  138.          
  139.             -- if ( self.LastSelected ) then
  140.                 -- self.LastSelected:SetSelected( false )
  141.             -- end
  142.              
  143.             -- button:SetSelected( true )
  144.             -- self.LastSelected = button
  145.            
  146.             -- local cp = controlpanel.Get( button )
  147.             -- if ( !cp:GetInitialized() ) then
  148.                 -- cp:FillViaTable( button )
  149.             -- end
  150.              
  151.             -- self.Content:Clear()
  152.             -- self.Content:AddItem( cp )
  153.             -- self.Content:Rebuild()
  154.            
  155.             -- g_ActiveControlPanel = cp
  156.              
  157.             -- if ( button.Command ) then
  158.                 -- LocalPlayer():ConCommand( button.Command )
  159.             -- end
  160.          -- end
  161.     end
  162. end
  163.  
  164. function PANEL:Paint()
  165.     draw.RoundedBox(8, ScrW()*0.06, ScrW()*0.06, Main:GetWide() - ScrW()*0.12, Main:GetTall() - ScrW()*0.12, Color(50,200,255,180)) --Rand
  166.     draw.RoundedBox(8, ScrW()*0.08, ScrW()*0.08, Main:GetWide() - ScrW()*0.16, Main:GetTall() - ScrW()*0.16, Color(180,180,180,180)) --Mittel plate
  167.     draw.RoundedBox(8, ScrW()*0.06, ScrW()*0.01, Main:GetWide() - ScrW()*0.12, ScrW()*0.05, Color(180,180,180,180)) -- Oberer Balken
  168.    
  169.     draw.RoundedBox(8, (ScrW()/2) - ScrW()*0.35, ScrW()*0.015, ScrW()*0.2, ScrW()*0.04, self.PropButtonColor) --Button_Props
  170.     draw.RoundedBox(8, (ScrW()/2) - ScrW()*0.1, ScrW()*0.015, ScrW()*0.2, ScrW()*0.04, self.InventoryButtonColor)  --Button_Inventory
  171.     draw.RoundedBox(8, (ScrW()/2) + ScrW()*0.15, ScrW()*0.015, ScrW()*0.2, ScrW()*0.04, self.ToolsButtonColor) --Button_Tools
  172.    
  173.     draw.SimpleText("Props", "Trebuchet22", ((ScrW()/2) - ScrW()*0.35) + ScrW()*0.1, ScrW()*0.035, Color(0,0,0,255), TEXT_ALIGN_CENTER, TEXT_ALIGN_CENTER)    --Description_Props
  174.     draw.SimpleText("Inventory", "Trebuchet22", ((ScrW()/2) - ScrW()*0.1) + ScrW()*0.1, ScrW()*0.035, Color(0,0,0,255), TEXT_ALIGN_CENTER, TEXT_ALIGN_CENTER) --Description_Inventory
  175.     draw.SimpleText("Tools", "Trebuchet22", ((ScrW()/2) + ScrW()*0.15) + ScrW()*0.1, ScrW()*0.035, Color(0,0,0,255), TEXT_ALIGN_CENTER, TEXT_ALIGN_CENTER)    --Description_Tools
  176. end
  177. vgui.Register( "Roleplay_Spawnmenu", PANEL, "DFrame" )
  178.  
  179. function GM:OnSpawnMenuOpen()
  180.     SpawnMenu = vgui.Create("Roleplay_Spawnmenu")
  181.     RestoreCursorPosition()
  182.     gui.EnableScreenClicker(true)
  183.    
  184. end
  185.  
  186. function UpdateSpawnMenu()
  187.     SpawnMenu:Remove()
  188.     SpawnMenu = vgui.Create("Roleplay_Spawnmenu")
  189.     donotdraw = 1
  190.     --donotdraw = true
  191. end
  192.  
  193. function GM:OnSpawnMenuClose()
  194.     SpawnMenu:Remove()
  195.     SpawnMenu = vgui.Create("Roleplay_Spawnmenu")
  196.     RememberCursorPosition()
  197.     SpawnMenu:Remove()
  198.     donotdraw = 0
  199.     timer.Simple(0.05, function() gui.EnableScreenClicker(false) end)
  200. end
  201.  
  202. PropList = {}
  203. PropList["Holzstuhl"] = "models/props_c17/FurnitureChair001a.mdl"
  204. PropList["Holztisch"] = "models/props_c17/FurnitureTable002a.mdl"
  205. PropList["Badewanne"] = "models/props_c17/FurnitureBathtub001a.mdl"
  206.  
  207. PropList["a"] = "models/props_c17/FurnitureTable002a.mdl"
  208. PropList["b"] = "models/props_c17/gravestone_coffinpiece002a.mdl"
  209. PropList["c"] = "models/props_c17/oildrum001.mdl"
  210. PropList["d"] = "models/props_c17/shelfunit01a.mdl"
  211. PropList["e"] = "models/props_c17/concrete_barrier001a.mdl"
  212. PropList["f"] = "models/props_borealis/door_wheel001a.mdl"
  213. PropList["g"] = "models/props_c17/display_cooler01a.mdl"
  214. PropList["h"] = "models/props_c17/canister_propane01a.mdl"
  215. PropList["j"] = "models/props_c17/bench01a.mdl"
  216. PropList["k"] = "models/props_c17/FurnitureCouch001a.mdl"
  217. PropList["l"] = "models/Combine_Helicopter/helicopter_bomb01.mdl"
  218. PropList["m"] = "models/props_c17/FurnitureShelf001a.mdl"
  219. PropList["n"] = "models/props_c17/gravestone003a.mdl"
  220. PropList["o"] = "models/props_c17/Lockers001a.mdl"
  221. PropList["p"] = "models/props_debris/metal_panel02a.mdl"
  222. PropList["q"] = "models/props_debris/metal_panel01a.mdl"
  223. PropList["r"] = "models/props_c17/canister01a.mdl"
  224. PropList["s"] = "models/props_doors/door03_slotted_left.mdl"
  225. PropList["t"] = "models/props_docks/dock03_pole01a_256.mdl"
  226. PropList["u"] = "models/props_docks/dock01_pole01a_128.mdl"
  227. PropList["v"] = "models/props_interiors/BathTub01a.mdl"
  228. PropList["w"] = "models/props_interiors/Furniture_Desk01a.mdl"
  229. PropList["x"] = "models/props_borealis/mooring_cleat01.mdl"
  230. PropList["y"] = "models/props_interiors/Furniture_shelf01a.mdl"
  231. PropList["z"] = "models/props_interiors/refrigerator01a.mdl"
  232. PropList["ROFL BLADE"] = "models/props_junk/sawblade001a.mdl"
  233. PropList["ROFL OilDrum"] = "models/props_c17/oildrum001_explosive.mdl"
Add Comment
Please, Sign In to add comment