local function rotate() local ang = LocalPlayer():EyeAngles() LocalPlayer():SetEyeAngles( Angle( ang.p, ang.y + 180, ang.r ) ) end concommand.Add( "rotate180", rotate ) CreateClientConVar( "shittyesp_enabled", 0, true, false ) local function drawESP() if tobool( GetConVarNumber( "shittyesp_enabled" ) ) then local tr = util.QuickTrace( LocalPlayer():EyePos(), LocalPlayer():GetAimVector() * 250, LocalPlayer() ) local ent = tr.Entity for k,v in pairs( player.GetAll() ) do local col = team.GetColor( v:Team() ) or Color( 255, 255, 255, 255 ) local cutOff = col.r + col.g + col.b local outCol = Color( 0, 0, 0, 255 ) if cutOff <= 100 then outCol = Color( 255, 255, 255, 255 ) end local pos = ( v:EyePos() + Vector( 0, 0, 40 ) ):ToScreen() local userGroup = v:GetNWString( "UserGroup", "user" ) local adminTextCol = Color( 160, 160, 160, 255 ) if userGroup == "admin" then adminTextCol = Color( 25, 45, 180, 255 ) elseif v:IsSuperAdmin() then adminTextCol = Color( 180, 25, 25, 255 ) end if not v:Alive() then col = Color( 0, 0, 0, 120 ) outCol = Color( 50, 0, 0, 120 ) end local wepName = "" if IsValid( v ) and v:Alive() and IsValid( v:GetActiveWeapon() ) then local wep = v:GetActiveWeapon() if wep.PrintName then wepName = wep.PrintName else wepName = wep:GetClass() end end if v != LocalPlayer() then draw.SimpleTextOutlined( v:Nick(), "Default", pos.x, pos.y, col, 1, 1, 1, outCol ) draw.SimpleTextOutlined( userGroup, "DebugFixed", pos.x, pos.y + 10, adminTextCol, 1, 1, 1, Color( 0, 0, 0, 255 ) ) draw.SimpleTextOutlined( wepName, "DebugFixed", pos.x, pos.y + 20, Color( 140, 140, 140, 255 ), 1, 1, 1, Color( 0, 0, 0, 255 ) ) // draw.DrawText( v:Nick(), "Default", pos.x, pos.y, Color( 255, 255, 255, 255 ), 1 ) end if IsValid( ent ) then if ent == v then if IsValid( v ) and v:IsPlayer() and v:Alive() then local wepTable = v:GetWeapons() for a,b in pairs( wepTable ) do local i = a - 1 local col = Color( 200, 200, 200, 255 ) if IsValid( v:GetActiveWeapon() ) then if b == v:GetActiveWeapon() then col = Color( 120, 220, 120, 255 ) end end local wepName = b.PrintName or b:GetClass() draw.SimpleTextOutlined( wepName, "Default", ScrW() / 2 + 150, ScrH() / 2 - 100 + ( 15 * i ), col, 0, 1, 1, Color( 0, 0, 0, 255 ) ) end if v.DarkRPVars and v.DarkRPVars.money then local money = v.DarkRPVars.money draw.SimpleTextOutlined( "$" .. money, "Default", ScrW() / 2 - 150, ScrH() / 2 - 100, Color( 200, 200, 200, 255 ), 2, 1, 1, Color( 0, 0, 0, 255 ) ) end if v.SteamName then local steamName = v:SteamName() draw.SimpleTextOutlined( steamName, "Default", ScrW() / 2 - 150, ScrH() / 2 - 85, Color( 200, 200, 200, 255 ), 2, 1, 1, Color( 0, 0, 0, 255 ) ) end end end end end end end hook.Add( "HUDPaint", "shittyesp", drawESP ) CreateClientConVar( "light_light_all_players", 0, true, false ) CreateClientConVar( "light_night_vision", 0, true, false ) CreateClientConVar( "light_night_vision_brightness", 1, true, false ) CreateClientConVar( "light_night_vision_size", 1024, true, false ) CreateClientConVar( "light_aimpos_light", 0, true, false ) CreateClientConVar( "light_aimpos_light_size", 1024, true, false ) CreateClientConVar( "light_aimpos_light_brightness", 3, true, false ) local function DoDynamicLights() if tobool( GetConVarNumber( "light_night_vision" ) ) then local dlight = DynamicLight( LocalPlayer():EntIndex() ) if dlight then local r, g, b = 55, 209, 240, 255 local bright = GetConVarNumber( "light_night_vision_brightness" ) local size = GetConVarNumber( "light_night_vision_size" ) dlight.Pos = LocalPlayer():EyePos() dlight.r = r dlight.g = g dlight.b = b dlight.Brightness = bright dlight.Size = size dlight.Decay = size * 5 dlight.DieTime = CurTime() + 1 dlight.Style = 0 end end if tobool( GetConVarNumber( "light_aimpos_light" ) ) then local dlight = DynamicLight( LocalPlayer():EntIndex() + 1000 ) if dlight then local r, g, b = 55, 209, 240, 255 local bright = GetConVarNumber( "light_aimpos_light_brightness" ) local size = GetConVarNumber( "light_aimpos_light_size" ) dlight.Pos = LocalPlayer():GetEyeTrace().HitPos dlight.r = r dlight.g = g dlight.b = b dlight.Brightness = bright dlight.Size = size dlight.Decay = size * 5 dlight.DieTime = CurTime() + 1 dlight.Style = 0 end end if tobool( GetConVarNumber( "light_light_all_players" ) ) then for k,v in pairs( player.GetAll() ) do if v != LocalPlayer() then local dlight = DynamicLight( v:EntIndex() ) if dlight then local r, g, b = 55, 209, 240, 255 local bright = 2 local size = 512 dlight.Pos = v:EyePos() dlight.r = r dlight.g = g dlight.b = b dlight.Brightness = bright dlight.Size = size dlight.Decay = size * 5 dlight.DieTime = CurTime() + 1 dlight.Style = 0 end end end end end hook.Add( "Think", "doDynamicLights", DoDynamicLights ) local function toggleNightVision( ply ) if GetConVarNumber( "light_night_vision" ) == 0 then RunConsoleCommand( "light_night_vision", 1 ) else RunConsoleCommand( "light_night_vision", 0 ) end end concommand.Add( "light_night_vision_toggle", toggleNightVision ) local function toggleAimLight( ply ) if GetConVarNumber( "light_aimpos_light" ) == 0 then RunConsoleCommand( "light_aimpos_light", 1 ) else RunConsoleCommand( "light_aimpos_light", 0 ) end end concommand.Add( "light_aimpos_light_toggle", toggleAimLight ) local function toggleAllPlayerLighting( ply ) if GetConVarNumber( "light_light_all_players" ) == 0 then RunConsoleCommand( "light_light_all_players", 1 ) else RunConsoleCommand( "light_light_all_players", 0 ) end end concommand.Add( "light_light_all_players_toggle", toggleAllPlayerLighting ) local function toggleESP() if GetConVarNumber( "shittyesp_enabled" ) == 0 then RunConsoleCommand( "shittyesp_enabled", 1 ) else RunConsoleCommand( "shittyesp_enabled", 0 ) end end concommand.Add( "shittyesp_toggle", toggleESP ) local reportedEnts = {} local function StopFuckingWithMyScreen() for k,v in pairs( ents.GetAll() ) do if v:GetMaterial() == "pp/copy" then v:SetColor( Color( 255, 255, 255, 255 ) ) v:SetMaterial( "orange" ) if not reportedEnts[v] then chat.AddText( Color( 255, 0, 0 ), "Someone is trying to blind you with the copy exploit." ) reportedEnts[v] = true end end end end hook.Add( "Think", "StopFuckingWithMyScreen", StopFuckingWithMyScreen ) local function findPlayer( name ) name = string.lower( name ) for k,v in pairs( player.GetAll() ) do local nick = string.lower( v:Nick() ) if string.find( nick, name ) then return v end end end local infoFunctions = { ["Money (DarkRP)"] = function( ply ) if ply.DarkRPVars and ply.DarkRPVars.money then return { "$" .. ply.DarkRPVars.money } else return { "Error (no ply.DarkRPVars or no ply.DarkRPVars.money" } end end, ["Steam Name (DarkRP)"] = function( ply ) if ply.SteamName then return { ply:SteamName() } else return { "Error (No ply:SteamName())" } end end, ["Weapons"] = function( ply ) if IsValid( ply ) and ply:Alive() then local ret = {} for k,v in pairs( ply:GetWeapons() ) do if IsValid( v ) then local wepName = v.PrintName or v:GetClass() local add = "" if IsValid( ply:GetActiveWeapon() ) then if v == ply:GetActiveWeapon() then add = " [selected]" end end table.insert( ret, wepName .. add ) end end return ret else return { "Error (player is dead?)" } end end, ["UserGroup"] = function( ply ) return { ply:GetNWString( "UserGroup", "user" ) } end, } local function playerList() local ret = {} for k,v in pairs( player.GetAll() ) do table.insert( ret, "playerinfo " .. v:Nick() ) end return ret end local function playerList2() local ret = {} for k,v in pairs( player.GetAll() ) do table.insert( ret, "muteplayer " .. v:Nick() ) end return ret end local function PrintInformation( ply, cmd, args ) if args[1] then if findPlayer( args[1] ) then local target = findPlayer( args[1] ) if IsValid( target ) and target:IsPlayer() then MsgC( Color( 120, 220, 120 ), "\n\nPrinting Info For:\n" ) MsgC( Color( 220, 220, 220 ), target:Nick() .. "\n\n----------" ) for k,v in SortedPairs( infoFunctions ) do local infoTab = v( target ) MsgC( Color( 120, 220, 120 ), "\n\n" .. k .. ": " .. "\n" ) for a,b in pairs( infoTab ) do MsgC( Color( 220, 220, 220 ), b .. "\n" ) end end end end end end concommand.Add( "playerinfo", PrintInformation, playerList ) local function MutePlayer( ply, cmd, args ) if args[1] then if findPlayer( args[1] ) then local target = findPlayer( args[1] ) target:SetMuted( !target:IsMuted() ) end end end concommand.Add( "muteplayer", MutePlayer, playerList2 ) local pkProps = { ["models/props_c17/Lockers001a.mdl"] = true, ["models/props_junk/sawblade001a.mdl"] = true, ["models/props/de_train/lockers001a.mdl"] = true, ["models/props/de_train/lockers_long.mdl"] = true, ["models/props/de_tides/gate_large.mdl"] = true, ["models/props_canal/canal_bars004.mdl"] = true, } local function EntCreated( ent ) if pkProps[ent:GetModel()] then chat.AddText( Color( 255, 0, 0 ), "[WARNING] ", Color( 255, 255, 255, 255 ), "Someone has spawned a common PK prop. (" .. ent:GetModel() .. ")." ) end end hook.Add( "OnEntityCreated", "shittyesp.entWarnForPK", EntCreated )