我开发了一个在线游戏,可悲的是只有少数人使用录制键盘宏的程序(如Razer Synapse)来自动化游戏过程的一部分。
这是我不想允许的事情。
那么我的问题是,是否有一种方法在C++中确定是否正在使用宏来执行输入或确定最近的按键触发是由人类输入还是程序输入触发的?
我的第一个猜测是否定的...但我可能是错的。
我开发了一个在线游戏,可悲的是只有少数人使用录制键盘宏的程序(如Razer Synapse)来自动化游戏过程的一部分。
这是我不想允许的事情。
那么我的问题是,是否有一种方法在C++中确定是否正在使用宏来执行输入或确定最近的按键触发是由人类输入还是程序输入触发的?
我的第一个猜测是否定的...但我可能是错的。
如果您无法控制的客户端,无法阻止自动化。算法研究已有数百年历史,计算机最初的目的就是自动化设备。无论您提出什么新颖的想法,都很容易被打败,因为总会有人接受挑战。这并不意味着您应该避免解决方案,以确保机器人没有获得显着优势,例如上述评论中建议的输入速度,但如果您希望完全停止自动化,则正在攀登一个永无止境的陡峭山坡。
也许您应该评估和考虑猖獗的自动化是否表明您的某些游戏机制被视为无聊。我们应该努力为玩家提供足够的刺激,以使他们保持参与我们的游戏。