使用说明

整体原则解释 #

数据 #

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

alt text

效果 #

alt text

效果名称 #

起个英文名称,可以很多个效果用一个名字,就会冲突。定义多个效果会逐一执行代码。

上面这个样例就是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脚本安装没问题之后,点击启动即可。