//没登陆

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

查看: 15176 - 回复: 67

帖子:875

符文:165

发表于 2020-3-8 12:55:22 |显示全部楼层
本帖最后由 绝非偶然5665 于 2020-3-9 12:12 编辑

更新记录     
3.8  修改写法以避免部分型号鼠标出问题。     

    就目前的体验看来,组队魂弹埋雷最实用的打法就是三狗 + 亡者之握,按住魂弹直到出神目,停手踩圈等神目冰走完自然引爆或手动引爆。五狗操作反人类,神目踩不满,而且小怪的损失往往远大于那两条狗;提前埋个神目雷啥的一般都是弄的蛮子一脸懵逼。
       最稳定出神目而又不损失太多小怪的方法只能是按住魂弹出圈秒停,魂弹就是容量为3的一个队列,队尾不断加入新成员就把队首的成员挤出去,因此满员之后无论何时停手都是剩下3个最新的魂弹,挤出去的魂弹也都是没怎么累积的伤害低的魂弹,来得及反应,操作性强。但这就带来了时间上的不确定性,因为鼠标宏只能执行预设好的技能时间序列(可以交互但只能是极低频率的粗略的状态切换否则就跟手动没区别了),毕竟罗技不知道你出没出神目,也不知道怪硬不硬、有没有残血。双黑是怎么解决的呢?火一发的伤害是稳定的,虽然跟怪物数量有关但是是可以预估的,再结合对怪物血量的判断,就能合理的选择落点来控制伤害。这种思路就是保持了技能序列的稳定性,通过选择鼠标位置的操作来适应多变的环境。魂弹的伤害浮动就比奥陨大多了,以神目雷为例,其伤害的影响因素有神目雷的数量(1~3)、神目雷的伤害积累时间和神目雷积累过程中10码内的怪物数量,前两者是两个时间参数,宏设置了就不能变了,后者则几乎完全看蛮子,毕竟魂弹丢完后巫医就没有操作空间了,而蛮子首先要清楚这个是神目雷,不是最后用来输出的雷,还要对巫医的伤害有把握,emmmm,要求是不是太高了点。。。简单说就是,伤害容易把握的瞬发技能出神目,把伤害堆足,控制落点就能不浪费白怪的出神目;定点爆破,而且伤害浮动非常大,就很难控制,而且相当大一部分操作从巫医转移到蛮子身上,对配合的要求就很高了。


        所以手操才是最香的,不过我还是写了一个玩玩。。。


配置步骤:
1、下载解压,有general.lua和魂弹.xml两个文件。请把general.lua放到任意一个全英文的路径下。
2、在罗技游戏软件-配置文件中导入魂弹.xml,能看到一个魂弹技能图标的配置文件,右键-设为永久配置性文件。
3、继续右键图标-编写脚本,根据general.lua的目录修改第一行。
比如general.lua放在  D:\Diablo3\temp路径下,第一行就改成    local G = dofile('D:/Diablo3/temp/general.lua')
注意脚本中是'/'而不是'\',参考原本的写法。
4、把对元素、埋雷和连炸开关分别拖到G键上。其中对元素必须拖到跟脚本内设置一样的G键,埋雷和连炸开关可以拖到任意G键上。
eee.png

至此配置完毕已经可以使用。(稍微说明一下,general.lua里面是分解丢光这些生活技能,各种宏都要用所以我就把这一部分提出来统一使用和修改,也不麻烦吧就改几个字,用我之前双黑宏的把第一行复制过来就行)

