SRFC模拟赛车网

 找回密码
 注册
SRFC模拟赛车世界 是 SRFC模拟赛车网 旗下网站
搜索
热搜: 活动 交友 discuz
查看: 13770|回复: 21
收起左侧

[其他] 针对AC优化 vJoy+FreePIE全新鼠标控制脚本

[复制链接]

109

主题

1740

帖子

8

精华

赛事主管

碳!

Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

注册时间:2008-1-25
积分
3701

LFS初级驾照LFS联赛驾照4小时耐力赛纪念

 楼主| 发表于 2018-11-19 21:26:15 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册

x
本帖最后由 3Rs 于 2019-9-29 18:22 编辑

最近貌似不少人对AC的鼠标操控感兴趣,不过目前的大部分脚本早已过时。

此新脚本为全新(大概在2个月前开始做的,andy帮忙做了不少测试),重写了大部分旧代码,去除了无用的threadExecutionInterval,脚本执行效率和精度更高。
另外实现了之前FreePIE自身无法做到的鼠标隐藏功能,现在FreePIE可以不依靠外部程序直接定点锁定鼠标位置(快捷键控制)。
新增的油门行程限制也对鼠标驾驭大马力赛车很有帮助。

下载:
全新鼠标控制脚本.zip (4.72 KB, 下载次数: 535)
车神之路,由此起步——SRFC模拟赛车网

63

主题

595

帖子

0

精华

金牌会员

Rank: 5Rank: 5Rank: 5Rank: 5Rank: 5

注册时间:2012-6-17
积分
3264
发表于 2018-11-19 23:05:13 | 显示全部楼层
话说有没有办法让脚本模拟出windows的鼠标加速效果?(就是鼠标移得越快方向盘越灵敏)
漂移玩家需要这个
Live For Drift

109

主题

1740

帖子

8

精华

赛事主管

碳!

Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

注册时间:2008-1-25
积分
3701

LFS初级驾照LFS联赛驾照4小时耐力赛纪念

 楼主| 发表于 2018-11-20 00:00:40 | 显示全部楼层
应该可以吧,用公式运算。不过这个难度比较高了,我也不太懂编程。
WINDOWS自带的那个鼠标加速不好用么?感觉把脚本灵敏度和中心缩减设置到恰当的数值后不需要鼠标加速(我以前也是依赖LFS的鼠标加速来救车,不过后来找到了适合我鼠标的灵敏度和中心缩减后不开加速基本和以前一样的手感)。
车神之路,由此起步——SRFC模拟赛车网

10

主题

3172

帖子

0

精华

高级车手

IRU-Sky

Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

注册时间:2009-2-28
积分
6390

LFS初级驾照4小时耐力赛冠军

QQ
发表于 2018-11-20 18:04:44 | 显示全部楼层
好东西,s哥性苦了

63

主题

595

帖子

0

精华

金牌会员

Rank: 5Rank: 5Rank: 5Rank: 5Rank: 5

注册时间:2012-6-17
积分
3264
发表于 2018-11-20 23:52:32 | 显示全部楼层
3Rs 发表于 2018-11-20 00:00
应该可以吧,用公式运算。不过这个难度比较高了,我也不太懂编程。
WINDOWS自带的那个鼠标加速不好用么? ...

问题是开脚本后鼠标移多少就方向盘打多少,windows的鼠标加速完全不起作用
中心缩减这个方法也试过,玩抓地还好,但玩漂移就很不舒服,灵敏度太高,方向很难一下打到点上,然后就得不停盯着方向盘看,玩一会儿头就晕了
以前也试过用分段函数做加速效果,但手感怎么调都很怪
不过有没有办法直接获取windows光标的位置?不太懂脚本语言,不知道有没有这种函数
Live For Drift

109

主题

1740

帖子

8

精华

赛事主管

碳!

Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

注册时间:2008-1-25
积分
3701

LFS初级驾照LFS联赛驾照4小时耐力赛纪念

 楼主| 发表于 2018-11-21 03:27:22 | 显示全部楼层
本帖最后由 3Rs 于 2018-11-21 03:29 编辑

