//没登陆

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

帖子:204

符文:2

31#
暗夜飞翔 发表于 2015-6-21 11:02
MX518启动不了
去掉键盘和第三个END好了

第3个end是22行那个吗
发表于 2015-6-21 11:27:57 |只看该作者 来自:浙江

帖子:190

符文:11

32#
马克做个标记~~~~~
发表于 2015-6-21 11:34:08 来自凯恩之角App |只看该作者 来自:北京

帖子:99

符文:4

33#
mu8951 发表于 2015-6-21 11:27
第3个end是22行那个吗

从上往下数第三个
发表于 2015-6-21 12:27:00 |只看该作者 来自:河南
[armory]http://tw.battle.net/d3/zh/profile/%E6%9A%97%E5%A4%9C%E9%A3%9B%E7%BF%94-3591/hero/35887329[/armory]

帖子:204

符文:2

34#

再请教一下,为什么我把if (event == "MOUSE_BUTTON_PRESSED" and arg == 3) then --3

从2改到3了,可还是右键会启动宏,不过中键也可以启动,这要怎么改呢
发表于 2015-6-21 12:36:05 |只看该作者 来自:浙江

帖子:154

符文:2

35#
mu8951 发表于 2015-6-21 12:36
再请教一下,为什么我把if (event == "MOUSE_BUTTON_PRESSED" and arg == 3) then --3

从2改到3了,可 ...

NI你仔细找下,其实还有一个2需要改3.
发表于 2015-6-21 14:12:59 |只看该作者 来自:广西
[armory]http://cn.battle.net/d3/en/profile/%E7%81%AB%E5%A5%B4%E4%B8%8A%E5%B0%89-5379/hero/11074352[/armory]

帖子:154

符文:2

36#
狂野之弦 发表于 2015-6-20 19:59
赛亚人无法全程覆盖,所以好了就开,没问题吧

这样,对于速刷来说,问题就是CD严重不够用,因为赛亚人一好就用掉了。

然后我把盾墙代码删除,很仔细的检查了,确认没有遗漏END,然后代码测速也可以过,但是游戏里面,就是不行。。好奇怪。


我现在做了一个简单的右键按下,只是这个宏启动停止后,必须要切换下桌面,才能再次开启。

底层速刷的CD还是有很大问题,如果是19.5秒启动赛亚人,高层,因为技能衔接的刚刚好,不会出问题。但是低层却经常到了时间,CD么好,结果循环过后,CD才好,这时候,需要人工干预,才能接回来。 悲催滴。  后面设置10秒左右,也会出现这样的问题。。哎。
发表于 2015-6-21 14:18:24 |只看该作者 来自:广西
[armory]http://cn.battle.net/d3/en/profile/%E7%81%AB%E5%A5%B4%E4%B8%8A%E5%B0%89-5379/hero/11074352[/armory]

帖子:204

符文:2

37#
火奴上尉 发表于 2015-6-21 14:12
NI你仔细找下,其实还有一个2需要改3.

都改了,哎,不知道哪儿出问题了

点评

狂野之弦  宏无法启动的问题,看下我的置顶TIP和最新的代码吧  发表于 2015-6-21 23:37
发表于 2015-6-21 16:07:55 |只看该作者 来自:浙江

帖子:99

符文:4

38#
mu8951 发表于 2015-6-21 16:07
都改了,哎,不知道哪儿出问题了

你试试这个
----鼠标左键->旋风斩

----鼠标右键->威吓呐喊

----Q键->无视痛苦

----W键->战斗怒火

----E键->狂暴者之怒

----R键->战吼


Barbarian_Macro_LoopInterval = 10 --脚本循环间隔(毫秒)


function OnEvent(event, arg, family)

    if (event == "MOUSE_BUTTON_PRESSED" and arg == 3) then --3为罗技鼠标中键

        --如果CapsLock键未按下,则按下并释放CapsLock键

        if not (IsKeyLockOn("capslock")) then
            PressAndReleaseKey("capslock")
            Sleep(10)
        end

        Barbarian_Macro_FullyAuto() --V2.2野蛮人6+2全自动左键旋风斩

    end
end

function Barbarian_Macro_FullyAuto()
    --按下并释放Q键(战吼)、W键(无视苦痛)、E键(狂暴者之怒)

    PressAndReleaseKey("q", "w", "e", "r")

    --Shift键(右)+鼠标左键(启动左键旋风斩)

    PressKey("rshift")
    PressMouseButton(1)
    Sleep(10)
    ReleaseKey("rshift")
    Left_Mouse_Button_Pressed = true --鼠标左键已按下


    Times_Key_Q = 0
    Times_Key_W = 0
    Times_Key_E= 0
    Times_Key_R= 0

    --如果CapsLock键已按下则启动循环,否则退出循环

    while (IsKeyLockOn("capslock")) do               
        Sleep(Barbarian_Macro_LoopInterval) --循环间隔


        Times_Key_Q = Times_Key_Q + 1
        Times_Key_W = Times_Key_W + 1
        Times_Key_E = Times_Key_E + 1
        Times_Key_R = Times_Key_R + 1

        --每10秒按下并释放Q键

        if ((Times_Key_Q*Barbarian_Macro_LoopInterval) == 10000) then
            PressAndReleaseKey("q")
            Times_Key_Q = 0
        end

        --每115秒按下并释放W键

        if ((Times_Key_W*Barbarian_Macro_LoopInterval) == 115000) then
            PressAndReleaseKey("w")
            Times_Key_W = 0
        end

        --每20秒按下并释放E键

        if ((Times_Key_E*Barbarian_Macro_LoopInterval) == 20000) then
            PressAndReleaseKey("e")
            Times_Key_E = 0
        end

        --每55秒按下并释放R键
        if ((Times_Key_R*Barbarian_Macro_LoopInterval) == 55000) then
            PressAndReleaseKey("r")
            Times_Key_R = 0
        end

        --在鼠标左键已按下未释放时(左键旋风斩中),

        --按住Alt键(左)则释放鼠标左键(暂停左键旋风斩),

        --释放Alt键(左)则重新按下Shift键(右)+鼠标左键(启动左键旋风斩)

        if (IsModifierPressed("lalt")) then
            if (Left_Mouse_Button_Pressed) then
                ReleaseMouseButton(1)
                Left_Mouse_Button_Pressed = false --鼠标左键未按下

            end
        else
            if not (Left_Mouse_Button_Pressed) then
                PressKey("rshift")
                PressMouseButton(1)
                Sleep(10)
                ReleaseKey("rshift")
                Left_Mouse_Button_Pressed = true --鼠标左键已按下

            end
        end
    end

    --循环结束,释放鼠标左键

    ReleaseMouseButton(1)
end


发表于 2015-6-21 17:26:18 |只看该作者 来自:河南
[armory]http://tw.battle.net/d3/zh/profile/%E6%9A%97%E5%A4%9C%E9%A3%9B%E7%BF%94-3591/hero/35887329[/armory]

帖子:1014

符文:75

39#
为什么我的鼠标右键没有反映:

    --按下并释放鼠标右键(战斗怒火)
    PressAndReleaseMouseButton(2)

点评

狂野之弦  宏无法启动的问题,看下我的置顶TIP和更新的代码  发表于 2015-6-21 23:36
发表于 2015-6-21 21:29:38 |只看该作者 来自:广东
[armory]http://cn.battle.net/d3/en/profile/apollo-5885/hero/5708472[/armory]

帖子:572

符文:2

40#
*apollo 发表于 2015-6-21 21:29
为什么我的鼠标右键没有反映:

    --按下并释放鼠标右键(战斗怒火)

