//没登陆

欢迎您来到凯恩之角,奈非天!

帖子:76

符文:32

发表于 2019-2-25 23:15:46 来自凯恩之角App |显示全部楼层
本帖最后由 赵大叔 于 2019-3-13 23:34 编辑

原宏出自 絕對水餃感谢大佬提供的思路,在此基础上进行修改完善,侵删


原帖地址

http://bbs.d.163.com/forum.php?mod=viewthread&tid=173614959&highlight=%D0%C2%CA%D6%B8%A3%D2%F4


宏下载:


下载地址:
http://bbs.d.163.com/forum.php?m ... DU0MTZ8MTczNzA4MjM5



3月13日更新代码:

1.大大提高自动升级稀有和转换材料速度  15s升级转换完所有  再也不用长时间等待
------------------------------------------------------------------

2月26日更新代码:
1.模块化部分代码,可读性更强
2.增加修改按键技能,所有附加功能都可自定义按键
3.优化代码时间复杂度
4.优化升级稀有、自动附魔等待时间和鼠标指针位置

------------------------------------------------------------------
反馈问题集中汇总

1.Q:为什么我得宏导入进去按键都没有反应?
A:要关联暗黑3的两个启动程序,32位64位都要关联,Lua是依托于宿主程序执行,不绑定无法运行



3.Q:为什么导入宏按键都不好使?
A:首先你要保证你得鼠标按键是默认的(也就是键位没有自定义为其它组合键)
      确保问题1你已经解决
      使用自动升级稀有功能时,shift不要按住太久,否则就会退出功能
      找到如下代码段,将前面两个横线去掉,打开鼠标事件报告功能



4.Q:为什么我的奥陨宏能够正常循环,附加功能无法运行?
A:一定要记得关闭奥陨宏之后才能使用附加功能,也就是关闭标识符按键才可以


5.Q:为什么循环的时候原力波放不出来?
A:部分技能释放后可以打断原力波、陨石的施法后摇
      原力波释放的时候可能动画效果显示不完全
      但只要人物跳起来,技能按键上显示数字增益就代表释放成功

------------------------------------------------------------------

由于Lua不支持真正意义上的多线程,水饺大佬的宏是利用单线程逻辑进行技能循环
所以电脑性能和网络延迟对技能释放可能会有影响
亲测20轮元素,也就是5分钟,卡元素误差为1-2S

目前尝试使用协同程序实现模拟多线程,欢迎大佬指导一二

一、原宏使用方法


G5先对元素,关闭大小写键即可关闭
G4按键启动/暂停宏,关闭大小写键即可关闭
传送:鼠标移动到神目圈内按下左CTRL键标记传送坐标
重新标记:标记传送坐标后,在未传送之前再次按下左CTRL键则重新标记
Tips:
1.电进入奥瞬间对元素
2.若人物死亡,直接使用G5点击复活键则自动对元素
3.对好元素不可以切出游戏,否则需要重新对元素
4.不死亡、不换房间、不切出游戏,无需重新对元素



完善技能间隔,循环时间3.2s,一轮元素5发陨石,奥元素2发
完善等待时间,开始循环会在下一轮元素点释放技能
例如:火3开宏会在火2s循环,火1s开宏电元素开始循环



二、修改添加功能



完善技能配置,
无视配装,只根据技能调整配置

主要分为带传送和带黑洞两种
技能按键可自行修改,脚本中修改序号选择

1.带传送或不带传送BD(不可黑洞,也可不使用传送)

塔套电甲传送


鸟套传送魔武


鸟套电甲魔武


2.带黑洞BD(可使用传送)

塔套电甲黑洞(机动性太差)


塔套传送黑洞(貌似站不住)


散件传送黑洞


散件穿怪黑洞


修改技能开始标识按键
使用中发现对好元素后大小写开启无法打字,可自行修改开始标识按键

可修改为ScrollLockCapsLockNumLock


三、增加部分快捷功能


注意:以下功能需未对元素时,大小写键盘关闭时有效
          需要先打开相应界面

赌博右键连点          默认:Ctrl+右键
拾取左键连点          默认:Ctrl+左键
分解背包所有物品   默认:Ctrl+中键
自动附魔                默认:中键
注意:务必选择好词缀附魔一次,否则默认附魔第一条词缀


升级稀有或转换材料

大件物品:左Shift+中键 (占据两格物品)
小件物品:右Shift+中键 (占据一格物品)
Tips:
---升级和转换功能背包物品尽量占据格数一致,否则会出现漏物品现象
---升级和转换过程中再次点击左ctrl停止
---升级和转换会从鼠标位置自左向右、自上至下开始
---升级和转换会自动从鼠标位置开始,避免因中途暂停而重新开始


