okay so the blue name is part of the game and you want to simulate that. is there a way for you to get the direction your facing? like a compass or something?
what im thinking is...
1.(done) we have to find out how far away the other person is in vector form
2.(not done) find out your orientation around the Z axis
3.(not done) get a general idea of how many degrees are in your peripheral vision (probably like 120)
with these three pieces of information, we can pretend your position is 0(because to you it kinda is), find the vector from you to the person whos name you want (step 1). If that person is in your line of sight, determine in degrees where they would be on the screen, in relation to a vector that we would draw going from the center of you to for example, where a bullet would go(2&3)
now if we can find out these things, we could position a name above an opponent.
the green line is the hypothetical vector, forgot to mark it
after getting it to work in 2d space like above, you can have a name that is in the correct spot, only the Z positioning would be wrong, so a simple addition to the Y coord(2d screen) based on the distance away in the XY plane(3 space in the game), and the raise in level on the Z plain would give you a pretty darn accurate position of the name.
hell, while your at it, you might as well make a mini map, because all the math would be done you just need to display it to the screen.
OR!!!!!!
just had an epiphany,
find out what variable in memory is changed when you rest you crosshairs on the opponent, and make your program manually change it in memory, so all names are always visible, because the game will already do all the math for line of sight for you, so instead of doing it yourself, just find that address and change it?