Advertisement
Guest User

Untitled

a guest
Jul 20th, 2017
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 7.18 KB | None | 0 0
  1. cl_inv = {}
  2. cl_sweps = {}
  3. cl_ships = {}
  4. cl_foods = {}
  5.  
  6. local function cleaninv()
  7.     table.Empty(cl_inv)
  8.     table.Empty(cl_sweps)
  9.     table.Empty(cl_ships)
  10.     table.Empty(cl_foods)
  11. end
  12. usermessage.Hook("clearinv", cleaninv)
  13.  
  14. -- items --
  15.  
  16. local function recitem(um)
  17.     local str = um:ReadString()
  18.     local val = um:ReadShort()
  19.    
  20.     if val > 0 then
  21.         cl_inv[str] = val
  22.     else
  23.         cl_inv[str] = nil
  24.     end
  25. end
  26. usermessage.Hook("item", recitem)
  27.  
  28. -- sweps --
  29.  
  30. local function recswep(um)
  31.     local key = um:ReadShort()
  32.     local mdl = um:ReadString()
  33.     local cls = um:ReadString()
  34.    
  35.     cl_sweps[key] = {model = mdl, class = cls}
  36. end
  37. usermessage.Hook("swep", recswep)
  38.  
  39. local function recsweprem(um)
  40.     local key = um:ReadShort()
  41.    
  42.     cl_sweps[key] = nil
  43. end
  44. usermessage.Hook("swepgone", recsweprem)
  45.  
  46. -- foodies --
  47.  
  48. local function recfood(um)
  49.     local key = um:ReadShort()
  50.     local mdl = um:ReadString()
  51.     local cls = um:ReadShort()
  52.    
  53.     cl_foods[key] = {model = mdl, amount = cls}
  54. end
  55. usermessage.Hook("food", recfood)
  56.  
  57. local function recfoodrem(um)
  58.     local key = um:ReadShort()
  59.    
  60.     cl_foods[key] = nil
  61. end
  62. usermessage.Hook("foodgone", recfoodrem)
  63.  
  64. -- ships --
  65.  
  66. local function recship(um)
  67.     local key = um:ReadShort()
  68.     local mdl = um:ReadShort()
  69.     local cls = um:ReadShort()
  70.    
  71.     cl_ships[key] = {cont = mdl, count = cls}
  72. end
  73. usermessage.Hook("ship", recship)
  74.  
  75. local function recshiprem(um)
  76.     local key = um:ReadShort()
  77.    
  78.     cl_ships[key] = nil
  79. end
  80. usermessage.Hook("shipgone", recshiprem)
  81.  
  82. local function showmenu()
  83.  
  84.     -- Lua generated by DermaDesigner
  85.     local DFrame1
  86.  
  87.     DFrame1 = vgui.Create('DFrame')
  88.     DFrame1:SetSize(449, 326)
  89.     DFrame1:Center()
  90.     DFrame1:SetTitle('Inventory')
  91.     DFrame1:SetSizable(false)
  92.     DFrame1:MakePopup()
  93.    
  94.     -- End DD lua
  95.    
  96.     local sheet = vgui.Create("DPropertySheet")
  97.     sheet:SetParent(DFrame1)
  98.     sheet:SetPos(5,25)
  99.     sheet:SetSize(439, 296)
  100.    
  101.     -- ITEMS --
  102.    
  103.     local list1 = vgui.Create("DPanelList")
  104.     list1:SetSize(439, 296)
  105.     list1:SetSpacing( 5 )
  106.     list1:EnableHorizontal( false )
  107.     list1:EnableVerticalScrollbar( true )
  108.    
  109.     for k,v in pairs(cl_inv) do
  110.         local DPanel1 = vgui.Create('DPanel')
  111.         DPanel1:SetSize(419, 74)
  112.        
  113.         local info = items[k] -- should be faster...
  114.        
  115.         local icon = vgui.Create("SpawnIcon", DPanel1)
  116.         icon:SetModel(info.model)
  117.         icon:SetPos(5,5)
  118.         icon:SetMouseInputEnabled(false)
  119.        
  120.         local name = vgui.Create("DLabel", DPanel1)
  121.         name:SetText(info.name)
  122.         name:SizeToContents()
  123.         name:SetPos(89, 5)
  124.        
  125.         local desc = vgui.Create("DLabel", DPanel1)
  126.         desc:SetText(info.desc)
  127.         desc:SizeToContents()
  128.         desc:SetPos(89, 20)
  129.        
  130.         local amt = vgui.Create("DLabel", DPanel1)
  131.         amt:SetText("Amount: " .. v)
  132.         amt:SizeToContents()
  133.         amt:SetPos(89, 54)
  134.        
  135.         local drop = vgui.Create("DButton", DPanel1)
  136.         drop:SetSize(45, 15)
  137.         drop:SetPos(310, 54)
  138.         drop:SetText("Drop")
  139.         drop.DoClick = function()
  140.             RunConsoleCommand("drp_dropitem", k)
  141.             DFrame1:Remove()
  142.         end
  143.        
  144.         if info.useable then
  145.             local use = vgui.Create("DButton", DPanel1)
  146.             use:SetSize(45, 15)
  147.             use:SetPos(360, 54)
  148.             use:SetText("Use")
  149.             use.DoClick = function()
  150.                 RunConsoleCommand("drp_useitem", k)
  151.                 DFrame1:Remove()
  152.             end
  153.         end
  154.        
  155.         list1:AddItem(DPanel1)
  156.     end
  157.    
  158.     -- SWEPS --
  159.    
  160.     local list2 = vgui.Create("DPanelList")
  161.     list2:SetSize(439, 296)
  162.     list2:SetSpacing( 5 )
  163.     list2:EnableHorizontal( false )
  164.     list2:EnableVerticalScrollbar( true )
  165.    
  166.     for k,v in pairs(cl_sweps) do
  167.         local DPanel1 = vgui.Create('DPanel')
  168.         DPanel1:SetSize(419, 74)
  169.        
  170.         local info = weps[v.class] -- should be faster...
  171.        
  172.         local icon = vgui.Create("SpawnIcon", DPanel1)
  173.         icon:SetModel(v.model)
  174.         icon:SetPos(5,5)
  175.         icon:SetMouseInputEnabled(false)
  176.        
  177.         local name = vgui.Create("DLabel", DPanel1)
  178.         name:SetText(info.name)
  179.         name:SizeToContents()
  180.         name:SetPos(89, 5)
  181.        
  182.         local desc = vgui.Create("DLabel", DPanel1)
  183.         desc:SetText(info.desc)
  184.         desc:SizeToContents()
  185.         desc:SetPos(89, 20)
  186.        
  187.         local drop = vgui.Create("DButton", DPanel1)
  188.         drop:SetSize(45, 15)
  189.         drop:SetPos(310, 54)
  190.         drop:SetText("Drop")
  191.         drop.DoClick = function()
  192.             RunConsoleCommand("drp_dropswep", k)
  193.             DFrame1:Remove()
  194.         end
  195.        
  196.         local use = vgui.Create("DButton", DPanel1)
  197.         use:SetSize(45, 15)
  198.         use:SetPos(360, 54)
  199.         use:SetText("Pickup")
  200.         use.DoClick = function()
  201.             RunConsoleCommand("drp_useswep", k)
  202.             DFrame1:Remove()
  203.         end
  204.        
  205.         list2:AddItem(DPanel1)
  206.     end
  207.    
  208.     -- FOODS --
  209.    
  210.     /*
  211.     local list3 = vgui.Create("DPanelList")
  212.     list3:SetSize(439, 296)
  213.     list3:SetSpacing( 5 )
  214.     list3:EnableHorizontal( false )
  215.     list3:EnableVerticalScrollbar( true )
  216.    
  217.     for k,v in pairs(cl_foods) do
  218.         local DPanel1 = vgui.Create('DPanel')
  219.         DPanel1:SetSize(419, 74)
  220.        
  221.         local info = foodies[v.model] -- should be faster...
  222.        
  223.         local icon = vgui.Create("SpawnIcon", DPanel1)
  224.         icon:SetModel(v.model)
  225.         icon:SetPos(5,5)
  226.         icon:SetMouseInputEnabled(false)
  227.        
  228.         local name = vgui.Create("DLabel", DPanel1)
  229.         name:SetText(info.name)
  230.         name:SizeToContents()
  231.         name:SetPos(89, 5)
  232.        
  233.         local desc = vgui.Create("DLabel", DPanel1)
  234.         desc:SetText(info.desc)
  235.         desc:SizeToContents()
  236.         desc:SetPos(89, 20)
  237.        
  238.         local amt = vgui.Create("DLabel", DPanel1)
  239.         amt:SetText("Fills " .. v.amount .. " hunger.")
  240.         amt:SizeToContents()
  241.         amt:SetPos(89, 35)
  242.        
  243.         local drop = vgui.Create("DButton", DPanel1)
  244.         drop:SetSize(45, 15)
  245.         drop:SetPos(310, 54)
  246.         drop:SetText("Drop")
  247.         drop.DoClick = function()
  248.             RunConsoleCommand("drp_dropfood", k)
  249.             DFrame1:Remove()
  250.         end
  251.        
  252.         local use = vgui.Create("DButton", DPanel1)
  253.         use:SetSize(45, 15)
  254.         use:SetPos(360, 54)
  255.         use:SetText("Eat")
  256.         use.DoClick = function()
  257.             RunConsoleCommand("drp_usefood", k)
  258.             DFrame1:Remove()
  259.         end
  260.        
  261.         list3:AddItem(DPanel1)
  262.     end
  263.     */
  264.    
  265.     -- SHIPS --
  266.    
  267.     local list4 = vgui.Create("DPanelList")
  268.     list4:SetSize(439, 296)
  269.     list4:SetSpacing( 5 )
  270.     list4:EnableHorizontal( false )
  271.     list4:EnableVerticalScrollbar( true )
  272.    
  273.     for k,v in pairs(cl_ships) do
  274.         local DPanel1 = vgui.Create('DPanel')
  275.         DPanel1:SetSize(419, 74)
  276.        
  277.         local info = CustomShipments[v.cont]
  278.         if not info then info = {name="N/A"} end
  279.        
  280.         local icon = vgui.Create("SpawnIcon", DPanel1)
  281.         icon:SetModel("models/Items/item_item_crate.mdl")
  282.         icon:SetPos(5,5)
  283.         icon:SetMouseInputEnabled(false)
  284.        
  285.         local name = vgui.Create("DLabel", DPanel1)
  286.         name:SetText(info.name)
  287.         name:SizeToContents()
  288.         name:SetPos(89, 5)
  289.        
  290.         local desc = vgui.Create("DLabel", DPanel1)
  291.         desc:SetText("A shipment with " .. v.count .. " left.")
  292.         desc:SizeToContents()
  293.         desc:SetPos(89, 20)
  294.        
  295.         local drop = vgui.Create("DButton", DPanel1)
  296.         drop:SetSize(45, 15)
  297.         drop:SetPos(310, 54)
  298.         drop:SetText("Drop")
  299.         drop.DoClick = function()
  300.             RunConsoleCommand("drp_dropship", k)
  301.             DFrame1:Remove()
  302.         end
  303.        
  304.         list4:AddItem(DPanel1)
  305.     end
  306.    
  307.     sheet:AddSheet( "Items", list1, "gui/silkicons/plugin", false, false, "General Items" )
  308.     sheet:AddSheet( "Weapons", list2, "gui/silkicons/bomb", false, false, "Things that go \"pew\"" )
  309.     sheet:AddSheet( "Food", list3, "gui/silkicons/user", false, false, "Delicious Edibles" )
  310.     sheet:AddSheet( "Shipments", list4, "gui/silkicons/box", false, false, "Various Packages" )
  311. end
  312. concommand.Add("drp_showinv", showmenu)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement