meta data for this page
📚 差别
这里会显示出您选择的修订版和当前版本之间的差别。
| 两侧同时换到之前的修订记录前一修订版后一修订版 | 前一修订版 | ||
| scripting:world:character [2025/08/06 03:11] – bibiboxs | scripting:world:character [2025/08/27 15:08] (当前版本) – bibiboxs | ||
|---|---|---|---|
| 行 64: | 行 64: | ||
| [note2] | [note2] | ||
| - | 补充:如果`character.CanAction == false`,此事件将会在角色尝试发起攻击后立即触发(仅单次触发,即使是连续攻击道具),但不会发起攻击。 | + | 补充:如果`character.CanAction == false`,此事件将会在角色尝试发起攻击后**立即触发**(仅单次触发,即使是连续攻击道具),但不会发起攻击。 |
| [/note] | [/note] | ||
| 行 83: | 行 83: | ||
| > 当角色**回到\接触地面**时触发,可用`character.FlyTime`获取持续离地时间。 | > 当角色**回到\接触地面**时触发,可用`character.FlyTime`获取持续离地时间。 | ||
| + | |||
| + | |||
| + | |||
| + | ### OnCharacterDamageRequest( character, damage, from, type, isImmunity, localHitPos ) | ||
| + | |||
| + | > 当角色**即将被造成伤害**时调用,此方法允许拦截修改伤害。 | ||
| + | > | ||
| + | > 注意:此方法仅用于**修改伤害数值**,但仍然会触发`OnCharacterDamage()`及后续事件。 | ||
| + | |||
| + | ```javascript | ||
| + | function OnCharacterDamageRequest( character: Character, damage: int, from: Entity, type: int, isImmunity: bool ): int | ||
| + | ``` | ||
| + | |||
| + | - `return`返回新的伤害值,默认为`-1`(不参与修改),否则将修改实际伤害,如果伤害为`0`则不会造成伤害。 | ||
| 行 88: | 行 102: | ||
| ### OnCharacterDamage( character, damage, from, type, isImmunity, localHitPos ) | ### OnCharacterDamage( character, damage, from, type, isImmunity, localHitPos ) | ||
| - | > 当角色**被尝试造成任何伤害**时调用,如果造成伤害,会在`OnCharacterHealthChange()`之后调用。 | + | > 当角色**被造成伤害**时调用,通常会在`OnCharacterHealthChange()`之后调用。 |
| > | > | ||
| > **有关伤害类型Type,请参考[《世界资源实例汇总——伤害触发类型》](reference/ | > **有关伤害类型Type,请参考[《世界资源实例汇总——伤害触发类型》](reference/ | ||
| 行 572: | 行 586: | ||
| ```javascript | ```javascript | ||
| character.AdditionSpeedMultiplier = 1.0; | character.AdditionSpeedMultiplier = 1.0; | ||
| + | ``` | ||
| + | |||
| + | |||
| + | |||
| + | ### character.FloatMultiplier | ||
| + | |||
| + | > 设置角色**潜水速度(高度)**倍数,默认为`1.0`。 | ||
| + | |||
| + | ```javascript | ||
| + | character.FloatMultiplier = 1.0; | ||
| ``` | ``` | ||
| 行 581: | 行 605: | ||
| ```javascript | ```javascript | ||
| - | character.SwimMultiplier= 0.3; | + | character.SwimMultiplier = 0.3; |
| ``` | ``` | ||
| 行 1497: | 行 1521: | ||
| function character.GetMount(): | function character.GetMount(): | ||
| ``` | ``` | ||
| + | |||
| + | |||
| + | |||