整体原则解释 #
数据 #
遥测会拿到一些游戏内的数据,你可以给他起个名字方便后面用。 这个数据会根据冗余度去更新,比如5,就是数据该变量超过5才会更新这个数据。更新越快越吃资源。

效果 #

效果名称 #
起个英文名称,可以很多个效果用一个名字,就会冲突。定义多个效果会逐一执行代码。
上面这个样例就是FLAP会改变y轴的位置。
代码 #
参考着写吧,会逐渐完善说明。遥测值可以使用左边定义的。
set_spring_force(axis,force); axis 0 x轴 1 y轴 force最大0x7fff;
set_spring_offset(axis,offset);axis 0 x轴 1 y轴 offset最大0x7fff;
set_constant_force(force,direction)force 最大 0xffff,dirction 0-360度 0是朝前。
set_periodic(freq,force) freq是频率,每秒多少次,force是幅度,最大0x7fff.
也可以求助AI
我正在使用rhai脚本,我只需要你给出代码,不需要解释,我不需要你帮我定义未定义的变量,比如我等下提到的某个变量,但是中间你需要的临时变量需要你帮我定义。
可用函数:
set_spring_force(axis,force); axis 0 x轴 1 y轴 force最大0x7fff;
set_spring_offset(axis,offset);axis 0 x轴 1 y轴 offset最大0x7fff;
set_constant_force(force,direction)force 最大 0xffff,dirction 0-360度 0是朝前。
set_periodic(freq,force) freq是频率,每秒多少次,force是幅度,最大0x7fff.
其中只有direction是浮点数,其他都是整数。传入之前记得帮我用.to_int()转换一下。
1.我需要实现根据TAS的大小来设置xy的杆力,与TAS的大小成正比。
2. 我需要实现tas小于150的时候以20的频率,最大振幅进行震动。.....
调试 #
如果需要调试,启动软件的参数加上-d即可将日志输出到app.log当中。
DCS开火震动样例 #
json文件如下,保存成一个文件在软件内加载即可
{
"data": [
{
"id": 3,
"datum_name": "Gun",
"units_name": "",
"epsilon": 0.0,
"var_name": "ammo"
}
],
"effect": [
{
"id": 0,
"effect_name": "gunfire",
"code": "if (last_ammo > ammo){\n set_periodic(50.to_int(),0x8fff.to_int(),0.0);\n stop();\n}\n\n"
}
],
"telemtpye": "DCS"
}
确认LUA脚本安装没问题之后,点击启动即可。