meta data for this page
📚 差别
这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录前一修订版后一修订版 | 前一修订版 | ||
scripting:world:entity [2025/01/10 01:49] – bibiboxs | scripting:world:entity [2025/07/12 04:19] (当前版本) – bibiboxs | ||
---|---|---|---|
行 17: | 行 17: | ||
## Property | ## Property | ||
+ | |||
+ | ### entity.Is... | ||
+ | |||
+ | > 判断当前实例是否为指定`Entity`类型。 | ||
+ | > | ||
+ | > *此功能可用来判断当前实例是何种类型(角色、载具等……)。* | ||
+ | |||
+ | ```javascript | ||
+ | function entity.Is...; | ||
+ | function entity.IsCharacter; | ||
+ | function entity.IsVehicle; | ||
+ | function entity.IsPickup; | ||
+ | function entity.IsCheckpoint; | ||
+ | function entity.IsModel; | ||
+ | ``` | ||
+ | |||
+ | |||
+ | |||
+ | ### entity.As... | ||
+ | |||
+ | > 尝试转换当前实例为指定`Entity`类型。 | ||
+ | |||
+ | ```javascript | ||
+ | function entity.As...; | ||
+ | function entity.AsCharacter; | ||
+ | function entity.AsVehicle; | ||
+ | function entity.AsPickup; | ||
+ | function entity.AsCheckpoint; | ||
+ | function entity.AsModel; | ||
+ | ``` | ||
+ | |||
+ | |||
### entity.Data | ### entity.Data | ||
行 81: | 行 113: | ||
```javascript | ```javascript | ||
entity.Scale = Vector(1, 1, 1); //Vector | entity.Scale = Vector(1, 1, 1); //Vector | ||
- | ``` | ||
- | |||
- | |||
- | |||
- | ### entity.Outline | ||
- | |||
- | > 设置当前实体对象描边效果开关(**所有人可见**模式)。 | ||
- | > | ||
- | > 此属性修改不影响`OutlineTarget`功能,如果拥有**玩家单独绑定**时,此属性改变将**不会优先生效**。 | ||
- | |||
- | ```javascript | ||
- | entity.Outline = false; //bool | ||
- | ``` | ||
- | |||
- | |||
- | |||
- | ### entity.OutlineColor | ||
- | |||
- | > 设置当前实体对象的描边效果颜色代码(**所有人可见**模式生效)。 | ||
- | > | ||
- | > 默认支持三个颜色(`0=白色;1=绿色;2=红色`)。 | ||
- | > | ||
- | > 此属性当某个玩家被设置`OutlineTarget`时,将不会再受到此处颜色改变影响。 | ||
- | |||
- | ```javascript | ||
- | entity.OutlineColor = 0; //int | ||
``` | ``` | ||
行 175: | 行 181: | ||
- | ### entity.OutlineTargetTo() | + | ### entity.GetVisualRange() |
- | > 为某个玩家单独设置描边效果,优先权最高(无论是否`Outline == true`)。 | + | > 获取实体相对于**服务器主机& |
> | > | ||
- | > 通过此方法设定任意玩家后,相当于激活了白名单描边模式,只有在**“白名单列表”里的玩家**才会继续可见描边。 | + | > 此方法允许提交一个`true`参数,可用于立即刷新结果,通常可以忽略。 |
- | > | + | |
- | > 如果希望恢复**所有人可见**模式,需要**确保没有任何玩家被单独设置描边**,例如使用`OutlineTargetOutAll()`清除所有描边绑定。 | + | [note2] |
+ | 注意:此方法的服务器版本与客户端版本稍有不同,服务器版本下如果有任何玩家仍在范围内,则会始终返回`true`。 | ||
+ | |||
+ | 反之亦然,如果服务器版本下返回`false`,表示此实体当前没有在任何玩家的渲染流范围内。 | ||
+ | [/note] | ||
```javascript | ```javascript | ||
- | function entity.OutlineTargetTo( player: Player, color: int = 0 ) | + | function entity.GetVisualRange( update: bool = false ): int |
- | /* | + | |
- | player:指定玩家实例 | + | |
- | color:颜色ID代码,可以为不同玩家设定不同的颜色 | + | |
- | */ | + | |
``` | ``` | ||
+ | | Index | 说明 | ||
+ | | ----- | -------------------------------- | | ||
+ | | -1 | 不可见(停止渲染和处理复杂计算) | | ||
+ | | 0 | 可见范围内(完全渲染及计算) | ||
+ | | 1 | 可见范围内,但距离较远 | ||
- | ### entity.OutlineTargetOut() | ||
- | > 为某个玩家移除单独描边效果。 | + | ### entity.Shake() |
+ | |||
+ | > 执行实体对象的摇动动画效果(不会叠加),*此方法包含一个客户端同名的本地方法。* | ||
> | > | ||
- | > 如果当前已经没有任何玩家被单独设置描边,则自动恢复**所有人可见**模式。 | + | > **注意:此方法会在执行完毕后复位,因此应该仅用于静态的对象,而非移动中的对象(例如:砍树等)。** |
```javascript | ```javascript | ||
- | function entity.OutlineTargetOut( player: Player | + | function entity.Shake( type: int, duration: float = 0.5, strength: float = 0.1, vibrato: float = 10, randomness: int = 90 ) |
``` | ``` | ||
+ | - `type`:0=位置 1=旋转 2=缩放 3=组合 | ||
+ | - `duration`:持续时间(秒) | ||
+ | - `strength`:强度 | ||
+ | - `vibrato`:频率 | ||
+ | - `randomness`:随机度(默认`0~180`) | ||
- | ### entity.OutlineTargetOutAll() | ||
- | > 移除当前实体所有单独描边绑定,自动恢复到**所有人可见**模式。 | + | ### entity.StopShake() |
- | ```javascript | + | > 停止执行实体对象的摇动动画效果。 |
- | function entity.OutlineTargetOutAll() | + | |
- | ``` | + | |
- | + | ||
- | + | ||
- | + | ||
- | ### entity.GetOutlineTargetColor() | + | |
- | + | ||
- | > 获取指定玩家单独描边绑定的颜色,如果不存在绑定则返回`-1`。 | + | |
```javascript | ```javascript | ||
- | function entity.GetOutlineTargetColor( player: Player | + | function entity.StopShake() |
``` | ``` | ||
- | |||
- | ### entity.GetVisualRange() | ||
- | |||
- | > 获取实体相对于**本地玩家**的可见程度(距离流)。 | ||
- | > | ||
- | > 此方法允许提交一个`true`参数,可用于立即刷新结果,通常可以忽略。 | ||
- | |||
- | ```javascript | ||
- | function entity.GetVisualRange( update: bool = false ): int | ||
- | ``` | ||
- | |||
- | | Index | 说明 | ||
- | | ----- | -------------------------------- | | ||
- | | -1 | 不可见(停止渲染和处理复杂计算) | | ||
- | | 0 | 可见范围内(完全渲染及计算) | ||
- | | 1 | 可见范围内,但距离较远 | ||