-
Notifications
You must be signed in to change notification settings - Fork 123
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Angled env_physics_blocker entities block hittables #267
Comments
Do you know of a certain spot where this would be easy to test? |
This blocker by the forklit should be fine (on 2.0) https://i.imgur.com/18ig6Ji.jpg |
Here's a video to demonstrate this issue |
Thank you for saving me the time, I'll test a fix tomorrow, promise. |
I'm fairly this has to do with the fact that they're added by TLS, from what I've been able to test and try so far I haven't been able to modify its settings through a plugin. |
From what I know this issue has always existed, it just hasn't been noticed much before because angled clips were rarely used, but it affects all clips including those added by Stripper. |
Did some testing and found a page that might point towards the reason for this bug https://developer.valvesoftware.com/wiki/CollisionProperty Edit: Tested setting various collision related properties on physics props and blockers but hittables were still always blocked
|
|
void CEnvPhysicsBlocker::Spawn()
{
SetBlocksLOS(false);
GetAbsOrigin();
if ( m_nBlockType != 4 // All players and physics objects
&& m_angAbsRotation != vec3_angle) // Not a null vector
) {
SetMoveType(MOVETYPE_NONE, MOVECOLLIDE_DEFAULT);
SetCollisionGroup(COLLISION_GROUP_PLAYER_MOVEMENT);
m_Collision.SetSolid(SOLID_BBOX); // an AABB
}
else
{
SetMoveType(MOVETYPE_VPHYSICS, MOVECOLLIDE_DEFAULT); // uses VPHYSICS for simulation
m_Collision.SetCollisionBounds(m_vMins, m_vMaxs);
m_Collision.SetSolid(SOLID_OBB); // an OBB (not implemented yet)
VPhysicsInitStatic();
m_Collision.SetSolid(SOLID_VPHYSICS); // solid vphysics object, get vcollide from the model and collide with that
}
SetBlocksLOS(false);
SetBlockState();
} Make sense for It's been over a year and there's always an easy fix via CollisionHooks according to @A1mDev though it's not working for Windows currently. However, a few questions in order for a possible way without noticeable consume:
|
Yes, collisionhook is the worst option, but a working one, for those who do not want to delve into the problem. |
env_physics_blocker entities rotated by an angle will always block physics objects (hittables) regardless of the block type used, where the intended behaviour is for only block type 4 to block physics.
This means that any angled blocker that is supposed to only prevent exploits will interfere with hittables, and without fixing this bug the only solution would be to compromise on exploit blocks, or replace them with the obsolete env_player_blocker entity.
The text was updated successfully, but these errors were encountered: