网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
05月16日漏签0天
autohotkey吧 关注:4,685贴子:16,173
  • 看贴

  • 图片

  • 吧主推荐

  • 游戏

  • 2回复贴,共1页
<<返回autohotkey吧
>0< 加载中...

萌新求助,如何实现下述功能?

  • 只看楼主
  • 收藏

  • 回复
  • 传说中的高松灯
  • 默默无闻
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
求助各位大佬,我是ahk萌新,想在《怪物猎人:世界》这款游戏中使用按键宏,实现以下效果(以下简称效果1和效果2):
1. 如果单独按下LShift(在松开LShift之前没有输入其他按键),在松开LShift时输出按键序列F3 6 7 8 F1,每一个按键之间间隔25毫秒;
2. 如果按住LShift的过程中输入了其他按键,不输出按键序列F3 6 7 8 F1,而是保留其原本的功能(例如游戏中LShift & W是向前跑)
以下是我的代码:
#Requires AutoHotkey v2.0
~LShift:: {
otherKeysPressed := false
shiftVK := GetKeyVK("LShift")
ih := InputHook("L0 V")
ih.OnKeyDown := (ih, vk, sc) => (vk != shiftVK && (otherKeysPressed := true))
ih.Start()
KeyWait("LShift")
ih.Stop()
if (!otherKeysPressed) {
Send "{F3}"
Sleep 25
Send "6"
Sleep 25
Send "7"
Sleep 25
Send "8"
Sleep 25
Send "{F1}"
}
}
我遇到了两个问题:
1. 在游戏外(记事本)进行测试时,效果1是正常的,效果2有问题:LShift & W正常输出了大写W(这个没问题),但是当我松开LShift时,仍然执行了按键序列F3 6 7 8 F1(这个有问题,我需要的效果是,如果按下LShift之后输入了其他按键,那么不执行按键序列F3 6 7 8 F1,仅保留LShift原有的功能)
2. 在游戏内进行测试时,效果1和2都是有问题的:游戏内置键位LShift是有其原本的功能的,LShift=收刀,LShift W=向前跑。这个游戏内置功能的优先级似乎比脚本高,当我按下LShift时,大概率执行收刀操作,并没有改为输出按键序列F3 6 7 8 F1(我需要的效果是,如果单独按下LShift,不执行其原本功能,改为输出按键序列F3 6 7 8 F1;如果LShift是作为组合键按下的,保留其原本功能)
我的尝试:
搜过教程,但是没搞明白;问过ai,但ai给的代码会报错
来贴吧求助大佬,谢谢


  • 🐬Oceano
  • 颇具名气
    6
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
#Requires AutoHotkey v2.0
~LShift:: {
ih := InputHook("L1 V")
ih.NotifyNonText := true
ih.OnKeyUp := (ih, vk, *) => vk == GetKeyVK('LShift') ? ih.Stop() : 1
ih.Start()
if ih.Wait() == 'Stopped' {
Send "{F3 Down}"
Sleep 25
Send "{F3 Up}{6 Down}"
Sleep 25
Send "{6 Up}{7 Down}"
Sleep 25
Send "{7 Up}{8 Down}"
Sleep 25
Send "{8 Up}{F1 Down}"
Sleep 25
Send "{F1 Up}"
}
}


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 2回复贴,共1页
<<返回autohotkey吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示