这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录前一修订版后一修订版 | 前一修订版 | ||
scripting:client:player [2023/08/17 15:46] – bibiboxs | scripting:client:player [2024/08/11 20:16] (当前版本) – bibiboxs | ||
---|---|---|---|
行 13: | 行 13: | ||
> 当某个玩家**取消绑定**了一个实体对象(开始控制角色)时调用。 | > 当某个玩家**取消绑定**了一个实体对象(开始控制角色)时调用。 | ||
+ | |||
+ | |||
+ | |||
+ | ### OnPlayerVoiceStateChange( player, state ) | ||
+ | |||
+ | > 当玩家语音聊天状态发生改变时调用(正在语音聊天)。 | ||
+ | |||
+ | ```javascript | ||
+ | function OnPlayerVoiceStateChange( player: Player, state: bool ) | ||
+ | ``` | ||
+ | |||
+ | |||
+ | ## Static Property | ||
+ | |||
+ | ### Player.Local | ||
+ | |||
+ | > 获取本地玩家实例对象(本地玩家自身)。 | ||
+ | > | ||
+ | > **==注意:在专用服务器模式(`BatchMode`)下,通过服务器自身脚本访问此属性,将会得到一个空值`Null`,因为专用服务器本身并不包含本地玩家。==** | ||
+ | |||
+ | [note2] | ||
+ | 由于**专用服务器模式**本地空玩家的特殊属性,`Character`类对象提供了一个快捷检测方法:`character.IsLocal`判断是否为本地玩家角色,此方法会自动检测`Null`而不会触发异常。 | ||
+ | [/note] | ||
+ | |||
+ | ```javascript | ||
+ | if(Player.Local) DLog(Player.Local.Name); | ||
+ | ``` | ||
行 44: | 行 71: | ||
```javascript | ```javascript | ||
player.IsLocal: | player.IsLocal: | ||
+ | ``` | ||
+ | |||
+ | |||
+ | |||
+ | ### player.IsComplete | ||
+ | |||
+ | > 获取玩家是否完全加载完毕。 | ||
+ | |||
+ | ```javascript | ||
+ | player.IsComplete: | ||
+ | ``` | ||
+ | |||
+ | |||
+ | |||
+ | ### player.IsObserver | ||
+ | |||
+ | > 获取玩家是否当前为相机观察模式(`Client.Camera.IsObserver`)。 | ||
+ | |||
+ | ```javascript | ||
+ | player.IsObserver: | ||
+ | ``` | ||
+ | |||
+ | |||
+ | |||
+ | ### player.Entity | ||
+ | |||
+ | > 获取玩家绑定的实体对象(角色)。 | ||
+ | |||
+ | ```javascript | ||
+ | player.Entity: | ||
+ | ``` | ||
+ | |||
+ | |||
+ | |||
+ | ### player.Character | ||
+ | |||
+ | > 获取玩家绑定的实体对象(角色),作用与`player.Entity`完全相同。 | ||
+ | |||
+ | ```javascript | ||
+ | player.Character: | ||
``` | ``` | ||
行 50: | 行 117: | ||
### player.Pos | ### player.Pos | ||
- | > 获取玩家世界坐标位置(通常是玩家屏幕中心位置),如果玩家正在控制角色,则返回角色坐标位置。 | + | > 获取玩家**世界坐标**位置(通常是玩家屏幕中心位置),如果玩家正在控制角色,则返回角色坐标位置。 |
```javascript | ```javascript | ||
行 60: | 行 127: | ||
### player.FocusPos | ### player.FocusPos | ||
- | > 获取玩家操作焦点位置(鼠标世界坐标)。 | + | > 获取玩家操作焦点位置(鼠标世界坐标),高度Y轴总是为`0`。 |
```javascript | ```javascript | ||
player.FocusPos: | player.FocusPos: | ||
``` | ``` | ||
+ | |||
+ | |||
+ | |||
+ | ### player.VoiceState | ||
+ | |||
+ | > 获取玩家语音聊天状态(是否正在语音聊天)。 | ||
+ | > | ||
+ | |||
+ | ```javascript | ||
+ | player.VoiceState: | ||
+ | ``` | ||
+ | |||
+ | |||
+ | |||
+ | ## Static Function | ||
+ | |||
+ | ### Player.Find() | ||
+ | |||
+ | > 寻找一个玩家实例(通过ID),不存在则返回`null`。 | ||
+ | |||
+ | ```javascript | ||
+ | function Player.Find( id: int ): Player | ||
+ | ``` | ||
+ | |||
+ | |||
+ | |||
+ | ### Player.Search() | ||
+ | |||
+ | > 寻找一个玩家实例(通过模糊查找,通常根据玩家名称,不区分大小写),不存在则返回`null`。 | ||
+ | |||
+ | ```javascript | ||
+ | function Player.Search( any: string ): Player | ||
+ | ``` | ||
+ | |||
+ | ```javascript | ||
+ | //Players: " | ||
+ | Player.Search(" | ||
+ | Player.Search(" | ||
+ | Player.Search(" | ||
+ | ``` | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ### Player.FindByUUID() | ||
+ | |||
+ | > 寻找一个玩家实例(通过UUID),不存在则返回`null`。 | ||
+ | |||
+ | ```javascript | ||
+ | function Player.FindByUUID( uuid: string ): Player | ||
+ | ``` | ||
+ | |||
+ | |||
+ | |||
+ | ### Player.GetCount() | ||
+ | |||
+ | > 获取当前所有存在玩家数量。 | ||
+ | |||
+ | ```javascript | ||
+ | function Player.GetCount(): | ||
+ | ``` | ||
+ | |||
+ | |||
+ | |||
+ | ### Player.Get() | ||
+ | |||
+ | > 获取当前存在的指定索引玩家,通常搭配`GetCount()`遍历使用。 | ||
+ | |||
+ | ```javascript | ||
+ | function Player.Get( index: int ): Player | ||
+ | ``` | ||
+ | |||
+ | |||
+ | |||
+ | ## Function | ||
+ | |||
+ | ### player.GetObserver() | ||
+ | |||
+ | > 获取玩家视角观察对象(`Client.Camera.Target`),如不存在则返回`null`。 | ||
+ | |||
+ | ```javascript | ||
+ | function player.GetObserver(): | ||
+ | ``` | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
</ | </ |