Raised This Month: $32 Target: $400
 8% 

[CS:GO] Stop transmitting player position data


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
Ms. Trooper
Senior Member
Join Date: Nov 2012
Old 08-27-2015 , 18:43   [CS:GO] Stop transmitting player position data
Reply With Quote #1

Hi, I'm trying to completely stop ghosting. I'm using Hook_SetTransmit so that dead players can't ghost on their own teammates. Strangely enough, it works if the spectators are near the players, but if the players are further away, spectators (dead players) can pres ctrl, look at the map, and see where the living players are running to. I'm guessing that csgo transmits player position data differently for players that are out side the render distance.

Does anyone know how I can stop this Ctrl map or prevent the transmission of player position data?

Thank you.
Ms. Trooper is offline
Darkness_
Veteran Member
Join Date: Nov 2014
Old 08-27-2015 , 20:21   Re: [CS:GO] Stop transmitting player position data
Reply With Quote #2

Why not just fade the dead players screen to black. A lazy method, yes, but it should get rid of any and all methods of ghosting if that's what you need.
Darkness_ is offline
KissLick
Veteran Member
Join Date: Nov 2012
Location: void
Old 08-27-2015 , 20:51   Re: [CS:GO] Stop transmitting player position data
Reply With Quote #3

Quote:
Originally Posted by Darkness_ View Post
Why not just fade the dead players screen to black. A lazy method, yes, but it should get rid of any and all methods of ghosting if that's what you need.
Why not just disable free look (mp_forcecamera 1)?

And about your problem, I am not sure. I never had that issue...
KissLick is offline
databomb
Veteran Member
Join Date: Jun 2009
Location: california
Old 08-27-2015 , 22:07   Re: [CS:GO] Stop transmitting player position data
Reply With Quote #4

Quote:
Originally Posted by Ms. Trooper View Post
Hi, I'm trying to completely stop ghosting. I'm using Hook_SetTransmit so that dead players can't ghost on their own teammates. Strangely enough, it works if the spectators are near the players, but if the players are further away, spectators (dead players) can pres ctrl, look at the map, and see where the living players are running to. I'm guessing that csgo transmits player position data differently for players that are out side the render distance.

Does anyone know how I can stop this Ctrl map or prevent the transmission of player position data?

Thank you.
Have you looked into the radar? https://forums.alliedmods.net/showthread.php?t=157062
__________________
databomb is offline
Ms. Trooper
Senior Member
Join Date: Nov 2012
Old 08-27-2015 , 22:32   Re: [CS:GO] Stop transmitting player position data
Reply With Quote #5

Quote:
Originally Posted by Darkness_ View Post
Why not just fade the dead players screen to black. A lazy method, yes, but it should get rid of any and all methods of ghosting if that's what you need.
Quote:
Originally Posted by KissLick View Post
Why not just disable free look (mp_forcecamera 1)?

And about your problem, I am not sure. I never had that issue...
I am already controlling the camera. And by blocking Hook_SetTransmit they cant see the players anyway. I am pretty sure they can still see the map by pressing Ctrl even if their screen has faded out.
Ms. Trooper is offline
Ms. Trooper
Senior Member
Join Date: Nov 2012
Old 08-27-2015 , 22:33   Re: [CS:GO] Stop transmitting player position data
Reply With Quote #6

Quote:
Originally Posted by databomb View Post
Yup. Cs go uses the new protobuf, and nothing related to the radar appears in this list:
https://wiki.alliedmods.net/Counter-...e_UserMessages
Ms. Trooper is offline
zipcore
Veteran Member
Join Date: Mar 2010
Location: m_flZipcore
Old 08-28-2015 , 15:26   Re: [CS:GO] Stop transmitting player position data
Reply With Quote #7

You are probably looking for this:

OnPluginStart:
Code:
HookUserMessage(GetUserMessageId("ProcessSpottedEntityUpdate"), Hook_ProcessSpottedEntityUpdate, true);
Code:
public Action Hook_ProcessSpottedEntityUpdate(UserMsg msg_id, Handle bf, const players[], playersNum, bool reliable, bool init)
{
	return Plugin_Handled;
}
Optionally you can force an update by using this trick if it's not enough:
Code:
int g_iVelOff;
Code:
public void OnClientPutInServer(int client)
{
	if (g_iVelOff < 1)
		g_iVelOff = GetEntSendPropOffs(client, "m_vecVelocity[0]");
}
Code:
public void OnGameFrame()
{
	for(int i=1;i<=MaxClients;i++)
	{
		if(IsClientInGame(i) && IsPlayerAlive(i))
			ChangeEdictState(i, g_iVelOff);
	}
}
__________________
zipcore is offline
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 00:06.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode