知行编程网知行编程网  2022-09-24 13:30 知行编程网 隐藏边栏  297 
文章评分 0 次,平均分 0.0
导语: 本文主要介绍了关于怎么用python写简单的游戏脚本?的相关知识,包括python游戏脚本实例,以及python爬虫教程这些编程知识,希望对大家有参考作用。


想必大家都喜欢玩游戏。现在游戏市场非常火爆,令人印象深刻。许多程序员涌入游戏公司。让我们来学习


其实python也可以用来写游戏脚本。不清楚的可以看看~

以楚留香的电脑版为例,记录一下剧本的写法。

如何用python编写一个简单的游戏脚本?


因为主要游戏都在


windows跑,没什么好说的,第一步应该是获取窗口句柄。



借助按钮向导,我们知道游戏窗口句柄的类名和名称是

"Messiah_Game",“楚留香”。



利用

win32gui的函数,获取到窗口句柄,并稍微调整一下我们理想的大小。

import win32con
import win32gui
import win32api
 
hwnd=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)


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

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



自动购买第一步,首先是鼠标能移动到

‘’藏宝阁‘’图标上

然后我们关注我们需要抢购的东西,和我们需要的价格进行比较,如果低于我们的理想价格,让脚本自动购买。

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

如何用python编写一个简单的游戏脚本?

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

启动脚本后发现,虽然鼠标移动成功,但点击命令似乎只在游戏外的窗口中执行?


为什么呢?



这是由于游戏屏蔽了系统

API提供的模拟输入,包括键盘鼠标的模拟操作都不会生效。


看起来事情并不简单。



那怎么办?如果你学习也迷茫。可以去小编的

Python交流.裙 :一久武其而而流一思(数字的谐音)转换下可以找到了,里面有最新Python教程项目


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


以下理一下我们思路


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




可以使用方式或库

:


l


pyinput


l


autopy


l


win32api


l


winio


l


vb类似于按键精灵的模式


l



前面三种已经证明不可行,因为都是

api层面的操作,一定都会被游戏系统屏蔽。关于第四种可以实现IO驱动的模拟介绍winio但是进入github查看说明文档发现:也就是说,winio的python接口还不支持win10,其他语言倒是可以支持,但是我们的代码不就前功尽弃了吗?因此联想到可以使用vb的按键精灵模式来实现模拟输入。在这里我们并不是要推翻整个代码重写,更不是把语言换成vbscript,我们可以通过调用按键精灵某些插件实现模拟的键盘鼠标输入。今天就分析到这里,下一篇我们来讲讲怎么使用python调用vb脚本实现键盘鼠标的dx游戏模拟输入吧。



如果还想知道更多的

python知识,可以到
进行查询。

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写
扫一扫二维码分享