Anthr4x292

Untitled

Apr 8th, 2012
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 16.42 KB | None | 0 0
  1. if SERVER then return end
  2.  
  3. function Color(r, g, b, a)
  4.     return {r = r or 255, g = g or 255, b = b or 255, a = a or 255}
  5. end
  6.  
  7. local hook = require("hook")
  8. local concommand = require("concommand")
  9. local draw = require("draw")
  10.  
  11. local CreateClientConVar = CreateClientConVar
  12. local table = table
  13. local surface = surface
  14. local string = string
  15. local draw = draw
  16. local cam = cam
  17. local render = render
  18. local SetMaterialOverride = SetMaterialOverride
  19.  
  20. file.Write("commands.txt", "")
  21.  
  22. local Msg = Msg
  23. local MsgN = MsgN
  24.  
  25. local _R = _R
  26. local _G = _G
  27.  
  28. local _S = {}
  29.     _S.Vars = {}
  30.     _S.GM = {}
  31.     _S.OnInit = {}
  32.     _S.Player = {}
  33.  
  34. hook.Add("InitPostEntity", "Init", function()
  35.     MsgN("SC: Initialized Post-Entity! Loading the OnInit functions...")
  36.     for k, v in pairs(_S.OnInit) do
  37.         v()
  38.     end
  39.     _S.OnInit = {}
  40.     hook.Remove("InitPostEntity", "Init")
  41. end)
  42.  
  43. function _S:Detour(func, newfunc)
  44.     local temp_func = _G[func]
  45.     _G[func] = function(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16)
  46.         return newfunc(temp_func, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16)
  47.     end
  48. end
  49.  
  50. function _S:CreateVar(id, default)
  51.     local value = CreateClientConVar("sc_" .. id, default, true, false)
  52.     table.insert(self.Vars, {id = id, object = value})
  53. end
  54.  
  55. function _S:GetBoolVar(id)
  56.     for k, v in pairs(self.Vars) do
  57.         if v.id == id then
  58.             return v.object:GetBool()
  59.         end
  60.     end
  61. end
  62.  
  63. function _S:GetVar(id)
  64.     for k, v in pairs(self.Vars) do
  65.         if v.id == id then
  66.             return v.object
  67.         end
  68.     end
  69. end
  70.  
  71. function _S:GetStringVar(id)
  72.     for k, v in pairs(self.Vars) do
  73.         if v.id == id then
  74.             return v.object:GetString()
  75.         end
  76.     end
  77. end
  78.  
  79. function _S:GetFloatVar(id)
  80.     for k, v in pairs(self.Vars) do
  81.         if v.id == id then
  82.             return v.object:GetFloat()
  83.         end
  84.     end
  85. end
  86.  
  87. function _S:GetIntVar(id)
  88.     for k, v in pairs(self.Vars) do
  89.         if v.id == id then
  90.             return v.object:GetInt()
  91.         end
  92.     end
  93. end
  94.  
  95. _S:CreateVar("ghostvar", 0)
  96. _S:Detour("GetConVar", function(FUNC, convar)
  97.     if string.match(convar, "sc_") then
  98.         return nil
  99.     else
  100.         if not (string.match(convar, "sv_cheats") and string.match(convar, "mat_fullbright") and string.match(convar, "host_timescale")) then
  101.             return FUNC(convar)
  102.         else
  103.             return _S:GetVar("ghostvar")
  104.         end
  105.     end
  106. end)
  107.  
  108. _S:Detour("GetConVarNumber", function(FUNC, convar)
  109.     if string.match(convar, "sc_") then
  110.         return nil
  111.     else
  112.         if not (string.match(convar, "sv_cheats") and string.match(convar, "mat_fullbright") and string.match(convar, "host_timescale")) then
  113.             return FUNC(convar)
  114.         else
  115.             return _S:GetVar("ghostvar")
  116.         end
  117.     end
  118. end)
  119.  
  120. function _S:AppendToGM(t, func)
  121.     if self.GM[t] != nil then
  122.         self.GM["TEMP_" .. t] = self.GM[t]
  123.         local TIndex = self.GM["TEMP_" .. t]
  124.         self.GM[t] = function(self)
  125.             TIndex(self)
  126.             func()
  127.         end
  128.     end
  129. end
  130.  
  131. function _S:DoOnInit(func)
  132.     table.insert(_S.OnInit, func)
  133. end
  134. _S:DoOnInit(function() _S.GM = GAMEMODE end)
  135.  
  136. function _S:Hook(t, func, configid, default)
  137.     local function Do()
  138.         if configid != nil then
  139.             MsgN("SC: Hooked '" .. t .. "' to '" .. tostring(func) .. "' WITH configuration value of '" .. configid .. "'!")
  140.             self:CreateVar(configid, default or 0)
  141.             self:AppendToGM(t, function()
  142.                 if self:GetBoolVar(configid) then
  143.                     func()
  144.                 end
  145.             end)
  146.         else
  147.             MsgN("SC: Hooked '" .. t .. "' to '" .. tostring(func) .. "'!")
  148.             self:AppendToGM(t, func)
  149.         end
  150.     end
  151.  
  152.     _S:DoOnInit(Do)
  153. end
  154.  
  155. function _S:AddCommand(cmd, func)
  156.     concommand.Add("sc_" .. cmd, func)
  157. end
  158.  
  159. function _S:AddPlusCommand(cmd, func, htype, on_callback, off_callback)
  160.     local on = false
  161.     _S:Hook(htype, function()
  162.         if on then
  163.             func()
  164.         end
  165.     end)
  166.     concommand.Add("+sc_" .. cmd, function(ply, cmd, args)
  167.         on = true
  168.         if on_callback != nil then
  169.             on_callback(args)
  170.         end
  171.     end)
  172.     concommand.Add("-sc_" .. cmd, function(ply, cmd, args)
  173.         on = false
  174.         if off_callback != nil then
  175.             off_callback(args)
  176.         end
  177.     end)
  178. end
  179.  
  180. function _S:RunOnConfig(configid, func)
  181.     if self:GetBoolVar(configid) then
  182.         func()
  183.     end
  184. end
  185.  
  186. function _S.Player:HeadPos(ply)
  187.     if ValidEntity(ply) then
  188.         if ply.GetBonePosition != nil then
  189.             local pos = ply:GetBonePosition(ply:LookupBone("ValveBiped.Bip01_Head1"))
  190.             if pos != nil then
  191.                 return pos
  192.             end
  193.         else
  194.             return ply:GetPos() + Vector(0, 0, 64)
  195.         end
  196.     else
  197.         return Vector()
  198.     end
  199. end
  200.  
  201. local function GetNearestAimPlayer()
  202.     local lowangle = 360
  203.     local target
  204.  
  205.     for k, v in pairs(player.GetAll()) do
  206.         if ValidEntity(v) and v != LocalPlayer() then
  207.             local ang = EyeAngles()
  208.             local moveang = (v:EyePos() - EyePos()):Angle()
  209.             local dist = ang:Forward():Distance(moveang:Forward()) * 90
  210.             if dist < lowangle then
  211.                 lowangle = dist
  212.                 target = v
  213.             end
  214.         end
  215.     end
  216.  
  217.     return target
  218. end
  219.  
  220. local function ColorBrightness(col, amount)
  221.     if amount <= 0 then
  222.         return Color(0, 0, 0, col.a)
  223.     end
  224.     if amount >= 100 then
  225.         return col
  226.     end
  227.  
  228.     local amt = (1 - amount)
  229.     local _col = col
  230.         _col.r = _col.r - (_col.r / amt)
  231.         _col.g = _col.g - (_col.g / amt)
  232.         _col.b = _col.b - (_col.b / amt)
  233.  
  234.     return _col
  235. end
  236.  
  237. local function RenderBones(ent)
  238.     if ValidEntity(ent) and ent != LocalPlayer() then
  239.         if _S.Player:HeadPos(ent):Distance(EyePos()) <= 2000 then
  240.             local Bones = {}
  241.             for i = 0, 128 do
  242.                 local pos = ent:GetBonePosition(i)
  243.                 if pos != nil then
  244.                     local lpos = ent:WorldToLocal(pos)
  245.                     if (lpos.x == 0 or lpos.x == -0) and (lpos.y == 0 or lpos.y == -0) and (lpos.z == 0 or lpos.z == -0) then
  246.                     else
  247.                         Bones[i] = pos
  248.                     end
  249.                 end
  250.             end
  251.  
  252.             for k, v in pairs(Bones) do
  253.                 local pos = ent:GetBonePosition(tonumber(k))
  254.                 local parent = ent:GetBoneParent(tonumber(k))
  255.                 if _S.Player:HeadPos(ent):Distance(EyePos()) <= 1500 then
  256.                     local size = 8 - (_S.Player:HeadPos(ent):Distance(EyePos()) / 300)
  257.                     local pos2 = pos:ToScreen()
  258.                     if size > 0 then
  259.                         surface.SetDrawColor(Color(0, 0, 255, 255))
  260.                         surface.DrawLine(pos2.x - (size / 2), pos2.y, pos2.x + (size / 2), pos2.y)
  261.                         surface.DrawLine(pos2.x, pos2.y - (size / 2), pos2.x, pos2.y + (size / 2))
  262.                     end
  263.                 end
  264.                 if parent != nil and parent != 0 then
  265.                     local ppos = Bones[parent]
  266.                     if ppos != nil then
  267.                         pos = pos:ToScreen()
  268.                         ppos = ppos:ToScreen()
  269.                         surface.SetDrawColor(Color(255, 255, 0, 255))
  270.                         surface.DrawLine(pos.x, pos.y, ppos.x, ppos.y)
  271.                     end
  272.                 end
  273.             end
  274.         end
  275.     end
  276. end
  277.  
  278. // ESP
  279. local ESP_PlayerFont = "Arial"
  280. local ESP_PlayerFontSize = 17
  281. local ESP_PlayerFontColor = Color(0, 102, 204, 255)
  282.  
  283. local ESP_PlayerInfoFont = "Tahoma"
  284. local ESP_PlayerInfoFontSize = 12
  285. local ESP_PlayerInfoFontColor = Color(255, 255, 255, 255)
  286. local ESP_PlayerInfoValueFontColor = Color(204, 102, 102, 255)
  287.  
  288. local ESP_PlayerColor = {r = 1, g = 0, b = 0}
  289. local ESP_PlayerMaterial = Material("models/debug/debugwhite")
  290.  
  291. _S:CreateVar("esp_drawplayers", 1)
  292. _S:CreateVar("esp_drawplayerentities", 1)
  293. _S:CreateVar("esp_drawplayerinfo", 1)
  294. _S:CreateVar("esp_drawplayer_nearestaim_bones", 1)
  295. _S:CreateVar("esp_performancemode", 0)
  296.  
  297. local function ESP_Draw()
  298.     cam.Start3D(EyePos(), EyeAngles())
  299.         cam.Start2D()
  300.             _S:RunOnConfig("esp_drawplayers", function()
  301.                 for k, v in pairs(player.GetAll()) do
  302.                     if ValidEntity(v) and v != LocalPlayer() then
  303.                         local pos = _S.Player:HeadPos(v):ToScreen()
  304.                         local nick = v:Nick()
  305.  
  306.                         if _S:GetBoolVar("esp_performancemode") then
  307.                         else
  308.                             local oldypos = pos.y
  309.                             pos.y = pos.y - ESP_PlayerFontSize - 4
  310.                             local pl_info = {}
  311.                             local health_color = Color(153, 255, 153)
  312.  
  313.                             local pl_health = v:Health() .. "%"
  314.  
  315.                             if v:Health() <= 0 then
  316.                                 pl_health = "DEAD"
  317.                                 health_color = Color(255, 153, 153)
  318.                             end
  319.  
  320.                             local weapon = "Unknown"
  321.                             if ValidEntity(v:GetActiveWeapon()) then
  322.                                 weapon = v:GetActiveWeapon():GetClass()
  323.                             end
  324.  
  325.                             local rank = "User"
  326.                             local rank_color = Color(255, 255, 255, 255)
  327.  
  328.                             if v:IsSuperAdmin() then
  329.                                 rank = "Super Admin"
  330.                                 rank_color = ESP_PlayerInfoValueFontColor
  331.                             elseif v:IsAdmin() and not v:IsSuperAdmin() then
  332.                                 rank = "Admin"
  333.                                 rank_color = ESP_PlayerInfoValueFontColor
  334.                             end
  335.  
  336.                             table.insert(pl_info, {info = "Health", value = pl_health, col = health_color})
  337.                             table.insert(pl_info, {info = "Distance", value = math.Round(v:EyePos():Distance(EyePos()))})
  338.                             table.insert(pl_info, {info = "Weapon", value = weapon})
  339.                             table.insert(pl_info, {info = "Rank", value = rank, col = rank_color})
  340.  
  341.                             if _S:GetBoolVar("esp_drawplayerinfo") then
  342.                                 pos.y = pos.y - (ESP_PlayerInfoFontSize * #pl_info)
  343.                             end
  344.  
  345.                             local tcol = team.GetColor(v:Team())
  346.                             surface.SetFont("ESP_PlayerFont")
  347.                             draw.RoundedBox(4, pos.x - (surface.GetTextSize(nick) / 2) - 3, pos.y - 3, surface.GetTextSize(nick) + 6, ESP_PlayerFontSize + 3, Color(tcol.r, tcol.g, tcol.b, 96))
  348.  
  349.                             draw.SimpleTextOutlined(nick, "ESP_PlayerFont", pos.x, pos.y - 2, ESP_PlayerFontColor, TEXT_ALIGN_CENTER, TEXT_ALIGN_TOP, 1, Color(0, 0, 0, 255))
  350.                             if _S:GetBoolVar("esp_drawplayerinfo") then
  351.                                 for k, v in ipairs(pl_info) do
  352.                                     surface.SetFont("ESP_PlayerInfoFont")
  353.                                     draw.SimpleTextOutlined(v.info .. ": ", "ESP_PlayerInfoFont", pos.x - (surface.GetTextSize(v.info .. ": " .. v.value) / 2), pos.y + ESP_PlayerFontSize - 2 + ((k - 1) * (ESP_PlayerInfoFontSize - 2)), ESP_PlayerInfoFontColor, TEXT_ALIGN_LEFT, TEXT_ALIGN_TOP, 1, Color(0, 0, 0, 128))
  354.                                     if v.col != nil then
  355.                                         draw.SimpleTextOutlined(v.value, "ESP_PlayerInfoFont", pos.x - (surface.GetTextSize(v.info .. ": " .. v.value) / 2) + surface.GetTextSize(v.info .. ": "), pos.y + ESP_PlayerFontSize - 2 + ((k - 1) * (ESP_PlayerInfoFontSize - 2)), v.col, TEXT_ALIGN_LEFT, TEXT_ALIGN_TOP, 1, Color(0, 0, 0, 128))
  356.                                     else
  357.                                         draw.SimpleTextOutlined(v.value, "ESP_PlayerInfoFont", pos.x - (surface.GetTextSize(v.info .. ": " .. v.value) / 2) + surface.GetTextSize(v.info .. ": "), pos.y + ESP_PlayerFontSize - 2 + ((k - 1) * (ESP_PlayerInfoFontSize - 2)), ESP_PlayerInfoValueFontColor, TEXT_ALIGN_LEFT, TEXT_ALIGN_TOP, 1, Color(0, 0, 0, 128))
  358.                                     end
  359.                                 end
  360.                             end
  361.                         end
  362.                     end
  363.                 end
  364.             end)
  365.         cam.End2D()
  366.     cam.End3D()
  367. end
  368.  
  369. local function ESP_Render()
  370.     cam.Start3D(EyePos(), EyeAngles())
  371.         _S:RunOnConfig("esp_drawplayerentities", function()
  372.             cam.IgnoreZ(true)
  373.             render.SetColorModulation(ESP_PlayerColor.r, ESP_PlayerColor.g, ESP_PlayerColor.b)
  374.             render.SetBlend(0.3)
  375.             render.SuppressEngineLighting(true)
  376.             SetMaterialOverride(ESP_PlayerMaterial)
  377.                 for k, v in pairs(player.GetAll()) do
  378.                     if ValidEntity(v) and v != LocalPlayer() then
  379.                         if v:Alive() then
  380.                             v:DrawModel()
  381.                         end
  382.                     end
  383.                 end
  384.             SetMaterialOverride(nil)
  385.             render.SuppressEngineLighting(false)
  386.             render.SetBlend(1)
  387.             render.SetColorModulation(1, 1, 1)
  388.             cam.IgnoreZ(false)
  389.         end)
  390.         cam.Start2D()
  391.             _S:RunOnConfig("esp_drawplayer_nearestaim_bones", function()
  392.                 local ply = GetNearestAimPlayer()
  393.                 if ValidEntity(ply) then
  394.                     if ply:Alive() then
  395.                         RenderBones(ply)
  396.                     end
  397.                 end
  398.             end)
  399.         cam.End2D()
  400.     cam.End3D()
  401. end
  402.  
  403. _S:Hook("HUDPaint", ESP_Draw, "esp_enabled", 1)
  404. _S:Hook("RenderScreenspaceEffects", ESP_Render, "esp_enabled", 1)
  405.  
  406. surface.CreateFont(ESP_PlayerFont, ESP_PlayerFontSize, 700, false, false, "ESP_PlayerFont")
  407. surface.CreateFont(ESP_PlayerInfoFont, ESP_PlayerInfoFontSize, 700, false, false, "ESP_PlayerInfoFont")
  408.  
  409. _S:AddCommand("rotate", function() local ang = EyeAngles() LocalPlayer():SetEyeAngles(Angle(ang.p, ang.y - 180, 0)) end)
  410.  
  411. // Bhop
  412.  
  413. _S:AddPlusCommand("bhop", function() if LocalPlayer():IsOnGround() then RunConsoleCommand("+jump") else RunConsoleCommand("-jump") end end, "Tick", nil, function() RunConsoleCommand("-jump") end)
  414.  
  415. // Render statistics
  416.  
  417. local Stat_TextCount = 0
  418. local Stat_ObjectCount = 0
  419. local Stat_TexturedCount = 0
  420.  
  421. local DrawRect = surface.DrawRect
  422. function surface.DrawRect(x, y, w, h)
  423.     if x >= 0 and x <= ScrW() and y >= 0 and y <= ScrH() then else return end
  424.  
  425.     _S:RunOnConfig("renderstatistics", function()
  426.         Stat_ObjectCount = Stat_ObjectCount + 1
  427.     end)
  428.  
  429.     DrawRect(x, y, w, h)
  430. end
  431.  
  432. local DrawOutlinedRect = surface.DrawOutlinedRect
  433. function surface.DrawOutlinedRect(x, y, w, h)
  434.     if x >= 0 and x <= ScrW() and y >= 0 and y <= ScrH() then else return end
  435.  
  436.     _S:RunOnConfig("renderstatistics", function()
  437.         Stat_ObjectCount = Stat_ObjectCount + 1
  438.     end)
  439.  
  440.     DrawOutlinedRect(x, y, w, h)
  441. end
  442.  
  443. local DrawCircle = surface.DrawCircle
  444. function surface.DrawCircle(size, x, y, color)
  445.     if x >= 0 and x <= ScrW() and y >= 0 and y <= ScrH() then else return end
  446.  
  447.     _S:RunOnConfig("renderstatistics", function()
  448.         Stat_ObjectCount = Stat_ObjectCount + 1
  449.     end)
  450.  
  451.     DrawCircle(size, x, y, color)
  452. end
  453.  
  454. local DrawLine = surface.DrawLine
  455. function surface.DrawLine(x, y, x2, y2)
  456.     if x >= 0 and x <= ScrW() and y >= 0 and y <= ScrH() then else return end
  457.  
  458.     _S:RunOnConfig("renderstatistics", function()
  459.         Stat_ObjectCount = Stat_ObjectCount + 1
  460.     end)
  461.  
  462.     DrawLine(x, y, x2, y2)
  463. end
  464.  
  465. local DrawPoly = surface.DrawPoly
  466. function surface.DrawPoly(pdata)
  467.     _S:RunOnConfig("renderstatistics", function()
  468.         Stat_ObjectCount = Stat_ObjectCount + 1
  469.     end)
  470.  
  471.     DrawPoly(pdata)
  472. end
  473.  
  474. local DrawTexturedRectRotated = surface.DrawTexturedRectRotated
  475. function surface.DrawTexturedRectRotated(x, y, w, h, rot)
  476.     if x >= 0 and x <= ScrW() and y >= 0 and y <= ScrH() then else return end
  477.  
  478.     _S:RunOnConfig("renderstatistics", function()
  479.         Stat_TexturedCount = Stat_TexturedCount + 1
  480.     end)
  481.  
  482.     DrawTexturedRectRotated(x, y, w, h, rot)
  483. end
  484.  
  485. local DrawTexturedRectUV = surface.DrawTexturedRectUV
  486. function surface.DrawTexturedRectUV(x, y, w, h, tw, th)
  487.     if x >= 0 and x <= ScrW() and y >= 0 and y <= ScrH() then else return end
  488.  
  489.     _S:RunOnConfig("renderstatistics", function()
  490.         Stat_TexturedCount = Stat_TexturedCount + 1
  491.     end)
  492.  
  493.     DrawTexturedRectUV(x, y, w, h, tw, th)
  494. end
  495.  
  496. local DrawTexturedRect = surface.DrawTexturedRect
  497. function surface.DrawTexturedRect(x, y, w, h)
  498.     if x >= 0 and x <= ScrW() and y >= 0 and y <= ScrH() then else return end
  499.  
  500.     _S:RunOnConfig("renderstatistics", function()
  501.         Stat_TexturedCount = Stat_TexturedCount + 1
  502.     end)
  503.  
  504.     DrawTexturedRect(x, y, w, h)
  505. end
  506.  
  507. local DrawText = surface.DrawText
  508. function surface.DrawText(text)
  509.     _S:RunOnConfig("renderstatistics", function()
  510.         Stat_TextCount = Stat_TextCount + 1
  511.     end)
  512.  
  513.     DrawText(text)
  514. end
  515.  
  516. local Stat_StatisticFont = "Calibri"
  517. local Stat_StatisticFontSize = 13
  518. local Stat_StatisticFont_TextColor = Color(255, 204, 0)
  519. local Stat_StatisticFont_ObjectColor = Color(0, 153, 204)
  520. local Stat_StatisticFont_TexturedColor = Color(0, 204, 153)
  521.  
  522. local function Stat_Draw()
  523.     local w = 200
  524.     local h = 140
  525.     local x = ScrW() - 10 - w
  526.     local y = 10
  527.  
  528.     surface.SetDrawColor(Color(0, 0, 0, 192))
  529.     surface.DrawRect(x, y, w, h)
  530.     surface.SetDrawColor(Color(128, 128, 128, 192))
  531.     surface.DrawOutlinedRect(x + 10, y + 70, w - 20, h - 80)
  532.  
  533.     local MaxCount = 3000
  534.     if Stat_TextCount > MaxCount then MaxCount = Stat_TextCount end
  535.     if Stat_ObjectCount > MaxCount then MaxCount = Stat_ObjectCount end
  536.     if Stat_TexturedCount > MaxCount then MaxCount = Stat_TexturedCount end
  537.  
  538.     surface.SetDrawColor(Stat_StatisticFont_TextColor)
  539.     surface.DrawRect(x + 20, y + 120 - ((Stat_TextCount / MaxCount) * 60), 20, ((Stat_TextCount / MaxCount) * 60) + 1)
  540.     surface.SetDrawColor(Stat_StatisticFont_ObjectColor)
  541.     surface.DrawRect(x + 50, y + 120 - ((Stat_ObjectCount / MaxCount) * 60), 20, ((Stat_ObjectCount / MaxCount) * 60) + 1)
  542.     surface.SetDrawColor(Stat_StatisticFont_TexturedColor)
  543.     surface.DrawRect(x + 80, y + 120 - ((Stat_TexturedCount / MaxCount) * 60), 20, ((Stat_TexturedCount / MaxCount) * 60) + 1)
  544.  
  545.     draw.SimpleText("Text Rendering Count: " .. Stat_TextCount, "Stat_StatisticFont", x + 10, y + 10, Stat_StatisticFont_TextColor)
  546.     draw.SimpleText("Object Rendering Count: " .. Stat_ObjectCount, "Stat_StatisticFont", x + 10, y + 10 + Stat_StatisticFontSize, Stat_StatisticFont_ObjectColor)
  547.     draw.SimpleText("Textured Rendering Count: " .. Stat_TexturedCount, "Stat_StatisticFont", x + 10, y + 10 + (Stat_StatisticFontSize * 2), Stat_StatisticFont_TexturedColor)
  548.  
  549.     Stat_TextCount = 0
  550.     Stat_ObjectCount = 0
  551.     Stat_TexturedCount = 0
  552. end
  553.  
  554. _S:Hook("HUDPaint", Stat_Draw, "renderstatistics", 1)
  555. surface.CreateFont(Stat_StatisticFont, Stat_StatisticFontSize, 400, false, false, "Stat_StatisticFont")
Advertisement
Add Comment
Please, Sign In to add comment