meta data for this page
  •  

📚 差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录前一修订版
后一修订版
前一修订版
scripting:world:character [2024/12/27 03:16] bibiboxsscripting: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/world/vehicle)查看。+> 有关角色与载具的交互行为,具体内容请访问[Vehicle文档](scripting/world/vehicle)查看。
  
  
行 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/extend/character_ai)。+> 为当前角色设置一个AI目标**对象**,详情参考[《CharacterAI》文档](developer/extend/character_ai)。
 > >
 > **注意:当前属性被设置成为`null`的值后,属性`AITargetPos`将被设置为`default`,==两种Target属性只能同时存在一个==。** > **注意:当前属性被设置成为`null`的值后,属性`AITargetPos`将被设置为`default`,==两种Target属性只能同时存在一个==。**
行 448: 行 435:
 ### character.AITargetPos ### character.AITargetPos
  
-> 为当前角色设置一个AI目标**坐标**,详情参考[《CharacterAI》文档](scripting/extend/character_ai)。+> 为当前角色设置一个AI目标**坐标**,详情参考[《CharacterAI》文档](developer/extend/character_ai)。
 > >
 > **注意:当前属性被设置成为`null`的值后,属性`AITargetPos`将被设置为`VECTOR_NULL`(常量,表示无意义\空坐标),==两种Target属性只能同时存在一个==。** > **注意:当前属性被设置成为`null`的值后,属性`AITargetPos`将被设置为`VECTOR_NULL`(常量,表示无意义\空坐标),==两种Target属性只能同时存在一个==。**
行 460: 行 447:
 ### character.AIState ### character.AIState
  
-> 为当前角色设置一个AI状态(行为\性格),详情参考[《CharacterAI》文档](scripting/extend/character_ai)。+> 为当前角色设置一个AI状态(行为\性格),详情参考[《CharacterAI》文档](developer/extend/character_ai)。
  
 ```javascript ```javascript
行 470: 行 457:
 ### character.AIMoveState ### character.AIMoveState
  
-> 为当前角色设置一个AI移动行为状态(自动\行走\奔跑),详情参考[《CharacterAI》文档](scripting/extend/character_ai)。+> 为当前角色设置一个AI移动行为状态(自动\行走\奔跑),详情参考[《CharacterAI》文档](developer/extend/character_ai)。
  
 ```javascript ```javascript
行 480: 行 467:
 ### character.AIDistance ### character.AIDistance
  
-> 为当前角色设置一个AI距离属性(不同AI状态有不同的意义),详情参考[《CharacterAI》文档](scripting/extend/character_ai)。+> 为当前角色设置一个AI距离属性(不同AI状态有不同的意义),详情参考[《CharacterAI》文档](developer/extend/character_ai)。
  
 ```javascript ```javascript
-character.AIDistance = 3.0; //float+character.AIDistance = 32; //float
 ``` ```
  
行 528: 行 515:
 ### character.Skin ### character.Skin
  
-> 设置角色皮肤贴图,内置ID参考[《世界资源实例汇总》](reference/instances),设置为`-1`可请求一个随机皮肤(如存在)。 +> 设置角色皮肤\贴图,内置ID参考[《世界资源实例汇总》](reference/instances),设置为`-1`可请求一个随机皮肤(如存在)。
-+
-> *注意:需自行确保皮肤贴图及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; //int character.ActionContinue; //int
 +```
 +
 +
 +
 +### character.IsAI
 +
 +> 获取角色是否为NPC(AI)。
 +
 +```javascript
 +character.IsAI: bool
 +```
 +
 +
 +
 +### character.IsPlayer
 +
 +> 获取角色是否为玩家控制的角色。
 +
 +```javascript
 +character.IsPlayer: bool
 ``` ```
  
行 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 ): Character
 ``` ```
  
行 994: 行 1029:
 Character.Create(0, Vector(0, 0, 0), 0); Character.Create(0, Vector(0, 0, 0), 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: Vector = Vector(0, 0, 0) ) function character.Damage( damage: int, from: Entity = null, reason: int = 0, localHitPos: Vector = Vector(0, 0, 0) )
 +```
 +
 +
 +
 +### character.RandomStyle()
 +
 +> 随机当前角色样式(配色`character.Color1 | characterColor2`)。
 +>
 +> 此方法主要用于**人形角色**,对于其他类型角色更多是模型随机叠加颜色。
 +
 +```javascript
 +function character.RandomStyle()
 ``` ```
  
行 1358: 行 1411:
 | 0                | 头部(支持动物角色)                       | | 0                | 头部(支持动物角色)                       |
 | 1                | 身体(支持动物角色)                      | | 1                | 身体(支持动物角色)                      |
-               | 手持物品(关键、右手位置 |+               | 手持物品位置Prop)                   |
 | 4                | 左手位置                   | | 4                | 左手位置                   |
 | 5                | 右手位置                   | | 5                | 右手位置                   |
行 1402: 行 1455:
 - **node:**角色节点位置(索引) - **node:**角色节点位置(索引)
 - **isLocal:**是否获取本地空间结果 - **isLocal:**是否获取本地空间结果
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +