meta data for this page
  •  

📚 差别

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

到此差别页面的链接

两侧同时换到之前的修订记录前一修订版
后一修订版
前一修订版
scripting:client:character [2024/08/04 21:04] bibiboxsscripting:client:character [2025/08/27 15:10] (当前版本) bibiboxs
行 5: 行 5:
 ## Event ## Event
  
-### OnCharacterEnterVehicle(character, vehicle, seat )+### OnCharacterBaseState( character, baseState )
  
-> 当角色进入载具时触。 +> 当角色`BaseState`生改变时触发。
- +
- +
- +
-### OnCharacterExitVehicle( character, vehicle, seat ) +
- +
-> 当角色离开载具时触发。+
  
  
行 20: 行 14:
  
 > 当角色进行一次攻击\行为时触发。 > 当角色进行一次攻击\行为时触发。
 +
 +> 注意:如果服务端设置`character.CanAction == false`等,则不会触发此事件。
  
  
行 26: 行 22:
  
 > 当角色切换焦点状态时触发(鼠标右键按下\松开)。 > 当角色切换焦点状态时触发(鼠标右键按下\松开)。
 +
 +
 +
 +## Static Property
 +
 +### Character.Local
 +
 +> 获取本地玩家正在控制的角色对象。
 +
 +> **==注意:在专用服务器模式(`BatchMode`)下,通过服务器自身脚本访问此属性,将会得到一个空值`Null`,因为专用服务器本身并不包含本地玩家。==**
 +
 +[note2]
 +由于**专用服务器模式**本地空玩家的特殊属性,`Character`类对象提供了一个快捷检测方法:`character.IsLocal`判断是否为本地玩家角色,此方法会自动检测`Null`而不会触发异常。
 +[/note]
 +
 +```javascript
 +if(Character.Local) DLog(Character.Local.Pos);
 +```
  
  
行 126: 行 140:
 ```javascript ```javascript
 character.Armour: int character.Armour: int
 +```
 +
 +
 +
 +### character.BaseState
 +
 +> 获取角色[基础状态](reference/instances)。
 +
 +```javascript
 +character.BaseState: int
 ``` ```
  
行 160: 行 184:
  
  
-### character.PropID+### character.Prop
  
-> 获取实例对象的手持道具ID+> 获取实例对象的**手持道具对象**(结构)
  
 ```javascript ```javascript
-character.PropIDint +character.PropProp
-``` +
- +
- +
- +
-### character.PropAmount +
- +
-> 获取实例对象的手持道具数量(单一物品数量`Amount`,并非全部背包数量)。 +
- +
-```javascript +
-character.PropAmount: int+
 ``` ```
  
行 206: 行 220:
 ```javascript ```javascript
 character.Owner: Player character.Owner: Player
 +```
 +
 +
 +
 +### character.IsAI
 +
 +> 获取角色是否为NPC(AI)。
 +
 +```javascript
 +character.IsAI: bool
 +```
 +
 +
 +
 +### character.IsPlayer
 +
 +> 获取角色是否为玩家控制的角色。
 +
 +```javascript
 +character.IsPlayer: bool
 +```
 +
 +
 +
 +### character.IsLocal
 +
 +> 获取实例对象是否为本地玩家控制,此方法会自动检测`Null`(**专用服务器模式**本地空玩家的特殊属性)而不会触发异常。
 +
 +```javascript
 +character.IsLocal: bool
 +```
 +
 +
 +
 +### character.IsDriver
 +
 +> 获取角色是否在主驾驶载具(仅主驾驶有效,乘员状态将返回`false`)。
 +
 +```javascript
 +character.IsDriver: bool
 +```
 +
 +
 +
 +### character.IsPassenger
 +
 +> 获取角色是否在**乘坐载具**(即使角色正在主驾驶,也会返回`true`)。
 +
 +```javascript
 +character.IsPassenger: bool
 ``` ```
  
行 212: 行 276:
 ### character.IsInWater ### character.IsInWater
  
-> 获取角色是否在水中。+> 获取角色是否**在水中**
  
 ```javascript ```javascript
行 222: 行 286:
 ### character.IsOnFire ### character.IsOnFire
  
-> 获取角色是否正在燃烧。+> 获取角色是否**正在燃烧**
  
 ```javascript ```javascript
 character.IsOnFire: bool character.IsOnFire: bool
 +```
 +
 +
 +
 +### character.IsSwimming
 +
 +> 获取角色是否**正在游泳**。
 +
 +```javascript
 +character.IsSwimming: bool
 +```
 +
 +
 +
 +### character.IsCrouch
 +
 +> 获取角色是否**正在蹲下**。
 +
 +```javascript
 +character.IsCrouch: bool
 +```
 +
 +
 +
 +### character.BodyHeight
 +
 +> 获取角色身体高度(本地偏移量),不同的角色类型可能有不同高度,通常为头部偏高一点的位置。
 +
 +> 扩展:可能用于获取头顶`Bubble`显示的高度。
 +
 +```javascript
 +character.BodyHeight: float
 +```
 +
 +
 +
 +### character.FocusMode
 +
 +> 获取角色**专注聚焦模式**开关。
 +
 +```javascript
 +character.FocusMode: bool
 +```
 +
 +
 +
 +### character.FlyMode
 +
 +> 获取角色**飞行模式**开关。
 +
 +```javascript
 +character.FlyMode: bool
 +```
 +
 +
 +
 +### character.GhostMode
 +
 +> 获取角色**幽灵模式**开关。
 +
 +```javascript
 +character.GhostMode: bool
 ``` ```
  
行 269: 行 395:
 function Character.Get( index: int ): Character function Character.Get( index: int ): Character
 ``` ```
 +
  
  
 ## Function ## Function
 +
 ### character.GetNodeExtendPos() ### character.GetNodeExtendPos()
  
行 277: 行 405:
  
 ```javascript ```javascript
-function character.GetNodeExtendPos( node: int ): Vector+function character.GetNodeExtendPos( node: int, isLocal: bool = false ): Vector
 ``` ```
  
 - **node:**角色节点位置(索引) - **node:**角色节点位置(索引)
 +- **isLocal:**是否获取本地空间结果
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +