学习python有一段时间了,由于python语言的强大和简洁,是一个不错的脚本语言,就准备做个游戏脚本练练手。

听说pywin32写脚本还不错

pywin32主要代码

我以楚留香的电脑版为例,记录脚本的编写之路吧。

因为主要游戏都在windows跑,没什么好说的,第一步应该是获取窗口句柄。

在按键精灵帮助下,我们知道了游戏窗口句柄的类名和名字分别为"Messiah_Game",“楚留香”。
利用win32gui的函数,获取到窗口句柄,并稍微调整一下我们理想的大小。

在学习过程中有什么不懂得可以加我的
python学习扣扣qun,784758214
群里有不错的实战教程、开发工具与电子书籍
与你分享python企业当下人才需求及怎么从零基础学习好python,和学习什么内容
import win32con
import win32gui
import win32apihwnd=win32gui.FindWindowEx(0,0,"Messiah_Game","楚留香")
win32gui.SetForegroundWindow (hwnd)if(win32gui.IsIconic(hwnd)):win32gui.ShowWindow(hwnd, win32con.SW_RESTORE)
win32gui.SetWindowPos(hwnd, win32con.HWND_TOPMOST, 300,200,1200,800,win32con.SWP_SHOWWINDOW)

这样就完成对窗口的激活和尺寸,位置设定了。

接下来我们先做一个模块的功能,比如自动摆摊购买,因为端游模式和手游模式摆摊位置不同,我们首先确定为端游模式的坐标。

自动购买第一步,首先是鼠标能移动到‘’藏宝阁‘’图标上

然后我们关注我们需要抢购的东西,再拿他与我们需求的价格做对比,如果小于我们理想的价格,则让脚本自动购买。

所以模拟键盘鼠标的操作和价格识别就显得尤为重要。以下为关注界面,每点击一次关注就会刷新,似乎有点击事件间隔限制。

 '''我们希望脚本是在端游模式跑起来的,方便测试,先默认一个Mode为端游模式,后期可以设置一个检查模式功能'''Mode='端游模式'if(Mode=='端游模式'):win32api.SetCursorPos([557, 584])win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP | win32con.MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)

启动脚本后,发现鼠标虽然移动成功,但是单击命令似乎只能在游戏之外的窗口才会执行?
为什么呢?

这是由于游戏屏蔽了系统API提供的模拟输入,包括键盘鼠标的模拟操作都不会生效。

看起来事情并不简单。

那怎么办?

别急,我们可以模拟键盘鼠标驱动的硬件操作。

以下理一下我们思路

目的:我们希望模拟键盘和鼠标的操作。

可以使用方式或库:

  • pyinput

  • autopy

  • win32api

  • winio

  • vb类似于按键精灵的模式

    前面三种已经证明不可行,因为都是api层面的操作,一定都会被游戏系统屏蔽。
    关于第四种可以实现IO驱动的模拟
    介绍winio
    但是进入github查看说明文档发现:

    也就是说,winio的python接口还不支持win10,其他语言倒是可以支持,但是我们的代码不就前功尽弃了吗?

    因此联想到可以使用vb的按键精灵模式来实现模拟输入。

    在这里我们并不是要推翻整个代码重写,更不是把语言换成vbscript,我们可以通过调用按键精灵某些插件实现模拟的键盘鼠标输入。

    今天就分析到这里,下一篇我们来讲讲怎么使用python调用vb脚本实现键盘鼠标的dx游戏模拟输入吧。

