查看: 14663 - 回复: 60
[攻略]
暗黑3通用罗技鼠标宏V1.0_by风间水月(G HUB适用)
[复制链接]
版主
风间水月5655
当前离线
风间水月5655
帖子:3221
符文:12035
电梯直达
1#
发表于 2025-5-31 17:26:01
|只看该作者
|倒序浏览
来自:辽宁
本帖最后由 风间水月5655 于 2025-6-3 20:50 编辑
国服回归后为了玩死灵散魂这段时间一直在开发适用于新版的罗技鼠标宏日常和战斗脚本。
终于在34赛季末开发完成,在GPRO上测试通过,索性做成了全职业通用版本,分享给大家:
暗黑3通用宏_by风间水月.lua
(6.73 KB, 下载次数: 1783)
2025-5-31 17:10 上传
点击文件名下载附件
V1.0版包含如下功能:
日常模式/战斗模式一键切换(停止/再开技能连点): CAPS LOCK键一键购物(日常模式下,点开血岩画面后,左CTRL + 鼠标右键)一键分解(日常模式下,点开分解画面后,左CTRL + 鼠标侧下键)一键丢光(日常模式下,点开背包画面后,左CTRL + 鼠标侧上键)一键升级(日常模式下,点开魔盒升级画面后,左CTRL + 鼠标中键)伪多线程连点(战斗模式下,鼠标侧上键/鼠标侧下键/鼠标中键可起动技能1/2/3, 模式切换也可记忆之前的设置, 切回战斗模式后只需点击鼠标右键就可再起动之前起动的技能)
V1.0版有如下制限:
一键分解时会偶尔释放左键技能,且有时分解的不开净,再分解一次就好一键分解时依赖左SHIFT的强制站立,如果此键被改需要将一键分解宏中的"lshift"改成对应键名(次版对应预定)一键分解中存在16/9比例下的硬编码,所以在21/9的比例下需要将一键分解宏中的MoveMouseTo(POS[ratio].decomposite_x + 21000, 22000)改为MoveMouseTo(POS[ratio].decomposite_x + 24000, 22000) (感谢24楼,次版对应预定)
宏功能演示视频:
宏导入方法:
1. 下载附件文件
2. 起动G HUB 管理配置文件
2025-5-31 17:34 上传
下载附件 (240.76 KB)
3. 选择暗黑3脚本编辑
2025-5-31 17:34 上传
下载附件 (878.38 KB)
4. 点击创建新LUA宏
2025-5-31 17:34 上传
下载附件 (140.07 KB)
5. 选择脚本->导入
2025-5-31 17:34 上传
下载附件 (155.44 KB)
6. 选择下载的脚本文件
2025-5-31 17:34 上传
下载附件 (190.3 KB)
7. 点击新脚本更改宏名
2025-5-31 17:34 上传
下载附件 (249.65 KB)
8. 点击保存完成
2025-5-31 17:34 上传
下载附件 (248.87 KB)
脚本宏源代码:(复制代码后注意删除最后的尾巴)
--暗黑3通用宏 V1.0 by 凯恩之角-风间水月 20250531
local bSkill = {false, false, false}
local sSkill = {"1", "2", "3"}
local iSkillButton = {5,4,3}
local tStarttimeSkill = {0, 0, 0}
local tWaitSkill = {251, 251, 251} --技能间隔设置
local bSkillLoopRun = false
local LED = "capslock"
local bCheckButton = {true, true, true, true}
local iButton = {2,3,4,5}
local iMouseButton = {1,3,2,4,5}
local aux_key1, aux_key2 = "lctrl", "lalt"
local bilibili = 16 / 9
local throw_col1, throw_col2, throw_row1,throw_row2 = 2, 10, 1, 6
local item_type, upgrade_delay = 2, 30
local iCommWait = 5
--暗黑3通用日常宏 收集于凯恩之角
--坐标
POS = {
[16 / 9] = {
act1_x = 25135,
minus_X = 30531,
newtri_x = 34697,
decomposite_x = 6000,
backpack_tl_x = 48757,
backpack_grid_x = 1725,
magicbox_putin_x = 24000,
magicbox_do_x = 12500,
magicbox_left_x = 19800,
magicbox_right_x = 29000,
},
[21 / 9] = {
act1_x = 27044,
minus_x = 31090,
newtri_x = 34215,
decomposite_x = 4571,
backpack_tl_x = 52944,
backpack_grid_x = 1294,
magicbox_putin_x = 18286,
magicbox_do_x = 9524,
magicbox_left_x = 15086,
magicbox_right_x = 22095,
}
}
--传送新崔斯特姆
--function GoNewtri(ratio)
-- PressAndReleaseKey("M")
-- Sleep(100)
-- MoveMouseTo(POS[ratio].minus_x, 7714)
-- Sleep(10)
-- PressAndReleaseMouseButton(1)
-- Sleep(100)
-- MoveMouseTo(POS[ratio].act1_x, 37475)
-- Sleep(10)
-- PressAndReleaseMouseButton(1)
-- Sleep(100)
-- MoveMouseTo(POS[ratio].newtri_x, 29336)
-- Sleep(10)
-- PressAndReleaseMouseButton(1)
--end
--右键连点赌博
function Gamble()
local k=50
while k>0
do
PressAndReleaseMouseButton(3)
Sleep(5)
k=k-1
end
end
--一键分解
function Decomposite(ratio)
local k = 0
PressKey("lshift")
while k < 60
do
local X = k % 10 -- 分解列
local Y = math.floor(k / 10) --分解行
-- 2.7.2 更新对策
MoveMouseTo(POS[ratio].decomposite_x, 17000)
PressAndReleaseMouseButton(1)
Sleep(iCommWait)
MoveMouseTo(POS[ratio].backpack_tl_x + X * POS[ratio].backpack_grid_x, 36000 + 3000 * Y)
PressAndReleaseMouseButton(1)
Sleep(iCommWait)
PressAndReleaseMouseButton(3)
Sleep(iCommWait)
MoveMouseTo(POS[ratio].decomposite_x + 21000, 22000)
PressAndReleaseMouseButton(1)
Sleep(iCommWait)
--PressAndReleaseKey("enter")
--PressAndReleaseKey("slash")
--PressAndReleaseKey("escape")
k = k + 1
end
ReleaseKey("lshift")
end
--一键丢光
function Throw(ratio, col1, col2, row1, row2)
local n = 36000 + (row1 - 1) * 3000
for j = row1, row2, 1 do
local m = POS[ratio].backpack_tl_x + (col1 - 1) * POS[ratio].backpack_grid_x
for i = col1, col2, 1 do
MoveMouseTo(m, n)
PressMouseButton(1)
Sleep(2)
MoveMouseTo(32768, 30070)
ReleaseMouseButton(1)
Sleep(2)
m = m + POS[ratio].backpack_grid_x
end
n = n + 3000;
end
MoveMouseTo(32768, 30070)
end
--一键升级
function Upgrade(ratio, type, delay)
local function MoveMouse(x, y)
if not IsKeyLockOn(LED) then
MoveMouseTo(x, y)
Sleep(delay)
end
end
local function Click(button)
if not IsKeyLockOn(LED) then
PressAndReleaseMouseButton(button)
Sleep(delay)
end
end
Sleep(100)
local n = 36000
for j = 1, 6 / type, 1 do
local m = POS[ratio].backpack_tl_x
for i = 1, 10, 1 do
if not IsKeyLockOn(LED) then
MoveMouse(m, n)
Click(3)
Click(3)
MoveMouse(POS[ratio].magicbox_putin_x, 51000)--put
Click(1)
MoveMouse(POS[ratio].magicbox_do_x, 50000)--do
Click(1)
MoveMouse(POS[ratio].magicbox_left_x, 51000)--left
Click(1)
MoveMouse(POS[ratio].magicbox_right_x, 51000)--right
Click(1)
m = m + POS[ratio].backpack_grid_x
end
end
n = n + 3000 * type
end
end
--暗黑3通用战斗宏 by 风间水月
--鼠标检查
local function IsMouseButtonDown()
bResult = false
for i,perButton in ipairs(iButton) do
if bCheckButton[i] == true and IsMouseButtonPressed(iMouseButton[perButton]) then
bCheckButton[i] = false
bResult = true
break
end
if bCheckButton[i] == false and not IsMouseButtonPressed(iMouseButton[perButton]) then
bCheckButton[i] = true
bResult = true
break
end
end
return bResult
end
--技能检查
local function IsSkillOn()
bResult = false
for i,perSkill in ipairs(bSkill) do
if perSkill then
bResult = true
break
end
end
return bResult
end
--技能循环(伪多线程)
local function DoSkillLoop()
bSkillLoopRun = true
while not IsMouseButtonDown() and IsKeyLockOn(LED)
do
Sleep(iCommWait)
--if IsKeyLockOn(LED) then
for i,perSkill in ipairs(sSkill) do
if bSkill[i] and GetRunningTime() - tStarttimeSkill[i] >= tWaitSkill[i] then
PressAndReleaseKey(perSkill)
tStarttimeSkill[i] = GetRunningTime()
Sleep(iCommWait)
end
end
--end
end
bSkillLoopRun = false
end
--事件处理
function OnEvent(event, arg)
if IsKeyLockOn(LED) then
for i,perButton in ipairs(iButton) do
if event =="MOUSE_BUTTON_PRESSED" and arg == perButton then
--if IsModifierPressed(aux_key1) then
for j,perSkillButton in ipairs(iSkillButton) do
if perSkillButton == perButton then
if bSkill[j] then
bSkill[j] = false
else
bSkill[j] = true
end
end
end
--end
Sleep(iCommWait)
bCheckButton[i] = false
end
if event =="MOUSE_BUTTON_RELEASED" and arg == perButton then
Sleep(iCommWait)
bCheckButton[i] = true
end
end
if (event =="MOUSE_BUTTON_PRESSED" or event =="MOUSE_BUTTON_RELEASED") and not bSkillLoopRun and IsSkillOn() then
DoSkillLoop()
end
else
if event=="MOUSE_BUTTON_PRESSED"and arg == 2 and IsModifierPressed(aux_key1) then
Gamble()
end
if event=="MOUSE_BUTTON_PRESSED"and arg == 3 and IsModifierPressed(aux_key1) then
Upgrade(bilibili, item_type, upgrade_delay)
end
if event=="MOUSE_BUTTON_PRESSED"and arg == 4 and IsModifierPressed(aux_key1)then
Decomposite(bilibili)
end
if event=="MOUSE_BUTTON_PRESSED"and arg == 5 and IsModifierPressed(aux_key1) then
Throw(bilibili, throw_col1, throw_col2, throw_row1, throw_row2)
end
--if event=="MOUSE_BUTTON_PRESSED"and arg == 5 and IsModifierPressed(aux_key2)then
-- GoNewtri(bilibili)
--end
end
end
复制代码
点评
猫猫不爱吃鱼
相遇就是缘分,再遇就是猿分,程序猿大佬NP
发表于 2025-6-20 23:25
已有 1 人评分符文
收起
理由
猫猫不爱吃鱼
+ 100
优质内容
总评分:
符文 + 100
查看全部评分
收藏177
赞17
踩0
回复
举报
国王
主要喜欢钓鱼
当前离线
主要喜欢钓鱼
帖子:6236
符文:509
2#
谢谢大佬分享!
发表于 2025-5-31 17:37:51
来自凯恩之角App
|只看该作者
来自:北京
回复
举报
公爵
丶时光罪人
当前离线
丶时光罪人
帖子:803
符文:38
3#
感谢大佬分享!
发表于 2025-5-31 18:24:23
|只看该作者
来自:福建
回复
举报
伽蓝寺丶听风等你
公爵
清风浊酒笑红尘
当前离线
清风浊酒笑红尘
帖子:896
符文:38
4#
虽然没罗技鼠标,但还是点个赞
发表于 2025-5-31 18:29:56
来自凯恩之角App
|只看该作者
来自:广东
回复
举报
勇士
海边老男人
当前离线
海边老男人
帖子:132
符文:9
5#
感谢大佬分享,刚买的G502X派上用场了
发表于 2025-5-31 21:30:01
来自凯恩之角App
|只看该作者
来自:江苏
回复
举报
骑士
安静养老
当前离线
安静养老
帖子:734
符文:6
6#
感谢风间大佬
发表于 2025-5-31 23:20:58
|只看该作者
来自:广东
回复
举报
骑士
哈德哈德哈德
当前离线
哈德哈德哈德
帖子:372
符文:7
7#
感谢大佬脚本
发表于 2025-6-1 00:38:48
|只看该作者
来自:浙江
回复
举报
公爵
人中文武
当前离线
人中文武
帖子:432
符文:95
8#
woca,同样9年义务教育,差距怎么这么大,真牛
发表于 2025-6-1 10:21:46
来自凯恩之角App
|只看该作者
来自:浙江
回复
举报
学徒
ssa123
当前离线
ssa123
帖子:2
符文:0
9#
其他都可以,只有分解用不了
发表于 2025-6-1 12:51:33
|只看该作者
来自:湖南
回复
举报
新兵
哆啦A梦啊
当前离线
哆啦A梦啊
帖子:115
符文:2
10#
好的 你好棒棒棒棒棒棒棒
发表于 2025-6-1 12:59:17
|只看该作者
来自:贵州
回复
举报
学徒
ssa123
当前离线
ssa123
帖子:2
符文:0
11#
本帖最后由 ssa123 于 2025-6-1 13:03 编辑
ssa123 发表于 2025-6-1 12:51
其他都可以,只有分解用不了
分解时人物会到处跑,唯一办法就是快捷键设置个强制站立
一键升级只会升1,3,5排,可能是作者考虑到大型装备故舍弃了单格物品连点要是能把Q喝药也加上就更好了
总的来说还是不错的
发表于 2025-6-1 13:01:43
|只看该作者
来自:湖南
回复
举报
国王
洞房艺术
当前离线
洞房艺术
帖子:3175
符文:1605
12#
长见识了,版主大佬666
发表于 2025-6-1 14:17:26
|只看该作者
来自:广东
回复
举报
国王
nexklee
当前离线
nexklee
帖子:7457
符文:3565
13#
本帖最后由 nexklee 于 2025-6-1 16:45 编辑
代码能给份文本吗 虽然图片可以ocr
后补 看到lua文件了 多谢
发表于 2025-6-1 16:43:40
|只看该作者
来自:贵州
回复
举报
新兵
大神饶命
当前离线
大神饶命
帖子:11
符文:28
14#
分解会留下远古和太古吗?
发表于 2025-6-1 17:04:17
来自凯恩之角App
|只看该作者
来自:江苏
回复
举报
新兵
割破关注
当前离线
割破关注
帖子:17
符文:15
15#
非常感谢大佬
发表于 2025-6-1 17:26:26
|只看该作者
来自:湖南
回复
举报
返回列表
12345 / 5 页下一页
发 帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖 登录 | 注册网易通行证
发表回复
回帖后跳转到最后一页
赛季之星
暗黑2赛季活动奖励
小绿叶·加强版
凯恩之角赛季纪念勋章
国服·开荒之星
这是你的第一枚符文
地狱魔王
你参与了暗黑2重制版国服预购活动
冰雪女王
你参与了暗黑不朽国服公测
涅法雷姆
你参与了奈非天的传承
凯恩23周年
凯恩之角23周年纪念勋章
暗黑破坏神:不朽
你参与了暗黑破坏神:不朽预约活动
死灵不朽
你见证了死灵法师的永生不朽
浴火重生
你参与了《暗黑破坏神2浴火重生》预购活动
开荒之星
一把开荒用的锄头,上面沾满了恶魔的血。
铜质奖章
注册满一周年
优秀版主
为人民服务
暗影之王
夺魂之镰死灵法师职业大师[1阶]
死亡之道
暗影王国神秘活动
勋章大师
论坛勋章设计者
莉娅之戒
热心玩家
神器拥有者
我有一件神器!
硬汉
不服来战!
凯恩的智慧
你拥有常人无法企及的智慧
小资
小资生活
土豪
小康生活
地主
腰缠万贯
新春快乐
凯恩之角春节限定勋章
圣诞快乐!
凯恩之角圣诞纪念勋章
黑暗灵魂之石
集齐七颗灵魂之石可以召唤
珠宝大师
一颗蓝宝石
创意大师
N多奇思妙想
成长的背影
你在庇护之地分享了与父亲的故事
凯恩赐福
神秘事件
符文:El
1号符文
凯恩·开荒者
凯恩之角金币纪念勋章:二阶
这就对了
拥有完善的论坛资料
爱玩天使
爱玩APP积分商城礼物
悬赏勇士
完成凯恩之角初阶任务
银质奖章
注册满三周年
金质奖章
注册满四周年
崔斯特姆达人
崔斯特姆版块活动优胜者
暗黑3中国战网
暗黑3国服纪念勋章
小绿叶
凯恩之角赛季纪念勋章
成就党
我是成就达人
塔拉夏的怒目
仙塞学院神秘活动
先人之佑
奈非天荣光延续!
国服党
国服玩家
冠军
在活动中获得第一名!
神算子
这都被你猜对了!
冒险王
终极成就达人
套装收集者:一阶
套装收集者:一阶
凯恩·先行者
凯恩之角金币纪念勋章:三阶