Hi.
I'm not 100% sure what you're asking, but I think you mean making it so players 
don't collide with each other? I've come across this problem myself, and never 
really resolved it in a satisfactory way. 
The most recent method was setting pev->groupinfo to 1 in prethink on players, 
and using UTIL_SetGroupTrace( pev->groupinfo, GROUP_OP_NAND ); straight after. 
Then in postthink, use UTIL_SetGroupTrace( pev->groupinfo, GROUP_OP_AND );
I can't remember off the top of my head why this works as it's been a long 
time, I just know that it probably should work. I'll leave it up to you to do 
the research on grouptrace, as I cannot for the life of me remember anything 
about it. Therefore, I cannot guarantee what side effects or issues this may 
cause.

One other thing you can do that I remember better, is perform a 
UTIL_EntitiesInBox check (with a FL_CLIENT filter) to find all clients 
colliding in the player's bounding box. Do this every frame. This should fire 
when players touch (but there is a small latency where they touch each other 
for a short while before it fires) and at that point you can set the player to 
be non-solid with pev->solid = SOLID_NOT. Don't forget to check that the player 
is not colliding with himself. UTIL_EntitiesInBox is better as it only search 
within the player's collision, whereas UTIL_FindEntityInSphere will be really 
rough and inaccurate. Don't forget to set the player back to solid if he is not 
colliding with another player. However, this method is less than ideal as a 
non-solid player cannot be attacked by monsters, and they cannot trigger 
triggers. I believe there are also some issues with prediction if a player is 
not as SOLID_SLIDEBOX too? Expect problems.
There is also "ShouldCollide" but as far as I know, that does not apply to 
players.
Hope this helps.
James

Date: Fri, 5 Jun 2015 22:41:06 +0200
From: rimischo...@googlemail.com
To: hlcoders@list.valvesoftware.com
Subject: [hlcoders] Goldsrc pev->solid

Hi guys, i have a question related pev->solid


so with pev->solid i can change the collision of the entity but i want to 
change it for the player on by collision basis.

Like if you hit another player change the collision to something else that you 
can pass thru.

if i do it into the spawn it stays forever.

But i dont have a clue on how to check the collision to the other player.

 Am i using the UTIL_FindEntityInSphere function to check for radius and if 
something is in range entity->solid? Or is there another easier way to do it?

Greetings 


_______________________________________________
To unsubscribe, edit your list preferences, or view the list archives, please 
visit:
https://list.valvesoftware.com/cgi-bin/mailman/listinfo/hlcoders                
                          
_______________________________________________
To unsubscribe, edit your list preferences, or view the list archives, please 
visit:
https://list.valvesoftware.com/cgi-bin/mailman/listinfo/hlcoders

Reply via email to