使用方法:
默认键位:1灵魂收割,2蚀魂,3灵魂行走,4牺牲,左键亡者之握,右键灵魂弹幕。可以自行修改,灵魂收割和蚀魂不要放左键。
毒进冰的瞬间G5对元素,大小写指示灯亮,进入跑路状态。对元素后自动施放收割(可以取消,取消了就不影响打字和拆装备可以长时间不用关宏重新对元素。注释有写)。死亡直接G5点复活完成对元素。可以进大米之前对元素。大小写或再按一次对元素键关闭宏。
对完元素后:
        到点按埋雷键自动上蚀魂,进入埋雷状态。可以任意元素按埋雷键,会一直上蚀魂直到开宏后的第二轮冰元素输出,埋雷输出一轮后恢复跑路状态。埋雷状态除了埋雷的一串动作外都是自动蚀魂。埋雷状态下任意时刻再按一次按埋雷键立即切回跑路状态。
        任意时刻按下连炸开关进入连炸状态,目前设置的是11F连点魂弹,1秒1炸狗,亡者之握自己补(写宏里攻速高了有时候按不出来懒得搞了)。连炸状态下再按一次连炸开关切回跑路状态。
         三种状态可以任意时刻切换。
         ddd.png


埋雷的技能序列:
默认状态(不放神目雷):
bbb.png

放神目雷:
ccc.png


神目雷的玩法留给高玩去研究,脚本里面留了两个神目雷的可调参数,这里不谈。
一般要调的可能就是魂弹的施放时间,默认2.3秒,如果你觉得伤害不够经常不出神目可以把它加长,反之可以改短。极脆的怪可以考虑前1秒鼠标放怪堆边沿丢魂弹后一秒再移回密度,或者出圈立刻强制移动+灵行打断魂弹防止杀多(手速要快,小心灵行无伤bug)


