Advertisement
remi_mari

cl_rkidnap

Jan 12th, 2020
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 16.52 KB | None | 0 0
  1.  
  2. local LangTbl = RKidnapConfig.Language[RKidnapConfig.LanguageToUse]
  3.  
  4.  
  5. local RKS_BoneManipulations = {
  6.     ["Restrained"] = {
  7.         ["ValveBiped.Bip01_R_UpperArm"] = Angle(-28,18,-21),
  8.         ["ValveBiped.Bip01_L_Hand"] = Angle(0,0,119),
  9.         ["ValveBiped.Bip01_L_Forearm"] = Angle(15,20,40),
  10.         ["ValveBiped.Bip01_L_UpperArm"] = Angle(15, 26, 0),
  11.         ["ValveBiped.Bip01_R_Forearm"] = Angle(0,50,0),
  12.         ["ValveBiped.Bip01_R_Hand"] = Angle(45,34,-15),
  13.         ["ValveBiped.Bip01_L_Finger01"] = Angle(0,50,0),
  14.         ["ValveBiped.Bip01_R_Finger0"] = Angle(10,2,0),
  15.         ["ValveBiped.Bip01_R_Finger1"] = Angle(-10,0,0),
  16.         ["ValveBiped.Bip01_R_Finger11"] = Angle(0,-40,0),
  17.         ["ValveBiped.Bip01_R_Finger12"] = Angle(0,-30,0)
  18.     },
  19.     ["HandsUp"] = {
  20.         ["ValveBiped.Bip01_R_UpperArm"] = Angle(73,35,128),
  21.         ["ValveBiped.Bip01_L_Hand"] = Angle(-12,12,90),
  22.         ["ValveBiped.Bip01_L_Forearm"] = Angle(-28,-29,44),
  23.         ["ValveBiped.Bip01_R_Forearm"] = Angle(-22,1,15),
  24.         ["ValveBiped.Bip01_L_UpperArm"] = Angle(-77,-46,4),
  25.         ["ValveBiped.Bip01_R_Hand"] = Angle(33,39,-21),
  26.         ["ValveBiped.Bip01_L_Finger01"] = Angle(0,30,0),
  27.         ["ValveBiped.Bip01_L_Finger1"] = Angle(0,45,0),
  28.         ["ValveBiped.Bip01_L_Finger11"] = Angle(0,45,0),
  29.         ["ValveBiped.Bip01_L_Finger2"] = Angle(0,45,0),
  30.         ["ValveBiped.Bip01_L_Finger21"] = Angle(0,45,0),
  31.         ["ValveBiped.Bip01_L_Finger3"] = Angle(0,45,0),
  32.         ["ValveBiped.Bip01_L_Finger31"] = Angle(0,45,0),
  33.         ["ValveBiped.Bip01_R_Finger0"] = Angle(-10,0,0),
  34.         ["ValveBiped.Bip01_R_Finger11"] = Angle(0,30,0),
  35.         ["ValveBiped.Bip01_R_Finger2"] = Angle(20,25,0),
  36.         ["ValveBiped.Bip01_R_Finger21"] = Angle(0,45,0),
  37.         ["ValveBiped.Bip01_R_Finger3"] = Angle(20,35,0),
  38.         ["ValveBiped.Bip01_R_Finger31"] = Angle(0,45,0)
  39.     }
  40. }
  41.  
  42. net.Receive("rks_bonemanipulate", function()
  43.     local Player, Type, Reset = net.ReadEntity(), net.ReadString(), net.ReadBool()
  44.    
  45.     if IsValid(Player) then
  46.         for k,v in pairs(RKS_BoneManipulations[Type]) do
  47.             local Bone = Player:LookupBone(k)
  48.             if Bone then
  49.                 if Reset then
  50.                     Player:ManipulateBoneAngles(Bone, Angle(0,0,0))
  51.                 else
  52.                     Player:ManipulateBoneAngles(Bone, v)           
  53.                 end
  54.             end
  55.         end
  56.         if !Reset and Type == "Restrained" and table.HasValue(RKidnapConfig.FEMALE_MODELS, Player:GetModel()) then
  57.             local LEFT_UP_ARM, RIGHT_UP_ARM, RIGHT_FORE_ARM = Player:LookupBone("ValveBiped.Bip01_L_UpperArm"), Player:LookupBone("ValveBiped.Bip01_R_UpperArm"), Player:LookupBone("ValveBiped.Bip01_R_Forearm")
  58.             if LEFT_UP_ARM then
  59.                 Player:ManipulateBoneAngles(Player:LookupBone("ValveBiped.Bip01_L_UpperArm"), Angle(15, 23, 0))
  60.             end
  61.             if RIGHT_UP_ARM then   
  62.                 Player:ManipulateBoneAngles(Player:LookupBone("ValveBiped.Bip01_R_UpperArm"), Angle(-28, 5, -21))
  63.             end
  64.             if RIGHT_FORE_ARM then 
  65.                 Player:ManipulateBoneAngles(Player:LookupBone("ValveBiped.Bip01_R_Forearm"), Angle(0, 60, 10))
  66.             end
  67.         end
  68.         if RKidnapConfig.DisablePlayerShadow then
  69.             Player:DrawShadow(false)
  70.         end
  71.     end
  72. end)
  73.  
  74. net.Receive("tbfy_surr", function(Player, len)
  75.     local SurrTime = net.ReadFloat()
  76.     if SurrTime == 0 then
  77.         LocalPlayer().Surrendering = false
  78.     else
  79.         LocalPlayer().Surrendering = SurrTime
  80.     end
  81. end)
  82.  
  83. hook.Add("HUDPaint", "TBFY_Surr", function()
  84.     local ST = LocalPlayer().Surrendering
  85.     if ST then
  86.         local W,H = ScrW(), ScrH()
  87.         local TimeLeft = math.Round(ST - CurTime(),1)
  88.         draw.SimpleTextOutlined("Surrendering - " .. TimeLeft,"rks_ko_text",ScrW()/2,ScrH()/2,Color(255,255,255,255), TEXT_ALIGN_CENTER, TEXT_ALIGN_CENTER,2,Color(0,0,0,255))
  89.     end
  90. end)
  91.  
  92. local PLAYER = FindMetaTable("Player")
  93. //Whacky way to add text without overriding the function completely
  94. hook.Add("loadCustomDarkRPItems", "rks_set_drawPINFO", function()
  95.     local OldDrawPlayerInfo = PLAYER.drawPlayerInfo
  96.     function RKS_AddInCuffs(self)
  97.         if RKidnapConfig.DisplayOverheadRestrained and self:GetNWBool("rks_restrained", false) then
  98.             local pos = self:EyePos()
  99.  
  100.             pos.z = pos.z + 10
  101.             pos = pos:ToScreen()
  102.             if not self:getDarkRPVar("wanted") then
  103.                 pos.y = pos.y - 50
  104.             end
  105.            
  106.             draw.DrawNonParsedText("Restrained", "DarkRPHUD2", pos.x + 1, pos.y - 19, Color(0,0,0,255), 1)
  107.             draw.DrawNonParsedText("Restrained", "DarkRPHUD2", pos.x, pos.y - 20, Color(255,255,255,255) , 1)
  108.         end
  109.         OldDrawPlayerInfo(self)
  110.     end
  111.     PLAYER.drawPlayerInfo = RKS_AddInCuffs
  112. end)
  113.  
  114. net.Receive("rks_update_ragdollcolor", function()
  115.     local Player, Ragdoll = net.ReadEntity(), net.ReadEntity()
  116.  
  117.     Ragdoll.GetPlayerColor = function() return Player:GetPlayerColor() end
  118. end)   
  119.  
  120. net.Receive("rks_knockout", function()
  121.     local KnockedOut = net.ReadBool()
  122.     LocalPlayer().RKSKOStart = CurTime() + RKidnapConfig.KnockoutTime
  123.     LocalPlayer().RKSKO = KnockedOut
  124.     souvenir = { "will remember everything that happened", "will not remember anything" }
  125. end)
  126.  
  127. net.Receive("rks_update_blindfold", function()
  128.     local Blindfolded = net.ReadBool()
  129.     LocalPlayer().RKSBlindfolded = Blindfolded
  130. end)
  131.  
  132. net.Receive("rks_send_inspect_information", function()
  133.     local Player, WepAmount = net.ReadEntity(), net.ReadFloat()
  134.    
  135.     local WepTbl = {}
  136.     for i = 1, WepAmount do
  137.         local TID = net.ReadFloat()
  138.         local WepC = net.ReadString()
  139.  
  140.         if WepC and WepC != "" then
  141.             WepTbl[TID] = WepC
  142.         end
  143.     end
  144.    
  145.     local InsMenu = vgui.Create("rks_inspect_menu")
  146.     InsMenu:SetupInfo(Player, WepTbl)
  147.     LocalPlayer().LastInspect = Player
  148. end)
  149.  
  150. surface.CreateFont( "rks_ko_text", {
  151.     font = "Verdana",
  152.     size = 20,
  153.     weight = 1000,
  154.     antialias = true,
  155. })
  156.  
  157. hook.Add("HUDPaintBackground", "RKS_PaintHUD", function()
  158.     if LocalPlayer().RKSBlindfolded then
  159.         local W,H = ScrW(), ScrH()
  160.         draw.RoundedBox( 0, 0, 0, W, H, Color( 0, 0, 0, 255 ) )
  161.     elseif LocalPlayer().RKSKO then
  162.         local W,H = ScrW(), ScrH()
  163.         local TimeLeft = math.Round(LocalPlayer().RKSKOStart - CurTime())
  164.         draw.RoundedBox( 0, 0, 0, W, H, Color( 0, 0, 0, 255 ) )
  165.         draw.SimpleText( "You" .. table.Random( souvenir ) .. ".", "rks_ko_text", 150, 150, color_white )
  166.         draw.SimpleTextOutlined(string.format(LangTbl.KnockedOut, TimeLeft),"rks_ko_text",ScrW()/2,ScrH()/12,Color(255,255,255,255), TEXT_ALIGN_CENTER, TEXT_ALIGN_BOTTOM,2,Color(0,0,0,255))
  167.     end
  168. end)
  169.  
  170. local KeyToCheck = RKidnapConfig.KEY
  171. hook.Add("KeyPress", "RKS_DragKeyPress", function(Player, Key)
  172.     if Key == KeyToCheck then
  173.         if !Player:InVehicle() and !Player:GetNWBool("rks_restrained", false) then
  174.             local Trace = {}
  175.             Trace.start = Player:GetShootPos();
  176.             Trace.endpos = Trace.start + Player:GetAimVector() * 100;
  177.             Trace.filter = Player;
  178.      
  179.             local Tr = util.TraceLine(Trace);
  180.             local TEnt = Tr.Entity
  181.             if IsValid(TEnt) and TEnt:IsPlayer() and TEnt:GetNWBool("rks_restrained", false) then  
  182.                 local UnRestrainM = vgui.Create("DMenu")
  183.                 UnRestrainM:AddOption(LangTbl.UnRestrain, function() net.Start("rks_unrestrain") net.WriteEntity(TEnt) net.SendToServer() end)
  184.                 UnRestrainM:AddOption(LangTbl.Drag, function() net.Start("rks_drag") net.WriteEntity(TEnt) net.SendToServer() end)
  185.                 UnRestrainM:Open()
  186.  
  187.                 UnRestrainM:SetPos(ScrW()/2,ScrH()/2)
  188.             end
  189.         end
  190.     end
  191. end)
  192.  
  193. surface.CreateFont( "rks_inspect_headline", {
  194.     font = "Arial",
  195.     size = 20,
  196.     weight = 1000,
  197.     antialias = true,
  198. })
  199.  
  200. surface.CreateFont( "rks_inspect_information", {
  201.     font = "Arial",
  202.     size = 20,
  203.     weight = 100,
  204.     antialias = true,
  205. })
  206.  
  207. surface.CreateFont( "rks_inspect_stealweapon", {
  208.     font = "Arial",
  209.     size = 15,
  210.     weight = 1000,
  211.     antialias = true,
  212. })
  213.  
  214. surface.CreateFont( "rks_inspect_stealmoney", {
  215.     font = "Arial",
  216.     size = 14,
  217.     weight = 1000,
  218.     antialias = true,
  219. })
  220.  
  221. surface.CreateFont( "rks_inspect_weaponname", {
  222.     font = "Arial",
  223.     size = 14,
  224.     weight = 100,
  225.     antialias = true,
  226. })
  227.  
  228. local MainPanelColor = Color(255,255,255,200)
  229. local HeaderColor = Color(50,50,50,255)
  230. local SecondPanelColor = Color(215,215,220,255)
  231. local ButtonColor = Color(50,50,50,255)
  232. local ButtonColorHovering = Color(75,75,75,200)
  233. local ButtonColorPressed = Color(150,150,150,200)
  234. local ButtonOutline = Color(0,0,0,200)
  235.  
  236. local PANEL = {}
  237.  
  238. function PANEL:Init()
  239.     self.ButtonText = ""
  240.     self.BColor = ButtonColor
  241.     self.Font = "rks_inspect_headline" 
  242.     self:SetText("")
  243. end
  244.  
  245. function PANEL:UpdateColours()
  246.  
  247.     if self:IsDown() or self.m_bSelected then self.BColor = ButtonColorPressed return end
  248.     if self.Hovered and !self:GetDisabled() then self.BColor = ButtonColorHovering return end
  249.  
  250.     self.BColor = ButtonColor
  251.     return
  252. end
  253.  
  254. function PANEL:SetBText(Text)
  255.     self.ButtonText = Text
  256. end
  257.  
  258. function PANEL:SetBFont(Font)
  259.     self.Font = Font
  260. end
  261.  
  262. function PANEL:Paint(W,H)
  263.     draw.RoundedBox(4, 0, 0, W, H, self.BColor)
  264.     draw.SimpleText(self.ButtonText, self.Font, W/2, H/2, Color(255,255,255,255), TEXT_ALIGN_CENTER, TEXT_ALIGN_CENTER )  
  265. end
  266. vgui.Register( "rks_button", PANEL, "DButton")
  267.  
  268. local PANEL = {}
  269.  
  270. function PANEL:Init()
  271.     self.Name = ""
  272.     self.WID = 0
  273.    
  274.     self.StealItem = vgui.Create("rks_button", self)
  275.     self.StealItem:SetBText("STEAL")
  276.     self.StealItem:SetBFont("rks_inspect_stealweapon")
  277.     self.StealItem.DoClick = function() if !RKidnapConfig.AllowStealingWeapons then LocalPlayer():ChatPrint("The server owner has disabled stealing weapons.") return end net.Start("rks_stealweapon") net.WriteEntity(LocalPlayer().LastInspect) net.WriteFloat(self.WID) net.SendToServer() self:Remove() end
  278.    
  279.     self.WModel = vgui.Create( "ModelImage", self )
  280. end
  281.  
  282. function PANEL:Paint(W,H)
  283.     draw.SimpleText(self.Name, "rks_inspect_weaponname", W/2, 0, Color(0,0,0,255), TEXT_ALIGN_CENTER, TEXT_ALIGN_TOP )  
  284. end
  285.  
  286. function PANEL:PerformLayout(W,H)  
  287.     self.StealItem:SetPos(2.5,H-20)
  288.     self.StealItem:SetSize(W-5,15)
  289.    
  290.     self.WModel:SetPos(2.5,10)
  291.     self.WModel:SetSize(W-15,W-15) 
  292. end
  293.  
  294. function PANEL:SetInfo(Wep, ID)
  295.     local SWEPTable = weapons.GetStored(Wep)
  296.     if SWEPTable then
  297.         if SWEPTable.WorldModel then
  298.             self.WModel:SetModel(SWEPTable.WorldModel)
  299.         end
  300.         self.Name = SWEPTable.PrintName
  301.     else
  302.         self.Name = ""
  303.     end
  304.     self.WID = ID
  305. end
  306. vgui.Register( "rks_weapon", PANEL)
  307.  
  308. local PANEL = {}
  309.  
  310. function PANEL:Init()  
  311.     self:ShowCloseButton(false)
  312.     self:SetTitle("")  
  313.     self:MakePopup()
  314.    
  315.     self.Name = "INVALID"
  316.     self.Job = "INVALID"
  317.     self.SteamID = "INVALID"
  318.     self.Wallet = 0
  319.     self.WepItems = {}
  320.  
  321.     self.TopDPanel = vgui.Create("DPanel", self)
  322.     self.TopDPanel.Paint = function(selfp, W,H)
  323.         draw.RoundedBoxEx(8, 0, 0, W, H, HeaderColor, true, true, false, false)
  324.         draw.SimpleText("Inspecting: " .. self.Name, "rks_inspect_headline", W/2, H/2, Color( 255, 255, 255, 255 ), TEXT_ALIGN_CENTER, TEXT_ALIGN_CENTER )         
  325.     end
  326.    
  327.     self.InfoDPanel = vgui.Create("DPanel", self)
  328.     self.InfoDPanel.Paint = function(selfp, W,H)
  329.         draw.RoundedBoxEx(8, 0, 0, W, H, SecondPanelColor, false, false, true, true)
  330.         local TW, TH = surface.GetTextSize("Name: ")
  331.         draw.SimpleText("Name:", "rks_inspect_headline", 5, 10, Color(0,0,0,255), TEXT_ALIGN_LEFT, TEXT_ALIGN_CENTER )
  332.         draw.SimpleText(self.Name, "rks_inspect_information", 5+TW, 10, Color(0,0,0,255), TEXT_ALIGN_LEFT, TEXT_ALIGN_CENTER )
  333.         TW, TH = surface.GetTextSize("SteamID: ")
  334.         draw.SimpleText("SteamID:", "rks_inspect_headline", 5, 25, Color(0,0,0,255), TEXT_ALIGN_LEFT, TEXT_ALIGN_CENTER )
  335.         draw.SimpleText(self.SteamID, "rks_inspect_information", 5 + TW, 25, Color(0,0,0,255), TEXT_ALIGN_LEFT, TEXT_ALIGN_CENTER )
  336.         TW, TH = surface.GetTextSize("Job: ")
  337.         draw.SimpleText("Job:", "rks_inspect_headline", 5, 40, Color(0,0,0,255), TEXT_ALIGN_LEFT, TEXT_ALIGN_CENTER )
  338.         draw.SimpleText(self.Job, "rks_inspect_information", 5 + TW, 40, Color(0,0,0,255), TEXT_ALIGN_LEFT, TEXT_ALIGN_CENTER )    
  339.         TW, TH = surface.GetTextSize("Wallet: ")
  340.         draw.SimpleText("Wallet:", "rks_inspect_headline", 5, 55, Color(0,0,0,255), TEXT_ALIGN_LEFT, TEXT_ALIGN_CENTER )
  341.         draw.SimpleText(self.Wallet, "rks_inspect_information", 5 + TW, 55, Color(0,0,0,255), TEXT_ALIGN_LEFT, TEXT_ALIGN_CENTER )
  342.     end    
  343.    
  344.     self.WeaponHeader = vgui.Create("DPanel", self)
  345.     self.WeaponHeader.Paint = function(selfp, W,H)
  346.         draw.RoundedBoxEx(8, 0, 0, W, H, HeaderColor, true, true, false, false)
  347.         draw.SimpleText("Weapon List", "rks_inspect_headline", W/2, H/2, Color( 255, 255, 255, 255 ), TEXT_ALIGN_CENTER, TEXT_ALIGN_CENTER )           
  348.     end    
  349.  
  350.     self.WeaponList = vgui.Create("DScrollPanel", self)
  351.     self.WeaponList.Paint = function(selfp, W, H)
  352.         draw.RoundedBoxEx(4, 0, 0, W-15, H, SecondPanelColor, false, false, true, true)
  353.     end
  354.    
  355.     self.WeaponList.VBar.Paint = function() end
  356.     self.WeaponList.VBar.btnUp.Paint = function() end
  357.     self.WeaponList.VBar.btnDown.Paint = function() end
  358.     self.WeaponList.VBar.btnGrip.Paint = function() end    
  359.    
  360.     if DarkRP then
  361.         self.StealMoney = vgui.Create("rks_button", self.InfoDPanel)
  362.         self.StealMoney:SetBText("STEAL")
  363.         self.StealMoney:SetBFont("rks_inspect_stealmoney")
  364.         self.StealMoney.DoClick = function()
  365.             if IsValid(LocalPlayer().LastInspect) then
  366.                 net.Start("rks_stealcash")
  367.                     net.WriteEntity(LocalPlayer().LastInspect)
  368.                     if !RKidnapConfig.MoneyStealRandomAmount then
  369.                         net.WriteFloat(self.StealMoneyAmount:GetValue())
  370.                     end
  371.                 net.SendToServer()
  372.                
  373.                 timer.Simple(1, function()
  374.                     if IsValid(self) then
  375.                         self.Wallet = DarkRP.formatMoney(LocalPlayer().LastInspect:getDarkRPVar("money"))
  376.                         self:PerformLayout()
  377.                     end
  378.                 end)
  379.             end
  380.         end    
  381.        
  382.         if !RKidnapConfig.MoneyStealRandomAmount then
  383.             self.StealMoneyAmount = vgui.Create("DTextEntry", self.InfoDPanel)
  384.             self.StealMoneyAmount:SetNumeric(true) 
  385.         end
  386.     end
  387.    
  388.     self.CloseButton = vgui.Create("rks_button", self)
  389.     self.CloseButton:SetBText("X")
  390.     self.CloseButton.DoClick = function() self:Remove() end    
  391. end
  392.  
  393. local function IsJobRanksLoadout(Player, Wep)
  394.     local Rank = Player:GetJobRank()
  395.     local Job = Player:Team()
  396.     local WMatched = false
  397.    
  398.     if JobRanks and JobRanks[Job] then
  399.         local JobTbl = JobRanks[Job]
  400.         if JobTbl.ExtraLoadoutSingleRank and JobTbl.ExtraLoadoutSingleRank[Rank] then
  401.             local SLoadout = JobTbl.ExtraLoadoutSingleRank[Rank]
  402.             for k,v in pairs(SLoadout) do
  403.                 if v == Wep then
  404.                     WMatched = true
  405.                     break
  406.                 end
  407.             end
  408.         end
  409.         if !WMatched and JobTbl.ExtraLoadout then
  410.             local RLoadout = JobTbl.ExtraLoadout
  411.             for k,v in pairs(RLoadout) do
  412.                 if v <= Rank and k == Wep then
  413.                     WMatched = true
  414.                     break
  415.                 end
  416.             end
  417.         end
  418.     end
  419.     return WMatched
  420. end
  421.  
  422. function PANEL:SetupInfo(Player, WepTbl)
  423.     self.Name = Player:Nick()
  424.     self.SteamID = Player:SteamID()
  425.    
  426.     local jobTable = {}
  427.     if DarkRP then
  428.         self.Job = Player:getDarkRPVar("job")
  429.         self.Wallet = DarkRP.formatMoney(Player:getDarkRPVar("money"))
  430.         jobTable = Player:getJobTable()
  431.     end
  432.  
  433.     for k,v in pairs(WepTbl) do
  434.         if !RKidnapConfig.BlackListedWeapons[v] then
  435.             if RKidnapConfig.AllowStealingJobWeapons or (jobTable.weapons and !table.HasValue(jobTable.weapons, v) and (!JobRanksConfig or !IsJobRanksLoadout(Player, v))) then
  436.                 local Wep = vgui.Create("rks_weapon", self.WeaponList)
  437.                 Wep:SetInfo(v, k)
  438.                
  439.                 self.WepItems[k] = Wep
  440.             end
  441.         end
  442.     end
  443. end
  444.  
  445. local TopH = 25
  446. local InfoH =75
  447. local WeaponH = 25
  448. local WeaponListH = 180
  449. function PANEL:Paint(W,H)
  450.     draw.RoundedBoxEx(8, 0, TopH, W, H-TopH, MainPanelColor,false,false,true,true) 
  451. end
  452.  
  453. local WepsPerLine = 4
  454. local Width, Height, Padding = 300, 330, 5
  455. function PANEL:PerformLayout() 
  456.     self:SetPos(ScrW()/2-Width/2, ScrH()/2-Height/2)
  457.     self:SetSize(Width, TopH+InfoH+WeaponH+WeaponListH)
  458.    
  459.     self.TopDPanel:SetPos(0,0)
  460.     self.TopDPanel:SetSize(Width,TopH) 
  461.    
  462.     self.InfoDPanel:SetPos(Padding,TopH+Padding)
  463.     self.InfoDPanel:SetSize(Width-Padding*2,InfoH-Padding*2)   
  464.  
  465.     self.WeaponHeader:SetPos(Padding,TopH+InfoH)
  466.     self.WeaponHeader:SetSize(Width-Padding*2,WeaponH) 
  467.    
  468.     self.WeaponList:SetPos(Padding,TopH+InfoH+WeaponH)
  469.     self.WeaponList:SetSize(Width+Padding, WeaponListH-Padding)
  470.    
  471.     local WAvailable = self.WeaponList:GetWide()-15
  472.     local WepWSize = WAvailable/WepsPerLine
  473.    
  474.     local NumSlots = 0
  475.     local CRow = 0
  476.     for k,v in pairs(self.WepItems) do
  477.         if IsValid(v) then
  478.             if NumSlots >= WepsPerLine then
  479.                 NumSlots = 0
  480.                 CRow = CRow + 1
  481.             end
  482.             v:SetPos(WepWSize*(NumSlots),CRow*(WepWSize+15))
  483.             v:SetSize(WepWSize,WepWSize+15)
  484.             NumSlots = NumSlots + 1
  485.         end
  486.     end    
  487.    
  488.     if self.StealMoney then
  489.         local TW, TH = surface.GetTextSize("Wallet:  " .. self.Wallet) 
  490.         if !RKidnapConfig.MoneyStealRandomAmount then
  491.             if self.StealMoneyAmount then
  492.                 self.StealMoneyAmount:SetPos(TW, 49)
  493.                 self.StealMoneyAmount:SetSize(45,13)
  494.             end
  495.        
  496.             self.StealMoney:SetPos(TW+50, 49)
  497.             self.StealMoney:SetSize(45,13)
  498.         else
  499.             self.StealMoney:SetPos(TW, 49)
  500.             self.StealMoney:SetSize(45,13)
  501.         end
  502.     end
  503.    
  504.     self.CloseButton:SetPos(Width-TopH,TopH/2-9)
  505.     self.CloseButton:SetSize(20, 20)   
  506. end
  507. vgui.Register("rks_inspect_menu", PANEL, "DFrame")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement