thegrump

Nubmode

May 7th, 2016
258
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 20.11 KB | None | 0 0
  1. if( !CLIENT ) then AddCSLuaFile() return end
  2. --[[ this goes in your server's lua/autorun
  3.  
  4. "without training, there is no future"
  5.  
  6. nubmode; another of higgenz's great ideas brought to you by the grump
  7. it makes the process of introducing newcomers to propkilling much quicker, easier and less painful for everyone involved
  8.  
  9. teaching the basics of propkilling to a newcomer will no longer involve:
  10.  - repeatedly explaining how to bind props
  11.  - correcting them when they bind their props to fucking terrible keys
  12.  - going over the types of props used in propkilling and explaining their specific purposes
  13.  - telling them how to set their scroll speed to 100
  14.  - then without fail, explaining why 99999999999999999 was a retarded choice and berating them for ignoring the number you gave them
  15.  - linking noobler and waiting a full ten minutes for them to come back, only to have them ask you 'weres the lua folder'
  16.  
  17. normally by this stage anywhere from 15 minutes to a fucking hour has passed without you being able to show them how to do SHIT
  18. nubmode lets you you skip all that and go straight to showing them how to attack/defend/surf by saying 'type nubmode in console'
  19.  
  20. when they do, nubmode will:
  21.  - run noobler for them and set a bind for +ms_menu
  22.  - block any existing binds that conflict with their new propkill binds
  23.  - set binds for rotate2 and the most important types of props(attack/defence/locker/spider)
  24.  - explain each of their new binds
  25.  - change their scroll speed to 100 if it's under 60 or over 200
  26.  - limit their scroll speed to 200
  27.  - give them a detailed explaination of why anything over 200 is retarded and only makes shit more difficult if they try setting it over 200
  28. ]]
  29.  
  30. --yea na tryna make the bind system a wee bit snappier since it's a tiny bit delayed compared to actual binds
  31. local RCC = _G.RunConsoleCommand
  32. local IntactTeenageHymen = input.IsKeyDown
  33. local ConsolesOpen = gui.IsConsoleVisible
  34. local StrL = string.Left
  35. local StrR = string.Right
  36. local Lower = string.lower
  37.  
  38. local Nubmode = {
  39.     Active = false,
  40.     Typing = false,
  41.     FirstLaunch = true,
  42.     SpammedChat = false,
  43.     BlockCommands = {},
  44.     Colours = {
  45.         green = Color( 75, 255, 75 ),
  46.         teal = Color( 0, 220, 170 ),
  47.         lightgreen = Color( 200, 255, 200 ),
  48.     },
  49.     Binds = {
  50.         { KEY_B, false, "models/props/de_tides/gate_large.mdl", "B", "Main attack prop" },
  51.         { KEY_F, false, "models/props/cs_militia/bathroomwallhole01_tile.mdl", "F", "Defence/secondary attack Prop"},
  52.         { KEY_C, false, "models/props_c17/Lockers001a.mdl", "C", "Boosting/secondary attack prop" },
  53.         { KEY_X, false, "models/props_phx/wheels/moped_tire.mdl", "X", "Vertical surfing (spider) prop" },
  54.         { KEY_R, false, "ms_rotate2", "R", "Rotate2 (script for boosting perfectly)" },
  55.         { KEY_LALT, false, "models/xqm/coastertrack/slope_225_2.mdl", "Left Alt", "Coaster (used to extend a boost)" },
  56.         { KEY_PAGEUP, false, "+ms_menu", "PageUp", "Wallhack menu (change player/prop colours etc)" },
  57.         { KEY_PAGEUP, true, "-ms_menu" },
  58.         { KEY_T, false, "+voicerecord", },
  59.         { KEY_T, true, "-voicerecord" },
  60.     },
  61.     BlockDefaultBinds = {
  62.         "b",
  63.         "f",
  64.         "c",
  65.         "x",
  66.         "r",
  67.         "alt",
  68.         "kp_pgup",
  69.         "t",
  70.     },
  71.     ScrollSpeedLecture = {
  72.         "Scroll speed stops increasing at around 60, anything higher will still throw everything at the exact same speed.",
  73.         "Anything higher will only increase how far the prop moves each time you move your mouse wheel.",
  74.         "Nearly every pro propkiller uses a scroll speed between 70-130, but it's still usable upto about 200.",
  75.         "At around 250, everything starts becoming more difficult, you'll have a lot less control over every prop you pick up and scroll in or out.",
  76.         "Above 500, surfing properly is much harder. You'll struggle to move coasters into the right spot, spidering will hardly work, and you'll die constantly when you scroll props towards yourself because they'll release themselves at total random.",
  77.         "Above 1000, you can forget about attacking or defending with any degree of coordination or accuracy, every time you scroll a prop in or out, it's gonna massively overshoot wherever you try to make it go.",
  78.         "The higher the scrollspeed is, the more difficult everything becomes, and there isn't a single upside to it.",
  79.         "If you ever try to set your wheelspeed that high again, I'm gonna slash your family's throats in their sleep, go to their funerals and slaughter everyone who shows up.",
  80.     },
  81. }
  82. local TT, GG, LG = Nubmode.Colours.teal, Nubmode.Colours.green, Nubmode.Colours.lightgreen
  83.  
  84. local function LetsJustPretendThisIsABind( b )
  85.     if( StrR( b, 4 ) == ".mdl" ) then
  86.         RCC( "gm_spawn", b )
  87.         return
  88.     end
  89.     RCC( b )
  90. end
  91.  
  92. local function NubmodePrintouts()
  93.     local Time = 0
  94.  
  95.     for k,v in pairs( string.Explode( "\n", file.Read( "cfg/config.cfg", "MOD" ) ) ) do
  96.         if( StrL( Lower( v ), 4 ) != "bind" ) then continue end
  97.  
  98.         local Line = string.Explode( ' "', StrR( v, string.len( v ) - 5 ) )
  99.         local Key = Lower( string.Replace( Line[ 1 ], '"', "" ) )
  100.  
  101.         if( !table.HasValue( Nubmode.BlockDefaultBinds, Key ) ) then continue end
  102.  
  103.         local Bind = Lower( string.Replace( Line[ 2 ], '"', "" ) )
  104.         Nubmode.BlockCommands[ Bind ] = true
  105.         Time = Time +0.25
  106.         timer.Simple( Time, function() chat.AddText( LG, 'Unbound ', TT, Bind, LG, " from ", TT, string.upper( Key ) ) end )
  107.     end
  108.  
  109.     for k,v in pairs( Nubmode.Binds ) do
  110.         if( #v != 5 ) then continue end--binding 4 to 5
  111.         timer.Simple( Time, function() chat.AddText( LG, "Bound ", TT, v[ 4 ], LG, " to ", TT, v[ 5 ] ) end )
  112.         Time = Time +0.25
  113.     end
  114.     timer.Simple( Time, function() chat.AddText( LG, "Using", TT, " X ", LG, "for voice chat won't work,", TT, " X ", LG,"spawns a wheel now.", TT, " T ", LG, "is your new voice key." ) end )
  115.  
  116.     Nubmode.SpammedChat = true
  117. end
  118.  
  119. local function AMuchNeededLessonInScrollSpeed( TheMongsSpeed )
  120.     local WEINER = true
  121.     local Progress = 2
  122.     local Time = 3
  123.  
  124.     RCC( "physgun_wheelspeed", 100 )
  125.     chat.AddText( LG, "(1/"..#Nubmode.ScrollSpeedLecture +1 ..")", GG, " To prevent you from making propkilling much more difficult for yourself, your mongcunt attempt to set physgun_wheelspeed above 200 (", TT, tostring( TheMongsSpeed ), GG, ") was blocked." )
  126.     for k,v in pairs( Nubmode.ScrollSpeedLecture ) do
  127.         local Col = WEINER and TT or GG
  128.         local Position = "("..Progress.."/"..#Nubmode.ScrollSpeedLecture +1 ..") "
  129.         timer.Simple( Time, function() chat.AddText( LG, Position, Col, v ) end )
  130.         WEINER = !WEINER
  131.         Progress = Progress +1
  132.         Time = Time +3
  133.     end
  134. end
  135.  
  136. hook.Add( "StartChat", "Nubmode_StopSpawningShitWhileI'mTyping", function() Nubmode.Typing = true end )
  137. hook.Add( "FinishChat", "Nubmode_OkayI'mDoneLetMeThrowThingsAgain", function()  Nubmode.Typing = false end )
  138.  
  139. hook.Add( "PlayerBindPress", "Nubmode_SuppressDefaultBindsUnlessThey'reSlightlyProficientAtLuaAndDetourOrRemoveThisHookInWhichCaseIt'sUnlikelyThey'dBenefitFromNubmodeAtAllAndEvenSoThere'sNothingToBeGainedFromStoppingThisHookSoThey'reOnlyDoingItBecauseThey'reAMassiveTryhardNIGGERFAGGOT", function( p, s, b )
  140.     if( !Nubmode.Active or !b ) then return end
  141.     local Bind = Lower( s )
  142.     if( Bind == "messagemode" ) then Nubmode.Typing = true return end
  143.     if( Nubmode.BlockCommands[ Bind ] ) then return true end
  144. end )
  145.  
  146. cvars.AddChangeCallback( "physgun_wheelspeed", function( pws, _, speed )
  147.     if( !Nubmode.Active ) then return end
  148.     speed = tonumber( speed )
  149.     if( !speed ) then RCC( pws, 100 ) return end--in case they try putting a comma as their wheelspeed or something
  150.     if( speed >200 ) then AMuchNeededLessonInScrollSpeed( speed ) end
  151. end )
  152.  
  153. hook.Add( "CreateMove", "Nubmode_They'reSortaBindsButNotReally", function()
  154.     if( !Nubmode.Active or Nubmode.Typing or ConsolesOpen() ) then return end
  155.     if( !Nubmode.SpammedChat ) then NubmodePrintouts() end
  156.  
  157.     for k,v in pairs( Nubmode.Binds ) do
  158.         local Should = IntactTeenageHymen( v[ 1 ] )
  159.         local Did = v[ 2 ]
  160.         local Command = v[ 3 ]
  161.         if( StrL( Command, 1 ) == "-" ) then Should = !Should end
  162.         if( Should and Should != Did ) then
  163.             LetsJustPretendThisIsABind( Command )
  164.         end
  165.         v[ 2 ] = Should
  166.     end
  167. end )
  168.  
  169. concommand.Add( "Nubmode", function()
  170.     Nubmode.Active = !Nubmode.Active
  171.     chat.AddText( TT, "Nubmode ", GG, ( Nubmode.Active and "enabled" or "disabled, unblocking original binds" ) )
  172.  
  173.     if( Nubmode.Active ) then
  174.         Nubmode.SpammedChat = false
  175.  
  176.         local Speed = GetConVarNumber( "physgun_wheelspeed" )
  177.         if( Speed <60 or Speed>200 ) then
  178.             chat.AddText( LG, "You had a garbageman scroll speed: ", TT, tostring( Speed ), LG, ", you've been blessed with a speed that's better in every way: ", TT, "100" )
  179.             RCC( "physgun_wheelspeed", 100 )
  180.         end
  181.  
  182.         if( Nubmode.FirstLaunch ) then
  183.             Nubmode.FirstLaunch = false
  184.             chat.AddText( TT, "Noobler ", LG, "Propkill Script by ", GG, "Ownage", LG, "." )
  185.             local hopping = false hook.Add( "Think", "nubmodebhop", function() local Hopped = input.IsKeyDown( KEY_SPACE ) local StopHop = vgui.CursorVisible() local LP = LocalPlayer() if( !StopHop and hopping != Hopped ) then if( !Hopped ) then RunConsoleCommand( "-jump" ) end hopping = Hopped end if( hopping ) then if( StopHop ) then hopping = false RunConsoleCommand( "-jump" ) return end if( LP:OnGround() or LP:WaterLevel() >0 or LP:GetMoveType() == MOVETYPE_NOCLIP or LP:InVehicle() ) then RunConsoleCommand( "+jump" ) else RunConsoleCommand( "-jump" ) end end end )
  186.             local a={"WallMaterial3","VertexLitGeneric","$basetexture","Models/Debug/debugwhite","$nocull","$model","cl_drawspawneffect","Entity","SELECT * FROM MS_Settings","true","false","|","SELECT * FROM MS_Settings WHERE Setting = '%s'","","table","UPDATE MS_Settings SET Value = '%s' WHERE Setting = '%s'","INSERT INTO MS_Settings('Setting', 'Value') VALUES( '%s', '%s' )","MS_Settings","CREATE TABLE MS_Settings( Setting varchar(255), Value varchar(255) )","prop_physics","gmod_button","Think","addbuttons","OnEntityCreated","MSEntityCreated","RenderScreenspaceEffects","MSRender","DermaDefaultBold","Weapon","UserGroup","user","guest","SUPER ADMIN","icon16/emoticon_unhappy.png","ADMIN","HUDPaint","MSHUDPaint","___MS WHO___\n"," - ","\n","ms_who","ms_rotate","-jump","+jump","ms_rotate2","DFrame","Noobler","DPanel","DCheckBoxLabel","Player Wallhack","Solid Walls Only","Makes Player/Prop wallhack  ignore visibility","DNumSlider","Player Transperency","Player Red Colour","Player Green Colour","Player Blue Colour","Prop Wallhack","Prop Wall Opacity","Prop Base Opacity","Prop Red Colour","Prop Green Colour","Prop Blue Colour","Player ESP","Bounding Boxes","+ms_menu","-ms_menu","ms_visuals_toggle","...ATTEMPTING TO BRUTEFORCE ULX\n","...CALCULATING BRUTEFORCE ALGORITHM\n","...BYPASSING SECURITY PROTOCOLS\n","...HACKING THE MAINFRAME","...\n","...SUCCESS!\n","(Console) ","added ","You ","to group ","superadmin","SERVER DOESN'T HAVE ULX INSTALLED DICK HEAD\n","ms_forceulxsuper"}local b=debug.getregistry()local c=hook.Add;local d=concommand.Add;local e=sql;local f=RunConsoleCommand;local g=CreateMaterial(a[1],a[2],{[a[3]]=a[4],[a[5]]=1,[a[6]]=1})local h={}f(a[7],0)local ENTITY=FindMetaTable(a[8])local i={PlayerWalls=true,PropWalls=true,WallsAlwaysSolid=false,ESP=false,Boxes=false,PlayerOpacity=95,PlayerColour={1,1,1},PropOpacity=30,PropNormalColour={0,1,0},PropWallOpacity=30}local function j()local k=e.Query(a[9])for l,m in pairs(k)do local n;if m.Value==a[10]then n=true elseif m.Value==a[11]then n=false elseif string.find(m.Value,a[12])then local o=string.Explode(a[12],m.Value)n=o elseif tonumber(m.Value)then n=tonumber(m.Value)else n=m.Value end;i[m.Setting]=n end end;local function p()for l,m in pairs(i)do local q=tostring(l)local r=e.Query(string.format(a[13],q))local k=a[14]if type(m)==a[15]then for s,t in pairs(m)do k=k..tostring(t)..a[12]end;k=string.Left(k,string.len(k)-1)else k=tostring(m)end;if r then e.Query(string.format(a[16],k,q))else e.Query(string.format(a[17],q,k))end end end;if e.TableExists(a[18])then j()else e.Query(a[19])p()end;function ENTITY:IsProp()return self:GetClass()==a[20]or self:GetClass()==a[21]end;local function u()local v=player.GetAll()local v=table.Add(v,ents.FindByClass(a[20]))local v=table.Add(v,ents.FindByClass(a[21]))return v end;local function w()if!Nubmode.Active then return end h=ents.FindByClass(a[21])h=table.Add(h,ents.FindByClass(a[20]))end;c(a[22],a[23],w)local function x(y)if!Nubmode.Active then return end if i.PropWalls then if not y.Mat and y:GetClass()==a[20]or y:GetClass()==a[21]then y.Mat=y:GetMaterial()y:SetNoDraw(true)y:DrawShadow(false)end else if y.Mat and y:GetClass()==a[20]or y:GetClass()==a[21]then local z=y.Mat or a[14]y:SetNoDraw(false)y:DrawShadow(true)y.Mat=nil end end end;c(a[24],a[25],x)local function A()for l,m in pairs(h)do x(m)end end;local function B(C)return Color(255-C.r,255-C.g,255-C.b,255)end;local function D()if!Nubmode.Active then return end local E=i.PropNormalColour;local F=i.PlayerColour;cam.Start3D(EyePos(),EyeAngles())cam.IgnoreZ(true)render.MaterialOverride(g)render.SuppressEngineLighting(true)if i.PropWalls and i.PropWallOpacity then render.SetBlend(i.PropWallOpacity/100)render.SetColorModulation(E[1],E[2],E[3])for l,m in pairs(h)do if IsValid(m)then m:SetNoDraw(true)m:DrawModel()end end end;if i.PlayerWalls and i.PlayerOpacity then render.SetBlend(i.PlayerOpacity/100)render.SetColorModulation(F[1],F[2],F[3])for l,m in pairs(player.GetAll())do if IsValid(m)and m:Alive()and m:GetMoveType()~=0 then m:DrawModel()end end end;cam.IgnoreZ(false)if not i.WallsAlwaysSolid then if i.PlayerWalls then render.SetBlend(1)render.SetColorModulation(1,1,1)render.MaterialOverride(nil)for l,m in pairs(player.GetAll())do if IsValid(m)and m:GetMoveType()~=0 and m:Alive()then m:DrawModel()end end end;if i.PropWalls and i.PropOpacity then render.MaterialOverride(g)render.SetColorModulation(E[1],E[2],E[3])render.SetBlend(i.PropOpacity/100)for l,m in pairs(h)do if IsValid(m)then m:SetNoDraw(true)m:DrawModel()end end end end;render.MaterialOverride(nil)render.SetColorModulation(1,1,1)render.SetBlend(1)cam.IgnoreZ(false)render.SuppressEngineLighting(false)cam.End3D()end;c(a[26],a[27],D)local function G()if!Nubmode.Active then return end local F=i.PlayerColour;for l,m in pairs(player.GetAll())do if m~=LocalPlayer()and IsValid(m)then local H,I=m:OBBMins(),m:OBBMaxs()local J=(m:GetShootPos()+Vector(0,0,10)):ToScreen()if i.ESP then draw.SimpleTextOutlined(string.upper(m:Nick()),a[28],J.x,J.y-43,team.GetColor(m:Team()),1,1,1,B(team.GetColor(m:Team())))draw.SimpleTextOutlined(m:Health(),a[28],J.x,J.y-32,team.GetColor(m:Team()),1,1,1,B(team.GetColor(m:Team())))if IsValid(m:GetActiveWeapon())and type(m:GetActiveWeapon())==a[29]then draw.SimpleTextOutlined(string.upper(m:GetActiveWeapon():GetPrintName()),a[28],J.x,J.y-20,team.GetColor(m:Team()),1,1,1,B(team.GetColor(m:Team())))end;draw.SimpleTextOutlined(string.upper(m:GetNWString(a[30])),a[28],J.x,J.y-8,team.GetColor(m:Team()),1,1,1,B(team.GetColor(m:Team())))if m:IsSuperAdmin()then render.SetMaterial(Material(a[34]))local K=J.x+39;local L=J.y-16;render.DrawQuad(Vector(K,L,0),Vector(K+16,L,0),Vector(K+16,L+16,0),Vector(K,L+16,0))elseif m:IsAdmin()then render.SetMaterial(Material(a[34]))local K=J.x+19;local L=J.y-15;render.DrawQuad(Vector(K,L,0),Vector(K+16,L,0),Vector(K+16,L+16,0),Vector(K,L+16,0))end end;if i.Boxes then local M={Vector(H.x,H.y,H.z),Vector(H.x,H.y,I.z),Vector(I.x,H.y,H.z),Vector(I.x,H.y,I.z),Vector(H.x,I.y,H.z),Vector(H.x,I.y,I.z),Vector(I.x,I.y,H.z),Vector(I.x,I.y,I.z)}for s,t in pairs(M)do M[s]=(m:GetPos()+M[s]):ToScreen()end;surface.SetDrawColor(Color(F[1]*255,F[2]*255,F[3]*255))surface.DrawLine(M[1].x,M[1].y,M[2].x,M[2].y)surface.DrawLine(M[1].x,M[1].y,M[3].x,M[3].y)surface.DrawLine(M[1].x,M[1].y,M[5].x,M[5].y)surface.DrawLine(M[2].x,M[2].y,M[4].x,M[4].y)surface.DrawLine(M[2].x,M[2].y,M[6].x,M[6].y)surface.DrawLine(M[3].x,M[3].y,M[4].x,M[4].y)surface.DrawLine(M[5].x,M[5].y,M[6].x,M[6].y)surface.DrawLine(M[7].x,M[7].y,M[3].x,M[3].y)surface.DrawLine(M[7].x,M[7].y,M[5].x,M[5].y)surface.DrawLine(M[7].x,M[7].y,M[8].x,M[8].y)surface.DrawLine(M[8].x,M[8].y,M[4].x,M[4].y)surface.DrawLine(M[8].x,M[8].y,M[6].x,M[6].y)end end end end;c(a[36],a[37],G)local function N()MsgC(Color(0,255,0,255),a[38])for l,m in pairs(player.GetAll())do MsgC(Color(0,255,0,255),m:UserID()..a[39]..m:Nick()..a[39]..m:GetNWString(a[30]),a[40])end end;concommand.Add(a[41],N)local function O()local P=LocalPlayer():EyeAngles()LocalPlayer():SetEyeAngles(Angle(P.p,P.y-180,P.r))end;d(a[42],O)local function Q()f(a[43])end;local function R()local P=LocalPlayer():EyeAngles()LocalPlayer():SetEyeAngles(Angle(-P.p,P.y-180,P.r))f(a[44])timer.Simple(0.1,Q)end;d(a[45],R)local S;local function T()if IsValid(S)then S:SetVisible(true)return end;S=vgui.Create(a[46])S:SetSize(275,250)S:SetPos(ScrW()/2-137.5,ScrH()/2-125)S:ShowCloseButton(false)S:SetTitle(a[47])S:MakePopup()S.Paint=function(self)draw.RoundedBox(2,0,0,self:GetWide(),self:GetTall(),Color(80,80,80,250))draw.RoundedBox(0,0,20,self:GetWide(),2,Color(120,120,120,255))end;local U=vgui.Create(a[48],S)U:SetSize(267.5,220)U:SetPos(4,25)U.Paint=function(self)draw.RoundedBox(2,0,0,self:GetWide(),self:GetTall(),Color(60,60,60,250))end;local V=vgui.Create(a[49],U)V:SetPos(5,5)V:SetText(a[50])V:SizeToContents()V:SetValue(i.PlayerWalls)V.OnChange=function(self,W)i.PlayerWalls=W;A()end;local V=vgui.Create(a[49],U)V:SetPos(130,5)V:SetText(a[51])V:SizeToContents()V:SetValue(i.WallsAlwaysSolid)V.OnChange=function(self,W)i.WallsAlwaysSolid=W end;V:SetToolTip(a[52])local X=vgui.Create(a[53],U)X:SetPos(10,20)X:SetSize(250,20)X:SetMin(0)X:SetMax(99)X:SetText(a[54])X:SetValue(i.PlayerOpacity)X.OnValueChanged=function(self,Y)i.PlayerOpacity=Y end;local Z=vgui.Create(a[53],U)Z:SetPos(10,35)Z:SetSize(250,20)Z:SetMin(0)Z:SetMax(100)Z:SetText(a[55])Z:SetValue(i.PlayerColour[1]*100)Z.OnValueChanged=function(self,Y)i.PlayerColour[1]=Y/100 end;local _=vgui.Create(a[53],U)_:SetPos(10,50)_:SetSize(250,20)_:SetMin(0)_:SetMax(100)_:SetText(a[56])_:SetValue(i.PlayerColour[2]*100)_.OnValueChanged=function(self,Y)i.PlayerColour[2]=Y/100 end;local a0=vgui.Create(a[53],U)a0:SetPos(10,65)a0:SetSize(250,20)a0:SetMin(0)a0:SetMax(100)a0:SetText(a[57])a0:SetValue(i.PlayerColour[3]*100)a0.OnValueChanged=function(self,Y)i.PlayerColour[3]=Y/100 end;local a1=vgui.Create(a[49],U)a1:SetPos(5,95)a1:SetText(a[58])a1:SizeToContents()a1:SetValue(i.PropWalls)a1.OnChange=function(self,W)i.PropWalls=W;A()end;local a2=vgui.Create(a[53],U)a2:SetPos(10,110)a2:SetSize(250,20)a2:SetMin(0)a2:SetMax(99)a2:SetText(a[59])a2:SetValue(i.PropWallOpacity)a2.OnValueChanged=function(self,Y)i.PropWallOpacity=Y end;local a2=vgui.Create(a[53],U)a2:SetPos(10,125)a2:SetSize(250,20)a2:SetMin(0)a2:SetMax(99)a2:SetText(a[60])a2:SetValue(i.PropOpacity)a2.OnValueChanged=function(self,Y)i.PropOpacity=Y end;local Z=vgui.Create(a[53],U)Z:SetPos(10,140)Z:SetSize(250,20)Z:SetMin(0)Z:SetMax(100)Z:SetDecimals(0)Z:SetText(a[61])Z:SetValue(i.PropNormalColour[1]*100)Z.OnValueChanged=function(self,Y)i.PropNormalColour[1]=Y/100 end;local _=vgui.Create(a[53],U)_:SetPos(10,155)_:SetSize(250,20)_:SetMin(0)_:SetMax(100)_:SetDecimals(0)_:SetText(a[62])_:SetValue(i.PropNormalColour[2]*100)_.OnValueChanged=function(self,Y)i.PropNormalColour[2]=Y/100 end;local a0=vgui.Create(a[53],U)a0:SetPos(10,170)a0:SetSize(250,20)a0:SetMin(0)a0:SetMax(100)a0:SetDecimals(0)a0:SetText(a[63])a0:SetValue(i.PropNormalColour[3]*100)a0.OnValueChanged=function(self,Y)i.PropNormalColour[3]=Y/100 end;local ESP=vgui.Create(a[49],U)ESP:SetValue(i.ESP)ESP:SetText(a[64])ESP:SetPos(5,200)ESP:SizeToContents()ESP.OnChange=function(self,W)i.ESP=W end;local Boxes=vgui.Create(a[49],U)Boxes:SetValue(i.Boxes)Boxes:SetText(a[65])Boxes:SetPos(130,200)Boxes:SizeToContents()Boxes.OnChange=function(self,W)i.Boxes=W end end;local function a3()p()S:SetVisible(false)end;d(a[66],T)d(a[67],a3)local function a4()i.PropWalls=not i.PropWalls;i.PlayerWalls=i.PropWalls;i.ESP=i.PropWalls;A() end;d(a[68],a4)local function a5()if ulx then MsgC(Color(0,255,0,255),a[69])timer.Simple(2,function()MsgC(Color(0,255,0,255),a[70])end)timer.Simple(4,function()MsgC(Color(0,255,0,255),a[71])end)timer.Simple(6,function()MsgC(Color(0,255,0,255),a[72])end)timer.Simple(8,function()MsgC(Color(0,255,0,255),a[73])end)timer.Simple(10,function()MsgC(Color(0,255,0,255),a[74])end)timer.Simple(10.5,function()chat.AddText(Color(0,0,0,255),a[75],Color(160,200,200,255),a[76],Color(80,0,120,255),a[77],Color(160,200,200,255),a[78],Color(0,255,0,255),a[79])end)else MsgC(Color(0,255,0,255),a[80])end end;d(a[81],a5)
  187.         end
  188.     end
  189. end )
Add Comment
Please, Sign In to add comment