6

所以我一直在尝试获取一个脚本来在视频游戏中输入一串文本(激战 2)。主要是我使用 pyautogui 并且在大多数情况下它工作正常。我的问题是我似乎无法让游戏识别“输入”。例如,如果我有代码:

import pyautogui, time
time.sleep(2) #to allow me to have time to switch windows
pyautogui.press('enter')
pyautogui.typewrite("This is a test")
pyautogui.press('enter')

这两个“按回车”功能不会打开和提交文本。但是,如果我手动按回车键,则第 3 行键入内容就可以了。

我也尝试用 keyDown 后跟 keyUp 替换 press('enter'),但仍然没有结果。

我已经设法通过让 python 按下 F10 来创建一个解决方法,然后在按下 F10 时按下一个单独的 Autohotkey 脚本,但这远非理想。有什么建议吗?

注释中的额外说明:脚本本身在记事本等其他程序中运行良好。它似乎专门为游戏客户端失败。

4

2 回答 2

5

对于任何找到这篇文章的人。答案基本上是由于大多数游戏如何解释按键,这不能以这种方式完成。此处显示了一个工作系统:Simulate Python keypresses for control a game

于 2016-11-16T17:31:00.990 回答
1

对我\nreturn不起作用,所以我必须使用pydirectinputhttps ://github.com/learncodebygaming/pydirectinput

使用 安装它pip install pydirectinput,然后将其导入并用作自述文件。请注意,该文件还需要以管理员身份运行。

于 2020-12-13T12:53:24.937 回答