meta data for this page
📚 差别
这里会显示出您选择的修订版和当前版本之间的差别。
| 两侧同时换到之前的修订记录前一修订版后一修订版 | 前一修订版 | ||
| scripting:world:vehicle [2024/06/24 11:12] – bibiboxs | scripting:world:vehicle [2025/08/16 04:30] (当前版本) – bibiboxs | ||
|---|---|---|---|
| 行 20: | 行 20: | ||
| - | ### OnVehicleEntered( | + | ### OnVehicleEntered( vehicle, character, seat ) |
| > 当角色进入载具(或切换位置)时触发。 | > 当角色进入载具(或切换位置)时触发。 | ||
| 行 26: | 行 26: | ||
| - | ### OnVehicleExited( | + | ### OnVehicleExited( vehicle, character, seat ) |
| > 当角色离开载具时触发。 | > 当角色离开载具时触发。 | ||
| 行 78: | 行 78: | ||
| ```javascript | ```javascript | ||
| vehicle.UUID: | vehicle.UUID: | ||
| + | ``` | ||
| + | |||
| + | |||
| + | |||
| + | ### vehicle.Name | ||
| + | |||
| + | > 获取载具数据内名称(`Data.Name`)。 | ||
| + | |||
| + | ```javascript | ||
| + | vehicle.Name: | ||
| ``` | ``` | ||
| 行 167: | 行 177: | ||
| ### vehicle.Health | ### vehicle.Health | ||
| - | > 设定载具生命值损耗。 | + | > 设定载具生命值。 |
| ```javascript | ```javascript | ||
| - | vehicle.Health = 1000; //Vector | + | vehicle.Health = 1000; |
| + | ``` | ||
| + | |||
| + | |||
| + | |||
| + | ### vehicle.DefaultHealth | ||
| + | |||
| + | > 获取载具默认生命值。 | ||
| + | |||
| + | ```javascript | ||
| + | vehicle.DefaultHealth: | ||
| ``` | ``` | ||
| 行 195: | 行 215: | ||
| // | // | ||
| vehicle.Immunity = 2 + 4; // | vehicle.Immunity = 2 + 4; // | ||
| + | ``` | ||
| + | |||
| + | |||
| + | |||
| + | ### vehicle.TyreImmunity | ||
| + | |||
| + | > 设定载具的轮胎受击免疫,激活后**不会因==常规攻击==导致爆胎**(`vehicle.SetTyre(1)`),默认为`false`。 | ||
| + | > | ||
| + | > **注意:此属性不会影响`vehicle.SetTyre()`执行效果。** | ||
| + | |||
| + | ```javascript | ||
| + | vehicle.TyreImmunity = false; //bool | ||
| ``` | ``` | ||
| 行 342: | 行 374: | ||
| | 1 | 向左转向 | | | 1 | 向左转向 | | ||
| | 2 | 向右转向 | | | 2 | 向右转向 | | ||
| + | |||
| + | ### vehicle.CenterOfMass | ||
| + | |||
| + | > 设置载具物理质心(平衡中心点),默认值为载具原始数据`CenterOfMass`。 | ||
| + | > | ||
| + | > 通常情况下,数值`Vector(0, | ||
| + | > | ||
| + | > **扩展:通过此属性+搭配按键绑定,可实现载具倾斜等效果。** | ||
| + | |||
| + | ```javascript | ||
| + | vehicle.CenterOfMass = Vector(0, 0, 0); | ||
| + | ``` | ||
| 行 457: | 行 501: | ||
| - | ### vehicle.WheelGrounded | + | ### vehicle.IsDamageFire |
| - | > 获取载具全部车轮**是否在地面上**。 | + | > 获取载具是否**正在损毁燃烧**(损耗低于最低数值,即将燃烧爆炸)。 |
| ```javascript | ```javascript | ||
| - | vehicle.WheelGrounded: bool | + | vehicle.IsDamageFire: bool |
| ``` | ``` | ||
| - | ### vehicle.WheelLiftOffTime | + | ### vehicle.IsTurnOver |
| - | > 获取载具上次**任意车轮离地时间**,即使`vehicle.WheelGrounded`回到地面,此属性并不会重置为`0`。 | + | > 获取载具是否**被判定翻车**(翻转角度> |
| ```javascript | ```javascript | ||
| - | vehicle.WheelLiftOffTime: float | + | vehicle.IsTurnOver: bool |
| + | ``` | ||
| + | |||
| + | |||
| + | |||
| + | ### vehicle.PowerTime | ||
| + | |||
| + | > 获取载具**持续动力时间(`PowerState == 1 || PowerState == -1`)**,默认或非动力时值为`0`。 | ||
| + | |||
| + | ```javascript | ||
| + | vehicle.PowerTime: | ||
| + | ``` | ||
| + | |||
| + | |||
| + | |||
| + | ### vehicle.IsOnGround | ||
| + | |||
| + | > 获取载具**是否在地面上**(`vehicle.LiftOffHeight <= 0.5`)。 | ||
| + | |||
| + | ```javascript | ||
| + | vehicle.IsOnGround: | ||
| + | ``` | ||
| + | |||
| + | |||
| + | |||
| + | ### vehicle.LiftOffHeight | ||
| + | |||
| + | > 获取载具**与地面的距离**。 | ||
| + | |||
| + | ```javascript | ||
| + | vehicle.LiftOffHeight: float | ||
| ``` | ``` | ||
| 行 539: | 行 613: | ||
| ### Vehicle.SetSourceData() | ### Vehicle.SetSourceData() | ||
| - | > 设置**指定型号载具**最新数据,可用来修改同一Model载具的全部初始属性(当前场景有效)。 | + | > 设置**指定型号载具**最新数据,可用来修改同一`Model`载具的全部初始属性。 |
| - | > | + | |
| - | > 对于一些载具属性的调整,可能需要同时调整多个属性才会达到理想中的效果(例如:提升速度`Acceleration`的同时最好也提升`MaxSpeed`)。 | + | |
| [note3] | [note3] | ||
| - | **注意:尽管此API允许修改任何存在的原生数据`KeyPath`,但并非所有改动都会生效(例如:轮胎、附件、座位等可能不会生效,也不建议修改,除非知道自己在做什么),此方法更适合修改`Handling`之类的载具基础属性。** | + | 尽管此方法允许修改任何存在的原生数据`KeyPath`,但并非所有改动都会生效(例如:轮胎、附件、座位等不会生效,也不建议修改,除非知道自己在做什么),此方法更适合修改`Handling`之类的载具**基础属性**。 |
| - | **注意:已存在的载具对象不会被更新,适用于执行此代码后创建的所有同类载具,如有更新全部需求可使用`ResetSourceData\ResetAllSourceData`。** | + | 注意:执行代码前**已存在**的载具对象**不会更新**,除非为其执行手动更新代码(`vehicle.ResetData()`)。 |
| [/note] | [/note] | ||
| ```javascript | ```javascript | ||
| - | function Vehicle.SetSourceData( | + | function Vehicle.SetSourceData( |
| ``` | ``` | ||
| ```javascript | ```javascript | ||
| - | Vehicle.SetSourceData(10, | + | Vehicle.SetSourceData(10, |
| ``` | ``` | ||
| - | **补充:更多有关`VehicleData`属性和节点信息,请参考[《游戏载具扩展》](extend/ | + | **更多关于`VehicleData`属性和节点信息,请参考[《游戏载具扩展》](extend/ |
| 行 568: | 行 640: | ||
| ```javascript | ```javascript | ||
| - | function Vehicle.GetSourceData( | + | function Vehicle.GetSourceData( |
| ``` | ``` | ||
| - | ### Vehicle.ClearSourceData() | + | ### Vehicle.ResetSourceData() |
| - | > 清空**指定型号载具**修改数据,恢复使用引擎\模组内最原始的数据(当前场景有效)。 | + | > 清空**指定型号载具**修改数据,恢复使用**引擎\模组**内原始数据。 |
| > | > | ||
| - | > **注意:已存在的载具对象不会被更新,适用于执行此代码后创建的所有同类载具,如有更新全部需求可使用`ResetSourceData\ResetAllSourceData`。** | + | > 注意:此方法**不会更新**已生成的对象,除非手动运行 `vehicle.ResetData()` 。 |
| ```javascript | ```javascript | ||
| - | function Vehicle.ClearSourceData( model: int ) | + | function Vehicle.ResetSourceData( vehicle: int ) |
| ``` | ``` | ||
| - | ### Vehicle.ResetSourceData() | + | ### Vehicle.ResetAllSourceData() |
| - | > 重置刷新**指定型号载具**最新数据,全部更新使用最新的数据。 | + | > 清空**指定型号载具**修改数据,恢复使用**引擎\模组**内原始数据。 |
| > | > | ||
| - | > **注意:通过`vehicle.SetData`独立修改的载具也会被覆盖更新。** | + | > 注意:此方法**不会更新**已生成的对象,除非手动运行 `vehicle.ResetData()` 。 |
| ```javascript | ```javascript | ||
| - | function Vehicle.ResetSourceData( model: int ) | + | function Vehicle.ResetAllSourceData() |
| ``` | ``` | ||
| - | ### Vehicle.ResetAllSourceData() | + | ### Vehicle.ResetAllData() |
| - | > 重置刷新**全部型号载具**最新数据,全部更新使用最新的数据。 | + | > 重置刷新**指定型号载具**最新数据,全部更新使用最新数据。 |
| > | > | ||
| > **注意:通过`vehicle.SetData`独立修改的载具也会被覆盖更新。** | > **注意:通过`vehicle.SetData`独立修改的载具也会被覆盖更新。** | ||
| ```javascript | ```javascript | ||
| - | function Vehicle.ResetAllSourceData() | + | function Vehicle.ResetAllData( vehicle: int = -1 ) |
| ``` | ``` | ||
| + | |||
| + | - `vehicle`默认为`-1`修改全部`Model`载具,否则表示仅修改指定`Model`载具 | ||
| 行 689: | 行 763: | ||
| function vehicle.GetOccupant( seat: int ): Character | function vehicle.GetOccupant( seat: int ): Character | ||
| ``` | ``` | ||
| + | |||
| + | |||
| + | |||
| + | ### vehicle.GetAnyOccupant() | ||
| + | |||
| + | > 获取载具任一乘客角色(包含驾驶员),默认返回第一个找到的角色。 | ||
| + | |||
| + | ```javascript | ||
| + | function vehicle.GetAnyOccupant( random: bool = false ): Character | ||
| + | ``` | ||
| + | |||
| + | - **`random`:**是否获取随机角色,否则获取第一个找到的角色 | ||
| 行 772: | 行 858: | ||
| ``` | ``` | ||
| - | | 状态 | 说明 | + | | 状态 | 说明 |
| - | | ---- | -------------- | | + | | ---- | ------------------------------------------------ | |
| - | | 0 | 默认,轮胎可见 | | + | | 0 | 默认,轮胎可见 |
| - | | 1 | 占位,暂无功能 | + | | 1 | 爆胎,轮胎偏移(不受`vehicle.TyreImmunity`影响) |
| - | | 2 | 轮胎消失 | + | | 2 | 轮胎消失 |
| 行 786: | 行 872: | ||
| ```javascript | ```javascript | ||
| function vehicle.GetTyre( index: int ) | function vehicle.GetTyre( index: int ) | ||
| + | ``` | ||
| + | |||
| + | |||
| + | |||
| + | ### vehicle.ExistFlag() | ||
| + | |||
| + | > 获取载具`Flags`是否已激活指定的`Flag`。 | ||
| + | |||
| + | ```javascript | ||
| + | function vehicle.ExistFlag( flag: int ): bool | ||
| + | ``` | ||
| + | |||
| + | ```javascript | ||
| + | vehicle.SetData(" | ||
| + | DLog(vehicle.ExistFlag(4)); | ||
| ``` | ``` | ||
| 行 797: | 行 898: | ||
| > | > | ||
| > **注意:尽管`SetData()`允许修改任何存在的原生数据`KeyPath`,但并非所有改动都会生效(例如:轮胎、附件、座位数等不会生效),此方法更适合修改`Handling`之类的载具属性。** | > **注意:尽管`SetData()`允许修改任何存在的原生数据`KeyPath`,但并非所有改动都会生效(例如:轮胎、附件、座位数等不会生效),此方法更适合修改`Handling`之类的载具属性。** | ||
| + | |||
| + | [note2] | ||
| + | |||
| + | 如果希望修改载具的特殊属性,可能希望执行:`vehicle.SetData(" | ||
| + | |||
| + | **关于载具特殊属性,参考[《载具特殊属性Flag》](reference/ | ||
| + | |||
| + | [/note] | ||
| ```javascript | ```javascript | ||
| 行 804: | 行 913: | ||
| ```javascript | ```javascript | ||
| let tempVeh = Vehicle.Find(0); | let tempVeh = Vehicle.Find(0); | ||
| - | tempVeh.SetData(" | + | tempVeh.SetData(" |
| ``` | ``` | ||
| 行 823: | 行 932: | ||
| ### vehicle.ResetData() | ### vehicle.ResetData() | ||
| - | > 重置**当前载具**默认原生数据(独立),如果原生数据通过`Vehicle.SetSourceData()`更改,则使用被其更改后的原生数据,否则使用引擎\模组最原始数据。 | + | > 重置**当前载具**默认原生数据(独立),如果原生数据通过`Vehicle.SetSourceData()`更改,则使用被其更改后的原生数据,否则使用**引擎\模组**最原始数据。 |
| ```javascript | ```javascript | ||
| function vehicle.ResetData() | function vehicle.ResetData() | ||
| ``` | ``` | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||