某游戏升级程序,开源,仅供学习参考,求大佬指点。
按键精灵吧
全部回复
仅看楼主
level 7
侦哲优论 楼主
严禁用于商业目的,负责后果自负,有些部分有没有更优的写法,更好的建议?
2020年12月23日 17点12分 1
level 7
侦哲优论 楼主
我一朋友提出来的,匹配模式胜率终是控制在50%左右,一但胜率高了,系统就会匹配技术差的队友,技术高的对手,到时候只有被虐的份。玩游戏玩的就是开心,何不把被虐的过程交给按键精灵来承受?
我尝试写了一下,版本78.3是前台找色,一晚能自动跑7,8把,也就跑了124把,就被封了,分析了一下原因,游戏不是一直检查程序,而是在被举报之后才会来查。
所以只要避免举报就行。
78. 4版本缺点:
游戏没玩十几把会出现,游戏加载不出来的情况,导致挂机举报。
对象死亡和放技能方面处理不妥,看起来像脚本
当前版本120. 4 改为后台,对一些异常做了简单处理,还有许多问题需要解决。
2020年12月23日 17点12分 2
level 7
侦哲优论 楼主
等待 = 0//游戏等待时间
加载 = 0//加载等待时间
绑定 = 0//绑定标志位
Set dm = createobject("dm.dmsoft")//创建大漠对象3.1233
依附= array("F2", "F3", "F4", "F5")//上身数组
对象 = 0//最终上身对象
默认 = 0//默认上身对象
商店 = 0//进入商店置零
装备 = - 1
不动 = 0//不动的次数,0代表上次动过
队伍 = 0
调试=0 //登入窗口未在当前超时
Do
游戏=Plugin.Window.Find(0, "League of Legends (TM) Client")
If 游戏<> 0 Then //游戏不等于0
TracePrint "游戏模式,游戏窗口句柄:" & 游戏
Do
While Plugin.Window.Find(0, "League of Legends (TM) Client") = 0//游戏不存在
Delay 3000
Call 重连中()
Wend
Call 游戏中()
If dm.GetColorBGR(961,640)="132386" Then
dm.MoveTo 961,640
Delay 200
dm.LeftClick
Delay 200
While Plugin.Window.Find(0, "League of Legends (TM) Client") <> 0
Wend
dm.UnBindWindow
TracePrint "游戏结束"
队伍=0
绑定=0
装备=-1
Exit Do
End If
Loop
ElseIf Plugin.Window.GetText(Plugin.Window.Foreground()) = "League of Legends" Then
登入=Plugin.Window.Foreground()
登1= Plugin.Window.FindEx(Plugin.Window.FindEx(登入, 0, "CefBrowserWindow", 0), 0, "Chrome_WidgetWin_0", 0)
TracePrint "登入模式,登入窗口句柄:" & 登入
Do
Call 登入中()
If Plugin.Bkgnd.GetPixelColor(登入, 630,28) = "D2E6F0" Then
TracePrint "准备作战"
Rem 游检
While Plugin.Window.Find(0, "League of Legends (TM) Client") = 0//游戏窗口未创建
If 等待 > 160 Then //调试10s,实测取30s
等待=0
TracePrint "游戏窗口创建失败,将重连或重启"
Call 重连中()
End If
等待 = 等待 + 1
Delay 100
Wend
游戏 = Plugin.Window.Find(0, "League of Legends (TM) Client")
TracePrint "游戏窗口创建等待了" & 等待 / 10 & "s,游戏句柄:" & 游戏&"预先绑定后台屏幕结果:"&dm.BindWindow(游戏, "dx", "normal" ,"normal", 4)
While dm.GetColorBGR(116, 821) <> "181e16"
If 加载 > 5 Then
TracePrint "游戏未加载超时,将结束游戏进程"
Call Plugin.Window.Close(游戏)
While Plugin.Window.Find(0, "League of Legends (TM) Client") <> 0
Wend
等待=100//降低游戏检测等待时间
Goto 游检
Plugin.ColorEx.FindMultiColor 参数1,参数2,参数3,参数4,参数5,参数6,参数7,参数8
End If
加载 = 加载 + 1
Delay 100
Wend
TracePrint "等待加载"&加载&"s"
Exit Do
End If
Loop
Else
If 调试 > 200 Then
登入= Clng(Split(Plugin.Window.Search("League of Legends"), "|")(0))
Call Plugin.Window.min(登入)
Call Plugin.Window.Restore (登入)
TracePrint "登入无法当前,激活登入:" & 登入
调试=0
End If
调试 = 调试 + 1
Delay 100
End If
Loop
2020年12月24日 00点12分 3
level 7
侦哲优论 楼主
2020年12月24日 00点12分 4
level 7
侦哲优论 楼主
没有人吗
2020年12月24日 03点12分 5
level 7
侦哲优论 楼主
有人吗,置顶
2020年12月24日 04点12分 6
level 10
有人 这么是什么游戏的脚本?
2020年12月24日 07点12分 7
都这么明显了你不看图吗,LOL
2020年12月24日 07点12分
@侦哲优论 原来是LOL的啊!!!哈哈哈!!!老兄厉害!!!我曾经也想写 但是不想花时间!
2020年12月24日 07点12分
level 10
来个网盘链接!!!
2020年12月24日 07点12分 8
level 7
侦哲优论 楼主
之前是判断模式,登入选英雄,还是游戏中,一但进入就循环,直到检测到退出标志才退出。还有就是游戏异常处理。
之后就是登入中模式

2020年12月24日 11点12分 9
level 7
侦哲优论 楼主
游戏中
2020年12月24日 11点12分 10
level 7
侦哲优论 楼主
重连和结束释放资源
2020年12月24日 11点12分 11
level 6
在泉水挂机买装备的么?
2020年12月24日 15点12分 12
怎么可能,是控制英雄正常玩。在泉水会被系统检测挂机的
2020年12月24日 15点12分
自买装备,用W上身,攻击残血小兵,攻击残血英雄,加血,放大,使用点燃,
2020年12月24日 16点12分
level 7
侦哲优论 楼主
现在要实现一个功能,上身对象残血,下来,或者周围有队友换人。
但队友血条和上身对象的血条是一样的,有没有函数可以在一个范围内除掉一块区域,或者除掉一个点,多点找色?
有没有其他的处理办法?
2020年12月25日 01点12分 13
level 7
侦哲优论 楼主
代写的人这么多,这么连个影都看不见?
2020年12月29日 04点12分 14
level 7
侦哲优论 楼主
置顶,将更新12,29最新代码供大家学习
2020年12月29日 04点12分 15
1 2 尾页