private static void bo2DepthOfField(Entity player) { OnInterval(50, () => { if (!player.IsAlive) { return(false); } if (player.PlayerAds() < 0.7f) { player.SetDepthOfField(0, 0, 512, 512, 4, 0); return(true); } Vector3 eye = player.GetEye(); Vector3 angles = player.GetPlayerAngles(); Vector3 forward = GSCFunctions.AnglesToForward(angles); Vector3 endPos = eye + forward * 50000; Vector3 focalPoint = GSCFunctions.PhysicsTrace(eye, endPos); float distance = player.GetEye().DistanceTo(focalPoint); player.SetDepthOfField(0, (int)distance, (int)distance + 16, 4000, 6, 20); return(true); }); }
private static bool checkForWallRun(Entity player) { if (!player.IsOnGround()) { return(true); } Vector3 playerAngles = player.Angles;//player.GetPlayerAngles(); Vector3 playerOrigin = player.Origin; Vector3 right = GSCFunctions.AnglesToRight(playerAngles); Vector3 rightPosition = playerOrigin + (right * 5); Vector3 leftPosition = playerOrigin + (right * -5); bool wallR = !GSCFunctions.PhysicsTrace(playerOrigin, rightPosition).Equals(rightPosition) && GSCFunctions.SightTracePassed(playerOrigin, rightPosition, false); bool wallL = !GSCFunctions.PhysicsTrace(playerOrigin, leftPosition).Equals(leftPosition) && GSCFunctions.SightTracePassed(playerOrigin, leftPosition, false); Log.Write(LogLevel.All, "L {0} R {1}", wallL, wallR); if (player.IsAlive) { return(true); } else { return(false); } }