所有生活技能的键位脚本拉到最底下查看修改。支持21/9, 16/9, 16/10 三种屏幕比例。
最后说一句,建议手动!实在不会手动就等等,等等就有了。
代码(记得改第一行):


  1. local G = dofile('C:/Users/sjtu_/Desktop/TEMP/general.lua')
  2. --引入通用模块,自行修改路径(必须全英文)指向general.lua文件,注意是'/'不是'\'

  3. --------------------------------------------------全局设置-------------------------------------------------

  4. ---*---*---*---*---*---生活区设置---*---*---*---*---*---
  5. local aux_key1, aux_key2 = "lctrl", "lalt"--辅助键1,辅助键2
  6. local bilibili = 16 / 9--屏幕比例
  7. local throw_col1, throw_col2, throw_row1,throw_row2 = 2, 10, 1, 6
  8. --丢光设置(起始列,终止列,起始行,终止行),默认第一列放宝石不丢
  9. local item_type, upgrade_delay = 2, 30--升级装备设置(物品占用格子数,操作延迟)

  10. ---*---*---*---*---*---战斗区设置---*---*---*---*---*---
  11. local calibrate_element = 5--G5对元素
  12. local start = "ralt"--埋雷,可以直接按键盘,也可以拖到某个G键上
  13. local keep = "lalt"--连炸开关,可以直接按键盘,也可以拖到某个G键上
  14. local keys = {"1", "2", "3", "4", "Left", "Right"}
  15. local sg, sh, lx, xs, wz, hd = keys[1], keys[2], keys[3], keys[4], keys[5], keys[6]
  16. --技能键位:灵魂收割,蚀魂,灵魂行走,牺牲,亡者之握,灵魂弹幕(收割和蚀魂不要放左键)
  17. local btn_stand = "spacebar"--强制站立
  18. local LED = "capslock"--指示灯
  19. local sg_interval = 50--灵魂收割施放间隔(ms,0则手动施放)
  20. local hd_time_damage = 2300--输出雷的施放时间(ms)
  21. local sm_adjust = 0--调整出神目的时机(ms,正->延后,负->提前,默认是毒1到2出神目)

  22. --想专门埋神目雷的调下面两个参数,不然忽略。
  23. local hd_time_sm = 0
  24. --神目雷的施放时间(ms,增加超过阈值则神目雷数量增加,常不出神目则++;设为0则不放神目雷,相应地加长输出雷的施放时间出神目)
  25. local hd_interval_sm = 0
  26. --用于调整神目雷的伤害积累时间(ms,常不出神目则++,增加神目雷和输出雷之间的时间间隔)
  27. --!必须保证hd_time_sm + hd_interval_sm + hd_time_damage - sm_adjust < 4600

  28. --核心输出时段技能时序
  29. local SEQ = {
  30.           --{技能,          按下时间,                     空白时间}        
  31.                 {hd,                        hd_time_sm,                          0},--魂弹(for神目)
  32.                 {sh,                        hd_interval_sm,                  0},--补蚀魂,神目雷积累伤害
  33.                 {xs,                        1300,                                100},--牺牲(爆狗)
  34.                 {hd,                        hd_time_damage,                  0},--魂弹(3发输出),并引爆之前的魂弹        
  35.                 {sh,                        6500 - sm_adjust,                200},--毒2出神目,站神目补蚀魂
  36.                 {wz,                        300,                                  0},--火1神目消失,放亡者之握
  37.                 {sh,                        3000,                                    0}--火1到物理0回阵、补蚀魂,物理0自然爆炸
  38.             }   
  39. --------------------------------------------------函数区---------------------------------------------------
  40. EnablePrimaryMouseButtonEvents (true)

  41. --按键释放
  42. local function ReleaseAll()
  43.     for i=1,6 do
  44.         G.Up(keys[i], btn_stand)
  45.     end
  46. end

  47. --通用技能延迟控制
  48. local function Cast(skill, cast_time, wait_time)
  49.         if IsKeyLockOn(LED) then
  50.                 if battle == 1 and cast_time + wait_time > 0 then
  51.                         G.Down(skill, btn_stand)
  52.                         Wait(cast_time)
  53.                         G.Up(skill, btn_stand)
  54.                         Wait(wait_time)
  55.                 else
  56.                     Wait(cast_time + wait_time)
  57.                 end
  58.         end
  59. end

  60. --计时器
  61. local function InitWait()
  62.         --闭包空间初始化
  63.         local current_time = GetRunningTime()
  64.         local start_time = current_time
  65.         local running_time, mark_time1, mark_time2, sg_time, sh_time = 0, 0, 0, 0, 0
  66.         local hd_time, xs_time = 0, 0
  67.         local hd_interval, xs_interval = 0, 0
  68.         function Wait(time)
  69.                 while current_time - start_time < running_time + time and IsKeyLockOn(LED) do
  70.                     Sleep(1)
  71.                         current_time = GetRunningTime()
  72.                         if IsModifierPressed(start) and current_time - mark_time1 > 400 then
  73.                                 mark_time1 = current_time
  74.                                 hd_interval, xs_interval = 0, 0
  75.                                 ReleaseAll()
  76.                                 local element = (current_time - start_time) % 16000
  77.                                 if  battle > 0 then        
  78.                                         battle = 0--开打了再按一次启动键,立即恢复跑路状态
  79.                                 elseif element > 4000 and element < 8000 then
  80.                                         battle = 4
  81.                                 else
  82.                                         battle = 2--先自动叠蚀魂下轮冰再打
  83.                                 end
  84.                     elseif IsModifierPressed(keep) and current_time - mark_time2 > 400 then
  85.                                 mark_time2 = current_time
  86.                                 ReleaseAll()
  87.                                 battle = 0
  88.                                 hd_interval = 184 - hd_interval
  89.                                 xs_interval = 1000 - xs_interval
  90.                     end
  91.                         if battle > 1 and current_time - sh_time > 100 then
  92.                                 G.Down(sh, btn_stand)
  93.                                 G.Up(sh, btn_stand)
  94.                                 sh_time = current_time
  95.                         elseif sg_interval > 0 and current_time - sg_time > sg_interval then
  96.                                 G.Down(sg, btn_stand)
  97.                                 G.Up(sg, btn_stand)
  98.                                 sg_time = current_time
  99.                         elseif hd_interval > 0 and current_time - hd_time > hd_interval then
  100.                                 G.Down(hd, btn_stand)
  101.                                 G.Up(hd, btn_stand)
  102.                                 hd_time = current_time
  103.                         elseif xs_interval > 0 and current_time - xs_time > xs_interval then
  104.                                 G.Down(xs, btn_stand)
  105.                                 G.Up(xs, btn_stand)
  106.                                 xs_time = current_time
  107.                         end
  108.                 end
  109.                 running_time = running_time + time
  110.         end
  111.         return Wait
  112. end

  113. --输出循环
  114. local function Battle()
  115.         if IsKeyLockOn(LED) then
  116.                 local time = 4600 - hd_interval_sm - hd_time_sm - hd_time_damage + sm_adjust
  117.                 local seq = SEQ
  118.                 while time > 300 do
  119.                         Cast(sh, 30, 30)
  120.                         time = time - 60
  121.                 end
  122.                 Wait(time)
  123.                 for i=1,7 do
  124.                         Cast(seq[i][1], seq[i][2], seq[i][3])
  125.                 end
  126.                 battle = math.floor(battle / 2)
  127.         end        
  128. end


  129. --启动函数
  130. function OnEvent(event, arg)

  131. ---*---*---*---*---*---战斗区---*---*---*---*---*---
  132.         if (event =="MOUSE_BUTTON_PRESSED" and arg == calibrate_element and not IsModifierPressed(aux_key1) and not IsModifierPressed(aux_key2) and not IsKeyLockOn(LED)) then--对元素
  133.                 Sleep(50)
  134.                 PressAndReleaseMouseButton(1)
  135.                 Wait = InitWait()
  136.                 battle = 0
  137.                 Wait(8000)
  138.                 battle = battle / 2
  139.                 while IsKeyLockOn(LED) do
  140.                         Battle()
  141.                 end
  142.                 ReleaseAll()
  143.         end

  144. ---*---*---*---*---*---生活区---*---*---*---*---*---
  145.         if event=="MOUSE_BUTTON_PRESSED"and arg == 1 and IsModifierPressed(aux_key1) then--辅助键1+左键连点
  146.                 G:Pick()
  147.         end
  148.         if event=="MOUSE_BUTTON_PRESSED"and arg == 2 and IsModifierPressed(aux_key1) then--辅助键1+右键赌博
  149.                 G:Gamble()
  150.         end
  151.         if event=="MOUSE_BUTTON_PRESSED"and arg == 4 and IsModifierPressed(aux_key1) then--辅助键1+G4键分解
  152.                 G.Decomposite(bilibili)
  153.                 G.LightOff(LED)
  154.         end
  155.         if event=="MOUSE_BUTTON_PRESSED"and arg == 5 and IsModifierPressed(aux_key1) then--辅助键1+G5键丢光
  156.                 G.Throw(bilibili, throw_col1, throw_col2, throw_row1, throw_row2)
  157.                 G.LightOff(LED)
  158.         end
  159.         if event=="MOUSE_BUTTON_PRESSED"and arg == 5 and IsModifierPressed(aux_key2) then--辅助键2+G5键传送新崔
  160.                 G.GoNewtri(bilibili)
  161.                 Sleep(50)
  162.                 G.LightOff(LED)
  163.         end
  164.         if event=="MOUSE_BUTTON_PRESSED"and arg == 3 and IsModifierPressed(aux_key1) then--辅助键1+G3键升级
  165.                 G.Upgrade(bilibili, LED, item_type, upgrade_delay)
  166.                 G.LightOff(LED)
  167.         end
  168. end