我的开始可以,后面100秒也是不会自动右键
发表于 2015-6-21 21:55:55 |只看该作者 来自:海南
[armory]http://cn.battle.net/d3/en/profile/diSSilent-5604/hero/18772608[/armory]

帖子:2238

符文:37

41#
本帖最后由 狂野之弦 于 2015-6-21 23:27 编辑
diS.Silent 发表于 2015-6-21 03:45
楼主

--脚本按键设置:

你是罗技鼠标的话,3中键、2右键
所以代码里PressAndReleaseMouseButton(3)相当于按的是中键

我用的是罗技键盘,而普通鼠标是2中键、3右键,但是罗技鼠标是3中键、2右键
很多用鼠标宏无法启动的原因也是在于这个问题,我修改下置顶TIP和代码


发表于 2015-6-21 23:04:32 |只看该作者 来自:河北
WilDStr1ng#3838

帖子:2238

符文:37

42#
火奴上尉 发表于 2015-6-21 14:18
这样,对于速刷来说,问题就是CD严重不够用,因为赛亚人一好就用掉了。

然后我把盾墙代码删除,很仔细 ...

CD的问题确实不是这个脚本能解决的
宏无法启动的问题,看下我的置顶TIP和最新的代码吧

发表于 2015-6-21 23:36:03 |只看该作者 来自:河北
WilDStr1ng#3838

帖子:1014

符文:75

43#
狂野之弦 发表于 2015-6-21 23:04
你是罗技鼠标的话,3中键、2右键
所以代码里PressAndReleaseMouseButton(3)相当于按的是中键

我已经注意到这点,并且改了,还是不行。
发表于 2015-6-22 00:08:49 |只看该作者 来自:广东
[armory]http://cn.battle.net/d3/en/profile/apollo-5885/hero/5708472[/armory]

帖子:1014

符文:75

44#
本帖最后由 *apollo 于 2015-6-22 00:16 编辑

除此之外,第二个脚本的这里是什么意思?
D_Alt_Pressed = true

后面还有一部分,也是出现了D_Alt_Pressed
        if (IsModifierPressed("lalt")) then
            if (D_Alt_Pressed) then
                ReleaseKey("d")
                D_Alt_Pressed = false
            end
        else
            if not (D_Alt_Pressed) then
                PressKey("d")
                D_Alt_Pressed = true

另外我想用空格键代替ALT,可以吗?

点评

狂野之弦  D_Alt_Pressed是指D键旋风斩已按住,后面一部分代码是用alt中断旋风斩的,如果alt按下同时D键也已按住,则释放D键,如果释放alt同时旋风斩已中断,则重新按住D  发表于 2015-6-22 00:27
狂野之弦  不可以,IsModifierPressed这个方法是判断alt、shift、ctrl是否按下,所以只能用这三个键暂停宏  发表于 2015-6-22 00:22
发表于 2015-6-22 00:15:33 |只看该作者 来自:广东
[armory]http://cn.battle.net/d3/en/profile/apollo-5885/hero/5708472[/armory]

帖子:1014

符文:75

45#
本帖最后由 *apollo 于 2015-6-22 00:35 编辑


想用space来取代lalt,,第一脚本的这里lalt改成spacerbar,按spacerbar没有效果。
      if (IsModifierPressed("lalt")) then
            if (Left_Mouse_Button_Pressed) then
                ReleaseMouseButton(1)
                Left_Mouse_Button_Pressed = false --鼠标左键未按下



第二的脚本的这里也一样,把这里的lalt改成spacerbar,按spacerbar没有效果。
       if (IsModifierPressed("lalt")) then
            if (D_Alt_Pressed) then
                ReleaseKey("d")
                D_Alt_Pressed = false

发表于 2015-6-22 00:21:44 |只看该作者 来自:广东
[armory]http://cn.battle.net/d3/en/profile/apollo-5885/hero/5708472[/armory]
您需要登录后才可以回帖 登录 | 注册网易通行证