知行编程网知行编程网  2022-08-31 06:00 知行编程网 隐藏边栏  18 
文章评分 0 次,平均分 0.0
导语: 本文主要介绍了关于python可以开发外挂吗的相关知识,包括python手游辅助,以及python可以写脚本吗这些编程知识,希望对大家有参考作用。

python可以开发插件吗?

首先我要声明,这里的游戏外挂的概念,和那些大型网游中的外挂是不一样的。不能自动打怪,不能喝药,不能躲避GM……

Python是一种脚本语言,不可能像easy语言和C语言那样流畅自由地编写助手;游戏不适合 Python 开发。虽然 Python 有 pygame 库,但它的功能

不强,游戏运行效率低,写游戏还是靠游戏引擎。

这里可以用Python实现一个简单的小游戏脚本

工具的准备

需要安装autopy和PIL以及pywin32包。autopy是一个自动化操作的python库,可以模拟一些鼠标、键盘事件,还能对屏幕进行访问,本来我想用win32api来模拟输入事件的,发现这个用起来比较简单,最厉害的是它是跨平台的,请搜索安装;而PIL那是大名鼎鼎了,Python图像处理的No.1,下面会说明用它来做什么;pywin32其实不是必须的,但是为了方便(鼠标它在自己动着呢,如何结束它呢),还是建议安装一下。

截屏和图像处理工具

截图是获取游戏图片,用于分析游戏提示。其实没有专门的工具可以直接打印Screen并粘贴到图像处理工具中。我用的是 PicPick,它非常好用,对个人用户免费;而图像处理就是获取各种信息,我们用它来得到订单图像,并保存下来供外部分析判断。

编辑器

这个就不用说了吧,写代码得要个编辑器啊!

原理分析

看这个游戏,有8种菜,每道菜都有固定的菜谱。顾客一坐下,头顶会出现一张图片,看图就知道自己要点什么菜了,点击左边的食材区,然后点击……不知道是什么这叫,就像竹简一样,菜做好了,然后把做好的食物拖到顾客面前。

顾客头上显示图片的位置是固定的,总共也只有四个位置,我们可以逐一分析,而原料的位置也是固定的,每种菜的做法更是清清楚楚,这样一来我们完全可以判断。

代码:

class Menu:
  def __init__(self):
    self.stuff_pos = []
    self.recipes = [None] * 8
    self.init_stuff()
    self.init_recipe()
  def init_stuff(self):
    for i in range(9):
      self.stuff_pos.append( (L + 102 + (i % 3) * 42, T + 303 + (i / 3) * 42) )
  def init_recipe(self):
    self.recipes[0] = (1, 2)
    self.recipes[1] = (0, 1, 2)
    self.recipes[2] = (5, 1, 2)
    self.recipes[3] = (3, 0, 1, 2)
    self.recipes[4] = (4, 1, 2)
    self.recipes[5] = (7, 1, 2)
    self.recipes[6] = (6, 1, 2)
    self.recipes[7] = (8, 1, 2)
  def click(self, i):
    autopy.mouse.move(self.stuff_pos[i][0] + 20, self.stuff_pos[i][1] + 20)
    autopy.mouse.click()
  def make(self, i):
    for x in self.recipes[i]:
      self.click(x)
    autopy.mouse.move(L + 315, T + 363)
    autopy.mouse.click()

推荐学习《
》。

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

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