沙盘引擎 (SEngine)

创意诞生沙盘世界,不止如此想象!

用户工具

站点工具


scripting:client:player

📚 差别

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

到此差别页面的链接

两侧同时换到之前的修订记录前一修订版
后一修订版
前一修订版
scripting:client:player [2023/08/17 15:46] bibiboxsscripting: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); //Output self player name
 +```
  
  
行 44: 行 71:
 ```javascript ```javascript
 player.IsLocal: bool player.IsLocal: bool
 +```
 +
 +
 +
 +### player.IsComplete
 +
 +> 获取玩家是否完全加载完毕。
 +
 +```javascript
 +player.IsComplete: bool
 +```
 +
 +
 +
 +### player.IsObserver
 +
 +> 获取玩家是否当前为相机观察模式(`Client.Camera.IsObserver`)。
 +
 +```javascript
 +player.IsObserver: bool
 +```
 +
 +
 +
 +### player.Entity
 +
 +> 获取玩家绑定的实体对象(角色)。
 +
 +```javascript
 +player.Entity: Character
 +```
 +
 +
 +
 +### player.Character
 +
 +> 获取玩家绑定的实体对象(角色),作用与`player.Entity`完全相同。
 +
 +```javascript
 +player.Character: Character
 ``` ```
  
行 50: 行 117:
 ### player.Pos ### player.Pos
  
-> 获取玩家世界坐标位置(通常是玩家屏幕中心位置),如果玩家正在控制角色,则返回角色坐标位置。+> 获取玩家**世界坐标**位置(通常是玩家屏幕中心位置),如果玩家正在控制角色,则返回角色坐标位置。
  
 ```javascript ```javascript
行 60: 行 127:
 ### player.FocusPos ### player.FocusPos
  
-> 获取玩家操作焦点位置(鼠标世界坐标)。+> 获取玩家操作焦点位置(鼠标世界坐标),高度Y轴总是为`0`
  
 ```javascript ```javascript
 player.FocusPos: Vector player.FocusPos: Vector
 ``` ```
 +
 +
 +
 +### player.VoiceState
 +
 +> 获取玩家语音聊天状态(是否正在语音聊天)。
 +>
 +
 +```javascript
 +player.VoiceState: bool
 +```
 +
 +
 +
 +## 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: "Alnny", "Tommy", "Tom"
 +Player.Search("Tom"); //Tom(完整匹配)
 +Player.Search("Tomm"); //Tommy(相似匹配)
 +Player.Search("To"); //Tommy(以最先搜索到的为主)
 +```
 +
 +
 +
 +
 +### Player.FindByUUID()
 +
 +> 寻找一个玩家实例(通过UUID),不存在则返回`null`。
 +
 +```javascript
 +function Player.FindByUUID( uuid: string ): Player
 +```
 +
 +
 +
 +### Player.GetCount()
 +
 +> 获取当前所有存在玩家数量。
 +
 +```javascript
 +function Player.GetCount(): int
 +```
 +
 +
 +
 +### Player.Get()
 +
 +> 获取当前存在的指定索引玩家,通常搭配`GetCount()`遍历使用。
 +
 +```javascript
 +function Player.Get( index: int ): Player
 +```
 +
 +
 +
 +## Function
 +
 +### player.GetObserver()
 +
 +> 获取玩家视角观察对象(`Client.Camera.Target`),如不存在则返回`null`。
 +
 +```javascript
 +function player.GetObserver(): Character
 +```
 +
 +
 +
 +
 +
 </markdown> </markdown>
scripting/client/player.1692258360.txt.gz · 最后更改: 2023/08/17 15:46 由 bibiboxs