Closed xineyu01 closed 5 years ago
可以看一下readme,我用的是ahkv2版本而非v1.1,语法和v1有区别所以不兼容,需要用environment底下的AutoHotkey_2.0-a100-52515e2覆盖1.1的安装文件夹。
AutoHotkey_1.1.30.03_setup之后
用environment下
AutoHotkey_2.0-a100-52515e2覆盖安装目录后
执行还是提示这个错误
根据你是32位或64位系统,把U64或者U32改名为autohotkey.exe覆盖掉原文件,ahkdll也这样使用,最终应该是用ahkdll的autohotkey.exe(不过我脚本内用到多线程的地方极少,目前只有GeneralMapping.ahk中使用,也可以自己删掉相应语句)。或者在setup正常安装的文件中覆盖掉U32和U64然后运行目录下Installer.ahk(标准做法,推荐你备份原先的autohotkey.exe以方便再次运行Installer),也可以正常安装并获得Run With UI Access签名(可惜的是Installer.ahk是v1的,一旦覆盖了v2版的autohotkey.exe后就无法运行了)。之所以用v2是因为多线程库ahkdll放弃了对v1的支持没办法,另外v2的语法逻辑比较统一,v2这么多年了都是alpha版,确实有不少问题。
谢谢您,已经安装成功
执行kunkka.ahk成功
进入dota2试玩英雄时,Shift+s报错unexpected hud,后返回
Kunkka.ahk X
Error in #include file "C:lProgram FilesVAutoHotkeyDotaFunc.ahk
Unhandled exception.
Specifically: 2
Line#
245: h. _ability6]:=new AttributeShift(5,castkey51.ncas5d246: n. ability:= 4247: w:= 60248:d:= 58249:]250: Else251:[
252: Throw2
253: Msgbox("Ability number out of range")254:]
257:n:= 1
259: While (n <= n. ability)260: [
261: xO := IniRead(dir, Format("Ability" n), "x0")262: y0 := IniRead(dir, Format("Ability" n), "y0")
The current thread will exit.
因为是使用颜色捕捉来确定道具栏位置,所以需要一个同样的界面,且不能是默认界面因为默认界面是半透明的会受到周围地形颜色的干扰,这个我目前没有想到自适应的办法,我选择了现在还在售的最便宜的守护之翼界面,可以在市场买到,大概三五块钱。这个弹出对话框报错日后可能会改成警告音+屏幕tooltip显示,这样可以不打断脚本正常运行,现在用弹出报错是因为我这个东西可能bug还比较多,我需要及时解决。
这个一直使用的守护之翼游戏界面
分辨率呢?另外是无边框窗口模式吗?
是无窗模式
我发现弹窗并不影响功能使用,一键成功X水三连
哦,x水三连没有加入任何判断,只使用了q::到return段就可以,使用HUD的颜色判断是为了检测臂章和魔棒的状态的。主要是为了在持续伤害(比如nec光环内)切臂章不死。你那边颜色捕获失败的问题我思考下。
我测试了一下UniversalTreads,臂章魔棒假腿道具的快捷键是不是需要设置
快捷键需要改成你自己dota的快捷键,我目前还没有设计统一从配置文件读取,毕竟这项目刚开始开发。另外自动假腿完全基于颜色捕获,HUD无法获取是肯定没法用的(不同技能数量的英雄的道具栏位置不同我必须先判断道具栏在哪) 你关闭设置-视频中的主界面高画质选项试试?
视频中的主界面高画质关闭后提示
变成nofound
我看下,我现在在外面手头没电脑,等回去写个测试脚本给你
好的,目前还有很多存疑
您的技能按键是wer G df
自用的话需要修改
是的,需要改成你自己的按键,道具的快捷键也是。 为了一致性终极技能在我的数组里定义为技能4而不是技能6
回去了,开始着手解决你的问题
新增了一个ScreenTest.ahk文件,你试着将臂章之类的可使用装备放到左下角的道具栏(第二行第一列),按f11将进行屏幕截图,看一下是不是能正常输出一个ScreenTest.PNG,然后把这个文件发给我。
好的 我进行尝试
新增了一个ScreenTest.ahk文件,你试着将臂章之类的可使用装备放到右下角的道具栏(第二行第一列),按f11将进行屏幕截图,看一下是不是能正常输出一个ScreenTest.PNG,然后把这个文件发给我。
1.ahk X
Error: Unknown method.
Specifically: RealCoordinateCaptur
Line#154:]159: (
160: Return (NumGet(this.Scan0+0((s-this.x4(ys-this.ythis.Str "UInt"))
161:)
005: Gdip_ Startup0
006: probe0 := new ColorProbe(A ScreenWidth,A ScreenHeight)008 Return
---> 009: screenshot:=
probe0.RealCoordinateCaptur ScreenWidth,A ScreenHeight)
010: sleep(1000)
011: Gdip. SaveBitmapToFile(screenshot.pBit"ScreenTest.bmp")
013: Return014: Exit .015: Exit015: Exit
The current thread will exit.
报错
哦更新一下ColorCatcher.ahk,我重命名了这个函数
啊抱歉你没法直接用我这个脚本。这个ReadMe里也写了:“本脚本库可适应高度为1080的各种不同比例的dota2分辨率设置,但完全不支持其余高度的屏幕。”,你是高1440的2k屏,我本人没有对应的设备所以没法自己开发寻找不同分辨率的共性,而且从我降低分辨率的测试来看,不同分辨率下的图标有一定的区别,想要实现图像的模糊匹配不是很容易,很可能需要训练一个神经网络,这就超出了我的能力(包括AHK本身的限制)和时间允许了。 如果你想使用的话,可能需要学习一下AHK的语法来编写你自己的脚本,欢迎你建立一个自己的Branch按1440分辨率修改出自己的库(其实可能比较有用的就是我自己封装的GDI库ColorCatcher.ahk,比AHK内建的捕获效率高很多),有什么问题和思路都可以和我讨论。
啊抱歉你没法直接用我这个脚本。这个ReadMe里也写了:“本脚本库可适应高度为1080的各种不同比例的dota2分辨率设置,但完全不支持其余高度的屏幕。”,你是高1440的2k屏,我本人没有对应的设备所以没法自己开发寻找不同分辨率的共性,而且从我降低分辨率的测试来看,不同分辨率下的图标有一定的区别,想要实现图像的模糊匹配不是很容易,很可能需要训练一个神经网络,这就超出了我的能力(包括AHK本身的限制)和时间允许了。 如果你想使用的话,可能需要学习一下AHK的语法来编写你自己的脚本,欢迎你建立一个自己的Branch按1440分辨率修改出自己的库(其实可能比较有用的就是我自己封装的GDI库ColorCatcher.ahk,比AHK内建的捕获效率高很多),有什么问题和思路都可以和我讨论。
👌感谢。主要是新手0基础接触Ahk。我自己先研究一段时间