声明:
本文章仅作学习交流使用,对产生的任何影响,本人概不负责.
转载请注明出处:添加链接描述
主要功能
看过前帖子的应该知道,从一时兴起搞了这东西,从扫拍,到刷图,到上线,一步步的更新迭代目前脚本总算是完成了,以在上机实战中
1.搬砖地图支持:115新版本已全面支持。且持续更新中
2.自动分解史诗
3.自动出售白蓝紫装备
4.有点券购买免修,没有免修会自动修武器
5.自动收邮件
6.自动登录wegame、自动切换账号、自动切换角色
7.支持90%的职业,尤其是适合刷图的职业
8.根据角色名望,支持动态选择地图,
特色功能:
1.自动做日常活跃,如进入修炼场,领取每日奖励,打开商店,工会聊天,等
5.自动兑换灵魂之源
6.图内金币、装备自动拾取
7.自动切换角色、切换大区(支持3跨区)、切换QQ
8.急速刷图,刷图算法优化更高级,移动速度的高低决定跑图时间,伤害的高低,决定打怪时间)
速度很快,效率很高,单机器逆鳞可日刷过百头
从基础的图片识别、处理,到自动寻路算法,到打怪算法,到急速刷怪过图算法、到技能释放算法,到找门,到纯脚本的切换角色,切换大区,切换qq、到随机副本加载,到对全职业支持,每一步都是困难重重。
做到现在每台电脑3.0以上移速装备下一天可以轻松刷50-70个角色,过图速度上已经全面超越市面上的主流成熟脚本,且稳定可靠。
运行要求
一.硬件配置要求
1.显卡模式,需要安装cuda所以要显卡不低于GTX750。标配 GTX750ti 2G(推荐),CPU无要求,能带动游戏即可
2.CPU模式 需要7-8代英特尔 如推荐i5 7500,或同等性能的AMD。此模式对显卡无要求
3.内存推荐16G
4.硬盘空间不小于128G
5.键鼠,自研的硬件键鼠+虚拟键鼠(虚拟键鼠无法自动登录游戏,因为无法输入密码,自研的硬件键鼠基本上做到了全天托管)
二.运行环境软件要求
1.安装CUDA驱动:
cmd 输入 nvidia-smi (查看显卡驱动版本) 根据驱动的版本,下载cuda:
安装教程参照:CUDA安装教程
2.安装python 版本3.11.5(安装过程中含有–PATH–的选项必须勾选)
安装教程参照:python安装教程
安装后查验是否成功及版本:
1.cuda查验 cmd黑窗口输入 nvcc --version
2.python查验 cmd黑窗口输入 python --version
弹出版本标识则安装成功。
3.脚本使用教程
B站脚本安装环境视频1
B站脚本使用视频2
代码依赖
1 识别使用最新的yolov8模型。
2 键鼠使用自研的硬件模拟。
class Auto:
def __init__(self):
self.se = Search()
self.boss = Boss()
self.ski = Ski()
self.move = Move()
self.denglu = DengLu() # 自动登录
self.town = Twon()
self.DATA = None
self.img0 = None
self.liefeng_num = 0
self.start, self.end = None, None
self.prev_start = [400, 450, 0, 0, 0, 0]
self.stop_time = 0
self.get_role_xinxi = 0
self.shouci = 0
def auto(self):
while True:
if not self.off_no():
continue
if not self.denglu():
continue
if not self.fuben_move_and_get_end(): # 副本中检测
continue
if self.town_res(): # 城镇检测
continue
self.boss_room()
def start_info(self, start):
if start is not None:
self.start = start
self.prev_start = self.start
return self.start
if act.find_img('sw'):
web.print_log('复活')
k.down_up('x')
sleep(0.5)
self.ski.buff()
return self.prev_start
def sy_fuben(self):
if act.find_img('j_h') is None:
return True
if self.town.jintu_time:
self.town.jintu_time = 0
if Map.is_boss and act.find_img('jixu'):
self.move.up_key()
if self.boss_room():
self.shouci = 0
Map.is_boss = None
Map.room_dix = 0
sleep(1)
return
if self.shouci == 1:
self.shouci = 2
sleep(0.5)
self.ski.buff()
if self.shouci == 0:
self.shouci = 1
return
boss_ = self.get_max_conf_point(6)
self.start = self.start_info(self.get_max_conf_point(r_c.index))
if Map.buff:
Map.buff = None
r_c.is_fz = act.find_img('f_z')
self.boss.xiu = act.find_img('xiu_li2')
self.boss.kai_shi_time = time() # 每次时间
self.ski.buff()
self.end = self.se(self.DATA, self.start)
self.move_result(self.move(self.start, self.end))
def queren_t(self):
if act.find_img('queren'): # 弹窗检测
try:
act.esc()
except Exception as e:
IMG.get_handel_or_size()
web.print_log(e)
web.print_log('确认弹窗')
return True
def get_data(self, conf=0.6):
x = fb.model.predict(source=self.img0)
self.DATA = copy(x)
def fuben_move_and_get_end(self):
self.img0 = IMG.get_img()
if self.img0 is None:
return
if not fb.map_id:
return True
self.get_data()
if fb.map_id == 1:
return self.sy_fuben()
if self.get_max_conf_point(fb.bosss) is None:
if not Map.map_num:
return True
if IMG.find_template('queren') or IMG.find_template('zbl'):
k.down_up('esc')
return
if Map.is_boss:
sleep(0.2)
self.move.up_key()
return True
self.start = self.start_info(self.get_max_conf_point(r_c.index))
if Map.map_main(self.get_max_conf_point(fb.min_me), self.start, self.end):
if self.queren_t():
return
return self.move.up_key()
self.get_role_info()
self.end = self.se(self.DATA, self.start)
if self.end[-1] == fb.jzb:
self.move.up_key()
self.ski.picking_up()
return
self.move_result(self.move(self.start, self.end))
def town_res(self):
if self.town(self.img0):
sleep(10)
if not self.denglu.dnf_over:
self.denglu.dnf_over = True
if not self.denglu.user and self.town.denglu_qq:
self.denglu.user = self.town.denglu_qq
return True
def boss_room(self):
if fb.map_id == 1:
if not self.boss.sy_boss(self.img0):
return
else:
if not self.boss(self.img0):
return
if self.town.role:
self.boss.qiyue = self.town.role.x_l
web.datas.tg_num = self.boss.t_g_num
web.datas._time = strftime('%H:%M:%S', gmtime(self.boss.t))
web.datas.o_time = strftime('%H:%M:%S', gmtime(self.boss.role_time))
web.datas.zong_time = strftime('%H:%M:%S', gmtime(self.boss.zong_time))
return True
def get_role_info(self):
if Map.buff:
Map.buff = None
if r_c.is_fz:
r_c.is_fz = act.find_img('f_z')
self.boss.xiu = act.find_img('xiu_li2')
self.boss.kai_shi_time = time() # 每次时间
self.ski.buff()
if Map.map_num == Map.boss_num - 1:
if self.get_role_xinxi < 5:
self.get_role_xinxi += 1
r_c.is_fz = act.find_img('f_z')
self.boss.xiu = act.find_img('xiu_li2')
self.town.role.pl, _ = IMG.get_pl(self.img0)
self.boss.pl = self.town.role.pl
return
def move_result(self, result):
if not result:
return
if result == fb.jhj:
self.ski.picking_up()
elif result in fb.guai:
if self.se.last_att:
k.down_up(self.se.last_att)
self.se.last_att = None
self.ski(self.img0)
def get_max_conf_point(self, idx):
data = self.DATA[self.DATA[:, -1] == idx]
if not data.any():
return
if len(data) == 1:
return data[0]
return data[argsort(data[:, 4])][-1]
def off_no(self):
if self.stop_time == 0:
self.stop_time = time()
if hot.START:
if not web.zt: web.zt = 1
return True
if web.zt: web.zt = 0
sleep(0.5)
3.页面效果展示**
角色表
主控后台
信息提示
刷图选择
角色表
账号信息表
人工智能刷图