一键玩开发手册 |
您所在的位置:网站首页 › 一键玩脚本编写怎么保存下来 › 一键玩开发手册 |
青松QQ:21249676412,爱噶韭菜,爱收费 一键玩开发者官方交流群:22340602 本次修改均为慈善修改没有收取任何费用,所以本人不对内容负责,开发过程中如果有问题,本人也不免费解答,谢谢 正文—————————————————————— 一些教程地址:————————————————————— 一键玩视频教程合集网站: 官网:http://www.yijianwan.com/teach.html --官方教程的学员加密视频在哔哩可以直接看 哔哩哔哩:松学院教程传送门 哔哩哔哩:一键玩官方教程传送门 基础开始——————————————————————— 1.循环语句 循环语句视频教程:https://www.bilibili.com/video/BV15t411s7S2/ 1.1 循环语句的结构与运用 ----常用循环语句包括(限时循环、限次循环、无限循环、空循环) ![]() 自定义按钮:该按钮点击以后可以自定义循环参数,也可以选择整数变量作为循环参数; 限时循环 :循环设定时间,超过该时间跳出循环; 限次循环 :循环设定次数,超出次数跳出循环; 无限循环 :无限循环永不跳出循环,只有用户设定某一跳出条件后跳出; 空循环 : 脚本运行到该行,暂停(延时)停顿用户设定时间后,继续执行后面语句; 获取循环时间: 脚本到这行,返回运行到这行时已经循环的时长; 获取循环次数: 脚本到这行,返回运行到这行时已经循环的次数(循环次数是从0开始的); 循环超时执行:循环时间结束后执行该行以及该行里的语句;(只能用于限时循环,放置在限时循环下面,与循环并列并紧挨) 循环超次执行:循环次数结束后执行该行以及该行里的语句;(只能用于限次循环,放置在下次循环下面,与循环并列并紧挨) 1.2 循环语句结构解释 ![]() 1.3 一键玩实例解释 1.3.1 实现单击五次操作 ![]() 1.3.2 实现每30秒点击一次 ![]() 1.3.3 循环嵌套:(无限循环找图2,找图成功单击5次) ![]() 2.判断语句 判断语句视频教程:https://www.bilibili.com/video/BV18t411s7GJ/?share_source=copy_web&vd_source=b69eb9188ca8268a6c4f47adb2b47a0e 一键玩中,寻图成功失败里面添加执行内容,都属于一个判断! 2.1 寻图判断 简单的寻图判断,如下图代码判断,大概解释下: 无限循环找截图1,会出现以下2种结果: 1.如果找图成功,去执行一个限次循环后,空循环1000毫秒,继续找截图1; 2.如果找图失败,则跳出循环,代码运行结束。 ![]() 2.2 如果..判断 判断语句还包括(如果、否则如果、否则、并且、或者) 只有判断语句成立才会执行判断语句行里面的语句,比如以下例子: 例子1: ![]() 都知道1+1=2 所以如果和否则如果里面的语句都没有成立,只会运行否则里的语句。 例子2: ![]() 当如果里面的语句成立,那么后面“否则如果、否则”里的语句都不会执行!只会执行如果里面的语句。 例子3: ![]() 如果语句不成立,否则如果语句成立则会执行否则如果里的语句,不会执行“如果,否则”的语句。 以上总结,“如果”...“否则 如果”...“否则”同时只可能成立一个判断式! 2.3 或者..并且语句 或者..并且,在如果一个判断式写完之后的逻辑运算符处,如下图: ![]() 嵌套“并且(&&)”语句:如果1+1=2并且2+2=4并且3+3=6 只有当这3个关系式全部成立这个“如果”语句才算成立。 嵌套“或者(||)”语句:如果1+1=0或者1+1=2或者1+1=3 这个3个关系式中只要有一个关系式成立,那个这个“如果”语句就算成立。 2.4 判断语法需注意 否则..是必须有如果的前提下才会判断的。 并且如果与否则语句中间不可有其他任何语句。 否则如果..也一样还要有如果的语句前提下。语句中间不可有其他任何语句。 (小学语文知识:没有“如果”怎么会有“否则如果”,那也不会有“否则”了) 2.5 判断式在一键玩中的建立 ![]() 要判断肯定要有值1、值2、关系式 打开如果界面生成一个判断式,如例子:张三+李四=王麻子(注:例子中张三李四王麻子都是变量)那么 值1:张三+李四 关系式:== 值2:王麻子 值1的赋值:选择值1 --->> 自定义 --->> 打开值1的赋值界面 --->> 变量选择 : 张三 --->> 算数运算符 :+ --->> 变量选择 :李四 --->> 确定 如图: ![]() 选择关系式“==(是否相等)” ![]() 值二选择变量王麻子 ![]() 这样一个关系式就写好了,如果需要嵌套多个判断式,点击逻辑运算符选择需要的逻辑运算符,就可以继续同样的方式赋值第二个关系式 3. 跳转语句 跳转语句视频教程:https://www.bilibili.com/video/BV1jt411s7Zu/?share_source=copy_web&vd_source=b69eb9188ca8268a6c4f47adb2b47a0e 3.1 跳转语句解释 ![]() 跳出循环:执行到该行,则会跳出你插入该跳转语句的那个循环语句,继续执行该循环外的语句。 结束本次循环:执行到该行,不会跳出插入该语句的那个循环语句,而是回到该循环第一行语句继续执行,而不去执行跳转语句后的语句。 返回成功、返回失败:执行到改行,都是直接跳出所在的插件。(具体差异用法下方图文解释) 放置标号、跳转到标号:放置标号的意思就是放个标志(例如标号1),然后当执行到有跳转到标号1语句时,直接跳到到放置标号1的的语句开始运行,而不执行“跳转到标号”的下方的语法。 3.2 详解返回成功,返回失败 返回成功与返回失败都是结束当前所在插件的,那么一个插件的结果一般都是二种:失败、成功。默认一个插件结束时是返回成功,而当我们需要判断插件的结果时,就可以用到返回成功与返回失败。 例:比如一个插件【寻找图1】,然后我调用这个插件的地方,我需要判断,插件中的【截图1】是找图成功了还是找图失败了 1.这是【寻找图1】插件 ![]() 2.调用【寻找图1】的插件 ![]() 发现一键玩的插件调用处,会给我们有运行成功和运行失败,二种结果。 那么我将寻图失败时让插件运行失败,寻图成功让插件运行成功 这样调用处就可以知道寻图结果了,那么跳转返回成功和失败就有用处了, 3.添加返回成功与返回失败 ![]() 4.这样做后我们运行的结果就是: ![]() 插件如果跳转的返回成功,那么这个插件就会执行:运行成功这行及其里面的语句;(注意插件如果没有外力干扰运行插件必定成功,所以运行成功里面跟插件同级执行一样,尽量不要搞没有意义的代码折叠) 插件如果跳转的返回失败,那么这个插件就会执行:运行失败这行及其里面的语句; 如果插件内没有返回成功与返回失败,那么这个插件结束默认返回成功,也就是运行成功。 4.寻图找图 多点找图视频教程:https://www.bilibili.com/video/BV1Lt411s7nZ/?share_source=copy_web&vd_source=b69eb9188ca8268a6c4f47adb2b47a0e 普通寻图的视频教程:https://www.bilibili.com/video/BV1Lt411s7GT/?spm_id_from=333.788&vd_source=8f1bc45a8f80c27dda7bbede5a063507 寻图变量的视频教程1:https://www.bilibili.com/video/BV1Et411s7LG/?spm_id_from=333.788&vd_source=8f1bc45a8f80c27dda7bbede5a063507 寻图变量的视频教程2:https://www.bilibili.com/video/BV17t411s7Zj/?spm_id_from=333.788&vd_source=8f1bc45a8f80c27dda7bbede5a063507 4.1 取图技巧 你有没有这样的经历: 前一天写好的脚本完美运行,第二天却找图失败? 同一分辨率换个手机也会找图失败很多; 跨分辨率发现几乎很多图都失败; 由于安卓设备的繁、杂、多、屏幕尺寸不一样但是分辨率却一样(dpi),等等…..造成人肉眼根本无法看出的细微差别,可是在脚本运算中会有很大的差异,导致寻图失败。所以总结以下几点技巧,提高初学者脚本的运行能力。 【以下例子详解】 4.1.1 取图选择 取图寻图始终记住:能取图就不取字,必须找字使用【多点找图】,略加寻图范围 取图不取字是因为字体的在跨设备跨分辨率时,字体变化比图片的变化大 4.1.1.1 略微增加寻图范围 一键玩默认寻图时,会在原图范围去扩展寻图范围去找图,所以这点用户视情况而定 (注:经验发现部分游戏或者应用图片会略微发生位置偏移变化) 比如我们要点击这个背包,需要怎么取呢? ![]() 我们用一键玩的寻图 --> 取图 --> 截屏 --> 大概图片位置 --> 缩放 --> 精准图片 --> 保存截图 --> 给自己图片起一个好记的名字 ![]() 一键玩插件界面,寻图 >刚取的图片 > 选取范围 > 在选取图位置(红框)的基础范围扩展,略增加些范围(大概蓝色框的位置);图例见下方: ![]() 细节图: ![]() 蓝色区域为以前的取图的位置,红框是当前寻图范围;上面的加减可以方便一键玩用户对范围进行微调。这样选取好范围和其他参数后,就可以加入到插件里就可以了。 4.1.1.1 取图不取字 找图不找字,需要你对游戏的观察与思考了,我列举几个例子: 例1: ![]() 梦幻西游手游的捉鬼任务,一般大家都想着去取 "抓鬼" 二个字然后滤色 但是对游戏了解后,捉鬼任务右上角的表是除了晚上的限时活动领取后会有,一般情况下是不可能有这个表的,这样我们是不是可以直接可以用表的图片代替复杂且透明找字呢,这样我们就做到了找图不找字。 例2: 需要判断是否打开了需要操作的不同任务框界面 活动页面: ![]() 福利页面: ![]() 三界答题页面: ![]() 这些界面都是有自己独特的特征的,不一定非要判断活动、福利、三界奇缘字 那如果一样呢?然后看下面几个图: ![]() 这二张和三界奇缘明显一样了,这样我们就需要在其界面找其他特征了 我来找到这些界面的唯一特征,图不大而且还是唯一的,关键是避免取字 ![]() ![]() ![]() 这些蓝框标识的区域都是可以取图判断的,比直接判断字要好很多。蓝色区域是推荐区域,不代表截图大小。 例3: ![]() 像这样的基本很多游戏都是这种形式,都是取图不取字。 具体还要根据你写的游戏还有你对游戏的了解了。 4.1.2 找图速度 取图越小,范围越小,近似度越高找图越快,多点找图中点数越少找图越快 4.1.3 近似度 普通寻图:近似度75%以下(注:经验值,个人建议!不是绝对值) 多点寻图:近似度85%以上(注:经验值,个人建议!不是绝对值) 滤色寻图:近似度85%以上(注:经验值,个人建议!不是绝对值) 4.2 图片对比 图片对比功能最好不要用,会乱找,可以使用单步运行来测试图片的效果 ![]() 4.3 寻图点击防检测 游戏大致检测规则: 脚本编写一寻图后点击的位置是固定像素点;且循环找到就点击,速度是很快的,然而人手动操作的时候,是不可能一个游戏窗口每次手指点下去都点击的同一个像素点,也不会不停的点击。 所以可用以下2种方法解决: 4.3.1 设置全局随机点击 (此函数执行一次后全脚本生效,一般放在入口插件) 使用技巧: 运用寻图后点击,每次取图后点击位置为按钮中心位置 函数功能:使整个脚本的寻图后点击的位置在原坐标基础位置随机偏移 ![]() 在找图成功后点击的点,X与Y值随机加减设置的偏移参数后进行点击操作。 (一键玩中默认寻图点击位置是:图片左上角X坐标+5;Y坐标+5的位置) 从而得出寻图后点击位置最好是按钮中心位置的技巧。 4.3.2 寻图点击参数偏移[推荐] 使用技巧: 使用~字符,运用寻图后点击,每次取图后点击位置为按钮左上角位置 使用#字符,运用寻图后点击,每次取图后点击位置为按钮中心位置 ![]() 解释: 当找到图片位置,以图片位置的左上角坐标 (X坐标+5 ~ X坐标+15)与(Y坐标 -5 ~ Y坐标+30)的一个范围内随机点击 ~字符后的数值, 分别是按钮可点击范围的宽高的值/2的值(因为是正负随机偏移) #号的使用和设置全局效果差不多,不同点是可以控制每个图的XY坐标的偏移值 注意: 如果设置点击坐标随机偏移后的寻图后点击,在全局随机偏移函数调用的情况下不生效! 图解: ![]() 首先取图的时候必须运用寻图后点击; 图片中点1的位置是运用~字符需要点击位置; 图片中点2的位置是运用全局随机点击函数和#字符手指需要点击的位置; 紫色框范围是可以点击的整个范围; 序章2字的红框是脚本所截取的图片区域; (寻图后点击参数方法可以分别控制XY偏移值;全局随机点击函数是xy坐标都使用一个偏移量,所以偏移范围是正方形,也就是寻图点击取按钮的宽高,其中的小值/2作为偏移参数,否则会有可能点击出去) 5.变量 ps:对于变量的解释有很多,但是没有一个能让你明白它究竟是干什么的,所以我们只需要知道它是干什么用的,用在什么地方就可以了。 变量详细介绍教程:https://www.bilibili.com/video/BV1Zb41187un/?spm_id_from=333.788&vd_source=8f1bc45a8f80c27dda7bbede5a063507 变量部分教程:https://www.bilibili.com/video/BV17t411s7Zj/?spm_id_from=333.788&vd_source=8f1bc45a8f80c27dda7bbede5a063507 https://www.bilibili.com/video/BV1Et411s7LG/?spm_id_from=333.788&vd_source=8f1bc45a8f80c27dda7bbede5a063507 脚本计时与随机函数:https://www.bilibili.com/video/BV1ht411s73f/?spm_id_from=333.788&vd_source=8f1bc45a8f80c27dda7bbede5a063507 网络函数与文件函数:https://www.bilibili.com/video/BV18t411s7cf/?spm_id_from=333.788&vd_source=8f1bc45a8f80c27dda7bbede5a063507 5.1 初识变量 一键玩有两种变量范围,四种变量类型 两种变量范围: 工程变量:脚本运行过程中不会自动释放变量值,并且所有插件都可以使用的变量 插件变量:插件运行完毕自动释放变量值,只有在本插件内才可以使用 ![]() 四种变量类型: ![]() 整数类型:顾名思义,这个变量里面只能放置数字信息,运算数字等都需要在这个变量里面运算 ![]() 字符类型:这个变量类型里面只能接收字符,如果赋值给他参数需要用英文引号作为字符串定义"123" ![]() 浮点类型:一般不常用,在进行精确运算的时候才会用到,浮点就是小数,浮点类型数字最少要带小数点后一位 ![]() 寻图类型:一般用来保存找到的图片的全部结果,可以看4.寻图找图提供的教程 5.1.1 变量接受运算结果 如果你要计算(5+10)=?,那么你首先就需要一个变量去接受计算结果的返回值(虽然你知道结果是15,但是脚本并不知道),那么这个是整数运算,结果肯定也是整数,所以是需要一个整数变量,比如我用一个名字叫“结果”的去接受运算结果,当然你也可以叫张三李四王麻子,只要你知道这个名字是干什么用的就行(名字无所谓,名字只是为了区分不同的变量,不具有实际意义) ![]() 那么现在我们对它进行赋值,赋值的内容就是(5+10) ![]() 这样我们就可以获取“结果”的值,就可以得到计算的结果 ![]() 那么,如果我上面的变量就是用于接受了一个运算结果,那么还能做什么呢? 5.1.2 变量接受函数返回值 函数也是一个让新手头疼的问题,那么我们先对函数中必不可少的变量先做一个初步了解 比如,我现在需要脚本生成一个(0~100)的随机数,一键玩中有这个函数可以生成,那么生成后我们肯定要知道生成的是哪个数,这时候就需要一个变量来接受结果了。这次我给它起名叫“随机数”(变量名字无所谓,名字只是为了区分不同的变量,不具有实际意义) ![]() 打开函数看到函数介绍和这个函数需要的返回值类型为整数类型,右下角我们添加一个整数变量,名叫“随机数” ![]() 我们在 返回值选择 这里这里选择“随机数”变量用来接收这个函数运行的结果 ![]() 我们依次填好函数的参数1(随机数最小值)和参数2(随机数最大值),加入到插件 ![]() 这样我们每次执行函数都会生成一个(0~100)之间的随机数值,而变量随机数=生成的随机数,如下图,变量随机数=20,我用100减去随机数就等于80 ![]() 再运行一次,随机数=2,那么(100-随机数=98) ![]() 5.1 变量赋值 详看5.1 初识变量 6.打包功能 首先打包需要设置入口插件,也就是脚本点击运行后,脚本执行的起点位置。 界面与入口插件教程:https://www.bilibili.com/video/BV1at411s7uF/?spm_id_from=333.788&vd_source=8f1bc45a8f80c27dda7bbede5a063507 界面常用属性介绍:https://www.bilibili.com/video/BV1hb411h7qE/?spm_id_from=333.788&vd_source=8f1bc45a8f80c27dda7bbede5a063507 打包介绍教程:https://www.bilibili.com/video/BV1AE411d7v3/?spm_id_from=333.788&vd_source=8f1bc45a8f80c27dda7bbede5a063507 打包教程已经不是最新的了,一键玩最新更新了很多东西 6.1 入口插件的设置 ①进入界面 ![]() ②选中0.窗体 ![]() ③点击事件 ![]() ④设置入口插件(新手不懂的话,不要乱添加其他插件,只选择入口插件既可,入口插件是所有插件的集合,因为脚本运行只运行一个插件) ![]() 6.2 打包页面介绍(无需学员) 注: 1.同一账号,不同脚本工程的包名不要一致; 2.同一账号,同一脚本工程,不同包名,更新和收费状态会一起更新; 3.同一脚本工程,不同账号打包,不会相互影响; 4.同样包名的脚本,无论如何,一个设备只能安装一个; 5.脚本更新不会更新应用名,包名,图标; 6.打包版本号的更新需要重新打包,请保证和之前脚本包名一致,版本号更新会更新应用名,图标。 ① 点击打包进入打包 ![]() ②打包页面 ![]() 6.2.开篇(重要) ![]() 压入ocr与ai功能是训练的ai模型,与下载的ocr字库,第一次打包的时候压入进去,就不需要用户手动下载了,需要注意,想要压入ai模型,需要随便下载一个ocr字库才能看到模型列表 ![]() 打包后上传模板,是用来更新ai模型使用,这样就不用重新打包脚本了 ![]() 6.2.1 自定义启动页 该功能为学员等级达到钻石等级以上可用,设置自定义启动页,可以将你自己的图片替换成官方脚本默认的脚本脚本启动页图片 ![]() 6.2.2 用户管理 统计列举出登录过你当前脚本的用户,必须为登录的用户(注:免费脚本不登录也可以使用,但是不会统计到内) 开发者可使用该功能设置用户脚本到期时间,备注。 ![]() ![]() 6.2.3 脚本更新 开发者点击更新后,将你当前本地脚本上传至服务器,当打包用户重新运行脚本时会自动更新至你更新时的脚本状态 ![]() 6.2.4 收费设置 6.2.4.1 收费状态 设置当前脚本的收费状态,设置后确定即可生效,无需更新脚本。 ![]() 收费状态24小时内只能更改一次,请谨慎更改 ![]() 6.2.4.2 收费详细设置 直接使用一键玩的收费系统,提现的时候官方会收取百分之二十的手续费,但是用户支付一块钱你将会得到大概几点的在线点,脚本初始在线点为300,一个用户一天扣一点,如果在线点为0,那么会限制你脚本的同时在线人数为10个人 ![]() 使用一键玩的激活码系统,需要购买官方的激活码,但是激活码的最高价格是你脚本设置收费价格的百分之三,单个激活码最高三块,这样在线点需要你自己充值 ![]() ![]() 6.2.5 使用统计 统计记录当前脚本用户的:用户名,运行状态,使用天数,使用时长,最后登录时间 ![]() 6.2.6 应用名 设置你打包生成APK的应用名称 ![]() 6.2.7 包名 设置你打包生成APK的应用的包名,包名一样安装会互相替换, 一般应用的包名格式为:com.xxx.xxx,不推荐使用默认包名 【曾用】会列举出你当前脚本打包过的包名 ![]() 6.2.8 图标 设置你打包生成APK的应用图标,点击文件夹可选取图标。 ![]() 6.2.9 输出路径 你打包生成APK应用文件的保存路径,可在路径查看到你打包的apk文件 ![]() 6.3.0 我的QQ 设置你打包脚本apk的QQ联系。方便用户联系到你本人。点击更新即可生效 ![]() |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |