Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
  • 0
Dragonfly

ZDoom ACS Cheat Detection

Question

I would like to add some cheat detection into my mod that does NOT prevent the player from cheating. All I want is to know if a player cheated while on a level, so I can log the fact they cheated and store a little note next to their high score that says "used cheats" or something. This would prevent anybody from abusing trust / not requiring a video ro demo during a competition if one was to be held.

 

I know that the authors of ZDoom have in the past said they will never implement any such features, and if that is the case, that's totally fine. If there is a way to make it work though, I'd love to know!

 

My current train of thought is to simply set SV_Cheats to 0 on all difficulties, but that prevents the player from using cheats, which is not my intent.

Share this post


Link to post

7 answers to this question

Recommended Posts

  • 2

You could just disable cheats on all difficulties through MAPINFO and check if sv_cheats is 1. sv_cheats will override a difficulty's setting in allowing cheats ( in fact, the entire purpose of it is to enable cheats in situations where they're disabled ) so you don't have to worry about disabling cheating entirely.

Share this post


Link to post
  • 2

With ACS you cannot do it. Most of the cheat related flags are not accessible and some actions do not even set anything checkable.

But even with ZScript you'll only be able to detect some cheats, not all of them. A universal approach is definitely not possible.

 

Share this post


Link to post
  • 0
4 hours ago, Arctangent said:

You could just disable cheats on all difficulties through MAPINFO and check if sv_cheats is 1. sv_cheats will override a difficulty's setting in allowing cheats ( in fact, the entire purpose of it is to enable cheats in situations where they're disabled ) so you don't have to worry about disabling cheating entirely.

I feared this would be the only solution. Okay, thank you very much @Arctangent and @Graf Zahl. :)

Share this post


Link to post
  • 0

But how would you detect the classic cheats like IDDQD and IDFA? Because they don't require sv_cheats as far as I know.

Share this post


Link to post
  • 0

I'm almost certain they do get prevented with sv_cheats 0. I've yet to test fully but if I go into nightmare difficulty, where sv_cheats is 0, I can't use those cheats.

 

6514a84e03b30d6caadc705c4875e5ec.png

Share this post


Link to post
  • 0

I meant any difficulty where sv_cheats does not have to be 1, like ITYTD, then use the codes.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×