For some time now (since 2017, maybe summer 2017?) after a CSGO update, temporary entities have been broken on my server. I have hundreds of instances of TEs that were all working fine before, and now consistently break in certain scenarios.
I believe the problem is that if a TE passes through a wall or floor into "the void", it no longer becomes visible.
I use almost exclusively TE_SetupBeamRingPoint and TE_SetupBeamPoints. The models I use are "materials/sprites/laserbeam.vmt" and "materials/sprites/halo.vmt".
One example of how it breaks, if I had a beampoints spawning from playerabsorigin - 10.0 to playerabsorigin + 200.0, it would be invisible (the starting point would go through the floor). However, if I changed it to playerabsorigin + 5.0 to playerabsorigin + 200.0, it would be visible in nearly all scenarios.
I've attached 2 images of a ring spawn, 1 where it is out in the open and visible and another where it is no longer visible because I spawned it halfway in a wall. The spawn location is based on my feet and I am stepping away from it to take the screenshots.
EXAMPLE IMAGES: See working-example (out in the open, so it's visible) and broken-example (intercepts part of the wall where the posters are so it is not visible)
Code used in example shots:
GetClientAbsOrigin(client,SavedLoc[client]);
SavedLoc[client][2]+=5.0;
TE_SetupBeamRingPoint(SavedLoc[client],200.0,300.0, BeamSprite, HaloSprite, 0, 25, 0.15, 5.0, 0.0, {150,255,50,255}, 200, 0);
TE_SendToAll();
It's on a repeating timer so it "pulses" quickly.
I am running a linux dedicated server with updated MM and SM, have updated all my includes and compiler, and have been having this issue for months. Google seems to return nothing of value.
I appreciate any ideas.
|