Advertisement
LucianDevran

Spartan

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