Python 做游戏脚本可以做得比按键精灵更快更好吗?

2016-10-13 15:37:57 +08:00
 jmyz0455

平时偶尔会玩某个 Windows 客户端游戏,后来嫌没时间赚金币打不过人民币玩家就很少玩了。某天心血来潮学了按键精灵,写个简单的脚本赚了好多金币,一下子就激活了我的兴趣,兴冲冲列了好多需求(我不知道我是对打游戏感兴趣还是对写代码感兴趣哈哈),结果发现按键论坛很多插件找起来很麻烦,有些要收费,文档也不清晰,在官方社区发帖问了几个问题没什么人回答,热情一下子被浇灭了。

最近我在学 Python 写服务器脚本,觉得 Python 真是无所不能,我想既然按键精灵可以做到的那 Python 应该也可以吧,而且按键精灵的运行进程太明显了,想封我应该挺简单。我分析了一下,我想要实现的功能无非是:

1 、让游戏客户端在后台运行,不影响我使用键鼠和软件,学习娱乐两不误。

2 、识别、提取文字和识别区域内的图片。

3 、简单的鼠标模拟输入,都是点点点。

4 、最复杂就是做个小窗口,实时输出日志,显示现在脚本跑到那一步了和现在赚了多少金币等游戏状态。

有没有人用 Python 做过这种游戏脚本?最好也了解按键精灵的知识,客观分析下用哪种语言做脚本会更快更好?

43923 次点击
所在节点    Python
45 条回复
weakiwi
2016-10-14 09:18:58 +08:00
234 能做到,之前做过 fifaol3 自动买卡的,就是图像文字识别还是做不好。
Level5
2016-10-14 09:36:31 +08:00
@weakiwi 234 是?
zhenjiachen
2016-10-14 09:57:05 +08:00
第一次接触的代码就是按键精灵!!!!!
lianxiaoyi
2016-10-14 10:20:59 +08:00
那你改写手机的吧 。。。。。。。手机端 触动精灵 体验要比按键精灵体验好 N 倍
weakiwi
2016-10-14 10:29:55 +08:00
@Level5 第二条,第三条,第四条。我是用 winapi 撸的,网上有现成的 python 做外挂的教程
qooweds
2016-10-14 11:14:03 +08:00
1 和 2,3 有冲突吧?后台运行如何实现 2,3 中的功能?
jpyl0423
2016-10-14 11:49:28 +08:00
按键精灵的大漠插件可以实现大部分的后台操作 原来写过类似的游戏脚本
大漠有免费版的, 应该够你用的了
jmyz0455
2016-10-14 14:16:54 +08:00
@enenaaa @pyufftj 好,那我还是选择按键精灵了,但是我想问我的第四点,小窗口怎么做好呢
jmyz0455
2016-10-14 14:26:58 +08:00
@bearqq @jpyl0423 @weakiwi 那小窗口怎么实现,这个不知道怎么做好
bearqq
2016-10-14 15:02:38 +08:00
我记得按键精灵里面可以做界面 直接拖控件 更新控件数值
bearqq
2016-10-14 15:03:30 +08:00
@weakiwi 我也写了半自动的买卡,最后合卡炸了超大一个礼花,太棒了!
jmyz0455
2016-10-14 16:38:08 +08:00
@bearqq @weakiwi 哈哈我说的游戏就是 FIFA OL3 ,我看现成的辅助很多功能都满足不了我,所以就想自己弄一个了,我说的需求 4 有什么建议嚒
bearqq
2016-10-14 17:34:15 +08:00
@jmyz0455 那就好说了。。
弃坑吧。。贬值太快,要么烧钱要么被人玩。。
歪楼了
mengskysama
2016-10-15 00:15:47 +08:00
python 做不了,涉及到很底层的东西,调试以及反调试,系统驱动相关的东西 py 没法做。现在能用 winapi 投递消息的游戏没几个了。
jmyz0455
2016-10-15 22:04:00 +08:00
@bearqq 你说得很对,这游戏贬值太快,幸亏没充过钱
但是我迷上了用脚本打游戏怎么办:-)
weakiwi
2016-10-16 21:07:46 +08:00
@jmyz0455 我用的是图像识别,但是太费劲了。老实说还是抓包分析比较靠谱。或者你可以先输入自己拥有的金额,然后仅仅判断购买成功的次数(同一个球员购买成功的包应该是一样的吧,一个猜想不一定对),再自己算一个大概的价格咯
jmyz0455
2016-10-17 10:31:36 +08:00
@weakiwi 我的需求四是原题目里:
4 、最复杂就是做个小窗口,实时输出日志,显示现在脚本跑到那一步了和现在赚了多少金币等游戏状态。
weakiwi
2016-10-17 11:01:58 +08:00
@jmyz0455 那金币数量(脚本执行结果)你是怎么知道的。有可能网络延时,或者你的笔记本没电了,直接强退了。怎么知道脚本执行一次的确达到了预期的效果
jmyz0455
2016-10-17 12:26:16 +08:00
@weakiwi 看来重点说错了,我的关注点是做一个小窗口,这个窗口能输出字符串就好了,字符是什么没关系

就有点像 shell 一样,自己能够 print 字符串出来,我习惯写日志,那样我就不用总是手动打开 *.log 这样子

就比如说现在我匹配到了对手, Windows10 的桌面上除了游戏窗口还有一个 200*200 的小窗口,能够滚动输出“现在已经匹配到对手了”这样。
jmyz0455
2016-10-17 12:36:35 +08:00
@qooweds 貌似是模拟输入

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/312528

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX