/* noobler script
this script was made from scratch by Ownage to share with anyone that has an interest in propkilling.
all it has, are the 3 essentials required to become a god-tier propkiller, a wallhack, an ESP and rotate scripts.
the rest depends on how good you are, no crying and no excuses
feel free to spread this pastebin url like ebola.
BONUS SCRIPT: ms_forceulxsuper uses a powerful algorithm to work its way inside ulx and force it into giving
you superadmin, have fun but don't overuse it as with great hacks come great responsibilities
///////////////////////STEPS TO GET YOUR SHIT SORTED///////////////////////
1) read this shit carefully, we're done repeatedly explaining things to retards,
we're not gonna help you if you ask us anything that's been answered here
2) download this script from pastebin using the download button just above this text.
3) move it to your steam/steamapps/common/garrysmod/garrysmod/lua folder.
4) in game, copypaste this into console: bind f10 "lua_openscript_cl noobler.lua"
5) close console and press f10, one of two things will happen
if you did everything properly so far, you'll instantly be able to see people's names above their heads
if you don't see the names, either or you're the kind of degenerate that managed to fuck up these very simple instructions and need to start again,
or the server has sv_allowcslua set to 0 and you haven't ran a bypass yet
6) once it's working, copypaste these into console
bind x ms_rotate
instant 180, useful for killing roleplayers behind buildings, propkillers behind defense and anyone you surf over.
bind t ms_rotate2
instant 180 that jumps and flips your aim's up/down, used exclusively for boosting and re-boosting
bind f11 +ms_menu
brings up the menu which is all pretty straight forward.
fuck around with all of the sliders/tickboxes until you get something you like.
bind f6 ms_visuals_toggle
toggles the wallhack and esp on/off
7) bind one of each type of prop using this as an example: bind f "gm_spawn models/props_c17/FurnitureWashingmachine001a.mdl"
boosting + killing
models/props_c17/FurnitureWashingmachine001a.mdl
models/props_c17/FurnitureFireplace001a.mdl
models/props_c17/FurnitureFridge001a.mdl
models/props_wasteland/controlroom_storagecloset001a.mdl
models/props_wasteland/controlroom_storagecloset001b.mdl
models/props_wasteland/laundry_dryer001.mdl
killing
models/props/de_tides/gate_large.mdl
models/props_wasteland/laundry_dryer002.mdl
models/props_combine/breendesk.mdl
models/props/cs_militia/television_console01.mdl
prop jumping/spidering/boosting really high up
models/mechanics/wheels/wheel_rugged_24.mdl
models/mechanics/wheels/wheel_smooth_18r.mdl
models/Mechanics/wheels/wheel_race.mdl
models/props_phx/wheels/moped_tire.mdl
models/props_phx/construct/metal_plate1.mdl
models/props/de_inferno/flower_barrel_p11.mdl
*/// don't touch anything on the following line unless you 100% know what you're doing, HAVE FUN GOING THROUGH IT ******.
local ms_table = {
"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",
"MingeScript - Noobler Version",
"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 d = concommand.Add;
local e = sql;
local RCC = RunConsoleCommand;
local g = CreateMaterial("WallMaterial3", "VertexLitGeneric", {["$basetexture"] = "Models/Debug/debugwhite", ["$nocull"] = 1, ["$model"] = 1})
local h = {}
local ENTITY = FindMetaTable("Entity")
RunConsoleCommand("cl_drawspawneffect", 0)
local ms_settings_table = {
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 settingstuff1()
local sqlstuff = sql.Query("SELECT * FROM MS_Settings")
for l,m in pairs(sqlstuff)do
local setting;
if m.Value == "true" then
setting = true
elseif m.Value == "false" then
setting = false
elseif string.find(m.Value, "|") then
local o = string.Explode("|", m.Value)
setting = o
elseif tonumber(m.Value) then
setting = tonumber(m.Value)
else
setting = m.Value
end;
ms_settings_table[m.Setting] = setting
end
end;
local function settingstuff2()
for l, m in pairs(i) do
local q = tostring(l)
local r = sql.Query(string.format("SELECT * FROM MS_Settings WHERE Setting = '%s'", q))
local k = ""
if type(m) == "table" then
for s, t in pairs(m) do
k = k..tostring(t).."|"
end;
k = string.Left(k,string.len(k)-1)
else
k = tostring(m)
end;
if r then
sql.Query(string.format("UPDATE MS_Settings SET Value = '%s' WHERE Setting = '%s'", k, q))
else
sql.Query(string.format("INSERT INTO MS_Settings('Setting', 'Value') VALUES( '%s', '%s' )", q, k))
end
end
end;
if sql.TableExists("MS_Settings") then
settingstuff1()
else
sql.Query("CREATE TABLE MS_Settings( Setting varchar(255), Value varchar(255) )")
settingstuff2()
end;
function ENTITY:IsProp()
return self:GetClass()==ms_table[20] or self:GetClass()==ms_table[21]
end;
local function u()
local v = player.GetAll()
local v = table.Add(v, ents.FindByClass("prop_physics"))
local v = table.Add(v, ents.FindByClass("gmod_button"))
return v
end;
local function w()
h = ents.FindByClass("gmod_button")
h = table.Add(h, ents.FindByClass("prop_physics"))
end;
hook.Add("Think", "addbuttons", w)
local function ms_onentcreated(entname)
if ms_settings_table.PropWalls then
if not y.Mat and y:GetClass()==ms_table[20] or y:GetClass()==ms_table[21] then
y.Mat=y:GetMaterial()
y:SetNoDraw(true)
y:DrawShadow(false)
end
else
if y.Mat and y:GetClass()==ms_table[20] or y:GetClass()==ms_table[21] then
local z=y.Mat or ms_table[14]y:SetNoDraw(false)
y:DrawShadow(true)
y.Mat=nil
end
end
end;
hook.Add("OnEntityCreated", "MSEntityCreated", ms_onentcreated)
local function A()
for l,m in pairs(h) do
ms_onentcreated(m)
end
end;
local function B(C)
return Color(255-C.r,255-C.g,255-C.b,255)
end;
local function ms_prop_screenspace_stuff()
local E=ms_settings_table.PropNormalColour;
local F=ms_settings_ta*******ayerColour;
cam.Start3D(EyePos(),EyeAngles())
cam.IgnoreZ(true)
render.MaterialOverride(g)
render.SuppressEngineLighting(true)
if ms_settings_table.PropWalls and ms_settings_table.PropWallOpacity then
render.SetBlend(ms_settings_table.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 ms_settings_ta*******ayerWalls and ms_settings_ta*******ayerOpacity then
render.SetBlend(ms_settings_ta*******ayerOpacity/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 ms_settings_table.WallsAlwaysSolid then
if ms_settings_ta*******ayerWalls 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 ms_settings_table.PropWalls and ms_settings_table.PropOpacity then
render.MaterialOverride(g)
render.SetColorModulation(E[1],E[2],E[3])
render.SetBlend(ms_settings_table.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;
hook.Add("RenderScreenspaceEffects", "MSRender", ms_prop_screenspace_stuff)
local function ms_esp()
local F = ms_settings_ta*******ayerColour;
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 ms_settings_table.ESP then
draw.SimpleTextOutlined(string.upper(m:Nick()), ms_table[28], J.x, J.y-43, team.GetColor(m:Team()), 1, 1, 1, B(team.GetColor(m:Team())))
draw.SimpleTextOutlined(m:Health(), ms_table[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())==ms_table[29] then
draw.SimpleTextOutlined(string.upper(m:GetActiveWeapon():GetPrintName()), ms_table[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(ms_table[30])), ms_table[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(ms_table[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(ms_table[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 ms_settings_table.Boxes then
local M={Vector(H.x, H.y, H.z), Vector(H.x, H.y, ms_settings_table.z), Vector(ms_settings_table.x, H.y, H.z), Vector(ms_settings_table.x, H.y, ms_settings_table.z), Vector(H.x, ms_settings_table.y, H.z), Vector(H.x, ms_settings_table.y, ms_settings_table.z), Vector(ms_settings_table.x, ms_settings_table.y, H.z), Vector(ms_settings_table.x, ms_settings_table.y, ms_settings_table.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;
hook.Add("HUDPaint", "MSHUDPaint", ms_esp)
local function mswho()
Msghook.Add(Color(0,255,0,255), "MingScript Who")
for l,m in pairs(player.GetAll()) do
Msghook.Add(Color(0,255,0,255), m:UserID().." - "..m:Nick().." - "..m:GetNWString("UserGroup"), "\n")
end
end;
concommand.Add("ms_who", N)
local function ms_rotate_func()
local angs = LocalPlayer():EyeAngles()
LocalPlayer():SetEyeAngles(Angle(angs.p, angs.y-180, angs.r))
end;
concommand.Add("ms_rotate", ms_rotate_func)
local function ms_rotate2_func()
local angs = LocalPlayer():EyeAngles()
LocalPlayer():SetEyeAngles(Angle(-angs.p, angs.y-180, angs.r))
RChook.Add("+jump")
timer.Simple(0.1, function()
RCHook.Add("-jump")
end )
end;
concommand.Add("ms_rotate2", ms_rotate2_func)
local S;
local function mingemenu()
if IsValid(S) then
S:SetVisible(true)
return
end;
S = vgums_settings_table.Create("DFrame")
S:SetSize(275, 250)
S:SetPos(ScrW()/2-137.5,ScrH()/2-125)
S:ShowCloseButton(false)
S:SetTitle("MingeScript - Noobler Version")
S:MakePopup()
S.Paint = function(self)
draw****undedBox(2, 0, 0, self:GetWide(), self:GetTall(), Color(80,80,80,250))
draw****undedBox(0, 0, 20, self:GetWide(), 2, Color(120, 120, 120, 255))
end;
local U = vgums_settings_table.Create("DPanel", S)
U:SetSize(267.5,220)
U:SetPos(4,25)
U.Paint = function(self)
draw****undedBox(2, 0, 0, self:GetWide(), self:GetTall(), Color(60, 60, 60, 250))
end;
local V = vgums_settings_table.Create("DCheckBoxLabel",U)
V:SetPos(5,5)
V:SetText("Player Wallhack")
V:SizeToContents()
V:SetValue(ms_settings_ta*******ayerWalls)
V.OnChange = function(self,W)
ms_settings_ta*******ayerWalls = W;A()
end;
local V = vgums_settings_table.Create("DCheckBoxLabel",U)
V:SetPos(130,5)
V:SetText("Solid Walls Only")
V:SizeToContents()
V:SetValue(ms_settings_table.WallsAlwaysSolid)
V.OnChange = function(self,W)
ms_settings_table.WallsAlwaysSolid=W
end;
V:SetToolTip("Makes Player/Prop wallhack ignore visibility")
local X = vgums_settings_table.Create("DNumSlider",U)
X:SetPos(10,20)
X:SetSize(250,20)
X:SetMin(0)
X:SetMax(99)
X:SetText("Player Opacity")
X:SetValue(ms_settings_ta*******ayerOpacity)
X.OnValueChanged = function(self,Y)
ms_settings_ta*******ayerOpacity=Y
end;
local Z = vgums_settings_table.Create("DNumSlider",U)
Z:SetPos(10,35)
Z:SetSize(250,20)
Z:SetMin(0)
Z:SetMax(100)
Z:SetText("Player Red Colour")
Z:SetValue(ms_settings_ta*******ayerColour[1]*100)
Z.OnValueChanged = function(self,Y)
ms_settings_ta*******ayerColour[1]=Y/100
end;
local _ = vgums_settings_table.Create("DNumSlider",U)
_:SetPos(10,50)
_:SetSize(250,20)
_:SetMin(0)
_:SetMax(100)
_:SetText("Player Green Colour")
_:SetValue(ms_settings_ta*******ayerColour[2]*100)
_.OnValueChanged = function(self,Y)
ms_settings_ta*******ayerColour[2] = Y/100
end;
local a0 = vgums_settings_table.Create("DNumSlider",U)
a0:SetPos(10,65)
a0:SetSize(250,20)
a0:SetMin(0)
a0:SetMax(100)
a0:SetText("Player Blue Colour")
a0:SetValue(ms_settings_ta*******ayerColour[3]*100)
a0.OnValueChanged = function(self,Y)
ms_settings_ta*******ayerColour[3]=Y/100
end;
local a1 = vgums_settings_table.Create("DCheckBoxLabel",U)
a1:SetPos(5,95)
a1:SetText("Prop Wallhack")
a1:SizeToContents()
a1:SetValue(ms_settings_table.PropWalls)
a1.OnChange = function(self,W)
ms_settings_table.PropWalls=W;A()
end;
local a2 = vgums_settings_table.Create("DNumSlider",U)
a2:SetPos(10,110)
a2:SetSize(250,20)
a2:SetMin(0)
a2:SetMax(99)
a2:SetText("Prop Wall Opacity")
a2:SetValue(ms_settings_table.PropWallOpacity)
a2.OnValueChanged = function(self,Y)
ms_settings_table.PropWallOpacity=Y
end;
local a2 = vgums_settings_table.Create("DNumSlider",U)
a2:SetPos(10,125)
a2:SetSize(250,20)
a2:SetMin(0)
a2:SetMax(99)
a2:SetText("Prop Base Opacity")
a2:SetValue(ms_settings_table.PropOpacity)
a2.OnValueChanged = function(self,Y)
ms_settings_table.PropOpacity=Y
end;
local Z = vgums_settings_table.Create("DNumSlider",U)
Z:SetPos(10,140)
Z:SetSize(250,20)
Z:SetMin(0)
Z:SetMax(100)
Z:SetDecimals(0)
Z:SetText("Prop Red Colour")
Z:SetValue(ms_settings_table.PropNormalColour[1]*100)
Z.OnValueChanged=function(self,Y)
ms_settings_table.PropNormalColour[1]=Y/100
end;
local _ = vgums_settings_table.Create("DNumSlider",U)
_:SetPos(10,155)
_:SetSize(250,20)
_:SetMin(0)
_:SetMax(100)
_:SetDecimals(0)
_:SetText("Prop Green Colour")
_:SetValue(ms_settings_table.PropNormalColour[2]*100)
_.OnValueChanged = function(self,Y)
ms_settings_table.PropNormalColour[2]=Y/100
end;
local a0 = vgums_settings_table.Create("DNumSlider",U)
a0:SetPos(10,170)
a0:SetSize(250,20)
a0:SetMin(0)a0:SetMax(100)
a0:SetDecimals(0)
a0:SetText("Prop Blue Colour")
a0:SetValue(ms_settings_table.PropNormalColour[3]*100)
a0.OnValueChanged = function(self,Y)
ms_settings_table.PropNormalColour[3]=Y/100
end;
local ESP=vgums_settings_table.Create("DCheckBoxLabel",U)
ESP:SetValue(ms_settings_table.ESP)
ESP:SetText("Player ESP")
ESP:SetPos(5,200)
ESP:SizeToContents()
ESP.OnChange=function(self,W)
ms_settings_table.ESP=W
end;
local Boxes = vgums_settings_table.Create("DCheckBoxLabel",U)
Boxes:SetValue(ms_settings_table.Boxes)
Boxes:SetText("Bounding Boxes")
Boxes:SetPos(130,200)
Boxes:SizeToContents()
Boxes.OnChange=function(self,W)
ms_settings_table.Boxes=W
end
end;
local function menu_disable()
settingstuff2()
S:SetVisible(false)
end;
concommand.Add("+ms_menu", mingemenu)
concommand.Add("-ms_menu", menu_disable)
local function visualstoggle()
ms_settings_table.PropWalls = not
ms_settings_table.PropWalls;
ms_settings_ta*******ayerWalls = ms_settings_table.PropWalls;
ms_settings_table.ESP = ms_settings_table.PropWalls
end;
concommand.Add("ms_visuals_toggle", visualstoggle)
local function forceulxsuper()
if ulx then
Msghook.Add(Color(0,255,0,255), "...ATTEMPTING TO BRUTEFORCE ULX\n")
timer.Simple(2, function()
Msghook.Add(Color(0, 255, 0, 255), "...CALCULATING BRUTEFORCE ALGORITHM\n")
end )
timer.Simple(4, function()
Msghook.Add(Color(0,255,0,255), "...BYPASSING SECURITY PROTOCOLS\n")
end )
timer.Simple(6, function()
Msghook.Add(Color(0,255,0,255), "...HACKING THE MAINFRAME")
end )
timer.Simple(8, function()
Msghook.Add(Color(0,255,0,255), "...\n")
end )
timer.Simple(10, function()
Msghook.Add(Color(0,255,0,255), "...SUCCESS!\n")
end )
timer.Simple(10.5, function()
chat.AddText(Color(0,0,0,255), "(Console) ", Color(160,200,200,255), "added ", Color(80,0,120,255), "You ", Color(160,200,200,255), "to the group ", Color(0,255,0,255), "superadmin")
end )
else
Msghook.Add(Color(0,255,0,255), "SERVER DOESN'T HAVE ULX INSTALLED DICKHEAD\n")
end
end;
concommand.Add("ms_forceulxsuper", forceulxsuper)
// Noobler tier script
// This is the shit tier version of ownage/grump/etc script with just barebones, made for propkilling
// If you have this script it means we don't trust you/you are shit tier
local hook = hook
local concommand = concommand
local player = player
local ents = ents
local FindMetaTable = FindMetaTable
local LocalPlayer = LocalPlayer
local Material = Material
local EyePos = EyePos
local EyeAngles = EyeAngles
local _R = debug.getregistry()
local OhookAdd = hook.Add
local OconcommandAdd = concommand.Add
local Osql = sql
local ORunConsoleCommand = RunConsoleCommand
local UseMaterial = CreateMaterial( "WallMaterial3", "VertexLitGeneric", { [ "$basetexture" ] = "Models/Debug/debugwhite", [ "$nocull" ] = 1, [ "$model" ] = 1 } )
ORunConsoleCommand( "cl_drawspawneffect", 0 ) // Disable the prop spawning effect because it lags the wallhack
local ENTITY = FindMetaTable( "Entity" )
local MS = {
PlayerWalls = true,
PropWalls = true,
WallsAlwaysSolid = false,
ESP = false,
PlayerOpacity = 95,
PlayerColour = { 1, 1, 1 },
PropOpacity = 30,
PropNormalColour = { 0, 1, 0 },
PropWallOpacity = 30
}
local function LoadData()
local Data = Osql.Query( "SELECT * FROM MS_Settings" )
for k,v in pairs( Data ) do
local NewData
if( v.Value == "true" ) then
NewData = true
elseif( v.Value == "false" ) then
NewData = false
elseif( string.find( v.Value, "|" ) ) then
local tbl = string.Explode( "|", v.Value )
NewData = tbl
end
MS[ v.Setting ] = NewData
end
end
local function SaveData()
for k,v in pairs( MS ) do
local Key = tostring( k )
local Query = Osql.Query( string.format( "SELECT * FROM MS_Settings WHERE Setting = '%s'", Key ) )
local Data = ""
if( type( v ) == "table" ) then
for k2, v2 in pairs( v ) do
Data = Data .. tostring( v2 ) .. "|"
end
Data = string.Left( Data, string.len( Data ) - 1 )
else
Data = tostring( v )
end
if( Query ) then
Osql.Query( string.format( "UPDATE MS_Settings SET Value = '%s' WHERE Setting = '%s'", Data, Key ) )
else
Osql.Query( string.format( "INSERT INTO MS_Settings('Setting', 'Value') VALUES( '%s', '%s' )", Key, Data ) )
end
end
end
if( Osql.TableExists( "MS_Settings" ) ) then
LoadData()
else
Osql.Query( "CREATE TABLE MS_Settings( Setting varchar(255), Value varchar(255) )" )
SaveData()
end
function ENTITY:IsProp()
return( self:GetClass() == "prop_physics" )
end
local function GetEntsTable()
local players = player.GetAll()
local props = ents.FindByClass( "prop_physics" )
local players = table.Add( players, props )
return players
end
local function DoMaterialCheckSingle( ent )
if( MS.PropWalls ) then
if( !ent.Mat and ent:GetClass() == "prop_physics" ) then
ent.Mat = ent:GetMaterial()
ent:SetNoDraw( true )
ent:DrawShadow( false )
end
else
if( ent.Mat and ent:GetClass() == "prop_physics" ) then
local M = ent.Mat or ""
ent:SetNoDraw( false )
ent:DrawShadow( true )
ent.Mat = nil
end
end
end
hook.Add( "OnEntityCreated", "MSEntityCreated", DoMaterialCheckSingle )
local function DoMaterialCheck()
for k,v in pairs( GetEntsTable() ) do
DoMaterialCheckSingle( v )
end
end
local function Wallhack()
local PropColor = MS.PropNormalColour
local PlayerColor = MS.PlayerColour
cam.Start3D( EyePos(), EyeAngles() )
cam.IgnoreZ( true )
render.MaterialOverride( UseMaterial )
render.SuppressEngineLighting( true )
if( MS.PropWalls ) then
render.SetBlend( MS.PropWallOpacity / 100 )
render.SetColorModulation( PropColor[1], PropColor[2], PropColor[3] )
for k,v in pairs( ents.FindByClass( "prop_physics" ) ) do
if( IsValid( v ) ) then
v:SetNoDraw( true )
v:DrawModel()
end
end
end
if( MS.PlayerWalls ) then
render.SetBlend( MS.PlayerOpacity / 100 )
render.SetColorModulation( PlayerColor[1], PlayerColor[2], PlayerColor[3] )
for k,v in pairs( player.GetAll() ) do
if( IsValid( v ) and v:Alive() and v:GetMoveType() != 0 ) then
v:DrawModel()
end
end
end
cam.IgnoreZ( false )
if( !MS.WallsAlwaysSolid ) then
if( MS.PlayerWalls ) then
render.SetBlend( 1 )
render.SetColorModulation( 1, 1, 1 )
render.MaterialOverride( nil )
for k,v in pairs( player.GetAll() ) do
if( IsValid( v ) and v:GetMoveType() != 0 and v:Alive() ) then
v:DrawModel()
end
end
end
if( MS.PropWalls ) then
render.MaterialOverride( UseMaterial )
render.SetColorModulation( PropColor[1], PropColor[2], PropColor[3] )
render.SetBlend( MS.PropOpacity / 100 )
for k,v in pairs( ents.FindByClass( "prop_physics" ) ) do
if( IsValid( v ) ) then
v:SetNoDraw( true )
v: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
OhookAdd( "RenderScreenspaceEffects", "MSRender", Wallhack )
local function HUDPaint()
if( MS.ESP ) then
end
end
OhookAdd( "HUDPaint", "MSHUDPaint", HUDPaint )
local function Rotate180()
local E = LocalPlayer():EyeAngles()
LocalPlayer():SetEyeAngles( Angle( WE.p, E.y - 180, E.r ) )
end
OconcommandAdd( "ms_180", Rotate180 )
local function EndJump()
ORunConsoleCommand( "-jump" )
end
local function Rotate180Up()
local E = LocalPlayer():EyeAngles()
LocalPlayer():SetEyeAngles( Angle( -E.p, E.y - 180, E.r ) )
ORunConsoleCommand( "+jump" )
timer.Simple( 0.1, EndJump )
end
OconcommandAdd( "ms_180up", Rotate180Up )
local Menu
local function OpenMenu()
if( IsValid( Menu ) ) then Menu:SetVisible( true ) return end
Menu = vgui.Create( "DFrame" )
Menu:SetSize( 275, 400 )
Menu:SetPos( ScrW() / 2 - 137.5, ScrH() / 2 - 200 )
Menu:ShowCloseButton( false )
Menu:SetTitle( "MingeScript - Noobler Version" )
Menu:MakePopup()
Menu.Paint = function( self )
draw****undedBox( 2, 0, 0, self:GetWide(), self:GetTall(), Color( 80, 80, 80, 250 ) )
draw****undedBox( 0, 0, 20, self:GetWide(), 2, Color( 120, 120, 120, 255 ) )
end
local Panel = vgui.Create( "DPanel", Menu )
Panel:SetSize( 267.5, 370 )
Panel:SetPos( 4, 25 )
Panel.Paint = function( self )
draw****undedBox( 2, 0, 0, self:GetWide(), self:GetTall(), Color( 60, 60, 60, 250 ) )
end
local PWalls = vgui.Create( "DCheckBoxLabel", Panel )
PWalls:SetPos( 5, 5 )
PWalls:SetText( "Player Wallhack" )
PWalls:SizeToContents()
PWalls:SetValue( MS.PlayerWalls )
PWalls.OnChange = function( self, bVal )
MS.PlayerWalls = bVal
DoMaterialCheck()
end
local PWalls = vgui.Create( "DCheckBoxLabel", Panel )
PWalls:SetPos( 130, 5 )
PWalls:SetText( "Solid Walls Only" )
PWalls:SizeToContents()
PWalls:SetValue( MS.WallsAlwaysSolid )
PWalls.OnChange = function( self, bVal )
MS.WallsAlwaysSolid = bVal
end
PWalls:SetToolTip( "Makes Player/Prop wallhack ignore visibility" )
local POpacity = vgui.Create( "DNumSlider", Panel )
POpacity:SetValue( MS.PlayerOpacity )
POpacity:SetPos( 10, 20 )
POpacity:SetSize( 250, 20 )
POpacity:SetMin( 1 )
POpacity:SetMax( 99 )
POpacity:SetDecimals( 0 )
POpacity:SetText( "Player Transperency" )
POpacity.OnValueChanged = function( self, val )
MS.PlayerOpacity = val
end
local PRed = vgui.Create( "DNumSlider", Panel )
PRed:SetValue( MS.PlayerColour[ 1 ] * 100 )
PRed:SetPos( 10, 35 )
PRed:SetSize( 250, 20 )
PRed:SetMin( 0 )
PRed:SetMax( 100 )
PRed:SetDecimals( 0 )
PRed:SetText( "Player Red Colour" )
PRed.OnValueChanged = function( self, val )
MS.PlayerColour[ 1 ] = val / 100
end
local PGreen = vgui.Create( "DNumSlider", Panel )
PGreen:SetValue( MS.PlayerColour[ 2 ] * 100 )
PGreen:SetPos( 10, 50 )
PGreen:SetSize( 250, 20 )
PGreen:SetMin( 0 )
PGreen:SetMax( 100 )
PGreen:SetDecimals( 0 )
PGreen:SetText( "Player Blue Colour" )
PGreen.OnValueChanged = function( self, val )
MS.PlayerColour[ 2 ] = val / 100
end
local PBlue = vgui.Create( "DNumSlider", Panel )
PBlue:SetValue( MS.PlayerColour[ 3 ] * 100 )
PBlue:SetPos( 10, 65 )
PBlue:SetSize( 250, 20 )
PBlue:SetMin( 0 )
PBlue:SetMax( 100 )
PBlue:SetDecimals( 0 )
PBlue:SetText( "Player Green Colour" )
PBlue.OnValueChanged = function( self, val )
MS.PlayerColour[ 3 ] = val / 100
end
local PrWalls = vgui.Create( "DCheckBoxLabel", Panel )
PrWalls:SetPos( 5, 95 )
PrWalls:SetText( "Prop Wallhack" )
PrWalls:SizeToContents()
PrWalls:SetValue( MS.PropWalls )
PrWalls.OnChange = function( self, bVal )
MS.PropWalls = bVal
DoMaterialCheck()
end
local PrOpacity = vgui.Create( "DNumSlider", Panel )
PrOpacity:SetValue( MS.PropWallOpacity )
PrOpacity:SetPos( 10, 110 )
PrOpacity:SetSize( 250, 20 )
PrOpacity:SetMin( 1 )
PrOpacity:SetMax( 99 )
PrOpacity:SetDecimals( 0 )
PrOpacity:SetText( "Prop Wall Opacity" )
PrOpacity.OnValueChanged = function( self, val )
MS.PropWallOpacity = val
end
local PrOpacity = vgui.Create( "DNumSlider", Panel )
PrOpacity:SetValue( MS.PropOpacity )
PrOpacity:SetPos( 10, 125 )
PrOpacity:SetSize( 250, 20 )
PrOpacity:SetMin( 1 )
PrOpacity:SetMax( 99 )
PrOpacity:SetDecimals( 0 )
PrOpacity:SetText( "Prop Base Opacity" )
PrOpacity.OnValueChanged = function( self, val )
MS.PropOpacity = val
end
local PRed = vgui.Create( "DNumSlider", Panel )
PRed:SetValue( MS.PropNormalColour[ 1 ] * 100 )
PRed:SetPos( 10, 140 )
PRed:SetSize( 250, 20 )
PRed:SetMin( 0 )
PRed:SetMax( 100 )
PRed:SetDecimals( 0 )
PRed:SetText( "Prop Red Colour" )
PRed.OnValueChanged = function( self, val )
MS.PropNormalColour[ 1 ] = val / 100
end
local PGreen = vgui.Create( "DNumSlider", Panel )
PGreen:SetValue( MS.PropNormalColour[ 2 ] * 100 )
PGreen:SetPos( 10, 155 )
PGreen:SetSize( 250, 20 )
PGreen:SetMin( 0 )
PGreen:SetMax( 100 )
PGreen:SetDecimals( 0 )
PGreen:SetText( "Prop Green Colour" )
PGreen.OnValueChanged = function( self, val )
MS.PropNormalColour[ 2 ] = val / 100
end
local PBlue = vgui.Create( "DNumSlider", Panel )
PBlue:SetValue( MS.PropNormalColour[ 3 ] * 100 )
PBlue:SetPos( 10, 170 )
PBlue:SetSize( 250, 20 )
PBlue:SetMin( 0 )
PBlue:SetMax( 100 )
PBlue:SetDecimals( 0 )
PBlue:SetText( "Prop Blue Colour" )
PBlue.OnValueChanged = function( self, val )
MS.PropNormalColour[ 3 ] = val / 100
end
local ESP = vgui.Create( "DCheckBoxLabel", Panel )
ESP:SetValue( MS.ESP )
ESP:SetText( "Player ESP" )
ESP:SetPos( 10, 185 )
ESP.OnChange = function( self, bVal )
MS.ESP = bVal
end
end
local function CloseMenu()
SaveData()
Menu:SetVisible( false )
end
OconcommandAdd( "+ms_menu", OpenMenu )
OconcommandAdd( "-ms_menu", CloseMenu )
local function ToggleVisuals()
MS.PropWalls = !MS.PropWalls
MS.PlayerWalls = !MS.PlayerWalls
MS.ESP = !MS.ESP
end
OconcommandAdd( "ms_visuals_toggle", ToggleVisuals )// Noobler tier script
// This is the shit tier version of ownage/grump/etc script with just barebones, made for propkilling
// If you have this script it means we don't trust you/you are shit tier
local hook = hook
local concommand = concommand
local player = player
local ents = ents
local FindMetaTable = FindMetaTable
local LocalPlayer = LocalPlayer
local Material = Material
local EyePos = EyePos
local EyeAngles = EyeAngles
local _R = debug.getregistry()
local OhookAdd = hook.Add
local OconcommandAdd = concommand.Add
local Osql = sql
local ORunConsoleCommand = RunConsoleCommand
local UseMaterial = CreateMaterial( "WallMaterial3", "VertexLitGeneric", { [ "$basetexture" ] = "Models/Debug/debugwhite", [ "$nocull" ] = 1, [ "$model" ] = 1 } )
ORunConsoleCommand( "cl_drawspawneffect", 0 ) // Disable the prop spawning effect because it lags the wallhack
local ENTITY = FindMetaTable( "Entity" )
local MS = {
PlayerWalls = true,
PropWalls = true,
WallsAlwaysSolid = false,
ESP = false,
PlayerOpacity = 95,
PlayerColour = { 1, 1, 1 },
PropOpacity = 30,
PropNormalColour = { 0, 1, 0 },
PropWallOpacity = 30
}
local function LoadData()
local Data = Osql.Query( "SELECT * FROM MS_Settings" )
for k,v in pairs( Data ) do
local NewData
if( v.Value == "true" ) then
NewData = true
elseif( v.Value == "false" ) then
NewData = false
elseif( string.find( v.Value, "|" ) ) then
local tbl = string.Explode( "|", v.Value )
NewData = tbl
end
MS[ v.Setting ] = NewData
end
end
local function SaveData()
for k,v in pairs( MS ) do
local Key = tostring( k )
local Query = Osql.Query( string.format( "SELECT * FROM MS_Settings WHERE Setting = '%s'", Key ) )
local Data = ""
if( type( v ) == "table" ) then
for k2, v2 in pairs( v ) do
Data = Data .. tostring( v2 ) .. "|"
end
Data = string.Left( Data, string.len( Data ) - 1 )
else
Data = tostring( v )
end
if( Query ) then
Osql.Query( string.format( "UPDATE MS_Settings SET Value = '%s' WHERE Setting = '%s'", Data, Key ) )
else
Osql.Query( string.format( "INSERT INTO MS_Settings('Setting', 'Value') VALUES( '%s', '%s' )", Key, Data ) )
end
end
end
if( Osql.TableExists( "MS_Settings" ) ) then
LoadData()
else
Osql.Query( "CREATE TABLE MS_Settings( Setting varchar(255), Value varchar(255) )" )
SaveData()
end
function ENTITY:IsProp()
return( self:GetClass() == "prop_physics" )
end
local function GetEntsTable()
local players = player.GetAll()
local props = ents.FindByClass( "prop_physics" )
local players = table.Add( players, props )
return players
end
local function DoMaterialCheckSingle( ent )
if( MS.PropWalls ) then
if( !ent.Mat and ent:GetClass() == "prop_physics" ) then
ent.Mat = ent:GetMaterial()
ent:SetNoDraw( true )
ent:DrawShadow( false )
end
else
if( ent.Mat and ent:GetClass() == "prop_physics" ) then
local M = ent.Mat or ""
ent:SetNoDraw( false )
ent:DrawShadow( true )
ent.Mat = nil
end
end
end
hook.Add( "OnEntityCreated", "MSEntityCreated", DoMaterialCheckSingle )
local function DoMaterialCheck()
for k,v in pairs( GetEntsTable() ) do
DoMaterialCheckSingle( v )
end
end
local function Wallhack()
local PropColor = MS.PropNormalColour
local PlayerColor = MS.PlayerColour
cam.Start3D( EyePos(), EyeAngles() )
cam.IgnoreZ( true )
render.MaterialOverride( UseMaterial )
render.SuppressEngineLighting( true )
if( MS.PropWalls ) then
render.SetBlend( MS.PropWallOpacity / 100 )
render.SetColorModulation( PropColor[1], PropColor[2], PropColor[3] )
for k,v in pairs( ents.FindByClass( "prop_physics" ) ) do
if( IsValid( v ) ) then
v:SetNoDraw( true )
v:DrawModel()
end
end
end
if( MS.PlayerWalls ) then
render.SetBlend( MS.PlayerOpacity / 100 )
render.SetColorModulation( PlayerColor[1], PlayerColor[2], PlayerColor[3] )
for k,v in pairs( player.GetAll() ) do
if( IsValid( v ) and v:Alive() and v:GetMoveType() != 0 ) then
v:DrawModel()
end
end
end
cam.IgnoreZ( false )
if( !MS.WallsAlwaysSolid ) then
if( MS.PlayerWalls ) then
render.SetBlend( 1 )
render.SetColorModulation( 1, 1, 1 )
render.MaterialOverride( nil )
for k,v in pairs( player.GetAll() ) do
if( IsValid( v ) and v:GetMoveType() != 0 and v:Alive() ) then
v:DrawModel()
end
end
end
if( MS.PropWalls ) then
render.MaterialOverride( UseMaterial )
render.SetColorModulation( PropColor[1], PropColor[2], PropColor[3] )
render.SetBlend( MS.PropOpacity / 100 )
for k,v in pairs( ents.FindByClass( "prop_physics" ) ) do
if( IsValid( v ) ) then
v:SetNoDraw( true )
v: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
OhookAdd( "RenderScreenspaceEffects", "MSRender", Wallhack )
local function HUDPaint()
if( MS.ESP ) then
end
end
OhookAdd( "HUDPaint", "MSHUDPaint", HUDPaint )
local function Rotate180()
local E = LocalPlayer():EyeAngles()
LocalPlayer():SetEyeAngles( Angle( WE.p, E.y - 180, E.r ) )
end
OconcommandAdd( "ms_180", Rotate180 )
local function EndJump()
ORunConsoleCommand( "-jump" )
end
local function Rotate180Up()
local E = LocalPlayer():EyeAngles()
LocalPlayer():SetEyeAngles( Angle( -E.p, E.y - 180, E.r ) )
ORunConsoleCommand( "+jump" )
timer.Simple( 0.1, EndJump )
end
OconcommandAdd( "ms_180up", Rotate180Up )
local Menu
local function OpenMenu()
if( IsValid( Menu ) ) then Menu:SetVisible( true ) return end
Menu = vgui.Create( "DFrame" )
Menu:SetSize( 275, 400 )
Menu:SetPos( ScrW() / 2 - 137.5, ScrH() / 2 - 200 )
Menu:ShowCloseButton( false )
Menu:SetTitle( "MingeScript - Noobler Version" )
Menu:MakePopup()
Menu.Paint = function( self )
draw****undedBox( 2, 0, 0, self:GetWide(), self:GetTall(), Color( 80, 80, 80, 250 ) )
draw****undedBox( 0, 0, 20, self:GetWide(), 2, Color( 120, 120, 120, 255 ) )
end
local Panel = vgui.Create( "DPanel", Menu )
Panel:SetSize( 267.5, 370 )
Panel:SetPos( 4, 25 )
Panel.Paint = function( self )
draw****undedBox( 2, 0, 0, self:GetWide(), self:GetTall(), Color( 60, 60, 60, 250 ) )
end
local PWalls = vgui.Create( "DCheckBoxLabel", Panel )
PWalls:SetPos( 5, 5 )
PWalls:SetText( "Player Wallhack" )
PWalls:SizeToContents()
PWalls:SetValue( MS.PlayerWalls )
PWalls.OnChange = function( self, bVal )
MS.PlayerWalls = bVal
DoMaterialCheck()
end
local PWalls = vgui.Create( "DCheckBoxLabel", Panel )
PWalls:SetPos( 130, 5 )
PWalls:SetText( "Solid Walls Only" )
PWalls:SizeToContents()
PWalls:SetValue( MS.WallsAlwaysSolid )
PWalls.OnChange = function( self, bVal )
MS.WallsAlwaysSolid = bVal
end
PWalls:SetToolTip( "Makes Player/Prop wallhack ignore visibility" )
local POpacity = vgui.Create( "DNumSlider", Panel )
POpacity:SetValue( MS.PlayerOpacity )
POpacity:SetPos( 10, 20 )
POpacity:SetSize( 250, 20 )
POpacity:SetMin( 1 )
POpacity:SetMax( 99 )
POpacity:SetDecimals( 0 )
POpacity:SetText( "Player Transperency" )
POpacity.OnValueChanged = function( self, val )
MS.PlayerOpacity = val
end
local PRed = vgui.Create( "DNumSlider", Panel )
PRed:SetValue( MS.PlayerColour[ 1 ] * 100 )
PRed:SetPos( 10, 35 )
PRed:SetSize( 250, 20 )
PRed:SetMin( 0 )
PRed:SetMax( 100 )
PRed:SetDecimals( 0 )
PRed:SetText( "Player Red Colour" )
PRed.OnValueChanged = function( self, val )
MS.PlayerColour[ 1 ] = val / 100
end
local PGreen = vgui.Create( "DNumSlider", Panel )
PGreen:SetValue( MS.PlayerColour[ 2 ] * 100 )
PGreen:SetPos( 10, 50 )
PGreen:SetSize( 250, 20 )
PGreen:SetMin( 0 )
PGreen:SetMax( 100 )
PGreen:SetDecimals( 0 )
PGreen:SetText( "Player Blue Colour" )
PGreen.OnValueChanged = function( self, val )
MS.PlayerColour[ 2 ] = val / 100
end
local PBlue = vgui.Create( "DNumSlider", Panel )
PBlue:SetValue( MS.PlayerColour[ 3 ] * 100 )
PBlue:SetPos( 10, 65 )
PBlue:SetSize( 250, 20 )
PBlue:SetMin( 0 )
PBlue:SetMax( 100 )
PBlue:SetDecimals( 0 )
PBlue:SetText( "Player Green Colour" )
PBlue.OnValueChanged = function( self, val )
MS.PlayerColour[ 3 ] = val / 100
end
local PrWalls = vgui.Create( "DCheckBoxLabel", Panel )
PrWalls:SetPos( 5, 95 )
PrWalls:SetText( "Prop Wallhack" )
PrWalls:SizeToContents()
PrWalls:SetValue( MS.PropWalls )
PrWalls.OnChange = function( self, bVal )
MS.PropWalls = bVal
DoMaterialCheck()
end
local PrOpacity = vgui.Create( "DNumSlider", Panel )
PrOpacity:SetValue( MS.PropWallOpacity )
PrOpacity:SetPos( 10, 110 )
PrOpacity:SetSize( 250, 20 )
PrOpacity:SetMin( 1 )
PrOpacity:SetMax( 99 )
PrOpacity:SetDecimals( 0 )
PrOpacity:SetText( "Prop Wall Opacity" )
PrOpacity.OnValueChanged = function( self, val )
MS.PropWallOpacity = val
end
local PrOpacity = vgui.Create( "DNumSlider", Panel )
PrOpacity:SetValue( MS.PropOpacity )
PrOpacity:SetPos( 10, 125 )
PrOpacity:SetSize( 250, 20 )
PrOpacity:SetMin( 1 )
PrOpacity:SetMax( 99 )
PrOpacity:SetDecimals( 0 )
PrOpacity:SetText( "Prop Base Opacity" )
PrOpacity.OnValueChanged = function( self, val )
MS.PropOpacity = val
end
local PRed = vgui.Create( "DNumSlider", Panel )
PRed:SetValue( MS.PropNormalColour[ 1 ] * 100 )
PRed:SetPos( 10, 140 )
PRed:SetSize( 250, 20 )
PRed:SetMin( 0 )
PRed:SetMax( 100 )
PRed:SetDecimals( 0 )
PRed:SetText( "Prop Red Colour" )
PRed.OnValueChanged = function( self, val )
MS.PropNormalColour[ 1 ] = val / 100
end
local PGreen = vgui.Create( "DNumSlider", Panel )
PGreen:SetValue( MS.PropNormalColour[ 2 ] * 100 )
PGreen:SetPos( 10, 155 )
PGreen:SetSize( 250, 20 )
PGreen:SetMin( 0 )
PGreen:SetMax( 100 )
PGreen:SetDecimals( 0 )
PGreen:SetText( "Prop Green Colour" )
PGreen.OnValueChanged = function( self, val )
MS.PropNormalColour[ 2 ] = val / 100
end
local PBlue = vgui.Create( "DNumSlider", Panel )
PBlue:SetValue( MS.PropNormalColour[ 3 ] * 100 )
PBlue:SetPos( 10, 170 )
PBlue:SetSize( 250, 20 )
PBlue:SetMin( 0 )
PBlue:SetMax( 100 )
PBlue:SetDecimals( 0 )
PBlue:SetText( "Prop Blue Colour" )
PBlue.OnValueChanged = function( self, val )
MS.PropNormalColour[ 3 ] = val / 100
end
local ESP = vgui.Create( "DCheckBoxLabel", Panel )
ESP:SetValue( MS.ESP )
ESP:SetText( "Player ESP" )
ESP:SetPos( 10, 185 )
ESP.OnChange = function( self, bVal )
MS.ESP = bVal
end
end
local function CloseMenu()
SaveData()
Menu:SetVisible( false )
end
OconcommandAdd( "+ms_menu", OpenMenu )
OconcommandAdd( "-ms_menu", CloseMenu )
local function ToggleVisuals()
MS.PropWalls = !MS.PropWalls
MS.PlayerWalls = !MS.PlayerWalls
MS.ESP = !MS.ESP
end
OconcommandAdd( "ms_visuals_toggle", ToggleVisuals )