Player Markers - Just Find People.

Hey, I wanted to find where people were when I was building stuff today. I got annoyed because the only things I could find were ESPs and aimbots and shit like that.

I don’t want to know what everyone ate for breakfast today. I just want to find people.
So I made a lightweight, easily customisable alternative, which is designed to be largely unobtrusive. Work will continue on ensuring that this script creates a clean, readable display.

I know that this falls into the whole “omg another lua hax” flame war, but I felt that some other people could benefit from knowing where their friends are from half a kilometre away :v:
I’ll take my chances in the name of philanthropy.

FEATURES:
This has:
Feature (defaults to)
[ul]
[li] Player indication box (ON)[/li][li] Player name display (ON)[/li][li] Player health display (OFF)[/li][li] Player distance display (OFF)[/li][li] Text distance fading (ON)[/li][li] Text aim fading (ON)[/li][/ul]
And two commands: SESP_Toggle and SESP <one or many of the variables> e.g. SESP name hp fade, will toggle name, hp and distance fading.
You can type SESP in the console for a full listing of arguments:

SESP arguments:
parameter (default) Description
[ul]
[li]name (ON) Toggles the player name display[/li][li]hp (OFF) Toggles the player health display[/li][li]dist (OFF) Toggles the player distance display[/li][li]box (ON) Toggles the player indicator box[/li][li]fade (ON) Toggles distance fading[/li][li]aim (ON) Toggles fading away from centre[/li][li]far (ON) Toggles fading close or far away [/li][/ul]

This does not attempt to bypass ScriptEnforcer. I did not make this for that kind of user.

PLANNED:
Feature (defaults to)
[ul]
[li] Persistent variables (ON)[/li]This is already achievable through the documented booleans at the top of the script, but I’d like to make it even easier :wink:
[li] Markers for offscreen players (OFF)[/li]Will be useful for flight and high-speed vehicles.
[li] Reduce text overlap (ON) DONE![/li]Text on top of text on top of oh goddddd
[li] Create a team visibility filter[/li]Want to see only your teammates? Enemies? In the works.
[/ul]

Want a feature? Will it retain the script’s level of displayed minimalism and simplicity? Good! I’ll add it!

MEDIA:
These screenshots display the script running with various options enabled. All of these permutations can be achieved with one command.

Boxes enabled, aim fading disabled.
[img_thumb]http://dl.dropbox.com/u/902553/Pictures/Screens/SESP/gm_construct_flatgrass_v50061.jpg[/img_thumb]

All variables enabled.
[img_thumb]http://dl.dropbox.com/u/902553/Pictures/Screens/SESP/gm_construct_flatgrass_v50057.jpg[/img_thumb]

All variables except aim fading:
[img_thumb]http://dl.dropbox.com/u/902553/Pictures/Screens/SESP/gm_construct_flatgrass_v50058.jpg[/img_thumb]

All data disabled.
[img_thumb]http://dl.dropbox.com/u/902553/Pictures/Screens/SESP/gm_construct_flatgrass_v50056.jpg[/img_thumb]

Boxes and names disabled, health enabled.
[img_thumb]http://dl.dropbox.com/u/902553/Pictures/Screens/SESP/gm_construct_flatgrass_v50062.jpg[/img_thumb]

UPDATES: (also makeshift feature list)
v1.1: Fixed bug which would cause script to fail on startup.

v1.2: Fixed bug where the local player would have a marker.
When an information line is disabled, all the other lines move up to fill the gap.

Added debug mode, which doesn’t do too much at the moment. (SESP_Debug)
Use this command if you have to reload the script mid-game, otherwise the script is off!

v1.22
[ul]
[li] Added new command “ehp”[/li]Displays the player’s effective hp, calculated as their health and armour combined.
Cannot be active at the same time as “hp”.
[li] New bugfixes for connection hooking.[/li][li] Draws a drop shadow under the marker boxes for increased visibility, because:[/li][li] Marker boxes now display in the player’s team colour.[/li][li] Distance fade is now disabled by default[/li][li] Distance is now displayed by default[/li][/ul]

v1.3
[ul]
[li] Added player cluster simplification.[/li]This will take all places where a lot of players converge on a small space on the screen, and remove and fade the furthest player infos. This makes the script a lot more visually simple.
The next version will include convars to change this. For now, there are script variables to customise this behaviour.
[/ul]

DOWNLOAD:

You can always find the most recent version here (click me!) (1.3)

You can also download this on garrysmod.org, but I won’t guarantee its freshness (click here!) (NOW OUTDATED! (1.2))

To install: Put in garrysmod/lua/autorun/client

Have fun, and enjoy the omniscience :smile:

Interesting.

One thing I always wanted in these kinds of markers was a crazy taxi like arrow pointing to some player you’re looking for.

Is this client only? Or can I put this on a server for everyone to use?

Clientside, but you can make a serverside file to force joining clients to download it. Clients might get annoyed by having an addon forced on them so you probably shouldn’t default the script to be enabled :v:

Edited the script so that it actually runs when you join a server. Oops.

Does anyone know how to check if the InitPostEntity hook has already run? This would make my bugfix a lot cleaner.

[editline]14th December 2010[/editline]

oh snap, i guess automerge doesn’t work after two hours :v:

[editline]14th December 2010[/editline]

v1.2: Fixed bug where the local player would have a marker.
When an information line is disabled, all the other lines move up to fill the gap.

Added debug mode, which doesn’t do too much at the moment. (SESP_Debug)
Use this command if you have to reload the script mid-game, otherwise the script is off!

Use a function hooked to InitPostEntity that changes some global variable, then check to see if that variable is true when you need to?

Probably not the most efficient way, but it’s all I can think of off the top of my head. :v:

If you’re talking about the client = client or LocalPlayer(), don’t worry about it.

Also, instead of having bunch of global functions, make a local (or global if necessary) table called SESP, and have the functions inside it.

i raither call this wallhax :3

Yeah, except this one doesn’t blow like yours does ;D

Wallhax D:

Updated my wallhax to v1.22:
[ul]
[li] Added new command “ehp”[/li]Displays the player’s effective hp, calculated as their health and armour combined.
Cannot be active at the same time as “hp”.
[li] New bugfixes for connection hooking.[/li][li] Draws a drop shadow under the marker boxes for increased visibility, because:[/li][li] Marker boxes now display in the player’s team colour.[/li][li] Distance fade is now disabled by default[/li][li] Distance is now displayed by default[/li][/ul]

Now planned:
[ul]
[li] Create a team visibility filter[/li][/ul]

Thank you good sir for an awesome lua.

Oh shit this still exists

need to work through the planned features
will do that at some point

Updated to v1.3, and updated the download link accordingly. Looks like I might actually work my way through the planned features after all.

v1.3
[ul]
[li] Added player cluster simplification.[/li]This will take all places where a lot of players converge on a small space on the screen, and remove and fade the furthest player infos. This makes the script a lot more visually simple.
The next version will include convars to change this. For now, there are script variables to customise this behaviour.
[/ul]