这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录前一修订版后一修订版 | 前一修订版 | ||
scripting:world:player [2024/04/08 20:01] – bibiboxs | scripting:world:player [2024/05/05 11:29] (当前版本) – bibiboxs | ||
---|---|---|---|
行 73: | 行 73: | ||
```javascript | ```javascript | ||
function OnPlayerTypingChange( player: Player, state: bool ) | function OnPlayerTypingChange( player: Player, state: bool ) | ||
+ | ``` | ||
+ | |||
+ | |||
+ | |||
+ | ### OnPlayerVoiceStateChange( player, state ) | ||
+ | |||
+ | > 当玩家语音聊天状态发生改变时调用(正在语音聊天)。 | ||
+ | |||
+ | ```javascript | ||
+ | function OnPlayerVoiceStateChange( player: Player, state: bool ) | ||
``` | ``` | ||
行 110: | 行 120: | ||
> 当玩家抬起**服务器监听的原生公开按键**时调用,只有服务器监听的原生按键才会触发。 | > 当玩家抬起**服务器监听的原生公开按键**时调用,只有服务器监听的原生按键才会触发。 | ||
+ | |||
+ | |||
+ | |||
+ | ### OnPlayerWorldChange( player, world ) | ||
+ | |||
+ | > 当玩家世界ID发生改变时调用。 | ||
+ | |||
+ | |||
+ | |||
+ | ### OnPlayerColorChange( player, color ) | ||
+ | |||
+ | > 当玩家颜色发生改变时调用。 | ||
行 248: | 行 270: | ||
> | > | ||
> **注意:如果世界被修改时玩家绑定的`Character`已存在,那么将同步`Character`修改为新的World,并且不会解除绑定控制。如果不希望这样,可以提前`player.SetEntity(null)`解除绑定,再修改World。** | > **注意:如果世界被修改时玩家绑定的`Character`已存在,那么将同步`Character`修改为新的World,并且不会解除绑定控制。如果不希望这样,可以提前`player.SetEntity(null)`解除绑定,再修改World。** | ||
+ | > | ||
+ | > **==注意:`player.UniqueWorld`的机制是`10000 + player.ID`,因此应该避免手动将世界设置为`10000`及以上的数值。==** | ||
```javascript | ```javascript | ||
行 258: | 行 282: | ||
> 获取玩家**私人同步世界ID**,此项与`player.World`功能相似,不同的是,如果将某个对象设置为`player.UniqueWorld`,则指定对象只有此玩家可见,哪怕此玩家仍然在默认世界(0)。 | > 获取玩家**私人同步世界ID**,此项与`player.World`功能相似,不同的是,如果将某个对象设置为`player.UniqueWorld`,则指定对象只有此玩家可见,哪怕此玩家仍然在默认世界(0)。 | ||
+ | > | ||
+ | > **==注意:`player.UniqueWorld`的机制是`10000 + player.ID`,因此应该避免手动将世界设置为`10000`及以上的数值。==** | ||
```javascript | ```javascript | ||
行 337: | 行 363: | ||
```javascript | ```javascript | ||
player.FocusPos: | player.FocusPos: | ||
+ | ``` | ||
+ | |||
+ | |||
+ | |||
+ | ### player.Angle | ||
+ | |||
+ | > 获取玩家**屏幕方向**角度。 | ||
+ | |||
+ | ```javascript | ||
+ | player.Angle: | ||
``` | ``` | ||
行 370: | 行 406: | ||
player.IsTyping: | player.IsTyping: | ||
``` | ``` | ||
+ | |||
+ | |||
+ | |||
+ | ### player.VoiceState | ||
+ | |||
+ | > 获取玩家语音聊天状态(是否正在语音聊天)。 | ||
+ | > | ||
+ | > **注意:玩家必须`player.SetVoiceAuthority(true)`给予语音权限(默认),且由玩家主动触发按键才会进行聊天。** | ||
+ | |||
+ | ```javascript | ||
+ | player.VoiceState: | ||
+ | ``` | ||
+ | |||
行 421: | 行 470: | ||
player.AudioReverbExternal = 16; //Forest | player.AudioReverbExternal = 16; //Forest | ||
``` | ``` | ||
+ | |||
行 987: | 行 1037: | ||
+ | ### player.SetVoiceMode() | ||
+ | > 设置玩家语音聊天模式,**默认关闭**。 | ||
+ | > | ||
+ | > ==**如果希望激活语音聊天功能,请为玩家设定一个非关闭的语音模式。**== | ||
+ | |||
+ | ```javascript | ||
+ | function player.SetVoiceMode( mode: int = 0 ) | ||
+ | ``` | ||
+ | |||
+ | | 索引 | 语音聊天模式 | ||
+ | | ---- | -------------- | ------------------------------------------------------------ | | ||
+ | | 0 | 关闭 | ||
+ | | 1 | 全局模式 | ||
+ | | 2 | (频道)组模式 | 发送与接收相同频道组(`VoiceGroup`)的聊天,除特定情况及权限、禁言等 | | ||
+ | |||
+ | |||
+ | |||
+ | ### player.GetVoiceMode() | ||
+ | |||
+ | > 获取玩家语音聊天模式。 | ||
+ | |||
+ | ```javascript | ||
+ | function player.GetVoiceMode(): | ||
+ | ``` | ||
+ | |||
+ | |||
+ | |||
+ | ### player.SetVoiceWorldMode() | ||
+ | |||
+ | > 设置玩家语音聊天世界模式开关(3D空间音频,跟随玩家的实体对象)。 | ||
+ | > | ||
+ | > **此选项可能在部分玩法中提高玩家沉浸感,就像其他玩家真的在不远处说话一样。** | ||
+ | > | ||
+ | > *(可通过`GameRule > voice_worlddistance `控制3D空间声音的传播距离)* | ||
+ | |||
+ | ```javascript | ||
+ | function player.SetVoiceWorldMode( active: bool ) | ||
+ | ``` | ||
+ | |||
+ | |||
+ | |||
+ | ### player.GetVoiceWorldMode() | ||
+ | |||
+ | > 获取玩家语音聊天世界模式开关。 | ||
+ | |||
+ | ```javascript | ||
+ | function player.GetVoiceWorldMode(): | ||
+ | ``` | ||
+ | |||
+ | |||
+ | |||
+ | ### player.SetVoiceAuthority() | ||
+ | |||
+ | > 设置玩家语音聊天**权限**开关(或理解为静音),默认开启(`true`)。 | ||
+ | > | ||
+ | > **==注意:此选项必须设置为`true`,玩家才有资格进行说话,否则玩家将无法在语音聊天中说话。==** | ||
+ | > | ||
+ | > ==**(此选项并非是玩家麦克风控制开关,安全考虑,只有玩家自行按住【说话按键】时才会录入音频)**== | ||
+ | |||
+ | ```javascript | ||
+ | function player.SetVoiceWorldMode( active: bool ) | ||
+ | ``` | ||
+ | |||
+ | |||
+ | |||
+ | ### player.GetVoiceAuthority() | ||
+ | |||
+ | > 获取玩家语音聊天**权限**开关。 | ||
+ | |||
+ | ```javascript | ||
+ | function player.GetVoiceAuthority(): | ||
+ | ``` | ||
+ | |||
+ | |||
+ | |||
+ | ### player.SetVoiceIgnore() | ||
+ | |||
+ | > 设置玩家屏蔽指定玩家语音开关,可用于屏蔽其他玩家的语音输出,但不会屏蔽自身对其他玩家的声音。 | ||
+ | |||
+ | ```javascript | ||
+ | function player.SetVoiceIgnore( player: Player, active: bool ) | ||
+ | ``` | ||
+ | |||
+ | |||
+ | |||
+ | ### player.GetVoiceIgnore() | ||
+ | |||
+ | > 获取玩家语音聊天**权限**开关。 | ||
+ | |||
+ | ```javascript | ||
+ | function player.GetVoiceIgnore( player: Player ): bool | ||
+ | ``` | ||