Advertisement
Guest User

Untitled

a guest
Jul 25th, 2014
2,827
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 9.06 KB | None | 0 0
  1. ITEM.Name = 'Spartan'
  2. ITEM.Price = 9550
  3. ITEM.Model = 'models/player/lordvipes/h3_spartans_mps/h3spartan_mps_cvp.mdl'
  4. ITEM.AllowedUserGroups = { "superadmin", "admin", "vip" }
  5.  
  6.  
  7.  
  8. function ITEM:OnEquip(ply, modifications)
  9.     if not ply._OldModel then
  10.         ply._OldModel = ply:GetModel()
  11.     end
  12.     timer.Simple(2, function() ply:SetupHands()
  13.         ply:SetModel(self.Model)
  14.         --ply:SetSkin(1)
  15.         ply:SetBodygroup(1, modifications.group1 or 0)      --helmets
  16.         ply:SetBodygroup(2, modifications.group2 or 0)      --chestpiece
  17.         ply:SetBodygroup(3, modifications.group3 or 0)      --shoulderl
  18.         ply:SetBodygroup(4, modifications.group4 or 0)      --shoulder2
  19.         ply:SetBodygroup(5, modifications.group5 or 0)      --katana
  20.     end)                                             
  21. end
  22.  
  23.    
  24.  
  25.     function Derma_Query_Dropdown( strText, strTitle, ... )
  26.      
  27.             local Window = vgui.Create( "DFrame" )
  28.                     Window:SetTitle( strTitle or "Message Title (First Parameter)" )
  29.                     Window:SetDraggable( false )
  30.                     Window:ShowCloseButton( false )
  31.                     Window:SetBackgroundBlur( true )
  32.                     Window:SetDrawOnTop( true )
  33.                    
  34.             local InnerPanel = vgui.Create( "DPanel", Window )
  35.                     InnerPanel:SetDrawBackground( false )
  36.            
  37.             local Text = vgui.Create( "DLabel", InnerPanel )
  38.                     Text:SetText( strText or "Message Text (Second Parameter)" )
  39.                     Text:SizeToContents()
  40.                     Text:SetContentAlignment( 5 )
  41.                     Text:SetTextColor( color_white )
  42.      
  43.             local ButtonPanel = vgui.Create( "DPanel", Window )
  44.                     ButtonPanel:SetTall( 50 )
  45.                     ButtonPanel:SetDrawBackground( false )
  46.      
  47.             local NumOptions = 0
  48.             local ListBox = vgui.Create( "DComboBox", ButtonPanel )
  49.      
  50.             local k = 1
  51.             while true do
  52.                    
  53.                     local Text = select( k, ... )
  54.                     if Text == nil then break end
  55.                    
  56.                     local Func = select( k+1, ... ) or function() end
  57.            
  58.                     ListBox:AddChoice(Text, Func, k == 1)
  59.                            
  60.                     NumOptions = NumOptions + 1
  61.                     k = k + 2
  62.      
  63.             end
  64.      
  65.             ListBox:SetPos(5,25)
  66.             ListBox:SetWide(100)
  67.             ListBox:SetTall(20)
  68.             ListBox.OnSelect = function(self, index, value, data)
  69.                     data()
  70.                     Window:Close();
  71.             end
  72.      
  73.            
  74.             local w, h = Text:GetSize()
  75.            
  76.             w = math.max( w, ButtonPanel:GetWide() )
  77.            
  78.             Window:SetSize( w + 50, h + 25 + 45 + 10 )
  79.             Window:Center()
  80.            
  81.             InnerPanel:StretchToParent( 5, 25, 5, 45 )
  82.      
  83.             Text:SetPos(0,5)
  84.             Text:CenterHorizontal()
  85.            
  86.             ButtonPanel:StretchToParent( 5, 25, 5, 5 )
  87.      
  88.             ListBox:SetWide(ButtonPanel:GetWide())
  89.             ListBox:CenterHorizontal()
  90.             ListBox:CenterVertical()
  91.            
  92.             Window:MakePopup()
  93.            
  94.             if ( NumOptions == 0 ) then
  95.            
  96.                     Window:Close()
  97.                     Error( "Derma_Query: Created Query with no Options!?" )
  98.                     return nil
  99.            
  100.             end
  101.            
  102.             return Window
  103.      
  104.     end
  105.  
  106. function ITEM:OnHolster(ply)
  107.     if ply._OldModel then
  108.         ply:SetModel(ply._OldModel)
  109.     end
  110. end
  111.  
  112. function ITEM:Modify(modifications)
  113.     Derma_Query_Dropdown("Choose Helmet", "",
  114.             "Mark VI", function()
  115.                 modifications.group1 = 0 -- Default helmet
  116.                 PS:SendModifications(self.ID, modifications) --Makes sure the pointshop knows to apply changes
  117.             end,
  118.             "CBQ", function()
  119.                 modifications.group1 = 1 -- CBQ helmet
  120.                 PS:SendModifications(self.ID, modifications)
  121.             end,
  122.             "EOD", function()
  123.                 modifications.group1 = 2 -- EOD helmet
  124.                 PS:SendModifications(self.ID, modifications)
  125.             end,
  126.             "EVA", function()
  127.                 modifications.group1 = 3 -- EVA helmet
  128.                 PS:SendModifications(self.ID, modifications)
  129.             end,
  130.             "Hayabusa", function()
  131.                 modifications.group1 = 4 -- Hayabusa helmet
  132.                 PS:SendModifications(self.ID, modifications)
  133.             end,
  134.             "MarkV", function()
  135.                 modifications.group1 = 5 -- MarkV helmet
  136.                 PS:SendModifications(self.ID, modifications)
  137.             end,
  138.             "ODST", function()
  139.                 modifications.group1 = 6 -- ODST helmet
  140.                 PS:SendModifications(self.ID, modifications)
  141.             end,
  142.             "Recon", function()
  143.                 modifications.group1 = 7 -- Recon helmet
  144.                 PS:SendModifications(self.ID, modifications)
  145.             end,
  146.             "Rogue", function()
  147.                 modifications.group1 = 8 -- Rogue helmet
  148.                 PS:SendModifications(self.ID, modifications)
  149.             end,
  150.             "Scout", function()
  151.                 modifications.group1 = 9 -- Scout helmet
  152.                 PS:SendModifications(self.ID, modifications)
  153.             end,
  154.             "Security", function()
  155.                 modifications.group1 = 10 -- Security helmet
  156.                 PS:SendModifications(self.ID, modifications)
  157.             end)
  158.     Derma_Query_Dropdown("Choose Chestpiece", "",
  159.             "Mark VI", function()
  160.                 modifications.group2 = 0 -- Default chestpiece
  161.                 PS:SendModifications(self.ID, modifications) --Makes sure the pointshop knows to apply changes
  162.             end,
  163.             "CQB", function()
  164.                 modifications.group2 = 1 -- CQB chestpiece
  165.                 PS:SendModifications(self.ID, modifications)
  166.             end,
  167.             "EOD", function()
  168.                 modifications.group2 = 2 -- EOD chestpiece
  169.                 PS:SendModifications(self.ID, modifications)
  170.             end,
  171.             "EVA", function()
  172.                 modifications.group2 = 3 -- EVA chestpiece
  173.                 PS:SendModifications(self.ID, modifications)
  174.             end,
  175.             "Hayabusa", function()
  176.                 modifications.group2 = 4 -- Hayabusa chestpiece
  177.                 PS:SendModifications(self.ID, modifications)
  178.             end,
  179.             "Recon", function()
  180.                 modifications.group2 = 5 -- Recon chestpiece
  181.                 PS:SendModifications(self.ID, modifications)
  182.             end,
  183.             "Scout", function()
  184.                 modifications.group2 = 6 -- Scout chestpiece
  185.                 PS:SendModifications(self.ID, modifications)
  186.             end)
  187.     Derma_Query_Dropdown("Choose Left Shoulderpiece", "",
  188.             "Mark VI", function()
  189.                 modifications.group3 = 0 -- Default left shoulderpiece
  190.                 PS:SendModifications(self.ID, modifications) --Makes sure the pointshop knows to apply changes
  191.             end,
  192.             "CQB", function()
  193.                 modifications.group3 = 1 -- CQB left shoulderpiece
  194.                 PS:SendModifications(self.ID, modifications)
  195.             end,
  196.             "EOD", function()
  197.                 modifications.group3 = 2 -- EOD left shoulderpiece
  198.                 PS:SendModifications(self.ID, modifications)
  199.             end,
  200.             "EVA", function()
  201.                 modifications.group3 = 3 -- EVA left shoulderpiece
  202.                 PS:SendModifications(self.ID, modifications)
  203.             end,
  204.             "Hayabusa", function()
  205.                 modifications.group3 = 4 -- Hayabusa left shoulderpiece
  206.                 PS:SendModifications(self.ID, modifications)
  207.             end,
  208.             "Recon", function()
  209.                 modifications.group3 = 5 -- Recon left shoulderpiece
  210.                 PS:SendModifications(self.ID, modifications)
  211.             end,
  212.             "Scout", function()
  213.                 modifications.group3 = 6 -- Scout left shoulderpiece
  214.                 PS:SendModifications(self.ID, modifications)
  215.             end,
  216.             "Security", function()
  217.                 modifications.group3 = 7 -- Security left shoulderpiece
  218.                 PS:SendModifications(self.ID, modifications)
  219.             end)
  220.     Derma_Query_Dropdown("Choose Right Shoulderpiece", "",
  221.             "Mark VI", function()
  222.                 modifications.group4 = 0 -- Default right shoulderpiece
  223.                 PS:SendModifications(self.ID, modifications) --Makes sure the pointshop knows to apply changes
  224.             end,
  225.             "CQB", function()
  226.                 modifications.group4 = 1 -- CQB right shoulderpiece
  227.                 PS:SendModifications(self.ID, modifications)
  228.             end,
  229.             "EOD", function()
  230.                 modifications.group4 = 2 -- EOD right shoulderpiece
  231.                 PS:SendModifications(self.ID, modifications)
  232.             end,
  233.             "EVA", function()
  234.                 modifications.group4 = 3 -- EVA right shoulderpiece
  235.                 PS:SendModifications(self.ID, modifications)
  236.             end,
  237.             "Hayabusa", function()
  238.                 modifications.group4 = 4 -- Hayabusa right shoulderpiece
  239.                 PS:SendModifications(self.ID, modifications)
  240.             end,
  241.             "Recon", function()
  242.                 modifications.group4 = 5 -- Recon right shoulderpiece
  243.                 PS:SendModifications(self.ID, modifications)
  244.             end,
  245.             "Scout", function()
  246.                 modifications.group4 = 6 -- Scout right shoulderpiece
  247.                 PS:SendModifications(self.ID, modifications)
  248.             end,
  249.             "Security", function()
  250.                 modifications.group4 = 7 -- Security right shoulderpiece
  251.                 PS:SendModifications(self.ID, modifications)
  252.             end)
  253.     Derma_Query_Dropdown("Katana", "",
  254.             "No", function()
  255.                 modifications.group5 = 0 -- No Katana
  256.                 PS:SendModifications(self.ID, modifications) --Makes sure the pointshop knows to apply changes
  257.             end,
  258.             "Katana", function()
  259.                 modifications.group5 = 1 -- Katana
  260.                 PS:SendModifications(self.ID, modifications)
  261.             end)
  262.             print("modify")
  263.    
  264. end
  265.  
  266. function ITEM:OnModify(ply, modifications)
  267.    self:OnHolster(ply)
  268.    self:OnEquip(ply, modifications) -- adds the item back again, with new mods
  269. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement