随着现在游戏越来越多,游戏脚本也越来越多。脚本和外挂是有区别的。
外挂:通过对内存有读或写操作,以实现自动挂机,违反法律(破坏计算机信息系统罪)。
脚本:通过对图色的识别,模拟人手对鼠标或键盘进行操作,不违法(个人浅薄的理解),仅违反游戏条约。
那游戏脚本如何开发,下面以我曾经做过的梦幻西游互通版挖图脚本(之后统一叫做脚本)举例子。
首先,要有一个明确的思路,要明确自己要做什么,并且把事情拆分为几步。
比如我的脚本为例,我要分为三个部分:
第一步,找到仓库管理员存储物品
第二步,读取仓库全部宝图坐标,并分组缓存
第三步,按照分组取宝图,并按照xy坐标进行排序
第四步,准备开始挖宝
第五步,挖宝操作
然后继续细化,并给出解决方案。
比如第一步操作“找到仓库管理员存储物品”细化为以下步骤:
1、打开背包
2、判断背包是否打开
3、根据图色寻找飞行服
4、选择并使用飞行服
5、判断飞行服是否打开
6、点击西梁女国
7、判断是否到达西梁女国
8、点击仓库管理员
9、判断对话框是否打开
10、点击打开仓库
11、翻页到最后一页
12、判断背包是否有物品
13、遍历背包物品并存入仓库
第二步,读取仓库全部宝图坐标,并分组缓存,细化为:
1、回到第一页
2、根据图色寻找当前页宝图位置
3、点击宝图位置
4、判断是否弹出宝图信息
5、识别宝图信息,并分组保存
6、判断是否有下一页
……….
之后,封装通用方法。
如:打开背包、判断背包是否打开封装为一个方法
判断仓库是否存在上一页封装为方法等等
排序封装为方法
接下来,按照细化出来的逻辑进行coding
能通用的尽量通用,不然同一段代码会写无数次,修改的时候很难受。
最后,就是最漫长的调试过程
调试过程十分漫长,开发时间大概是10%,调试时间查缺补漏占用90%,做好这个心理准备,还会发生各种偶发事件,轻轻松松被虐到心累。
之后是我开发的脚本源码,各位有需要的可以直接伸手拿走,不用修改直接可以用:
https://github.com/forleoshare/auto_use_treasure_map