好消息,我查看了下 mouse.deltaX ,发现这个值((初始值为0)只有在移动鼠标后增加(正数或负数),然后鼠标移动的越快,这个值就越大。最后,在鼠标停止移动后这个数值会归零。
用一个简单 if 比较 mouse.deltaX 的绝对值大小来实时改变脚本(本帖版本)中的鼠标灵敏度“m_sens”值,就可以实现在不同移动速度下用不同的鼠标灵敏度了。当然直接拿 mouse.deltaX 值来用还是有局限性,因为鼠标来回移动时 mouse.deltaX 的数值会在正数和负数之间移动,应该需要弄个特殊的公式来计算累积数值变化?

下面这个是直接套用mouse.deltaX绝对值的代码,我刚试了下还行,可以参考:
  1. if abs(mouse.deltaX) > 20:
  2.         m_sens = 25
  3. else:
  4.         m_sens = 10
复制代码

把上面这几行代码放在脚本最后即可。
车神之路,由此起步——SRFC模拟赛车网

109

主题

1740

帖子

8

精华

赛事主管

碳!

Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

注册时间:2008-1-25
积分
3701

LFS初级驾照LFS联赛驾照4小时耐力赛纪念

 楼主| 发表于 2018-11-21 05:08:36 | 显示全部楼层
本帖最后由 3Rs 于 2018-11-21 05:34 编辑

找到更的好办法了,直接把 mouse.deltaX 数值转换成绝对值百分比,然后把这个百分比乘上鼠标灵敏度“m_sens”值,就实现实时鼠标加速度变化了,下面是具体代码:
找到这行
  1. steering += (mouse.deltaX * m_sens) / center_redu
复制代码

然后替换成(注意python首行缩进对齐)
  1. steering += (mouse.deltaX * m_sens * (abs(round(mouse.deltaX))*2 / 100 + 1)) / center_redu
复制代码


(abs(round(mouse.deltaX))*2 / 100 + 1) 就是核心代码,其中这个 *2 乘数根据你的鼠标DPI调节(再配合调节“m_sens”鼠标灵敏度值),比较低的DPI用 *2 甚至 *3,高DPI鼠标就调低或者移除这个乘数。刚在LFS里测试了下貌似不错。

下面是调好的精简版脚本
vjfreepie_精简版_鼠标加速测试.py (4.32 KB, 下载次数: 43)
车神之路,由此起步——SRFC模拟赛车网

0

主题

17

帖子

0

精华

初级用户

Rank: 1

注册时间:2018-6-7
积分
97
发表于 2018-12-24 22:26:54 | 显示全部楼层
感谢辛勤寻找解决方案
车神之路,由此起步——SRFC模拟赛车网

0

主题

12

帖子

0

精华

初级用户

Rank: 1

注册时间:2019-1-18
积分
82
发表于 2019-1-18 20:15:19 | 显示全部楼层
请问楼主,键位怎么可以改呢?
车神之路,由此起步——SRFC模拟赛车网

2

主题

217

帖子

0

精华

高级用户

Rank: 3Rank: 3Rank: 3

注册时间:2016-1-20
积分
692
QQ
发表于 2019-1-27 16:26:10 | 显示全部楼层
一切都没问题、为啥进游戏还是原来的控制??
车神之路,由此起步——SRFC模拟赛车网

109

主题

1740

帖子

8

精华

赛事主管

碳!

Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

注册时间:2008-1-25
积分
3701

LFS初级驾照LFS联赛驾照4小时耐力赛纪念

 楼主| 发表于 2019-1-28 01:25:31 | 显示全部楼层
xl0424 发表于 2019-1-27 16:26
一切都没问题、为啥进游戏还是原来的控制??

如果是AC的话,需要在游戏里设置轴和按键,在Options > Controls 控制器页面里选 Wheel/Custom,然后分别映射各个轴和按钮。
车神之路,由此起步——SRFC模拟赛车网

2

主题

217

帖子

0

精华

高级用户

Rank: 3Rank: 3Rank: 3

注册时间:2016-1-20
积分
692
QQ
发表于 2019-1-28 14:22:15 | 显示全部楼层
3Rs 发表于 2019-1-28 01:25
如果是AC的话,需要在游戏里设置轴和按键,在Options > Controls 控制器页面里选 Wheel/Custom,然后分别 ...

这个能用在rf2吗哥?
车神之路,由此起步——SRFC模拟赛车网

109

主题

1740

帖子

8

精华

赛事主管

碳!

Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

注册时间:2008-1-25
积分
3701

LFS初级驾照LFS联赛驾照4小时耐力赛纪念

 楼主| 发表于 2019-1-28 23:04:10 | 显示全部楼层
xl0424 发表于 2019-1-28 14:22
这个能用在rf2吗哥?

基本大部分的模拟赛车游戏都可以用,包括RF2。由于RF2的特殊按键映射问题,在设置轴和按键的时候会比较麻烦。
车神之路,由此起步——SRFC模拟赛车网

1

主题

155

帖子

1

精华

中级用户

Rank: 2Rank: 2

注册时间:2006-1-11
积分
276

LFS初级驾照

发表于 2019-3-27 08:49:50 | 显示全部楼层
看到“实现了之前FreePIE自身无法做到的鼠标隐藏功能”惊掉下巴,膜拜大佬,不知道能不能反向实现强行显示鼠标呢?非拟真赛车游戏想要用鼠标的话,因为游戏没有车内视角,因此得依赖鼠标来定位转向角度,但有的游戏又会在游戏中强行隐藏鼠标。
车神之路,由此起步——SRFC模拟赛车网

109

主题

1740

帖子

8

精华

赛事主管

碳!

Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

注册时间:2008-1-25
积分
3701

LFS初级驾照LFS联赛驾照4小时耐力赛纪念

 楼主| 发表于 2019-3-27 13:54:58 | 显示全部楼层
diskonline 发表于 2019-3-27 08:49
看到“实现了之前FreePIE自身无法做到的鼠标隐藏功能”惊掉下巴,膜拜大佬,不知道能不能反向实现强行显示 ...

这贴的里的程序脚本可以实现这个功能:http://bbs.srfc.com.cn/forum.php?mod=viewthread&tid=187110
和LFS差不多的转向条,我在极品飞车14里测试过没问题,不过游戏必须窗口化或者borderless。
车神之路,由此起步——SRFC模拟赛车网
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|SRFC模拟赛车网  

GMT+8, 2022-5-21 20:01 , Processed in 1.214063 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表