用Python写一个游戏脚本,你会吗?相关推荐

  1. python网络游戏脚本_用Python写一个游戏脚本,你会吗?

    学习python有一段时间了,由于python语言的强大和简洁,是一个不错的脚本语言,就准备做个游戏脚本练练手.如果你也想多练项目实战.可以去小编的Python交流.裙 :一久武其而而流一思(数字的谐 ...

  2. python可以制作游戏脚本吗_用Python写一个游戏脚本,你会吗?

    学习python有一段时间了,由于python语言的强大和简洁,是一个不错的脚本语言,就准备做个游戏脚本练练手.如果你也想多练项目实战.可以去小编的Python交流.裙 :一久武其而而流一思(数字的谐 ...

  3. 开始着手用Python写一个游戏脚本(一)

    学习python有一段时间了,由于python语言的强大和简洁,是一个不错的脚本语言,就准备做个游戏脚本练练手. 听说pywin32写脚本还不错 pywin32主要代码 我以楚留香的电脑版为例,记录脚 ...

  4. python自动游戏脚本_[python游戏脚本]我想用Python写一个游戏脚本,自动点击排队!...

    我只是学会了Python,我用我的知识掌握和使用\u201Cautopy\u201D功能来编写一个脚本,该脚本自动点击鼠标队列,但是我希望这个脚本运行而不被显示在前面的窗口,即使是最小化.我在后台继续 ...

  5. python写一个游戏多少代码-使用Python写一个贪吃蛇游戏实例代码

    我在程序中加入了分数显示,三种特殊食物,将贪吃蛇的游戏逻辑写到了SnakeGame的类中,而不是在Snake类中. 特殊食物: 1.绿色:普通,吃了增加体型 2.红色:吃了减少体型 3.金色:吃了回到 ...

  6. 用python写跑酷游戏脚本,用Python写一个天天酷跑

    感觉上次写的植物大战僵尸与俄罗斯方块的反应还不错,这次这个文章就更有动力了 这次就写一个天天酷跑吧 写出来的效果图就是这样了 下面就更新一下全部的代码吧 还是老样子先定义`import pygame, ...

  7. python写dnf游戏脚本辅助_利用Python自动化操作鼠标键盘刷金币,工作室都靠这种脚本搬砖!...

    不管是英雄联盟还是王者荣耀,总是有一个特殊的模式可以用来刷金币,为什么说是特殊模式呢?因为打的都是人机,或者并不影响游戏平衡,被其它玩家举报,同时你这种模式的战绩也没人去看你的. 如果能利用Pytho ...

  8. 用python写跑酷游戏脚本_用python写游戏之2D跑酷游戏(二)

    这篇文章介绍2D跑酷游戏中,添加地板资源, 给主角附加重力作用,以及添加游戏控制器和游戏场景的切换. 废话不多说,直接开始. 添加地板资源 定义地板类,继承自pygame.sprite.Sprite ...

  9. python写一个游戏多少代码-使用50行Python代码从零开始实现一个AI平衡小游戏

    集智导读: 本文会为大家展示机器学习专家 Mike Shi 如何用 50 行 Python 代码创建一个 AI,使用增强学习技术,玩耍一个保持杆子平衡的小游戏.所用环境为标准的 OpenAI Gym, ...

最新文章

  1. 保护您的IE浏览器安全
  2. 小学计算机几年级学3d建模,学了4年手绘和建模,你终于不会思考了
  3. mysql数据库 quota_shell脚本抓取用户存储quota写道mysql并展现到grafana面板
  4. ios开发之plist 的文件的读写以及沙盒容器路径打印
  5. graph-easy 纯文本图绘制工具(表格或流程图)
  6. 第一个django项目
  7. 在python中要表示一个空的代码块可以使用空语句什么_Python条件判断语句if
  8. 【Java】我的第一个 JAVA 程序:Hello,world!
  9. Maven核心概念及Eclipse使用Maven
  10. CentOS7下解决yum install mysql-server没有可用包的问题
  11. 程序分身:根据不同程序名执行不同函数
  12. 累加数据段中的前3个字型数据
  13. redis中数据类型的使用,并发问题,list重复插入问题,redis使用实例-简单消息队列和排名统计
  14. 武汉工程大学matlab,Lorenz系统动力学行为的MATLAB仿真与分析[1]
  15. 广东省的身份证号码开头
  16. pythonqq机器人酷q_基于NoneBot的QQ聊天机器人一
  17. zabbix如何自定义一个监控项对web网站进行存活监控和报警?
  18. oCPC实践录 | 开篇语
  19. “云界十年”——第十届中国云计算大会举行
  20. 快递企业玩转微信扫一扫教程

热门文章

  1. 成都百择电商:抖音小店有哪些引流方法?
  2. python中def函数右侧有个-的含义
  3. 快手爬虫,解决粉丝数,关注数等字体加密!python快手爬虫
  4. 给账户起个“小名”——影子账户全面解析
  5. Linux驱动获取进程PID和进程名字
  6. 前端微信小程序新版本实现获取头像和昵称
  7. 《Redis开发与运维》各章重点回顾
  8. 分享112个PHP源码,总有一款适合您
  9. linux查看防火墙状态/关闭防火墙
  10. 冰冰学习笔记:内存操作函数