------------------------------------------------------------------

附加功能代码段

赌博
  1. --赌博
  2. function DuBo()
  3. k=0
  4. while k<50
  5. do
  6.   PressAndReleaseMouseButton(3)
  7.   Sleep(10)
  8. k=k+1
  9. end
复制代码
分解
  1. --分解
  2. function FenJie()
  3.         MoveMouseTo(6000,17000)
  4.         Sleep(100)
  5.         PressAndReleaseMouseButton(1)
  6.         Sleep(50)
  7.         k=0
  8.         while k<60
  9.         do
  10.                 ThingX=k%10-- 分解列
  11.                 ThingY=math.floor(k/10)--分解行
  12.                 MoveMouseTo(49000+1700*ThingX,36000+3000*ThingY)
  13.                 Sleep(2)
  14.                 PressAndReleaseMouseButton(1)
  15.                 Sleep(2)
  16.                 PressAndReleaseKey("Enter")
  17.                 Sleep(2)
  18.                 PressAndReleaseMouseButton(1)
  19.                 Sleep(2)
  20.                 PressAndReleaseKey("Enter")
  21.                 Sleep(2)
  22.                 k=k+1
  23.         end
  24. end
复制代码
自动升级装换材料
  1. --升级稀有转换材料
  2. function ShengJiZhuanHuan(mode)
  3.         Thx,Thy=GetMousePosition()
  4.         if (Thx<48151 or Thx>65149 or Thy<34501 or Thy>52499) then
  5.                 k=1
  6.         elseif mode==2 then
  7.                 k=math.floor((Thx-48150)/1700)+1+10*math.floor((Thy-34500)/6000)
  8.         else
  9.                 k=math.floor((Thx-48150)/1700)*6+math.floor((Thy-34500)/3000)+1
  10.         end
  11.         
  12.         local Pos={
  13.                 {Posx=20000,Posy=51000,KeyNum=1,SleepTime=StepTime},
  14.                 {Posx=29000,Posy=51000,KeyNum=1,SleepTime=StepTime},
  15.                 {Posx=24500,Posy=51000,KeyNum=1,SleepTime=StepTime},
  16.                 {Posx=8100,Posy=50000,KeyNum=1,SleepTime=StepTime}
  17.         }
  18.         
  19.         while k<(60/mode+1)
  20.         do
  21.                 if mode==2 then
  22.                         ThingX=(k-1)%10-- 升级列
  23.                         ThingY=math.floor((k-1)/10)--升级行
  24.                 else
  25.                         ThingX=math.floor((k-1)/6)-- 升级列
  26.                         ThingY=(k-1)%6--升级行
  27.                 end
  28.                
  29.                 Sleep(StepTime)
  30.                 if not MoveAndPress(Pos[1]) then break end
  31.                 if not MoveAndPress(Pos[2]) then break end
  32.                
  33.                 LoopPos={Posx=49000+1700*ThingX,Posy=36000+3000*mode*ThingY,KeyNum=3,SleepTime=StepTime}
  34.                 if not MoveAndPress(LoopPos) then break end        
  35.                 if not MoveAndPress(Pos[3]) then break end
  36.                 if not MoveAndPress(Pos[4]) then break end
  37.                 Sleep(StepTime)
  38.                 k=k+1
  39.         end
  40. end
复制代码
自动附魔
  1. --自动附魔
  2. function FuMo()
  3.         MoveMouseTo(8500,24000)
  4.         Sleep(50)
  5.         PressAndReleaseMouseButton(1)
  6.         Sleep(2)
  7.         MoveMouseTo(9000,47400)
  8.         Sleep(50)
  9.         PressAndReleaseMouseButton(1)
  10.         Sleep(500)
  11.         PressAndReleaseMouseButton(1)
  12. end
复制代码
按键退出判定
  1. --按键判定
  2. function MoveAndPress(InPos)
  3.         MoveMouseTo(InPos.Posx,InPos.Posy)
  4.         if IsModifierPressed("lctrl") then
  5.                 return false
  6.         end
  7.         Sleep(InPos.SleepTime)
  8.         if IsModifierPressed("lctrl") then
  9.                 return false
  10.         end
  11.         PressAndReleaseMouseButton(InPos.KeyNum)
  12.         Sleep(InPos.SleepTime)        
  13.         if IsModifierPressed("lctrl") then
  14.                 return false
  15.         end
  16.         return true
  17. end
复制代码



触发段代码

  1. <font face="微软雅黑">if(event=="MOUSE_BUTTON_PRESSED"and arg==KeyGroup[1].PKey and IsModifierPressed(KeyGroup[1].MKey))then--赌博
  2.                 DuBo()--赌博物品:页、行、列
  3.                 GuanBi()
  4.         end
  5.         if(event=="MOUSE_BUTTON_PRESSED"and arg==KeyGroup[3].PKey and IsModifierPressed(KeyGroup[3].MKey))then----分解
  6.                 FenJie()
  7.                 GuanBi()
  8.         end
  9.         if(event=="MOUSE_BUTTON_PRESSED"and arg==KeyGroup[4].PKey and IsModifierPressed(KeyGroup[4].MKey))then----S升级稀有或转换材料
  10.                 ShengJiZhuanHuan(2)
  11.                 GuanBi()
  12.         end
  13.         if(event=="MOUSE_BUTTON_PRESSED"and arg==KeyGroup[5].PKey and IsModifierPressed(KeyGroup[5].MKey))then----升级小件稀有
  14.                 ShengJiZhuanHuan(1)
  15.                 GuanBi()
  16.         end
  17.         if(event=="MOUSE_BUTTON_PRESSED"and arg==FM and not IsModifierPressed("shift") and not IsModifierPressed("ctrl"))then----自动附魔
  18.                 FuMo()
  19.                 GuanBi()
  20.         end
  21.         if(event=="MOUSE_BUTTON_PRESSED"and arg==KeyGroup[2].PKey and IsModifierPressed(KeyGroup[2].MKey)) then----拾取
  22.                 k=25
  23.                 while k>0
  24.                 do
  25.                         PressAndReleaseMouseButton(1)
  26.                         Sleep(15)
  27.                         k=k-1
  28.                 end
  29.                 GuanBi()
  30.         end</font>
复制代码






本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册网易通行证

帖子:354

符文:23

2#
收藏,好东西
发表于 2019-2-25 23:26:25 来自凯恩之角App |显示全部楼层

帖子:500

符文:96

3#
犀利了           
发表于 2019-2-25 23:31:52 来自凯恩之角App |显示全部楼层
头像被屏蔽

帖子:148

符文:30

4#
大佬厉害了 求放宏下载
发表于 2019-2-26 00:28:30 来自凯恩之角App |显示全部楼层

帖子:96

符文:24

5#
标记一发 明天试
发表于 2019-2-26 00:53:08 |显示全部楼层

帖子:850

符文:71

6#
收藏,等明天
发表于 2019-2-26 01:11:32 来自凯恩之角App |显示全部楼层

帖子:139

符文:87

7#
支持!如果测试稳定,可否开放共享
发表于 2019-2-26 06:43:18 来自凯恩之角App |显示全部楼层

帖子:76

符文:32

8#
寂静之旅 发表于 2019-2-26 06:43
支持!如果测试稳定,可否开放共享

正在测试,目前ahk版已经写完,不过尊重凯恩规则就不在这讨论了
发表于 2019-2-26 08:53:42 来自凯恩之角App |显示全部楼层

帖子:423

符文:146

9#
大佬牛皮     
发表于 2019-2-26 09:02:14 来自凯恩之角App |显示全部楼层

帖子:22

符文:83

10#
大佬,28197392@qq.com能否发个ahk,谢谢。
发表于 2019-2-26 09:51:05 来自凯恩之角App |显示全部楼层

帖子:166

符文:60

11#
谢谢分享。。。。。。。。。。。。。。
发表于 2019-2-26 09:58:35 |显示全部楼层

帖子:139

符文:87

12#
赵大叔 发表于 2019-2-26 08:53
正在测试,目前ahk版已经写完,不过尊重凯恩规则就不在这讨论了

静候佳音
发表于 2019-2-26 10:06:15 |显示全部楼层

帖子:11

符文:2

13#
支持支持!
发表于 2019-2-26 10:31:30 |显示全部楼层

帖子:20

符文:2

14#
赵大叔 发表于 2019-2-26 08:53
正在测试,目前ahk版已经写完,不过尊重凯恩规则就不在这讨论了

能否求个分享   173252705@qq.com

感谢~~~
发表于 2019-2-26 10:34:27 |显示全部楼层
[armory]https://tw.battle.net/d3/zh/profile/lionlee-1706/hero/5299336[/armory]

帖子:20

符文:2

15#
另外请教个问题,如果我的技能快捷键对应的是QWER

那么AnJian[X] 里面X的数字应该是对应多少呢?
发表于 2019-2-26 10:38:12 |显示全部楼层
[armory]https://tw.battle.net/d3/zh/profile/lionlee-1706/hero/5299336[/armory]
您需要登录后才可以回帖 登录 | 注册网易通行证

触屏版|移动版凯恩之角|Archiver|凯恩之角 ( 粤B2-20090191 ) 

GMT+8, 2019-12-7 23:11

Powered by Discuz! X3.3

© 2001-2012 Comsenz Inc.