复制代码







魂弹.rar

12.7 KB, 下载次数: 423

帖子:584

符文:55

2#
请问狗的增伤不是只有5秒?为什么不是冰前一秒才放呢?
发表于 2020-3-8 13:09:43 |显示全部楼层

帖子:875

符文:165

3#
windollars 发表于 2020-3-8 13:09
请问狗的增伤不是只有5秒?为什么不是冰前一秒才放呢?

魂弹快照出手瞬间的A伤和攻速
发表于 2020-3-8 13:15:37 |显示全部楼层

帖子:165

符文:18

4#
等等就有了,哈哈哈,我好像懂了
发表于 2020-3-8 13:24:21 来自凯恩之角App |显示全部楼层

帖子:380

符文:43

5#
大神,可否这样操作,g4就设置成连炸(按住释放不按就不释放),g5设置成埋雷一条龙操作(点一次动作一个循环,就是单次宏)。这样就解决了什么时候出了神木停手问题,进图自动保持收割,打点就物理元素前连炸出圈停手,物理1-2秒间按一次g5自动埋雷。打完走人。
发表于 2020-3-8 13:33:54 来自凯恩之角App |显示全部楼层

帖子:380

符文:43

6#
猪脚的宏也用了,可以一站,就是神目不稳定,雷基本只能放重叠雷不能放三角雷(魂淡放的太快了)其他都ok.
发表于 2020-3-8 13:36:29 来自凯恩之角App |显示全部楼层

帖子:47

符文:0

7#
請問滑鼠G502各個G鍵是如何設定指派?我導入後G4 G5都無作用,但是賭博 分解 各個功能是正常的  唯獨對元素及定點打無作用,還是因為我改了技能1234為ASDF的關係?
发表于 2020-3-8 13:50:49 |显示全部楼层

帖子:875

符文:165

8#
阿金阿金阿金 发表于 2020-3-8 13:33
大神,可否这样操作,g4就设置成连炸(按住释放不按就不释放),g5设置成埋雷一条龙操作(点一次动作一个循 ...

按住炸,不按停,技能本身不就是这样,你还要宏干啥?物理出圈是啥意思,圈不得覆盖冰而且尽量吃满7秒么?三角雷范围大了,伤害却低了,魂淡累计伤害只有10半径,全部放到最高密度处才能伤害最大化。
发表于 2020-3-8 13:52:38 来自凯恩之角App |显示全部楼层

帖子:875

符文:165

9#
allroad 发表于 2020-3-8 13:50
請問滑鼠G502各個G鍵是如何設定指派?我導入後G4 G5都無作用,但是賭博 分解 各個功能是正常的  唯獨對元素 ...

可能格式有问题,你可以把你修改键位的部分截图我看一下
发表于 2020-3-8 13:54:40 来自凯恩之角App |显示全部楼层

帖子:911

符文:490

10#
SDL TQL WSL!
发表于 2020-3-8 14:15:47 |显示全部楼层
↓↓这里可以点 ↓↓
B站:秋仲琉璃子不语
直播:https://cc.163.com/28151060/
黑化强10倍,喵叽哒哒哒哒~喵叽!!~\(≧▽≦)/~

帖子:780

符文:457

11#
这几天搞装备等你的宏,看样子还要等等了
发表于 2020-3-8 17:15:02 来自凯恩之角App |显示全部楼层

帖子:4

符文:0

12#
辅助键好使~   G键没反应呦
发表于 2020-3-8 18:10:11 |显示全部楼层

帖子:21

符文:6

13#
大佬,对元素和埋雷都没反应,其他的都正常是啥情况
发表于 2020-3-8 18:24:10 |显示全部楼层

帖子:875

符文:165

14#
神之欲望 发表于 2020-3-8 18:10
辅助键好使~   G键没反应呦

我又下载重新配置的一次没问题呀。你试下复制代码覆盖一下,还有问题就打开编写脚本的界面对一次元素,看看有没有提示错误,有的话截图给我看。
发表于 2020-3-8 18:45:18 |显示全部楼层

帖子:47

符文:0

15#
绝非偶然5665 发表于 2020-3-8 13:54
可能格式有问题,你可以把你修改键位的部分截图我看一下

這是G502各G鍵
更多图片 小图 大图
组图打开中,请稍候......
发表于 2020-3-8 19:12:03 |显示全部楼层
您需要登录后才可以回帖 登录 | 注册网易通行证