meta data for this page
📚 差别
这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录前一修订版后一修订版 | 前一修订版 | ||
scripting:world:character [2024/12/27 03:16] – bibiboxs | scripting:world:character [2025/06/02 14:43] (当前版本) – wpr | ||
---|---|---|---|
行 4: | 行 4: | ||
## Event | ## Event | ||
- | ### OnCharacterSpawn( character ) | + | ### OnCharacterSpawn( character, isCreate |
> 当角色**被生成、被调用`Respawn()`**时触发。 | > 当角色**被生成、被调用`Respawn()`**时触发。 | ||
+ | > | ||
+ | > **注意:如果此时调用`character.Owner`将始终返回`null`,因为玩家绑定角色不可能在`OnCharacterSpawn`前绑定。** | ||
行 39: | 行 41: | ||
function OnCharacterPropChange( character: Character, oldProp: Prop, newProp: Prop ) | function OnCharacterPropChange( character: Character, oldProp: Prop, newProp: Prop ) | ||
``` | ``` | ||
- | |||
- | |||
- | |||
- | ### OnCharacterPropCountChange( character, oldCount, newCount ) | ||
- | |||
- | > 当角色背包池总数(`character.PropCount`)发生变化时调用。 | ||
- | > | ||
行 164: | 行 159: | ||
### ==Vehicle交互事件== | ### ==Vehicle交互事件== | ||
- | > 有关角色与拾取物的交互行为,具体内容请访问[Vehicle文档](scripting/ | + | > 有关角色与载具的交互行为,具体内容请访问[Vehicle文档](scripting/ |
行 287: | 行 282: | ||
> 设置角色透明度(0~255),默认值是`255`。 | > 设置角色透明度(0~255),默认值是`255`。 | ||
+ | > | ||
+ | > **注意:此方法不会修改手持物品透明度(`character.PropAlpha`)。`** | ||
```javascript | ```javascript | ||
character.Alpha = 255; //int | character.Alpha = 255; //int | ||
- | ``` | ||
- | |||
- | |||
- | |||
- | ### character.AlphaEntire | ||
- | |||
- | > 设置角色透明度变化是否包含全部子对象(例如:手持道具),默认值是`false`。 | ||
- | |||
- | ```javascript | ||
- | character.AlphaEntire = false; | ||
``` | ``` | ||
行 436: | 行 423: | ||
### character.AITarget | ### character.AITarget | ||
- | > 为当前角色设置一个AI目标**对象**,详情参考[《CharacterAI》文档](scripting/ | + | > 为当前角色设置一个AI目标**对象**,详情参考[《CharacterAI》文档](developer/ |
> | > | ||
> **注意:当前属性被设置成为`null`的值后,属性`AITargetPos`将被设置为`default`,==两种Target属性只能同时存在一个==。** | > **注意:当前属性被设置成为`null`的值后,属性`AITargetPos`将被设置为`default`,==两种Target属性只能同时存在一个==。** | ||
行 448: | 行 435: | ||
### character.AITargetPos | ### character.AITargetPos | ||
- | > 为当前角色设置一个AI目标**坐标**,详情参考[《CharacterAI》文档](scripting/ | + | > 为当前角色设置一个AI目标**坐标**,详情参考[《CharacterAI》文档](developer/ |
> | > | ||
> **注意:当前属性被设置成为`null`的值后,属性`AITargetPos`将被设置为`VECTOR_NULL`(常量,表示无意义\空坐标),==两种Target属性只能同时存在一个==。** | > **注意:当前属性被设置成为`null`的值后,属性`AITargetPos`将被设置为`VECTOR_NULL`(常量,表示无意义\空坐标),==两种Target属性只能同时存在一个==。** | ||
行 460: | 行 447: | ||
### character.AIState | ### character.AIState | ||
- | > 为当前角色设置一个AI状态(行为\性格),详情参考[《CharacterAI》文档](scripting/ | + | > 为当前角色设置一个AI状态(行为\性格),详情参考[《CharacterAI》文档](developer/ |
```javascript | ```javascript | ||
行 470: | 行 457: | ||
### character.AIMoveState | ### character.AIMoveState | ||
- | > 为当前角色设置一个AI移动行为状态(自动\行走\奔跑),详情参考[《CharacterAI》文档](scripting/ | + | > 为当前角色设置一个AI移动行为状态(自动\行走\奔跑),详情参考[《CharacterAI》文档](developer/ |
```javascript | ```javascript | ||
行 480: | 行 467: | ||
### character.AIDistance | ### character.AIDistance | ||
- | > 为当前角色设置一个AI距离属性(不同AI状态有不同的意义),详情参考[《CharacterAI》文档](scripting/ | + | > 为当前角色设置一个AI距离属性(不同AI状态有不同的意义),详情参考[《CharacterAI》文档](developer/ |
```javascript | ```javascript | ||
- | character.AIDistance = 3.0; //float | + | character.AIDistance = 32; //float |
``` | ``` | ||
行 528: | 行 515: | ||
### character.Skin | ### character.Skin | ||
- | > 设置角色皮肤贴图,内置ID参考[《世界资源实例汇总》](reference/ | + | > 设置角色皮肤\贴图,内置ID参考[《世界资源实例汇总》](reference/ |
- | > | + | |
- | > *注意:需自行确保皮肤贴图及ID正确,理论上人类也可以穿上**动物或外部导入皮肤**(如存在),但同时也会导致贴图异常。* | + | |
```javascript | ```javascript | ||
行 577: | 行 562: | ||
```javascript | ```javascript | ||
character.AdditionSpeedMultiplier = 1.0; | character.AdditionSpeedMultiplier = 1.0; | ||
+ | ``` | ||
+ | |||
+ | |||
+ | |||
+ | ### character.SwimMultiplier | ||
+ | |||
+ | > 设置角色**游泳速度**倍数(相对于`character.Speed`),默认为`0.6`。 | ||
+ | |||
+ | ```javascript | ||
+ | character.SwimMultiplier= 0.3; | ||
+ | ``` | ||
+ | |||
+ | |||
+ | |||
+ | ### character.CrouchMultiplier | ||
+ | |||
+ | > 设置角色**蹲下速度**倍数(相对于`character.Speed`),默认为`0.8`。 | ||
+ | |||
+ | ```javascript | ||
+ | character.CrouchMultiplier = 0.8; | ||
``` | ``` | ||
行 597: | 行 602: | ||
```javascript | ```javascript | ||
character.ActionContinue; | character.ActionContinue; | ||
+ | ``` | ||
+ | |||
+ | |||
+ | |||
+ | ### character.IsAI | ||
+ | |||
+ | > 获取角色是否为NPC(AI)。 | ||
+ | |||
+ | ```javascript | ||
+ | character.IsAI: | ||
+ | ``` | ||
+ | |||
+ | |||
+ | |||
+ | ### character.IsPlayer | ||
+ | |||
+ | > 获取角色是否为玩家控制的角色。 | ||
+ | |||
+ | ```javascript | ||
+ | character.IsPlayer: | ||
``` | ``` | ||
行 974: | 行 999: | ||
```javascript | ```javascript | ||
character.PropCount = 0; | character.PropCount = 0; | ||
+ | ``` | ||
+ | |||
+ | |||
+ | |||
+ | ### character.PropAlpha | ||
+ | |||
+ | > 设置**角色手持物品**透明度,默认值是`255`。 | ||
+ | |||
+ | ```javascript | ||
+ | character.PropAlpha = 255; | ||
``` | ``` | ||
行 987: | 行 1022: | ||
```javascript | ```javascript | ||
- | function Character.Create( type: int, pos: Vector, angle: float = 0 ): Character | + | function Character.Create( type: int, pos: Vector, angle: float = 0, skin: number |
``` | ``` | ||
行 994: | 行 1029: | ||
Character.Create(0, | Character.Create(0, | ||
``` | ``` | ||
+ | |||
+ | - **`type`:**生物类型 | ||
+ | - **`pos`:**坐标位置 | ||
+ | - **`angle`:**角度 | ||
+ | - **`skin`:**皮肤ID(人形角色更多使用) | ||
+ | - **`randomStyle`:**是否随机样式(执行`character.RandomStyle()`) | ||
行 1057: | 行 1098: | ||
```javascript | ```javascript | ||
function character.Damage( damage: int, from: Entity = null, reason: int = 0, localHitPos: | function character.Damage( damage: int, from: Entity = null, reason: int = 0, localHitPos: | ||
+ | ``` | ||
+ | |||
+ | |||
+ | |||
+ | ### character.RandomStyle() | ||
+ | |||
+ | > 随机当前角色样式(配色`character.Color1 | characterColor2`)。 | ||
+ | > | ||
+ | > 此方法主要用于**人形角色**,对于其他类型角色更多是模型随机叠加颜色。 | ||
+ | |||
+ | ```javascript | ||
+ | function character.RandomStyle() | ||
``` | ``` | ||
行 1358: | 行 1411: | ||
| 0 | 头部(支持动物角色) | | 0 | 头部(支持动物角色) | ||
| 1 | 身体(支持动物角色) | | 1 | 身体(支持动物角色) | ||
- | | 2 | 手持物品(关键)、右手位置 | + | | 3 | 手持物品位置(Prop) |
| 4 | 左手位置 | | 4 | 左手位置 | ||
| 5 | 右手位置 | | 5 | 右手位置 | ||
行 1402: | 行 1455: | ||
- **node:**角色节点位置(索引) | - **node:**角色节点位置(索引) | ||
- **isLocal:**是否获取本地空间结果 | - **isLocal:**是否获取本地空间结果 | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||