Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local esp=true;
- surface.CreateFont("Verdana",10,400,true,false,"espfont");
- surface.CreateFont("Courier New",10,400,true,false,"statusf");
- local weapon_good={};
- weapon_good["weapon_physgun"]=true;
- weapon_good["gmod_tool"]=true;
- local weapon_dumb={};
- weapon_dumb["ts2_hands"]=true;
- weapon_dumb["ts2_keys"]=true;
- weapon_dumb["weapon_physcannon"]=true;
- local noshow={};
- local spot={};
- local function trace_aim(length)
- local trace={};
- trace.start=LocalPlayer():EyePos();
- trace.endpos=trace.start+LocalPlayer():GetAimVector()*length;
- trace.filter=LocalPlayer();
- return util.TraceLine(trace);
- end
- local function status(ply)
- out="";
- if ply:IsSuperAdmin() then
- out=out.."S";
- else
- out=out.." ";
- end
- if ply:IsAdmin() then
- out=out.."A";
- else
- out=out.." ";
- end
- if ply:GetFriendStatus()=="friend" then
- out=out.."F ";
- elseif ply==LocalPlayer() then
- out=out.."-- ";
- else
- out=out.." ";
- end
- return out;
- end
- local function setesp(ply,cmd,args)
- if esp then
- esp=false;
- else
- esp=true;
- end
- end
- concommand.Add(".esp",setesp);
- local function listplayers(ply,cmd,args)
- local i=0;
- for _,v in ipairs(player.GetAll()) do
- i=i+1;
- Msg(status(v)..v:Name().." ");print(v:GetNWFloat("RPName"));
- end
- print(i.." players total.");
- end
- concommand.Add(".lp",listplayers);
- local function listadmins(ply,cmd,args)
- local i=0;
- for _,v in ipairs(player.GetAll()) do
- if v:IsAdmin() then
- i=i+1;
- Msg(status(v)..v:Name().." ");print(v:GetNWFloat("RPName"));
- end
- end
- print(i.." admins total.");
- end
- concommand.Add(".la",listadmins);
- local function listweapons(ply,cmd,args)
- for _,v in ipairs(player.GetAll()) do
- for __,weapon in ipairs(v:GetWeapons()) do
- if weapon_dumb[weapon:GetClass()] or weapon_good[weapon:GetClass()] then
- else
- Msg(status(v)..v:GetNWFloat("RPName").." ");print(weapon:GetClass());
- end
- end
- end
- end
- concommand.Add(".lw",listweapons);
- local function search(ply,cmd,args)
- if !args then return; end
- local i=0;
- for _,v in ipairs(player.GetAll()) do
- if string.match(string.lower(v:GetNWFloat("RPName")),string.lower(args[1]))
- or string.match(string.lower(v:Name()),string.lower(args[1]))
- or string.match(string.lower(v:GetNWFloat("title")),string.lower(args[1]))
- or string.match(string.lower(v:GetNWFloat("title2")),string.lower(args[1]))
- or string.match(string.lower(v:GetModel()),string.lower(args[1])) then
- i=i+1;
- Msg(status(v)..v:Name().." ");print(v:GetNWFloat("RPName"));
- if string.match(string.lower(v:Name()),string.lower(args[1])) then
- Msg(" OOC: ");print(v:Name());
- end
- if string.match(string.lower(v:GetNWFloat("RPName")),string.lower(args[1])) then
- Msg(" IC: ");print(v:GetNWFloat("RPName"));
- end
- if string.match(string.lower(v:GetNWFloat("title")),string.lower(args[1])) then
- Msg(" Title: ");print(v:GetNWFloat("title"));
- end
- if string.match(string.lower(v:GetNWFloat("title2")),string.lower(args[1])) then
- Msg(" Title2: ");print(v:GetNWFloat("title2"));
- end
- if string.match(string.lower(v:GetModel()),string.lower(args[1])) then
- Msg(" Model: ");print(v:GetModel());
- end
- end
- end
- print("Found "..i.." matches.");
- end
- concommand.Add(".s",search);
- local function who(ply,cmd,args)
- local i=0;
- for _,v in ipairs(player.GetAll()) do
- if string.match(string.lower(v:GetNWFloat("RPName")),string.lower(args[1])) or string.match(string.lower(v:Name()),string.lower(args[1]))then
- i=i+1;
- if i==1 then
- LocalPlayer():ConCommand("rpa_getinfo \""..v:GetNWFloat("RPName").."\"");
- Msg(status(v));print(v:GetNWFloat("RPName"));
- print(" "..v:Name());
- print("");
- Msg(" Title1: ");print(v:GetNWFloat("title"));
- Msg(" Title2: ");print(v:GetNWFloat("title2"));
- print("");
- Msg(" Health: ");print(tostring(v:Health().." ["..v:Armor().."]"));
- print("");
- Msg(" Model: ");print(v:GetModel());
- print("");
- Msg(" Weapons:\n");
- for _,weapon in ipairs(v:GetWeapons()) do
- if !weapon_dumb[weapon:GetClass()] then
- print(" "..weapon:GetClass());
- end
- end
- print("");
- end
- end
- end
- if i!=1 then
- print("Found "..i.." matches.");
- end
- end
- concommand.Add(".who",who);
- local function cmdall(ply,cmd,args)
- for _,v in ipairs(player.GetAll()) do
- if v!=LocalPlayer() then
- if string.match(v:GetNWFloat("RPName"),"-") then
- LocalPlayer():ConCommand(args[1].."\""..string.Right(v:GetNWFloat("RPName"),5).."\" "..tostring(args[2]));
- else
- LocalPlayer():ConCommand(args[1].."\""..v:GetNWFloat("RPName").."\" "..tostring(args[2]));
- end
- end
- end
- end
- concommand.Add(".cmdall",cmdall);
- local function selfbring(ply,cmd,args)
- if string.match(LocalPlayer():GetNWFloat("RPName"),"-") then
- LocalPlayer():ConCommand("rpa_bring \""..string.Right(LocalPlayer():GetNWFloat("RPName"),5).. "\"");
- else
- LocalPlayer():ConCommand("rpa_bring \""..LocalPlayer():GetNWFloat("RPName").. "\"");
- end
- end
- concommand.Add(".selfbring",selfbring);
- local function selfclip(ply,cmd,args)
- if LocalPlayer():IsAdmin() then
- LocalPlayer():ConCommand("rpa_cloak");
- end
- if LocalPlayer():IsSuperAdmin() then
- LocalPlayer():ConCommand("rpa_noclip");
- end
- LocalPlayer():ConCommand("noclip");
- end
- concommand.Add(".selfclip",selfclip);
- local function spotplayer(ply,cmd,args)
- local i=0;
- for _,v in ipairs(player.GetAll()) do
- if string.match(string.lower(v:GetNWFloat("RPName")),string.lower(args[1])) or string.match(string.lower(v:Name()),string.lower(args[1])) then
- i=i+1;
- spot[v]=true;
- end
- end
- print("Highlighting "..i.." matches.");
- end
- concommand.Add(".spot",spotplayer);
- local function unspot(ply,cmd,args)
- spot={};
- end
- concommand.Add(".unspot",unspot);
- local function soundlist()
- print("Atmospheric");
- print("* ambient\\atmosphere\\ambience_base.wav");
- print("* ambient\\atmosphere\\ambience5.wav");
- print("* ambient\\atmosphere\\ambience6.wav");
- print("* ambient\\atmosphere\\captain_room.wav");
- print("* ambient\\atmosphere\\cargo_hold1.wav");
- print("* ambient\\atmosphere\\cargo_hold2.wav");
- print("* ambient\\atmosphere\\city_tone.wav");
- print("* ambient\\atmosphere\\corridor.wav");
- print("* ambient\\atmosphere\\corridor2.wav");
- print("* ambient\\atmosphere\\quiet_cellblock_amb.wav");
- print("* ambient\\levels\\caves\\cave_scree_loop2.wav");
- print(" music\\VLVX_Song15.mp3");
- print(" ambient\\levels\\gman\\OL02_GMan_Full_00_01_03.wav");
- print(" ambient\\levels\\Finale Segment Conversions\\OL12_Finale_01_10_29.wav");
- print(" ambient\\outro\\3rdAmb.wav");
- print(" music\\VLVX_song1.mp3");
- print(" music\\VLVX_song19a.mp3");
- print(" music\\VLVX_song19b.mp3");
- print("");
- print("Weather");
- print("* ambient\\atmosphere\\hole_amb3.wav");
- print("* ambient\\atmosphere\\sewer_air1.wav");
- print("* ambient\\atmosphere\\town_ambience.wav");
- print("* ambient\\atmosphere\\underground.wav");
- print("* ambient\\atmosphere\\underground_hall_loop1.wav");
- print("* ambient\\wind\\wasteland_wind.wav");
- print("* ambient\\wind\\wind_rooftop1.wav");
- print("* ambient\\wind\\wind1.wav");
- print("* ambient\\ambience\\Wind_Light02_loop.wav");
- print(" ambient\\wind\\wind_med1.wav");
- print(" ambient\\wind\\wind_med2.wav");
- print(" ambient\\wind\\wind_snippet1.wav");
- print(" ambient\\wind\\wind_snippet2.wav");
- print(" ambient\\wind\\wind_snippet3.wav");
- print(" ambient\\wind\\wind_snippet4.wav");
- print(" ambient\\wind\\wind_snippet5.wav");
- print(" ambient\\wind\\windgust_strong.wav");
- print(" ambient\\atmosphere\\thunder1.wav");
- print(" ambient\\atmosphere\\thunder2.wav");
- print(" ambient\\atmosphere\\thunder3.wav");
- print(" ambient\\atmosphere\\thunder4.wav");
- print(" ambient\\outro\\Thunder02.wav");
- print(" ambient\\outro\\Thunder03.wav");
- print(" ambient\\levels\\forest\\treewind1.wav");
- print(" ambient\\levels\\forest\\treewind2.wav");
- print(" ambient\\levels\\forest\\treewind3.wav");
- print(" ambient\\levels\\forest\\treewind4.wav");
- print(" ambient\\outro\\OutOfTunnel2ndAmb.wav");
- print("");
- print("Environment");
- print(" ambient\\atmosphere\\terrain_rumble1.wav");
- print(" ambient\\levels\\outland\\OL0Sled01.wav");
- print(" ambient\\levels\\outland\\OL07AdvisorThroughRoof.wav");
- print(" ambient\\levels\\launch\\RocketTakeOffBlast.wav");
- print(" ambient\\levels\\launch\\Rhumble01.wav");
- print("");
- print("Water");
- print("* ambient\\water\\lake_water.wav");
- print("* ambient\\water\\drip_loop1.wav");
- print("* ambient\\water\\water_flow_loop1.wav");
- print("* ambient\\water\\leak_1.wav");
- print("* ambient\\water\\corridor_water.wav");
- print("* ambient\\ambience\\WaterLap_loop.wav");
- print("");
- print("Fire");
- print("* ambient\\fire\\firebig.wav");
- print("* ambient\\fire\\fire_big_loop1.wav");
- print("* ambient\\fire\\fire_med_loop1.wav");
- print("* ambient\\fire\\fire_small_loop1.wav");
- print("* ambient\\fire\\fire_small_loop2.wav");
- print("");
- print("Indoors");
- print("* ambient\\atmosphere\\indoor1.wav");
- print("* ambient\\atmosphere\\indoor2.wav");
- print("* ambient\\levels\\outland\\OL03_Lift_Loop.wav");
- print("");
- print("Industrial/city");
- print("* ambient\\atmosphere\\laundry_amb.wav");
- print(" ambient\\atmosphere\\metallic1.wav");
- print(" ambient\\atmosphere\\metallic2.wav");
- print("* ambient\\atmosphere\\noise2.wav");
- print("* ambient\\atmosphere\\outdoor2.wav");
- print("* ambient\\atmosphere\\plaza_amb.wav");
- print("* ambient\\atmosphere\\station_ambience_loop2.wav");
- print("* ambient\\atmosphere\\station_ambience_loop4.wav");
- print("* ambient\\atmosphere\\tone_alley.wav");
- print("* ambient\\atmosphere\\trainstation_ambient_loop1.wav");
- print("* ambient\\atmosphere\\undercity_loop1.wav");
- print("* ambient\\levels\\outland\\OL04_GearLoop.wav");
- print("* ambient\\levels\\outland\\BaseAlarmLoop.wav");
- print("");
- print("Suspense");
- print("* ambient\\atmosphere\\pipe1.wav");
- print("* ambient\\atmosphere\\tone_quiet.wav");
- print("* ambient\\atmosphere\\tunnel1.wav");
- print("* ambient\\levels\\launch\\WarningSFX01_Loop.wav");
- print(" ambient\\levels\\Finale Segment Conversions\\OL12_Finale_00_02_19.wav");
- print(" music\\stingers\\industrial_suspense1.wav");
- print(" music\\stingers\\industrial_suspense2.wav");
- print(" music\\stingers\\HL1_stinger_song27.mp3");
- print(" music\\stingers\\HL1_stinger_song28.mp3");
- print(" music\\HL1_song14.mp3");
- print(" music\\HL1_song19.mp3");
- print(" music\\HL1_song20.mp3");
- print(" music\\HL2_song8.mp3");
- print(" music\\VLVX_song0.mp3");
- print(" terminator\\dysonattack.mp3");
- print(" terminator\\freeze.mp3");
- print(" terminator\\nucleardream.mp3");
- print(" terminator\\prepare.mp3");
- print(" ambient\\levels\\Advisor_Barn\\OL07_Advisor_00_01_22.wav");
- print(" music\\VLVX_song23ambient.mp3");
- print("");
- print("Passive");
- print(" terminator\\desert.mp3");
- print(" terminator\\freeside.mp3");
- print(" terminator\\shortopen.mp3");
- print("");
- print("Action");
- print(" music\\HL1_song17.mp3");
- print(" music\\HL2_song12_long.mp3");
- print(" music\\HL2_song20_submix0.mp3");
- print(" music\\HL2_song20_submix4.mp3");
- print(" terminator\\dog.mp3");
- print(" terminator\\dogstart.mp3");
- print(" terminator\\gnr.mp3");
- print(" terminator\\impaled.mp3");
- print(" terminator\\piss.mp3");
- print(" terminator\\signal.mp3");
- print(" terminator\\swat.mp3");
- print(" terminator\\t1title.mp3");
- print(" terminator\\t2maintheme.mp3");
- print(" terminator\\t4title.mp3");
- print(" music\\VLVX_song24.mp3");
- print(" music\\VLVX_song11.mp3");
- print(" music\\VLVX_song21.mp3");
- print(" music\\VLVX_song27.mp3");
- print("");
- print("Sad");
- print(" terminator\\destiny.mp3");
- print(" terminator\\farewell.mp3");
- print(" terminator\\lovescene.mp3");
- print(" terminator\\timeless.mp3");
- print(" terminator\\trumpet1.mp3");
- print(" terminator\\trumpet2.mp3");
- print("");
- print("Inspiring/Preparation");
- print(" terminator\\serena.mp3");
- print(" terminator\\darkknight.mp3");
- print(" terminator\\broadcast.mp3");
- print(" terminator\\escape.mp3");
- print(" terminator\\goodbye.mp3");
- print(" terminator\\heavy.mp3");
- print(" terminator\\illbeback.mp3");
- print(" terminator\\plan.mp3");
- print(" terminator\\revives.mp3");
- print(" terminator\\salvation.mp3");
- print(" terminator\\t4title.mp3");
- print(" terminator\\timeless.mp3");
- print(" terminator\\trumpet2.mp3");
- end
- concommand.Add(".sounds",soundlist);
- local function help(ply,cmd,args)
- print("Names used here can be case insensitive IC or OOC names.");
- Msg(" .esp ");print("Enable/disable weapon/item/player esp.");
- Msg(" .who name ");print("List information on a certain player.");
- Msg(" .s str ");print("List players with that in their info.");
- Msg(" .la ");print("List all admins/superadmins in game.");
- Msg(" .lp ");print("List all players and their IC names.");
- Msg(" .lw ");print("List all players' weapons.");
- Msg(" .spot ");print("Highlight player(s) on your ESP.");
- Msg(" .unspot ");print("Clear all highlighted players.");
- Msg(" .selfbring ");print("Bring yourself.");
- Msg(" .selfclip ");print("Cloak/noclip yourself.");
- Msg(" .sounds ");print("Display a list of neat sounds.");
- Msg(".cmdall cmd ");print("Do a command to everyone but yourself.");
- Msg(" ");print("Add 0 at the end if it does not have a second argument.");
- end
- concommand.Add(".help",help);
- local function hookdraw()
- if esp and LocalPlayer():IsValid() then
- surface.SetFont("espfont");
- local tr=trace_aim(2000);
- local base=0;
- local diff=1;
- if tr.HitNonWorld then
- if tr.Entity:IsPlayer() then
- base=tr.Entity:EyePos():ToScreen();
- if spot[tr.Entity] then
- draw.RoundedBox(0,base.x-2,base.y-10,150,20,Color(255,0,255,100));
- end
- local teamcolor=team.GetColor(tr.Entity:Team());
- surface.SetTextColor(math.Clamp(teamcolor.r+96,0,255),math.Clamp(teamcolor.g+96,0,255),math.Clamp(teamcolor.b+96,0,255),255);
- if tr.Entity:GetNWFloat("RPName")!=0 then
- surface.SetTextPos(base.x,base.y-10);
- surface.DrawText(tr.Entity:GetNWFloat("RPName"));
- surface.SetTextColor(255,255,255,255);
- end
- surface.SetTextPos(base.x,base.y);
- surface.DrawText(tr.Entity:Name());
- surface.SetTextColor(255,255,255,255);
- surface.SetFont("statusf");
- surface.SetTextPos(base.x-20,base.y+2);
- surface.DrawText(status(tr.Entity));
- surface.SetFont("espfont");
- surface.SetTextPos(base.x+40,base.y+10);
- surface.DrawText(math.Round(tr.Entity:EyePos():Distance(LocalPlayer():EyePos())/39.37).."m");
- surface.SetTextPos(base.x+40,base.y+20);
- surface.DrawText(tr.Entity:Health().." ["..tr.Entity:Armor().."]");
- for _,v in ipairs(tr.Entity:GetWeapons()) do
- local wepc=v:GetClass();
- if weapon_good[wepc] then
- surface.SetTextColor(148,255,148,255);
- surface.SetTextPos(base.x+100,base.y+(diff*10));
- surface.DrawText(v:GetClass());
- diff=diff+1;
- elseif weapon_dumb[wepc] then
- else
- surface.SetTextColor(255,148,148,255);
- surface.SetTextPos(base.x+100,base.y+(diff*10));
- surface.DrawText(wepc);
- diff=diff+1;
- end
- end
- tr=tr.Entity;
- end
- else
- tr=LocalPlayer();
- end
- for _,v in ipairs(player.GetAll()) do
- if v==LocalPlayer() then
- for __,selfweapons in ipairs(v:GetWeapons()) do
- noshow[selfweapons]=true;
- end
- elseif v!=LocalPlayer() and v!=tr then
- base=v:EyePos():ToScreen();
- local teamcol=team.GetColor(v:Team());
- surface.SetTextColor(math.Clamp(teamcol.r+96,0,255),math.Clamp(teamcol.g+96,0,255),math.Clamp(teamcol.b+96,0,255),255);
- if spot[v] then
- draw.RoundedBox(0,base.x-2,base.y-10,150,20,Color(255,0,255,100));
- end
- surface.SetTextPos(base.x,base.y-10);
- if v:GetNWFloat("RPName")!=0 then
- surface.DrawText(v:GetNWFloat("RPName"));
- surface.SetTextColor(255,255,255,255);
- end
- surface.SetTextPos(base.x,base.y);
- surface.DrawText(v:Name());
- surface.SetTextColor(255,255,255,255);
- surface.SetFont("statusf");
- surface.SetTextPos(base.x-20,base.y+2);
- surface.DrawText(status(v));
- surface.SetFont("espfont");
- surface.SetTextPos(base.x+40,base.y+10);
- surface.DrawText(tostring(math.Round(v:EyePos():Distance(LocalPlayer():EyePos())/39.37)).."m");
- for __,playerweapons in ipairs(v:GetWeapons()) do
- noshow[playerweapons]=true;
- end
- end
- end
- -- for _,v in ipairs(ents.GetAll()) do
- -- if v:GetClass()=="ts2_item" and !noshow[v] and v:IsValid() then
- -- local base=v:GetPos():ToScreen();
- -- surface.SetTextColor(255,148,148,255);
- -- surface.SetTextPos(base.x,base.y);
- -- surface.DrawText(v:GetModel());
- -- surface.SetTextPos(base.x+40,base.y+10);
- -- surface.DrawText(tostring(math.Round(v:GetPos():Distance(LocalPlayer():EyePos())/39.37)).."m");
- -- end
- -- end
- end
- end
- hook.Add("HUDPaint",hookdraw,hookdraw);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement