//没登陆

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

帖子:656

符文:85

跳转到指定楼层
1#
发表于 2018-3-13 11:48:20 |只看该作者 |倒序浏览 来自:湖北
本帖最后由 薛定谔的小猫 于 2018-4-10 14:05 编辑

首先贴上原贴地址http://bbs.d.163.com/forum.php?m ... 61409&extra=&page=1

这里要感谢原作者 浮生醉 在帖子中给出了罗技鼠标宏的基础设置教学,并留下了Lua的脚本文件。
鉴于有不少玩家是第一次接触宏和鼠标脚本,有很多地方都有不了解的地方,今天心血来潮把这个Lua拿出来分析一下,希望能提供一点有限的帮助。
红字部分是我加入的注释,希望大家一起交流,共同学习进步。

3月14日更新上传应需求加入左键的Lua文件(在下面)
实测可以使用,在MourseR为1和2的时候,保持左键连点。。。

4月8日更新
感谢坛友CoderSL,在64楼更新了不使用ScorllLock和CapsLock键的脚本文件,可以适用在没有Lock键的电脑上。但是请注意该坛友的按键设置与原Lua脚本内的有区别,他的强制原地按键设置是“T”,同时其是根据原作者脚本改动,没有加入鼠标左键。
请有需要的朋友移步64楼。在主楼更新了新的Lua脚本下载,包括加入左键和更改强制原地为“6”,未测试,在最底下,之前上传错了。。。没有加入左键,重新上传了一下

  • MouseR =         3      --是否启用鼠标右键 (  0 禁用 1 循环 2 为右键上马 3为左键上马 )  这里以是否使用鼠标右键设置了宏的4种不同执行模式
  •         Move = 1        --是否启用强制移动( 游戏中设置 5 为强制移动 )( 0禁用 1 启用 )   这里设置了是否使用强制移动,原作者设置的按键为“5”,可以做出修改,但要在后面的循环中修改对应按键。
  •         Time1 = 600     --按键 1 间隔 ( 天谴间隔 自行修改 数值为10的倍数 )             这里及以下的几个Time是在设置各个按键的点击间隔,可以理解为连点计时。
  •         Time2 = 80                --按键 2 间隔 ( 数值为10的倍数 )
  •         Time3 = 80                --按键 3 间隔 ( 数值为10的倍数 )
  •         Time4 = 80                --按键 4 间隔 ( 数值为10的倍数 )
  •         Time5 = 80                --按键 5 间隔 ( 数值为10的倍数 )
  •         TimeR = 80                --鼠标右键间隔 ( 数值为10的倍数 )
  •         LoopX = 10                --循环系数 默认10                                   循环系数,用于和上面的连点计时达成连点。
  • function OnEvent(event, arg, family)                                                 设置事件的语句,从这里开始就是这段Lua要执行的操作。开启此脚本宏后,鼠标会自动执行从这里开始到最后一个end(84行)之间的事件。
  •         while MouseR == 2 and IsKeyLockOn("capslock") do                             16-20排,MourseR设置为2,即右键技能设置为跑马技能的时候,如果capslock的状态为On(即大写锁定状态)时,按键5(原作者强制移动键),按鼠标右键(跑马技能键位),间隔为50毫秒。
  •                 PressAndReleaseKey("5")
  •                 PressAndReleaseMouseButton(3)
  •                 Sleep(50)
  •         end
  •         while MouseR == 3 and IsKeyLockOn("capslock") do                             21-27排,MourseR设置为2,即左键技能设置为跑马技能的时候,如果如果capslock的状态为On(即大写锁定状态)时,按键5(原作者强制移动键),然后按下6(原作者强制原地按键),点左键,再松开6,以此来实现跑马,间隔也是50毫秒。
  •                 PressAndReleaseKey("5")
  •                 PressKey("6")
  •                 PressAndReleaseMouseButton(1)
  •                 ReleaseKey("6")
  •                 Sleep(50)
  •         end
  •         if IsKeyLockOn("scrolllock") and not IsKeyLockOn("capslock") then           28-35排,scrollock的状态为On(即滚轮锁定状态)时,并且capslick的状态不是On(即大写非锁定状态),则按1,2,3,4键
  •                 PressAndReleaseKey("1","2","3","4")
  •                 if Move == 1 then                                                   30-32排是启用强制移动的状态下,按5(原作者强制移动键)
  •                         PressAndReleaseKey("5")
  •                 end
  •                 if MouseR == 1 or MouseR == 3 then                                  33-35排是MourseR状态为1(即右键技能加入循环)或MourseR状态为3(即左键为跑马,右键技能加入循环)的时候,点击右键(一般为钢甲技能)
  •                         PressAndReleaseMouseButton(3)
  •                 end
  •                 T1 = 0                                                             36-41排是计时器的一个清零操作。
  •                 T2 = 0
  •                 T3 = 0
  •                 T4 = 0
  •                 T5 = 0
  •                 TR = 0
  •         end
  •         while IsKeyLockOn("scrolllock") and not IsKeyLockOn("capslock") do         43-83是一个循环,在scrollock的状态为On(即滚轮锁定状态)时,并且capslick的状态不是On(即大写非锁定状态)的情况下会一直进行,也就是宏。
  •                 Sleep(10)                                                          循环的执行间隔是10毫秒,对应上面的循环系数LoopX
  •                 T1 = T1 + 1                                                        45-48排,按键1234的计数器
  •                 T2 = T2 + 1
  •                 T3 = T3 + 1
  •                 T4 = T4 + 1
  •                 if Move == 1 then                                                  49-51排,启用强制移动按键情况下,强制移动按键的计数器
  •                         T5 = T5 + 1
  •                 end
  •                 if MouseR == 1 or MouseR == 3 then                                 52-54排,是MourseR状态为1(即右键技能加入循环)或MourseR状态为3(即左键为跑马,右键技能加入循环)的时候,右键的计数器
  •                         TR = TR + 1
  •                 end
  •                 if (T1*LoopX) == Time1 then                                        55-58排,当计数器数字(T1乘以循环系数LoopX)达到设置的间隔Time1时,按1,并清零计数器.这里1键对应的是天谴,Time1设置是600毫秒间隔,也就是说当这个循环走了60次,累积到T1=60,总间隔达到600毫秒的时候,按下1,触发天谴技能,以下234键原理相同,不同的是设置的间隔T2T3T4不同。
  •                         PressAndReleaseKey("1")
  •                         T1 = 0
  •                 end
  •                 if (T2*LoopX) == Time2 then
  •                         PressAndReleaseKey("2")
  •                         T2 = 0
  •                 end
  •                 if (T3*LoopX) == Time3 then
  •                         PressAndReleaseKey("3")
  •                         T3 = 0
  •                 end
  •                 if (T4*LoopX) == Time4 then
  •                         PressAndReleaseKey("4")
  •                         T4 = 0
  •                 end
  •                 if Move == 1 then                                                  与上面1234键相同,只是下面的71-76排和77-82排需要判定别的情况,分别用来实现强制移动和右键技能自动使用。
  •                         if (T5*LoopX) == Time5 then
  •                                 PressAndReleaseKey("5")
  •                                 T5 = 0
  •                         end
  •                 end
  •                 if MouseR == 1 or MouseR == 3 then
  •                         if (TR*LoopX) == TimeR then
  •                                 PressAndReleaseMouseButton(3)
  •                                 TR = 0
  •                         end
  •                 end
  •         end
  • end


到这里,脚本基本就解读完毕了,可以看到,原作者并没有加入左键连点。
如果需要左键连点的话在计时器里面增加TimeL=80,设置80毫秒的左键间隔
在计时器清理段加入TL=0
在循环段加入以下代码
if MouseR == 1 or MouseR == 2 then
       if (TL*LoopX) == TimeL then
           PressAndReleaseMouseButton(1)
           TL = 0
       end
end
就可以实现在右键加入循环和右键为跑马技能的时候,左键一直点击了。


以上是个人的一点分享,帖子似乎乱的一逼,我还不会排版。。。大家凑活凑活看吧,海涵




天谴脚本宏加入左键.lua

2.03 KB, 下载次数: 1860

CoderSL泛用版本.lua

3.74 KB, 下载次数: 597

CoderSL原版,强制原地为T

CoderSL泛用版本加入左键并修改按键.lua

3.7 KB, 下载次数: 807

之前上传错了。。

已有 1 人评分符文 收起 理由
张珂#3470 + 8 感谢分享

总评分:  符文 + 8   查看全部评分

[armory]http://hero.d.163.com/hero/cn/%E5%B9%BB%E6%83%B3%E5%B4%A9%E5%9D%8F-5403/48682079[/armory]

帖子:6

符文:23

2#
没看懂。
发表于 2018-3-13 13:46:04 来自凯恩之角App |只看该作者 来自:青海

帖子:20

符文:18

3#
开始的0,1,2,3对应四种不同的技能摆放吗
发表于 2018-3-13 16:24:00 来自凯恩之角App |只看该作者 来自:海南

帖子:20

符文:18

4#
还有有时候启动了脚本没办法关闭啊
发表于 2018-3-13 16:24:32 来自凯恩之角App |只看该作者 来自:海南

帖子:32

符文:92

5#
KissDuck 发表于 2018-3-13 16:24
还有有时候启动了脚本没办法关闭啊

游戏切出去在切回来就OK了
发表于 2018-3-13 17:34:58 来自凯恩之角App |只看该作者 来自:山东
鸡头凤尾各有千秋

帖子:20

符文:18

6#
Mr丶Lee 发表于 2018-3-13 17:34
游戏切出去在切回来就OK了

不能按一下开,按一下关吗
发表于 2018-3-13 19:47:50 来自凯恩之角App |只看该作者 来自:海南

帖子:20

符文:18

7#
本帖最后由 KissDuck 于 2018-3-13 21:27 编辑

加入你的代码后,鼠标没有连点

点评

薛定谔的小猫  因为我自己没有用这个宏了,今天晚上回去测试一下看看  发表于 2018-3-14 08:25
发表于 2018-3-13 20:39:15 |只看该作者 来自:海南

帖子:656

符文:85

8#
KissDuck 发表于 2018-3-13 19:47
不能按一下开,按一下关吗

当大写锁定和滚轮锁定都是关的时候,宏是完全关闭的。设置好了的话,这个宏应该只在暗黑3的程序下才会生效。
发表于 2018-3-14 08:22:46 |只看该作者 来自:湖北
[armory]http://hero.d.163.com/hero/cn/%E5%B9%BB%E6%83%B3%E5%B4%A9%E5%9D%8F-5403/48682079[/armory]

帖子:656

符文:85

9#
KissDuck 发表于 2018-3-13 16:24
开始的0,1,2,3对应四种不同的技能摆放吗

天谴的1234键位技能基本绑定,区别就在左右键,这里是以右键的状态分别对应了4种BD和技能摆放。
发表于 2018-3-14 08:24:38 |只看该作者 来自:湖北
[armory]http://hero.d.163.com/hero/cn/%E5%B9%BB%E6%83%B3%E5%B4%A9%E5%9D%8F-5403/48682079[/armory]

帖子:20

符文:18

10#
测试可以的话在看看,需要不打断跑马的天谴宏
发表于 2018-3-14 08:54:47 来自凯恩之角App |只看该作者 来自:海南
头像被屏蔽

帖子:1055

符文:106

11#
贴是好帖。就是太高深了
发表于 2018-3-14 08:58:56 |只看该作者 来自:河南
签名被屏蔽

帖子:656

符文:85

12#
KissDuck 发表于 2018-3-14 08:54
测试可以的话在看看,需要不打断跑马的天谴宏

他这个宏本来就不打断跑马的呀。。。
发表于 2018-3-14 09:14:29 |只看该作者 来自:湖北
[armory]http://hero.d.163.com/hero/cn/%E5%B9%BB%E6%83%B3%E5%B4%A9%E5%9D%8F-5403/48682079[/armory]

帖子:656

符文:85

13#
看座泡茶 发表于 2018-3-14 08:58
贴是好帖。就是太高深了

高深算不上。。其实编程就是一门语言,和汉语、英语没有本质的区别,只是程序语言在语法和形式上更加的简洁和严格。

发表于 2018-3-14 09:17:37 |只看该作者 来自:湖北
[armory]http://hero.d.163.com/hero/cn/%E5%B9%BB%E6%83%B3%E5%B4%A9%E5%9D%8F-5403/48682079[/armory]

帖子:342

符文:391

14#
一脸懵逼。。能不能在原来代码的基础上加上左键连点,萌新只会导入,不知道代码往那个地方加
发表于 2018-3-14 09:37:23 来自凯恩之角App |只看该作者 来自:陕西

帖子:656

符文:85

15#
莫洛丶 发表于 2018-3-14 09:37
一脸懵逼。。能不能在原来代码的基础上加上左键连点,萌新只会导入,不知道代码往那个地方加

晚上回去测试一下,看近两天把加入左键的宏能不能放出来。。。。我自己因为不止玩天谴一个BD,所以用的不是这个宏了,触发方式也不一样。

我现在自己是F1-F5分别对应停宏回城,天谴跑马小米,天谴大米,40万剑归宗,DH通用宏的,不过不方便分享。
发表于 2018-3-14 09:42:57 |只看该作者 来自:湖北
[armory]http://hero.d.163.com/hero/cn/%E5%B9%BB%E6%83%B3%E5%B4%A9%E5%9D%8F-5403/48682079[/armory]
您需要登录后才可以回帖 登录 | 注册网易通行证